1 / 37

Worms

Worms. Daniel Arraes Pereira Eduardo Lourenço Apolinário {dap, ela}@cin.ufpe.br. Worms - Introdução. É um programa que se auto propaga através de uma rede de computadores explorando falhas de segurança em serviços muito solicitados.

dawson
Download Presentation

Worms

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. Worms Daniel Arraes Pereira Eduardo Lourenço Apolinário {dap, ela}@cin.ufpe.br

  2. Worms - Introdução • É um programa que se auto propaga através de uma rede de computadores explorando falhas de segurança em serviços muito solicitados. • O primeiro registro do termo worm foi em 1978 e se referia a um programa que procurava outros hosts e se copiava para lá. Posteriormente esse programa se auto-destruia. • Inventado por dois pesquisadores da Xerox PARC. • O primeiro worm a atrair atenção foi o morris worm, o qual foi escrito em 1988 propagando-se rapidamente pela internet e infectando, rapidamente, um grande número de computadores. Esse worm atacava o desempenho das máquinas.

  3. Worms x Vírus • Um worm é similar a um vírus em seu design chegando a ser considerado uma subclasse de vírus. A grande diferença é que um worm, diferentemente do vírus, possui a habilidade de se propagar sem ajuda de uma pessoa.

  4. Worms • A fim de entender os Worms, será apresentada uma taxonomia baseada em 5 critérios: • Target Discovery – representa o mecanismo pelo qual o worm descobre novos alvos para infectar. • Carrier – mecanismo pelo qual o worm se transmite para o alvo. • Activation – mecanismo pelo qual o código do worm começa a operar no alvo. • Payloads – são as rotinas de não-propagação que o worm usa para atingir o objetivo do autor. • Attackers – os diferentes atacantes com seus diferentes objetivos e seus conseqüentes payloads. • Eventualmente, os worms não precisam se prender a um único tipo de mecanismo para cada categoria. Os worms de maior sucesso são multi-modal.

  5. Worms – Target Discovery • Para um worm infectar uma máquina, primeiro ele precisa descobrir que a máquina existe. Existem várias técnicas para descobrimento de alvos: • Scanning • Pré-generated target lists. • Externally generated target lists • Internal target Lists

  6. Worms – Target Discovery (scanning) • Se resume a testar um conjunto de endereços a fim de achar hosts vulneráveis. Existem duas formas de scanear em um conjunto de endereços: • Seqüencial • Randômica • Devido a essa simplicidade, esta é uma técnica muito usada. • Se propagam lentamente, comparados a worms que utilizam outros mecanismos, mas associados a mecanismos de ativação automática, são rápidos em termos absolutos. • Existem algumas otimizações: • Preferência a endereços locais (permite explorar falhas em um único firewall. • Scanning cooperativo / distribuído. • Scanning que limitam a largura de banda.

  7. Worms – Target Discovery (Pre-generated target lists) • Um atacante pode obter, previamente, uma lista de possíveis hosts alvos e criar uma lista de possíveis vítimas. • Um lista pequena pode ser usada para auxiliar um scanning worm enquanto uma lista grande pode criar um worm capaz de infectar várias estações rapidamente. • O grande gargalo seria montar essa lista.

  8. Worms – Target Discovery (Externally Generated Target list) • Uma lista de alvos externa é aquela que é mantida por um servidor separado, como por exemplo um servidor para marcar partidas de jogos on-line. • O Worm primeiramente pergunta ao metaservidor pelos endereços dos outros servidores para montar sua lista de alvos. A partir dessa lista adquirida, ele começa a procurar por falhas de segurança para se propagar.

  9. Worms – Target Discovery (Internal target lists) • Várias aplicações contêm informações sobre hosts, que podem, por sua vez, prover serviços vulneráveis. Essas listas podem ser usadas para criar os chamados topological worms. • O Morris worm usava essa técnica pois naquela época a internet ainda era muito esparça.

  10. Worms – Target Discovery (Passive) • Não procura por novas máquinas vitimas. Ao invés disso, eles esperam por vitimas em potencial contactar o worm ou confiam no comportamento do usuário para descobrir novos alvos.

  11. Worms – Carrier • Os meios pelos quais ocorre a propagação podem afetar a velocidade e a integridade do worm. Esse pode tanto se propagar ativamente como pode se propagar fazendo parte da comunicação normal. • Existem basicamente 3 mecanismos de propagação: • Self-Carried • Embedded • Second Channel

  12. Worms – Carrier (Self-Carried) • Ativamente se transmite como parte do processo infeccioso. • Utilização de backdoor • O worm Borm foi o primeiro a utilizar isso. Ele utilizava o Back orifice para se propagar. • Inicialmente procurava sistemas comprometidos como back orifice mandando msgs de ping. • Quando essas msg eram respondidas ele instruia o BO a criar um servidor http virtual para fazer seu proprio upload. • Depois, ele envia ao BO uma msg para iniciar o processo do worm na máquina agora infectada. • Geralmente utilizado com worms que se auto-ativam

  13. Worms – Carrier (Embedded) • Se envia como parte da comunicação normal, tanto em anexo como substituindo uma mensagem de resposta.

  14. Worms – Carrier (Embedded) • Alguns worms simplesmente se copiam para pastas compartilhadas em redes P2P chegando até a criar tais pastas caso o usuário não compartilhe arquivos (só faça download). • Esse ataque é similar a infecção de um Trojan.

  15. Worms – Carrier (Embedded) • Um outro tipo de worm, bem comum, são os que se propagam utilizando sistemas de mensagem instantâneas, como o mIRC. • Nesse caso os worm enviavam mensagens DCC para usuários conectados em um determinado canal. (Essa mensagem é de transferência de arquivos). • Implementações antigas alteravam arquivos de script (script.ini) para instruir o cliente de msg instantânea a um destinatário toda vez que alguém entrar na conversa. • Atualmente worms podem se conectar dinamicamente a um cliente IRC e enviar msgs que induzem usuários a executar um link ou um anexo. • OBS: O W32/Choke se enviava via msn como um jogo.

  16. Worms – Carrier (Embedded) • Entretanto, a maneira mais comum de um worm se propagar é através de anexos maliciosos em email´s. • Isso causa um das maiores problemas de segurança: • Como protejer os usuários deles mesmo? • Algum worms chegam a inserir msgs dentro das caixas de email do cliente, fazendo com que o próprio usuário envie o worm. • Outra técnica comum é interceptar os email´s antes deles serem enviados para o Servidor SMTP e acrescentar anexos aquele. • Isso pode ser feito trocando o IP do servidor SMTP para localhost nos arquivos de configuração. • O worm escuta a porta 25 (local).

  17. Worms – Carrier (Second Channel) • Alguns worms precisam de um canal secundário de transmissão para completar a infecção. O worm faz com que a máquina vítima se conecte com a que reside o worm para fazer download do mesmo. • Utilização de RPC com TFTP.

  18. Ativação • O modo como um worm é ativado num hospedeiro afeta diretamente a rapidez de infecção • Tempo de ativação variando de poucos minutos até algumas semanas • Modos de ativação: • Ativação humana • Baseada em atividade humana • Agendada • Auto-ativação

  19. Modos de Ativação • Ativação humana: • A mais lenta por necessitar • Usuário rodar um programa ou explorar um bug de algum programa • Melissa • Iloveyou • Benjamim • Klez

  20. Modos de Ativação • Baseada em atividade humana: • Ainda um pouco lenta • Atividades (aparentemente) não relacionadas com worms são executadas para início do processo de infecção • Logar • Reiniciar a máquina • Colocar um disquete no drive

  21. Modos de Ativação • Agendada: • Com o advento da internet, esse modo de ativação ficou sendo muito mais usado • Usam processos sistemas agendados do sistema • Auto-updaters • Programas infectados diretamente nos mirrors (openSSH) • Depende do design e da implementação dos programas

  22. Modos de Ativação • Auto-ativação: • O modo mais rápido de ativação • Exploram brechas em programas que necessariamente devem estar sempre rodando • Também em bibliotecas que esses programas usem • Dois modos em geral: • Incluem-se no final desses serviços • Executam com as permissões desses serviços

  23. Payloads • Código carregado pelo worm, além da rotina de propagação • Diferem nos objetivos dos atacantes • Categorias: • Não-funcional • Controle remoto da internet • Espalhadores de spam • Proxies HTML • DOS na internet • Coleta de dados • Acesso a venda • Dano a dados • Controle de uma máquina física • DOS no mundo físico • Dano no mundo físico • Manutenção do worm

  24. Payloads • Não-funcional: • O mais comum • Bugs no código de payload não necessariamente inutilizam o worm • Tráfico e máquinas carregados • Morris worm • Slammer • Controle remoto da internet • Backdoors instaladas nos sistemas infectados • Code Red II

  25. Payloads • Espalhadores de spam: • Mandam email (spam) de endereços desconhecidos • Sobig • Proxies HTML: • Disbribuição de web-proxy • Redirecionam web requests para máquinas aleatórias • Prática de phishing • Difícil de detectar a fonte • Sobig

  26. Payloads • DOS na internet: • Code Red e Yaha têm ferramentas para executar um DOS • Ferramentas de DDOS como o Stacheldraht tem canais de comunicação encriptados • Ataques simultâneos de 100.000 a 1.000.000 zumbis para derrubar o serviço de nomes de um site • Coleta de dados: • Cartões de crédito, etc • Uma vez descoberta a informação, encripta-se para poder mandar para um único lugar • SirCam anexava aleatoriamente pedaços de arquivos a emails • Identidade do roubado, em geral, é o que interessa

  27. Payloads • Acesso a venda: • Categoria descoberta há pouco tempo (2003) • Quatro propriedades: • Uma vez lançado, espalha-se de sistema em sistema sem ajuda do criador • Atribui um identificador único (USID) para cada máquina infectada • Uma vez dentro de um sistema, cria uma backdoor para acesso remoto e que só abre via ticket contendo o USID. • Somente os autores sabem criar os tickets

  28. Payloads • Dano a dados • Podem começar a apagar ou manipular dados assim que instalados • Dados podem ser encriptados para esquemas de extorção • Informações confidenciais podem ser distribuídas para gerar confusão • Time-delayed erasers: • Chernobyl • Klez

  29. Payloads • Controle de uma máquina física • Computadores controlam elementos físicos (equipamentos, etc) • Computadores podem influenciar as ações dos humanos: • Payload coercivo: você não mexe comigo que eu não danifico a máquina • DOS no mundo físico • Anexam-se a modems para: • Discar para serviços emergenciais • Mailboxes de um grande número de alvos

  30. Payloads Payloads • Dano a uma máquina física • O objeto de maior dano é o computador infectado • Flash de ROM • Algumas máquinas não conseguem reverter o processo • Chernobyl • Manutenção do worm • Consulta a sites para atualizar o código do worm • Atualização de módulos para aproveitar novas falhas e bugs do próprio worm (!!!!) • Ferramentas de DDOS tambêm mantêm códigos de atualização para seus zumbis

  31. Motivação e atacantes • Importante entender motivação • Para possível identificação dos atacantes • Lista de motivações (não-exaustiva): • Curiosidade experimental • Poder e orgulho • Vantagem comercial • Extorsão • Protesto aleatório • Protesto político • Terrorismo • Guerra cibernética

  32. Motivação e atacantes • Curiosidade experimental: • Experimentação • Morris Worm • IloveYou foi uma tese de graduação • Poder e orgulho: • Motivados por um desejo de adquirir um poder • Mostrar-se mais habilidosos • Mostrar capacidade infligir dano a outros • Mais comum em indivíduos desorganizados ou grupos esparsos

  33. Motivação e atacantes • Vantagem comercial: • Dependência alta de transações na internet • Um ataque a um site específico pode derrubar uma companhia • Companhias internacionais e/ou grupos organizados podem participar desse tipo de ataque • Alvos: • De companhias específicas a infraestrutura econômica • Extorsão: • DOS a menos que se pague uma quantia • Worm que procura por informações de cartão de crédito

  34. Motivação e atacantes • Protesto aleatório: • Pessoas como o Unabomber • Zero-day exploit numa aplicação para possível contrução de um worm topológico. • Protesto político: • Mensagens específicas • Indivíduos e organizações em nível nacional ou internacional • Yaha worm: • DOS sobre o governo do Paquistão

  35. Motivação e atacantes • Terrorismo: • Armas econômicas • Al-Qaeda • Grupos anti-globalização: • ELF • ALF • Guerra cibernética: • Dependência da infraestrutura para fins econômicos e governamentais • Em conjunção com um ataque físico poderia ser destrutivo para uma grande nação como os EUA • Uma nova guerra fria

  36. Futuro • Worm Wars: • Worm anulando efeito de worm • CodeRed anulado pelo CodeGreen • W32Blaster anulado pelo W32/Welchia • Protocolo de comunicação único: • Atacantes investindo em técnicas cooperativas • SWCP levaria a criação de plugins (ou genes) • Swap de payloads • “Reprodução sexual” • Wireless mobile worms • Nova era na criação de worms

  37. Referências • - Szor, P., 2003, The Art of Computer Virus Research and Defense, Addison-Wesley Professional, ISBN: 0-321-30454-3 • - Wikipedia, 2005, Computer worm, disponível em: http://en.wikipedia.org/wiki/Computer_worm • - Weaver, et. al., A taxonomy of Computer worms, 2003. 11, no primeiro Workshop da ACM sobre código malicioso rápidos

More Related