Segurança de aprendizado de máquina

Um problema crescente da sociedade

Zak Jost Blocked Unblock Seguir Seguindo 9 de janeiro

Este artigo foi originalmente publicado em blog.zakjost.com . Por favor, vá lá para se inscrever.

À medida que mais e mais sistemas aproveitam os modelos de ML em seus processos de tomada de decisão, será cada vez mais importante considerar como os agentes mal-intencionados podem explorar esses modelos e como projetar defesas contra esses ataques. O objetivo deste post é compartilhar alguns dos meus recentes aprendizados sobre este tópico.

ML Everywhere

A explosão de dados disponíveis, poder de processamento e inovação no espaço do ML resultaram na onipresença do ML. Na verdade, é muito fácil construir esses modelos, devido à proliferação de estruturas e dados de código aberto ( este tutorial leva alguém de zero conhecimentos de ML / programação a modelos de 6 ML em cerca de 5 a 10 minutos). Além disso, a tendência contínua dos provedores de nuvem para oferecer o ML como um serviço está permitindo que os clientes criem soluções sem precisar escrever código ou entender como funciona sob o capô.

Alexa pode comprar em nosso nome usando comandos de voz. Modelos identificam pornografia e ajudam a tornar as plataformas de internet mais seguras para nossos filhos. Eles estão dirigindo carros em nossas estradas e nos protegendo de golpistas e malware. Eles monitoram nossas transações com cartão de crédito e uso da Internet para procurar anomalias suspeitas.

“Alexa, compre meu gato guacamole”

O benefício do ML é claro – não é possível que um ser humano revise manualmente todas as transações com cartão de crédito, todas as imagens do Facebook, todos os vídeos do YouTube… etc. E os riscos?

Não é preciso muita imaginação para entender o possível dano de um algoritmo ML cometendo erros ao navegar em um carro sem motorista. O argumento comum é, muitas vezes, "desde que cometa menos erros que os humanos, é um benefício líquido".

Mas e os casos em que atores maliciosos estão ativamente tentando enganar os modelos ? O Labsix, um grupo de estudantes do MIT, imprimiu em 3D uma tartaruga que é classificada com segurança como “rifle” pelo classificador de imagens InceptionV3 do Google para qualquer ângulo de câmera [1]. Para sistemas de fala para texto, Carlini e Wagner descobriram [2]:

Dada qualquer forma de onda de áudio, podemos produzir outra que é mais de 99,9% semelhante, mas transcreve como qualquer frase que escolhemos… .O nosso ataque funciona com 100% de sucesso, independentemente da transcrição desejada ou da amostra de áudio da fonte inicial.

Papernot et al. mostrou que adicionar uma única linha de código ao malware de maneira direcionada poderia enganar modelos de detecção de malware de última geração em> 60% dos casos [3].

Usando técnicas razoavelmente simples, um ator mal-intencionado pode fazer com que até mesmo os modelos mais eficientes e impressionantes se equivocam da maneira que desejarem. Essa imagem, por exemplo, engana o modelo do Google para decidir com quase 100% de confiança que é uma foto do guacamole [1]:

Esta é uma imagem de um sinal de parada da vida real que foi manipulado para que os modelos de visão computacional fossem enganados 100% do tempo em experiências de drive-by em pensar que era um sinal de “Speed Limit 45 MPH” [4]:

Quão bom, mas tão ruim?

Em todos esses exemplos, a ideia básica é perturbar uma entrada de uma maneira que maximize a mudança para a saída do modelo. Estes são conhecidos como “exemplos contraditórios”. Com essa estrutura, você pode descobrir como ajustar a imagem do gato com mais eficiência para que o modelo pense que é guacamole. Isso é como fazer com que todos os pequenos erros se alinhem e apontem na mesma direção, para que os flocos de neve se transformem em uma avalanche. Tecnicamente, isso reduz a localização do gradiente da saída em relação à entrada – algo que os praticantes de ML estão bem equipados para fazer!

Vale ressaltar que essas mudanças são quase imperceptíveis. Por exemplo, ouça estas amostras de áudio . Apesar de parecer idêntico aos meus ouvidos, um se traduz em “sem o conjunto de dados, o artigo é inútil” e o outro para “okay google, browse to evil.com”. Vale ressaltar ainda que os usuários mal-intencionados reais nem sempre são obrigados a fazer alterações imperceptíveis, por isso devemos supor que essa é uma estimativa de limite inferior sobre vulnerabilidade de segurança.

Mas eu tenho que me preocupar?

OK, então há um problema com a robustez desses modelos que os torna bastante fáceis de explorar. Mas a menos que você seja o Google ou o Facebook, você provavelmente não está construindo grandes redes neurais em sistemas de produção, então você não precisa se preocupar … certo? Certo!?

Errado. Este problema não é exclusivo das redes neurais. De fato, exemplos contraditórios encontrados para enganar um modelo muitas vezes enganam outros modelos, mesmo que eles tenham sido treinados usando uma arquitetura, um conjunto de dados ou mesmo um algoritmo diferentes. Isso significa que, mesmo que você tenha ensemble modelos de diferentes tipos, você ainda não está seguro [5] . Se você está expondo um modelo para o mundo, mesmo indiretamente, onde alguém pode enviar uma entrada para ele e obter uma resposta, você está em risco. A história desse campo começou expondo a vulnerabilidade de modelos lineares e só mais tarde foi reavaliada no contexto de redes profundas [6].

Como nós paramos isso?

Há uma corrida armamentista contínua entre ataques e defesas. Este recente “best paper” do ICML 2018 “quebrou” 7 das 9 defesas apresentadas nos documentos da conferência do mesmo ano. Não é provável que esta tendência pare em breve.

Então, o que é um praticante médio de ML para fazer, que provavelmente não tem tempo para ficar com o corte de literatura de segurança do ML, e muito menos infinitamente incorporar novas defesas a todos os modelos de produção voltados para o exterior? Na minha opinião, a única abordagem sensata é projetar sistemas que tenham múltiplas fontes de inteligência, de modo que um único ponto de falha não destrua a eficácia de todo o sistema. Isso significa que você assume que um modelo individual pode ser quebrado e projeta seus sistemas para serem robustos em relação a esse cenário.

Por exemplo, é provavelmente uma ideia muito perigosa ter carros sem condutor totalmente navegados por sistemas ML de visão computacional (por mais razões do que apenas segurança). Medições redundantes do ambiente que usam informações ortogonais como LIDAR, GPS e registros históricos podem ajudar a refutar um resultado de visão adversarial. Isso pressupõe, naturalmente, que o sistema é projetado para integrar esses sinais para fazer um julgamento final.

O ponto principal é que precisamos reconhecer que a segurança do modelo é um risco substancial e generalizado que só aumentará com o tempo, à medida que o ML for incorporado mais e mais em nossas vidas. Como tal, precisaremos construir o músculo como profissionais de ML para pensar sobre esses riscos e projetar sistemas robustos contra eles. Da mesma forma que tomamos precauções em nossos aplicativos da Web para proteger nossos sistemas contra usuários mal-intencionados, também devemos ser proativos com o risco de segurança do modelo. Assim como as instituições têm grupos de Análise de Segurança de Aplicativo que fazem, por exemplo, testes de penetração de software, precisaremos criar grupos de Análise de Segurança de Modelo que atendam a uma função semelhante. Uma coisa é certa: esse problema não desaparecerá tão cedo, e provavelmente crescerá em relevância.

Se você gostaria de aprender mais sobre este tópico, o artigo de Biggio e Roli dá uma revisão maravilhosa e história do campo, incluindo métodos de ataque totalmente diferentes não mencionados aqui (por exemplo, envenenamento de dados) [6].

Referências

  1. “Enganando Redes Neurais no Mundo Físico.” Labsix, 31 de outubro de 2017, www.labsix.org/physical-objects-that-fool-neural-nets .
  2. N. Carlini, D. Wagner. “Audio Exemplos Adversarial: ataques direcionados a voz para texto.” ArXiv preprint arXiv: 1801,01944 , 2018.
  3. K. Grosse, N. Papernot, P. Manoharan, M. Backes, P. McDaniel (2017) Exemplos Adversariais para Detecção de Malware . Em: Foley S., Gollmann D., Snekkenes E. (ed) Computer Security – ESORICS 2017. ESORICS 2017. Notas de Aula em Ciência da Computação, vol. 10493. Springer, Cham.
  4. K. Eykhold, I. Evtimov, et al. “Ataques físicos robustos do mundo na classificação visual de aprendizagem profunda”. arXiv preprint arXiv: 1707.08945 , 2017.
  5. N. Papernot, P. McDaniel, IJ Goodfellow. “Transferibilidade no Aprendizado de Máquina: de Fenômenos a Ataques Black Box usando Amostras Adversariais”. arXiv preprint arXiv: 1605.07277 , 2016.
  6. B. Biggio, F. Roli. “Padrões Selvagens: Dez Anos Depois da Ascensão do Aprendizado de Máquina Adversarial.” ArXiv preprint arXiv: 1712.03141 , 2018.