Prólogo
Estarei apresentando uma série
de artigos voltados para o estudo básico de malware, o meu objetivo não é
esgotar o assunto e sim colocar em discussão o que fazer para combater e até
mesmo evitar estas pragas virtuais e acredito que a melhor forma de se combater
qualquer mal é estudando e debatendo sobre o mesmo, por isso deixo em aberto os
comentários. E quero deixar claro que também não sou nenhum especialista, estou
em processo de aprendizagem e podemos estar sujeitos a erros.
Na parte2 estaremos estudando:
+ Técnicas de análise de
malware;
+ Programas Packeado;
+ Portable Executable File
Format.
Técnicas de Análise de Malware
Vamos agora verificar os modos
de análise de malware, isso não quer dizer que usarei todas as técnicas na
série de artigos propostos, não é esse o objetivo, estarei focando em algumas
técnicas, aquelas que me ajudam no meu cotidiano, as outras técnicas fica por
conta de cada um que pode achar necessário usar em seu estudo de caso em
particular.
Analise estática básica: Este é um método que gosto de usar, acho
de primordial importância, nesta técnica podemos encontrar muitas informações
do malware e a partir dessas informações escolher as ferramentas que usaremos
na etapa seguinte, o objetivo é checar o arquivo/programa suspeito e verificar
o seu conteúdo, nesta primeira etapa quase sempre, já é possível definir se o
arquivo/programa apresenta alguma ameaça.
Analise estática avançada: Consiste na engenharia reversa do
arquivo/programa suspeito, checar o seu conteúdo, em assembly, verificar a
ordem de execução e descobrir o que ele faz, nesta análise é possível já saber
qual é o comportamento que terá quando for executado.
Analise Dinâmica Básica: Esta técnica é a mais divertida, e o meu
foco, é onde rodamos o malware e observamos o seu comportamento no sistema
operacional, essa observação é realizada por programas auxiliares que checarão
parte individuais do sistema colhendo e gerando logs de tudo que acontece,
quando terminado a analise, será possível saber todas as alterações realizadas
pelo arquivo/programa suspeito.
Analise Dinâmica Avançada: Essa técnica é preciso debugar o código
malicioso, para que se possa examinar detalhes de seu interior, com o objetivo
de extrair informações detalhadas de seu comportamento e alterações no sistema
operacional e na rede local. Essa técnica é usada quando não se consegue obter
informações suficientes nas técnicas anteriores.
Programas “Packeado”
O motivo do autor do malware,
ofuscar o código malicioso e/ou packear é na verdade para dificultar sua
detecção e análise.
Programas Packeado: quando o programa packeado roda, um pequeno
subconjunto de programas é descompactado e é executado. Esse método é
dificilmente detectado na análise estática.
Portable Executable File Format
O formato PE é usado no MS Windows, como arquivo executável, objetct code e DLL. A estrutura do PE contém informações necessárias para o MS Windows carregar e gerenciar o núcleo executável, quase todos os executáveis para MS Windows tem o formato do PE, salvo alguns formatos antigos que raramente conterá um malware, ou talvez sim!
O formato PE é usado no MS Windows, como arquivo executável, objetct code e DLL. A estrutura do PE contém informações necessárias para o MS Windows carregar e gerenciar o núcleo executável, quase todos os executáveis para MS Windows tem o formato do PE, salvo alguns formatos antigos que raramente conterá um malware, ou talvez sim!
O PE inicia no cabeçalho que
inclui informações sobre o código, tipo de aplicação, DLL requeridas e espaço
em disco necessário. As informações d cabeçalho do PE é de grande importância
para o analista de malware.
Os programadores para não
precisar reimplementar uma determinada função já existe em outro programa,
cria-se então o import Link, a biblioteca pode ser linkada estaticamente, pela runtime
ou de forma dinâmica. Conhecer como o código da biblioteca esta linkada é
crucial para entender como as bibliotecas do HEAD PE estão linkadas e assim é
possível saber as dependências do malware, em um efeito em escada, é possível
saber quais partes do Sistema Operacional é ativado, como por exemplo,
interface de rede, alteração de registro e etc.
Por: Edilson Feitoza
Quem sou eu:
Graduado em Redes de Computadores e especialista em Gestão de Projetos em TI.
Atualmente trabalha como Administrador de Redes em uma empresa no ramo de papéis e cadernos e professor universitário nos cursos de Sistema de informação e Analise e Desenvolvimento de Software.
| |
Nenhum comentário:
Postar um comentário