Allan Liska e Timothy Gallo
Novatec
Authorized Portuguese translation of the English edition of Ransomware, ISBN 9781491967881 © 2017 Allan Liska, Timothy Gallo. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to publish and sell the same. Tradução em português autorizada da edição em inglês da obra Ransomware, ISBN 9781491967881 © 2017 Allan Liska, Timothy Gallo. Esta tradução é publicada e vendida com a permissão da O'Reilly Media, Inc., detentora de todos os direitos para publicação e venda desta obra. © Novatec Editora Ltda. 2017. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates PY20170315 Tradução: Lúcia A. Kinoshita Revisão gramatical: Priscila A. Yoshimatsu Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-551-6 Histórico de impressões: Março/2017
Primeira edição
Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec
capítulo 1
Introdução ao ransomware
Ransomware é um termo abrangente usado para descrever uma classe de
malwares que serve para extorquir digitalmente as vítimas, fazendo-as pagar um preço específico. Neste livro, queremos apresentar uma introdução geral ao conceito de ransomware e, em seguida, explorar com mais detalhes os métodos que você pode adotar para se proteger dessa praga. Neste primeiro capítulo, discutiremos um pouco da história do ransomware, além de apresentar uma visão geral de sua sequência de ataque. Em sua essência, essa forma de extorsão pode ser dividida em dois tipos principais e então subdividida conforme as famílias que representam. As duas principais formas de ransomware são aquelas que criptografam, ofuscam ou impedem o acesso aos arquivos, e aquelas que restringem o acesso ou bloqueiam os usuários dos sistemas. Essas ameaças não estão limitadas a nenhuma área geográfica ou sistema operacional em particular e podem atuar em vários dispositivos. Qualquer sistema, de dispositivos Android a sistemas iOS ou Windows, está sujeito aos riscos impostos por esse tipo de exploração de falhas por meio de ransomware. Conforme o alvo, o método de comprometimento do dispositivo pode ser diferente e as ações finais serão limitadas pela própria capacidade do dispositivo, mas há também padrões reconhecíveis seguidos por muitos extorsionários.
O passado inconstante do ransomware Historicamente, o ransomware tem sua origem em um código malicioso conhecido como AIDS, escrito em 1989 por Joseph Popp. Esse código malicioso original substituía o arquivo AUTOEXEC.BAT nos sistemas 16
Capítulo 1 ■ Introdução ao ransomware
17
infectados e permitia 90 reinicializações do sistema até ocultar todos os diretórios e alegar que criptografaria os arquivos. No entanto, após uma análise mais detalhada, descobriu-se que apenas os nomes dos arquivos eram embaralhados com uma criptografia básica de chave simétrica; o código malicioso, em última instância, podia ser derrotado e removido com programas conhecidos como AIDSOUT e CLEARAID. Mais informações sobre o cavalo de Troia (trojan) AIDS original podem ser encontradas no trabalho de Jim Bates sobre esse assunto, publicado no Virus Bulletin1.
Uma observação sobre pesquisas acadêmicas A análise de Jim foi a primeira incursão em um assunto conhecido como criptovirologia (cryptovirology). Essa área de estudo é extremamente fascinante e tem como foco o uso da criptografia para projetar códigos maliciosos. Esse é um assunto que exigirá que pesquisadores especialistas em matemática, código e vulnerabilidades de sistemas mantenham-se em dia com os invasores. Ao longo dos anos, tem havido um grande número de cursos, seminários e textos sobre esse assunto.
O método de pagamento que a maioria dos extorsionários digitais exige atualmente é a criptomoeda (ou criptodinheiro), geralmente o Bitcoin, mas esse não é o único método de pagamento exigido. Alguns serviços de vouchers pré-pagos como MoneyPak, Ukash ou PaySafe também são usados pelos criminosos. O ransomware realmente saiu de moda no final dos anos 90 e não voltou a entrar em evidência até 2005. A disponibilidade de esquemas mais complexos de criptografia, junto com uma maior capacidade de processamento dos sistemas, ajudou a dar impulso a essa nova era do ransomware, que continua em aceleração. Atualmente o ransomware é considerado uma das formas de ataque predominantes contra sistemas de computadores, exigindo apenas uma exposição limitada a vulnerabilidades e um reconhecimento mínimo do alvo. Estima-se que uma das variantes mais conhecidas, o CryptoWall (atualmente extinto), foi capaz de extorquir 18 milhões de dólares até meados de junho de 2015. A Figura 1.1 mostra a imagem de uma das telas mais recentes de pagamento do CryptoWall. 1 O trabalho de Jim Bates sobre o cavalo de Troia AIDS está disponível em https://www. virusbulletin.com/uploads/pdf/magazine/1990/199001.pdf.
18
Ransomware
Figura 1.1 – Exemplo de uma tela de pagamento do CryptoWall.
Anatomia de um ataque de ransomware Agora que concluímos a aula de história, vamos discutir como os ataques de ransomware são executados. A Figura 1.2 apresenta a anatomia básica de um ataque desse tipo.
Capítulo 1 ■ Introdução ao ransomware
19
Figura 1.2 – Anatomia de um ataque de ransomware.
Implantação A primeira fase de um ataque de ransomware é a instalação dos componentes usados para infectar, criptografar ou bloquear o sistema. Há alguns métodos com os quais os arquivos originais utilizados como parte do ataque serão baixados no sistema: Download drive-by
Ocorre quando um sistema faz download automaticamente de um malware ou de um spyware sem o conhecimento do usuário final. Comprometimento web estratégico
(É um subconjunto do download drive-by, usado com mais frequência quando um alvo ou uma população-alvo em particular foi escolhido.) Comprometimentos web estratégicos também são chamados de ataques watering-hole. Dependem de um reconhecimento estratégico dos usuários finais e geralmente são reservados para ataques a alvos mais específicos.
20
Ransomware
Emails para phishing
Podem ser spams amplamente difundidos, sem um alvo específico, ou criados especialmente para a sua empresa ou mercado. Esses emails podem incluir anexos ou conter links para sites maliciosos. Exploração de vulnerabilidades em sistemas acessíveis pela internet
Nesse caso, consiste em fazer scanning de redes ou varrer abertamente a internet em busca de vulnerabilidades exploráveis, em oposição a ações iniciadas por usuários, como nos métodos anteriores. Há abordagens específicas para se defender de cada um desses métodos, embora os três primeiros citados exijam algum tipo de interação com o usuário e dependam de um usuário final interagir ou conceder permissão ao downloader. O quarto método – a exploração de vulnerabilidades – é muito mais metódico e é conduzido como parte de um ataque amplo contra toda uma organização. Se, por um lado, os comprometimentos web estratégicos são o método mais antigo usado para ataques com alvos em particular, por outro, a exploração de vulnerabilidades é o método mais moderno para ataques em larga escala a alvos específicos. Para evitar downloaders drive-by e comprometimentos web estratégicos, usar proteção de navegador é um bom ponto de partida; entretanto, como essas ameaças mudam constantemente, será necessário adotar alguma estratégia que não dependa exclusivamente de assinaturas de arquivos. É nesse cenário que as técnicas de edge sandboxing e bare-metal detonation entram em cena. O que são essas técnicas? Edge sandboxing é a técnica pela qual sistemas de entrada e saída nas fronteiras colocam qualquer arquivo que as atravessam em um ambiente virtual para execução. Com isso, cria-se uma “sandbox”, ou seja, um ambiente virtual seguro, para que qualquer malware em potencial execute e coloque seu propósito malicioso em prática. No entanto, essa técnica nem sempre é eficaz, pois formas mais complexas de códigos maliciosos são capazes de reconhecer quando estão carregados em uma sandbox virtual e optam por não executar, evitando, assim, que sejam detectados. Em situações como essa, outra estratégia se mostra útil.
Capítulo 1 ■ Introdução ao ransomware
21
Na técnica de bare-metal detonation, em vez de ter máquinas virtuais disponíveis como ambiente de sandbox, você terá máquinas realmente físicas para as quais os arquivos são enviados para executar. Obviamente é uma técnica que demanda muito mais recursos, pois exige que você tenha uma série de sistemas físicos disponíveis com vários sistemas operacionais e configurações de arquitetura. Muitas organizações contratam empresas de segurança terceirizadas para fazer esse tipo de trabalho para elas. Empresas de segurança geralmente farão você tirar proveito de seus serviços de proxy ou dos serviços de limpeza de email, capturando todos os arquivos baixados, assim como os arquivos enviados como anexos. Essas empresas executarão então os arquivos em seus datacenters, tanto em máquinas virtuais quanto em máquinas físicas, a fim de determinar se são maliciosos ou não antes de encaminhá-los aos usuários finais.
Para emails de phishing, mais uma vez, o melhor lugar para começar é na fronteira, fazendo scanning de todos os anexos de entrada e executando-os em algum tipo de sandbox virtual ou em uma máquina física (bare-metal) antes de alcançarem o usuário final; produtos adicionais de proteção no ambiente do usuário final devem verificar esses arquivos novamente antes de permitir que sejam abertos. Além de fazer scanning em busca de códigos maliciosos, você também pode fazer scan dos arquivos para ver se foram abertos antes e monitorar os links contidos nos emails.
Instalação Depois que um payload malicioso alcança o sistema da vítima, a infecção tem início. O código malicioso é entregue de diversas maneiras, independentemente de quem seja o sistema-alvo. Um método de instalação seria usar a metodologia de download dropper, em que o primeiro arquivo é uma porção pequena de código projetada para evitar detecção e capaz de se comunicar com os canais de comando e controle do extorsionário. O executável então recebe comandos para download do ransomware propriamente dito para infectar o sistema comprometido. Depois que atingir o sistema, a aplicação de ransomware se instalará aí. No caso de um sistema Windows, essa aplicação definirá chaves no registry do Windows que garantirão que o código malicioso sempre inicie junto com
22
Ransomware
o computador. Em outros sistemas, ela se aproveitará de dados não seguros de aplicações (geralmente em dispositivos Android) ou de certificados de desenvolvimento de aplicação roubados ou válidos para iOS. A instalação do ransomware é o ponto em que o adversário realmente começa a assumir o controle. Com frequência, os componentes são divididos em vários scripts, processos, arquivos batch e outras ferramentas a fim de evitar a detecção por scanners de AV baseados em assinatura. Jailbreak! Embora não sejam um alvo significativo para ransomware, os dispositivos móveis representam a área de maior crescimento no que concerne a tecnologias para usuários finais e, desse modo, esperamos ver um aumento desses dispositivos como alvos. No entanto, lembre-se de que muitos de seus usuários finais (e possivelmente você também) tiveram de fazer um jailbreak (desbloqueio) de seus celulares para efetuar um sideload de aplicações não aprovadas. Isso aumenta significativamente os riscos, pois você não estará mais sob a proteção dos muros levantados por muitos dos fabricantes de smartphone.
Em um ataque com alvo específico, as técnicas para instalar, ofuscar, compactar o código e explorar falhas podem ser mais nefastas na tentativa de maximizar o resgate (ransom). O ransomware pode usar essa instalação inicial para se espalhar lentamente pela rede afetada, instalando-se em vários sistemas e abrindo compartilhamentos de arquivos que, por sua vez, serão simultaneamente criptografados quando instruções forem enviadas na próxima fase. O processo de instalação pode ser complicado. Em muitos casos, as variantes modernas e eficientes de cryptoransomware tirarão proveito inicialmente de algum tipo de vírus de macro ou de falhas de PDF exploradas para acessar o sistema; sabe-se também que WSF, Java e Adobe Flash são usados. Depois que o download do malware for feito no sistema, o código embutido será executado e, em seguida, começará a analisar o sistema a fim de determinar se está em uma máquina real ou em uma sandbox virtual, como vemos na Figura 1.32. Esse é o primeiro estágio do dropper. 2 O trabalho de Andrea Allievi e Earl Carter sobre CryptoWall é abrangente (https://blogs. cisco.com/security/talos/cryptowall-2).
Capítulo 1 ■ Introdução ao ransomware
23
Figura 1.3 – Código para verificação de máquina virtual no CryptoWall2.
Um segundo estágio então tem início se o ransomware determinar que está em uma máquina que valha a pena ser infectada. Em caso afirmativo, o segundo processo começa, muitas vezes disfarçado como um processo Windows padrão. É nesse ponto que o malware se tornará mais exclusivo, muitas vezes usando um hash MD5 do nome do computador ou outro identificador único, como um endereço MAC, para garantir que o extorsionário saiba qual máquina foi comprometida. Então, o dropper do segundo estágio também pode executar uma série de scripts para garantir que qualquer proteção nativa do Windows seja desativada, o que poderia incluir a desativação de funcionalidades de shadow copy (cópia de sombra) dos arquivos e volumes, a desativação de funcionalidades de recuperação do sistema usando algo como o BCDEdit e, por fim, a desativação de qualquer software anti-malware e funções de logging do sistema.
24
Ransomware
Depois disso, a próxima fase terá início. Após ter se estabelecido em um processo Windows comum, como svchost.exe, o ransomware iniciará a fase de comando e controle.
Comando e controle Todas as ações exigem algum tipo de sistema de comando e controle para efetivamente determinar as próximas ações. É assim tanto em uma guerra tradicional quanto no ciberespaço; desse modo, um ransomware exige algum tipo de canal de comunicação a ser estabelecido para garantir que essas comunicações possam ocorrer. Pense nisso da seguinte maneira: é possível que você tenha um ransomware em estado dormente em seu computador neste exato momento, esperando receber ordens. Em um ataque de ransomware, depois que é implantado e instalado, o código malicioso começará a acessar seus servidores de comando em busca de instruções. Essas instruções podem ser quaisquer requisições específicas. Elas incluem de tudo, desde identificar os tipos de arquivo que devem ser alvos de criptografia, quanto tempo devem esperar para iniciar o processo e se devem continuar a se espalhar antes de iniciá-lo. Em algumas variantes de ransomware, os códigos maliciosos também devolverão um volume significativo de informações sobre o sistema, incluindo endereço IP, nome de domínio, sistema operacional, navegadores instalados e produtos anti-malware. Essas informações podem ajudar uma organização criminosa a determinar não só quem foi infectado, mas também se um alvo altamente valioso foi atingido, sugerindo, assim, que esse comprometimento seja usado para propósitos mais nefastos que uma simples infecção de ransomware. Canais de comando e controle variam conforme as diferentes variantes e famílias de malware. Em alguns casos, esses canais podem ser simples como comunicações web tirando proveito de um protocolo HTTP sem criptografia ou sistemas complexos que se aproveitem de serviços TOR embutidos para se conectar. Sistemas mais complexos como o TOR dificultam mais ainda rastrear a localização exata dos criminosos envolvidos
Capítulo 1 ■ Introdução ao ransomware
25
na extorsão e, na verdade, algumas das variantes de ransomware instalam clientes TOR nos endpoints para garantir que tenham comunicações seguras3.
Handshake e troca de chaves Praticamente em todos os casos de ransomware, o código malicioso implantado no sistema da vítima é um cliente, e o servidor de comando e controle administrado pelo adversário criminoso é exatamente isso, ou seja, um servidor. O cliente instalado em seu sistema garante que se comunicará com o servidor do vilão correto por meio de um protocolo de handshake predefinido. Esse protocolo de handshake é diferente para cada família de ransomware – uma coleção de ransomwares que atua de modo semelhante e que é geralmente financiada pela mesma organização criminosa. Em sua essência, porém, é o modo como os criminosos identificam a variante do malware executada, bem como o sistema que infectaram. O processo de identificação e validação é usado para confirmar se o sistema foi realmente infectado e que não faz parte de uma operação secreta mais ampla conduzida por agentes da lei ou por empresas de segurança internacionais. Em alguns cenários, como no caso do ransomware CryLocker, isso é feito com um método único, com o qual tudo é enviado como um pacote na forma de um arquivo PNG (portable network graphics) para um álbum em um site legítimo, nesse caso, o Imgur. Depois que o cliente e o servidor chegarem a um acordo de que são realmente um par funcional predefinido, o próximo passo é a geração e troca de chaves. Conforme a complexidade do ransomware, esse passo pode variar de um cifrador simples de chave simétrica executado de forma precária até um algoritmo complexo de criptografia RSA com 4.096 bits. A troca de chaves ocorre e a chave privada é mantida nos servidores dos criminosos, enquanto a chave pública é entregue ao componente de criptografia do código malicioso instalado no sistema da vítima. Em alguns casos talvez você tenha sorte, pois algumas das variantes menos complexas de ransomware não geram uma chave única a cada vez e o uso de descriptadores públicos poderia reverter a criptografia, mas isso está se tornando menos comum. 3 Lucian Constantin, “Stealthy ransomware ‘Critroni’ uses Tor, could replace Cryptolocker” (Ransomware ‘Critroni’ usa o Tor discretamente e poderia substituir o Cryptolocker, http://pcworld.com/article/2456380/stealthy-ransomware-critroni-uses-tor-could-replace-cryptolocker.html).
26
Ransomware
Destruição A essa altura, a chave que será usada para bloquear ou criptografar os arquivos do sistema está ativa e pronta para ser utilizada pelo malware no dispositivo da vítima. Todos os arquivos identificados pelos processos de comando e controle começarão a ser criptografados pelo código malicioso. Os arquivos podem incluir de tudo, desde as várias formas de documentos Microsoft Office até JPGs, GIFs e muitos outros tipos de arquivo. Algumas variantes não só criptografam os arquivos, como também seus nomes, dificultando mais ainda saber até que ponto os invasores chegaram e quais arquivos você perdeu.
Extorsão Depois que os arquivos são criptografados, uma tela é apresentada às vítimas informando-lhes como ocorreu o comprometimento. Os extorsionários usam vários métodos para exigir um pagamento. Algumas variantes de ransomware permitirão que você descriptografe um arquivo gratuitamente para provar que há uma chave para o seu sistema. Outras variantes têm pagamentos cujo preço a pagar aumenta com o passar do tempo até a chave ser apagada. O custo típico para desbloquear um sistema gira em torno de 300 a 500 dólares em bitcoins, mas algumas das variantes cujos alvos são corporações já cobraram valores que atingem dezenas de milhares de dólares. Algumas variantes mais recentes apagam arquivos para elevar o montante a ser pago e aterrorizar você a fim de forçá-lo a pagar o resgate mais rapidamente. Mesmo que você pague, não há garantias de que a chave que lhe será fornecida descriptografará seus arquivos. Além disso, não há garantias de que o ransomware será removido. De fato, adversários espertos usarão a velocidade com que você pagará o resgate inicial, junto com qualquer informação adicional revelada pelo malware na própria rede, para determinar quais serão os próximos alvos em sua rede; esses podem incluir backups, repositórios na rede ou outros sistemas operacionais que sejam essenciais à operação de seus negócios. Então, eles usarão um ransomware mais ágil e sofisticado para fazer com que você continue pagando.
Capítulo 1 ■ Introdução ao ransomware
27
Devo pagar o resgate? Para ser honesto, gostaria de dizer “NÃO” com uma fonte de 350 pontos em negrito. Contudo, essa é uma resposta demasiadamente simples. É possível que você tenha arquivos que sejam simplesmente imprescindíveis no sistema criptografado, que você não tenha feito backup desses arquivos e não disponha de nenhum método para recriá-los – ou, se houver alguma vida humana correndo riscos iminentes, talvez você considere efetuar o pagamento. Outro aspecto a ser observado é o fato de que os autores de ransomwares tendem a conhecer a distribuição demográfica de seus alvos e escolham pontos cujos preços sejam apropriadamente baixos para incentivar o pagamento, e esses preços se comparariam de modo geral aos custos da restauração dos dados. Se seguir as diretrizes apresentadas neste livro, você jamais deverá se ver em uma posição em que deva considerar o pagamento de um resgate.
A fase de destruição A fase de destruição exige uma explicação mais detalhada. Essa fase, conforme já mencionamos, consiste em impedir o acesso ao sistema ou criptografar os arquivos.
Criptografia dos arquivos O cryptoransomware que vemos atualmente utiliza algoritmos sofisticados para criptografar arquivos em seu dispositivo ou rede; a criptografia pode ser de dois tipos básicos: com chave simétrica e com chave assimétrica. Para o extorsionário, cada método tem vantagens e desvantagens distintas. Algumas das variantes mais complexas tiram proveito dos dois tipos de criptografia para superar os pontos fracos do outro tipo. Como eles escolhem o que será criptografado? Cada variante de ransomware toma algumas decisões quanto aos arquivos que serão criptografados. Essa decisão pode ser tão simples quanto fazer uma pesquisa em busca de todos os
28
Ransomware arquivos de um tipo específico no dispositivo até processos mais complicados que avaliam a entropia geral de um arquivo em suas versões shadow anteriores, ou até mesmo sistemas que tirem proveito do número de vezes que um arquivo foi recentemente acessado. No primeiro caso, se você tiver algum drive de rede mapeado, este também acabará sendo pesquisado e criptografado. No último caso, regimes agressivos de backup e scanning de antivírus poderão apontar os arquivos que devem servir de alvo ao ransomware.
Criptografia com chaves simétricas Um malware que use criptografia com chaves simétricas geralmente utiliza o próprio dispositivo para gerar a chave usada no processo de criptografia. O uso de criptografia com chaves simétricas garante que menos recursos do sistema sejam usados enquanto o malware criptografa os arquivos. Essa minimização de overhead no desempenho por parte do ransomware não só ajuda a reduzir as chances de detecção por softwares de monitoração de processos, como também utiliza os recursos de CPU do sistema infectado de forma eficiente. O uso de uma chave pequena gerada no dispositivo pode minimizar o overhead no desempenho e maximizar o volume de arquivos a serem criptografados, tirando proveito da própria CPU do sistema. Outra vantagem de usar uma criptografia com chave simétrica é que uma chave única será gerada para todo sistema infectado e, desse modo, os extorsionários por trás do ransomware poderão determinar quais instalações tiveram sucesso e quais fracassaram. Além do mais, isso permite que o processo de criptografia ocorra online ou offline. O processo então exige que o computador volte a ficar online e envie a chave para o adversário para que ele possa iniciar a contagem regressiva para o resgate. A chave usada para criptografia é removida do dispositivo e devolvida ao extorsionário. Isso é feito para que ele possa guardar essa chave e receber o resgate. Para isso, o ransomware deve esperar que o computador volte a ficar online. Após ter estabelecido uma conexão com a internet e a chave ter sido transmitida ao criminoso, a contagem regressiva geralmente terá início. Uma grande desvantagem da criptografia com chave simétrica é que ela pode ser derrotada. É possível que um usuário extraia a chave da memória ativa e use-a para descriptografar os arquivos do sistema enquanto estiver
Capítulo 1 ■ Introdução ao ransomware
29
offline. Isso significa que se você foi atingido por uma variante de malware que use criptografia com chave simétrica, é totalmente possível que você mesmo possa descriptografar os arquivos. Para isso, você deve inicialmente acessar a memória volátil do sistema que está fazendo a criptografia. Isso pode ser feito com uma série de ferramentas. Tradicionalmente, ferramentas forenses seriam usadas para ter acesso direto à RAM. Uma dessas ferramentas é o msramdump – um sistema Linux em uma USB que permite fazer boot e tira proveito do fato de a DRAM na maioria dos sistemas continuar ativa por um período que pode variar de alguns segundos a alguns minutos após a retirada da alimentação, desde que o ECC (geralmente conhecido no BIOS como “quick boot mode” [modo de boot rápido]) esteja desativado. Você deve inserir o dispositivo USB no sistema afetado, reiniciar o computador e fazer um dump da RAM no pendrive. Eles são conhecidos como “cold boot attacks”. Depois de acessar essa memória, uma ferramenta como o Volatility pode ser usada para verificar o dump de memória e começar a procurar blocos de mensagem do tamanho da chave, o que, embora seja um processo lento, será eficaz para encontrar suas chaves, a menos que elas estejam fragmentadas. Usando o Volatility Para começar, você deve ter familiaridade com alguns comandos do Volatility, incluindo malfind, yarascan, svcscan e ldrmodules. Os comandos Python envolvidos são: python vol.py -f zeus.vmem malfind -p 1724 Volatile Systems Volatility Framework 2.1_alpha
Além disso, há uma série de locais em que você poderá obter exemplos de arquivos de memória para analisar (forensicswiki. org/wiki/Windows_Memory_Analysis#Sample_Memory_Images).
Use também essas ferramentas para procurar artefatos de software que identifiquem o sistema de criptografia utilizado, o que ajudará você a descobrir as chaves necessárias para descriptografar seus arquivos. No entanto, técnicas de criptografia somente com chaves simétricas raramente são usadas atualmente por causa da habilidade dos usuários finais de
30
Ransomware
se livrar do resgate por meio das técnicas descritas aqui4. O Volatility é uma ferramenta para obter vários conjuntos de dados do código. Ele pode ser usado com outros tipos de criptografia se tirarmos proveito de seu conjunto mais amplo de comandos.
Criptografia com chaves assimétricas Nesse método, o invasor tem uma chave pública e uma chave privada usadas no processo de criptografia. A chave pública é utilizada no sistema infectado para criptografar os arquivos e a chave privada é usada para descriptografá-los. Esses pares de chave fazem com que seja impossível usar métodos forenses na memória para descriptografar os arquivos. Em vez disso, você deverá contar com ataques de força bruta, pontos fracos nos algoritmos de criptografia, pagamento do resgate ou deve estar preparado para a possibilidade desse tipo de ataque, antes de tudo. Em ransomwares com chave assimétrica, também há dois tipos principais de criptografia assimétrica: chave pública embutida e chave pública baixada. Erros dos invasores Vale a pena observar que todos os seres humanos podem falhar e, desse modo, como ocorre com todas as aplicações criadas por uma organização, o próprio ransomware pode ter vulnerabilidades em seu código. Uma das ocorrências mais comuns de falhas pelos autores de um ransomware é incluir a chave privada do malware no próprio código sem querer. Isso faz com que a descriptografia seja, de certo modo, um exercício trivial de extração da chave privada do código malicioso, seguido da descriptografia dos arquivos, para a infelicidade dos criminosos.
Em um ransomware que tire proveito de uma chave pública embutida, a metodologia é bem simples e pode ser iniciada independentemente de o computador estar online ou não. A desvantagem dessa técnica é que uma nova chave pública deve ser gerada para cada ataque. Para um ransomware que use uma chave pública baixada, o processo de criptografia não pode ser iniciado até que o computador esteja online e 4 Mais informações sobre como usar o msramdump para extrair dados da DRAM estão disponíveis em http://mcgrewsecurity.com/oldsite/projects/msramdmp.1.html.
Capítulo 1 ■ Introdução ao ransomware
31
seja capaz de se comunicar com o servidor do invasor para obter a chave pública. A vantagem, nesse caso, é que o invasor pode tirar proveito de diferentes pares de chave a cada infecção. Outra vantagem principal do método de criptografia assimétrica é que ele usa números primos muito maiores em seu algoritmo de criptografia, começando com 2.048 bits e usando valores superiores.
Como a criptografia é usada? Embora tenhamos discutido a criptografia com chave assimétrica e simétrica separadamente, na maioria das variantes modernas de cryptoransomware os dois tipos de criptografia são usados simultaneamente para tirar proveito dos pontos fortes de cada método. Por exemplo, o CryptoDefense usa criptografia AES (chave simétrica) para criptografar manualmente os arquivos-alvos nas máquinas infectadas; após o término da criptografia, a chave é armazenada localmente e criptografada com a chave pública RSA de 2.048 bits baixada. Então, após o pagamento do resgate, o usuário final terá acesso à chave privada que descriptografará a chave AES armazenada localmente, permitindo que o usuário descriptografe seus arquivos.
Bloqueio do sistema ou do navegador O outro método usado durante a fase de destruição é o bloqueio do sistema ou do navegador. Em vez de criptografar fisicamente os arquivos no sistema infectado, esse tipo de ransomware deixa o dispositivo infectado ou algumas de suas aplicações inutilizáveis. Por exemplo, o ransomware que bloqueia o Windows exibe uma tela cheia que cobre todo o desktop do usuário. Variantes diferentes criam essa janela de maneiras distintas, mas todas elas deixarão o usuário limitado a essa única janela. Alguns dos tipos mais complexos de ransomware bloqueador (locking ransomware) monitoram o desktop do sistema com uma thread em segundo plano para garantir que essa seja a única janela ativa. O conteúdo das janelas no ransomware bloqueador (locker)
32
Ransomware
geralmente depende da localidade e é baixado como parte do processo de apresentação para garantir que um conteúdo localizado seja servido à vítima, como mostram as Figuras 1.4 e 1.5.
Figura 1.4 – Conteúdo servido localmente conforme a geolocalização do IP.
Figura 1.5 – Ransomware servido às vítimas na Austrália.
Capítulo 1 ■ Introdução ao ransomware
33
Depois que um sistema for bloqueado, o ransomware executará várias ações para garantir que manterá a persistência no dispositivo, incluindo o envio de sinais de shutdown para outros processos, execução de comandos para matar processos que seriam usados para encerrar o executável do ransomware e geração de um desktop virtual para garantir que o usuário final seja incapaz de escapar dos desktops virtuais criados pelo ransomware. A maioria dos ransomwares que bloqueiam navegadores funciona em plataformas distintas. Considerando que a maioria dos ransomwares que boqueiam navegadores funciona do lado cliente, eles receberão páginas web maliciosas que utilizam JavaScript para apresentar janelas pop-up nos computadores das vítimas sempre que elas tentarem fechar o navegador ou sair do site infectado. Em dispositivos móveis como tablets ou celulares, o processo é semelhante. Uma janela de atividade é criada pelo malware e este fará verificações constantes para garantir que a janela de atividade seja exibida. Ao fazer com que essas verificações ocorram a intervalos de milissegundos, para o olho humano parecerá que a mensagem está sendo continuamente exibida, não simplesmente reiniciada. Variantes mais sofisticadas também usarão a câmera do celular para tirar uma foto como parte da tela de bloqueio, como podemos ver na Figura 1.6.
Figura 1.6 – Uma tela de bloqueio de SIM card no Android (observe a foto do proprietário do dispositivo).
34
Ransomware
O rápido crescimento dos ransomwares Embora os ransomwares tenham chamado a atenção nos últimos anos, eles existem desde meados dos anos 2000. Por que os ransomwares se tornaram tão importantes agora? Para responder a essa pergunta, devemos observar os resultados que os ransomwares têm alcançado. Se você pensar no sucesso que as organizações criminosas tiveram inicialmente usando spam e campanhas de phishing para atingir qualquer pessoa com aplicações enganosas ou softwares falsos de antivírus (AV) até os cryptoransomwares atuais, é fácil perceber que sucesso gera sucesso: quando um grupo vê o volume de dinheiro que outro grupo está ganhando, ele encontrará um modo de fazer o mesmo. É a lei do livre mercado no modo capitalista mais anárquico possível. De fato, surgiram mercados que permitem a venda de ransomwares maduros e sofisticados, reduzindo assim as barreiras de entrada das organizações criminosas nesse empreendimento criminoso lucrativo. Se houver uma forma extremamente bem-sucedida de ataque que dependa de uma combinação de erro humano e robustez técnica, os criminosos acharão um modo de usá-la para ganhar dinheiro. A disponibilidade de vários métodos para empacotar o ransomware, criptografar os sistemas de modo rápido e discreto, seja online ou offline, e a facilidade de ocultar os passos de alguém quando um pagamento é aceito são fatores que levaram ao aumento do uso de ransomware para extorsão digital. Além disso, à medida que os criminosos criaram novos métodos para implantar códigos maliciosos e explorar falhas de sistemas em rede, as empresas que precisam ter acesso aos dados desses sistemas por questões legais ou até mesmo para proteger vidas atualmente estão se transformando em alvos. Os criminosos não estão mais se contentando com meio bitcoin ou cem dólares. Em vez disso, estão cobrando centenas ou milhares de dólares, sabendo que, em alguns casos, as empresas pagarão para garantir que não sejam cúmplices da morte de um paciente ou da perda de receita associada a longas interrupções de serviço. Os criminosos também perceberam que em vez de guardar produtos roubados, é mais eficiente extorquir diretamente os usuários finais e as corporações. Desse modo, eles reduzem os custos e aumentam o retorno sobre seus investimentos.
Capítulo 1 ■ Introdução ao ransomware
35
Outros fatores Mais disponibilidade de métodos robustos de criptografia Em fevereiro de 2016, Bruce Schneir informou que havia mais de 567 opções diferentes para produtos que ofereciam criptografia robusta5. Esse número não incluía nenhuma opção de código aberto que fosse considerada de criptografia fraca. O aumento na disponibilidade desses produtos tem feito com que seja extremamente fácil para os criminosos terem esses algoritmos à mão e usá-los em seus códigos maliciosos.
A disponibilidade global da criptomoeda O Bitcoin é a criptomoeda mais conhecida atualmente. Como todas as criptomoedas, é um método descentralizado de gerar dinheiro, por meio do qual todos os participantes do sistema monetário mantêm um registro contábil criptografado das transações no sistema da criptomoeda. Em boa parte, o Bitcoin é uma criptomoeda pseudoanônima, pois, em última instância, é possível seguir a cadeia de blocos (blockchain) para identificar os indivíduos por trás das transações, em muitos casos. Porém, esse processo não é simples e um extorsionário esperto poderá extrair rapidamente valores de carteiras de Bitcoin a fim de conseguir dinheiro vivo a ser usado em mercados usuais antes de ser rastreado.
DNS dinâmico Serviços de DNS dinâmico são usados para permitir que um domínio seja transferido regularmente para um novo endereço IP. Esses serviços utilizam o TTL (time to live, ou tempo de vida) do domínio para garantir que um computador verifique regularmente o novo endereço IP quando tentar resolvê-lo como parte de um canal de comunicação. Ao tirar proveito das várias soluções de DNS dinâmico, você pode rapidamente transferir a sua infraestrutura para outro site de hospedagem e minimizar o risco de prejuízos devido à verificação de um ransomware. Como os endereços desses domínios são sempre resolvidos para IPs de novos 5 Bruce Schneier, “Worldwide Encryption Products Survey” (Pesquisa global sobre produtos para criptografia, https://schneier.com/blog/archives/2016/02/worldwide_encry.html), Schneier on Security.
36
Ransomware
hosts, os empreendimentos criminosos podem mover-se constantemente pela internet de modo relativamente seguro, sempre sabendo que seus códigos maliciosos poderão conversar com eles; contudo, as autoridades terão dificuldade em descobrir o local em que seus servidores estavam hospedados nos últimos cinco minutos. Originalmente, esses serviços eram utilizados por usuários domésticos e negócios de pequeno porte que hospedavam seus próprios sites e serviços de email em seus escritórios, mas não possuíam um endereço IP roteável na internet e tinham seus IPs alterados regularmente pelo ISP. Um dos motivos pelos quais o DNS dinâmico é tão eficaz é o uso de algoritmos geradores de domínio, ou DGAs, pelo ransomware. Os DGAs são componentes do código de um ransomware que usam um método predefinido específico para criar uma série de canais de comunicação durante a execução. Isso parece ser algo sem nexo, ignorado pelo seu usuário final comum. Como os criminosos são capazes de configurar várias entradas de DNS criadas dinamicamente e fazê-las apontar para a infraestrutura deles, esses domínios só precisam estar disponíveis por um breve período e pode haver uma rotação por uma série de endereços IP, mantendo os criminosos relativamente protegidos, sem que sejam detectados. Isso cria problemas para que os agentes da lei e as empresas de segurança possam rastrear os criminosos. Eis um exemplo do DGA original do Cryptolocker: def generate_domain(year, month, day): """Generates a domain name for the given date.""" domain = "" for i in range(16): year = ((year ^ 8 * year) >> 11) ^ ((year & 0xFFFFFFF0) << 17) month = ((month ^ 4 * month) >> 25) ^ 16 * (month & 0xFFFFFFF8) day = ((day ^ (day << 13)) >> 19) ^ ((day & 0xFFFFFFFE) << 12) domain += chr(((year ^ month ^ day) % 25) + 97) return domain
Capítulo 1 ■ Introdução ao ransomware
37
Aplicações enganosas, AVs falsos e cryptoransomwares modernos Organizações criminosas inicialmente procuraram maneiras de se capitalizar com malwares sem o tradicional roubo de credenciais, por métodos que algumas pessoas considerariam aplicações legítimas. Com frequência, essas aplicações enganosas se apresentavam como ferramentas anti-spyware ou ferramentas para otimização do desempenho geral de seus sistemas. Aqueles que faziam uso dessas aplicações enganosas alegavam que haviam encontrado um spyware em seu sistema, que seu registry estava desorganizado ou que havia problemas de arquivo ou no desempenho de seu hardware. Eles faziam você fazer download de suas aplicações, executar um “scan” no sistema em busca de outros problemas e então cobravam uma taxa para “resolver” esses problemas. Essas taxas variavam de 30 a 100 dólares e geralmente incluíam uma licença para a aplicação baixada que fazia o scanning ou as melhorias para você. Nem é preciso dizer que a maioria dessas aplicações não fazia nada, o que não é o pior que poderia acontecer além de ficarem com seus cem dólares. À medida que mais pessoas começaram a ouvir falar de vírus, malwares e spywares, as organizações criminosas procuraram tirar proveito da propaganda gratuita da mídia. Eles decidiram tirar proveito de marcas como Norton, McAfee e outras para criar falsos programas de antivírus (AV). Uma campanha falsa de AV envolve um pop-up afirmando que o computador do alvo está infectado com vírus e que uma limpeza é necessária. O pop-up leva a um site em que as vítimas pagam para fazer download do falso programa antivírus. Os criminosos muitas vezes roubavam logos, esquemas de cores e outros materiais com direitos autorais para garantir que o software AV falso parecesse tão real quanto possível, como podemos ver na Figura 1.7. Embora essa seja apenas outra subcategoria das aplicações enganosas, ela representou uma mudança de raciocínio por parte dos criminosos, que reconheceram o potencial de negócio das organizações criminosas anteriores e o usaram em proveito próprio. O modelo de negócios do AV falso imita o modelo das aplicações enganosas, alegando encontrar uma série de spywares, vírus e cavalos de Troia em seu computador, que só poderiam ser removidos se você fizesse um upgrade do software para uma versão paga. Se você pagasse pelo software, as mensagens
38
Ransomware
desapareciam, mas depois que muitas pessoas passaram a ignorar essas mensagens, os invasores tiveram de descobrir outra maneira de ganhar mais.
Figura 1.7 – Uma tela falsa do AV AVG.
É nesse momento que a transição para o ransomware bloqueador teve início. Se os criminosos pudessem fazer você manter os olhos na tela e usassem táticas ameaçadoras, como fingir ser da polícia local, ou táticas de bullying com as quais diriam exatamente qual gangue criminosa havia bloqueado o seu sistema, o valor do resgate poderia subir. Não só o percentual de máquinas infectadas que pagavam o resgate aumentou, como também o valor do pagamento começou a subir, passando para a casa dos 200 dólares. À medida que o ransomware bloqueador ganhou mais evidência, a dependência dos usuários finais para instalar o malware deixou de existir e o processo de instalação automatizado se tornou mais popular. Isso não só fez parecer que um hacker poderoso havia assumido o controle de seu computador (ou algum ramo secreto da polícia federal), como também deixou o cenário mais conveniente para os criminosos – eles só precisariam comprometer um ou dois sites populares ou conduzir uma campanha eficiente de malvertising para conquistar um grande número de instalações. Quanto maior o número de instalações, melhor o retorno. Quanto mais assustadora a mensagem na tela, maior o percentual de retorno.
Capítulo 1 ■ Introdução ao ransomware
39
O interessante é que o primeiro ransomware era uma variante de cryptoransomware, e apenas em 2013 os criminosos retomaram essa variante como fonte principal de receita proveniente de ransomwares. À medida que soluções anti-malware se tornaram mais eficazes para detectar e remover ransomwares bloqueadores, os criminosos tiveram de descobrir uma maneira de manter a persistência em um sistema, mesmo quando este estivesse sem alimentação, desconectado da internet ou até mesmo inicializado com um sistema operacional alternativo. Essa necessidade de ter persistência os levou de volta ao conceito de não ter necessariamente de manter todo o computador como refém, mas apenas as informações do próprio sistema. Sem mostrar timidez quanto às suas intenções, os criminosos tiveram outra elevação em sua taxa de sucesso. Também subiram o preço para descriptografar arquivos a uma média de 300 dólares em 2016.
Resumo O ransomware tem um passado de longa data e cheio de histórias. Passou com sucesso pela sua origem humilde em disquetes de 5 1/4 polegadas para a era moderna usando técnicas sofisticadas de criptografia e tem como alvo não só os computadores, mas também celulares e tablets. O ransomware teve um aumento de popularidade porque tem sido bem-sucedido. Em um mundo em que só os mais bem adaptados sobrevivem, o ransomware se adaptou e mudou a fim de atender às demandas cada vez mais exigentes de seus criadores. Passando de simples truques e fraudes até chegar à evidente extorsão, essas organizações criminosas jogam com nossos medos e a necessidade de proteger nossas informações. Os criminosos de hoje estão deixando de ter usuários domésticos como alvos e estão se concentrando em usuários corporativos cujos dados têm um valor significativamente mais elevado; esses usuários sofrem uma forte pressão de normas regulatórias para manter uptimes e acessos específicos para proteção de dados essenciais. Considerando a popularidade de dispositivos como relógios de pulso, televisores, refrigeradores e automóveis conectados à internet, é somente uma questão de tempo até os criminosos começarem a ter esses dispositivos como alvo. Imagine um mundo em que você pense em sair de casa para
40
Ransomware
trabalhar, mas sua geladeira foi desligada durante a noite, fazendo com que o leite que você tomaria com o café estragasse, e seu carro não desse partida a menos que você pagasse um resgate para desbloqueá-lo. Não é uma realidade tão implausível nem tão distante se não encontrarmos maneiras mais eficientes de proteger esses dispositivos contra os criminosos.