A OWASP (Open Worldwide Application Security Project) é uma fundação sem fins lucrativos que trabalha para melhorar a segurança dos softwares. Uma das contribuições mais conhecidas da OWASP são as listas de vulnerabilidades de segurança da informação mais exploradas por invasores. Algumas das listas da OWASP, são a OWASP Top Ten, OWASP Data Security Top Ten, OWASP AI Security and Privacy Guide e OWASP Machine Learning Security Top Ten.
A OWASP continua a evoluir suas listas de segurança para se manter atualizada com as tendências e ameaças emergentes. Essas listas são valiosas ferramentas para orientar os desenvolvedores e profissionais de segurança na construção de softwares seguros.
Com relação à inteligência artificial e em específico o aprendizado de máquina, alguns dos principais tipos de ataques são:
🔓 Adversarial Attack
Ataques adversários são um tipo de ataque no qual um invasor altera deliberadamente os dados de entrada para enganar o modelo. Exemplo: um modelo de aprendizado profundo é treinado para classificar imagens em diferentes categorias, como cães e gatos. Um invasor cria uma imagem adversária muito semelhante a uma imagem legítima de um gato, mas com pequenas perturbações cuidadosamente elaboradas que fazem com que o modelo a classifique erroneamente como um cachorro. Quando o modelo é implantado em produção, o invasor pode usar a imagem adversária para contornar as medidas de segurança ou causar danos ao sistema.
🔓 Data Poisoning Attack
Os ataques de envenenamento de dados ocorrem quando um invasor manipula os dados de treinamento para fazer com que o modelo se comporte de maneira indesejável. Exemplo: um invasor altera (envenena) os dados de treinamento para um modelo de aprendizagem profunda que classifica e-mails como spam ou não spam. O invasor executou esse ataque inserindo e-mails de spam rotulados como não spam no conjunto de dados de treinamento. Isso pode ser feito comprometendo o sistema de armazenamento de dados, por exemplo, invadindo a rede ou explorando uma vulnerabilidade no software de armazenamento de dados. O invasor também pode manipular o processo de rotulagem de dados, como falsificar a rotulagem dos e-mails ou subornar os funcionários responsáveis pela rotulação de dados para fornecer rótulos incorretos.
🔓 Model Inversion Attack
Os ataques de inversão de modelo ocorrem quando um invasor faz a engenharia reversa do modelo para extrair informações dele. Exemplo: um invasor treina um modelo de aprendizado profundo para realizar o reconhecimento facial. Esse modelo é utilizado para realizar um ataque de inversão de modelo em um modelo de reconhecimento facial diferente usado por uma empresa ou organização. O invasor insere imagens de indivíduos no modelo e recupera as informações pessoais dos indivíduos através das previsões do modelo, como nome, endereço ou número de documentos. O invasor executou esse ataque treinando o modelo para realizar o reconhecimento facial e, em seguida, usando esse modelo para inverter as previsões de outro modelo de reconhecimento facial. Isso pode ser feito explorando uma vulnerabilidade na implementação do modelo ou acessando o modelo por meio de uma API. O invasor seria então capaz de recuperar as informações pessoais dos indivíduos a partir das previsões do modelo.
🔓 Membership Inference Attack
Os ataques de interferência de associação ocorrem quando um invasor manipula os dados de treinamento do modelo para fazer com que ele se comporte de maneira a expor informações confidenciais. Exemplo: um invasor deseja obter acesso à informações financeiras confidenciais de indivíduos. Eles fazem isso treinando um modelo de aprendizado de máquina em um conjunto de dados de registros financeiros e usando-o para consultar se o registro de um determinado indivíduo foi ou não incluído nos dados de treinamento. O invasor pode usar essas informações para inferir o histórico financeiro e as informações confidenciais dos indivíduos. O invasor executou esse ataque treinando um modelo de aprendizado de máquina em um conjunto de dados de registros financeiros obtidos de uma organização financeira. Eles então usaram esse modelo para consultar se o registro de um determinado indivíduo foi ou não incluído nos dados de treinamento, permitindo que eles inferissem informações financeiras confidenciais.
🔓 Model Stealing
Os ataques de roubo de modelo ocorrem quando um invasor obtém acesso aos parâmetros do modelo de IA. Exemplo: um invasor está trabalhando para um concorrente de uma empresa que desenvolveu um valioso modelo de aprendizado de máquina. O invasor quer roubar esse modelo para que sua empresa ganhe uma vantagem competitiva e comece a usá-lo para seus próprios fins. O invasor executou esse ataque fazendo engenharia reversa do modelo de aprendizado de máquina da empresa, desmontando o código binário ou acessando os dados e o algoritmo de treinamento do modelo. Depois que o invasor fizer a engenharia reversa do modelo, ele poderá usar essas informações para recriá-lo e começar a usá-lo para seus próprios fins.
🔓 Corrupted Packages
Os ataques de pacotes corrompidos ocorrem quando um invasor modifica ou substitui uma biblioteca ou modelo de aprendizado de máquina usado por um sistema. Exemplo: um invasor deseja comprometer um projeto de aprendizado de máquina que está sendo desenvolvido por uma grande organização. O invasor sabe que o projeto depende de vários pacotes e bibliotecas de código aberto e deseja encontrar uma maneira de comprometer o projeto. O invasor executou o ataque modificando o código de um dos pacotes dos quais o projeto depende, como o Scikit-learn. O invasor então carrega essa versão modificada do pacote para um repositório público tornando-o disponível para download e uso por outros. Quando a organização vítima baixa e instala o pacote, o código malicioso do invasor também é instalado e pode ser usado para comprometer o projeto. Esse tipo de ataque pode ser particularmente perigoso, pois pode passar despercebido por muito tempo, pois a vítima pode não perceber que o pacote que está usando foi comprometido. O código malicioso do invasor pode ser usado para roubar informações confidenciais, modificar resultados ou até mesmo fazer com que o modelo de aprendizado de máquina falhe.
🔓 Transfer Learning Attack
Os ataques de aprendizado de transferência ocorrem quando um invasor treina um modelo em uma tarefa e, em seguida, o ajusta em outra tarefa para fazer com que ele se comporte de maneira indesejável. Exemplo: um invasor treina um modelo de aprendizado de máquina em um conjunto de dados malicioso que contém imagens manipuladas de rostos. O invasor deseja atingir um sistema de reconhecimento facial usado por uma empresa de segurança para verificação de identidade. O invasor então transfere o conhecimento do modelo para o sistema de reconhecimento facial de destino. O sistema de destino começa a usar o modelo manipulado do invasor para verificação de identidade. Como resultado, o sistema de reconhecimento facial começa a fazer previsões incorretas, permitindo que o invasor contorne a segurança e obtenha acesso a informações confidenciais. Por exemplo, o invasor poderia usar uma imagem manipulada de si mesmo e o sistema o identificaria como um usuário legítimo.
🔓 Model Skewing
Os ataques de distorção do modelo ocorrem quando um invasor manipula a distribuição dos dados de treinamento para fazer com que o modelo se comporte de maneira indesejável. Exemplo: uma instituição financeira está usando um modelo de aprendizado de máquina para prever o valor dos solicitantes de empréstimos, e as previsões do modelo são integradas ao processo de aprovação. Um invasor deseja aumentar suas chances de obter um empréstimo aprovado, então ele manipula o valor do feedback no sistema. O invasor fornece dados falsos de feedback ao sistema, indicando que candidatos de alto risco foram aprovados para empréstimos no passado, e esse feedback é usado para atualizar os dados de treinamento do modelo. Como resultado, as previsões do modelo são distorcidas para candidatos de baixo risco, e as chances do invasor de obter um empréstimo aprovado aumentam significativamente. Esse tipo de ataque pode comprometer a precisão e a imparcialidade do modelo.
🔓 Output Integrity Attack
Em um cenário de ataque de integridade de saída, um invasor visa modificar ou manipular a saída de um modelo de aprendizado de máquina para alterar seu comportamento ou causar danos ao sistema em que é usado. Exemplo: um invasor obteve acesso à saída de um modelo de aprendizado de máquina que está sendo usado para diagnosticar doenças em um hospital. O invasor modifica a saída do modelo, fazendo com que forneça diagnósticos incorretos para os pacientes.
🔓 Neural Net Reprogramming
Os ataques de reprogramação da rede neural ocorrem quando um invasor manipula os parâmetros do modelo para fazer com que ele se comporte de maneira indesejável. Exemplo: considere um cenário em que um banco está usando um modelo de aprendizado de máquina para identificar caracteres manuscritos em cheques para automatizar o processo de compensação. O modelo foi treinado em um grande conjunto de dados de caracteres manuscritos e foi projetado para identificar com precisão os caracteres com base em parâmetros específicos, como tamanho, forma, inclinação e espaçamento. Um invasor que deseja explorar o ataque de reprogramação da rede neural pode manipular os parâmetros do modelo alterando as imagens no conjunto de dados de treinamento ou modificando diretamente os parâmetros no modelo. Isso pode resultar na reprogramação do modelo para identificar os caracteres de maneira diferente. Por exemplo, o invasor pode alterar os parâmetros para que o modelo identifique o caractere “5” como o caractere “2”, levando ao processamento de valores incorretos. O invasor pode explorar essa vulnerabilidade introduzindo verificações forjadas no processo de compensação, que o modelo processará como válido devido aos parâmetros manipulados.
🔗 Fonte: https://owasp.org/www-project-machine-learning-security-top-10/
🔗 Fonte: https://owasp.org/www-project-ai-security-and-privacy-guide/