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 hora
2006 - 1 por minuto
2012 - 1 por segundo
2014 - 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-backdoorgod-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-biosbackdoor-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-inyour-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-20131690) 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 proporse linhas de ação
Perguntas?
Rodrigo Rubira Branco (BSDaemon)
https://twitter.com/bsdaemon
Download

O que podemos aprender com os vazamentos dos outros