Tudo começou com um tirano preso, um corte de cabelo e um criado tatuado. Pelo menos, é assim que Heródoto conta a história.
Comummente citado como o primeiro exemplo de esteganografia, que consiste em esconder uma mensagem dentro de outra mensagem, um rei exilado chamado Histiaeus queria iniciar uma revolta contra um rival. A sua solução foi rapar e tatuar uma mensagem na cabeça de um servo. Quando o cabelo voltava a crescer, a mensagem oculta era facilmente transmitida através do território inimigo.
Histiaeus efectuou o primeiro ataque esteganográfico bem sucedido. Usou dados escondidos à vista de todos para prejudicar um inimigo. Sempre gostei desta história. Demonstra como um método simples de esconder dados pode ter consequências desastrosas - neste caso, uma revolta devastadora.
Os ataques modernos baseados em esteganografia escondem frequentemente malware em ficheiros de imagem inofensivos, criando um elo vital na cadeia de infeção do agente da ameaça, tal como a mensagem oculta de Histiaeus foi o primeiro elo na sua cadeia de ataque.
A esteganografia também é utilizada para extrair dados das máquinas das vítimas. Por exemplo, o atacante precisa de enviar dados para casa depois de aceder a uma rede da empresa. O malware baseado em esteganografia atinge este objetivo.
Qual é a dificuldade de esconder malware em imagens? Como prova de conceito, seria divertido experimentar e fazer um vídeo demonstrando a minha jornada de ataque a imagens esteganográficas. Felizmente, não é necessário fazer tatuagens no couro cabeludo!
Quão fácil é criar malware de esteganografia de imagens?
Estes ataques podem parecer sofisticados, mas o software torna indolor a incorporação de dados em imagens. Os programas de esteganografia gratuitos e disponíveis, como o 1-2 Steganography, o OpenStego e o QuickStego, estão facilmente disponíveis e são fáceis de utilizar.
Com estas ferramentas, o malware pode ser criado e extraído em poucos minutos com algumas linhas de código. O código abaixo demonstra como utilizei a biblioteca judyb Python para esconder e revelar dados em imagens.

Com um simples módulo Python, também pode esconder informação em imagens e enviá-la para onde quiser. A esteganografia é divertida. Pode ser usada para passar mensagens secretas aos amigos, mas os atacantes podem espalhar malware e infetar redes.
Porque é que é eficiente?
É fácil esconder malware em imagens, mas é difícil de o detetar.
Os atacantes incorporam dados ao nível do bit/pixel, pelo que é quase impossível detetar uma carga maliciosa com a maioria das ferramentas de verificação anti-malware. As imagens nocivas contornam facilmente a maioria dos métodos de deteção anti-malware em tempo real.
Como evitar ataques estenográficos - Desarme e reconstrução de conteúdos profundos
Uma vez que os métodos baseados na deteção são ineficazes, precisamos de outra forma de detetar código malicioso escondido em imagens.
Felizmente, existe um método poderoso chamado CDR (Content Disarm and Reconstruction - Desarmamento e Reconstrução de Conteúdo) para decompor ficheiros e remover dados nocivos. Também conhecido como sanitização de dados, o CDR é uma solução de segurança de confiança zero que assume que todos os ficheiros são maliciosos. Desconstrói ficheiros e remove conteúdo executável e elementos que não correspondem aos padrões de tipo de ficheiro dentro dos ficheiros. Por fim, reconstrói os ficheiros, garantindo a sua total utilização com conteúdos seguros.
Uma versão mais poderosa do CDR , denominada Deep CDRinspecciona ainda mais as imagens, analisando perfis, metadados e pixéis em busca de conteúdos nocivos.
Deep CDR usa sanitização recursiva para neutralizar ameaças. Se o atacante incorporou esta imagem num PDF, o Deep CDR analisa e higieniza todos os objectos do PDF.

Também remove quaisquer metadados estruturados, o que ajuda na privacidade e segurança. Os atacantes podem esconder trojans nos metadados. Retirar os metadados do ficheiro de imagem impede este vetor de ataque.
Ao nível do pixel, o nosso programa remove dados não utilizados que potencialmente contêm o payload parcial. Adiciona ruído aleatório a esses pixéis, o que interrompe a capacidade do payload de executar o código nocivo.
Também podemos otimizar os dados dos bitmaps. O algoritmo de compressão remove os dados não utilizados onde os dados maliciosos estão escondidos sem afetar a qualidade das imagens.
Como pode ver no exemplo abaixo, a qualidade da imagem permanece a mesma.

Se gosta de aprender sobre esteganografia e está interessado em mais tópicos de cibersegurança, inscreva-se na nossa lista de correio eletrónico.
Preocupado com a cibersegurança da sua organização? Contacte um especialista em segurança da OPSWAT hoje mesmo!