1 / 51

Exemplo de coisas que dão errado Seminário de Informática Teórica

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 Sem Fio Sans Top-20 List Top 5 Log Reports The Ten Security Trends. Motivação.

ova
Download Presentation

Exemplo de coisas que dão errado Seminário de Informática Teórica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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

  4. Tipos de Ataque

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

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

  7. 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

  8. Denial of Service • DoS (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. • DDoS • Diversas Máquinas Simultaneamente Inundam o site

  9. Exemplo SimpleEmail email = new SimpleEmail(); email.setHostName("mail.myserver.com"); email.addTo("jdoe@somewhere.org", "John Doe"); email.setFrom("me@apache.org", "Me"); email.setSubject("Test message"); email.setMsg("This is a simple test of commons-email"); while (true){ email.send(); }

  10. SQL Injection

  11. SQL Injection

  12. SQL Injection

  13. 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

  14. Exemplo • extensão DLL • extensão EXE • Programas • Home Key Logger • Active Key Logger • Key Logger RemoteBuddy

  15. Key Logger

  16. Vulnerabilidades

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

  18. 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 Time-of-check-to-time-of-use (TOCTTOU)

  19. 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

  20. 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.

  21. 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

  22. Programação Defensiva

  23. 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.

  24. 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.

  25. Exemplos Reais sobre (In)Segurança

  26. Redes sem fio

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

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

  29. Vulnerabilidades do WEP (Wired Equivalent Privacy) • Criptografia RC4 • Simétrica • Stream Cipher • 24 bits • 1/16.777.216 • 5.000 pacotes trocados

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

  31. SANS Institute

  32. Sans Institute • SANS Institute • (SysAdmin, 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)

  33. Operating Systems W1. Internet Explorer W2. Windows Libraries W3. Microsoft Office W4. Windows Services W5. Windows Configuration Weaknesses M1. Mac OS X U1. UNIX Configuration Weaknesses Cross-Platform Applications C1 Web Applications C2. Database Software C3. P2P File Sharing Applications C4 Instant Messaging C5. Media Players C6. DNS Servers C7. Backup Software C8. Security, Enterprise, and Directory Management Servers Network Devices N1. VoIP Servers and Phones N2. Network and Other Devices Common Configuration Weaknesses Security Policy and Personnel H1. Excessive User Rights and Unauthorized Devices H2. Users (Phishing/Spear Phishing) Special Section Z1. Zero Day Attacks and Prevention Strategies Top 20 List 2006

  34. 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 v7 • Trocar de Browser • Microsoft DropMyrights – Menor Privilégio

  35. Aplicações Cross-Platform • Frameworks e aplicações web (PHP, .NET, J2EE, 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..

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

  37. 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ão-autorizados • Dispositivos Infectados: USB Flash Driver, Notebook, etc. • Monitoramento continuo do fluxo de dados pode imediatamente identificar dispositivos não-autorizados na rede

  38. Seção Especial • Zero-Day Exploit • Aumento em 2006 • Produtos Microsoft • IE, PowerPoint, 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

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

  40. 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

  41. 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

  42. 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 FS1: New user: name=c0rt3z uid=1050 Group change: User c0rt3z added to group Administrator Service changes for FS1: antivirus.exe has been stopped evilbackdoor started sshd restarted

  43. 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

  44. 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: smtp1 outbound to 1.2.3.4 on TCP/80 performed 7 times Suspicious Outbound Traffic: accounting1 outbound to 1.2.3.4 on TCP/25 performed 1 time accounting1 outbound to 1.2.3.5 on TCP/25 performed 1 time

  45. 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

  46. Dispositivos Móveis • Encriptação de Laptop será obrigatória em diversas agências do governo e em organizações que armazenam dados dos clientes e serão pré-instaladas nos equipamentos novos. • 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

  47. Ações Governamentais • 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

  48. Alvos de Ataques • 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 • 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. • Sistemas VoIP serão alvos de invasões. • A tecnologia VoIP foi implantada sem um conhecimento completo sobre a sua segurança

  49. Técnicas de Ataque • 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 • 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 TippingPoint. • 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

  50. Estratégias de Defesa • 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

More Related