O aprendizado de máquinas adversário é uma técnica de aprendizado de máquina que tenta enganar os modelos fornecendo informações enganosas.[1][2][3] O motivo mais comum é causar um mau funcionamento em um modelo de aprendizado de máquina.
A maioria das técnicas de aprendizado de máquina foi projetada para funcionar em conjuntos de problemas específicos nos quais os dados de treinamento e teste são gerados a partir da mesma distribuição estatística (IID). Quando esses modelos são aplicados ao mundo real, os adversários podem fornecer dados que violam essa suposição estatística. Esses dados podem ser organizados para explorar vulnerabilidades específicas e comprometer os resultados.[3][4]
História
Em Snow Crash (1992), o autor ofereceu cenários de tecnologia que eram vulneráveis a um ataque adversário. Em Zero History (2010), um personagem veste uma camiseta decorada de modo a torná-lo invisível para a vigilância eletrônica.[5]
Em 2004, Nilesh Dalvi e outros notaram que classificadores lineares usados em filtros de spam podiam ser derrotados por simples "ataques de evasão", pois os spammers inseriam "boas palavras" em seus e-mails de spam. (Por volta de 2007, alguns remetentes de spam adicionaram ruído aleatório às palavras difusas dentro de "imagens de spam" para derrotar os filtros baseados em OCR.) Em 2006, Marco Barreno e outros publicaram "Can Machine Learning Be Secure?", Descrevendo uma ampla taxonomia de ataques. No final de 2013, muitos pesquisadores continuaram a esperar que classificadores não lineares (como máquinas de vetores de suporte e redes neurais) pudessem ser robustos contra adversários. Em 2012, as redes neurais profundas começaram a dominar os problemas de visão computacional; a partir de 2014, Christian Szegedy e outros demonstraram que redes neurais profundas podem ser enganadas por adversários.[6]
Recentemente, foi observado que os ataques adversários são mais difíceis de produzir no mundo prático devido às diferentes restrições ambientais que anulam o efeito dos ruídos.[7][8] Por exemplo, qualquer pequena rotação ou leve iluminação em uma imagem adversária pode destruir a adversidade.
Exemplos
Os exemplos incluem ataques aos filtros de spam, em que as mensagens de spam são disfarçadas por meio da escrita incorreta de palavras “ruins” ou da inserção de palavras “boas”;[9][10] ataques à segurança do computador, como o ocultamento do código de malware dentro de pacotes de rede ou para enganar a detecção de assinaturas; ataques em reconhecimento biométrico onde falsos traços biométricos podem ser explorados para se passar por um usuário legítimo;[11] ou comprometer as galerias de modelos dos usuários que se adaptam a características atualizadas ao longo do tempo.
Os pesquisadores mostraram que, alterando apenas um pixel, era possível enganar algoritmos de aprendizado profundo.[12][13] Outros imprimiram em 3D uma tartaruga de brinquedo com uma textura projetada para fazer com que a IA de detecção de objetos do Google classificásse-a como um rifle, independentemente do ângulo de onde a tartaruga fosse vista.[14] A criação da tartaruga só exigiu tecnologia de impressão em 3D de baixo custo, disponível comercialmente.[15]
Uma imagem de um cachorro ajustada por uma máquina se mostrou parecida com um gato tanto para computadores quanto para humanos.[16] Um estudo de 2019 relatou que os humanos podem adivinhar como as máquinas classificarão as imagens adversárias.[17] Os pesquisadores descobriram métodos para perturbar a aparência de uma placa de pare, de forma que um veículo autônomo a classifique como uma placa de convergência ou de limite de velocidade.[3][18][19]
A McAfee atacou o antigo sistema Mobileye da Tesla, enganando-o para que conduzisse 50 mph acima do limite de velocidade, simplesmente adicionando uma faixa de duas polegadas de fita preta a um sinal de limite de velocidade.[20][21]
Padrões antagônicos em óculos ou roupas projetados para enganar os sistemas de reconhecimento facial ou leitores de placas de veículos levaram a uma indústria de nicho de "roupa urbana furtiva".[22]
Um ataque adversário a uma rede neural pode permitir que um invasor injete algoritmos no sistema de destino.[23] Os pesquisadores também podem criar entradas de áudio adversárias para disfarçar comandos para assistentes inteligentes em áudio de aparência benigna;[24] uma literatura paralela explora a percepção humana de tais estímulos.[25][26]
Algoritmos de aglomeração são usados em aplicativos de segurança. A análise de malware e vírus de computador visa identificar famílias de malware e gerar assinaturas de detecção específicas.[27][28]
Modalidades de ataque
Taxonomia
Ataques contra algoritmos de aprendizado de máquina (supervisionado) foram categorizados em três eixos principais:[29] influência no classificador, a violação de segurança e sua especificidade.
Influência do classificador: um ataque pode influenciar o classificador perturbando a fase de classificação. Isso pode ser precedido por uma fase de exploração para identificar vulnerabilidades. Os recursos do invasor podem ser restringidos pela presença de restrições de manipulação de dados.[30]
Violação de segurança: um ataque pode fornecer dados maliciosos que são classificados como legítimos. Dados maliciosos fornecidos durante o treinamento podem fazer com que dados legítimos sejam rejeitados após o treinamento.
Especificidade: um ataque direcionado tenta permitir uma intrusão/perturbação específica. Como alternativa, um ataque indiscriminado cria um caos geral.
Essa taxonomia foi estendida para um modelo de ameaça mais abrangente que permite suposições explícitas sobre o objetivo do adversário, o conhecimento do sistema atacado, a capacidade de manipular os dados de entrada/componentes do sistema e a estratégia de ataque.[31][32] Essa taxonomia foi estendida para incluir dimensões para estratégias de defesa contra ataques adversos.[33] Alguns dos principais cenários de ataque são:
Estratégias
Evasão
Ataques de evasão[31][32][34] são o tipo de ataque mais prevalente. Por exemplo, spammers e hackers frequentemente tentam escapar da detecção ofuscando o conteúdo de e-mails de spam e malware. As amostras são modificadas para evitar a detecção; ou seja, para ser classificado como legítimas. Isso não envolve influência sobre os dados de treinamento. Um exemplo claro de evasão é o spam baseado em imagens, no qual o conteúdo do spam é incorporado a uma imagem anexada para evitar a análise textual por filtros anti-spam. Outro exemplo de evasão é dado por ataques de spoofing contra sistemas de verificação biométrica.[11]
Envenenamento
O envenenamento é a contaminação adversária dos dados de treinamento. Os sistemas de aprendizado de máquina podem ser treinados novamente usando dados coletados durante as operações. Por exemplo, os sistemas de detecção de intrusão (IDSs) são frequentemente treinados novamente usando esses dados. Um invasor pode envenenar esses dados ao injetar amostras maliciosas durante a operação que, subsequentemente, afetam o retreinamento.[31][32][29][35][36][37]
Roubo de modelo
O roubo de modelo (também chamado de extração de modelo) envolve um adversário sondando um sistema de aprendizado de máquina como uma caixa preta para reconstruir o modelo ou extrair os dados em que foi treinado.[38][39] Isso pode causar problemas quando os dados de treinamento ou o próprio modelo são sensíveis e confidenciais. Por exemplo, o roubo de modelo pode ser usado para extrair um modelo de negociação de ações proprietário que o adversário pode então usar para seu próprio benefício financeiro.
Tipos de ataques específicos
Há uma grande variedade de ataques adversários diferentes que podem ser usados contra sistemas de aprendizado de máquina. Muitos deles funcionam tanto em sistemas de aprendizado profundo quanto em modelos tradicionais de aprendizado de máquina, como SVMs[40] e regressão linear.[41] Uma amostra de alto nível desses tipos de ataque inclui:
Um exemplo adversário refere-se a uma entrada especialmente criada que é projetada para parecer "normal" para humanos, mas causa classificação incorreta para um modelo de aprendizado de máquina. Frequentemente, uma forma de "ruído" especialmente projetada é usada para induzir as classificações erradas. Abaixo estão algumas técnicas atuais para gerar exemplos adversários na literatura (de forma alguma uma lista exaustiva).
IAs que exploram o ambiente de treinamento; por exemplo, no reconhecimento de imagem, navegar ativamente em um ambiente 3D em vez de digitalizar passivamente um conjunto fixo de imagens 2D.
deep-pwning - Metasploit para aprendizado profundo que atualmente tem ataques em redes neurais profundas usando Tensorflow.[60] Esta estrutura atualmente é atualizada para manter a compatibilidade com as versões mais recentes do Python.
Cleverhans - uma biblioteca Tensorflow para testar modelos de aprendizado profundo existentes contra ataques conhecidos
SecML - Biblioteca Python para aprendizado de máquina seguro e explicável - inclui a implementação de uma ampla gama de algoritmos de ML e de ataque, suporte para dados densos e esparsos, multiprocessamento e ferramentas de visualização.
TrojAI - Biblioteca Python para gerar modelos backdoored e trojaned em escala para pesquisa de detecção de trojan
↑Kianpour, Mazaher; Wen, Shao-Fang (2020). «Timing Attacks on Machine Learning: State of the Art». Intelligent Systems and Applications. Col: Advances in Intelligent Systems and Computing (em inglês). 1037. [S.l.: s.n.] pp. 111–125. ISBN978-3-030-29515-8. doi:10.1007/978-3-030-29516-5_10
↑Bengio, Samy; Goodfellow, Ian J. (2017). «Adversarial Machine Learning at Scale». arXiv:1611.01236 [cs.CV]
↑ abcLim, Hazel Si Min; Taeihagh, Araz (2019). «Algorithmic Decision-Making in AVs: Understanding Ethical and Technical Concerns for Smart Cities». Sustainability (em inglês). 11. 5791 páginas. Bibcode:2019arXiv191013122L. arXiv:1910.13122. doi:10.3390/su11205791
↑ abBiggio, Battista; Roli, Fabio (dezembro de 2018). «Wild patterns: Ten years after the rise of adversarial machine learning». Pattern Recognition. 84: 317–331. arXiv:1712.03141. doi:10.1016/j.patcog.2018.07.023
↑Kurakin, Alexey; Goodfellow, Ian. «Adversarial examples in the physical world». arXiv:1607.02533 [cs.CV]
↑Gupta, Kishor Datta, Dipankar Dasgupta, and Zahid Akhtar. "Applicability issues of Evasion-Based Adversarial Attacks and Mitigation Techniques." 2020 IEEE Symposium Series on Computational Intelligence (SSCI). 2020.
↑Lepori, Michael A; Firestone, Chaz (27 de março de 2020). «Can you hear me now? Sensitive comparisons of human and machine perception». arXiv:2003.12362 [eess.AS]
↑Vadillo, Jon; Santana, Roberto (23 de janeiro de 2020). «On the human evaluation of audio adversarial examples». arXiv:2001.08444 [eess.AS]
↑ abcdeBiggio, Battista; Corona, Igino; Nelson, Blaine; Rubinstein, Benjamin I. P.; Maiorca, Davide; Fumera (2014). «Security Evaluation of Support Vector Machines in Adversarial Environments». Support Vector Machines Applications (em inglês). [S.l.]: Springer International Publishing. pp. 105–153. ISBN978-3-319-02300-7. arXiv:1401.7727. doi:10.1007/978-3-319-02300-7_4
↑Gu, Tianyu; Dolan-Gavitt, Brendan (11 de março de 2019). «BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain». arXiv:1708.06733 [cs.CR]
↑Shokri, Reza; Stronati, Marco (31 de março de 2017). «Membership Inference Attacks against Machine Learning Models». arXiv:1610.05820 [cs.CR]
↑ abGoodfellow, Ian J.; Shlens, Jonathon (20 de março de 2015). «Explaining and Harnessing Adversarial Examples». arXiv:1412.6572 [stat.ML]
↑Madry, Aleksander; Makelov, Aleksandar (4 de setembro de 2019). «Towards Deep Learning Models Resistant to Adversarial Attacks». arXiv:1706.06083 [stat.ML]
↑Carlini, Nicholas; Wagner, David (22 de março de 2017). «Towards Evaluating the Robustness of Neural Networks». arXiv:1608.04644 [cs.CR]
↑Brown, Tom B.; Mané, Dandelion (16 de maio de 2018). «Adversarial Patch». arXiv:1712.09665 [cs.CV]
↑Kishor Datta Gupta; Akhtar, Zahid. «Determining Sequence of Image Processing Technique (IPT) to Detect Adversarial Attacks». arXiv:2007.00337 [cs.CV]
↑B. Biggio, G. Fumera, and F. Roli. "Evade hard multiple classifier systems". In O. Okun and G. Valentini, editors, Supervised and Unsupervised Ensemble Methods and Their Applications, volume 245 of Studies in Computational Intelligence, pages 15–38. Springer Berlin / Heidelberg, 2009.