Como enganar aplicativos que usam o Deep Learning para detecção de melanome

Franco Piergallini Guida    22 marzo, 2021
Como enganar aplicativos que usam o Deep Learning para detecção de melanome

Uma das grandes conquistas do aprendizado profundo é a classificação de imagens por meio de redes neurais convolucionais. No artigo “A Internet da Saúde” , vemos um exemplo claro em que essa tecnologia, como a do projeto -GoogleLeNet- do Google (que foi originalmente projetado para interpretar imagens para carros inteligentes ou carros autônomos) , agora é usada no campo de análise de imagens médicas para detecção de melanomas e câncer de pele.  

Fazendo uma simples pesquisa em lojas de aplicativos móveis com esse objetivo, encontramos alguns que , a partir da foto de uma mancha ou mancha na pele, predizem se é um melanoma malicioso ou algo totalmente benigno . Como vimos em artigos anteriores, esse tipo de algoritmo pode ser vulnerável a alterações em seu comportamento. A partir da seleção de alguns desses aplicativos, procedeu-se a realizar um ataque do tipo caixa preta com o objetivo de gerar estrategicamente ruído a uma imagem de um melanoma para ver se é possível inverter a classificação das redes neurais internas dos aplicativos em o qual não tínhamos nenhuma informação.Ou seja, neste cenário de pesquisa, não tivemos acesso às redes neurais internas dos aplicativos.

Metodologia

Diante desta situação, uma das formas possíveis foi recriar nossos próprios modelos treinados da maneira mais intuitiva para lidar com este tipo de problema e geramos ataques para estes que, devido à propriedade chamada transferibilidade, deveriam funcionar em todas as aplicações que tínhamos selecionado. Mas encontramos um caminho ainda mais fácil: para nos poupar da etapa de treinar uma rede neural dedicada à detecção de melanomas em imagens, simplesmente procuramos um projeto de código aberto que resolvesse esse problema e tivesse uma rede neural já treinada e pronta para Github.

A propriedade de transferibilidade foi descoberta por pesquisadores que descobriram que amostras adversárias especificamente projetadas para causar classificação incorreta em um modelo também podem causar classificações incorretas em outros modelos treinados independentemente, mesmo quando os dois modelos são claramente suportados por algoritmos ou infraestruturas.

Para tentar verificar a teoria usando um dos aplicativos selecionados de nosso dispositivo ou emulador (Android) de forma “normal”, procedemos ao carregamento de nossas imagens de melanoma selecionadas aleatoriamente do Google para ver seus resultados. De fato, pudemos observar que os aplicativos classificaram essas imagens como melanomas com alta confiança , como podemos ver na imagem a seguir:

Imagem 1: Classificação das imagens como melanomas

A partir daí, começamos a recriar um ataque adversário. Intuímos que em todas as aplicações vítimas foi utilizada uma abordagem semelhante à proposta no repositório Github. Portanto, utilizando os pesos da rede neural fornecidos pelo repositório, aplicamos a técnica Fast Sign Gradient Method (FSGM), que já mencionamos em outro post sobre ela , gerando o “ruído branco” necessário para enganar as redes neurais. Este ruído, quase imperceptível ao olho humano, é projetado especificamente a partir dos pesos da rede neural para ter o maior impacto ao atribuir as probabilidades de classificação das imagens emudar totalmente o veredicto da previsão.

E, de fato, a imagem cuidadosamente gerada por meio dos pesos das redes neurais de código aberto com o FSGM, tem o impacto desejado nos aplicativos alvo da vítima. Observamos que, claramente, a propriedade de transferibilidade é cumprida, uma vez que não temos ideia de qual estrutura interna ou pesos possuem as redes internas das aplicações. No entanto, fomos capazes de alterar a previsão de imagens em que um resultado era mostrado com bastante certeza de que eram melanomas, simplesmente adicionando “ruído” a elas.

Imagem 2: Melanomas analisados, mas com redução na classificação

Recriamos com sucesso esse tipo de ataque em vários aplicativos que encontramos nas lojas do Google e da Apple. Em alguns casos, eles se comportaram de forma semelhante e não exatamente igual, mas no final dos testes sempre obtivemos o mesmo resultado. Engane a rede neural em sua previsão.

Na imagem a seguir mostramos os resultados da mesma imagem de melanoma carregada para o mesmo aplicativo, mas na qual aumentamos o ruído até chegar ao momento em que a rede interna do aplicativo muda sua previsão.

Imagem 3: A previsão muda conforme o ruído aumenta na imagem

Deve-se notar que quando analisamos este tipo de aplicativo, não apenas encontramos vulnerabilidades potenciais relacionadas a tecnologias de aprendizagem profunda , mas por sua vez, podemos encontrar vulnerabilidades típicas, como:

  • Implementação inadequada de Webview XSS
  • Não aplicação de métodos de ofuscação
  • Conexões inseguras com back-ends (HTTP)
  • Vazamento de dados privados

No final das contas, são pontos fracos que já conhecemos e que ainda muitos deles permanecem sem correção em aplicativos que tratam de informações tão sigilosas quanto dados médicos.

Conclusões

De acordo com o Gartner , em 2022, 30% de todos os ataques cibernéticos à inteligência artificial aproveitarão o envenenamento de dados de treinamento, roubo de modelo ou ataques adversários . Além disso, uma pesquisa da Microsoft indica que 22 das 28 organizações da Fortune 500 não estariam equipadas com ferramentas estratégicas e táticas para proteger, detectar e responder a ataques em seus sistemas de aprendizado de máquina.

As descobertas que encontramos podem representar uma combinação perfeita para que mais tarde, quando mais aplicativos desse tipo forem implantados e interações com outros dispositivos ou plataformas médicas, o risco para a segurança das plataformas e a privacidade dos dados aumente

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *