Artigos

sysblog

Análise de malware em resposta a incidentes de segurança (3/3) – Análise de malware

Este é o terceiro e último de uma série de 3 posts sobre análise de malware e o seu papel na resposta a incidentes de segurança. Depois da identificação dos ficheiros descrita no post anterior, neste artigo é apresentada sumariamente a metodologia que poderá ser seguida para a análise do malware, mais concretamente do seu comportamento e capacidades.

A análise de malware tem dois grandes objectivos. A identificação do tipo de ameaça e dos seus objectivos e a recolha de informação que permita uma resposta eficiente, bloqueando o ataque e controlando os danos já sofridos. Por exemplo, indicadores que permitam detectar a presença do malware num sistema, indicadores que permitam detectar actividade do malware na rede e  tácticas de remoção do malware e de resposta ao incidente que deverão ser aplicadas.

Esta análise pode ser efectuada com níveis de profundidade que vão desde uma análise automatizada com recurso a sandboxes à engenharia reversa e análise pormenorizada do código Assembly, pelo que é necessário algum pragmatismo na selecção da metodologia para que seja identificado o máximo de informação sem que se perca demasiado tempo com detalhes de pouca utilidade prática.

A forma mais eficiente de fazer a análise e um bom primeiro passo de análise é o recurso a malware sandboxes que permitem executar o malware num ambiente controlado, monitorizando as suas acções e produzindo um relatório de forma automatizada.

Estas ferramentas permitem tirar conclusões rápidas sobre as capacidades e o funcionamento do malware. No entanto, têm diversas limitações (e.g. Detecção por parte do malware, utilização de criptografia, condições específicas de execução do malware) e muitas vezes não oferecem a flexibilidade necessária para chegar às conclusões pretendidas.

Assim, após análise inicial em sandbox, quando a informação produzida não é suficiente, é realizada uma análise estática manual dos ficheiros. Esta análise consiste na análise dos binários do malware, de forma a inferir sobre o seu comportamento. Para o fazer são realizadas operações tais como a identificação de strings presentes no ficheiro ou a análise das bibliotecas importadas. Este processo nem sempre é directo, uma vez que o malware recorre muitas vezes a técnicas que impedem a análise dos binários, sendo por isso necessário algum pré-processamento para unpacking dos binários antes da análise.

Em seguida, é normalmente realizada uma análise dinâmica, que consiste na execução do malware num ambiente controlado e especialmente preparado para o efeito. Este tipo de análise vai para além da análise efectuada por sandboxes automatizadas, já que é possível a simulação de comportamentos do utilizador mais completos para levar o malware a realizar operações adicionais e a configuração do sistema para a análise específica do malware em questão. Por exemplo, poderá ser fornecido ao malware informação que este está programado para roubar tais como credenciais ou documentos e analisar o seu comportamento nessas situações.

Por fim, quando as metodologias de análise simples não são suficientes para a obtenção da informação pretendida, poderá ser necessária a realização de engenharia reversa do malware com recurso a disassemblers e debuggers de forma a compreender a fundo o comportamento do malware. Este é um procedimento moroso e que exige conhecimentos muito especializados, pelo que na grande maioria dos casos não é levado a cabo.

Uma vez finalizada a análise, deverá ter sido gerada diversa informação util, tal como:

  • Modo de infecção (e.g. Emails ou sites visitados);
  • Vulnerabilidades exploradas para a infecção;
  • Indicadores de infecção para a pesquisa de hosts infectados;
  • Indicadores de rede para pesquisa de hosts infectados através da análise de tráfego de rede e criação de regras IDS;
  • Medidas a tomar para parar de imediato a comunicação com os servidores de comando e controlo;
  • Amostras de malware para envio a fabricantes de antivírus;
  • Informação útil sobre a ameaça, para programas de awareness e comunicação de tentativas de fraude a clientes e colaboradores;

Esta informação poderá então ser utilizada para uma resposta adequada e eficiente ao incidente, recuperando o controlo dos sistemas e tendo a capacidade de responder às questões sobre qual o incidente e o seu impacto real.

Autor: Tiago Pereira @ SysValue

Análise de malware em resposta a incidentes de segurança (1/3) – Introdução

Este é o primeiro de uma série de 3 posts sobre análise de malware e o seu papel na resposta a incidentes de segurança. Neste artigo será discutida a problemática da resposta a incidentes de segurança que envolvem malware e a motivação para a realização de análise de malware no processo de resposta a incidentes.

Os ataques com malware são hoje em dia algo que faz parte do dia a dia de qualquer organização. Os ataques podem, tal como o malware, ter diversas finalidades e podem de uma forma genérica ser separados em ataques genéricos, que afectam de forma transversal todas as organizações, ou em ataques dirigidos a uma organização em particular.

Alguns exemplos comuns de ataques genéricos com recurso a malware são:

  • Roubo de credenciais, como é o caso de trojans bancários, concebidos para roubar credenciais de acesso a sistemas de home banking;
  • Extorsão, como é o caso do conhecido malware cryptolocker, no qual os documentos de um utilizador são encriptados sendo posteriormente exigido um pagamento para que estes sejam decifrados;
  • Roubo de recursos (e.g. largura de banda, CPU), como é o caso de malware para o envio de campanhas de spam, ou malware que utiliza o CPU para minar bitcoins.

Os ataques dirigidos, embora menos comuns, existem com relativa frequência em determinados tipos de organizações e tipicamente têm como objectivos a recolha de informação privilegiada (e.g. propriedade industrial) e a manutenção de um acesso remoto persistente. Estes ataques de roubo de informação, são hoje em dia conhecidos como APT (Advanced Persistent Threat) e têm sido muito mediáticos nos últimos tempos.

Quer se trate de malware genérico ou de uma APT sofisticada, a indicação da ocorrência de um ataque pode surgir de diversas formas. Através da detecção em sistemas de monitorização de segurança (e.g. SIEM, DLP, IDS), através de colaboradores, clientes, parceiros ou fornecedores que detetem o ataque, ou mesmo através da comunicação social em casos mais mediáticos.

Uma vez detectado o ataque surgem naturalmente um grande número de questões:

  • Qual o objectivo dos atacantes?
  • De que tipo de malware se trata?
  • Quais as suas capacidades e funcionalidades?
  • Que sistemas foram afectados?
  • Que informação foi comprometida?
  • Como podemos bloquear o ataque rapidamente e de forma eficaz?

Sem resposta a estas questões, a solução passa muitas vezes pela execução sem sucesso de software antivírus, pela reinstalação mais ou menos cega de sistemas. Resultando em reinfecções consecutivas, no desconhecimento do impacto de um ataque e na incapacidade de determinar se este foi ou não bem sucedido no roubo de informação sensível.

A existência de um processo definido de resposta a incidentes que inclua a análise de malware é fundamental para que uma organização consiga responder a questões como as acima listadas e para que consiga responder de forma adequada a um ataque, bloqueando-o idealmente antes do compromisso de informação sensível.

Autor: Tiago Pereira @ SysValue

Malware

Cada vez mais os problemas relacionados com malware afetam tanto particulares como empresas. Há alguns anos atrás, os tipos mais comuns de malware eram os vírus e os worms, para os quais existiam ferramentas baseadas em assinaturas (antivírus) com uma boa eficácia. No entanto, esse cenário tem vindo a alterar-se, sendo cada vez mais comuns outros tipos de malware: no passado recente tivemos eventos como a operação Aurora (http://en.wikipedia.org/wiki/Operation_Aurora), Zeus 
(http://en.wikipedia.org/wiki/Zeus_(Trojan_horse), e outros mais ou menos significativos e com maior ou menor exposição. Em cada um destes casos, o modus operandis era distinto pelo que o combate não pode passar por ações individualizadas de prevenção de uma determinada vulnerabilidade (explorada por uma dessas instâncias), mas por uma ação mais abrangente e estruturada com o intuito de proteger a informação mais valiosa das empresas (tipicamente o alvo destes ataques).
A dificuldade está na implementação dessas medidas protetoras (que podem passar pela implementação de ferramentas ou estratégias) dado que o grau de efetividade contra o malwareavançado (APT – Advanced Persistent Threat) dificilmente é de 100%. Adicionalmente, a adoção massiva e crescente da chamada “social media”, tanto pelas empresas como pelos particulares, torna esta tendência como um canal para a fácil distribuição do malware e de difícil controlo.
Os gráficos seguintes ilustram os principais vetores de entrada do malware:
Blog malware web
Blog malware tre
.
Para os negócios que realizam transações na web, como por exemplo sites de comércio online ou os sites de homebankingmalware como o trojan Zeus, que se posiciona no browser do cliente e intersecta todos os pedidos (MITB – Man-in-the-Browser), são especialmente preocupantes. Neste caso, não podemos confiar em nada que é enviado pelo browser do cliente, nem mesmo com a utilização de cifra SSL, não sendo possível para as aplicações detetar este tipo de ameaças dado que todo o código no cliente (client-side) pode ser manipulado pelo malware. Existem, no entanto, algumas proteções adicionais que podem ser aplicadas para minimizar a sua efetividade:
  • Implementação de dois níveis de autenticação/autorização, recorrendo a um dispositivo distinto do que origina a transação (e assumindo que a probabilidade de infeção simultânea dos dois dispositivos é baixa);
  • Implementação de medidas no lado das aplicações (server-side fraud detection) para determinar comportamentos anómalos, por exemplo, por variação dos montantes típicos ou das operações comuns.
Este tipo de transações é um alvo sempre apetecível para estas ameaças, que variam e assumem diversas formas explorando inúmeras vulnerabilidades. Como referido, uma das variantes explora as vulnerabilidades dos seus clientes (client-side vulnerabilities) que visa não diretamente a organização, mas os seus utilizadores, tirando partidos de sistemas menos protegidos e não tão educados quanto ao risco de determinados comportamentos. Continuam, no entanto, a existir ataques dirigidos às próprias organizações, que recorrem a soluções como o IPS (Intrusion Prevention Systems) ou o WAF (Web Application Firewalls), tipicamente inline, para o controlo e proteção contra essas ameaças. Nalguns casos, o volume de trafego que tem que ser processado por essas ferramentas limita-as na sua análise, pelo que soluções que fazem essa análise em modo offline, podem ser muito mais detalhadas e minuciosas cobrindo assim um espectro maior de ameaças, estando, naturalmente, limitadas na sua capacidade de prevenir o primeiro ataque, mas tendo a capacidade de gerar alertas para estas ameaças. Cabe depois à organização implementar um plano de ação para o tratamento destes alertas e análise do impacto da sua execução.
A Gartner lançou em finais de 2013 um relatório (http://www.gartner.com/newsroom/id/2595015), no qual caracteriza em cinco o tipo de medidas que pode ser implementada por uma organização para garantir a proteção contra este tipo de ameaças:
 
  • Network Traffic Analysis: A análise do trafego de rede permite definir uma baseline, sendo os comportamentos anómalos analisados e classificados. Implica algum tunningda solução para minimizar os falsos positivos resultantes desta abordagem.
  • Network Forensics: Tipicamente garantem a captura total do trafego de rede e permitem reconstruir e simular num ambiente controlado o impacto de determinado trafego observado. Tem requisitos elevados de storage que aumentam com períodos de retenção elevados.
  • Payload Analysis: Associados a técnicas de sandbox local ou na cloud, para deteção do malware. Estas soluções têm uma visibilidade limitada do impacto do malware nosendpoints, sendo muitas vezes complementada com outras técnicas.
  • Endpoint Behaviour Analysis: Baseado na ideia do isolamento da execução das aplicações nos endpoints, ou na monitorização do comportamento e dos recursos acedidos pela sua execução. Implica a instalação de um agente no endpoint com as implicações que essa instalação acarreta na gestão e manutenção desse agente.
  • Endpoint Forensics: Conjunto de ferramentas que garante às equipas de análise de incidentes de segurança (incident response teams), a automatização do processo de resposta a incidentes.
Blog malware flux
Cada vez mais este tipo de soluções são um requisito nas mais variadas organizações. A recomendação da gartner é a da aplicação conjunta de pelo menos dois tipos de medidas das acima mencionadas, complementando as vantagens para cada um dos segmentos (linhas) com diferentes horizontes temporais (p.ex. colmatar as dificuldades de uma análise do payload com uma análise forense dos endpoints – tipo 3 e tipo 5). Como referido, a estratégia não deverá ser contra uma determinada ameaça ou variante, mas de uma forma global contra este tipo de ameaças através de um plano de ação bem definido, que passa não apenas pela implementação de políticas ou ferramentas por forma a criar ambientes mais seguros e menos suscetíveis às várias ameaças, mas dos próprios utilizadores que muitas vezes são o elo mais fraco desta cadeia.
Autor: Rui Branco @ SysValue

Bibligrafia:

http://tinyurl.com/qe562at

Sources: November 2013 Osterman Research Survey on Email, Web and Social Mdeia Security; 2013 Trustwave Global Security Report; The Global Malware Problem: Complanency Can Be Costl, Osterman Research.