Recursos/White Papers

Opinião

Uso do Machine Learning na segurança não é tão novo assim

Modelos estáticos existem há mais de 200 anos. É uma matemática um pouco complexa, mas muito bem fundamentada. Se utilizada corretamente pode ajudar muito

Jorge Rocha *

Publicada em 06 de novembro de 2018 às 07h44

Antes de falarmos de probabilidades, comportamentos, álgebra linear, etc... é muito interessante esclarecermos bem o que é, para nós, o "Machine Learning”.

No nosso contexto, e do ponto de vista prático, Machine Learning é uma abordagem nova para designar algo muito antigo: um conjunto de equações e algoritmos baseado quase que totalmente em álgebra linear ou que define a maioria das equações de probabilidade. Por exemplo, a base da regressão Linear (muito usada em Machine Learning) foi primeiramente vislumbrada por Francis Galton em 1888.

Após a parte indubitavelmente e academicamente chata, podemos ir para a diversão. Não importa o nome usado, os modelos estatísticos e seus algoritmos, hoje atualizados, são de grande uso na maioria das áreas de conhecimento (ousaria dizer até em todas). Especificamente na segurança da informação, seu maior uso é retirar, da grande quantidade de dados processada, informações úteis e acionáveis.

Os modelos não lineares de classificação para feeds de segurança são os que considero mais interessantes. Porém, antes da utilização de Machine Learning, todo dado recebido precisa ser tratado e enriquecido para que os modelos estatísticos tenham parâmetros variados nos quais poderemos basear nossas predições.

Em casos de uso de algoritmos de Machine Learning é recomendado, sempre que possível, a utilização de stacks de algoritmos. Os dois modelos de que faço uso são a random classification florest para primeiro estabelecer probabilidade de ser malicioso (baseado em fatores como domínio, país, origem e etc) e, depois, o clustering para agrupar essa informação em tipos de ameaça (phishing, botnet, ransomware, entre outros).

Antes de começar a produzir informações, vale ressaltar que no uso de modelos estatísticos é sempre recomendado avaliar quais features do seu data set são mais representativas. A utilização de Recursive Feature Elimination, Associantion Rules e algoritmos de redução de dimensionalidade, como Principal Component Analysis, são muito importantes para a saúde e precisão do seu modelo.

A escolha adequada das features é tão/ou mais importante quanto a escolha do algoritmo que você vai utilizar. Relearning e análise de desempenho também devem estar sempre no calendário de manutenção dos seus modelos. Afinal isso é learning.

Uma vez feitos esses dois modelos temos acesso a informação dos malware agrupados e (no meu caso) com uma precisão de 91% de serem maliciosos. Com isso você tem uma redução drástica da quantidade de informação e adquire informação acionável e com baixíssima probabilidade de ser falso-positivo. Perder 9% do tempo do seu analista me soa bem razoável, visto que você poderá estar atuando no incidente de forma precoce ou até mesmo antecipando o mesmo.

Machinelearningseguranca

Isso funciona muito bem em produção se utilizar aplicações de terceiros, assim como criando seu próprio serviço como Tensorflow ou Flask. Após meses de estudo identifiquei que estabelecer esse tipo de serviço/aplicação em Python é vantajoso por três motivos:

1 - Temos uma comunidade ativa e contributiva que pode ser de grande auxílio.

2 - É uma linguagem hoje bem estabelecida, então se torna mais fácil ter mão de obra qualificada.

3 - Existem diversos métodos de deploy baseados em Python - desde totalmente gratuitos até modelos mais corporativos com suporte como os da Azure ou AWS.

Para concluir, modelos estáticos existem há mais de 200 anos. É uma matemática um pouco complexa, mas muito bem fundamentada. Se utilizada corretamente pode ajudar MUITO, ainda mais no mundo de hoje com as quantidades gigantescas de informação com as quais lidamos. E lembre-se: nunca adapte a realidade ao modelo e, sim, o modelo à realidade.

 

(*) Jorge Rocha é especialista em Segurança da Informação do Arcon Labs



Reportagens mais lidas

Acesse a comunidade da CIO

LinkedIn
A partir da comunidade no LinkedIn, a CIO promove a troca de informações entre os líderes de TI. Acesse aqui