Introdução às Tarefas de Mineração de Texto no domínio da Segurança Cibernética
O post inicial do blog apresentou uma introdução sobre como a mineração de texto pode apoiar a segurança cibernética. Nele são apresentados exemplos de atividades que podem ser automatizadas através do uso de mineração de texto. Caso não tenha lido, acesse o post aqui.
Este segundo post introduz algumas tarefas da mineração de texto, as quais serão explicadas no contexto de segurança cibernética. Neste texto, nós focaremos em duas tarefas: classificação de texto e extração de informações. No entanto, a mineração de texto abrange outras tarefas, as quais você pode conhecer com mais detalhes em [1].
A classificação de texto é a tarefa mais utilizada em pesquisas na área de segurança cibernética, conforme [2]. A classificação de texto é uma tarefa baseada em aprendizado supervisionado, a qual é aplicada para realizar predições com base em comportamentos ou características conhecidos. Por exemplo, uma solução para detecção de phishings pode fazer uso de classificação de texto para atribuir o status de "phishing" a uma mensagem com base em características conhecidas relacionadas com mensagens deste tipo.
Outro exemplo de aplicação que pode fazer uso de classificação de texto é Data Leakage Prevention (DLP). Para isso, soluções de DLP necessitam "aprender" quais informações são consideradas confidenciais por uma organização para tomar decisões sobre os documentos eletrônicos inspecionados. Assim, após uma etapa de aprendizado (conhecida como treinamento) das características das informações confidenciais, uma solução estará pronta para analisar novos documentos eletrônicos e atribuir a eles um status (label). Este label indicará se o documento deve ser considerado confidencial e será utilizado para definir qual ação a solução executará. O artigo [3] descreve um experimento relacionado ao uso de classificação de texto para prevenção de vazamentos de dados.
Apesar da classificação de texto ser a tarefa mais presente no ambiente acadêmico, a sua implementação em soluções corporativas não é algo simples. Como mencionado, a classificação de texto necessita passar por uma etapa inicial de treinamento, na qual um modelo de aprendizado de máquina ou rede neural identifica diferentes características nas informações. Esta etapa demanda de uma base de documentos (dataset) que precisará ser corretamente rotulada. Por exemplo, o treinamento de uma solução de DLP demandará de muitos documentos eletrônicos, os quais precisarão ser identificados como confidenciais ou não. Já uma solução para detecção de phishing precisará de mensagens adequadamente identificadas como maliciosas ou legítimas.
Pense em cada um desses cenários e você conseguirá imaginar alguns desafios associados ao domínio da segurança cibernética, como, por exemplo, a evolução dos phishings ou as diferentes características para um documento eletrônico ser considerado confidencial no contexto da organização. Estes desafios se somam a outros relacionados com a área de mineração de texto, que serão abordados em posts futuros para maior detalhamento.
A segunda tarefa de mineração de texto é a extração de informações. Esta tarefa é normalmente dividia em duas sub-tarefas: Reconhecimento de Entidades Nomeadas (NER - do inglês Named Entity Recognition) e relações entre entidades. Neste post iremos abordar a sub-tarefa NER. Esta sub-tarefa tem como objetivo a identificação de entidades em conjuntos de dados não-estruturados. Normalmente, a literatura apresenta exemplos gerais de entidades como pessoas e locais, mas aqui podemos citar entidades específicas para o domínio de segurança cibernética, como agentes de ameaça, tipos de ameaças ou organizações-alvo de ataques cibernéticos.
O objetivo do NER possibilita que ele seja utilizado em diversas atividades relacionadas com segurança cibernética. Um exemplo clássico é na área de inteligência de ameaças, onde é preciso identificar informações valiosas para análise e produção de inteligência. Através do uso de NER, uma organização pode, por exemplo, identificar vulnerabilidades exploradas, exploits utilizados e tipos de ataques lançados por criminosos cibernéticos. O reconhecimento dessas e outras entidades possibilitam a produção de inteligência para que o time de segurança cibernética possa agir de forma pró-ativa.
Neste post, nós buscamos apresentar relações entre duas tarefas de mineração de texto e atividades da segurança cibernética. Além disso, embora abordado de forma rápida, o post apresentou que a aplicação de mineração de texto na área de segurança cibernética (como em outras áreas) envolve desafios. Acreditamos ser importante enfatizar que soluções baseadas em mineração de texto possuem grande valor para apoiar a segurança cibernética, mas elas não podem ser uma espécie de bala de prata. Trataremos mais sobre os desafios envolvendo mineração de texto em novos posts, mas, por ora, a intenção foi informar que eles existem e é necessário esforço (e estudo) para encontrar modelos que realmente contribuam à segurança cibernética.
REFERÊNCIAS:
[1] MINER, Gary; et al. Practical Text Mining and Statistical Analysis for Non-structured Text Data Applications. Elsevier, 2012.
[2] IGNACZAK, Luciano; et al. Text Mining in Cybersecurity: A Systematic Literature Review. ACM Computing Surveys. 2021.
[3] HUANG, J.-W.; CHIANG, C.-W.; CHANG, J.-W. Email security level classification of imbalanced
data using artificial neural network: The real case in a world-leading enterprise. 2018.