AI/ML gira para a barra de bugs do ciclo de vida de desenvolvimento de segurança
Por Andrew Marshall, Jugal Parikh, Emre Kiciman e Ram Shankar Siva Kumar
Novembro de 2019
Este artigo é um produto do Grupo de Trabalho de Práticas de Engenharia para IA AETHER da Microsoft. Este artigo funciona como um complemento para a barra de bugs do SDL usada para fazer a triagem de vulnerabilidades de segurança tradicionais. Ele se destina a ser usado como uma referência para a triagem de problemas de segurança relacionados à IA/ML. A Classificação de Gravidade de Vulnerabilidade dos Sistemas de IA (publicada pelo Microsoft Security Response Center) define tipos comuns de vulnerabilidade e níveis de gravidade de sistemas que envolvem IA.
Essas diretrizes são organizadas em uma taxonomia de ameaça de Machine Learning adversário criada por Ram Shankar Siva Kumar, David O’Brien, Kendra Albert, Salome Viljoen e Jeffrey Snover, intitulada “Modos de falha no Machine Learning”. Embora a pesquisa desse conteúdo seja baseada em comportamentos intencionais/mal-intencionados e acidentais nos modos de falha do ML, esse suplemento da barra de bugs se concentra inteiramente em comportamentos intencionais/mal-intencionados que resultariam em um incidente de segurança e/ou na implantação de uma correção.
Ameaça | Descrição/riscos de negócios/exemplos |
---|---|
Envenenamento de dados | Corrupção dos dados de treinamento — O objetivo final do invasor é contaminar o modelo do computador gerado na fase de treinamento, para que as previsões sobre novos dados sejam modificadas na fase de teste. Em ataques por envenenamento direcionados, o invasor deseja classificar exemplos específicos incorretamente para fazer com que ações específicas sejam executadas ou omitidas. O envio de software AV como malware para forçar a classificação incorreta como maliciosa e eliminar o uso de software AV direcionado nos sistemas clientes. Uma empresa extrai um site conhecido e confiável para obter dados futuros para treinar seus modelos. O site do provedor de dados é posteriormente comprometido por um ataque de injeção de SQL. O invasor pode envenenar o conjunto de dados, e o modelo que está sendo treinado não tem nenhuma noção de que eles foram afetados. |
Roubo de modelos | Recreação do modelo subjacente, consultando-o legitimamente. A funcionalidade do novo modelo é a mesma do modelo subjacente. Depois que o modelo é recriado, ele pode ser invertido para recuperar informações de recursos ou fazer inferências sobre dados de treinamento. Resolução de equações – para um modelo que retorna probabilidades de classe pela saída de API, um invasor pode criar consultas para determinar variáveis desconhecidas em um modelo. Localização de caminho – um ataque que explora as particularidades da API para extrair as "decisões" tomadas por uma árvore ao classificar uma entrada. Ataque de capacidade de transferência — um adversário pode treinar um modelo local, possivelmente emitindo consultas de previsão para o modelo de destino, e usá-lo para criar exemplos de adversário que são transferidos para o modelo de destino. Se seu modelo for extraído e estiver vulnerável a um tipo de entrada de adversário, novos ataques contra o modelo implantado de produção poderão ser desenvolvidos totalmente offline pelo invasor que extraiu uma cópia do modelo. Em configurações em que um modelo de ML serve para detectar o comportamento do adversário, como identificação de spam, classificação de malware e detecção de anomalias de rede, a extração de modelo pode facilitar ataques de evasão |
Inversão do modelo | Os recursos privados usados em modelos de machine learning podem ser recuperados{_>.<_} Isso inclui a reconstrução de dados de treinamento privados aos quais o invasor não tem acesso. Isso é realizado encontrando a entrada que maximiza o nível de confiança retornado, sujeito à classificação correspondente ao destino. Exemplo: reconstrução de dados de reconhecimento facial de nomes adivinhados ou conhecidos e acesso à API para consultar o modelo. |
Exemplo de adversário no domínio físico | Esses exemplos podem ser manifestados no domínio físico, como um carro autônomo sendo induzido a ignorar um sinal de parada devido a uma determinada cor de luz (a entrada de adversário) no sinal, forçando o sistema de reconhecimento de imagem a não ver mais o sinal como indicador de parada. |
Cadeia de suprimentos de ML de ataque | Devido a recursos grandes (dados + computação) necessários para treinar algoritmos, a prática atual é reutilizar modelos treinados por grandes empresas e modificá-los um pouco para a tarefa em questão (por exemplo: ResNet é um modelo de reconhecimento de imagem popular da Microsoft). Esses modelos são coletados no Model Zoo (o Caffe hospeda modelos populares de reconhecimento de imagem). Nesse ataque, o adversário ataca os modelos hospedados no Caffe, o que, portanto, envenena para qualquer outra pessoa. |
Algoritmo com backdoor do provedor de ML mal-intencionado | Comprometimento do algoritmo subjacente Um provedor as-a-Service de ML mal-intencionado apresenta um algoritmo com backdoor, no qual os dados de treinamento privado são recuperados. Isso fornece ao invasor a capacidade de reconstruir dados confidenciais, como rostos e textos, dado apenas ao modelo. |
Reprogramação de rede neural | Por meio de uma consulta especialmente criada de um invasor, os sistemas de ML podem ser reprogramados para uma tarefa que se desvia da intenção original do criador Controles de acesso fracos em uma API de reconhecimento facial, permitindo que terceiros incorporem aplicativos criados para prejudicar usuários, como um gerador de falsificações detalhadas. Este é um cenário de desarmamento de conta/abuso |
Perturbação de adversário | Em ataques de estilo de perturbação, o invasor modifica furtivamente a consulta para obter uma resposta desejada de um modelo implantado de produção. Essa é uma violação da integridade de entrada do modelo que resulta em ataques de estilo difuso, nos quais o resultado final não é necessariamente uma violação de acesso ou EOP. Em vez disso, ela compromete o desempenho de classificação do modelo. Isso pode ser manifestado por enganadores usando determinadas palavras de destino de modo que a IA as proíba, negando efetivamente o serviço a usuários legítimos com um nome correspondente a uma palavra "banida". Forçar emails benignos a serem classificados como spam ou fazer com que um exemplo mal-intencionado não seja detectado. Eles também são conhecidos como evasão de modelo ou ataques do tipo mimicry. O invasor por criar entradas para reduzir o nível de confiança da classificação correta, especificamente em cenários de alta consequência. Isso também pode assumir a forma de um grande número de falsos positivos para sobrecarregar os administradores ou os sistemas de monitoramento com alertas fraudulentos indistinguíveis de alertas legítimos. |
Inferência de associação | Inferir associação individual em um grupo usado para treinar um modelo Por exemplo: previsão de procedimentos de cirúrgicos com base em idade/gênero/hospital |