SlideShare une entreprise Scribd logo
1  sur  50
Malware – Vírus, Worms, Bots,
  Trojan Horses, Rookits…




              Julio Auto - jam
Roteiro

 Introdução
  –   Definições
 Vírus
  –   Tecnologias
 Worms
  –   Análise histórica e técnica
O que é Malware?

 Malicious   Software
 Software com propósito “desagradável” – do
  irritante ao danoso
 Alcunha para se referir em termos gerais a
  conceitos confusos
  –   Vírus, worms, trojans, rootkits…
Tipos de Malware

 Vírus   (Fred Cohen – 1983)
  –   Código que reside em outro arquivo (hospedeiro)
      e pode infectar outros arquivos
 Worm     (PARC - 1982)
  –   Código “auto-remoto-replicável”
 Trojan   Horse
  –   “Presente de grego”
Tipos de Malware

 Backdoors
  –   Programas que abrem acesso remoto a um
      usuário não-autorizado
 Rootkits
  –   Conjunto de software com medidas para (ganhar
      e) manter acesso a um host
  –   Tipicamente uma combinação de trojan, backdoor
      e mais...
Tipos de Malware

 Bots   (de botnet)
  –   Software que executa tarefas automatizadas, sob
      controle de um operador
  –   Frequentemente controlados via IRC (Internet
      Relay Chat)
  –   Comuns spammers
Tipos de Malware

 Spyware
  –   Interceptação da interação do usuário com o
      computador
  –   Monitoramento e interferência (redirecionamento
      de páginas, instalação de programas...)
 Adware
  –   Programa que exibe propagandas
  –   Muitas vezes faz uso de spyware
Tipos de Malware

 Keylogger
  –   Intercepta e registra a interação do usuário com o
      teclado do computador
 Click-logger
  –   Semelhante ao keylogger, mas para mouse clicks
 Dialer
  –   Discador de 0900
 Outros?
  –   Uma nova buzzword a cada instante
Vírus

 Vírus(ou virii) são uma espécie de dark art
 Semelhança com a biologia
 Estado-da-arte oriundo do underground
 Complexidade alta, exige _excelentes_
  programadores
 Comumente feito por gente do leste europeu
  –   Rússia, ex-URSS, Hungria, Polônia...
 Intolerado   pela lei e grandes indústrias
Vírus

 Combatidos           pelos softwares de anti-vírus
  –   Signature-based
        Não-trivial

  –   Comportamental
        Pouco   inteligente
 Evolução  = vírus x anti-vírus
 Virus engines
 MS-DOS: uma plataforma de ótimos vírus
  –   As coisas meio que recomeçaram com o 32-bits
Vírus

 Encriptado
  –   Consiste do corpo do vírus “encriptado” de
      alguma forma e uma rotina decriptadora (não-
      encriptada)
  –   O ponto de entrada do vírus é a rotina
      decriptadora
  –   Ao término da decriptação, o programa transfere
      o controle para o vírus em si
Vírus

 Encriptado
  –   Detecção trivial através da assinatura do código
      decriptador
Vírus

 Oligomórfico
  –   Modifica o código decriptador ao longo das
      gerações
        Win95/Memorial   criava 96 padrões diferentes
  –   Detecção através do código decriptador não é
      uma boa idéia
  –   Melhor decriptar e detectar usando o corpo
      decriptado do vírus
Vírus

 Polimórfico
  –   Geração de inúmeros decriptadores
  –   Uso de diferentes formas de encriptação
  –   Às vezes, múltiplas camadas de encriptação
  –   Novos truques:
        EPO   (Entry-Point Obscuring)
        Anti-emulation
Vírus

 Metamórfico
  –   Não só altera o código do decriptador, como
      também o código do próprio vírus
  –   Ainda assim, executam as mesmas funções
  –   Sem seção de dados
        Dados   embutidos no corpo do vírus
  –   Detecção = ?
       O   grande desafio está na metodologia da evolução
Anti-vírus

 Desafios
  –   Detecção de vírus não-cadastrados
  –   Detecção de vírus metamórficos complexos
  –   Performance
Worms

 Propagação   automática
 Freqüente uso das técnicas de vírus
 A seguir, análise de alguns worms clássicos
  –   Slides por cortesia de Julio Cesar Fort
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
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
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
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
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
Morris worm – fatores do sucesso
 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
Melissa
   A primeira aparição foi no dia 26 de março de 1999
   Espalhou-se muito rapidamente através de
    mensagens de e-mail maliciosas e arquivos do
    Word
   Pelo fato de se espalhar por e-mail, 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
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:
    http://www.62nds.co.nz/62nds/documents/melissa.txt
Melissa – fatores do sucesso
   Grande número de usuários do Microsoft
    Outlook e Word
   A enorme curiosidade das pessoas ;)
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
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
    http://www.worm.com! Hacked By Chinese!”
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 (www.whitehouse.gov)
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
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
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
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
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)
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
Blaster – fatores do sucesso

   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
MyDoom
   Surgido em 26 de janeiro de 2004, o Mydoom foi o worm
    de e-mails mais rápido da história
             1 em cada 10 e-mails 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 e-mails 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
MyDoom – análise técnica (1)

   Para se espalhar por e-mail o MyDoom tinha uma engine
    própria de SMTP
   O assunto do e-mail 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 e-mails infectados sejam enviados para
    universidades como MIT, Berkeley, Stanford e
    empresas como IBM e Google, que detectariam
    rapidamente que um worm estava a solta
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
MyDoom – fatores do sucesso

   O despreparo dos usuários e a enorme
    curiosidade das pessoas ;)
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
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
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
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
Futuro
   Próximas tendências
     – 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
Agradecimentos

 Julio   Cesar Fort pelos slides sobre worms
Malware – Vírus, Worms, Bots,
  Trojan Horses, Rookits…




              Julio Auto - jam

Contenu connexe

Tendances

Conceitos básicos de segurança da informação
Conceitos básicos de segurança da informaçãoConceitos básicos de segurança da informação
Conceitos básicos de segurança da informaçãoCarlos De Carvalho
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03thomasdacosta
 
{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-endDaniel Brandão
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresMauro Pereira
 
Arquitetura de Von Neumann
Arquitetura de Von NeumannArquitetura de Von Neumann
Arquitetura de Von NeumannWanessa Ribeiro
 
Introdução à Segurança da Informação
Introdução à Segurança da InformaçãoIntrodução à Segurança da Informação
Introdução à Segurança da InformaçãoDaniel de Sousa Luz
 
Exercicios word v1
Exercicios word v1Exercicios word v1
Exercicios word v1navegananet
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadoresDaniel Moura
 
Montagem e Manutenção - Aula 01
Montagem e Manutenção - Aula 01Montagem e Manutenção - Aula 01
Montagem e Manutenção - Aula 01Roney Sousa
 

Tendances (20)

Páginas dinâmicas
Páginas dinâmicasPáginas dinâmicas
Páginas dinâmicas
 
Segurança de Rede
Segurança de RedeSegurança de Rede
Segurança de Rede
 
Seguranca de rede
Seguranca de redeSeguranca de rede
Seguranca de rede
 
Conceitos básicos de segurança da informação
Conceitos básicos de segurança da informaçãoConceitos básicos de segurança da informação
Conceitos básicos de segurança da informação
 
Processadores
ProcessadoresProcessadores
Processadores
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03
 
{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end{Palestra} Criação Web com Frameworks Front-end
{Palestra} Criação Web com Frameworks Front-end
 
LLMNR ve NetBIOS Poisoning
LLMNR ve NetBIOS PoisoningLLMNR ve NetBIOS Poisoning
LLMNR ve NetBIOS Poisoning
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Computação nas nuvens
Computação nas nuvensComputação nas nuvens
Computação nas nuvens
 
Computer viruses
Computer virusesComputer viruses
Computer viruses
 
Endereçamento IPV4
Endereçamento IPV4Endereçamento IPV4
Endereçamento IPV4
 
Arquitetura de Von Neumann
Arquitetura de Von NeumannArquitetura de Von Neumann
Arquitetura de Von Neumann
 
Introdução à Segurança da Informação
Introdução à Segurança da InformaçãoIntrodução à Segurança da Informação
Introdução à Segurança da Informação
 
Computer virus
Computer virusComputer virus
Computer virus
 
Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)
 
Exercicios word v1
Exercicios word v1Exercicios word v1
Exercicios word v1
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de Computadores
 
Aula 04 arquitetura de computadores
Aula 04   arquitetura de computadoresAula 04   arquitetura de computadores
Aula 04 arquitetura de computadores
 
Montagem e Manutenção - Aula 01
Montagem e Manutenção - Aula 01Montagem e Manutenção - Aula 01
Montagem e Manutenção - Aula 01
 

En vedette

Fasciculo codigos-maliciosos-slides
Fasciculo codigos-maliciosos-slidesFasciculo codigos-maliciosos-slides
Fasciculo codigos-maliciosos-slidesRoberto Junior
 
O que é malware, adware, cavalo de troia e spyware
O que é malware, adware, cavalo de troia e spywareO que é malware, adware, cavalo de troia e spyware
O que é malware, adware, cavalo de troia e spywareLuiz Carlos Fernandes
 
O que são virus informáticos
O que são virus informáticosO que são virus informáticos
O que são virus informáticosmrcelino
 
Hardware E Software
Hardware E SoftwareHardware E Software
Hardware E SoftwareDaniel Matos
 

En vedette (9)

Malware
MalwareMalware
Malware
 
Fasciculo codigos-maliciosos-slides
Fasciculo codigos-maliciosos-slidesFasciculo codigos-maliciosos-slides
Fasciculo codigos-maliciosos-slides
 
O que é malware, adware, cavalo de troia e spyware
O que é malware, adware, cavalo de troia e spywareO que é malware, adware, cavalo de troia e spyware
O que é malware, adware, cavalo de troia e spyware
 
Pirataria Informatica
Pirataria InformaticaPirataria Informatica
Pirataria Informatica
 
Phishing-Powerpoint
Phishing-PowerpointPhishing-Powerpoint
Phishing-Powerpoint
 
Cavalo de Troia
Cavalo de TroiaCavalo de Troia
Cavalo de Troia
 
Malware
MalwareMalware
Malware
 
O que são virus informáticos
O que são virus informáticosO que são virus informáticos
O que são virus informáticos
 
Hardware E Software
Hardware E SoftwareHardware E Software
Hardware E Software
 

Similaire à Malware

Similaire à Malware (20)

Trabalho sobre Software malicioso
Trabalho sobre Software maliciosoTrabalho sobre Software malicioso
Trabalho sobre Software malicioso
 
O que é virus e anti virus
O que é virus e anti virusO que é virus e anti virus
O que é virus e anti virus
 
Vírus, Antivírus e Firewall
Vírus, Antivírus e FirewallVírus, Antivírus e Firewall
Vírus, Antivírus e Firewall
 
Minicurso Forense Digital (Sbseg 07)
Minicurso Forense Digital (Sbseg 07)Minicurso Forense Digital (Sbseg 07)
Minicurso Forense Digital (Sbseg 07)
 
Virus
VirusVirus
Virus
 
Virinhos De Pc Ehehehehehh
Virinhos De Pc EhehehehehhVirinhos De Pc Ehehehehehh
Virinhos De Pc Ehehehehehh
 
Seguranca Cap09 Tanenbaum
Seguranca Cap09 TanenbaumSeguranca Cap09 Tanenbaum
Seguranca Cap09 Tanenbaum
 
Vírus de computador ( aline e manuela)
Vírus de computador ( aline e manuela)Vírus de computador ( aline e manuela)
Vírus de computador ( aline e manuela)
 
Fasciculo inf segredes_unidade_2
Fasciculo inf segredes_unidade_2Fasciculo inf segredes_unidade_2
Fasciculo inf segredes_unidade_2
 
Virus em Hw
Virus em HwVirus em Hw
Virus em Hw
 
Revisão montagem
Revisão montagemRevisão montagem
Revisão montagem
 
Ameacas Virtuais
Ameacas VirtuaisAmeacas Virtuais
Ameacas Virtuais
 
Vírus
VírusVírus
Vírus
 
Segurança Digital
Segurança DigitalSegurança Digital
Segurança Digital
 
Virus de Macro e Zumbi
Virus de Macro e ZumbiVirus de Macro e Zumbi
Virus de Macro e Zumbi
 
Rede mundial de computadores
Rede mundial de computadoresRede mundial de computadores
Rede mundial de computadores
 
Apresentação sobre segurança de redes
Apresentação sobre segurança de redesApresentação sobre segurança de redes
Apresentação sobre segurança de redes
 
Worm e Cavalo de Troia
Worm e Cavalo de TroiaWorm e Cavalo de Troia
Worm e Cavalo de Troia
 
SegurançA Na Internet E Nos Computadores
SegurançA Na Internet E Nos ComputadoresSegurançA Na Internet E Nos Computadores
SegurançA Na Internet E Nos Computadores
 
Segurança ead
Segurança eadSegurança ead
Segurança ead
 

Malware

  • 1. Malware – Vírus, Worms, Bots, Trojan Horses, Rookits… Julio Auto - jam
  • 2. Roteiro  Introdução – Definições  Vírus – Tecnologias  Worms – Análise histórica e técnica
  • 3. O que é Malware?  Malicious Software  Software com propósito “desagradável” – do irritante ao danoso  Alcunha para se referir em termos gerais a conceitos confusos – Vírus, worms, trojans, rootkits…
  • 4. Tipos de Malware  Vírus (Fred Cohen – 1983) – Código que reside em outro arquivo (hospedeiro) e pode infectar outros arquivos  Worm (PARC - 1982) – Código “auto-remoto-replicável”  Trojan Horse – “Presente de grego”
  • 5. Tipos de Malware  Backdoors – Programas que abrem acesso remoto a um usuário não-autorizado  Rootkits – Conjunto de software com medidas para (ganhar e) manter acesso a um host – Tipicamente uma combinação de trojan, backdoor e mais...
  • 6. Tipos de Malware  Bots (de botnet) – Software que executa tarefas automatizadas, sob controle de um operador – Frequentemente controlados via IRC (Internet Relay Chat) – Comuns spammers
  • 7. Tipos de Malware  Spyware – Interceptação da interação do usuário com o computador – Monitoramento e interferência (redirecionamento de páginas, instalação de programas...)  Adware – Programa que exibe propagandas – Muitas vezes faz uso de spyware
  • 8.
  • 9. Tipos de Malware  Keylogger – Intercepta e registra a interação do usuário com o teclado do computador  Click-logger – Semelhante ao keylogger, mas para mouse clicks  Dialer – Discador de 0900  Outros? – Uma nova buzzword a cada instante
  • 10. Vírus  Vírus(ou virii) são uma espécie de dark art  Semelhança com a biologia  Estado-da-arte oriundo do underground  Complexidade alta, exige _excelentes_ programadores  Comumente feito por gente do leste europeu – Rússia, ex-URSS, Hungria, Polônia...  Intolerado pela lei e grandes indústrias
  • 11. Vírus  Combatidos pelos softwares de anti-vírus – Signature-based  Não-trivial – Comportamental  Pouco inteligente  Evolução = vírus x anti-vírus  Virus engines  MS-DOS: uma plataforma de ótimos vírus – As coisas meio que recomeçaram com o 32-bits
  • 12. Vírus  Encriptado – Consiste do corpo do vírus “encriptado” de alguma forma e uma rotina decriptadora (não- encriptada) – O ponto de entrada do vírus é a rotina decriptadora – Ao término da decriptação, o programa transfere o controle para o vírus em si
  • 13. Vírus  Encriptado – Detecção trivial através da assinatura do código decriptador
  • 14. Vírus  Oligomórfico – Modifica o código decriptador ao longo das gerações  Win95/Memorial criava 96 padrões diferentes – Detecção através do código decriptador não é uma boa idéia – Melhor decriptar e detectar usando o corpo decriptado do vírus
  • 15. Vírus  Polimórfico – Geração de inúmeros decriptadores – Uso de diferentes formas de encriptação – Às vezes, múltiplas camadas de encriptação – Novos truques:  EPO (Entry-Point Obscuring)  Anti-emulation
  • 16.
  • 17. Vírus  Metamórfico – Não só altera o código do decriptador, como também o código do próprio vírus – Ainda assim, executam as mesmas funções – Sem seção de dados  Dados embutidos no corpo do vírus – Detecção = ? O grande desafio está na metodologia da evolução
  • 18.
  • 19. Anti-vírus  Desafios – Detecção de vírus não-cadastrados – Detecção de vírus metamórficos complexos – Performance
  • 20. Worms  Propagação automática  Freqüente uso das técnicas de vírus  A seguir, análise de alguns worms clássicos – Slides por cortesia de Julio Cesar Fort
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. Morris worm – fatores do sucesso  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
  • 27. Melissa  A primeira aparição foi no dia 26 de março de 1999  Espalhou-se muito rapidamente através de mensagens de e-mail maliciosas e arquivos do Word  Pelo fato de se espalhar por e-mail, 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
  • 28. 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: http://www.62nds.co.nz/62nds/documents/melissa.txt
  • 29. Melissa – fatores do sucesso  Grande número de usuários do Microsoft Outlook e Word  A enorme curiosidade das pessoas ;)
  • 30. 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
  • 31. 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 http://www.worm.com! Hacked By Chinese!”
  • 32. 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 (www.whitehouse.gov)
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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)
  • 38. 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
  • 39. Blaster – fatores do sucesso  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
  • 40. MyDoom  Surgido em 26 de janeiro de 2004, o Mydoom foi o worm de e-mails mais rápido da história  1 em cada 10 e-mails 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 e-mails 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
  • 41. MyDoom – análise técnica (1)  Para se espalhar por e-mail o MyDoom tinha uma engine própria de SMTP  O assunto do e-mail 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 e-mails infectados sejam enviados para universidades como MIT, Berkeley, Stanford e empresas como IBM e Google, que detectariam rapidamente que um worm estava a solta
  • 42. 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
  • 43. MyDoom – fatores do sucesso  O despreparo dos usuários e a enorme curiosidade das pessoas ;)
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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
  • 48. Futuro  Próximas tendências – 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
  • 49. Agradecimentos  Julio Cesar Fort pelos slides sobre worms
  • 50. Malware – Vírus, Worms, Bots, Trojan Horses, Rookits… Julio Auto - jam