O aprendizado de máquina ou machine learning (ML) tem sido um assunto bastante comentado na indústria antivírus, mas a realidade é que mal sabemos o potencial que ele tem para a cibersegurança. Dito isso, após essa série de artigos que visam esclarecer o panorama e derrubar alguns mitos, nossos leitores agora devem ser capazes de separar os fatos da ficção e o marketing da funcionalidade real.
Então, para culminar a série, vamos dar uma olhada no mecanismo de cibersegurança da ESET e em suas engrenagens de machine learning.
Nossos especialistas vêm experimentando o aprendizado de máquina há mais de 20 anos. Na verdade, as redes neurais surgiram pela primeira vez em nossos produtos em 1997.
Desde então, tem havido inúmeros projetos internos destinados a automatizar a análise, ajudando-nos a categorizar o mundo virtual distinguindo entre o bom, ruim e as áreas cinzas que contêm aplicativos potencialmente indesejados ou PUAs.
Um dos nossos primeiros esforços foi um sistema especialista automatizado, projetado para processamento em massa. Em 2006, era bastante simples e nos ajudou a processar parte do crescente número de amostras e a aliviar o imenso fardo de nossos engenheiros de detecção.
Ao longo dos anos, aprimoramos suas habilidades e o transformamos em uma parte crucial da tecnologia responsável pela classificação inicial de centenas de milhares de itens recebidos diariamente de várias fontes, por exemplo, nossa rede global do ESET LiveGrid®, boletins de segurança e o intercâmbio com outros fabricantes do setor.
Outro projeto de ML tem estado em torno da ESET desde 2012, colocando todos os itens analisados no "mapa da cibersegurança" e marcando todos aqueles que exigem mais atenção. Deve-se notar que foi este sistema que fez um ótimo trabalho durante o recente caso do WannaCryptor, alertando-nos nas fases iniciais sobre um ransomware que se propagaria de forma alarmante.
Embora já tivesse uma detecção em nível de rede para o exploit EternalBlue, o sistema ajudou a ESET a fazer detecções adicionais que melhoraram a proteção de nossos usuários.
No entanto, o aprendizado de máquina tem seus truques e nem todos os nossos esforços foram feitos de acordo com o planejado.
Os projetos mais antigos estavam focados em automatizar a criação de detecções mais extensas com base no “DNA” de detecções anteriormente conhecidas, na determinação da reputação das URLs ou na localização dos "vizinhos próximos" das amostras. Eventualmente, essas tarefas foram substituídas por outros meios que conseguiram melhorá-las.
Tudo isso nos ajudou a ganhar experiência e, passo a passo, marcou o caminho para alcançar o que temos hoje: uma aplicação madura, com os pés no chão, de tecnologia de aprendizado automática na nuvem e também nos terminais de nossos clientes.
Conheça o Augur, nossa fera do ML
Na ESET, amamos a história antiga. Na verdade, nossa empresa recebeu o nome de uma deusa egípcia. Então, nos voltamos para a história quando tivemos que nomear nosso motor de aprendizado de máquina.
Na Roma Antiga, "augur" era um termo usado para oficiais religiosos que observavam os sinais naturais e os interpretavam como indicações de aprovação ou desaprovação divina de uma determinada ação que havia sido proposta. A analogia com a cibersegurança não é difícil de detectar, mas, ao contrário dos augúrios familiarizados com a alquimia da época, nosso Augur baseia suas decisões em ciência, matemática e conhecimento prévio.
Agora vamos para a parte técnica. Augur não poderia ter se materializado sem três fatores principais:
- Com o advento do big data e do hardware mais barato, o aprendizado de máquina tornou-se mais acessível, seja para fins médicos, em veículos autônomos ou na detecção de ameaças.
- A crescente popularidade dos algoritmos de aprendizado de máquina e a ciência por trás deles fizeram com que se aplicassem muito mais e estivessem disponíveis para qualquer um que quisesse implementá-los.
- Após três décadas de combate aos cibercriminosos e suas criações, construímos um equivalente à Biblioteca de Alexandria, mas para malware. Esse grande banco de dados organizado contém milhões de funcionalidades e genes que extraímos de tudo o que analisamos. Uma bom cimento para criar uma base cuidadosamente selecionada que permitiria ao Augur continuar aprendendo.
No entanto, o boom dos fatores mencionados acima também trouxe desafios. Nós tivemos que escolher os algoritmos e abordagens que funcionaram melhor, já que nem todo aprendizado de máquina é aplicável ao universo da segurança, o que é muito específico.
Após muitos testes, decidimos combinar duas metodologias que até agora se mostraram eficazes:
- Redes neurais, especificamente deep learning e redes long short-term memory (LSTM).
- Combine a saída de seis algoritmos de classificação escolhidos com precisão.
Não está claro o suficiente? Imagine que você tem um arquivo executável suspeito. O Augur primeiro emulará seu comportamento e realizará uma análise básica de DNA. Em seguida, ele usará as informações coletadas para extrair características do arquivo, observar quais processos deseja executar e analisar seu mosaico de DNA para decidir em qual categoria colocá-lo: limpo, potencialmente indesejado ou malicioso.
Neste ponto, é importante esclarecer que, ao contrário de alguns fabricantes que alegam que não precisam descompactar amostras, analisar comportamentos ou emular, acreditamos que isso é crucial para obter dados adequados para o aprendizado de máquina. Caso contrário, quando os dados são compactados ou criptografados, ele acaba classificando o ruído.
O grupo de algoritmos de classificação tem duas configurações possíveis: a mais agressiva rotulará uma amostra como maliciosa se a maioria dos seis algoritmos indicar isso. Isso é útil principalmente para pessoas de TI que usam o ESET Enterprise Inspector, pois ele pode marcar tudo que for suspeito e deixar a avaliação final para um administrador competente.
O mais moderado, ou conservador, afirma que uma amostra é limpa se pelo menos um dos seis algoritmos acreditar nela. Isso é útil para sistemas de uso geral com uma visão menos especializada.
Para complementar essas explicações, elaboramos o seguinte esquema:
Para finalizar, encontramos uma apresentação no Facebook descrevendo sua solução de aprendizado de máquina e se parece muito com a arquitetura do Augur, que tenta combinar os melhores algoritmos de classificação e as redes neurais.
Agora vamos deixar a teoria e observar os resultados que a abordagem de aprendizado de máquina da ESET teve no mundo real. Por exemplo, aplicado a ataques de malware recentes que usaram o exploit EternalBlue, propagando tanto o ransomware WannaCryptor como as famílias que minavam criptomoedas.
Além da nossa detecção de rede e da efetiva sinalização do nosso outro sistema de ML, o modelo Augur também identificou imediatamente amostras de ambas as famílias como maliciosas.
O que é mais interessante: também fizemos este teste com um modelo do Augur de um mês que não poderia ter sido encontrado com essas famílias de malware antes. Isso significa que as detecções foram baseadas apenas nas informações obtidas no treinamento inicial. E adivinhe: catalogadas corretamente como maliciosas.
30 anos de progresso e inovação em segurança de TI nos ensinaram que algumas coisas não têm uma solução fácil, especialmente no ciberespaço, onde as mudanças acontecem rapidamente e o campo de ação pode mudar em questão de minutos. Aprendizado de máquina, mesmo quando adornado com estratégias de marketing, não será capaz de mudar essa realidade a curto prazo.
Portanto, acreditamos que mesmo o melhor aprendizado de máquina não pode substituir os pesquisadores com experiência e conhecimento. Temos o orgulho de dizer que muitos desses indivíduos talentosos trabalham na ESET, ajudando a proteger os usuários de futuras ameaças.
Com a colaboração de Jakub Debski e Peter Kosinar.