top of page

IA como alvo

Ataques nos sistemas que usam IA. 
Ataques informacionais
- Inferência de pertencimento
- Inversão de modelos
- Ataques de extração e reconstrução de modelos
Ataques comportamentais
- Envenenamento
- Evasão
- Ataques em LLMs através do uso de APIs de finetuning

2024-07-02_112350.png

Quando a própria IA é o alvo de ataques adversariais

O aprendizado de máquina (Machine Learning) traz novos desafios para a privacidade e segurança da informação, alguns difíceis de prever e evitar. Estes novos desafios não substituem, mas se somam aos riscos já tradicionais para a segurança da informação que requerem medidas já conhecidas como autenticação, controle de acesso e proteção de infraestruturas. Ou seja, a IA traz novos problemas de segurança que precisam ser gerenciados. Para isso, o primeiro passo é criar conscientização (awareness) sobre quais são estes novos vetores de ataque, para que em seguida bons processos de trabalho e novas ferramentas e técnicas possam ser selecionadas. Esta seção contém algumas referências sobre alguns destes ataques que são, digamos, "específicos" para sistemas de IA (em particular, modelos de Machine Learning).

Os sistemas de Machine learning podem ter vulnerabilidades que permitem hackers violar a sua integridade (forçar o sistema a cometer erros), a sua confidencialidade (por exemplo, vazamento de informações confidenciais e dados pessoais privados), e/ou a sua disponibilidade (tornar a aplicação baseada em IA indisponível). Tais sistemas estão suscetíveis a diversos tipos de ataques adversariais, onde agentes maliciosos (hackers) tentam explorar vulnerabilidades do modelo de IA. A seguir listamos alguns exemplos de ataques comuns.

ATAQUES INFORMACIONAIS QUE VISAM EXTRAIR INFORMAÇÕES SOBRE OS MODELOS

​Nos ataques informacionais os resultados gerados pelo modelo (saídas) podem ser utilizados por hackers para inferir dados que foram utilizados no treinamento do modelo (em muitos casos, confidenciais).  

1. Inferência de Pertencimento (Membership Inference)

Nos ataques de Inferência de Pertencimento (Membership Inference) o adversário infere se os dados de um determinado indivíduo foram ou não utilizados no treinamento, com base nos resultados de consultas feitas ao modelo. Este tipo de ataque pode revelar, por exemplo, se um indivíduo específico é parte de um grupo sensível (pessoas que têm alguma doença grave, ou que cometeram crimes, ou fazem parte de minorias sexuais, partidos políticos etc.), o que representaria uma violação de privacidade de tais indivíduos.

Resumidamente, os ataques de Inferência de Pertencimento possuem três etapas:

  • Consulta ao modelo: O adversário faz consultas ao modelo com dados semelhantes ou com o próprio dado do alvo (por exemplo, o dado de uma pessoa específica).

  • Análise das saídas: O hacker analisa as probabilidades ou scores que o modelo retorna como saída. Se a confiança (ou a forma como a previsão é feita) for muito alta, isso pode indicar que o dado do alvo estava no conjunto de treinamento, pois o modelo tende a “memorizar” exemplos que ele já viu.

  • Inferência: Com base no comportamento do modelo em relação a diferentes exemplos, o atacante infere se o dado de um indivíduo específico foi utilizado no treinamento.

Consequências desse tipo de ataque:

  • Violação de Privacidade: A revelação de que uma pessoa está associada a um determinado grupo sensível (como pacientes com uma doença, pessoas de uma minoria sexual ou política, ou indivíduos condenados por crimes) pode ter implicações legais, sociais e éticas.

  • Discriminação: Um adversário que realiza ataques de inferência pode usar essas informações para discriminar ou prejudicar indivíduos.

  • Exposição de Dados Confidenciais: Empresas que treinam seus modelos com dados de clientes (como instituições financeiras ou de saúde) podem expor inadvertidamente essas informações aos hackers, mesmo que o modelo seja compartilhado publicamente para outros fins.

Como se proteger

Em muitos cenários, a injeção de ruídos gerados estatisticamente como ocorre na privacidade diferencial oferece proteção contra estes ataques, embora ao custo de redução da precisão. Limitar o acesso ao modelo (restringir o número de consultas que podem ser feitas ao modelo) ou limitar o acesso a detalhes sobre as saídas (como fornecer apenas a classe prevista e não probabilidades) pode dificultar ataques de inferência. Outras abordagens de proteção em desenvolvimento envolvem a inclusão de camadas intermediárias entre os dados de treinamento e o modelo. Um exemplo é o aprendizado por federação (Federated Learning), que é um método promissor proposto pela Google para o caso de modelos treinados a partir de dados da interação de usuários com dispositivos móveis. Nestes casos, ao contrário do treinamento de Machine Learning "tradicional" onde todos os dados estão centralizados, os dados são mantidos nos dispositivos dos usuários, que atuam de forma "colaborativa" durante o treinamento do modelo. Porém, é um método difícil de implementar.  

 

2. Inversão de Modelo (Model Inversion)

Um outro tipo de ataque informacional é o de Inversão de Modelo (Model Inversion), uma espécie de engenharia reversa onde os resultados (predições) nos modelos de Machine Learning são utilizados para recriar os dados utilizados para o treinamento, mesmo sem ter acesso direto a estes dados. Ou seja, um hacker utiliza as saídas do modelo para inferir informações sensíveis sobre os dados de entrada. 

 

Um dos casos documentados mais conhecidos de ataques de inversão de modelo ocorreu em sistemas de reconhecimento facial. Nestes ataques, o adversário consegue reconstruir imagens faciais a partir das predições do modelo. Por exemplo, mesmo sem acesso direto ao conjunto de dados, um hacker pode fazer várias consultas ao modelo e, gradualmente, inferir as características faciais de um indivíduo que participou do treinamento.  Isso viola a privacidade dos indivíduos cujas fotos foram usadas para treinar o modelo.

Consequências desse tipo de ataque:

  • Violação da Privacidade: Um dos riscos mais graves da Inversão de Modelo é a exposição de dados sensíveis, como rostos, características biométricas, ou informações pessoais associadas a dados médicos ou financeiros. Um atacante pode inferir dados que os indivíduos não autorizaram a divulgar, violando sua privacidade. Sistemas que lidam com dados confidenciais, como reconhecimento facial para segurança, diagnósticos médicos baseados em IA, ou dados financeiros, estão particularmente vulneráveis. A inversão de modelo pode levar à extração de dados como imagens médicas, descrições detalhadas de condições de saúde ou detalhes bancários.

 

Como se proteger

A privacidade diferencial (acima mencionada) pode dificultar que um atacante extraia informações sobre exemplos específicos do conjunto de treinamento, reduzindo a precisão dos ataques de inversão. Outra forma de mitigar riscos para estes ataques é reduzir a granularidade nas saídas. Em vez de fornecer predições detalhadas (como probabilidades associadas a cada classe), pode-se restringir o modelo para informar apenas a saída final (como "sim" ou "não", ou apenas a classe prevista). Isso torna mais difícil para os atacantes inferirem características subjacentes dos dados de entrada. Adicionalmente, regularizar o treinamento do modelo pode reduzir sua tendência de memorizar dados de treinamento, o que, por sua vez, diminui a eficácia dos ataques de inversão. Técnicas como dropout ou early stopping são eficazes nesse sentido

3. Extração de Modelo (Model Extraction)

Nos chamados "ataques de extração" (Model Stealing), a partir dos resultados (predições) o adversário consegue recriar o próprio modelo, o que pode causar violações de propriedade intelectual no caso de modelos com direitos autorais protegidos. Resumidamente, o adversário faz múltiplas consultas a um modelo de IA disponível online, enviando diversos exemplos de entrada. Esses exemplos podem ser tanto gerados aleatoriamente quanto cuidadosamente selecionados para explorar diferentes partes do espaço de entrada do modelo. O hacker então coleta as saídas ou previsões do modelo em resposta às consultas. Dependendo da granularidade das respostas (como probabilidades associadas a cada classe ou apenas a classe final), o atacante pode ser capaz de inferir os parâmetros internos ou replicar o comportamento do modelo. O adversário pode utilizar técnicas de aprendizado de máquina para treinar um modelo substituto, uma cópia funcinal que imita o comportamento do modelo original. Este modelo substituto pode funcionar quase da mesma maneira que o original, fornecendo previsões semelhantes ou até idênticas, sem que o atacante precise ter acesso ao código fonte ou aos dados de treinamento.

Um sistema que pode ser vulnerável a este tipo de ataque adversarial são as APIs de Machine Learning. Muitos provedores de serviços de IA oferecem APIs pagas para acesso a modelos de aprendizado de máquina, como por exemplo APIs para reconhecimento de imagem. Um atacante pode usar essas APIs para enviar inúmeras consultas e, com base nas respostas, recriar o modelo, evitando pagar pelos serviços ou criando uma versão clonada do modelo.

 

Consequências desse tipo de ataque

  • Violação de propriedade intelectual: No caso de modelos proprietários ou comercializados (como os protegidos por direitos autorais ou licenças), a extração do modelo por meio de ataques representa uma violação direta da propriedade intelectual. Empresas que investem recursos substanciais no desenvolvimento de modelos sofisticados podem ter suas inovações roubadas e replicadas por terceiros.

  • Concorrência desleal: Se um atacante extrair um modelo valioso e o utilizar ou redistribuir sem autorização, isso pode resultar em concorrência desleal no mercado, onde o modelo copiado é oferecido sem os custos de desenvolvimento incorridos pelo criador original.

  • Riscos de segurança: Em setores como saúde ou segurança, a extração de modelos pode comprometer a integridade de sistemas críticos, permitindo que adversários utilizem esses modelos de forma maliciosa ou sem controle de qualidade, o que pode colocar vidas em risco.

A propósito, o esforço para conferir maior transparência para as soluções de IA, que é bem-vindo, pode ter o trade-off indesejável de reduzir a segurança permitindo a reconstrução de modelos através da sua própria explanabilidade.

Como se proteger

  • Limitar o acesso ao modelo: Reduzir o número de consultas permitidas por usuário ou limitar a taxa de consultas pode dificultar ataques de extração, pois os hackers dependem de um grande número de consultas para inferir o comportamento do modelo. Isso é conhecido como "rate limiting".

  • Privacidade Diferencial: Adicionar ruído controlado às respostas do modelo pode dificultar a precisão do modelo extraído. Essa técnica ajuda a impedir que os adversários repliquem o comportamento exato do modelo.

  • Monitorar padrões suspeitos de consulta, como consultas em grande volume ou com entradas geradas de maneira sistemática, pode ajudar a identificar tentativas de extração em tempo real.

  • Ferramentas como a Adversarial Robustness Toolbox (ART) podem ser usadas para proteger modelos de Machine Learning contra ataques de extração. O uso de técnicas de encriptação e obfuscação de modelos também pode tornar a extração mais difícil.

 

ATAQUES QUE VISAM ALTERAR O COMPORTAMENTO DOS MODELOS

Além dos ataques informacionais, que têm maior relação com o aspecto da confidencialidade, há outros onde o comportamento do modelo é alterado pelo adversário (Behaviorial Attacks) e assim suas predições são manipuladas com propósitos maliciosos.  Ao manipular o comportamento do modelo o adversário pode forçar a discriminação contra determinados subgrupos (por exemplo, interferir nas chances de que certos indivíduos sejam selecionados para uma entrevista de emprego, ou obtenham créditos no banco etc.), impactando de alguma forma sistemas de decisão (financeiros, médicos, controles de veículos autônomos etc.) apoiados por IA.    

1. Ataques de Evasão (Evasion Attacks)
Nos ataques de evasão, pequenas modificações em entradas de dados (geralmente imperceptíveis a olho nu) podem fazer com que o modelo de IA cometa erros em tempo de execução. Por exemplo, uma leve alteração em uma imagem pode fazer um sistema de reconhecimento visual classificar erroneamente um objeto (ex: um gato pode ser classificado como um cachorro). Este tipo de erro de classificação pode ter sérias implicações, dado que ataques desta natureza em sistemas de reconhecimento facial podem mudar a classificação de uma pessoa com pequenas alterações nos pixels da imagem. Outros sistemas que podem ser alvos deste tipo de ataque são sistemas de IA para detecção de intrusos, sistemas para detecção de malware e filtragem de spam. No exemplo do sistema de detecção de malware, 
um hacker pode modificar o código de um malware de forma que ele não seja detectado pelo modelo de IA treinado para identificar esses programas maliciosos. Neste sentido, o malware vai se "evadir" da detecção.

2. Envenenamento de Dados (Data Poisoning)
Neste ataque o hacker faz a inserção de dados maliciosos ou incorretos no processo de treinamento do modelo, afetando sua capacidade de generalizar corretamente. Ou seja, o atacante tenta "envenenar" (alterar, comprometer a integridade) os dados utilizados para treinar o modelo (injetando dados contaminados), e fazer com que o modelo aprenda com dados distorcidos, o que vai alterar suas saídas ou respostas. 
Por exemplo, um hacker pode manipular dados usados para treinar um modelo de recomendação, forçando a promoção de produtos ou conteúdos fraudulentos.

Ataques em LLMs através do uso de APIs de ajuste fino (finetuning)

Como sabemos, os usuários geralmente interagem com grandes modelos de linguagem (LLMs) através de prompts em linguagem natural. No entanto, há casos em que pode ser necessário ou conveniente fazer customizações (finetuning) no modelo (em oposição ao uso de modelos fechados, previamente treinados com dados genéricos).  Assim, algumas empresas lançaram "APIs de ajuste fino" tipo caixa preta (uma interface de API que permite adaptar modelos de linguagem de última geração às necessidades dos usuários), Estas APIs permitem aos usuários fazer upload de um conjunto de dados (pares de entrada-saída), permitindo a customização ou ajuste de LLM com esses dados. Além de treinar o modelo com dados específicos de um domínio, estas APIs também permitem que os usuários moldem o estilo de saída, bem como incluam novas funcionalidades nos modelos.

Porém, não há lanche grátis. Neste artigo, Danny Halawi e outros mostraram que o uso destas APIs de ajuste fino podem representar graves riscos para a segurança do modelo - por exemplo, LLMs podem ser silenciosamente ajustados para responder a prompts maliciosos. Além disso, o ajuste fino pode ser manipulado para desfazer o treinamento de segurança que é dado aos modelos para que eles recusem solicitações prejudiciais. Este seria um exemplo de ataque comportamental.

No artigo, Halawi e colegas descrevem um método capaz de comprometer a segurança do modelo através de ajuste fino de forma praticamente indetectável. O método se baseia na construção de um conjunto de dados malicioso onde cada ponto de dados individual parece inofensivo, mas o ajuste fino sobre este conjunto de dados vai ensinar o modelo a responder a solicitações prejudiciais (codificadas), gerando com respostas prejudiciais (também codificadas). Aplicado ao GPT-4, o método produz um modelo ajustado que age conforme instruções prejudiciais 99% das vezes e evita a detecção por mecanismos de defesa como inspeção de conjunto de dados, avaliações de segurança e classificadores de entrada/saída. 

2024-07-03_072709.png

A Figura mostra um ataque que utiliza técnicas de estenografia (codificação EndSpeak) para induzir um LLM a levar em conta apenas as últimas palavras de diversas sentenças em um parágrafo (Prompt). Deste modo, instruções maliciosas são passadas para o modelo, sem que os dados pareçam representar qualquer ameaça. Fonte: https://arxiv.org/pdf/2406.20053

O estudo de Halawi e colegas mostra que as APIs de ajuste fino abrem a porta para ataques poderosos e difíceis de detectar, que podem ser executados mesmo de interfaces de ajuste fino que sejam restritivas - o atacante precisa apenas ser capaz de fazer upload de um conjunto de dados de pares de prompt-resposta e definir o número de épocas de treinamento.

Existem diferentes estratégias para proteger modelos de ataques adversariais, tais como executar classificadores nos dados de treinamento, monitorar o desempenho do modelo em benchmarks e verificar backdoors. No entanto, os autores alertam que *mesmo com todas essas defesas em vigor* ainda existe o risco de que o uso destas APIs de ajuste fino para customizar modelos de código fechado possa permitir um comprometimento arbitrário do comportamento do modelo." Na verdade, considerando o estado atual da tecnologia, é questionável se o uso de ajuste fino pode pode ser protegido de alguma forma contra adversários sofisticados, e os autores sugerem que "até que sejam encontradas soluções mais robustas para preservar a segurança durante o ajuste fino, é possível que um jogo de gato e rato possa emergir, onde as defesas contra o ajuste fino malicioso serão frequentemente quebradas após a implementação".

 

À luz disso, uma possível solução intermediária seria impor limites práticos no acesso ao ajuste fino de modelos fechados. Por exemplo, pode-se fornecer acesso nas APIs de ajuste fino apenas para parceiros confiáveis, enquanto se realiza o monitoramento do comportamento do usuário.

Referências selecionadas: "IA como alvo de ataques cibernéticos"

É bom lembrar que além de lidar com estas novas vulnerabilidades inerentes aos serviços e aplicações baseados em Machine Learning, continuam sendo necessárias  as medidas de segurança "tradicionais" como a autenticação de dois fatores, o controle de acesso e proteção da infraestrutura onde os modelos são hospedados e executados, a monitoração dos sistemas de IA (visando por exemplo a detecção de anomalias no comportamento que possam indicar que o modelo foi hackeado), a boa documentação, e sobretudo o investimento na qualificação de profissionais para lidar com estas novas ameaças, que são "diferentes" das ameaças com as quais até mesmo os profissionais de cybersecurity mais experientes estão acostumados a lidar - o que por si só já é um risco.

 

Linguagens e bibliotecas específicas para ataques adversariais

  • CleverHans: Uma biblioteca Python que oferece implementações de algoritmos para gerar ataques adversariais em sistemas de IA, sendo amplamente utilizada para estudar a segurança de redes neurais.

  • Adversarial Robustness Toolbox (ART): Oferece um conjunto de ferramentas para teste e defesa de ataques adversariais, com suporte para diferentes frameworks de IA (TensorFlow, PyTorch, Keras).

Outras referências são listadas a seguir.

Yoshua Bengio et al

20 May 2024

Microsoft

Sept 19, 2022

ENISA - European Union Agency for Cybersecurity.

December 14, 2021

Microsoft

December 4, 2021

ETSI GR SAI Group Report 004

December 2020

Nikolaos Pitropakis et al

November 2019

bottom of page