Ir para o conteúdo principal
TECHNOLOGY

Machine Learning na cibersegurança

Conjuntos ramificados de decisão, hash sensível à localidade, modelos de comportamento e agrupamento de fluxos de entrada; todos os nossos métodos de Machine Learning são desenvolvidos para atender aos requisitos de segurança do mundo real: taxa baixa de falsos positivos, capacidade de interpretação e robustez perante um possível adversário.


Arthur Samuel, um pioneiro em inteligência artificial, descreveu o Machine Learning como um conjunto de métodos e tecnologias que "confere aos computadores a capacidade de aprender sem serem explicitamente programados". Em um caso específico de aprendizagem supervisionada antimalware, a tarefa poderia ser formulada da seguinte maneira: considerando como entrada um conjunto de características de objeto X e rótulos de objeto correspondentes Y, crie um modelo que produzirá os rótulos Y corretos para os objetos de teste X que não foram vistos anteriormente. X pode ser algumas características que representam o conteúdo ou o comportamento do arquivo (estatísticas do arquivo, lista de funções de API usadas, etc.) e os rótulos Y podem ser simplesmente "malware" ou "benigno" (em casos mais complexos, podemos usar uma classificação mais granular, como vírus, Trojan-Downloader, Adware, etc.). No caso da aprendizagem não supervisionada, estamos mais interessados em descobrir a estrutura de dados oculta, por exemplo, encontrar grupos de objetos semelhantes ou recursos altamente correlacionados.

A proteção da próxima geração em vários níveis da Kaspersky utiliza métodos de Machine Learning extensivamente em todos os estágios do pipeline de detecção: desde métodos de agrupamento escalonáveis usados para pré-processamento de fluxo de arquivos de entrada na infraestrutura até modelos de rede neural profunda, robusta e compacta para detecção comportamental que trabalhará diretamente nas máquinas dos usuários. Essas tecnologias são projetadas para abordar vários requisitos importantes dos modelos de Machine Learning em aplicativos de segurança da informação do mundo real, ou seja, taxa de falsos positivos extremamente baixa, capacidade de interpretação de um modelo e robustez perante um adversário em potencial.

Vejamos algumas das mais importantes tecnologias baseadas em Machine Learning usadas nos produtos de endpoint da Kaspersky.

Conjunto de árvores de decisão

Nessa abordagem, o modelo preditivo assume a forma de um conjunto de árvores de decisão (por exemplo, uma floresta aleatória ou árvores com gradiente aumentado). Cada nó de uma árvore que não seja folha contém algumas questões relacionadas às características de um arquivo, enquanto os nós folha contêm a decisão final da árvore sobre o objeto. Durante a fase de teste, o modelo percorre a árvore respondendo às perguntas nos nós com as características correspondentes do objeto em questão. No estágio final, as decisões de várias árvores são calculadas em uma maneira específica do algoritmo para fornecer a decisão final sobre o objeto.

O modelo beneficia o estágio de proteção proativa pré-execução no local do endpoint. Uma de nossas aplicações dessa tecnologia é o Cloud ML for Android, usado na detecção de ameaças em dispositivos móveis.



Hash de similaridade (hash sensível à localidade)

Antigamente, os hashes usados para criar “rastros” de malware eram sensíveis a cada pequena alteração em um arquivo. Essa desvantagem era explorada por programadores de malware por meio de técnicas de ofuscação como o polimorfismo do lado do servidor: pequenas alterações no malware o retiravam do radar. O hash de similaridade (ou hash sensível à localidade) é um método para detectar arquivos maliciosos semelhantes. Para fazer isso, o sistema extrai características do arquivo e usa o aprendizado de projeção ortogonal para escolher as características mais importantes. Em seguida, a compactação baseada em Machine Learning é aplicada de modo que os vetores de valor de características semelhantes sejam transformados em padrões semelhantes ou idênticos. Esse método fornece uma boa generalização e reduz consideravelmente o tamanho da base de registros de detecção, uma vez que um registro agora pode detectar toda a família do malware polimórfico. O modelo beneficia o estágio de proteção proativa pré-execução no local do endpoint. Ele é aplicado em nosso Sistema de detecção de hashes por similaridade.



Modelo comportamental

Um componente de monitoramento fornece um log de comportamento, a sequência de eventos do sistema ocorridos durante a execução do processo junto com os argumentos correspondentes. Para detectar atividades maliciosas em dados de logs observados, nosso modelo compacta a sequência de eventos obtida em um conjunto de vetores binários e treina a rede neural profunda para distinguir logs limpos e maliciosos. A classificação do objeto feita pelo modelo comportamental é usada pelos módulos de detecção estática e dinâmica nos produtos Kaspersky no endpoint.



O Machine Learning desempenha um papel igualmente importante quando se trata de criar uma infraestrutura adequada de processamento de malware em laboratório. Nós o usamos para os seguintes fins de infraestrutura:

Clustering do fluxo de entrada

Os algoritmos de clustering baseados em Machine Learning nos permitem separar com eficiência os grandes volumes de arquivos desconhecidos que chegam à nossa infraestrutura em um número razoável de clusters, alguns dos quais podem ser processados automaticamente com base na presença de um objeto já anotado dentro dele.



Modelos de classificação em grande escala

Alguns dos modelos de classificação mais poderosos (como uma enorme floresta de decisão aleatória) requerem uma grande quantidade de recursos (tempo de processador, memória), juntamente com extratores de características caros (por exemplo, o processamento via sandbox pode ser necessário para logs de comportamento detalhados). É mais eficaz, portanto, manter e executar os modelos em um laboratório e, em seguida, destilar o conhecimento adquirido por esses modelos por meio do treinamento de algum modelo de classificação leve nas decisões de saída do modelo maior.

Segurança do Machine Learning

Os algoritmos de Machine Learning, uma vez liberados do laboratório e introduzidos no mundo real, podem ser vulneráveis a muitas formas de ataque projetadas para forçar os sistemas de Machine Learning a cometer erros deliberados. Um invasor pode envenenar um conjunto de dados de treinamento ou fazer engenharia reversa do código do modelo. Além disso, os hackers podem usar "força bruta" nos modelos de Machine Learning com "IA adversária" especialmente desenvolvida para gerar automaticamente muitas amostras de ataque até que um ponto fraco do modelo seja descoberto. O impacto desses ataques em sistemas antimalware baseados em Machine Learning pode ser devastador. Um cavalo de Troia identificado incorretamente significa milhões de dispositivos infectados e milhões de dólares perdidos.

Por esse motivo, algumas considerações importantes devem ser aplicadas ao uso de Machine Learning em sistemas de segurança:

  • O fornecedor de segurança deve compreender e atender cuidadosamente aos requisitos essenciais para o desempenho do Machine Learning no mundo real e potencialmente hostil: requisitos que incluem robustez para adversários em potencial. As auditorias de segurança específicas de ML/IA e "red-teaming" devem ser um componente-chave do desenvolvimento de ML/IA.
  • Ao avaliar a segurança de uma solução de Machine Learning, devem ser feitas perguntas sobre o quanto a solução depende de dados e arquiteturas de terceiros, já que muitos ataques são baseados em informações de terceiros (estamos falando de feeds de inteligência de ameaças, conjuntos de dados públicos, modelos de ML pré-treinados e terceirizados).
  • Os métodos de Machine Learning não devem ser vistos como "a resposta final". Eles precisam fazer parte de uma abordagem de segurança em várias camadas, onde tecnologias de proteção complementares e conhecimento humana trabalham juntos, protegendo-se mutuamente.

Para obter uma visão geral mais detalhada dos ataques populares a algoritmos de Machine Learning e os métodos de proteção contra essas ameaças, consulte nosso whitepaper "IA sob ataque: como proteger o Machine Learning em sistemas de segurança".

Produtos relacionados

Whitepaper

Machine Learning for Malware Detection


Whitepaper

Machine learning and Human Expertise

Whitepaper

AI under Attack: How to Secure Machine Learning in Security System

Independent Benchmark Results

Tecnologias relacionadas