Os pesquisadores da IBM desenvolvem uma técnica para corrigir virtualmente as vulnerabilidades antes da ameaça
p Fady Copty, IBM Research
p Pesquisadores da IBM desenvolveram recentemente uma nova técnica para corrigir virtualmente vulnerabilidades de segurança antes que sejam encontradas. A abordagem deles, apresentado no Workshop Internacional de Tecnologia da Informação e Operacional, co-localizado com RAID18, potencializa técnicas de teste para geração de dados baseada em aprendizagem supervisionada. p "Ao pesquisar uma solução para encontrar vulnerabilidades de segurança em softwares populares, fizemos uma pausa para pensar sobre o seguinte problema:sabemos na prática e teoricamente que é impossível encontrar todas as vulnerabilidades em um aplicativo, e a comunidade de segurança está em uma corrida constante para descobrir essas vulnerabilidades na esperança de encontrá-las antes que os bandidos o façam, "Fady Copty, pesquisador principal do estudo, contado
TechXplore . "Isso significa fazer cumprir as regulamentações e implantar constantemente patches de segurança nos sistemas."
p A implantação de um patch de segurança em um aplicativo é uma tarefa tediosa e demorada, que envolve uma série de etapas:identificar a versão vulnerável do aplicativo, gerenciando esta vulnerabilidade, entregando o patch, implementá-lo e, em seguida, reiniciar o aplicativo. Muitas vezes, patches são implantados por longos períodos de tempo, portanto, os aplicativos podem permanecer vulneráveis por um período após a descoberta de uma vulnerabilidade. Para acelerar este processo, pesquisadores introduziram recentemente patches virtuais, que são aplicadas usando sistemas de detecção e prevenção de intrusão.
p "O patching virtual é baseado em uma técnica semi-manual de análise de ameaças (entrada do aplicativo que demonstra uma vulnerabilidade), e extrair a assinatura que identifica a vulnerabilidade, "Copty explicou." É uma técnica útil, mas ainda requer que a própria vulnerabilidade seja identificada, que é um problema np-completo. Existe toda uma indústria em torno desse ciclo de descoberta e correção de vulnerabilidades. Mas e se pudéssemos criar um patch virtual que prevê essas vulnerabilidades antes da descoberta da ameaça? Inicialmente, isso soou como uma tarefa futurística, mas com alguns insights de técnicas de teste de segurança, pode-se encontrar uma direção muito boa. "
p Geralmente, as vulnerabilidades de segurança são reveladas observando as entradas que deveriam ter apresentado um erro de aplicativo anteriormente. Isso ocorre porque o tratamento de erros geralmente é percebido como menos importante em comparação com o desenvolvimento das funções básicas do aplicativo, portanto, é abordado em um estágio posterior.
p "Se pudermos fazer um bom trabalho na criação automática de um patch virtual que amplie o trabalho dos desenvolvedores de SW no tratamento de erros, podemos cumprir a tarefa à frente da ameaça, "Copty disse.
p Copty e seus colegas decidiram resolver esse problema usando técnicas de aprendizado de máquina. Eles executaram várias ferramentas de teste em um determinado aplicativo para gerar dados, em seguida, usou esses dados para treinar seu modelo DNN.
p "Usamos técnicas de teste que criam milhões de entradas de amostra para o aplicativo, e, em seguida, executou o aplicativo com essas entradas para determinar os rótulos de classificação para as entradas:benigno, erro, ou malicioso, "Copty explicou." Como estávamos analisando o tratamento de erros, mesclamos as classes de erro e mal-intencionadas em uma classe. Isso nos forneceu uma configuração clássica de aprendizado supervisionado, onde treinamos um modelo para prever se uma nova amostra é benigna ou maliciosa. "
p Em vez de obter patches virtuais à frente da ameaça para um único aplicativo, os pesquisadores queriam criar um sistema automático que pudesse ser usado para corrigir uma variedade de aplicativos. Para aumentar a generalização de seu modelo, eles se abstiveram de usar métodos manuais de extração de recursos.
p "Também queríamos eventualmente implantar isso em um sistema de detecção de intrusão, "Copty explicou." Isso significava que a previsão tinha que ser quase em tempo real. Uma ótima solução para esses requisitos pode ser encontrada nas DNNs. A previsão de DNN é muito rápida e acredita-se que os DNNs não exigem nenhuma extração de recurso. "
p Copty e seus colegas treinaram um modelo DNN com base nos dados que haviam gerado anteriormente. O modelo que eles usaram, que combina uma rede neural convolucional (CNN) e uma rede neural recorrente (RNN), alcançou resultados notáveis na previsão de vulnerabilidades antes da ameaça.
p "Como você testa a capacidade de corrigir antes da descoberta de ameaças? A resposta é simples:voltamos no tempo, "Copty disse." Usamos versões antigas dos aplicativos para a fase de geração de dados, treinou o modelo usando esses dados, e testou os modelos de ameaças encontrados anos depois e documentados no banco de dados CVE. Isso nos deu resultados surpreendentes na correção antes da ameaça, onde o modelo foi capaz de prever ameaças encontradas apenas anos depois. Sabemos que ainda está em fase de pesquisa e obtivemos sucesso apenas em um pequeno número de aplicações. Contudo, esta tecnologia tem o potencial de mudar o jogo no cenário de segurança, ajudando os defensores a ficarem um passo à frente dos atacantes. "
p Nas avaliações realizadas pelos pesquisadores, seu modelo detectou com sucesso as vulnerabilidades LibXML2 e LibTIFF antes da ameaça, com precisões de 91,3% e 93,7%, respectivamente. Para aprimorar seus resultados, eles expandiram seu modelo adicionando um caminho que inclui extração de recursos básicos, com base no conhecimento automático que foi extraído na fase de teste, seguido por uma CNN.
p No futuro, sua técnica pode ajudar os desenvolvedores a corrigir vulnerabilidades de software de forma mais rápida e eficaz, antes de serem realmente expostos. Os pesquisadores planejam continuar trabalhando em sua abordagem, explorando sua eficácia em corrigir uma ampla gama de vulnerabilidades.
p “Graças a Reda Igbaria, agora estamos expandindo esta pesquisa para mais aplicativos e recentemente demonstramos a correção virtual à frente da ameaça para a vulnerabilidade HeartBleed, "Copty acrescentou." Continuaremos visando mais aplicativos e aprimorando nossas técnicas de geração de dados, bem como nossa estrutura DNN, e automatizar a busca da melhor estrutura DNN. "
p Este trabalho foi apoiado pelo projeto EU H2020 SMESEC. p © 2019 Science X Network