Pontos Principais
- Modelos de machine learning, assim como a maioria dos sistemas de software, podem ser invadidos;
- Ataques de privacidade contra sistemas de machine learning, como ataques de inferência e de inversão de modelo, podem expor informações pessoais/confidenciais;
- Vários ataques não requerem acesso direto ao modelo, mas podem ser invadidos utilizando APIs do modelo;
- Modelos personalizados, como previsão de texto, podem expor informações altamente confidenciais;
- Dados de treinamento que são confidenciais e os modelos utilizados devem sempre ser protegidos.
O machine learning é um novo campo com várias oportunidades e aplicações, entretanto como a maioria das tecnologias, também existem perigos à medida que expandimos os sistemas de machine learning e alcançamos as empresas. O uso do machine learning em informações confidenciais, como dados financeiros, históricos de compras, conversas com amigos e dados relacionados à saúde, cresceu nos últimos cinco anos, assim como a pesquisa sobre a vulnerabilidades desses sistemas.
Nas notícias e comentários, o exemplo mais comum de hackear um sistema de machine learning é a entrada contraditória que, como podemos ver no vídeo a seguir, são exemplos criados que enganam um sistema de machine learning para fazer uma previsão falsa. Neste vídeo, um grupo de pesquisadores do MIT foi capaz de mostrar que podem imprimir uma tartaruga em 3D que é classificada de maneira errônea como sendo um rifle por um sistema de visão computacional.
Em geral, exemplos contraditórios são usados para confundir a decisão ou o resultado de um sistema de machine learning, a fim de atingir algum objetivo. Isso pode ser uma classificação incorreta de um exemplo ou uma conta segmentada. Isso foi abordado repetidamente nos noticiários e representa ameaças de segurança significativas a aplicações da tecnologia como nos carros autônomos.
No entanto, um perigo geralmente que muitas pessoas fazem vista grossa no machine learning é a pesquisa sobre ataques de privacidade. Neste artigo, serão explorados alguns ataques de privacidade que mostram que os sistemas de machine learning são suscetíveis a revelar informações confidenciais inadvertidamente. Isso é tão perigoso, se não mais do que os próprios exemplos contraditórios, devido à existência de um rico mercado online de compra e venda de informações privadas.
Exposição de dados de treinamento sensíveis
E se alguém lhe disser que poderia determinar se seus dados foram utilizados para treinar um modelo com precisão de 70 a 90%, mesmo sem ter todas as informações completas? Com o advento do machine learning cada vez mais sofisticado e personalizado ou agrupado, esses ataques podem expor informações confidenciais sobre indivíduos.
Esse tipo de ataque é chamado de ataque de inferência de associação (Membership Inference Attack, MIA) e foi criado pelo professor Reza Shokri, que vem trabalhando na pesquisa de vários ataques à privacidade nos últimos quatro anos. Em seu artigo "Membership Inference Attacks against Machine Learning Models", premiado na categoria privacidade, descreve detalhadamente o método e a abordagem do ataque. Primeiro, os dados de treinamento adequados devem ser coletados do próprio modelo por meio de consultas sequenciais de possíveis entradas ou coletadas de conjuntos de dados públicos ou privados disponíveis aos quais o invasor tem acesso. Em seguida, o invasor cria vários modelos sombra, que devem imitar o modelo (ou seja, obter entradas e saídas semelhantes do modelo de destino). Esses modelos sombra devem ser ajustados para obter uma alta precisão e recuperar as amostras dos dados de treinamento coletados. Nota: o ataque visa ter diferentes divisões de treinamento e teste para cada modelo sombra, portanto, é necessário possuir dados suficientes para executar esta etapa. Finalmente, em uma arquitetura um pouco semelhante a uma rede adversa generativa (ou GAN, Generative Adversarial Network), o atacante pode treinar um discriminador que aprende a diferença na saída entre os dados de treinamento vistos e os dados de teste ou validação invisíveis com base nas entradas e saídas dos inúmeros modelos sombra. Esse discriminador é usado para avaliar a API de destino e determinar se um ponto de dados está dentro ou fora do modelo. Esses ataques podem, portanto, ser executados sem acesso total ao modelo ou no que é chamado de ambiente "caixa preta".
O professor Shokri e seus colegas pesquisadores testaram os ataques contra o Amazon ML, os sistemas de machine learning do Google Cloud e um modelo desenvolvido localmente. A partir das experiências, obtiveram 74% de precisão no machine learning da Amazon as a service, e 94% de precisão no machine learning do Google as a service, provando ser um modelo factível para uma tarefa de machine learning que expõe informações de privacidade. Em um artigo mais recente, foram capazes de expor as informações de sistemas supostamente "privados e descentralizados", como aprendizado federado, um tipo de arquitetura de machine learning suportado pelo Google e outras grandes empresas, como forma de promover o compartilhamento de dados privados de forma "segura".
É importante, ao analisar esse ataque, o fato dos sistemas de recomendação se tornarem cada vez mais personalizados, empregando informações demográficas, patrimônio líquido e outros dados sensíveis. Para modelos treinados em uma população muito pequena, como patrimônio líquido, um invasor que conhece informações sobre um indivíduo pode determinar se ele foi incluído no conjunto de dados de treinamento e, portanto, expor seu patrimônio líquido. Isso também se aplica a outras informações que podem não possuir previamente, que fazem parte da seleção da população para os dados de treinamento (como sexo, idade, raça, local, situação de imigração, orientação sexual, afiliação política e preferências de compra).
Quais dados esses ataques poderiam expor? Para a IA (inteligência artificial) na área da saúde, por exemplo, seria possível expor algo tão sensível quanto o resultado do HIV de um indivíduo. A IA no tratamento de saúde costuma segregar indivíduos com base em sua doença. Se um invasor foi capaz de consultar a API de um modelo que recomenda tratamento para pacientes com HIV, expor que eles faziam parte dos dados de treinamento, é possível saber sua situação positiva de HIV. À medida que o uso da IA cresce no setor de saúde, precisamos estar cientes das vulnerabilidades de privacidade e segurança nos modelos que treinamos e usamos.
Extraindo imagens de sistemas de reconhecimento facial
E se fosse possível identificar seu rosto apenas sabendo seu nome? Talvez pense que estamos falando da pesquisa de imagens do Google, mas, na verdade, essas informações são expostas simplesmente pelo acesso a um modelo de reconhecimento facial que foi treinado para reconhecer seu rosto.
Esse tipo de ataque é chamado de ataque de inversão de modelo e foi criado por Matt Fredrikson e seus colegas pesquisadores, que apresentaram o ataque em um artigo de 2015, "Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures". Semelhante ao ataque de inferência de associação, esse ataque só precisa de acesso da API ao modelo de machine learning e pode ser executado como uma série de consultas progressivas. Para começar, o atacante pode usar uma imagem base, se souber alguma coisa sobre o alvo (como idade, sexo ou raça), poderá tentar escolher uma imagem mais próxima. Em seguida, o invasor executa uma série de consultas utilizando o ataque de inversão, alterando os pixels para aumentar a precisão ou a confiança do sistema do machine learning. Em algum momento, é alcançada uma alta confiança, que produz uma imagem semelhante à mostrada acima, que embora não seja perfeita, é bastante próxima da aparência da pessoa. O documento também detalha vários outros ataques usando esse método em diferentes tipos de conjuntos de dados.
Quão plausível é esse ataque? Vemos o uso regular de sistemas de reconhecimento facial, incluindo o uso no serviço de imigração dos EUA e bancos de dados federais compartilhados para checkins de companhias aéreas, o que significa que o acesso e o uso desses sistemas também está aumentando. Como todo contratado ou subcontratado tem acesso ao sistema ou API, há outro ataque em potencial. Juntamente com a violação de privacidade acompanhada deste ataque, o acesso ao seu passaporte, visto ou outras fotos oficiais importante podem ser uma ameaça potencial à segurança.
Compartilhando segredos no uso de Deep Learning para Texto
E se fosse possível conseguir o número do seu cartão de crédito utilizando apenas um modelo baseado em texto personalizado ou semi-personalizado? É possível pensar neste ataque como um teclado preditivo, como o que acontece se digitar "Meu número de telefone é ..."?
Esse tipo de ataque foi investigado por Nicholas Carlini, demais pesquisadores do Google Brain e outros acadêmicos em um artigo chamado "The Secret Sharer: Measuring Unintended Neural Network Memorization / Extracting Secrets". Ao contrário dos dois ataques anteriores, esse requer acesso ao modelo, portanto, o atacante precisa se apossar do modelo treinado ou do seu binário. Em seguida, seguem consultando o modelo de texto para maximizar a probabilidade do próximo caractere descobrir padrões conhecidos (como número de identificação, número de cartão de crédito ou número de telefone). No artigo, foram capazes de extrair segredos que haviam sido vistos apenas 9 vezes nos dados de treinamento.
Como parte da pesquisa, treinaram modelos de 7 indivíduos do conjunto de dados de email da Enron, e conseguiram recuperar um numero de previdência social e dois números de cartão de crédito. Dado o aumento do uso de deep learning nos textos, principalmente para IA de conversação no atendimento ao cliente, a capacidade de memorizar e extrair segredos é um grande risco à segurança. Essencialmente, permite um ataque de phishing contra qualquer usuário que já tenha compartilhado detalhes privados com o bot.
Protegendo suas informações: machine learning seguro
Dado que o machine learning expõe uma nova superfície de ataques, como podemos proteger essa ferramenta contra ataques à privacidade? Uma das soluções, o aprendizado federado, já foi exposto a vulnerabilidades do professor Shokri e do seu grupo na Universidade de Cingapura. Outros, como PATE, de Nicholas Papernot, exigem grandes quantidades de dados de treinamento e empregam um mecanismo diferencial de privacidade (o que significa que ainda podem expor algumas informações). Outros utilizam técnicas de criptografia nos dados de treinamento (usando criptografia homomórfica ou pseudo anonimização homomórfica). Parece que ainda não existe uma maneira viável de garantir que as informações privadas ou sensíveis possam deixar de existir no sistema de machine learning.
Dito isto, na computação, gerenciamos dados particulares e confidenciais há décadas. Nem sempre tudo foi perfeito, ou mesmo extremamente seguro, mas como especialistas em computação, desenvolvemos maneiras de criptografar e descriptografar dados em tempo real, criar barreiras computacionais seguras, proteger os dados armazenados na memória e muitas outras medidas de segurança para proteger informações confidenciais e privilegiadas dos invasores. Continuando a pesquisa e o desenvolvimento de novas maneiras de aplicar princípios de computação segura e métodos de criptografia a problemas de machine learning, provavelmente podemos descobrir e aplicar melhor a segurança aos dados confidenciais contidos nesses modelos.
Também descobrimos maneiras de proteger as APIs e seus acessos, fortalecer os sistemas de software e ainda permitir interoperabilidade básica. A aplicação desse conhecimento em nossos sistemas de machine learning, testando-os regularmente quanto a explorações e vulnerabilidades, é fundamental para proteger os sistemas em geral. O desenvolvimento de novas maneiras de permitir o acesso às APIs de machine learning, que também podem determinar a viabilidade da entrada de dados, fortalecer a segurança dos sistemas e proporcionar tranquilidade para as equipes de segurança e de machine learning. Essencialmente, precisamos garantir que os padrões de segurança de aplicações OWASP sejam aplicados a esses tipos de APIs e expandidos para incluir esses tipos especiais de ataques.
A incorporação de protocolos de segurança, testes e revisão do sistema como parte regular da implantação do machine learning permitiria que essas equipes e as de segurança trabalhassem juntas para resolver esses problemas. Com especialistas de ambas as áreas desenvolvendo e padronizando novas técnicas, estou confiante de que podemos construir um futuro mais seguro e com mais privacidade para os sistemas machine learning.
Sobre a autora
Katharine Jarmul é pythonista e co-fundadora da KIProtect, uma empresa de segurança de ciência de dados e machine learning em Berlim, Alemanha. Utiliza o Python desde 2008 para resolver e criar problemas. Ajudou a formar o primeiro capítulo da PyLadies em Los Angeles em 2010 e foi co-autora de um livro da O'Reilly, juntamente com vários cursos em vídeo sobre Python e dados.