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

sysblog

Comprehensive Monitoring as a Service (CMaaS)

CMaaS, em tradução livre Monitorização Abrangente como Serviço, é um conceito recente e inovador a entrar no mundo das soluções de monitorização.

cmaas

Inserido no contexto dos XaaS um termo colectivo com uma série de significados – incluindo “X como um serviço”, “qualquer coisa como serviço” ou “tudo como serviço” – que se referem a um crescente número de serviços prestados através da Internet em vez de fornecidos localmente.

CMaaS é um caso particular de um SaaS – Software as a Service (software como serviço) herdando assim todas as vantagens que advêm de fornecer um software desta forma.

O CMaaS é uma ferramenta de monitorização cujo objetivo principal é o de informar os seus utilizadores sobre o estado e o desempenho de todos os seus serviços, aplicações e infra-estruturas, independentemente das respectivas localizações geográficas, arquiteturas e plataformas tecnológicas.

Como qualquer SaaS, o CMaaS oferece os seus serviços através de um aplicativo central, baseado na web, alojado pelo fornecedor do serviço de monitorização, sem os custos diretos e indirectos da infraestrutura para o cliente.

O termo Abrangente (do inglês comprehensive) realça a capacidade desta filosofia de monitorizar tudo o que for necessario. Apresentando-se assim como uma solução para praticamente todo o tipo de situações de monitorização: desde a monitorização dos sistemas de produção numa indústria, até o seguimento dos parâmetros ambientais numa casa de habitação, passando por uma PME que necessite de monitorizar os seus servidores e aplicações, entre outros cenários.

O principal benefício da monitorização como um serviço é a facilidade de configuração e manutenção. Em geral, para se iniciar o processo de monitorização num sistema deste tipo, basta a criação on-line de uma conta junto de um dos fornecedores deste tipo de soluções, e garantir que a infra-estrutura está pronta a ser monitorizada (geralmente algo bastante simples bastando que os serviços sejam acessíveis pelos sistemas de monitorização) e pode-se começar a monitorizar imediatamente. O funcionamento e manutenção do CMaaS é garantido pelo fornecedor do serviço.

Dos muitos benefícios desta abordagem destacam-se:

  • Fácil de configurar, ainda mais fácil de manter – Como dito anteriormente, para iniciar a monitorização, o utilizador não tem que instalar os tradicionalmente complexos  sistemas, nem de manter servidores aplicacionais, bases de dados e outros equipamentos referentes à ferramenta de monitorização, ao contrário do que acontece numa solução local (on-premise).

  • Evolução rápida do produto – Os sistemas CMaasS são atualizados centralmente, sem problemas logísticos e de forma transparente para os utilizadores da solução.

  • Aplicações distribuídas são facilmente monitorizadas – Através deste tipo de soluções, uma aplicação distribuida por múltiplos servidores e/ou geografias é muito mais fácil de monitorizar, não necessitando de agentes nem de instalação de software especifico.

  • Perfeito para nuvens públicas – Porque o sistema de monitorização deve ser independente do sistema cloud que está a servir a aplicação em si  e porque não faz sentido pagar pelo alojamento na cloud de mais um sistema de monitorização.

  • Acessibilidade Global – Acesso ao sistema de monitorização de qualquer lugar e a partir de qualquer dispositivo.

Como não existem soluções perfeitas, há alguns aspetos a considerar na comparação entre uma solução local (on premise) e uma solução CMaaS:

  • Segurança dos dados resultantes da monitorização – Como a logística do serviço está do lado dos fornecedores do CMaaS, os dados resultados da monitorização não estão sobre o controlo direto do cliente.

  • Segurança das aplicações e infraestruturas – Os pontos de entrada para a infraestrutura a monitorizar podem ser explorados como vetores de intrusão. Para mitigar este risco, a instalação de componentes de monitorização locais (dentro da infraestrutura) pode ser uma solução.

  • Fiabilidade do sistema de monitoramento – No fim do dia é tudo uma questão de confiança. Há que confiar nos fornecedores do serviço de monitorização a vários níveis: disponibilidade da monitorização (24/7) / segurança de dados do cliente / competência.

  • Os dados em tempo real – Este é provavelmente o “calcanhar de Aquiles” dos CMaaS. Se os requisitos de monitorização envolvem a avaliação do estado dos serviços em tempo real (e não com o habitual atraso que muitas das soluções CMaaS apresentam) o CMaaS pode não ser a solução mais adequada.

  • Desempenho da solução de monitorização – A configuração das taxas de recolha de dados de performance em soluções CMaaS normalmente não estão disponíveis ou não têm possibilidade de baixa resolução.

  • Personalização da solução de monitorização – Qualquer solução CMaaS, por melhor que seja e por maior variedade de possibilidades de configuração e personalização que apresente, não poderá competir com uma solução desenvolvida à medida das necessidades do cliente.

Em Conclusão, A Monitorização Abrangente como Serviço é uma solução atraente para muitas empresas e situações especialmente em sistemas baseados em nuvem e empresas que não queiram ou não possam suportar os custos de uma solução local.

 
 
 
Bibliografia:

Autor: Tiago Pombeiro @SysValue

logotipo_POR_Lisboa_100pxlogotipo_QREN_100px
logotipo_UE_Feder_100px

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.