Exemplo de coisas que do errado Seminrio de

  • Slides: 51
Download presentation
Exemplo de coisas que dão errado Seminário de Informática Teórica Leonardo Monteiro (lmr) Rafael

Exemplo de coisas que dão errado Seminário de Informática Teórica Leonardo Monteiro (lmr) Rafael Nóbrega (ron)

Agenda • Motivação • Tipos de Ataques • Vulnerabilidades • Exemplos Reais – Redes

Agenda • Motivação • Tipos de Ataques • Vulnerabilidades • Exemplos Reais – Redes Sem Fio – Sans * Top-20 List * Top 5 Log Reports * The Ten Security Trends 2

Motivação • Perigos que corremos atualmente • Falta de precaução dos programadores • Inocência

Motivação • Perigos que corremos atualmente • Falta de precaução dos programadores • Inocência do Usuário Comum • Complexidade de se obter um sistema completamente seguro 3

Tipos de Ataque

Tipos de Ataque

Buffer overflow • Estouro de pilha ou transbordamento de dados, acontece quando o tamanho

Buffer overflow • Estouro de pilha ou transbordamento de dados, acontece quando o tamanho de um buffer ultrapassa sua capacidade máxima de armazenamento. 5

Buffer Over Flow void check_input(char *input) { char buf[8]; strcpy(buf, input); if (check(buf)) allow_action();

Buffer Over Flow void check_input(char *input) { char buf[8]; strcpy(buf, input); if (check(buf)) allow_action(); return; } • Pilha de Execução: Ret. Addr. char *input buf[7] buf[6] … buf[1] buf[0] • Bug: strlen(input) > 7 6

Java Buffer Overflow • Parsing de componentes com imagens GIF – Imagens com Width

Java Buffer Overflow • Parsing de componentes com imagens GIF – Imagens com Width 0, a jre aloca este tamanho e depois copia os dados para a memória – O overflow corrompe diversos ponteiros e pode resultar na execução de código arbitrário Affected Products: JDK and JRE 5. 0 Update 9 and earlier (all platforms) SDK and JRE 1. 4. 2_12 and earlier (all platforms) SDK and JRE 1. 3. 1_18 and earlier (all platforms http: //www. zerodayinitiative. com/advisories/ZDI-07 -005. html 7

Denial of Service • Do. S (Denial of Service) é simplesmente deixar um serviço

Denial of Service • Do. S (Denial of Service) é simplesmente deixar um serviço incapaz de responder a requisições. • Tipos: – Ping of Death * Pacote ICMP malformado muito grande – SYN Flood attack * Protocolo TCP/IP, a three-way handshake. – DDo. S * Diversas Máquinas Simultaneamente Inundam o site 8

Exemplo Simple. Email email = new Simple. Email(); email. set. Host. Name("mail. myserver. com");

Exemplo Simple. Email email = new Simple. Email(); email. set. Host. Name("mail. myserver. com"); email. add. To("jdoe@somewhere. org", "John Doe"); email. set. From("me@apache. org", "Me"); email. set. Subject("Test message"); email. set. Msg("This is a simple test of commons-email"); while (true){ email. send(); } 9

SQL Injection 10

SQL Injection 10

SQL Injection 11

SQL Injection 11

SQL Injection 12

SQL Injection 12

Key logger • Boa intenção – Trabalho, filhos, . . . • Spam •

Key logger • Boa intenção – Trabalho, filhos, . . . • Spam • Instalação • Teclas digitadas • Imagens (teclado virtual) • Informações – senhas de banco, números de cartão de crédito, . . . • Prejuízo 13

Exemplo • extensão DLL • extensão EXE • Programas – Home Key Logger –

Exemplo • extensão DLL • extensão EXE • Programas – Home Key Logger – Active Key Logger – Key Logger Remote. Buddy 14

Key Logger 15

Key Logger 15

Vulnerabilidades

Vulnerabilidades

Race conditions • Ocorrem em software, especialmente quando há comunicação entre processos separados ou

Race conditions • Ocorrem em software, especialmente quando há comunicação entre processos separados ou execução de threads 17

Time-of-check-to-time-of -use (TOCTTOU) global integer A = 0; //incrementa o valor de A e

Time-of-check-to-time-of -use (TOCTTOU) global integer A = 0; //incrementa o valor de A e desenha "RX" // ativado em algum momento, uma // interrupção é recebida do controlador // serial task Received() { A = A + 1; print "RX"; } //é ativado a cada segundo task Timeout() { if (A is divisible by 2) { print A; } • Saídas: 0 0 0 RX RX 2 RX RX 4 4 } 18

Fraca checagem de entrada • Problemas Gerais – Muitos dos programas tem entrada *

Fraca checagem de entrada • Problemas Gerais – Muitos dos programas tem entrada * Usar entrada * Funções chamam outros módulos * Formulário de entrada Web – Muitos exemplos de web sites * Linguagens script com entrada string – Sistema extensível também tem sérios problemas * Módulos designados assumem chamadas vindas de códigos confiáveis * Extensões maliciosos no sistemas podem chamar módulos confiáveis 19

Privilégio Desnecessário • A maioria dos ataques quer ganhar privilégios: – Acesso a programas,

Privilégio Desnecessário • A maioria dos ataques quer ganhar privilégios: – Acesso a programas, arquivos, etc. . , dentro de um sistema • Se um atacante pode ganhar privilégios de um programa, este deve ser o mínimo possível. – Isto é chamado do Princípio do Menor Privilégio. 20

Exemplos • DOS/Windows – Configuração padrão fornece todos os privilégios de acesso • Unix

Exemplos • DOS/Windows – Configuração padrão fornece todos os privilégios de acesso • Unix – Problemas com programas executando como root * Unix requer que vários programas executem como root * Em 1999, 50% dos sendmail servers estavam vulneráveis 21

Programação Defensiva

Programação Defensiva

Programação Defensiva • Um Problema comum é o uso de estruturas de tamanho constante

Programação Defensiva • Um Problema comum é o uso de estruturas de tamanho constante e funções para dados de tamanho dinâmico sem checagem • Nunca faça código mais complexo que o necessário. – Complexidade alimenta bugs, incluindo problemas de segurança. • Deixe o código disponível para todos na rede (software livre) ou contrate alguém que faça uma auditoria de segurança. • Se possível, reutilize o código ao invés de reescrever do zero. 23

Programação Defensiva • Codifique todo dado importante transmitido por redes. • Todo dado é

Programação Defensiva • Codifique todo dado importante transmitido por redes. • Todo dado é importante até provar o contrário. • Todo código é inseguro até provar o contrário. • Se dados vão ser checado por correção, cheque se é correto, não se é incorreto. 24

Exemplos Reais sobre (In)Segurança

Exemplos Reais sobre (In)Segurança

Redes sem fio

Redes sem fio

Histórico • Crescimento – Economicamente viável – Taxa de transmissão – Conectividade entre instituições

Histórico • Crescimento – Economicamente viável – Taxa de transmissão – Conectividade entre instituições • Novo cenário – Falta de segurança 27

Riscos • Internos – Rogue WLAN – Configurações inseguras (VPN) – Associação acidental •

Riscos • Internos – Rogue WLAN – Configurações inseguras (VPN) – Associação acidental • Externos – Espionagem – Roubo de Identidade – Ataques emergentes 28

Vulnerabilidades do WEP (Wired Equivalent Privacy) • Criptografia RC 4 – – – Simétrica

Vulnerabilidades do WEP (Wired Equivalent Privacy) • Criptografia RC 4 – – – Simétrica Stream Cipher 24 bits 1/16. 777. 216 5. 000 pacotes trocados 29

Air. Sornt • http: //airsnort. shmoo. com • Qualquer chave • Três a cinco

Air. Sornt • http: //airsnort. shmoo. com • Qualquer chave • Três a cinco milhões de pacotes trocados 30

SANS Institute

SANS Institute

Sans Institute • SANS Institute – (Sys. Admin, Audit, Network, Security) – 165, 000

Sans Institute • SANS Institute – (Sys. Admin, Audit, Network, Security) – 165, 000 security professionals around the world • Top-20 Internet Security Attack Targets (2006) • Top 5 Essential Log Reports (2006) • The Ten Most Important Security Trends of the Coming Year (2006) 32

Top 20 List 2006 • Operating Systems – – – – W 1. Internet

Top 20 List 2006 • Operating Systems – – – – W 1. Internet Explorer W 2. Windows Libraries W 3. Microsoft Office W 4. Windows Services W 5. Windows Configuration Weaknesses M 1. Mac OS X U 1. UNIX Configuration Weaknesses • Cross-Platform Applications – – – – C 1 Web Applications C 2. Database Software C 3. P 2 P File Sharing Applications C 4 Instant Messaging C 5. Media Players C 6. DNS Servers C 7. Backup Software C 8. Security, Enterprise, and Directory Management Servers • Network Devices – N 1. Vo. IP Servers and Phones – N 2. Network and Other Devices Common Configuration Weaknesses • Security Policy and Personnel – H 1. Excessive User Rights and Unauthorized Devices – H 2. Users (Phishing/Spear Phishing) • Special Section – Z 1. Zero Day Attacks and Prevention Strategies 33

Sistemas Operacionais • Internet Explorer – Corrompe a memória, spoofing (assumir identidade de alguém)

Sistemas Operacionais • Internet Explorer – Corrompe a memória, spoofing (assumir identidade de alguém) e execução arbitrária de scripts. – Execução de código remoto sem nenhuma interação com usuário * quando o usuário visita um site malicioso ou lê um e-mail – Proteção * Windows XP Service Pack 2 * Internet Explorer v 7 * Trocar de Browser * Microsoft Drop. Myrights – Menor Privilégio 34

Aplicações Cross. Platform • Frameworks e aplicações web (PHP, . NET, J 2 EE,

Aplicações Cross. Platform • Frameworks e aplicações web (PHP, . NET, J 2 EE, Ruby on Rails, etc) estão sujeitos a falhas de segurança. • As vulnerabilidades mais exploradas são: – PHP Remote File Include * Execução de código remoto – SQL Injection * criar, ler, atualizar ou deletar qualquer dado da aplicação – Cross-Site Scripting (XSS) * Desfigura web sites, Inserta código malicioso, faz phishing attacks e força o usuário a executar comandos externos (CSRF) – Cross-site request forgeries (CSRF) * Força usuários a executar comandos sem o seu consentimento – Diretórios Transversais * Acesso a arquivos via ". . “ permite acesso a: • Arquivos de password, arquivos de configuração, etc. . 35

Dispositivos de Rede • Vo. IP – Obtendo o controle do servidor Vo. IP

Dispositivos de Rede • Vo. IP – Obtendo o controle do servidor Vo. IP ou do telefone um invasor pode fazer * Vo. IP phishing scams, * eavesdropping (violação de confidencialidade), * toll fraud (acesso não-autorizado) * ataques denial-of-service – Nos servidores Vo. IP com interface SS 7 (sinal de telefone tradicional) e rede IP, um invasor pode manipular o sinal SS 7 para interromper os serviços na rede de telefonia convencional 36

Política de Segurança • Direitos Excessivos do usuário e dispositivos não-autorizados – Se o

Política de Segurança • Direitos Excessivos do usuário e dispositivos não-autorizados – Se o usuário pode instalar seus próprios softwares e o administrador não pode controlar • Dispositivos de rede infectados ou nãoautorizados – Dispositivos Infectados: USB Flash Driver, Notebook, etc. – Monitoramento continuo do fluxo de dados pode imediatamente identificar dispositivos nãoautorizados na rede 37

Seção Especial • Zero-Day Exploit – Aumento em 2006 – Produtos Microsoft * IE,

Seção Especial • Zero-Day Exploit – Aumento em 2006 – Produtos Microsoft * IE, Power. Point, Word, Excel, etc. . – Proteção * Princípio do Menor Privilégio * Educação dos Usuários sobre Segurança * Firewall configurados com deny-all * Siga as recomendações do fabricante para contornar e mitigar o problema até que um patch esteja disponível 38

Top 5 Log Reports 1. Tentativas de obter acesso a partir de contas existentes

Top 5 Log Reports 1. Tentativas de obter acesso a partir de contas existentes 2. Tentativas fracassadas de acesso a arquivos e recursos 3. Mudanças sem autorização de usuários, grupos e serviços 4. Sistemas mais vulneráveis a ataques 5. Padrão de tráfego de rede suspeito ou nãoautorizado 39

Tentativas de obter acesso a partir de contas existentes • Usuários ou processo maliciosos

Tentativas de obter acesso a partir de contas existentes • Usuários ou processo maliciosos tentando obter acesso a rede por password guessing. • Pode também ser uma indicação que uma conta de usuário local está tentando obter uma permissão maior do sistema Failed Login Attempts: jsmith from 1. 2. 3. 4 against example-host performed 37 times jdoe from 1. 2. 3. 4 against example-host performed 16 times 40

Tentativas fracassadas de acesso a arquivos e recursos • Tentativas fracassadas de acesso são

Tentativas fracassadas de acesso a arquivos e recursos • Tentativas fracassadas de acesso são uma indicação que alguém está tentando obter acesso ou a um recurso não existente ou a um recurso o qual ele não tem permissão Web Server Failed Access Attempts: Failed file access attempt for 1. 2. 3. 4 performed 13 times /var/www/html/mambo /var/www/html/cvs /var/www/html/articles /var/www/html/cvs /var/www/html/xmlrpc. php /var/www/html/blog. . File Server Failed Access Attempts: Failed write access on financial. xls for user jsmith from 1. 2. 3. 4 performed 2 times 41

Mudanças sem autorização de usuários, grupos e serviços • Mudanças desses três irão ocorrer

Mudanças sem autorização de usuários, grupos e serviços • Mudanças desses três irão ocorrer legitimamente em diversos casos • Porém eles merecem uma atenção especial porque podem ser uma indicação que todas as outras defesas foram ultrapassadas e uma invasão ocorreu Account changes for FS 1: New user: name=c 0 rt 3 z uid=1050 Group change: User c 0 rt 3 z added to group Administrator Service changes for FS 1: antivirus. exe has been stopped evilbackdoor started sshd restarted 42

Sistemas mais vulneráveis a ataques • Esteja atualizado em relação aos PATCHs • Todos

Sistemas mais vulneráveis a ataques • Esteja atualizado em relação aos PATCHs • Todos os sistemas deveriam estar atualizados. – Porém, falta de tempo, recursos, etc. . Pode resultar em um cenário não-ideal • Definindo Prioridade – Um relatório que identifica o nível de conformidade de cada recurso de rede pode ser extremamente útil 43

Padrão de tráfego de rede suspeito ou não-autorizado • Padrão não-usual ou inesperado na

Padrão de tráfego de rede suspeito ou não-autorizado • Padrão não-usual ou inesperado na rede local – Não só de entrada de dados mas também de saída – Este relatório exige um pouco de familiaridade com o comportamento normal da rede Dropped Traffic From DMZ: smtp 1 outbound to 1. 2. 3. 4 on TCP/80 performed 7 times Suspicious Outbound Traffic: accounting 1 outbound to 1. 2. 3. 4 on TCP/25 performed 1 time accounting 1 outbound to 1. 2. 3. 5 on TCP/25 performed 1 time 44

Top 10 Security Trends • Vinte dos mais respeitados líderes sobre cyber security –

Top 10 Security Trends • Vinte dos mais respeitados líderes sobre cyber security – Cada um sugeriu três desenvolvimentos que acharam mais importante – A lista foi compilada em 40 tendência que foram a votação (probabilidade e impacto) – A lista foi validada por 960 integrantes do SANSFire em Washington 45

Dispositivos Móveis 1. Encriptação de Laptop será obrigatória em diversas agências do governo e

Dispositivos Móveis 1. Encriptação de Laptop será obrigatória em diversas agências do governo e em organizações que armazenam dados clientes e serão pré-instaladas nos equipamentos novos. 2. Roubo de PDA smart phones crescerá significativamente. O valor de revenda dos dispositivos e de seu conteúdo vai gerar um grande número de furtos 46

Ações Governamentais 3. O congresso irá criar mais legislação sobre proteção das informações dos

Ações Governamentais 3. O congresso irá criar mais legislação sobre proteção das informações dos clientes. – As legislaturas encontrarão maneiras de decretar penalidades severas para as organizações que perderem as informações sensíveis de usuários e clientes 47

Alvos de Ataques 4. Ataques com alvo serão mais predominantes, principalmente em agências do

Alvos de Ataques 4. Ataques com alvo serão mais predominantes, principalmente em agências do governo. – Ataques virtuais contra os sistemas do governo Americano foram muito bem-sucedidos – Os ataques a organizações comerciais visarão contratantes militares e negócios com informações valiosa 5. Worms para telefones celulares irão afetar pelo menos 100. 000 celulares. – Celulares estão se tornando poderosos e com ambientes para desenvolvimento de software que o tornam um território fértil para invasores. 6. Sistemas Vo. IP serão alvos de invasões. – A tecnologia Vo. IP foi implantada sem um conhecimento completo sobre a sua segurança 48

Técnicas de Ataque 7. Spyware vai continuar a ser um problema enorme e crescente

Técnicas de Ataque 7. Spyware vai continuar a ser um problema enorme e crescente – O desenvolvimento de spyware pode fazer dinheiro de muitas maneiras monitorando os hábitos dos usuários 8. Vulnerabilidades 0 -day irão obter um melhor resultado de ataques em milhares de PCs pelo mundo – Pesquisadores de vulnerabilidades podem explorar os buracos que encontram antes de vendê-las aos fornecedores ou compradores de vulnerabilidades como o Tipping. Point. 9. A maioria dos agentes serão empacotados com rootkits, – – O rootkit vai mudar o sistema operacional para esconder a presença do invasor e fazer a desinstalação do malware quase impossível Apenas uma reinstalação do sistema operacional iria resolver o problema 49

Estratégias de Defesa 10. Controle de acesso a rede será muito comum e sofisticada

Estratégias de Defesa 10. Controle de acesso a rede será muito comum e sofisticada – – Defender laptops se torna cada vez mais difícil, as grandes organizações irão tentar proteger suas redes e usuários internos testando os computadores que desejam se conectar. Os Testes irão aumentar das atuais checagem de configuração e validação de assinatura de vírus para um análise mais profunda a procura de traços de código malicioso 50

Referências • http: //en. wikipedia. org/wiki/Computer_Security • http: //en. wikipedia. org/wiki/Race_condition • http: //www.

Referências • http: //en. wikipedia. org/wiki/Computer_Security • http: //en. wikipedia. org/wiki/Race_condition • http: //www. nmrc. org/pub/faq/hackfaq/ • http: //en. wikipedia. org/wiki/Time-of-check-to-time-of-use • http: //www. read. cs. ucla. edu/111/2006 spring/notes/lec 2 • http: //www. bancobpi. pt/pagina. asp? s=1&a=40&p=95&f=611&opt=f • http: //pt. wikipedia. org/wiki/Key_logger • http: //www. imasters. com. br/artigo/3127 • http: //www. imasters. com. br/artigo/5179/php/sql_injection_no_php_ o_que_e_e_como_se_proteger/ • http: //www. sans. org • http: //www. nmrc. org/pub/faq/hackfaq/ 51