banner

Notícias

Aug 28, 2023

Learning Machine Learning Parte 3: Atacando Modelos de Caixa Preta

Home » Cibersegurança » Analytics & Intelligence » Learning Machine Learning Parte 3: Atacando Modelos de Caixa Preta

Na primeira postagem desta série, abordamos um breve histórico sobre aprendizado de máquina, a abordagem Revoke-Obfuscation para detectar scripts ofuscados do PowerShell e meus esforços para melhorar o conjunto de dados e os modelos para detectar o PowerShell ofuscado. Acabamos com três modelos: uma regressão logística regularizada L2 (Ridge), um classificador LightGBM e uma arquitetura de rede neural.

A segunda postagem abordou o ataque a esses modelos de umcaixa branca perspectiva, ou seja, onde temos a totalidade do próprio modelo treinado, incluindo os recursos de entrada, arquitetura do modelo, parâmetros/pesos do modelo e dados de treinamento. Eu recomendo pelo menos dar uma olhada nessas duas primeiras postagens antes de prosseguir para garantir que tudo isso faça o máximo de sentido possível.

Nesta postagem, abordaremos os problemas mais comuns e difíceis,caixa preta perspectiva. Aqui sabemos apenas quais recursos estão sendo extraídos de cada amostra – até mesmo a arquitetura permanecerá opaca para nós.

Depois de ler o que foram definitivamente centenas de páginas de pesquisas acadêmicas sobre aprendizado de máquina contraditório, posso dizer com segurança que boa parte da pesquisa foi feita a partir de uma perspectiva de caixa branca. Lembre-se de nossa definição de ataques de caixa branca e caixa preta do segundo post desta série:

Além disso, a maior parte da pesquisa parece ter sido no domínio do reconhecimento de imagem. Embora isso seja interessante, é definitivamente um espaço de problema diferente daquele com o qual estamos lidando. Especificamente, as imagens podem ter vários pixels perturbados por uma pequena quantidade sem que a imagem adversária resultante pareça ser modificada ao olho humano. Para muitos dos problemas com os quais estamos lidando em segurança, por exemplo, nosso espaço de problema de ofuscação do PowerShell, estamos mais limitados em a) o número de recursos que podemos modificar e b) em que grau podemos modificar esses recursos. Ou seja, temos um subespaço funcional menor de modificações que podemos fazer nos scripts do PowerShell em oposição às imagens.

Vários ataques de caixa preta envolvemextração de modelo (consulte a próxima seção) para criar um modelo local, às vezes conhecido como substituto ou modelo substituto. Os ataques existentes são executados contra o modelo local para gerar amostras adversárias com a esperança de que essas amostras também escapem do modelo de destino. Isso geralmente funciona por causa do fenômeno detransferibilidade de ataque, sobre o qual falaremos em breve.

Os ataques de caixa preta também podem pular a extração do modelo e consultar diretamente as entradas no modelo de destino. Esses ataques, em que a configuração interna do modelo não é necessária, são conhecidos como ataques de caixa preta na literatura acadêmica. No entanto, usando a extração de modelo, podemos potencialmente aplicar ataques de caixa branca contra clones locais de modelos de caixa preta, onde temos apenas um oráculo para enviar entradas e obter rótulos.

A extração de modelo, de acordo com Will Pearce e outros, é uma das primitivas mais fundamentais no ML adversário. Embora essa ideia provavelmente tenha circulado por um tempo, acredito que as primeiras formalizações de extração de modelo (ou pelo menos uma que popularizou o método) foram o artigo de 2016 Transferability in Machine Learning: from Phenomena to Black-Box Attacks using Adversarial Samples" e o Artigo de 2017 "Ataques práticos de caixa preta contra aprendizado de máquina", ambos de Papernot et al. O resumo geral de sua abordagem do artigo de 2017 é:

Nossa estratégia de ataque consiste em treinar um modelo local para substituir o DNN alvo [Deep Neural Network], usando entradas geradas sinteticamente por um adversário e rotuladas pelo DNN alvo. Usamos o substituto local para criar exemplos adversários e descobrimos que eles são classificados incorretamente pelo DNN de destino.

A ideia é aproximar o limite de decisão do modelo de destino com menos (e geralmente diferentes) dados do que o modelo foi originalmente treinado. Basicamente, a extração do modelo envolve primeiro enviar um número de amostras rotuladas conhecidas para o modelo, que funciona como um oráculo de rotulagem. Imagine enviar um monte de binários para algum tipo de site que permite saber se os binários são maliciosos ou não. Ou imagine ter nossos modelos Revoke-Obfuscation adaptados como algum tipo de API interna, onde podemos enviar nossas medições de recursos e obter um resultado de rótulo de normal ou ofuscado, ou uma pontuação de probabilidade de ofuscação. Com entradas suficientes, podemos treinar um modelo substituto local que funcione de maneira semelhante ao modelo de destino.

COMPARTILHAR