Centro de Documentação da PJ | ||||
| CRUZ, João Pedro Matias Malware analysis with machine learning [Recurso eletrónico] / João Pedro Matias Cruz.- Lisboa : [s.n.], 2022.- 1 CD-ROM ; 12 cm Tese de mestrado em Segurança Informática, apresentada à Faculdade de Ciências, Departamento de Informática da Universidade de Lisboa, tendo como orientador Vinícius Vielmo Cogo. Ficheiro de 2,84 MB em formato PDF (61 p.). SEGURANÇA INFORMÁTICA, CRIPTOGRAFIA, INTELIGÊNCIA ARTIFICIAL, SOFTWARE Desde o início dos anos 70, com o aparecimento do vírus Creeper, surge uma das maiores ameaças a indivíduos e as organizações por todo o Mundo. São diferentes as motivações que levam à criação de um malware, desde a demonstração de vulnerabilidades ou conceitos, aos com intuito malicioso onde o objetivo se foca no roubo de informação com a finalidade de obter um bem maior. Os ataques de malware têm sido um dos maiores riscos na área da cibersegurança nos últimos anos. A cada semana, aumenta o número de vulnerabilidades reportadas na comunidade. Uma das principais causas do crescimento exponencial, é o fato dos atacantes introduzirem alterações por forma a evitar a deteção. O que leva a que ficheiros maliciosos de uma mesma família de malware, com o mesmo comportamento malicioso, sejam constantemente modificados ou ofuscados através de técnicas para que aparentem ser diferentes. O e-mail tornou-se rapidamente num dos principais vetores de ataque contra as organizações, deste modo colocando o servidor de e-mail, como uma das partes integrantes mais críticas de qualquer organização. Estes, não foram desenhados na sua base tendo em conta a segurança, encontrado-se dependentes de outros softwares, tais como os antivírus ou antispam. Atualmente, a detenção de software malicioso é efetuada com recurso a métodos baseados em assinaturas, heurísticos e também através da análise comportamental, no entanto incapazes de acompanhar o crescimento exponencial de malware. A aprendizagem automática é uma das áreas de tecnologias de informação em maior crescimento, tirando partido da estatística e inteligência artificial (IA), por forma a fornecer aos sistemas a capacidade de aprender e melhorar autonomamente. Sendo amplamente utilizada em aplicações científicas que requerem a análise de grandes volumes de dados. A aprendizagem automática surge assim como nova abordagem na categorização de malware, através da análise de padrões presentes no código binário ou engenharia inversa. No entanto, a existência de múltiplos padrões dificulta o desenvolvimento de métodos genéricos, que abranjam a grande variedade de cenários possíveis. Por forma a avaliar e categorizar toda a informação presente nos padrões, é necessário dividir em grupos e proceder à identificação de famílias com base no mesmo comportamento ou características. O código binário do software potencialmente malicioso, é convertido para uma representação em imagem monocromática, possibilitando a identificação de alterações subtis, sem que estas afetem a estrutura global da imagem. A identificação dos padrões é efetuada através de modelos de aprendizagem automática, estes compostos por três camadas, Convolutional, Pooling e Fully Connected. Os modelos tradicionais de aprendizagem automática como o ResNet-50, VGG16 e Google Inception V3, foram dimensionados e treinados tendo em consideração a classificação de imagens como um dos principais objetivos, utilizando bases de dados como a da ImageNet no seu treino e avaliação. As imagens que compõem estas bases de dados, apresentam principalmente objetos distintos e bem definidos. Ao contrário das imagens abstratas produzidas pela transformação do código binário, que apresentam um elevado nível de ruído devido ao processo de conversão. Com base nos resultados obtidos pelas redes neuronais no desafio ImageNet, esta dissertação apresenta uma abordagem de aprendizagem automática agnóstica, na classificação eficaz de malware em famílias, com base na identificação dos padrões gerados nas imagens. Neste sentido, esta dissertação propõe um modelo com foco na avaliação de um elevado número de parâmetros nas imagens, a fim de capturar o máximo de semelhanças possíveis, ao mesmo tempo, tenta minimizar a captura de parâmetros que constituem o ruído causado pela transformação. Por forma a alcançar o melhor resultado possível com o menor número de camadas e o menor tempo de treino. A base de dados utilizada no Microsoft Classification Challenge, foi usada na análise e avaliação dos modelos. O modelo proposto alcançou uma eficácia semelhante ao melhor modelo dos testes, atingindo-a em um terço do tempo de treino. Complementarmente ao estudo, as imagens foram cifradas homomorficamente e geradas as novas representações em imagens, com intuito de proceder à identificação dos mesmos padrões. Desta forma, a privacidade é garantida, mantendo os dados analisados pelas redes neuronais seguros contra terceiros. No entanto, os resultados demonstram a necessidade de substituir a camada de saída dos modelos tradicionais por funções que consigam avaliar polinômios. O modelo proposto foi implementado, na solução Malwizard também apresentada nesta dissertação. O Malwizard consiste numa solução Python adaptável para empresas ou utilizadores finais, que tem como objetivo oferecer uma solução rápida na identificação automática de malware. Nós acreditamos até onde sabemos, ser a primeira implementação de uma ferramenta automatizada de deteção de malware, baseada em aprendizagem automática, direcionada para a análise de malware em e-mails. Esta, constituída por dois serviços, uma extensão para o Microsoft Outlook e um serviço de API para plataformas de Orquestração, Automação e Resposta de incidentes (SOAR). O Malwizard foi projetado tendo em vista dois requisitos funcionais e nove não funcionais. A solução disponibiliza dois modos de análise, o não cifrado onde a imagem em análise pode ser revertida para o ficheiro original, e o cifrado onde a imagem é cifrada homomorficamente garantindo a privacidade e a irreversibilidade da mesma para o ficheiro original. Considerando a extensão para o Microsoft Outlook, esta pode ser instalada através da loja do Office, apartir do URL ou directamente do XML disponibilizado pelo Malwizard. Após configurada, ficará disponível se o Outlook detetar um anexo presente no e-mail que o utilizador esteja a consultar. O Malwizard converte o código binário dos anexos presentes no e-mail, numa representação em imagem e envia-a para a unidade de processamento de aprendizagem automática para ser analisada. Na implementação através da API, o utilizador tem a possibilidade de criar ou adaptar a solução para um propósito específico, como a implementação numa ferramenta de segurança como o TheHive. A API é de código aberto, permitindo deste modo adaptar-se às necessidades dos clientes ou de ferramentas especificas. A unidade de processamento de aprendizagem automática, é onde o modelo de inteligência artificial se encontra. O servidor recebe a representação em imagem do ficheiro e entrega ao modelo para análise. Por fim, este, retorna o nível de confiança da análise, e se for maior que uma determinada percentagem a definir pelo utilizador, a amostra é considerada para análises futuras e identificada como malware. Caso contrário, é marcada como contendo sinais de malware e informa o utilizador que deverá proceder com cautela. A solução como um todo foi alvo de testes e de análise de desempenho, comparando os dois modos de funcionamento diponíveis, cifrado e não cifrado. A criptografia aplicada a imagens é um enorme desafio computacional, uma vez que cada pixel da imagem é cifrado individualmente, aumentando o tempo de processamento. O tamanho das chaves de cifra é um dos fatores que influência diretamente o tempo de cifra, no entanto, este pode ser reduzido se existirem outros mecanismos de segurança adicionais. Desta forma, tornando possível a utilização do modo cifrado em tempo real, considerando a utilização de um modelo capaz de analisar imagens cifradas. A adoção da solução Malwizard aplicada na análise diária de e-mails, tanto de empresas como de utilizadores finais, apresenta-se como uma componente adicional na prevenção de malware e como um forte contributo para a comunidade da cibersegurança. No fim desta dissertação, encontram-se as conclusões obtidas com este trabalho, possíveis trabalhos futuros, além do apêndice com as interfaces e tutoriais de utilização do Malwizard. |