370 likes | 565 Views
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.
E N D
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. • 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.
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.
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.
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
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.
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.
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.
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.
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.
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
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
Worms – Carrier (Embedded) • Se envia como parte da comunicação normal, tanto em anexo como substituindo uma mensagem de resposta.
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.
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.
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).
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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