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