Windows Defender

Protegendo o protetor: Defesas de aprendizagem de máquina de proteção contra ataques adversários

https://cloudblogs.microsoft.com/uploads/prod/2018/01/windows-defender-security-intelligence-150x150.png

PESQUISA DO WINDOWS DEFENDER

no Windows , Proteção Avançada contra Ameaças do Windows Defender , Segurança na Nuvem , Segurança de Endpoint , Proteção contra Ameaças , Tendências do Setor , Pesquisa

Aproveitando o poder da aprendizagem de máquina e inteligência artificial permitiu Windows Defender Proteção Avançada de Ameaças ( Windows Defender ATP ) protecção de próxima geração para parar novos ataques de malware antes que eles possam começar – muitas vezes dentro de milisegundos. Essas tecnologias preditivas são fundamentais para aumentar a proteção e fornecer uma prevenção eficaz contra ameaças em face da atividade implacável do invasor.

Considere isso: Em um dia típico recente, 2,6 milhões de pessoas encontraram malware recém-descoberto em 232 países diferentes (Figura 1). Esses ataques foram compostos por 1,7 milhão de malware distintos e vistos pela primeira vez, e 60% dessas campanhas foram concluídas em uma hora.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/08/Fig01-a-single-day-of-malware-attacks-2.png

Figura 1. Um único dia de ataques de malware: 2.6 milhões de pessoas de 232 países que encontram malware

Embora as abordagens inteligentes baseadas na nuvem representem uma mudança radical na luta contra o malware, os invasores não ficam de braços cruzados e permitem que sistemas avançados de ML e IA comam seu almoço financiado pelo Bitcoin. Se eles puderem encontrar uma maneira de derrotar os modelos de aprendizado de máquina no coração das soluções antivírus de última geração, mesmo que por um momento, eles ganharão espaço para respirar e lançar uma campanha bem-sucedida.

Hoje, na Black Hat USA 2018, em nossa palestra Protegendo o Protetor: Defesas de Aprendizado da Máquina de Endurecimento Contra Ataques Adversariais [PDF] , apresentamos uma série de lições aprendidas de nossa experiência investigando invasores tentando derrotar nossas proteções ML e AI. Nós compartilhamos essas lições nesta postagem do blog; Usamos um estudo de caso para demonstrar como essas mesmas lições fortaleceram as soluções defensivas da Microsoft no mundo real. Esperamos que essas lições ajudem a fornecer estratégias defensivas na implantação do ML na luta contra ameaças emergentes.

Lição: Use uma abordagem em várias camadas

Em nossa abordagem de ML em camadas , derrotar uma camada não significa evitar a detecção, pois ainda há oportunidades para detectar o ataque na próxima camada, embora com um aumento no tempo de detecção. Para evitar a detecção de malware visto pela primeira vez, um invasor precisaria encontrar uma maneira de derrotar cada uma das três primeiras camadas em nossa pilha de proteção baseada em ML.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig02-multilayer-approach.pngFigura 2. Proteção ML em camadas

Mesmo se as três primeiras camadas forem contornadas, levando o paciente zero a ser infectado pelo malware, as próximas camadas ainda poderão descobrir a ameaça e começar a proteger outros usuários assim que essas camadas alcançarem um veredicto de malware.

Lição: Alavancar o poder da nuvem

Os modelos ML treinados no back-end e enviados para o cliente são a primeira (e mais rápida) camada em nossa pilha baseada em ML. Eles vêm com algumas desvantagens, e não menos importante é que um invasor pode pegar o modelo e aplicar pressão até que ele desista de seus segredos. Este é um truque muito antigo na cartilha do autor de malware: elimine iterativamente ameaças potenciais e continue a digitalizá-lo até que ele não seja mais detectado, depois solte-o.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/08/Fig03-Client-vs-cloud-models-2.png

Figura 3. Modelos de cliente versus nuvem

Com modelos hospedados na nuvem, torna-se mais desafiador forçar o modelo a força bruta. Como a única maneira de entender o que os modelos podem estar fazendo é continuar enviando solicitações para o sistema de proteção na nuvem, essas tentativas de jogo do sistema estão “abertas” e podem ser detectadas e mitigadas na nuvem.

Lição: Use um conjunto diversificado de modelos

Além de ter várias camadas de proteção baseada em ML, dentro de cada camada, executamos vários modelos ML individuais treinados para reconhecer ameaças novas e emergentes. Cada modelo tem seu próprio foco, ou “área de conhecimento”. Alguns podem se concentrar em um tipo de arquivo específico (por exemplo, arquivos PE, macros VBA, JavaScript, etc.) enquanto outros podem se concentrar em atributos de uma ameaça em potencial (por exemplo , sinais comportamentais, hash difuso / distância ao malware conhecido, etc.). Modelos diferentes usam algoritmos ML diferentes e treinam em seu próprio conjunto exclusivo de recursos.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/08/Fig04-Diversity-machine-learning-3.pngFigura 4. Diversidade de modelos de aprendizado de máquina

Cada modelo independente fornece seu próprio veredicto independente sobre a probabilidade de uma ameaça em potencial ser um malware. A diversidade, além de fornecer uma visão robusta e multifacetada das ameaças potenciais, oferece uma proteção mais forte contra os invasores que encontram alguma fraqueza subjacente em qualquer algoritmo único ou conjunto de recursos.

Lição: Use modelos de conjuntos empilhados

Outra abordagem eficaz que encontramos para adicionar resiliência contra ataques adversários é usar modelos conjuntos. Embora os modelos individuais forneçam uma previsão com escopo para uma área específica de especialização, podemos tratar essas previsões individuais como recursos para modelos adicionais de aprendizado de máquina, combinando os resultados de nosso conjunto diversificado de classificadores de base para criar previsões ainda mais fortes. mais resiliente aos ataques.

Em particular, descobrimos que o empilhamento logístico, no qual incluímos as pontuações de probabilidade individuais de cada “classificador base” no conjunto de recursos do conjunto, fornece maior eficácia na previsão de malware.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/08/Fig05-Ensemble-machine-learning-model-2.pngFigura 5. Modelo de aprendizado de máquina de conjunto com probabilidades de modelo individual como entradas de recurso

Conforme discutido em detalhes em nossa palestra sobre a Black Hat, a verificação experimental e o desempenho no mundo real mostram que essa abordagem nos ajuda a resistir a ataques adversários. Em junho, os modelos de conjunto representavam quase 12% do total de nossos blocos de malware da proteção de nuvem, o que significa dezenas de milhares de computadores protegidos por esses novos modelos todos os dias.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig06-blocks-by-ensemble-vs-other-cloud.pngFigura 6. Blocos por modelos de conjuntos versus outros blocos de nuvens

Estudo de caso: modelos Ensemble vs. Trojan bancário regional

“A ideia do ensemble learning é construir um modelo de previsão combinando as forças de uma coleção de modelos básicos mais simples.” 
– Trevor Hastie, Robert Tibshirani e Jerome Friedman

Uma das principais vantagens dos modelos de conjunto é a capacidade de fazer previsões de alta fidelidade a partir de uma série de entradas de baixa fidelidade. Às vezes, isso pode parecer um pouco assustador e contraintuitivo para os pesquisadores, mas os casos de uso que estudamos mostram que essa abordagem pode detectar malwares que modelos singulares não conseguem. Foi o que aconteceu no início de junho, quando um novo trojan bancário (detectado pelo Windows Defender ATP como TrojanDownloader: VBS / Bancos) visando usuários no Brasil foi liberado.

O ataque

O ataque começou com o spam enviado aos usuários no Brasil, direcionando-os a baixar um documento importante com um nome como “Doc062108.zip” dentro do qual estava um “documento” que é realmente um script .vbs altamente ofuscado.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig07-Initial-infection-chain.pngFigura 7. Cadeia inicial de infecção

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig08-Obfuscated-vbs-script.pngFigura 8. Script .vbs malicioso ofuscado

Enquanto o script contém vários poemas brasileiros codificados em Base64, seu verdadeiro propósito é:

  • Verifique se está funcionando em uma máquina no Brasil
  • Verifique com seu servidor de comando e controle para ver se o computador já foi infectado
  • Faça o download de outros componentes maliciosos, incluindo uma extensão do Google Chrome
  • Modifique o atalho para o Google Chrome para executar um arquivo .vbs malicioso diferente

Agora, sempre que o usuário inicia o Chrome, esse novo malware .vbs é executado.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig09-modified-Chrome-shortcut.png

Figura 9. Atalho modificado para o Google Chrome

 

Este novo arquivo .vbs executa um arquivo .bat que:

  • Elimina todas as instâncias em execução do Google Chrome
  • Copia a extensão maliciosa do Chrome para% UserProfile% \ Chrome
  • Inicia o Google Chrome com o parâmetro “–load-extension =” apontando para a extensão mal-intencionada

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig10-Malcious-bat-file.pngFigura 10. Arquivo .bat malicioso que carrega a extensão maliciosa do Chrome

Com o trabalho do arquivo .bat concluído, a instância do Chrome do usuário agora está executando a extensão mal-intencionada.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig11-Chrome-extension.pngFigura 11. A extensão do Chrome instalada

A extensão em si executa arquivos JavaScript (.js) maliciosos em todas as páginas da Web visitadas.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig12-Inside-mallicious-Chrome-extension.pngFigura 12. Dentro da extensão maliciosa do Chrome

Os arquivos .js são altamente ofuscados para evitar a detecção:

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig13-Obfuscated-js-file.pngFigura 13. Arquivo .js Ofuscado

Decodificando o hexadecimal no início do script, podemos começar a ver algumas pistas de que esse é um trojan bancário:

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig14-Clues-in-script.pngFigura 14. Pistas no script mostram sua verdadeira intenção

Os arquivos .js detectam se o site visitado é um site bancário brasileiro. Se estiver, o POST para o site será interceptado e enviado ao C & C do invasor para coletar as credenciais de login do usuário, informações do cartão de crédito e outras informações antes de serem passadas para o site real do banco. Esta atividade está acontecendo nos bastidores; para o usuário, eles estão apenas seguindo sua rotina normal com seu banco.

Modelos do Ensemble e o JavaScript malicioso

À medida que o ataque começou, nosso serviço de proteção na nuvem recebeu milhares de consultas sobre os arquivos .js maliciosos, acionados por um modelo ML do lado do cliente que considerava esses arquivos suspeitos. Os arquivos eram altamente polimórficos, com cada vítima em potencial recebendo uma versão única e ligeiramente alterada da ameaça:
https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig15-Polymorhic-malware.pngFigura 15. Malware polimórfico

A parte interessante da história são esses arquivos JavaScript maliciosos. Como nossos modelos de ML realizaram a detecção desses scripts altamente ofuscados como malware? Vamos dar uma olhada em um dos casos. No momento da consulta, recebemos metadados sobre o arquivo. Aqui está um trecho:

Hora do relatório2018-06-14 01: 16: 03Z
SHA-2561f47ec030da1b7943840661e32d0cb7a59d822e400063cd17dc5afa302ab6a52
Modelo de tipo de arquivo do clienteSUSPEITO
Nome do arquivovNSAml.js
Tamanho do arquivo28074
Extensão.js
É o arquivo PEFALSO
Idade do arquivo0
Prevalência de arquivos0
CaminhoC: \ Users \ <usuário> \ Chrome \ 1.9.6 \ vNSAml.js
Nome do processoxcopy.exe

Figura 16 – Metadados de arquivo enviados durante a consulta para o serviço de proteção na nuvem

Com base no nome do processo, essa consulta foi enviada quando o arquivo .bat copiou os arquivos .js no diretório% UserProfile% \ Chrome.

Classificadores individuais baseados em metadados avaliaram os metadados e forneceram suas pontuações de probabilidade. Em seguida, os modelos do Ensemble usaram essas probabilidades, juntamente com outros recursos, para alcançar seus próprios escores de probabilidade:

ModeloProbabilidade de que o arquivo é malware
Mistura Difusa 10,01
Mistura Difusa 20,06
ResearcherExpertise0,64
Ensemble 10,85
Ensemble 20,91

Figura 17. Pontuações de probabilidade por classificadores individuais

Nesse caso, o segundo modelo de conjunto teve uma pontuação suficientemente forte para a nuvem emitir uma decisão de bloqueio. Embora nenhum dos classificadores individuais neste caso tivesse uma pontuação particularmente forte, o modelo conjunto aprendeu com o treinamento em milhões de arquivos limpos e maliciosos que essa combinação de pontuações, em conjunto com alguns outros recursos não baseados em ML, indicava O arquivo tinha uma probabilidade muito forte de ser malware.

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/08/Fig18-Ensemble-models-issue-block-2.pngFigura 18. Os modelos do Ensemble emitem uma decisão de bloqueio

À medida que as consultas nos arquivos .js maliciosos chegavam, a nuvem emitia decisões de bloqueio dentro de algumas centenas de milissegundos usando a pontuação de probabilidade forte do modelo ensemble, permitindo que os recursos antivírus do Windows Defender ATP impedissem que os .js maliciosos fossem executados e removidos. Aqui está uma sobreposição de mapas dos blocos reais baseados em conjuntos dos arquivos JavaScript maliciosos no momento:

https://cloudblogs.microsoft.com/uploads/prod/sites/13/2018/09/Fig19-blocks-by-ensemble-model.pngFigura 19. Blocos por modelo de conjunto de JavaScript malicioso usado no ataque

Modelos ML Ensemble habilitado Windows Defender ATP ‘s protecção de próxima geração para defender milhares de clientes no Brasil direcionados pelos atacantes sem escrúpulos de ter um dia potencialmente ruim, assegurando os autores de malware frustrados não bateu o dia de pagamento grande que eles estavam esperando para . Bom Dia.

 

Outras leituras sobre aprendizado de máquina e inteligência artificial no Windows Defender ATP

Indicadores de compromisso (IoCs)

  • Doc062018.zip (SHA-256: 93f488e4bb25977443ff34b593652bea06e7914564af5721727b1acdd453ced9)
  • Doc062018-2.vbs (SHA-256: 7b1b7b239f2d692d5f7f1bffa5626e8408f318b545cd2ae30f44483377a30f81)
  • zobXhz.js 1f47 (SHA-256: ec030da1b7943840661e32d0cb7a59d822e400063cd17dc5afa302ab6a52)

 

 

 

Randy Treit, Holly Stewart e Jugal Parikh
Windows Defender Research 
com agradecimentos especiais a Allan Sepillo e Samuel Wakasugui

 

Post original: https://cloudblogs.microsoft.com/microsoftsecure/2018/08/09/protecting-the-protector-hardening-machine-learning-defenses-against-adversarial-attacks/