
Uma lista selecionada de recursos úteis que cobrem IA Ofensiva.
Uma lista selecionada de recursos úteis que cobrem IA Ofensiva.
Explorando as vulnerabilidades de modelos de IA.
O Aprendizado de Máquina Adversarial é responsável por avaliar suas fraquezas e fornecer contramedidas.
Está organizado em quatro tipos de ataques: extração, inversão, envenenamento e evasão.

Tenta roubar os parâmetros e hiperparâmetros de um modelo fazendo solicitações que maximizam a extração de informações.

Dependendo do conhecimento do modelo do adversário, ataques white-box e black-box podem ser realizados.
No caso mais simples de white-box (quando o adversário tem conhecimento total do modelo, por exemplo, uma função sigmoide), pode-se criar um sistema de equações lineares que pode ser facilmente resolvido.
No caso genérico, onde há conhecimento insuficiente do modelo, o modelo substituto é utilizado. Esse modelo é treinado com as solicitações feitas ao modelo original para imitar a mesma funcionalidade do original.

Treinar um modelo substituto é equivalente (em muitos casos) a treinar um modelo do zero.
Muito intensivo computacionalmente.
O adversário tem limitações no número de solicitações antes de ser detectado.
Arredondamento dos valores de saída.
Uso de privacidade diferencial.
Uso de ensembles.
Uso de defesas específicas
Eles têm a intenção de reverter o fluxo de informações de um modelo de aprendizado de máquina.

Eles permitem que um adversário conheça o modelo que não foi explicitamente planejado para ser compartilhado.
Eles nos permitem conhecer os dados de treinamento ou informações como propriedades estatísticas do modelo.
Três tipos são possíveis:
Ataque de Inferência de Associação (MIA): Um adversário tenta determinar se uma amostra foi empregada como parte do treinamento.
Ataque de Inferência de Propriedades (PIA): Um adversário tem como objetivo extrair propriedades estatísticas que não foram explicitamente codificadas como características durante a fase de treinamento.
Reconstrução: Um adversário tenta reconstruir uma ou mais amostras do conjunto de treinamento e/ou seus rótulos correspondentes. Também chamada de inversão.
Uso de criptografia avançada. As contramedidas incluem privacidade diferencial, criptografia homomórfica e computação multiparte segura.
Uso de técnicas de regularização como Dropout devido à relação entre sobre-treino e privacidade.
Compressão de modelos tem sido proposta como defesa contra ataques de reconstrução.
Eles visam corromper o conjunto de treinamento, fazendo com que um modelo de aprendizado de máquina reduza sua precisão.

Esse ataque é difícil de detectar quando realizado nos dados de treinamento, pois pode se propagar entre diferentes modelos que usam os mesmos dados de treinamento.
O adversário procura destruir a disponibilidade do modelo modificando a fronteira de decisão e, como resultado, produzindo previsões incorretas ou criando uma backdoor no modelo. Neste último caso, o modelo se comporta corretamente (retornando as previsões desejadas) na maioria das vezes, exceto para certas entradas especialmente criadas pelo adversário que produzem resultados indesejados. O adversário pode manipular os resultados das previsões e lançar ataques futuros.
As BadNets são o tipo mais simples de backdoor em um modelo de aprendizado de máquina. Além disso, as BadNets conseguem ser preservadas em um modelo, mesmo que sejam retreinadas novamente para uma tarefa diferente do modelo original (aprendizado por transferência).
É importante notar que modelos pré-treinados públicos podem conter backdoors.
Detecção de dados envenenados, juntamente com o uso de saneamento de dados.
Métodos de treinamento robustos.
Defesas específicas.
Um adversário adiciona uma pequena perturbação (na forma de ruído) à entrada de um modelo de aprendizado de máquina para fazê-lo classificar incorretamente (adversário de exemplo).

Eles são semelhantes aos ataques de envenenamento, mas sua principal diferença é que os ataques de evasão tentam explorar as fraquezas do modelo na fase de inferência.
O objetivo do adversário é que os exemplos adversariais sejam imperceptíveis para um humano.
Dois tipos de ataque podem ser realizados dependendo da saída desejada pelo oponente:
Direcionado: o adversário visa obter uma previsão de sua escolha.

Não direcionado: o adversário pretende alcançar uma classificação incorreta.

Os ataques mais comuns são ataques white-box:
Treinamento adversarial, que consiste em criar exemplos adversariais durante o treinamento para permitir que o modelo aprenda características dos exemplos adversariais, tornando o modelo mais robusto a esse tipo de ataque.
Transformações nas entradas.
Mascaramento/regularização de gradiente. Não muito eficaz.
Defesas fracas.
Prompt Injection Defenses: Todas as defesas práticas e propostas contra injeção de prompt.
Lakera PINT Benchmark: O Benchmark de Teste de Injeção de Prompt (PINT) fornece uma forma neutra de avaliar o desempenho de um sistema de detecção de injeção de prompt, como o Lakera Guard, sem depender de conjuntos de dados públicos conhecidos que essas ferramentas podem usar para otimizar o desempenho da avaliação.
Devil's Inference: Um método para avaliar adversariamente o modelo Phi-3 Instruct observando a distribuição de atenção em suas cabeças quando exposto a entradas específicas. Essa abordagem leva o modelo a adotar a 'mentalidade do diabo’, permitindo que ele gere saídas de natureza violenta.
Detecção de Ataques Adversariais Over-the-Air: de Conjuntos de Dados a Defesas
Aproveitando a Geometria Hiperbólica para Detecção e Saneamento de Prompts Nocivos
Adversarial Robustness Toolbox, abreviada como ART, é uma biblioteca open-source de Aprendizado de Máquina Adversarial para testar a robustez de modelos de aprendizado de máquina.

Ela é desenvolvida em Python e implementa ataques e defesas de extração, inversão, envenenamento e evasão.
O ART suporta os frameworks mais populares: Tensorflow, Keras, PyTorch, MxNet e ScikitLearn, entre muitos outros.
Não se limita ao uso de modelos que utilizam imagens como entrada, mas também suporta outros tipos de dados, como áudio, vídeo, dados tabulares, etc.
Workshop para aprender Aprendizado de Máquina Adversarial com ART 🇪🇸
Cleverhans é uma biblioteca para realizar ataques de evasão e testar a robustez de um modelo de aprendizado profundo em modelos de imagem.

É desenvolvida em Python e integra-se com os frameworks Tensorflow, Torch e JAX.
Ela implementa diversos ataques como L-BFGS, FGSM, JSMA, C&W, entre outros.
IA é usada para realizar tarefas maliciosas e potencializar ataques clássicos.
| Nome | Tipo | Algoritmos suportados | Tipos de ataque suportados | Ataque/Defesa | Frameworks suportados | Popularidade |
|---|
| Cleverhans | Imagem | Deep Learning | Evasão | Ataque | Tensorflow, Keras, JAX | |
| Foolbox | Imagem | Deep Learning | Evasão | Ataque | Tensorflow, PyTorch, JAX | |
| ART | Qualquer tipo (imagem, dados tabulares, áudio,...) | Deep Learning, SVM, LR, etc. | Qualquer (extração, inferência, envenenamento, evasão) | Ambos | Tensorflow, Keras, Pytorch, Scikit Learn | |
| TextAttack | Texto | Deep Learning | Evasão | Ataque | Keras, HuggingFace | |
| Advertorch | Imagem | Deep Learning | Evasão | Ambos | --- | |
| AdvBox | Imagem | Deep Learning | Evasão | Ambos | PyTorch, Tensorflow, MxNet | |
| DeepRobust | Imagem, grafo | Deep Learning | Evasão | Ambos | PyTorch | |
| Counterfit | Qualquer | Qualquer | Evasão | Ataque | --- | |
| Adversarial Audio Examples | Áudio | DeepSpeech | Evasão | Ataque | --- |