As práticas de ransomware são agora, uma das classes que mais crescem em relação a software malicioso. Nos últimos anos, tem evoluído a partir de bloqueadores de tela simples pagamentos para algo muito mais perigoso exigentes. A classe de ransomware agora é baseada nos chamados "encryptors",que são tipos de trojans que criptografam todos os tipos de dados e que podem ser de valor para o usuário, sem que haja o seu conhecimento. Os dados podem incluir fotos pessoais, arquivos, documentos, bancos de dados (por exemplo, bases de dados utilizada em software 1C:Enterprise, que destina-se a automação das atividades comerciais), diagramas, etc.
Exigência de Pagamento de Resgate
Com a finalidade de decriptografar esses arquivos, os cybercriminosos exigem um pagamento - que muitas vezes, trata-se de uma soma significativa e deixa a vítima em pânico. Nesse contexto, pragas como CryptoLocker, CryptoDefence (e seu sucessor CryptoWall), ACCDFISA e GpCode, são alguns dos exemplos mais notórios. Há também grande quantidade de famílias menos conhecidas, que se espalharam na Rússia e no CIS.
Detecção de Novo Trojan
No final de junho deste ano de 2014, a Kaspersky Lab detectou um novo "encryptor". A análise realizada pela equipe de profissionais, mostrou que o cavalo de Tróia não tinha nada em comum com outras famílias conhecidas e uma série de características que sugeriam que era uma criação completamente nova. O nome da praga? CTB-Locker. Esta nova família foi detectada pela Kaspersky Lab como Trojan-Ransom.Win32.Onion.
Este malware criptográfico, bastante perigoso, pertence a uma nova geração de ransomware. Além disso, seus desenvolvedores utilizam ambas as técnicas comprovadas e "testadas" em seus antecessores (como a exigência de que o resgate seja pago em Bitcoin), e soluções que são completamente novas para esta classe de malware em questão. Especificamente, o fato de esconder os servidores de comando e controle na rede de anonimato Tor, dificulta muito a busca pelos cybercriminosos, e o uso de um esquema de criptografia não tradicional, torna a decriptografia do arquivo praticamente impossível, mesmo que seja interceptado o tráfego entre o cavalo de Tróia e o servidor. Tudo isso faz com que o Trojan-Ransom.Win32.Onion seja uma ameaça altamente perigosa, além de ser um dos "encryptors" tecnologicamente mais avançados lá fora.
Algoritmo Utilizado pelo "Encryptor"
O algoritmo de alto nível utilizado pelo "encryptor" malicioso é muito comum e age como se segue: após o lançamento, os exemplares de malware fazem um "copy body" para (CSIDL_COMMON_APPDATA) e adiciona a tarefa de lançar o arquivo para o Task Scheduler; em seguida, é feita uma pesquisa em todos os drives fixos, removíveis e de rede, para arquivos correspondentes a partir de uma lista de extensões.
A seguir, ele criptografa os arquivos encontrados; exibe uma janela pedindo resgate e que contém uma lista de arquivos que foram criptografados. Os cybercriminosos exigem que o resgate seja pago em Bitcoins. Na sequência das atividades maliciosas, é definida uma imagem com o nome AllFilesAreLocked.bmp como background. Este background informa ao usuário que os dados em relação ao computador foram criptografados.
Então, o que diferencia este Trojan além de dezenas de programas maliciosos semelhantes? O servidor de comando e controle está localizado no interior da rede de anonimato Tor. A amostra analisada tem um único endereço do servidor de comando estático, que pertence à zona de domínio .onion. É interessante ressaltar que isso por si só não deve ser considerado "inovador", até mesmo porque já foi possível detectar ocorrências semelhantes relacionadas a outros tipos de malware. No entanto, esta situação trata-se de um novo desenvolvimento para as práticas de ransomware.
Embora alguns dos trojans do gênero em questão, que foram detectados mais precocemente tenham exigido que a vítima visite um determinado site na rede Tor, o malware discutido aqui suporta total interação com o Tor sem que haja um "input" por parte da vítima, o que a diferencia das demais. Isso leva a detecção de uma outra característica, que é a única entre as espécies de malware mais conhecidas.
Implementação Técnica Incomum de Acesso à Rede Tor
Todo o malware previamente detectado, se estabelece uma comunicação com a rede Tor para todos os fins, faz isso de uma forma pouco sofisticada: ele é lançado (às vezes por código em outros processos de injeção), o tor.exe arquivo legítimo, que está disponível para download na rede oficial do website. O Trojan-Ransom.Win32.Onion não usa o arquivo existente tor.exe. Ao invés disso, todo o código necessário para implementar a interação com a rede de anonimato, é ligada estaticamente para o arquivo executável do programa malicioso (ou seja, é implementado como parte do código malicioso) e é lançado em um segmento separado.
O código contido dentro do procedimento thread_tor_proxy é quase totalmente tirados de fontes abertas (Tor é um projeto de código aberto). Quando a conexão à rede Tor foi estabelecida e um servidor proxy tor local foi criado a partir do IP 127.0.0.1 (o número da porta varia de uma máquina infectada para outra e depende do parâmetro MachineGuid), o global flag can_complete_circuit estará definido, o que é posteriormente verificado no thread_post_unlock_data. Assim que isso acontecer, o malware estabelece a comunicação de rede com este endereço local:
A solicitação enviada pelo malware para o servidor, contém uma proteção de dados necessária para decriptografar os arquivos da vítima. Em resposta, o servidor retorna dados relacionados ao custo para desbloquear os arquivos do usuário (em bitcoins e dólares), bem como o endereço do wallet para o qual o pagamento deve ser feito.
Compactar Arquivos Antes da Criptografia
Nenhum dos "encryptors" conhecidos usou tecnologias de compressão (com a exceção de ACCDFISA, que simplesmente adiciona os arquivos para um arquivo rar-sfx protegido por senha). No entanto, neste caso, a criptografia e compressão não são funcionalidades implementadas em um programa malicioso, mas simplesmente estão relacionadas à utilização de um produto já pronto - WinRAR). Neste aspecto da sua operação, Trojan-Ransom.Win32.Onion também mostra originalidade considerável. Aqui está o que ele faz:
- Move arquivo da vítima para um arquivo temporário, usando a função API MoveFileEx;
- Faz leitura de arquivo temporário a partir do disco block-by-block;
- Cada bloco é comprimido usando Zlib, uma biblioteca distribuída livremente (procedure deflate ());
- Após a compressão, cada bloco é criptografado e gravado no disco;
- As informações dos serviços necessárias para a decodificação, é colocada no início do arquivo resultante;
- O arquivo criptografado recebe a extensão .ctbl.
O Cryptomalware, de forma mais comumente, usa um esquema criptográfico com base na combinação AES + RSA. Neste esquema, o servidor gera um par de chaves - rsa-public + rsa-private – para RSA, que é um algoritmo de criptografia assimétrica. A chave privada, rsa-private, permanece no servidor, enquanto a pública RSA é enviada para o malware. Em seguida, o malware gera uma nova chave - aes-key - para cada um dos arquivos da vítima, com a finalidade de ser usado por AES, um algoritmo de bloco de chave simétrica. Além do mais, cada arquivo é criptografado usando AES. Em seguida, suas aes-key são criptografadas usando RSA (usando a chave RSA pública) e salvos no arquivo.
Levando em consideração o uso da criptografia assimétrica, ninguém pode decriptografar o arquivo sem ter a chave RSA-privada, que nunca saiu do servidor dos cybercriminosos. No entanto, Trojan-Ransom.Win32.Onion usou uma abordagem diferente, mais uma vez!
O exemplo utiliza o protocolo criptográfico assimétrico, conhecido como ECDH - Eliptic Curve Diffie-Hellman.
Curva Elíptica Diffie-Hellman
O algoritmo Diffie-Hellman (o chamado método de troca de chaves ou protocolo de segredo compartilhado), foi desenvolvido há algum tempo e publicado em 1976 por dois criptógrafos bastante famosos, Whitfield Diffie e Martin Hellman. A modificação do algoritmo que utiliza curvas elípticas, foi publicada mais tarde, em 2000, em um artigo Certicom Research, Standards for efficient cryptography, SEC 1: Elliptic Curve Cryptography.
A descrição detalhada do protocolo está fora do escopo desta publicação, por isso, será visada a descrição dos princípios que serão úteis, no que tange ao processo de compreensão que está ligado a ação do malware.
- Um par de chaves - privado e público, pode ser gerado.
- O segredo compartilhado "so-called" pode ser gerado a partir de sua chave privada e da chave pública do destinatário.
- Se as duas partes trocaram chaves públicas (as chaves privadas não são trocadas!) E cada um fez um cálculo independente do segredo compartilhado de chave pública do destinatário e sua própria chave privada, ambas as partes terão o mesmo valor.
- O segredo compartilhado resultante desse processo, pode ser usado como uma chave de qualquer algoritmo de criptografia simétrica.
- Os autores do Trojan-Ransom.Win32.Onion usam uma implementação existente deste algoritmo criptográfico, uma descrição do que está disponível na Internet.
Saiba Mais:
[1] SecureList http://securelist.com/analysis/publi...of-ransomware/
Mensagem do Sistema