As primeiras vulnerabilidades oficiais no Machine Learning

Franco Piergallini Guida    20 enero, 2021
As primeiras vulnerabilidades oficiais no Machine Learning

Hoje você não é ninguém no mercado se não usar um sistema de Machine Learning. Seja um sistema de “se” aninhados ou um modelo de inteligência real com uma curva ROC invejável, essa técnica faz parte do discurso comum em segurança cibernética e, como tal, já foi incorporada ao setor como mais um método. Nós nos perguntamos se ele está sendo atacado ou sofrendo vulnerabilidades, uma forma de medir é saber se as falhas oficiais já são conhecidas e qual o impacto que tiveram.

Como você ataca um sistema de Machine Learning? Bem, como quase tudo na segurança cibernética, sabendo disso a fundo. Uma das fórmulas é “extrair” seu modelo de inteligência para evitá-lo. Se sabemos como um sistema se classifica, podemos enviar amostras para serem classificadas ao nosso gosto e passar despercebidas. Por exemplo, em 2019, a primeira vulnerabilidade associada a um sistema de aprendizado de máquina foi registrada no NIST.com um CVE específico. Aqui foi possível “imitar” um modelo de Machine Learning para a classificação de junk mail (SPAM), recolhendo a pontuação que o sistema de Proteção de Emails estava atribuindo aos diferentes cabeçalhos. Depois que o modelo foi replicado, eles extraíram o conhecimento que seria usado para gerar um ataque subsequente que contornasse os filtros.

Basicamente, o conhecimento relevante que os pesquisadores puderam obter replicando o modelo original foram os pesos que o sistema atribuiu a cada termo que aparecia no cabeçalho de um e-mail para classificá-lo como “não é spam”. A partir daí, teste a adição desses termos ao spam para “enganar” o modelo original e atingir o objetivo de ser capaz de classificar o spam como não spam.

Em nosso post “Pensando em ataques a WAFs baseados em Machine Learning” usamos a mesma técnica para enganar modelos implementados em alguns WAFs que detectam URLs maliciosos e XSS. Investigamos os modelos para entender ou saber quais são os termos que têm mais peso ao classificar uma URL como não maliciosa e os incluímos em nossa URL maliciosa para gerar uma classificação incorreta na previsão.

A resposta do fabricante a essa vulnerabilidade indica que parte da solução para esse problema era a capacidade do modelo de atualizar suas pontuações (pesos) em tempo real. Em outras palavras, sacrifique a sazonalidade em prol da adaptabilidade e retreine dinamicamente seu modelo com novas interações do usuário. Embora seja uma possibilidade interessante neste caso e que reforce o sistema, isso nem sempre é aplicável para qualquer modelo que usamos, pois pode levar a outro novo vetor de ataque onde um adversário poderia manipular os limites de decisão do modelo envenenando-o com inputs sintéticos que são na verdade “lixo”.  Como o invasor teria que inserir uma grande quantidade de lixo para ter um impacto significativo, os serviços mais populares e com grande volume de tráfego legítimo são mais difíceis de envenenar para ter um impacto significativo no resultado do aprendizado.

Um novo mundo de oportunidades

A vulnerabilidade anterior era restrita a um produto, mas também vimos problemas genéricos nos algoritmos. Para fazer uma analogia, seria como encontrar uma falha na implementação de um fabricante, em oposição a uma falha no projeto do protocolo (o que forçaria todos os fabricantes a atualizar) . Nesse sentido, talvez uma das mais famosas implementações de aprendizado de máquina sejam aquelas baseadas em algoritmos treinados por meio de gradiente descendente (gradient descent).

Não muito tempo atrás, eles foram considerados potencialmente vulneráveis ​​a ataques arbitrários de classificação incorreta, conforme explicado neste alerta do CERT Coordination Center, Carnegie Mellon University. Neste caso, já estudamos e compartilhamos em um aplicativo do mundo real o ataque a um sistema de reconhecimento de vídeo Deep Fakes, e outro relacionado ao ataque de aplicativos móveis para detecção de melanomas na pele que publicaremos posteriormente.

Concluindo, ao trazermos essa tecnologia para o mundo da segurança, veremos mais exemplos de falhas de implementação e, ainda mais esporadicamente, de falhas de design em algoritmos que colocarão em teste a habilidade desses sistemas supostamente inteligentes. As consequências geralmente serão que os invasores serão capazes de enganá-los para classificá-los incorretamente e, portanto, provavelmente, contornar certos sistemas de segurança.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *