Como o envenenamento por dados ataca modelos de aprendizado de máquina corruptos

Views: 444
0 0
Read Time:10 Minute, 23 Second

A adoção de aprendizado de máquina explodiu na última década, impulsionada em parte pelo aumento da computação em nuvem, que tornou a computação e o armazenamento de alto desempenho mais acessíveis a todas as empresas. À medida que os fornecedores integram o aprendizado de máquina em produtos em todas as indústrias, e os usuários dependem da saída de seus algoritmos na tomada de decisões, especialistas em segurança alertam para ataques contraditórios projetados para abusar da tecnologia.

A maioria das plataformas de redes sociais, plataformas de vídeo online, grandes sites de compras, mecanismos de busca e outros serviços têm algum tipo de sistema de recomendação baseado em aprendizado de máquina. Os filmes e programas que as pessoas gostam na Netflix, o conteúdo que as pessoas gostam ou compartilham no Facebook, as hashtags e curtidas no Twitter, os produtos que os consumidores compram ou veem na Amazon, as consultas que os usuários digitam no Google Search são todas alimentadas de volta aos modelos de aprendizado de máquina desses sites para fazer recomendações melhores e mais precisas.

Não é novidade que os invasores tentam influenciar e distorcer esses sistemas de recomendação usando contas falsas para aumentar, diminuir o voto, compartilhar ou promover determinados produtos ou conteúdo. Os usuários podem comprar serviços para realizar tal manipulação no mercado subterrâneo, bem como “fazendas de trolls” usadas em campanhas de desinformação para espalhar notícias falsas.

“Em teoria, se um adversário tem conhecimento sobre como um usuário específico interagiu com um sistema, um ataque pode ser criado para atingir esse usuário com uma recomendação como um vídeo do YouTube, um aplicativo malicioso ou uma conta impositor a seguir”, explicou Andrew Patel, pesquisador do Centro de Excelência em Inteligência Artificial do fornecedor de segurança F-Secure, em um post no blog. “Como tal, a manipulação algorítmica pode ser usada para uma variedade de propósitos, incluindo desinformação, golpes de phishing, alteração da opinião pública, promoção de conteúdo indesejado e desacreditamento de indivíduos ou marcas. Você pode até pagar alguém para manipular a funcionalidade de pesquisa do Google.”Eficiência do service desk de condução com aprendizado de máquina e IAhttps://imasdk.googleapis.com/js/core/bridge3.451.0_en.html#goog_258248246Volume 0% 

O que é envenenamento por dados?

Ataques de envenenamento por dados ou envenenamento por modelos envolvem poluir os dados de treinamento de um modelo de aprendizagem de máquina. O envenenamento por dados é considerado um ataque de integridade porque a adulteração dos dados de treinamento impacta a capacidade do modelo de produzir previsões corretas. Outros tipos de ataques podem ser classificados da mesma forma com base em seu impacto:

  • Confidencialidade, onde os invasores podem inferir informações potencialmente confidenciais sobre os dados de treinamento alimentando insumos para o modelo
  • Disponibilidade, onde os atacantes disfarçam suas entradas para enganar o modelo, a fim de escapar da classificação correta
  • Replicação, onde os atacantes podem fazer engenharia reversa do modelo a fim de replicá-lo e analisá-lo localmente para preparar ataques ou explorá-lo para seu próprio ganho financeiro

A diferença entre um ataque que se destina a evitar a previsão ou classificação de um modelo e um ataque envenenado é persistência: com envenenamento, o objetivo do atacante é fazer com que suas entradas sejam aceitas como dados de treinamento. O comprimento do ataque também difere porque depende do ciclo de treinamento do modelo; pode levar semanas para o atacante alcançar seu objetivo de envenenamento.

O envenenamento por dados pode ser alcançado em um cenário de caixa preta contra classificadores que dependem do feedback do usuário para atualizar seu aprendizado ou em um cenário de caixa branca onde o invasor ganha acesso ao modelo e seus dados de treinamento privado, possivelmente em algum lugar da cadeia de suprimentos se os dados de treinamento forem coletados de várias fontes.

Exemplos de envenenamento de dados

Em um contexto de cibersegurança, o alvo pode ser um sistema que usa aprendizado de máquina para detectar anomalias de rede que poderiam indicar atividades suspeitas. Se um invasor entender que tal modelo está no lugar, ele pode tentar introduzir lentamente pontos de dados que diminuam a precisão desse modelo, de modo que, eventualmente, as coisas que eles querem fazer não serão mais sinalizadas como anômalas, diz Patel ao CSO. Isso também é conhecido como distorção de modelo.

Um exemplo real disso são os ataques contra os filtros de spam usados pelos provedores de e-mail. Em um post no blog de 2018 sobre ataques de aprendizado de máquina, Elie Bursztein, que lidera a equipe de pesquisa antiabuso no Google, disse: “Na prática, vemos regularmente alguns dos grupos de spammer mais avançados tentando jogar o filtro do Gmail fora dos trilhos, relatando grandes quantidades de e-mails de spam como não spam […] Entre o final de novembro de 2017 e o início de 2018, houve pelo menos quatro tentativas maliciosas em grande escala para distorcer nosso classificador.”

Outro exemplo envolve o serviço de digitalização VirusTotal do Google, que muitos fornecedores de antivírus usam para aumentar seus próprios dados. Embora os atacantes sejam conhecidos por testar seu malware contra o VirusTotal antes de implantá-lo na natureza, evitando assim a detecção, eles também podem usá-lo para se envolver em envenenamento mais persistente. De fato, em 2015 houve relatos de que ataques intencionais de envenenamento por amostras através do VirusTotal foram realizados para fazer com que os fornecedores de antivírus detectem arquivos benignos como maliciosos.

Sem solução fácil

O principal problema com envenenamento por dados é que não é fácil de corrigir. Os modelos são retreinados com dados recém-coletados em determinados intervalos, dependendo do uso pretendido e da preferência do proprietário. Uma vez que o envenenamento geralmente acontece ao longo do tempo, e ao longo de alguns ciclos de treinamento, pode ser difícil dizer quando a precisão da previsão começa a mudar.

Reverter os efeitos de envenenamento exigiria uma análise histórica demorada dos insumos para a classe afetada para identificar todas as amostras de dados ruins e removê-las. Em seguida, uma versão do modelo de antes do ataque começar precisaria ser retreinada. Ao lidar com grandes quantidades de dados e um grande número de ataques, no entanto, o retreinamento de tal forma simplesmente não é viável e os modelos nunca são corrigidos, de acordo com Patel da F-Secure.

“Há toda essa noção na academia agora que eu acho muito legal e ainda não é prático, mas vamos chegar lá, isso é chamado de máquina sem aprendizado”, diz Hyrum Anderson, arquiteto principal do Trustworthy Machine Learning na Microsoft, ao CSO. “Para o GPT-3 [um modelo de previsão de idiomas desenvolvido pela OpenAI], o custo foi de US$ 16 milhões ou algo para treinar o modelo uma vez. Se fosse envenenado e identificado após o fato, poderia ser muito caro encontrar os dados envenenados e retreinar. Mas se eu pudesse desaprender, se eu pudesse dizer “Ei, para esses dados, desfazer seus efeitos e meus pesos”, isso poderia ser uma maneira significativamente mais barata de construir uma defesa. Acho que soluções práticas para a desapresa de máquinas ainda estão a anos de distância. Então, sim, a solução neste momento é retreinar com bons dados e isso pode ser super difícil de realizar ou caro.”

Prevenir e detectar

Dadas as dificuldades em corrigir modelos envenenados, os desenvolvedores de modelos precisam se concentrar em medidas que possam bloquear tentativas de ataque ou detectar entradas maliciosas antes que o próximo ciclo de treinamento aconteça — coisas como verificação de validade de entrada, limitação de taxas, testes de regressão, moderação manual e uso de várias técnicas estatísticas para detectar anomalias.

Por exemplo, um pequeno grupo de contas, endereços IP ou usuários não devem responder por uma grande parte dos dados de treinamento do modelo. Podem ser colocadas restrições sobre quantas entradas fornecidas por um usuário único são aceitas nos dados de treinamento ou com que peso. Os classificadores recém-treinados podem ser comparados com os anteriores para comparar suas saídas usando lançamentos escuros — lançando-os para apenas um pequeno subconjunto de usuários. Em seu post no blog, o Bursztein, do Google, também recomendou a construção de um conjunto de dados dourado que qualquer modelo retreinado deve prever com precisão, o que pode ajudar a detectar regressões.

De acordo com Anderson, o envenenamento por dados é apenas um caso especial de um problema maior chamado deriva de dados que acontece nos sistemas. Todo mundo obtém dados ruins por uma variedade de razões, e há muitas pesquisas por aí sobre como lidar com a deriva de dados, bem como ferramentas para detectar mudanças significativas nos dados operacionais e no desempenho do modelo, inclusive por grandes provedores de computação em nuvem. O Azure Monitor e o Amazon SageMaker são exemplos de serviços que incluem tais capacidades.

“Se o desempenho do seu modelo após uma requalificação for um impacto dramático, se é ou não um ataque de envenenamento ou apenas um lote ruim de dados provavelmente é imaterial e seu sistema pode detectar isso”, diz Anderson. “Se você conseguir corrigir isso, então você pode eliminar esse ataque de envenenamento direcionado ou o lote ruim de dados que inadvertidamente entrou na abertura de dados quando você treinou seu modelo. Então, esses tipos de ferramentas são um bom começo e estão meio que nessa estrutura de gerenciamento de riscos de IA que está começando a se materializar na indústria.”

Para realizar o envenenamento por dados, os atacantes também precisam obter informações sobre como o modelo funciona, por isso é importante vazar o mínimo de informações possível e ter fortes controles de acesso para o modelo e os dados de treinamento. A este respeito, as defesas de aprendizado de máquina estão ligadas a práticas gerais de segurança e higiene — coisas como restringir permissões, permitir o registro e usar a versão de arquivos e dados.

“Muita segurança em IA e aprendizado de máquina tem a ver com permissões muito básicas de leitura/gravação de dados ou acesso a modelos ou sistemas ou servidores”, diz Anderson. “É um caso em que um pequeno serviço ou arquivo de provedor de dados permissivo em algum diretório pode levar a um ataque de envenenamento.”

Vá no ataque.

Assim como as organizações executam testes regulares de penetração contra suas redes e sistemas para descobrir fraquezas, elas devem expandir isso para o contexto de aprendizado de máquina, bem como tratar o aprendizado de máquina como parte da segurança do sistema ou aplicativo maior.

“Acho que a coisa óbvia que os desenvolvedores devem fazer com a construção de um modelo é realmente atacá-lo eles mesmos para entender como ele pode ser atacado e, entendendo como ele pode ser atacado, eles podem então tentar construir defesas contra esses ataques”, diz Patel. “Sua detecção será baseada no que você encontrou na equipe vermelha para que, quando você montar ataques contra o modelo, você possa então entender como seriam os pontos de dados e, em seguida, de acordo com isso, você construiria mecanismos capazes de descartar os pontos de dados que parecem envenenamento.”

Anderson está ativamente envolvido com isso na Microsoft. Em uma palestra recente na conferência USENIX Enigma, ele apresentou um exercício de equipe vermelha na Microsoft, onde sua equipe conseguiu fazer engenharia reversa de um modelo de aprendizado de máquina que estava sendo usado por um serviço de provisionamento de recursos para garantir a alocação eficiente e o mapeamento de recursos virtuais para hardware físico.

Sem ter acesso direto ao modelo, a equipe conseguiu encontrar informações suficientes sobre como coletava dados para criar uma réplica modelo local e testar ataques de evasão contra ele sem ser detectado pelo sistema ao vivo. Isso permitiu que eles identificassem quais combinações de máquinas virtuais, bancos de dados, seus tamanhos e fatores de replicação, em que horas do dia e em quais regiões deveriam solicitar do sistema real para garantir com alta probabilidade que o modelo de aprendizado de máquina superprovisionaria os recursos que solicitavam em hosts físicos que também hospedavam serviços de alta disponibilidade.

Com esses recursos super provisionados, eles lançaram um ataque vizinho barulhento com cargas que tinham alto uso de CPU e RAM para causar um ataque de negação de serviço contra os serviços de alta disponibilidade também hospedados no mesmo hardware. “O ataque teve semelhanças impressionantes com a atividade adversária em qualquer sistema de TI”, concluiu Anderson na palestra. “Houve exfiltração, evasão e execução, terminando finalmente com o impacto da disponibilidade de serviços.”

FONTE: CSO ONLINE

POSTS RELACIONADOS