Post on 22-Apr-2015
Rootkits em Foco: O que podemos aprender com os vazamentos dos outros?
Rodrigo Rubira Branco (BSDaemon)https://twitter.com/bsdaemon
Aviso
• O palestrante não está representando nenhuma entidade e o conteúdo é de única e exclusiva responsabilidade do mesmo
• Acessar os documentos vazados pelo Snowden é crime de acordo com a lei americana
• Diversos outros vazamentos aconteceram, por exemplo HBGary Federal, Gamma Software e Apple (não discutiremos o da Apple pois imagino que todos os presentes já tiveram acesso as imagens)
Mea Culpa• Pesquisadores
– Divulgam resultados que muitas vezes não esclarecem que determinadas defesas são úteis em cenários diversos do da pesquisa
• Indústria– Empresas precisam ser competitivas, e muitas vezes o marketing deturpa
informações técnicas das mesmas (ex: caso RSA recente no caso da fraude dos boletos R$ 8.75 bilhões de potenciais prejuízos)
• Usuários– Conheço apenas uma outra área que chama os CLIENTES de USUÁRIOS– Desconhecem o assunto, aceitam ‘fatos’ sem questionamentos– Devido ao desbalanço (Assimetria), impedem a indústria de realmente
competir em qualidade
Agenda
• Números defensivos– Como a defesa esta lidando com os ataques
• Rootkits x Exploits– Uso específico x uso genérico
• Complexidade x Possibilidades• Tempo de Capacitação
– Engenharia reversa de malware x para desenvolvimento de exploits
• E o que os outros possuem?
Mão Invisível
the NSA
Números• A evolução da criação de malware:
1994 - Um vírus por hora2006 - 1 por minuto2012 - 1 por segundo2014 - 3,6 por segundo
• Servidores no Brasil hospedam 50% dos malware na América Latina
• O Malware ChePro (Brasileiro) é a família número 3 do mundo em trojans bancários
• Em média, hackers usam uma falha 0-day (desconhecida) por 310 dias antes de ela tornar-se pública
– Fonte: Kaspersky 2014 (#KLSAS)
• Vida média: 348 dias, Mais curta: 99 dias, Mais longa: 1080 dias (3 anos)– Fonte: Justine Aitel, 0day IPO: http://www.immunityinc.com/downloads/0day_IPO.pdf
• Infecções de Malware acontecem 5.5 vezes a mais em máquinas sem Antivírus– Fonte: Microsoft Security Intelligence Report Volume 14
O que aprendemos?
Conhecimento lhe indica que tomates são frutas. Sabedoria lhe indica que você não deve
colocá-los na salada de frutas!
Rootkits x Exploits
• Exploit lhe dá o acesso inicial, através de como o nome indica, a exploração de uma vulnerabilidade:– Ex: Web browser acessando uma página– Ex2: Microsoft Word abrindo um documento– Ex3: Sistema operacional ‘montando’ dispositivo– Ex4: Driver de rede de um firewall
Licença Poética e Terminologia
• Rootkits (são chamados por diversos nomes diferentes dependendo das funções) são os aplicativos instalados pelo atacante para performar atividades maliciosas
• A relação entre exploit e rootkit:• Exploit em geral permite execução arbitrária de código;• O código executado em geral é um dropper (pequeno programa
que visa baixar outros programas no computador);• O programa baixado é instalado -> Este em geral é um rootkit,
que permitirá o controle da máquina
Pequenos detalhes bloqueiam muitos malware (mas nem todos)
Fonte: F-Secure Pitou Spambot
AV Fail?
• Sugiro verem palestras como Sophail (Travis Ormandy) e as de Joxean Koret
• Proteção têm de lidar com a enorme complexidade dos sistemas:
• “Oh! This other AV doesn't let me do CreateRemoteThread but allows me to do OpenProcess(PROCESS_ALL_ACCESS) and WriteProcessMemory. WTF????”
» Joxean Koret
Como aprender?
Idéias são a prova de bala. As cabeças humanas que as têm, não!
Foco da Palestra
• Ataques realmente avançados, realizados/idealizados/apontados de serem de nações
• Discussão de possibilidades de prevenção e formas de desenvolvimento das capacidades
HBGary
• Aparentemente diversas empresas obscuras envolvidas
• Preto Inc
• Mercado de venda de vulnerabilidades• Algo em torno de USD 100.000,00 por vulnerabilidade
• Mercado de Malware• Desenvolvimento de software
HBGary
• Diversas universidades e professores participando de pesquisas (ex: Berkeley)
• Apesar dos milhões recebidos para desenvolvimento de exploit e malware não tinham criptografia nos emails internos
• Apesar dos milhões recebidos testavam MANUALMENTE o funcionamento dos malware para colocar nas propostas (ex: Malware A não é detectado pelo Antivírus X versão Z)
Mercado de Vulnerabilidades
• ZDI oferece USD 50.000,00 por uma vulnerabilidade que afete o iPhone– Empresas Chinesas de software pagaram USD
1.000.000,00 para o time de desenvolvimento do jailbreak Evasion
– Fonte: A internet (só pode ser verdade)
• Microsoft, Google e diversas outras empresas pagam bug bounty
– A NSA também!
Qual o motivo?
• Desenvolvimento de exploits que funcionem contra plataformas modernas é extremamente complicado
• O conhecimento leva 10+ anos para ser gerado• Deve ser mantido atualizado (ex: Todos aqui viram as
melhorias que o IE11 inseriu nos patches de Junho contra Use-After-Free?)• Os exploits muitas vezes morrem sem serem utilizados
(e quando se precisa, nem sempre estão disponíveis)
Rootkits no entanto...
• Desenvolver rootkits é basicamente desenvolver software
• Algumas técnicas podem ser necessárias, mas são relativamente conhecidas/documentadas;• Conhecimento amplamente disponível e facilmente
desenvolvido (programação);• Formas genéricas de modificação de código são
possíveis, evitando-se a detecção (vide análise dos números iniciais – acharam realmente que não tinha nada a ver não é mesmo?)
E engenharia reversa?
• A China por exemplo, ensina nas universidades
• Engenharia reversa têm extremo valor no real entendimento das coisas (apesar de muitos discutirem software aberto sem jamais terem lido o código que estão discutindo);• Conhecimento possível de ser ensinado;• Deve ficar claro: Engenharia Reversa !=
Desenvolvimento de exploits;
Descoberta e Desenvolvimento de Exploits
• Antes de se escrever um exploit, necessita-se de uma vulnerabilidade• Descoberta de vulnerabilidades por si só é uma área a ser desenvolvida
(fuzzers, análise de código, engenharia reversa são capacidades possíveis de serem ensinadas) – algumas empresas/entidades dividem o processo de descobrir falhas e escrever exploits
• Pode-se escrever exploits para vulnerabilidades conhecidas, através da análise dos patches (bindiff) lançados ou do código (se disponível)– Existe certo valor em operações mais simples ou em massa
• É possível SIM evitar-se a dualidade entre possuir exploits e implementar defesa:– Binary patches para vulnerabilidades que se possui– Update de sistemas de detecção próprios para detectar-se as
explorações de vulnerabilidades que se possui o exploit
Pesquisas Acadêmicas na Área
E o que os outros possuem?
• Rapidamente mencionado a HBGary (diversos dos projetos poderiam não ser reais, jamais terem sido utilizados);
• Houveram outros vazamentos interessantes:– Gamma Software– NSA
• Outros vazamentos são menos importantes (não foram comprometimentos das entidades), mas também deram informações:– Hacking Team
Hacking Team
• Empresa Italiana• Vende/Compra Exploits• Vende Malware
• Acho que já vi eles na LAAD
• Tiveram o Malware versão Mac Analisado• Diversos erros de programação• Facilmente detectável por diferentes formas• Apenas demonstra o já dito: Fazer rootkits ==
desenvolvimento de software
Gamma Software
• Os vazamentos demonstraram que ela vendeu para governos sem autorização Alemã (o que indica bem como os controles de exportação impostos a exploit pelos EUA irão funcionar);
• Os preços foram apresentados: ~USD 500.000,00 pela suíte. Suportam:
• Mobile• Windows• Macs
Mercado Móvel
• Altamente vulnerável– Em um evento menos respeitável fotos de algumas
modelos seriam aqui expostas para demonstrar;– Premissas de usabilidade são contra a segurança
(ex: a senha de criptografia é a mesma de desbloqueio, fazendo com que se uma senha forte for escolhida, o usuário não conseguirá mais utilizar o telefone dirigindo);
– Exploits em geral não são necessários para atacar pessoas em massa
Minha Teoria
• Já está tudo comprometido
• Diversos códigos maliciosos encontrados, simplesmente não fazem NADA! Apenas ficam dormentes (muitos o estão por anos)
• Controle tudo que for possível, pois quando se precisar da informação, ter de realizar o ataque é muito mais complexo do que se os acessos já estiverem garantidos
Ponto importante
• Um ataque específico (alvo específico) é muito mais complicado do que um ataque geral (onde diversos alvos diferentes são visados)
• Ataques gerais também podem utilizar 0days (adquiridos, desenvolvidos em casa, etc)
NSA - godmodes
• Deitybounce– Suporta servidores Dell PowerEdge 1850/2850/1950/2950
RAID server com BIOS versão A02, A05, A06, 1.1.0, 1.2.0, ou 1.3.7 (não laptops/estações)
– Usa um software chamado Arkstream para instalar o mesmo. Arkstream é executado na máquina alvo via exploits (infecção via rede ou USB)
– Usa SMM [1] para ganhar execução periódica– Suporta sistemas multiprocessados com RAID e Microsoft
Windows 2000, XP, e 2003 Server– Source:
http://resources.infosecinstitute.com/nsa-bios-backdoor-god-mode-malware-deitybounce/
– [1] Phrack Article: “Using SMM for other purposes”
Deithbounce
• Substitui o firmware da controladora RAID, que é executada pela BIOS na inicialização
• Prevenção:- Assinatura do firmware- Intel Boot Guard- Intel TXT - Intel STM (SMI Transfer Monitor)
Bulldozer
• Implante de hardware para prover acesso wireless (possivelmente em redes com air-gap) – Geraldo estamos olhando para você no momento!– Suporta qualquer PC com Windows e PCI– O implante de hardware é instalado interditando-se o
equipamento em seu supply chain– GINSU é o nome dado ao código rodado por este cartão
PCI. Ele é usado para persistir o malware em si, chamado Kongur
» Source: http://resources.infosecinstitute.com/nsa-bios-backdoor-aka-god-mode-malware-part-2-bulldozer/
Prevenção
• Use as meias vivarinas!!
• Gaiola de Faraday – Geraldo, todos olhamos para você novamente ;)
• Sinceramente? Análise comparativa de dados dos hardwares em diferentes pontos (matando a interceptação da cadeia):– Que tal um projeto público de compartilhamento de
informações de hardware? Sugestão para o pessoal do Cert.br.
BIOS / UEFI
• Apesar de diversas vulnerabilidades anunciadas, ainda complexo e pouco monitorado por ferramentas de mercado:
• http://www.tenable.com/blog/detecting-hidden-backdoors-in-your-bios-with-nessus
• Checa apenas pelo Computrace (software que visa encontrar seu computador em caso de roubo, mas que demonstrado pelo pesquisador argentino Anibal Sacco possui diversas vulnerabilidades)
• Não existe uma base única de assinaturas para os diferentes fabricantes (muitos apenas oferecem download de updates em um site HTTP sem sequer proverem os hashes para serem verificados)
Proteger?
• Existem ferramentas (Open-source) para validação de diferentes quesitos de segurança da plataforma, mas ninguém (?) as utiliza– Chipsec: https://github.com/chipsec/chipsec
– OpenAttestation: https://github.com/OpenAttestation/
Tudo depende do ponto de vista
Invadir para Investigar (IPI) - FBI• Courte do distrito de Nebraska, US autoriza infecção em massa de websites
com o objetivo de investigar casos de pornografia infantil (leia-se: invadir máquinas de suspeitos)
• As infecções acontecem em sites na FreeHosting em 2013, o caso ‘vazou’ em 2014
• Código hospedado nos sites é basicamente um exploitkit (insere um iframe na página, detecta navegador e sistema operacional)
• O iframe redireciona o suspeito (ou qualquer outra pessoa que por qualquer motivo cair neste website) para um domínio .onion (Tor) onde uma vulnerabilidade 0day na época era explorada (CVE-2013-1690) no Firefox
• O código envia dados do equipamento: IP, Mac Address e instala um cookie que permite identificar a navegação em outros sites
• Fonte: http://www.kernelmode.info/forum/viewtopic.php?f=16&t=3432
América Latina
• Como demonstrado pelos números do ínicio desta apresentação é muito ativa a comunidade de atacantes da América Latina e diversas forças parecem estar iniciando operações cibernéticas ofensivas (ou alguém esta tentando nos fazer acreditar que sim):– Se tentarem lhe fazer crer que os mesmos não são
avançados, lembrem-se que o ATAQUE SERÁ TÃO AVANÇADO QUANTO SUAS DEFESAS
• O potencial da mesma é enorme, e diversos grupos de hackers (no verdadeiro sentido da palavra) existem
América Latina
• NuKE's Randomic Life Generator• Author: Azrael• Date: Jun 1994• Features: NuKE's Randomic Life Generator is an Argentinian
virus creation tool released by a NuKE member who calls himself Azrael. Unlike Phalcon/Skism Mass-Produced Code Generator command line format it uses a user friendly interface similar to Virus Creation Lab and BW. More than 100 viruses produced with NRLG are known and most of them are detected by today's anti-virus products
» Source: http://vxheavens.com/vx.php?id=tn01
Outras Perguntas
• Seriam esses rootkits instalados, seguros contra ataques de terceiros?
• Quanto tempo demora para um ataque destes ser re-utilizado por grupos menos nobres?– Exploits utilizados no Stuxnet rapidamente
passaram a ser utilizados por atacantes (e ainda o são até hoje)
#ficaadica
“Always code as if the guy who ends up maintaining your code will be a violent
psychopath who knows where you live.” - Martin Golding
Conclusões
• Esta palestra ‘pulou’ de tópico em tópico, tentando discutir alguns dos problemas existentes na defesa cibernética
• Procurou-se abordar as capacidades conhecidas devido a vazamentos para se definir a complexidade do ambiente e propor-se linhas de ação
Perguntas?
Rodrigo Rubira Branco (BSDaemon)https://twitter.com/bsdaemon