Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouJonathan Andrade Caldas Alterado mais de 6 anos atrás
1
Júlio César Fort (jcsf@cin.ufpe.br)
Network worms Uma análise técnica - História e futuro Júlio César Fort 06/11/2018
2
Agenda O que são os worms Classificação dos worms
Análise dos principais network worms Worms do bem Como seriam os worms ideais? Warhol e Flash worms Contramedidas Futuro Conclusão 06/11/2018
3
O que são os worms Worms são programas que se replicam independentemente através de redes de computadores Diferentemente dos vírus, conceitualmente os worms não possuem carga destrutiva A idéia surgiu no livro de ficção científica “The Shockwave Rider”, de John Bruner, em 1975 Os primeiros experimentos foram feitos no PARC, da Xerox, em 1978 O primeiro worm em escala global apareceu em 1988 e é creditado a Robert Morris Jr. 06/11/2018
4
Classificação dos worms
Internet worms worms File-sharing worms Instant Messaging worms IRC worms 06/11/2018
5
Análise dos principais network worms
Morris worm (Internet worm) WANK worm Melissa Ramen Code Red SQL Slammer (Sapphire) Blaster MyDoom Sasser 06/11/2018
6
Morris worm Surgiu no dia 02/11/1988 e foi criado pelo estudante da University of Cornell, Robert Morris Jr., filho do cientista-chefe da NSA à epoca Duas horas após o lançamento já havia atingido computadores em Berkeley, LLNL, Los Alamos, NASA, etc. O task-force liderado por Eugene Spafford, da Purdue University, conseguiu analisar o worm e freá-lo antes que houvessem mais danos Capa do NY Times, “ofuscando” as eleições presidenciais que ocorreriam dentro de quatro dias Morris foi condenado a 440 horas de serviço comunitário e multa de US$ 10 mil. Estima-se um prejuízo de US$ 15 milhões Hoje Robert Morris Jr. é professor do MIT 06/11/2018
7
Morris worm – análise técnica (1)
O worm foi escrito na linguagem C e portado para máquinas rodando SunOS e BSD UNIX Foi a primeira aparição pública do buffer overflow, até então meramente teoria O worm procurava seus alvos no arquivo ‘/etc/hosts’ e usando ‘netstat –r –n’ E se propagava através de três formas: buffer overflow no fingerd, bug no sendmail e pelo rshd 06/11/2018
8
Morris worm – análise técnica (2)
fingerd A propagação pelo buffer overflow do fingerd foi a de maior sucesso O worm sobreescrevia um buffer de 512 bytes do fingerd, que usava a função gets(), que não provê checagem Nas máquinas Sun o método não funcionou por conta de Morris não ter acertado o endereço de retorno para o shellcode, fazendo o daemon gerar core dump 06/11/2018
9
Morris worm – análise técnica (3)
sendmail O worm conectava na porta de smtp e invocava o modo DEBUG do sendmail, que continha uma falha onde era possível passar comandos arbitrários Sendo assim, o worm envia um shell script que compila um pequeno programa em C, que será responsável por copiar os objetos ‘.o’ do worm a partir da máquina de onde veio O script verifica qual o SO e faz o linking apropriado para produzir o ‘/usr/tmp/sh’, mais uma cópia do programa 06/11/2018
10
Morris worm – análise técnica (4)
rshd Abusava da política de “trusted hosts” (arquivos ‘/etc/hosts.equiv’ e ‘.rhosts’) Como o worm nem sempre rodava como root ele tentava lia o ‘/etc/passwd’ e tentava advinhar as senhas dos usuários do sistema, fazendo diversas combinações E para tal ação ele continha uma lista de senhas mais comuns e ainda contava com a ajuda do ‘/usr/dict/words’ Com uma conta comprometida, ele usa ‘rsh’ ou ‘rexec’, e copiando o payload como ‘/usr/tmp/sh’ na máquina remota 06/11/2018
11
Morris worm – fatores do sucesso
A propagação através de três maneiras, incluindo buffer overflow, foi altamente eficaz Portabilidade também foi um fator primordial para o sucesso do worm O pouco conhecimento sobre segurança que havia na época Erros do worm e lições aprendidas Com certeza o erro mais grave era que o worm não checava se havia uma instância dele já rodando Programação segura e a escolha de senhas fortes são fundamentais 06/11/2018
12
WANK worm O primeiro (e único?) worm para VAX/VMS
Descoberto em 16 de outubro de 1989 no Goddard Space Center, NASA, atrasando o lançamento da sonda Galileo O WANK trazia um trecho de uma letra contra uso de armas nucleares da banda Midnight Oil Suspeitava-se que os autores eram os hackers australianos da BBS “The Realm”, mas nada foi provado e ninguém foi preso O ataque serviu para alertar o governo para possíveis ataques de hackers estrangeiros 06/11/2018
13
WANK worm – análise técnica (1)
O WANK era um arquivo de lote (.com no VMS) e por essa razão seu código foi propositalmente escrito de maneira a deixá-lo quase incompreensível O worm se espalhava a partir de senhas padrões do VMS (ex.: usuário e senha = DECNET) O worm checa se ele possui privilégios no diretório onde ele está Verifica-se se já existe uma instância do worm rodando (processo de nome “NETW_X”, onde X é um número aleatório); caso afirmativo, ele deleta a si próprio 06/11/2018
14
WANK worm – análise técnica (2)
Após os passos anteriores, o WANK muda a senha do usuário DECNET e FIELD para uma palavra aleatória de 12 caracteres e a envia para um nó na rede SPAN O processo muda seu nome para “NETW_X” Caso o worm tenha privilégio ‘SYSPRV’ (equivalente ao root no VMS), a seguinte mensagem é colocada no banner do sistema (SYS$ANNOUNCE) : W O R M S A G A I N S T N U C L E A R K I L L E R S Your System Has Been Officically WANKed You talk of times of peace for all, and then prepare for war e o login é modificado para simular a deleção de arquivos 06/11/2018
15
WANK worm – análise técnica (3)
O WANK tenta listar usuários logados a partir do PHONE e o usa também para ligar para o número de telefone deles Tenta ler o arquivo ‘RIGHTSLIST.DAT’, na tentativa de achar usuários válidos e se espalhar através de senhas nulas ou iguais ao nome do usuário Após invadir um novo sistema ele verifica o ‘SYSUAF.DAT’ a procura de uma conta administrativa vulnerável e se achada ele se copia para ela; caso contrário ele se copia para as demais contas que conseguir E o ciclo de infecções é perpetuado 06/11/2018
16
WANK worm – fatores do sucesso
Muitos sistemas VMS tinham senhas padrões e nem sempre as configurações eram adequadas à segurança … mas poderia ter sido melhor O worm poderia ser mais bem sucedido se não fosse o fato de se espalhar somente por DECNET 06/11/2018
17
Melissa A primeira aparição foi no dia 26 de março de 1999
Espalhou-se muito rapidamente através de mensagens de maliciosas e arquivos do Word Pelo fato de se espalhar por , diversos servidores smtp foram derrubados ou desativados (até mesmo o da microsoft.com) Foi um divisor de águas: deu início a era de escrita de worms em VB Script O worm causou US$ 80 milhões em prejuízos somente nos EUA O autor, David L. Smith, foi condenado a 10 anos mas reduziu a pena para 20 meses e multa de US$ 5000 ao fazer um acordo com o FBI 06/11/2018
18
Melissa – análise técnica
O Melissa espalhava-se através de opções de macro do Word 97 e 2000 em conjunto com o Outlook 97 e 98 Replicava-se através de “mass mailing”, enviando mensagens infectadas para os 50 primeiros endereços na lista contato da máquina infectada Caso a máquina não se encontrasse online ele infectava todos os arquivos ‘.doc’ e inseria uma mensagem neles Algumas variantes do Melissa apagavam arquivos importantes do sistema Source do Melissa: 06/11/2018
19
Melissa – fatores do sucesso
Grande número de usuários do Microsoft Outlook e Word A enorme curiosidade das pessoas ;) 06/11/2018
20
Ramen Surgiu por volta de outubro de 2000
Ressucitou os worms para sistemas baseados em UNIX Suspeitava-se que hackers chineses fossem os autores mas nada foi provado e ninguém foi preso Não se sabe com exatidão o tamanho do prejuízo causado pelo Ramen 06/11/2018
21
Ramen – análise técnica
O Ramen se espalhava através de falhas nos softwares wu-ftpd 2.6.0, LPRng e rpc.statd, todos instalados por padrão no Red Hat 6.2 e 7.0 A praga continha uma série de shell scripts e um portscanner, que trabalhavam em conjunto com os exploits utilizados É aberto um pequeno webserver na porta no computador invadido para que o tarball do worm seja copiado da máquina de origem para a comprometida O acesso anônimo ao ftpd é bloqueado e o rpc.statd inutilizado a fim de evitar novas infecções 06/11/2018
22
Ramen – análise técnica (2)
Ao portscanner é passado uma classe de IP gerada aleatoriamente Caso as portas dos serviços vulneráveis fossem encontradas, os respectivos exploits eram executados, juntamente com os comandos para a continuação do ciclo O scanner checava o banner do FTP e só executava o exploit caso encontrasse a versão vulnerável Era enviado um com o IP infectado para (provavelmente para controle) Todos os arquivos ‘index.html’ eram modificados para mostrar a mensagem “Hackers love nooodles” 06/11/2018
23
Ramen – fatores do sucesso
O principal fator para o sucesso do Ramen foi que as vulnerabilidades se encontravam em aplicações instaladas por padrão A enorme popularidade da distribuição Red Hat contribuiu significativamente para tal sucesso 06/11/2018
24
Code Red Sua primeira aparição foi no dia 13 de julho de 2001 e somente no dia 19 de julho o worm havia infectado 359 mil computadores Explorava uma condição de buffer overflow no Microsoft IIS 4 e 5 Até mesmo servidores da da Microsoft foram comprometidos Mais uma vez a autoria foi atribuída a hackers chineses e cogitou-se que até mesmo do governo da China estaria envolvido Os prejuízos causados pela primeira versão são estimados em US$ 1.5 bilhões 06/11/2018
25
Code Red – análise técnica (1)
O overflow foi descoberto por acaso pela eEye enquanto faziam fuzzing contra o filtro .ida do ISAPI GET /NULL.ida?[buffer]=X HTTP/1.0 (com [buffer] aproximadamente 240 bytes) Após se utilizar do overflow para penetrar no sistema, o worm abre 100 processos filhos, onde 99 são usados para procurar por outras máquinas vulneráveis O processo-filho restante checa se o idioma padrão é inglês; caso afirmativo, modifica o ‘index.html’ com o conteúdo “HELLO! Welcome to Hacked By Chinese!” 06/11/2018
26
Code Red – análise técnica (2)
Todos os processos-filhos procuram pelo diretório ‘c:\notworm’ para assegurar que o sistema já não havia sido infectado anteriormente A data do sistema é lida e se o dia for maior ou igual a 20 é lançado um ataque ao site da Casa Branca ( 06/11/2018
27
Code Red – fatores do sucesso
A demora para a instalação dos devidos patches O worm afetava as versões mais usadas do IIS, que é um dos mais populares servidores de HTTP do mundo 06/11/2018
28
SQL Slammer (Sapphire)
Surgido em 24 de janeiro de 2003, se espalhava por uma falha no Microsoft SQL Server, bug este descoberto e com patch disponível há vários meses É considerado o primeiro “Warhol worm” da história, tendo infectado a grande maioria dos servidores nos primeiros 10 minutos O sistema de reservas da Continental Airlines e os caixas eletrônicos do Bank of America ficaram inoperantes, assim como boa parte da internet na Coréia do Sul Mais uma vez a suspeitava-se de hackers chineses do grupo Honkers Union of China, mas nada foi provado Estima-se que o worm causou entre US$ 1 e 2 bilhões em prejuízos 06/11/2018
29
SQL Slammer – análise técnica
O worm iniciava enviando apenas 1 byte (0x04) para um IP aleatório na porta do MS-SQL (1434/UDP) e logo em seguida o payload malicioso, corrompendo um stack-based buffer de 128 bytes Após infectar o sistema, o Slammer criava um socket UDP, gerava um IP aleatório e enviava o seu payload, sem a necessidade de se copiar de forma comum Aparentemente o worm foi todo feito em assembly, justificando o seu pequeno tamanho (376 bytes) e velocidade 06/11/2018
30
SQL Slammer – fatores do sucesso
Fatores de sucesso A não instalação do patch e o “esquecimento” da falha O worm era minúsculo, rápido e não-residente em disco … mas poderia ter sido melhor (ou não?) O uso de endereços “hardcoded” para explorar o stack overflow impediu que o worm se espalhasse em várias versões de Service Packs do Windows Se o worm não fosse Service Pack-dependant poderia ter um tamanho maior 06/11/2018
31
Blaster Surgido em 11 de agosto de 2003, se espalhava por uma falha no RPC DCOM, bug descoberto e publicado pelos poloneses do LSD e exploit pelos chineses do X-Focus Atingiu com sucesso milhões de computadores Windows XP e 2000 e causou instabilidade e negação de serviço nos Windows NT, 2003 e XP 64 bit O worm continha várias mensagens escondidas como “I just want to say I love you San”, entre outras Vários provedores (incluindo o Velox) tentaram conter o ataque bloqueando as portas que o Blaster usava A autoria original do worm é desconhecida, mas criadores de duas variantes foram presos nos EUA e Romênia O Wall Street Journal estimou prejuízos de US$ 329 bilhões em todo o mundo (certamente este número é irreal) 06/11/2018
32
Blaster – análise técnica
O serviço RPC escuta na porta 135/TCP O payload do worm abria uma shell na porta 4444/TCP e instruía o computador atacado a baixar a praga do computador de origem Por causa de uma falha de design do worm, o ataque ao RPC causava uma instabilidade no Windows e o forçava a reiniciar O Blaster foi programado para executar um ataque de negação de serviço ao site do Windows Update no dia 15 de agosto de 2003, desta forma ninguém iria conseguir baixar as atualizações O ataque não obteve êxito pois a Microsoft removeu o endereço windowsupdate.com 06/11/2018
33
Blaster – fatores do sucesso
Enorme popularidade do Windows 2000 e sobretudo XP A exposição dos usuários devido a não instalação dos patches Os detalhes técnicos e o exploit da falha haviam sido lançados poucas semanas antes … mas poderia ter sido melhor Se não fosse a instabilidade causada no sistema invadido, a maioria dos usuários sequer saberiam que estavam infectados com o Blaster 06/11/2018
34
MyDoom Surgido em 26 de janeiro de 2004, o Mydoom foi o worm de s mais rápido da história 1 em cada 10 s estavam infectados O alto tráfego gerado fez com que a internet ficasse 10% mais lenta que o normal O worm original era programado para atacar o site da SCO Dois dias após a primeira versão, foi detectada a variante MyDoom.B, reprogramada para atacar sites de 20 empresas de anti-vírus e segurança 2 em cada 10 s estavam infectados Outras variantes atacaram o Google e o Altavista Mesmo após a SCO ter oferecido US$ 250 mil pela captura do autor da praga e o FBI e o Serviço Secreto terem sido acionados, ninguém foi preso. Sabe-se que a mensagem original partiu da Rússia e que o worm é obra de um programador profissional 06/11/2018
35
MyDoom – análise técnica (1)
Para se espalhar por o MyDoom tinha uma engine própria de SMTP O assunto do continha uma mensagem que sugeria erro no envio, com os supostos detalhes em anexo "Error", "Mail Delivery System," "Test" ou "Mail Transaction Failed“, em inglês ou francês "The message cannot be represented in 7-bit ASCII encoding and has been sent as a binary attachment.", ou "Mail transaction failed. Partial message is available.“ O sistema de mass-mailing do MyDoom é inteligente e evita que s infectados sejam enviados para universidades como MIT, Berkeley, Stanford e empresas como IBM e Google, que detectariam rapidamente que um worm estava a solta 06/11/2018
36
MyDoom – análise técnica (2)
Um backdoor na porta 3127/TCP era instalado para posterior controle do computador afetado O worm estava programado para atacar o site da SCO no dia 1 de fevereiro de 2004, o que acabou não acontecendo 06/11/2018
37
MyDoom – fatores do sucesso
O despreparo dos usuários e a enorme curiosidade das pessoas ;) 06/11/2018
38
Sasser Sua primeira aparição foi em 30 de abril de 2004
O Sasser explorava um buffer overflow no serviço LSASS, padrão no Windows XP, 2000 e 2003 Em menos de um dia de vida a praga atingiu mais de 1 milhão de computadores Devido os efeitos do worm, a agência de notícias AFP teve sua comunicação de satélite cortada, computadores da União Européia ficaram inoperantes, a Delta AirLines foi obrigada a cancelar vôos, etc. A Microsoft ofereceu US$ 250 mil pela captura do autor e uma denúncia levou a polícia a prender Sven Jaschan, em Rotemburgo, Alemanha Calcula-se prejuízos de US$ 18 bilhões 06/11/2018
39
Sasser – análise técnica
O worm explora um overflow na função DsRolerUpgradeDownlevelServer() Após infectar um sistema ele se instala na pasta %windir% com o nome de ‘avserve.exe’ e se adiciona ao registro do Windows Cria-se um mutex para assegurar que somente uma instância está rodando Um servidor FTP era aberto na porta 5554 e um shell na porta 9996 AbortSystemShutdown() era chamada Iniciava-se o scanning primeiramente na rede local e depois em IPs externos 06/11/2018
40
Sasser – Fatores do sucesso
A grande quantidade de usuários de Windows XP com o serviço LSASS ativado A exposição dos usuários devido a não instalação dos patches O não-reiniciamento da máquina invadida Pequena janela de tempo entre o lançamento público da falha e do primeiro exploit 06/11/2018
41
Worms do bem Nachi worm O Nachi utilizava-se da mesma vulnerabilidade do Blaster para assumir controle do sistema e instalar os patches da Microsoft Apesar da boa intenção, o worm gerava muito tráfego e conseqüente lentidão na rede O worm desenvolvido no PARC da Xerox procurava por computadores idle e lhes delegava tarefas, aproveitando, assim, melhor o tempo de CPU 06/11/2018
42
Como seriam os worms ideais?
Portabilidade Invisibilidade Independência Auto-aprendizagem Integridade Polimorfismo 06/11/2018
43
Warhol e Flash worms Warhol Flash
"In the future, everybody will have 15 minutes of fame" (Andy Warhol) São worms muito rápidos que se infectariam grande parte dos sistemas em, no máximo, 15 minutos O Slammer é considerado o primeiro Warhol worm Flash São worms teóricos que infectariam grande parte dos sistemas em 15 segundos Ainda não há notícia de nenhum Flash worm 06/11/2018
44
Contramedidas Programação segura Treinamento dos usuários
Fazê-los ser menos curiosos ;) 06/11/2018
45
Futuro Próximas tendências Futuro Worms de web
A web 2.0 e sites dinâmicos abrem portas para novos tipos de ataque, como XSS, CSRF, etc. O worm SamyWorm para MySpace e GreyGoo para Second Life Worms para aparelhos celulares O worm Cabir, para celulares Nokia com Symbian (se espalha por bluetooth) Buffer overflows em celulares (“Advanced Attacks Against PocketPC Phones” by Colin Mulliner) Futuro Worms para videogames e outros dispositivos Já foram encontrados e explorados com sucesso buffer overflows no Playstation 2 06/11/2018
46
Conclusão Worms podem trazer prejuízos e dores-de-cabeça ;)
Fatores que podem evitar worms Práticas de programação segura Treinamento dos usuários 06/11/2018
47
Referências Morris The Morris Worm: WANK Melissa Code Red SQL Slammer Blaster MyDoom Sasser Worms ideais “I don’t think I really love you - Writing internet worms for fun and profit” (Michal Zalewski) - Warhol e Flash worms “Network Worms, What is possible” (Defcon 11) 06/11/2018
Apresentações semelhantes
© 2025 SlidePlayer.com.br Inc.
All rights reserved.