Aula 2 Antianálise
Introdução
Visão geral da seção: Nesta seção, o professor Jorge Alves introduz o assunto anti-análise e explica como as técnicas antimal dificultam a análise de malwares.
Técnicas Antimal
Compactação de Executável ou Empacotamento
- Consiste na criação de um arquivo executável e alto extraível.
- O arquivo executável é comprimido a partir de um algoritmo de compactação.
- O arquivo compactado é combinado com o código de compressão para que seja possível descompactar o executável original durante a execução do arquivo empacotado.
- Essa técnica foi criada para diminuir o espaço ocupado pelo arquivo executável e reduzir o tempo e largura de banda necessários para enviar o arquivo pela rede.
- Os atacantes começaram a usar essa técnica para dificultar a análise estática, modificando os valores do código original e as assinaturas do executável.
Ofuscação
- É uma técnica usada para tornar o código-fonte mais difícil de entender.
- Pode ser feita por meio da renomeação das variáveis, funções e classes, bem como pela inserção de instruções desnecessárias no código.
- Dificulta a análise dinâmica porque torna mais difícil acompanhar as informações em tempo real.
Anti-debugging
- São técnicas usadas pelos desenvolvedores para impedir que os depuradores analisem seus programas enquanto estão sendo executados.
- Algumas dessas técnicas incluem detecção da presença do depurador, interrupções aleatórias e instruções de salto condicional.
Anti-vm/sandbox
- São técnicas usadas para detectar se o programa está sendo executado em um ambiente virtualizado ou sandbox.
- Algumas dessas técnicas incluem a verificação do hardware, a detecção de drivers específicos e a análise do comportamento do sistema operacional.
Conclusão
As técnicas antimal são usadas pelos desenvolvedores de malware para dificultar a análise dos programas maliciosos. Essas técnicas incluem compactação de executável, ofuscação, anti-debugging e anti-vm/sandbox. É importante que os analistas de segurança estejam cientes dessas técnicas para poderem identificar e analisar adequadamente os malwares.
Ferramentas de análise de malware
Visão geral da seção: Nesta seção, o palestrante discute ferramentas específicas para extração de arquivos originais e identificação de compactadores. Ele também fala sobre técnicas utilizadas para dificultar a engenharia reversa.
Identificação de compactadores
- É possível utilizar ferramentas específicas para extrair arquivos originais sem precisar executá-los.
- A análise estática é possibilitada quando o compactador é identificado.
- A compressão é um dificultador na análise.
Identificação do compilador
- A ferramenta Portable Executable (PEiD) pode ser usada para descobrir qual foi o compilador usado na criação do executável.
Técnica de ofuscação
- A técnica de ofuscação foi criada originalmente para evitar que programas comerciais fossem crackeados.
- Hoje em dia, essa técnica também é utilizada para dificultar a análise de malware.
Métodos anti-análise
Eliminação de informação simbólica
- A eliminação das strings exibidas durante a execução do software é um dos métodos anti-craquem.
- Também é possível eliminar informações simbólicas dentro dos arquivos pontos já gerados da codificação Java.
Criação de função
- É possível criar uma função que codifica e decodifica as strings em tempo de execução.
Criptografia e Procedimentos Forenses
Visão Geral da Seção: Nesta seção, o palestrante discute a criptografia de software e o procedimento operacional padrão para análise forense de um antivírus.
Criptografia de Software
- A criptografia é usada para impedir a compreensão do fluxo lógico de execução do software.
- O método Anti-the-bug é usado para detectar a presença de bugs em um software malicioso.
- As somas de verificação são criadas dentro do código malicioso para detectar a presença do bug.
- O antibi bug funciona inserindo um breakpoint ou cheque no código binário para fazer depuração.
Procedimento Operacional Padrão
- Não se pode executar o software antivírus diretamente no disco rígido que está sendo analisado, pois isso pode modificar o disco e perder sua integridade jurídica.
- Para fins forenses, deve-se criar uma imagem física do disco e montá-la em modo leitura.
- A detecção de máquinas virtuais é usada como técnica de ambiente controlado para análise de malware.
Ambiente virtualizado e endereço MAC
Visão geral da seção: Nesta seção, o instrutor explica como os malwares podem modificar seu comportamento normal em um ambiente virtualizado. Ele também discute como o malware verifica o endereço físico da interface de rede (endereço MAC) para identificar se está sendo analisado.
Ambiente virtualizado
- Malwares podem modificar seu comportamento normal em um ambiente virtualizado criado para análise.
- Isso torna difícil obter uma análise fidedigna do malware.
- Quando você virtualiza qualquer sistema operacional, o endereço MAC é alterado pelo virtualizador para evitar conflitos com a placa de rede física real.
Endereço MAC
- O endereço MAC é composto por 6 bytes, sendo que os três primeiros identificam o fabricante da interface de rede.
- O malware conhece fabricantes conhecidos de interfaces físicas de rede.
- Para verificar se está sendo analisado, o malware verifica os primeiros bytes do endereço MAC da interface de rede.
Funcionamento do malware
- Quando o malware percebe que está sendo analisado, ele começa a funcionar de forma diferente do que foi projetado para funcionar.
- O código do malware tem uma forma própria de entender que está sendo analisado.
Transforme qualquer vídeo em um resumo como este
Vídeos do YouTube, reuniões, aulas. Com transcrição, busca e chat.