Parte I: Segurança: introdução, conceitos e exemplos



Documentos relacionados
(In)Segurança Virtual. Técnicas de Ataque e Defesa

Privacidade. <Nome> <Instituição> < >

Sistemas para Internet 06 Ataques na Internet

Segurança em Computadores. GTI SEDU

Segurança em Dispositivos Móveis

(In)Segurança em Aplicações Web. Marcelo Mendes Marinho Thiago Canozzo Lahr

Segurança em Sistemas Web. Addson A. Costa

Nomes: Questão 1 Vulnerabilidade: SQL Injection (Injeção de SQL):

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

Segurança da Internet. Ricardo Terra (rterrabh [at] gmail.com) Segurança da Internet Outubro,

Segurança Física e Segurança Lógica. Aécio Costa

Segurança em Redes. <Nome> <Instituição> < >

Segurança na WEB Ambiente WEB estático

Fonte: - Illustration by Gaich Muramatsu

Segurança na Internet

Ameaças e Contramedidas de Host

Ameaças, riscos e vulnerabilidades Cont. Objetivos

Importância dos Grupos de Resposta a Incidentes de Segurança em Computadores

Aspectos de Segurança na Internet: Evolução e Tendências Atuais

Segurança em Redes Sociais. <Nome> <Instituição> < >

Data de Aplicação 2/04/2009

Segredos do Hacker Ético

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Segurança em Redes Sociais. <Nome> <Instituição> < >

Perguntas frequentes do Samsung Drive Manager

Segurança em Internet Banking. <Nome> <Instituição> < >

O projeto Metasploit é um framework que foi criado em 2003 por HD Moore e é uma plataforma que permite a verificação do estado da segurança dos

Guia de usuário do portal de acesso SSH


Instalação do VOL Backup para Sistemas Unix-Like

10 dicas para proteger o seu modem/router de ataques online

Segurança Internet. Fernando Albuquerque. (061)

Instituto de Inovação com TIC. [Junho/ 2009]


Firewall. Qual a utilidade em instalar um firewall pessoal?

DoS: Negação de Serviço e formas de defesa

Cibersegurança, Gestão de Risco e Adoção de Medidas

Segurança de transações contra dois tipos de ataque

Prevenção. Como reduzir o volume de spam

Por que os hackers amam o seu banco de dados? Renato Bognar Principal System Engineer

CAPA Área de utilização para ilustração MANUAL w-vpn

Configurando um servidor WWW seguro. Centro de Atendimento a Incidentes de Segurança - CAIS

Gerência de Segurança

Auditoria e Segurança de Sistemas Segurança de Redes de Computadores Adriano J. Holanda

Manual QuotServ Todos os direitos reservados 2006/2007

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

MALWARE. Spyware. Seguem algumas funcionalidades implementadas em spywares, que podem ter relação com o uso legítimo ou malicioso:

CARTILHA DE SEGURANÇA

Em informática, um vírus de computador é um software malicioso que vem sendo desenvolvido por programadores que, tal como um vírus biológico, infecta

COORDENAÇÃO DE TECNOLOGIA (COTEC) MAIO/2010

Parte III: Introdução ao SELinux (Secure Enhanced Linux)

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência

FANESE Faculdade de Administração e Negócios de Sergipe

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A

RASTREIE SEU NOTEBOOK (FURTADO OU ROUBADO) INTERNET

Segurança em Dispositivos Móveis. <Nome> <Instituição> < >

Gestão Automática de Senhas Privilegiadas

Instalação Cliente Notes 6.5

Segurança em Comércio Eletrônico. <Nome> <Instituição> < >

Boas Práticas de Desenvolvimento Seguro

Criando scanner para FreeSSHd vulnerável ao exploit do Metasploit Inj3cti0n P4ck3t. Inj3cti0n P4ck3t

Este tutorial mostra como utilizar as ferramentas Send Mail e Web Commands.

e Uso Abusivo da Rede

Segurança em aplicações Web. Exemplos e Casos Práticos em

Manual de Utilização do TOTVS Restore

Hackers. Seus dados podem ser inúteis, mas seu computador em si pode ainda ser um recurso valioso.

Gestão da Segurança da Informação Professor: Maurício AULA 04 Tipos de Ataques

II ENSL. Backdoors em Sistemas GNU/Linux: Conhecendo Para Se Proteger.

EMULADOR 3270 VIA WEB BROWSER

Análise de Vulnerabilidades em Aplicações WEB


Conceitos de Segurança Física e Segurança Lógica. Segurança Computacional Redes de Computadores. Professor: Airton Ribeiro Fevereiro de

O que é conexão de área de trabalho remoto?

Manual Comunica S_Line

Escrito por Paulo Ricardo - Gambware Qua, 08 de Setembro de :47 - Última atualização Sex, 24 de Setembro de :18

Ameaças a computadores. Prof. César Couto

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

Transcrição:

Segurança em Ambiente Linux Uma visão geral das tecnologias, ferramentas e abordagens utilizadas na área de segurança do Sistema Operacional Linux Parte I: Segurança: introdução, conceitos e exemplos Ademar de Souza Reis Jr. <ademar@conectiva.com.br> http://www.ademar.org XII Congresso C. Computação Bolívia Tarija Bolívia Outubro 2005 última versão atualizada disponível em http://www.ademar.org/

Conteúdo Definições Segurança, uma visão pragmática Requisitos para um sistema seguro Políticas de segurança Anúncios de segurança e full-disclosure E agora? O que fazer em determinadas situações Conclusões

Definições O que é segurança? Manter algo livre de perigo (acesso indevido inclusive) Manter algo em um estado/situação confiável O que é um ataque? Tentativa de burlar/romper a segurança Algo não autorizado ou prejudicial O que é uma vulnerabilidade? Furo de segurança Defeito de software + cenário

Sobre segurança Ponto mais fraco Um sistema é tão seguro quanto seu ponto mais fraco Relação complexidade <-> segurança 20 opções de configuração: pouco? Relação comodidade <-> segurança Regra geral: quanto mais seguro, mais difícil de se usar (e quanto mais inseguro, mais fácil de se usar) Criatividade do atacante Liu Die Yu: Ataque IE em 6 etapas (2003-11-11)

Ainda sobre segurança... O que estou defendendo? Segurança nacional ou minha senha de registro do slashdot.org? De quem estou me defendendo? Meu vizinho FBI/NSA Engenharia Social Regra geral: o ponto mais fraco em um sistema é o ser humano Zelador, vigias, colegas de trabalho Você mesmo :-)

Ainda sobre segurança... Quanto custa me defender Famosa relação custo-benefício Um seguro pode sair mais barato Falsa sensação de segurança Achar que está seguro é pior do que saber que está inseguro

Tipos de ataques/vulnerabilidades Negação de Serviço Denial of Service: DoS Distributed Denial of Service: DDoS Vazamento de informação Quebra de autenticação (acesso não autorizado) Manipular comportamento do sistema (controle da máquina/aplicação)

Tipos de ataque e motivação Barulhento: é descoberto rapidamente Fama Vingança Diversão Silencioso: pode demorar a ser detectado Crimes diversos (espionagem, roubo, etc) Ponte para ataques mais sofisticados Curiosidade Uso de recursos

Vulnerabilidades mais comuns Buffer overflow e afins Execução de código/comandos arbitrários DoS Format strings Cross-site-scripting SQL Injection

Exemplos práticos de vulnerabilidades Buffer overflows int main(int argc, char **argv) { char buf[128]; [...] strcpy(buf, argv[1]); [...] } imagem jpg hipotética ------------------------------ ploadlen=10 depth ------------------------------ heigth width ------------------------------... ------------------------------ payload (imagem, 10 bytes)...... payload (código atacante)... ------------------------------ NULL char *jpg_get_payload(jpgimage img) { char *buf; int len, depth; int i = 0; } len = jpg_get_ploadlen(img); depth = jpg_get_depth(img); buf = malloc(len * depth); while(img->payload!= NULL) { buf[i] = img->data[i]; i++; } return buf;

Exemplos práticos de vulnerabilidades Format strings e caracteres de escape C:... printf(variable);... bash: rm -rf /home/$user... bash: rm -f $file... + file= -r variable = %s %p foobar user= ; / =!!! Cross site scripting URL: http://www.microsoft.com/products/?&download=myserver.com/winupdate.exe (exemplo fictício)

Exemplos práticos de vulnerabilidades SQL Injection if (SELECT user FROM auth_db WHERE user = $user AND password = $password;) /* user auth OK */ else /* error, user not found or invalid pass */ endif + Super Secure System Login Usuário: Password: any;) // = if (SELECT user FROM auth_db WHERE user = any;) // AND password = $password ) /* user auth OK */ else /* error, user not found or invalid pass */ endif

O que um sistema seguro precisa ter Tecnologia correta Firewall Criptografia Autenticação Software de qualidade Código maduro e estável KISS (Keep it Simple and Small) Atualizações Boa política de segurança

Política de Segurança Principal tarefa do Analista de Segurança Usuários Quem Quando Como Software Escolha Instalação Atualizações Concientização Lembrar que: 1. A segurança depende do ponto mais fraco 2. O ponto mais fraco geralmente é o ser humano

Atualizações de Segurança --------------------------------------------------------------------------- CONECTIVA LINUX SECURITY ANNOUNCEMENT --------------------------------------------------------------------------- PACKAGE : lynx SUMMARY : Security fix for lynx DATE : 2005-10-18 15:08:00 ID : CLA-2005:1037 RELEASES : 10 -------------------------------------------------------------------------- DESCRIPTION lynx[1] is a lightweight text-mode browser. This announcement fixes a buffer overflow vulnerability[2] found by Ulf Harnhammar. A remote attacker could exploit this via a specially crafted server to execute arbitrary code with the privileges of the lynx's user. SOLUTION It is recommended that all lynx users upgrade their packages. REFERENCES 1.http://lynx.browser.org/ 2.http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-3120 UPDATED PACKAGES... Bugtraq: http://www.securityfocus.com Conectiva: http://disto.conectiva.com.br/atualizacoes/ Mandriva: http://www.mandriva.com/security/advisories

Fui invadido, e agora? Não entre em pânico! É fundamental descobrir como e quando a invasão ocorreu Identifique a razão do ataque; Não confie nos programas da máquina; Não reinstale tudo imediatamente; Tente capturar informações com a máquina ainda online; Faça um análise detalhada com um disco de boot e montando as partições como read-only; Registre tudo (pode servir como prova criminal); Cuidado com backups comprometidos; Identifique o que não é mais confiável na rede. Na dúvida, não arrisque, troque todas as senhas e chaves; Ataques podem ser reportados (http://www.nic.br/nbso.html).

Descobri uma vulnerabilidade, e agora? Certifique-se de que o problema realmente existe e não foi corrigido; Contate o(s) fabricante(s) ou um órgão responsável; Agende uma data para divulgação pública (geralmente 1 semana a 1 mês); Publique um relatório/anúncio detalhado na data prevista. Se o fabricante não responder ou se recusar a corrigir o problema, faça o anúncio público (cuidado!) Quem contatar: Fabricante: security@ CERT: http://www.cert.org Programas OpenSource: vendor-sec@lst.de

Conclusões Nada é tão simples como parece Um sistema é tão seguro como seu ponto mais fraco O ponto mais fraco de um sistema geralmente é o humano Segurança não é um produto de caixinha Achar que está seguro é pior do que saber que está inseguro Todo sistema requer atenção e atualizações constantes Cuidado com mitos: Ninguém vai achar meu servidor Não tenho nada importante na minha rede Linux é super-seguro, posso ficar tranquilo

Para saber mais... Ross J. Anderson. Security Engineering, A Guide to Building Dependable Distributed Systems. ISBN 0-471-38922-6. Niels Ferguson and Bruce Schneier. Practical Cryptography. ISBN 0-471-22357-3. Simson Garfinkel and Gene Spafford. Practical Unix and Internet Security (Second Edition). ISBN 1-56592-148-8. Bruce Schneier. Secrets & Lies, Digital Security in a Networked World. ISBN 0-471-45380-3. Crypto-Gram newsletter: http://www.schneier.com/crypto-gram.html Bugtraq: http://www.securityfocus.com Phrack: http://www.phrack.org CERT: http://www.cert.org Anúncios Conectiva: http://distro.conectiva.com.br/atualizacoes Anúncios Mandriva: http://www.mandriva.com/security/advisories