modelos de previsão de vulnerabilidades de sistemas

40
Lucas Geraldo Cilento ([email protected]) Modelos de previsão de vulnerabilidades de sistemas operacionais baseados no modelo ARIMA e Redes Neurais Universidade Federal de Pernambuco Centro de Informática www.cin.ufpe.br Recife 2021

Upload: others

Post on 30-Nov-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelos de previsão de vulnerabilidades de sistemas

Lucas Geraldo Cilento ([email protected])

Modelos de previsão de vulnerabilidades de sistemas operacionaisbaseados no modelo ARIMA e Redes Neurais

Universidade Federal de PernambucoCentro de Informáticawww.cin.ufpe.br

Recife2021

Page 2: Modelos de previsão de vulnerabilidades de sistemas

Lucas Geraldo Cilento ([email protected])

Modelos de previsão de vulnerabilidades de sistemas operacionaisbaseados no modelo ARIMA e Redes Neurais

Trabalho apresentado ao Programa de Graduação em Enge-nharia da Computação do Centro de Informática da Univer-sidade Federal de Pernambuco como requisito parcial paraobtenção do grau de Bacharel em Engenharia da Computa-ção.

Área de Concentração: Segurança da InformaçãoOrientador: Daniel Carvalho da Cunha([email protected])Co-Orientador: Paulo Salgado Gomes de Mattos Neto([email protected])

Recife2021

Page 3: Modelos de previsão de vulnerabilidades de sistemas

Dedico este trabalho à minha família.

Page 4: Modelos de previsão de vulnerabilidades de sistemas

AGRADECIMENTOS

Agradeço a minha família e a minha namorada Kelly por todo o apoio emocional duranteeste período de conclusão de curso, aos professores orientadores Daniel e Paulo e o meu mentorna Tempest Henrique Arcoverde por orientar e incentivar a conclusão deste trabalho dentro deum período curto e cheio de desafios.

Page 5: Modelos de previsão de vulnerabilidades de sistemas

ABSTRACT

One of the main roles of system administrators is to keep a computer network secure andresilient to cyber attacks. An important prerequisite to fulfill this goal is execute a vulnerabilitymanagement to detect, and fix vulnerabilities in the network. In this context many vulnerabilityprediction models emerged to predict the amount of new vulnerabilities to be discovered for asoftware.

In this work, we analyze one vulnerability prediction model using ARIMA and fivevulnerability prediction model based on neural networks, using vulnerabilities collected fromNVD for four operating systems: Windows, Linux, macOS and Android.

Keywords: Vulnerability forecasting. Vulnerability Management. Vulnerability PredictionModels.

Page 6: Modelos de previsão de vulnerabilidades de sistemas

RESUMO

Uma das principais funções de administradores de sistemas é manter uma rede decomputadores segura e resiliente a ataques cibernéticos. Um pré−requisito importante paraatingir este objetivo é executar um processo de gestão de vulnerabilidades para detectar e corrigirvulnerabilidades na rede. Neste contexto, muitos modelos de previsão de vulnerabilidadessurgiram para prever a quantidade de novas vulnerabilidade que serão descobertas para umsoftware.

Neste trabalho, nós analisamos um modelo de previsão de vulnerabilidade utilizandoARIMA e cinco modelos de previsão de vulnerabilidades baseados em redes neurais, utilizandovulnerabilidades coletadas do NVD para quatro sistemas operacionais: Windows, Linux, macOSe Android.

Palavras-chave: Previsão de Vulnerabilidades. Gestão de Vulnerabilidades. Modelos deprevisão de vulnerabilidades.

Page 7: Modelos de previsão de vulnerabilidades de sistemas

LISTA DE FIGURAS

Figura 1 – Total de vulnerabilidades NVD por ano (1). . . . . . . . . . . . . . . . 13

Figura 2 – Distribuição de vulnerabilidades por período de tempo. . . . . . . . . . 19Figura 3 – Vulnerabilidades Android 2009-2021. . . . . . . . . . . . . . . . . . . 21Figura 4 – Vulnerabilidades Linux 2009-2021. . . . . . . . . . . . . . . . . . . . 21Figura 5 – Vulnerabilidades macOS 2009-2021. . . . . . . . . . . . . . . . . . . . 21Figura 6 – Vulnerabilidades Windows 2009-2021. . . . . . . . . . . . . . . . . . . 22Figura 7 – Exemplo MLP com n = 4 e m = 5. . . . . . . . . . . . . . . . . . . . . 23Figura 8 – Exemplo da arquitetura de um modelo CNN por (2). . . . . . . . . . . 24Figura 9 – Arquitetura do modelo LSTM utilizado. . . . . . . . . . . . . . . . . . 25Figura 10 – Arquitetura de um bloco do LSTM por (3). . . . . . . . . . . . . . . 25

Figura 11 – Previsão modelo ARIMA para Android. . . . . . . . . . . . . . . . . 31Figura 12 – Previsão modelo ARIMA para sistemas Linux. . . . . . . . . . . . . . 32Figura 13 – Previsão modelo ARIMA para sistemas macOS. . . . . . . . . . . . . 32Figura 14 – Previsão modelo ARIMA para sistemas Windows. . . . . . . . . . . . 32Figura 15 – Previsão modelo LSTM para Android. . . . . . . . . . . . . . . . . . 33Figura 16 – Previsão modelo LSTM para sistemas Linux. . . . . . . . . . . . . . . 33Figura 17 – Previsão modelo LSTM para sistemas macOS. . . . . . . . . . . . . . 33Figura 18 – Previsão modelo LSTM para sistemas Windows. . . . . . . . . . . . . 34

Page 8: Modelos de previsão de vulnerabilidades de sistemas

LISTA DE TABELAS

Tabela 1 – NVD: Total de vulnerabilidades encontradas por sistema operacional . . 20

Tabela 2 – Hiperparâmetros por modelo . . . . . . . . . . . . . . . . . . . . . . . 28Tabela 3 – Melhores valores de entrada para cada modelo . . . . . . . . . . . . . . 29Tabela 4 – Resultados computados sistema Windows . . . . . . . . . . . . . . . . 30Tabela 5 – Resultados computados sistema Linux . . . . . . . . . . . . . . . . . . 30Tabela 6 – Resultados computados sistema macOS . . . . . . . . . . . . . . . . . 31Tabela 7 – Resultados computados sistema Android . . . . . . . . . . . . . . . . . 31

Page 9: Modelos de previsão de vulnerabilidades de sistemas

LISTA DE ACRÔNIMOS

AIC Akaike’s Information CriterionARIMA AutoRegressive Integrated Moving AverageCISA Cybersecurity and Infrastructure Security AgencyCNN Convolutional Neural NetworkCPE Common Platform EnumerationCVE® Common Vulnerabilities and Exposures glossaryCVSS Common Vulnerability Score SystemCWE Common Weakness EnumerationDHS Department of Homeland SecurityICAT Internet Categorization of Attacks ToolkitLSTM Long Short Term MemoryMAE Mean Absolute ErrorMAPE Mean Absolute Percentage ErrorMITRE Massachusetts Institute of Technology Research & EngineeringMLP Multi Layer PerceptronNIST National Institute of Standards and TechnologyNNM Neural Network ModelNVD National Vulnerability DatabaseReLU RectfierRMSE Root Mean Squared ErrorRNN Recurrent Neural NetworkSARIMA Seasonal AutoRegressive Integrated Moving AverageVDM Vulnerability Disclosure Model

Page 10: Modelos de previsão de vulnerabilidades de sistemas

LISTA DE SÍMBOLOS

∇ Operador diferencial

∑ni=1 Operador somatório

Page 11: Modelos de previsão de vulnerabilidades de sistemas

LISTA DE ALGORITMOS

Algoritmo 1 – Walk-Forward Validation . . . . . . . . . . . . . . . . . . . . . . . 27

Page 12: Modelos de previsão de vulnerabilidades de sistemas

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.1 MOTIVAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.2 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . . . . . 152.1 MODELOS BASEADOS EM REGRESSÃO . . . . . . . . . . . . . . . . . 152.2 MODELOS BASEADOS EM ANÁLISES DE SÉRIES TEMPORAIS E

REDES NEURAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 METODOLOGIA E COLETA DE DADOS . . . . . . . . . . . . . . . . 183.1 ANÁLISE DA BASE DE DADOS . . . . . . . . . . . . . . . . . . . . . . 183.2 COLETA E TRATAMENTO DOS DADOS . . . . . . . . . . . . . . . . . 203.3 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.1 ARIMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.2 MLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.3 CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3.4 LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.5 CNN-LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.6 CONV-LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.7 MÉTRICAS DE AVALIAÇÃO . . . . . . . . . . . . . . . . . . . . . . . 26

4 RESULTADOS E DISCUSSÃO . . . . . . . . . . . . . . . . . . . . . . . 274.1 PROCEDIMENTO EXPERIMENTAL . . . . . . . . . . . . . . . . . . . . 274.2 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.3 DISCUSSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.1 CONTRIBUIÇÕES E LIMITAÇÕES . . . . . . . . . . . . . . . . . . . . . 355.2 TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Page 13: Modelos de previsão de vulnerabilidades de sistemas

121212

1INTRODUÇÃO

Segurança da informação é uma área de grande importância para a sociedade desde osurgimento das primeiras redes de computadores. Os primeiros relatos de ataques cibernéticosrealizados a partir de uma rede de computadores são da década de 80. Nesta década, Cliff Stollrealizou um dos primeiros casos de investigação de ataque cibernético que levou à prisão deMarkus Hess em 1990 (4). Serge Schmemann publicou uma matéria relatando um ataque hackerque resultou em vazamentos de dados da NASA (5) e Brian Reid relatou ataques realizados asistemas Unix na área de São Francisco comprometendo alvos conectados na ARPANET (6).Nesta mesma época ocorreu o incidente conhecido como o primeiro grande ataque cibernéticoda internet causado por Robert Tappan Morris, que infectou cerca de 6000 máquinas conectadasà internet que equivalia à 10% da rede na época (7).

1.1 MOTIVAÇÃO

Depois de 30 anos de ataques cibernéticos e de melhorias e correções de vulnerabilidadespor parte dos fabricantes de sistemas computacionais a ameaça que atacantes trazem paraempresas, indústrias, governos e indivíduos não diminuiu. A Figura1 mostra a quantidade devulnerabilidades registradas nas últimas duas décadas. Este gráfico mostra que a quantidade devulnerabilidades descobertas ano a ano apresenta um crescimento constante desde 2016. Já nadécada de 80 Clifford Stoll, um dos pioneiros na área de cibersegurança, alertou que "Talveznenhuma rede ou computador seja totalmente seguro"(4). A quantidade de vulnerabilidadescontinua a crescer porque novos softwares são lançados constantemente e novas versões desoftwares surgem periodicamente.

Page 14: Modelos de previsão de vulnerabilidades de sistemas

131313

Figura 1: Total de vulnerabilidades NVD por ano (1).

Junto com o crescimento destas ameaças ocorreu o aumento no número de ataquescibernéticos e o aumento do prejuízo médio para as empresas a partir de um ataque. O relatóriode 2020 da IBM (8) sobre vazamentos de dados mostra que o custo médio de um vazamentode dados em 2020 é de 3,86 milhões de dólares. O relatório da Accenture do ano de 2019aponta um crescimento de 67% de incidentes de segurança entre os anos de 2014 e 2019 (9),já o Internet Crime Complaint Center do FBI apontou um crescimento de 300% na quantidadecrimes cibernéticos reportados ao centro durante o período de pandemia da COVID-19.

Conforme os sistemas de comunicação evoluíram, as tecnologias e métodos utilizadospara manter esses sistemas seguros contra diversas ameaças se tornaram cada vez mais complexos.Novas vulnerabilidades são descobertas e divulgadas diariamente para diversos tipos de softwaree são utilizadas por atacantes para comprometer redes de empresas, entidades governamentais epara realizar fraudes contra indivíduos.

Administradores de redes/sistemas, equipes de segurança da informação e engenheirosde software precisam seguir normas e regulamentações específicas para proteger o ambiente queadministram contra ataques cibernéticos, como por exemplo o PCI-DSS (10) que regulamentaas normas de segurança aplicadas infraestrutura de meios de pagamento para cartão de crédito.Além de normas e regulamentações, existem também frameworks de boas práticas de segurançada informação como o NIST Cybersecurity Framework (11) e o CIS Controls® (12),(13) quepodem auxiliar na proteção desses ambientes.

Uma das principais atividades recomendadas por estas normas, regulamentações e fra-

Page 15: Modelos de previsão de vulnerabilidades de sistemas

141414

meworks é a implementação de um processo de gestão de vulnerabilidades. Essa atividadeconsiste na detecção e correção das vulnerabilidades encontradas em um determinado ambiente.Para definir a quantidade de recursos financeiros e humanos que serão alocados no processo degestão de vulnerabilidades é importante prever a quantidade de vulnerabilidades que deverão serdescobertas para os softwares presentes no ambiente. Neste contexto surgiram os modelos deprevisão de vulnerabilidades que fornecem uma estimativa da quantidade de vulnerabilidadesque serão descobertas para determinado software.

1.2 OBJETIVOS

O objetivo geral deste trabalho é avaliar o desempenho de modelos de previsão devulnerabilidades em sistemas operacionais. Foram avaliados 6 modelos: ARIMA, MLP, CNN,LSTM, CNN-LSTM e Conv-LSTM. Estes modelos foram selecionados devido ao desempenhopara a previsão de vulnerabilidades para diversos softwares (14; 15; 16). O escopo deste trabalhofoi restrito a sistemas operacionais porque estes softwares são constantemente alvo de atacantese também possuem as maiores bases de vulnerabilidades cadastradas no NVD.

São objetivos específicos deste trabalho:

� Estudar os modelos de previsão de vulnerabilidades propostos na literatura

� Analisar a NVD como base de dados para previsão de vulnerabilidades

� Implementar um modelo de previsão de vulnerabilidades ARIMA

� Implementar 5 modelo de previsão de vulnerabilidades baseados em redes neurais

� Avaliar o desempenho destes modelos na previsão de vulnerabilidades para os 4sistemas operacionais mais populares

Page 16: Modelos de previsão de vulnerabilidades de sistemas

151515

2TRABALHOS RELACIONADOS

Os modelos de previsão de vulnerabilidades, também conhecidos como VulnerabilityDisclosure Model (VDM), são categorizados por método utilizado para realizar a previsão:Regressão (Linear, Quadrática, Logística), modelos estatísticos (ARIMA e Croston) e RedesNeurais (MLP,CNN,LSTM). Além dos métodos utilizados, os modelos também podem sercategorizados em effort base e time based (17).

Modelos do tipo effort based levam em consideração características dos softwaresavaliados como código fonte, diferença de código entre versões do mesmo software (18), market

share do software (19) dentre outras informações. Estes modelos não podem ser facilmentegeneralizados para qualquer tipo de software pois nem sempre as informações necessárias sãopúblicas ou estão disponíveis. Modelos do tipo time based consideram apenas a quantidadede vulnerabilidades publicadas para realizar uma estimativa de quantas vulnerabilidades serãodescobertas para um determinado software. Neste trabalho são avaliados apenas modelos do tipotime based.

2.1 MODELOS BASEADOS EM REGRESSÃO

Os primeiros VDMs para softwares foram propostos no início dos anos 2000 e sãomodelos baseados em diferentes tipos de regressão. Alzahami e Malaiya em (19) avaliaramcinco VDMs: Anderson’s Thermodynamic (AT) proposto em (20), Alhazmi-Malaiya Logistic

Model (AML) proposto em (21), Logarithmic Poisson Model (LP) proposto em (22) por Musa eOkumoto, Rescola Linear Model (RL) e Rescola Exponential Model (RE) ambos propostos porRescola em (23). Os modelos foram avaliados utilizando as vulnerabilidades coletadas no ICATpara os sistemas operacionais Windows 95, XP e para o RHEL 6.2. A análise feita por Alzahamie Malaiya neste artigo é uma das primeiras análises realizadas entre diferentes VDMs e serviucomo base para outros artigos realizarem comparativos entre outros modelos e outros tipos desistemas operacionais.

Outros artigos estenderam e complementam as análises realizadas por Alzahami eMalaiya. Em (24) foi realizada uma análise utilizando o time based AML e o effort based AML,para avaliar a quantidade de vulnerabilidades que serão descobertas no Apache e no IIs. Já

Page 17: Modelos de previsão de vulnerabilidades de sistemas

161616

em (18), foi avaliado um novo modelo de previsão de vulnerabilidades que estende o modeloAML baseado em esforço para incluir também a quantidade de código compartilhada entre duasversões do software e realiza uma análise em dois sistemas open source (MYSQL e Apache). Em(25), Joh e Malaiya avaliam a relação do desempenho de VDMs com a característica dos picosde vulnerabilidades de 8 softwares. Em (26) foi proposto um modelo baseado na combinaçãode regressão linear e regressão quadrática e um modelo baseado em aprendizagem de máquina.A partir deste artigo que modelos baseados em aprendizagem de máquina para previsão daquantidade de vulnerabilidades por mês foram avaliados com mais frequência na literatura.

Os artigos citados nesta seção (19; 20; 21; 22; 23; 24; 18; 25) apresentam algumaslimitações em relação à capacidade de prever valores futuros da quantidade de vulnerabilidadese limitações relativas ao detalhamento de como as bases de dados são coletadas e tratadas. Nestecontexto, foi proposto em (17) um modelo empírico e sistemático para a avaliação de VDMsbaseado na qualidade e na previsibilidade dos modelos e realiza uma comparação entre os VDMspara navegadores Web, além de definirem um método para mitigar problemas intrínsecos às basesde dados de vulnerabilidades que podem afetar os resultados obtidos em relação a previsibilidadedos modelos.

2.2 MODELOS BASEADOS EM ANÁLISES DE SÉRIES TEMPORAIS E

REDES NEURAIS

Apesar de os resultados obtidos nos artigos citados na seção anterior indicarem que mo-delos de regressão podem oferecer uma aproximação da curva de quantidade de vulnerabilidadescumulativa, os modelos baseados em regressão apresentam limitações quanto a capacidade deavaliar características como tendência e sazonalidade das séries temporais.

Em (27) foi apresentado o conceito de VDM baseado em modelos de análise de sériestemporais como o ARIMA e o modelo de suavização exponencial analisando a base de vulne-rabilidades de 5 navegadores web (Chrome, Opera, Safari, Firefox e Internet Explorer). Em(28) foi avaliado o desempenho do modelo ARIMA para a previsão de vulnerabilidades nosistema operacional Debian e utilizou como base de dados as vulnerabilidades publicadas noDebian Security Advisory ou DSA . Estes artigos contribuíram para popularizar a previsão devulnerabilidades utilizando o ARIMA como modelo base.

Em (14) foi introduzido o conceito de Neural Network Model (NNM) para a previsão devulnerabilidades e realizou a comparação de desempenho de 9 VDMs baseados em regressãocom o desempenho de uma rede neural com uma camada oculta. Artigos mais recentes realizama comparação entre modelos de análise de séries temporais como ARIMA com modelos baseadosem redes neurais (29; 15; 16). Em (15) realizam uma comparação entre alguns modelos deanálise de séries temporais como SES, DES, TES e ARIMA com um modelo baseado em redesneurais. Em (16) realizam uma comparação entre o modelo ARIMA e 5 modelos de redesneurais (MLP, CNN, LSTM, CNN-LSTM e CONV-LSTM) para a previsão de vulnerabilidades

Page 18: Modelos de previsão de vulnerabilidades de sistemas

171717

no sistema operacional Android , expandindo a quantidade de modelos baseados em redes neuraisavaliadas na literatura para previsão de vulnerabilidades. Os artigos desta seção contribuíramcom novos experimentos práticos que avaliaram o desempenho de diversos VDMs baseados emanálise estatística de séries temporais e baseados em modelos de redes neurais.

Page 19: Modelos de previsão de vulnerabilidades de sistemas

181818

3METODOLOGIA E COLETA DE DADOS

3.1 ANÁLISE DA BASE DE DADOS

Lançada em 2005 como sucessora da Internet Categorization of Attacks Toolkit (ICAT), aNational Vulnerability Database (NVD) é atualmente a maior base de dados de vulnerabilidadesdo mundo. A NVD foi criada e é mantida pelo National Institute of Standards and Technology(NIST) (30). Cada vulnerabilidade cadastrada na NVD é constituída dos seguintes atributos:CVE-id, data de publicação na NVD, Common Weakness Enumeration (CWE) que identifica otipo de vulnerabilidade, Common Vulnerability Score System (CVSS) que identifica a severidadeda vulnerabilidade, lista de Common Platform Enumeration (CPE) identificando os fabricantes eprodutos afetados e por fim uma descrição breve da vulnerabilidade.

O CVE-id é o identificador único do Common Vulnerabilities and Exposures glossary(CVE®), que enumera as vulnerabilidades conhecidas e é fornecido através da parceria entre oNIST e o Massachusetts Institute of Technology Research & Engineering (MITRE). Tanto aNVD como o CVE são projetos que recebem incentivo financeiro do Department of HomelandSecurity (DHS) e da Cybersecurity and Infrastructure Security Agency (CISA), ambos órgãosgovernamentais dos estados unidos (31).

A NVD possui um total de 151668 vulnerabilidades cadastradas (1) conforme a Figura2.Aproximadamente 47,4% destas vulnerabilidades foram publicadas entre 2017 e 2021, enquanto22,4% do total de vulnerabilidades foram publicadas no período de 1988 e 2008, o que indica agrande quantidade de vulnerabilidades publicadas na NVD nos últimos anos (32).

Page 20: Modelos de previsão de vulnerabilidades de sistemas

191919

Figura 2: Distribuição de vulnerabilidades por período de tempo.

Apesar de ser atualmente a maior base de dados de vulnerabilidades e servir de referênciapara diversos artigos científicos e para a indústria em geral, a NVD apresenta algumas limitações.Em (33) são apresentados quatro problemas que podem afetar os resultados de artigos queutilizam a NVD como base: Diferenças entre a data de publicação e a data de cadastro de umavulnerabilidade na base, erros no cadastro do nome do fabricante e do produto afetado, CVSSv3score não disponível para todas as vulnerabilidades cadastradas e classificação incorreta do tipode vulnerabilidade. Os dois primeiros problemas citados são os que podem afetar de forma diretaos resultados obtidos por artigos na previsão de vulnerabilidades.

A diferença entre a data de divulgação da vulnerabilidade para o público e a publicaçãoda vulnerabilidade na NVD pode impactar os resultados obtidos por VDMs pois estes modelosterão como base uma série temporal com valores diferentes da realidade. Uma metodologiapara mitigar os impactos causados por este problema foi proposta em (17) que consiste emconsultar a mesma vulnerabilidade em outros bancos de dados e na base de security advisories

do próprio fabricante e considerar a data mais antiga encontrada como a data de disclosure davulnerabilidade.

Os erros nos nomes de fabricantes e no nome dos produtos afetados também podemcomprometer os resultados obtidos por VDMs. As inconsistências nos nomes variam desde errosde digitação, como por exemplo o nome canonical cadastrado como cononical, e abrangem aténomes de softwares que são escritos de formas diferentes, como por exemplo o software internet

explorer que aparece cadastrado como Internet_Explorer para algumas versões e IE para outrasversões. Além disso, também existem inconsistências relacionadas à vulnerabilidades que estão

Page 21: Modelos de previsão de vulnerabilidades de sistemas

202020

relacionadas com a versão errada do software. Em (34) são analisadas inconsciências de versãopara as vulnerabilidades encontradas no google chrome e obtiveram resultados que indicam queaproximadamente 25% das vulnerabilidades publicadas para o google chrome apresentam errosde versões.

Os problemas relacionados a nome de fabricantes e produtos não se restringe apenas aosproblemas supracitados e se estende também ao fato de a NVD ser uma base de dados dinâmicaque sofre alterações diariamente (35). Estas alterações incluem também a atualização do nomede fabricantes e produtos na base, o que pode alterar os CPEs de diversas vulnerabilidades ealterar os resultados encontrados para uma busca na base por um determinado CPE.

3.2 COLETA E TRATAMENTO DOS DADOS

Neste trabalho, a análise das bases de dados considerou quatro bases de dados para osprincipais sistemas operacionais utilizados atualmente: Windows, Linux, macOS e Android. Ointervalo de tempo considerado neste projeto foi de primeiro de janeiro de 2009 até dia 31 demarço de 2021. As vulnerabilidades foram coletadas da NVD através da API REST do NIST. ATabela1 indica os CPEs utilizados nas buscas realizadas na NVD.

Tabela 1: NVD: Total de vulnerabilidades encontradas por sistema operacional

Software Data inicial Data final Nº de vulnerabilidades CPE

Windows 01/01/09 31/3/2021 4878 cpe:2.3:o:microsoft:windows

Linux 01/01/09 31/3/2021 3731 cpe:2.3:o:linux:linux_kernel

macOS 01/01/09 31/3/2021 4467 cpe:2.3:o:apple:mac_os_x

Android 01/01/09 31/3/2021 4374 cpe:2.3:o:google:android

Para cada sistema operacional foi criada uma base de dados contendo todas as vul-nerabilidades encontradas, depois as vulnerabilidades são agrupadas por mês de publicação,criando assim uma série temporal uni variável. Todas as séries possuem o mesmo intervalo detempo de 147 meses. As Figuras 3,4,5 e 6 mostram respectivamente o gráfico da quantidade devulnerabilidades para sistemas Android, Linux, macOS e Windows.

Page 22: Modelos de previsão de vulnerabilidades de sistemas

212121

Figura 3: Vulnerabilidades Android 2009-2021.

Figura 4: Vulnerabilidades Linux 2009-2021.

Figura 5: Vulnerabilidades macOS 2009-2021.

Page 23: Modelos de previsão de vulnerabilidades de sistemas

222222

Figura 6: Vulnerabilidades Windows 2009-2021.

3.3 METODOLOGIA

3.3.1 ARIMA

O modelo autorregressivo integrado de médias móveis ou ARIMA(p,d,q) é um modeloestatístico que permite descrever e prever os valores de uma série temporal. Este modelo écomposto por três componentes: Um componente Auto Regressivo (AR) definido por p, umcomponente Média Móvel (MA) definido por q e um componente Derivativo definido por d. Aequação 3.1 descreve o modelo ARIMA(p,d,q).

∇dy = c+

p

∑i=1

ϕi∇dyt−i +

q

∑i=1

θi∇dyt−i + et

� �3.1

Em que ∇dy representa a série diferenciada d vezes até a série se tornar estacionária,c representam uma constante ϕ e θ representam os coeficientes dos termos AR e MA e et

representa o ruído branco.Neste trabalho foi utilizado uma extensão do ARIMA conhecida como Seasonal Auto-

Regressive Integrated Moving Average (SARIMA), que permite a modelagem da componentesazonal de uma série temporal. Este modelo possui mais 3 parâmetros P,D,Q que são o equiva-lente sazonal dos parâmetros p,d,q e o parâmetro m que define o tamanho do ciclo sazonal emunidades de tempo, neste caso em meses.

3.3.2 MLP

O modelo Multi Layer Perceptron (MLP) consiste em uma camada de entrada com n

neurônios recebendo os valores relativos à n observações anteriores na série temporal, umacamada escondida com m neurônios e uma camada de saída com apenas um neurônio. A Figura7mostra a arquitetura de um modelo MLP.

Page 24: Modelos de previsão de vulnerabilidades de sistemas

232323

Figura 7: Exemplo MLP com n = 4 e m = 5.

3.3.3 CNN

O modelo Convolutional Neural Network (CNN) consiste em uma camada de entradacom n neurônios, uma camada convolucional com f filtros que realizam a filtragem da sérietemporal de entrada utilizando kernels de tamanho k, uma camada de pooling que refina a saídada camada de convolução, selecionando os f/2 melhores filtros, uma camada de agregação quetransforma as saídas da camada anterior em uma série temporal única, uma camada oculta e acamada de saída. A Figura8 mostra um exemplo da arquitetura do modelo CNN.

Page 25: Modelos de previsão de vulnerabilidades de sistemas

242424

Figura 8: Exemplo da arquitetura de um modelo CNN por (2).

3.3.4 LSTM

O modelo Long Short Term Memory (LSTM) é um modelo de Recurrent Neural Network(RNN), ou seja, este modelo permite armazenar informações de saídas passadas e combinar essasinformações de entradas atuais para gerar uma nova saída. O LSTM é um modelo melhorado emrelação ao RNN pois resolve o problema de manter em memória por diversos ciclos de previsãoas informações computadas (36; 16).

A arquitetura do modelo utilizada neste trabalho consiste em uma camada de entradacom n neurônios, uma camada LSTM com m neurônios, duas camadas MLP com m neurônios euma camada de saída com um neurônio. A figura 9 mostra a arquitetura do modelo e a figura 10mostra a estrutura de um neurônio LSTM.

Page 26: Modelos de previsão de vulnerabilidades de sistemas

252525

Figura 9: Arquitetura do modelo LSTM utilizado.

Figura 10: Arquitetura de um bloco do LSTM por (3).

3.3.5 CNN-LSTM

Este modelo é a combinação do modelo CNN com o modelo LSTM, no qual a arquiteturaconsiste na mesma arquitetura utilizada no CNN, acrescentando mais uma camada de convoluçãoantes da camada de pooling e adicionando uma camada LSTM entre a camada de agregação e acamada oculta. Este modelo combina a característica do CNN de extrair características da sérietemporal e a característica de longa memória LSTM.

3.3.6 CONV-LSTM

Este modelo é similar ao CNN-LSTM porque as entradas sofrem uma convolução antesde serem analisadas na camada LSTM mas, diferentemente do CNN-LSTM, as entradas filtradas

Page 27: Modelos de previsão de vulnerabilidades de sistemas

262626

se tornam subsequências que são introduzidas diretamente na entrada do modelo LSTM ao invésde serem agrupadas em uma única série antes da camada LSTM como no modelo CNN-LSTM.

3.3.7 MÉTRICAS DE AVALIAÇÃO

Para medir o erro obtido nas previsões foram utilizadas as métricas Mean Absolute Error(MAE) e Root Mean Squared Error (RMSE) apresentadas nas equações 3.2 e 3.3 respectivamente.

MAE = (1N)

N

∑i=1|yt− yt |

� �3.2 RMSE =

√1N

N

∑i=1

(yt− yt)2� �3.3

Onde N representa o total de amostras avaliadas, yt representa o valor real da sérietemporal no mês t e y representa o valor previsto para o mês t.

Apesar de serem as métricas mais utilizadas para avaliação da qualidade de modelosde previsão (37; 15), elas são dependentes da escala dos dados avaliados (38; 15). A limitaçãorelacionada à ordem de grandeza da base não impõe maiores dificuldades na comparação dosresultados, pois os modelos são avaliados em relação à mesma base de dados.

Page 28: Modelos de previsão de vulnerabilidades de sistemas

272727

4RESULTADOS E DISCUSSÃO

4.1 PROCEDIMENTO EXPERIMENTAL

A base de dados utilizada neste trabalho consiste em quatro séries temporais com 147entradas cada, representando os 147 meses de janeiro de 2009 até março de 2021. A divisão decada série temporal foi definida da seguinte forma: os primeiros 96 meses (janeiro de 2009 adezembro de 2016) como base de treinamento dos modelos, os próximos 12 meses (janeiro de2017 a dezembro de 2017) como base de validação e os 39 meses restantes (janeiro de 2018 amarço de 2021) como base de teste.

Os modelos avaliados neste trabalho fornecem uma previsão para um horizonte de 1mês. A previsão foi realizada na base de teste através do algoritmo de Walk-Forward Validation,apresentado no Algoritmo1, onde a função model_ f it() é responsável por construir um VDMgenérico e também é responsável por separar uma parte da base de treino para a validação domodelo. A função model_predict() fornece a previsão para o mês seguinte ao histórico devulnerabilidades.

Algoritmo 1: Walk-Forward Validationinput : data− Time series data, t− test size,c f g− model parametersoutput :RMSE,MAE

1 Initialize Predictions,History,Training,TestTrain,Test← train_test_split(data, t)

2 model← model_ f it(Train,c f g)3 History← Train4 for i in Test do5 y← model_predict(model,History)6 Predictions← Predictions ∪ y7 History← History ∪ i8 end9 RMSE = get_rmse_error(Test,Predictions)

10 MAE = get_mae_error(Test,Predictions)11 return RMSE,MAE

Page 29: Modelos de previsão de vulnerabilidades de sistemas

282828

Para definir os parâmetros p,d,q,P,D,Q do modelo SARIMA foi utilizada a bibliotecapmdarima (39), configurada para utilizar o Akaike’s Information Criterion (AIC) como métodopara aferir a qualidade dos modelos testados. Esta biblioteca utiliza testes estatísticos comoo KPSS (40) para o ARIMA padrão e o teste de Caonva-Hansen (41) para definir o grau dediferenciação aplicado. Para a definição dos valores p,q,P,Q a biblioteca utiliza um algoritmo debusca otimizada proposto por Hyndman e Khandakar para encontrar a configuração que minimizao valor de AIC (42). Já o parâmetro m foi testado com os seguintes valores: m = {1,2,3,4,6,12}onde m = 1 indica um modelo ARIMA comum e os demais valores representam um ciclobimestral, trimestral, quadrimestral, semestral e anual.

Para os resultados obtidos através dos modelos baseados em redes neurais foi utilizadaa biblioteca Keras (43) para a construção das redes neurais avaliadas. Cada modelo avaliadopossui um conjunto de hiperparâmetros conforme apresentado na Tabela2. Os valores avaliadospara cada hiperparâmetro foram:

� Quantidade de meses anteriores na entrada: N = {1,2,3,4,6,12,18,24,36}

� Número de neurônios na camada oculta: M = {10,20,25,50}

� Número de épocas: E = {100,200,500,1000}

� Número de filtros: F = {64,128,256}

� Número de filtros: K = {1,2,3}

Tabela 2: Hiperparâmetros pormodelo

Modelos HiperparâmetrosMLP (N,M,E)CNN (N,F,K,E)LSTM (N,M,E)CNN-LSTM (S,T,F,K,M,E)CONV-LSTM (S,T,F,K,M,E)

Os modelos CNN-LSTM e Conv-LSTM possuem uma diferença em relação ao formatoda entrada: eles dividem o número de entradas do modelo em subsequências que são inseridasna camada convolucional. Desta forma o parâmetro N dos modelos anteriores é mapeado paradois parâmetros neste modelo: número de subsequências S e tamanho das subsequências T .

A quantidade de meses anteriores avaliados nos modelos foi definida utilizando asfunções de autocorrelação e autocorrelação parcial. Para avaliar qual a melhor configuração dehiperparâmetros para cada modelo foi utilizada uma estratégia de busca em grade (gridsearch), noqual são avaliados as combinações de valores dos hiperparâmetros. A avaliação de desempenhoentre as configurações dos hiperparâmetros foi realizada comparando o valor médio do RMSE e

Page 30: Modelos de previsão de vulnerabilidades de sistemas

292929

MAE para 30 execuções do algoritmo Walk-Forward Validation. As melhores configuraçõesobtidas para cada hiperparâmetro por modelo são apresentadas na Tabela3.

A função de ativação utilizada foi a Rectfier (ReLU), que apresenta um desempenhoequivalente a outras funções de ativação e possui um custo computacional menor (44). A funçãode perda utilizada foi o erro médio quadrático e a função gradiente escolhida para minimizar afunção de perda foi a Adam por ser uma função de pouco custo de memória e computacional(45).

Tabela 3: Melhores valores de entrada para cada modelo

Windows Linux Mac OS X AndroidSARIMA (0,1,5)(0,0,0)[0] (0,1,2)(0,0,2)[12] (3,1,4)(0,0,0)[0] (0,1,1)(0,0,1)[2]MLP (3,25,200) (1,25,200) (1,25,200) (3,25,200)CNN (6,256,2,200) (6,256,2,200) (12,256,2,200) (12,256,2,200)LSTM (3,15,200) (2,15,200) (12,15,100) (3,15,200)CNN-LSTM (4,6,256,2,25,200) (2,6,256,2,25,200) (2,12,256,2,25,200) (2,6,256,2,25,200)CONV-LSTM (4,6,256,1,25,200) (2,6,256,1,25,200) (4,6,256,1,25,500) (3,12,256,1,25,200)

4.2 RESULTADOS

Para os sistemas Windows e macOS a melhor configuração de parâmetros para o modeloSARIMA apresenta P,D,Q,m = 0, o que equivale a um modelo ARIMA não-sazonal. Nosistema Linux o modelo SARIMA apresenta uma sazonalidade de 12 meses e o sistema Androidapresenta uma sazonalidade bimestral. Para o modelo MLP o tamanho das entradas varia entre1 e 3 indicando que o modelo considera entre 1 a 3 meses anteriores para a previsão do mêsseguinte. No modelo CNN as entradas variam entre 6 e 12 meses anteriores para a geraçãoda previsão do mês seguinte. Para o modelo LSTM as entradas variaram entre 2,3 e 12 mesesanteriores. Os modelos CNN-LSTM e Conv-LSTM utilizam como entrada um conjunto desubsequências extraídas a partir da série original, onde o CNN-LSTM considera entradas de 12meses (2 sequências de 6 meses) e 24 meses (4 sequências de 6 meses ou 2 sequências de um 12meses) e o Conv-LSTM utiliza entradas de 12 meses (2 sequências de 6 meses), 24 meses (4sequências de 6 meses) e 36 meses (3 sequências de 12 meses).

A partir da melhor configuração de hiperparâmetros encontrada para cada modelo foirealizada a previsão da série de vulnerabilidades para o período previsto na base de teste e foramcomputados os valores de RMSE e MAE entre os valores previstos e os valores reais. As tabelas4, 5, 6 e 7 apontam respectivamente os valores computados para RMSE e MAE para os sistemasoperacionais Windows, Linux, macOS e Android.

Page 31: Modelos de previsão de vulnerabilidades de sistemas

303030

Tabela 4: Resultados computados sistema Windows

WindowsRMSE MAE

Média desvio padrão Média desvio padrão

ARIMA 57.347 N/A 40.458 N/A

MLP 60.851 (+/- 1.805) 41.608 (+/- 1.688)

CNN 61.919 (+/- 3.432) 42.246 (+/- 3.410)

LSTM 61.561 (+/- 2.755) 40.574 (+/- 1.361)

CNN_LSTM 73.835 (+/- 5.692) 53.634 (+/- 3.746)

CONV-LSTM 88.993 (+/- 9.598) 64.221 (+/- 8.298)

Tabela 5: Resultados computados sistema Linux

LinuxRMSE MAE

Média desvio padrão Média desvio padrão

ARIMA 32.503 N/A 29.866 N/A

MLP 18.512 (+/- 0.343) 13.254 (+/- 0.167)

CNN 19.056 (+/- 0.263) 13.744 (+/- 0.195)

LSTM 18.226 (+/- 0.584) 13.440 (+/- 0.714)

CNN_LSTM 29.308 (+/- 4.074) 21.477 (+/- 3.466)

CONV-LSTM 29.663 (+/- 2.489) 22.721 (+/- 1.862)

4.3 DISCUSSÃO

A partir dos resultados obtidos para RMSE verificamos que o modelo ARIMA é o modelocom melhor desempenho para os sistemas Windows e macOS. Para os sistemas Linux e Androido modelo LSTM apresenta a melhor performance entre todos os modelos. Vale destacar tambémque o modelo LSTM apresenta um desempenho muito próximo ao modelo ARIMA para ossistemas Windows e macOS, inclusive incluindo o valor do desempenho do ARIMA no desviopadrão no segundo caso. Os modelos MLP e CNN também apresentaram resultados similares aoLSTM para os sistemas Windows e Linux e também apresentaram um desempenho superior aoARIMA no sistema Android.

As Figuras 11,12,13,14 apresentam os gráficos da previsões feitas no modelo ARIMA.Nestes gráficos é notável como o modelo ARIMA não fornece uma previsão relativa aos picosde vulnerabilidades para cada sistema.

Page 32: Modelos de previsão de vulnerabilidades de sistemas

313131

Tabela 6: Resultados computados sistema macOS

macOSRMSE MAE

Média desvio padrão Média desvio padrão

ARIMA 52.748 N/A 38.954 N/A

MLP 60.984 (+/- 0.702) 41.995 (+/- 0.274)

CNN 56.026 (+/- 1.992) 45.272 (+/- 1.843)

LSTM 52.776 (+/- 1.645) 38.123 (+/- 2.902)

CNN_LSTM 60.347 (+/- 4.284) 44.938 (+/- 4.848)

CONV-LSTM 64.037 (+/- 2.86) 45.614 (+/- 3.196)

Tabela 7: Resultados computados sistema Android

AndroidRMSE MAE

Média desvio padrão Média desvio padrão

ARIMA 76.119 N/A 67.684 N/A

MLP 71.760 (+/- 1.541) 46.361 (+/- 1.130)

CNN 70.474 (+/- 2.223) 44.622 (+/- 2.159)

LSTM 67.606 (+/- 2.217) 41.940 (+/- 1.784)

CNN-LSTM 81.822 (+/- 10.144) 54.570 (+/- 9.040)

CONV-LSTM 115.727 (+/- 12.146) 66.836 (+/- 4.060)

Figura 11: Previsão modelo ARIMA para Android.

Page 33: Modelos de previsão de vulnerabilidades de sistemas

323232

Figura 12: Previsão modelo ARIMA para sistemas Linux.

Figura 13: Previsão modelo ARIMA para sistemas macOS.

Figura 14: Previsão modelo ARIMA para sistemas Windows.

As Figuras 15,16,17,18 apresentam os gráficos das previsões feitas no modelo LSTM.Nestes gráficos é notável como o modelo LSTM apresenta uma capacidade superior de prever ospicos de vulnerabilidades.

Page 34: Modelos de previsão de vulnerabilidades de sistemas

333333

Figura 15: Previsão modelo LSTM para Android.

Figura 16: Previsão modelo LSTM para sistemas Linux.

Figura 17: Previsão modelo LSTM para sistemas macOS.

Page 35: Modelos de previsão de vulnerabilidades de sistemas

343434

Figura 18: Previsão modelo LSTM para sistemas Windows.

Para avaliar se as séries utilizadas como entrada dos modelos são ou não estacionáriasfoi utilizada a função ADFtest da biblioteca pmdarima que implementa o Dickey-Fuller test (39).O teste foi realizado para todas as séries que representam cada sistema operacional utilizandoo valor de α = 0.05. Os resultados obtidos indicam que apenas a série de vulnerabilidades dosistema Linux é estacionária. Este resultado é um indício para trabalhos futuros de que modelosde previsão de vulnerabilidades baseados em redes neurais podem apresentar resultados melhoresem séries estacionárias.

Page 36: Modelos de previsão de vulnerabilidades de sistemas

353535

5CONCLUSÃO

5.1 CONTRIBUIÇÕES E LIMITAÇÕES

Os resultados apresentados neste trabalho possuem algumas limitações devido à basede dados e as metodologias utilizadas. A base de vulnerabilidades construída a partir da NVDpode conter erros relacionados à quantidade real de vulnerabilidades encontradas para cadasistema operacional. O agrupamento de diversas versões de um sistema operacional em um únicogrupo descarta as particularidades de cada versão e o algoritmo utilizado na busca dos melhoreshiperparâmetros pode não encontrar a melhor combinação global de hiperparâmetros.

Apesar destas limitações, este trabalho realiza mais um experimento prático na área deprevisão de vulnerabilidades, avaliando o desempenho de modelos baseados em redes neuraispropostos em (16) para outros sistemas operacionais. Os resultados obtidos indicam que o LSTMpode fornecer uma previsão de vulnerabilidades tão precisa quanto o modelo ARIMA parasistemas operacionais e também apontam os modelos MLP e CNN como modelos promissorespara previsão de vulnerabilidades. Este trabalho também apresenta a arquitetura dos modelosconstruídos e fornece a quantidade total de vulnerabilidades encontradas e o CPE utilizado emcada busca para facilitar a replicação dos experimentos realizados em trabalhos futuros.

5.2 TRABALHOS FUTUROS

Novos trabalhos nesta área podem explorar a possibilidade de realizar uma coleta dabase da NVD com uma validação cruzada com outras bases de vulnerabilidades. Isto permiteque problemas intrínsecos à NVD sejam mitigados a partir da observação de outras bases dedados. A utilização dos modelos de coleta com validação cruzada em outras bases propostos em(34) e (33) podem ser um ponto de partida para novos trabalhos.

Trabalhos futuros também podem estender as análises realizadas neste trabalho paraincluir na avaliação de desempenho modelos baseados em regressão, seguindo a mesma linha doexperimento realizado em (14). Outros modelos também podem ser avaliados para a previsão devulnerabilidades como o Support Vector Regression (SVR) por exemplo.

Modelos baseados em previsão de séries temporais com múltiplas variáveis também

Page 37: Modelos de previsão de vulnerabilidades de sistemas

363636

também podem ser explorados por trabalhos futuros. Todos os modelos baseados em redesneurais avaliados neste trabalho podem ser adaptados para verificar mais de uma variável porentrada. Informações como market-share de um determinado software, tamanho do código,quantidade de minor versions lançadas e a quantidade de eventos de segurança realizados sãovariáveis que podem ser descritas em formas de séries temporais que podem servir de entrada deforma paralela com a quantidade de vulnerabilidades descobertas no mês.

Por fim, outra linha de pesquisa que deve ser abordada é a previsão de vulnerabilidades emredes de computadores (46) onde, ao invés de avaliar a quantidade de vulnerabilidades que serãodescobertas para um determinado software serão avaliadas a quantidade de vulnerabilidadesque serão descobertas para uma determinada rede, utilizando informações provenientes deferramentas de scans de vulnerabilidades.

Page 38: Modelos de previsão de vulnerabilidades de sistemas

373737

REFERÊNCIAS

[1] NIST, “Official Common Platform Enumeration (CPE) Dictionary Statistics,” 2021. [On-line] Available: https://nvd.nist.gov/vuln/search/statistics. [Accessed 2021-04-08].

[2] Phung and Rhee, “A high-accuracy model average ensemble of convolutional neuralnetworks for classification of cloud image patches on small datasets,” Applied Sciences,vol. 9, p. 4500, 10 2019.

[3] K. Greff, R. K. Srivastava, J. Koutník, B. R. Steunebrink, and J. Schmidhuber, “Lstm:A search space odyssey,” IEEE Transactions on Neural Networks and Learning Systems,vol. 28, no. 10, pp. 2222–2232, 2017.

[4] C. Stoll, “Stalking the wily hacker,” Commun. ACM, vol. 31, p. 484–497, May 1988.

[5] S. Schmemann, “Computer Buffs Tapped NASA Files.” [Online] Available:https://www.nytimes.com/1987/09/16/world/computer-buffs-tapped-nasa-files.html. [Ac-cessed 2021-03-29].

[6] B. Reid, “Reflections on some recent widespread computer break-ins,” vol. 30, pp. 103+,Feb 1987. Column.

[7] FBI, “The Morris Worm,” 2018. [Online] Available:https://www.fbi.gov/news/stories/morris-worm-30-years-since-first-major-attack-on-internet-110218. [Accessed 2021-03-29].

[8] IBM, “Cost of a Data Breach Report,” 2020. [Online] Available:https://www.capita.com/sites/g/files/nginej291/files/2020-08/Ponemon-Global-Cost-of-Data-Breach-Study-2020.pdf. [Accessed 2021-03-29].

[9] Accenture, “Ninth Annual Cost of Cybercrime Study,” 2019. [Online] Available:https://www.accenture.com/us-en/insights/security/cost-cybercrime-study. [Accessed 2021-03-29].

[10] PCI-DSS, “PCI-DSS,” 2021. [Online] Available:https://pt.pcisecuritystandards.org/minisite/env2/. [Accessed 2021-03-29].

[11] NIST, “cyberframework,” 2021. [Online] Available: https://www.nist.gov/cyberframework.[Accessed 2021-03-29].

[12] SANS, “cis-security-controls,” 2021. [Online] Available: https://www.sans.org/critical-security-controls. [Accessed 2021-03-29].

[13] CIS, “cis-security-controls,” 2021. [Online] Available: https://www.cisecurity.org/controls/.[Accessed 2021-03-29].

[14] Y. Movahedi, M. Cukier, and I. Gashi, “Vulnerability prediction capability: A comparisonbetween vulnerability discovery models and neural network models,” Computers & Security,vol. 87, p. 101596, 2019.

[15] E. Yasasin, J. Prester, G. Wagner, and G. Schryen, “Forecasting it security vulnerabilities –an empirical analysis,” Computers & Security, vol. 88, p. 101610, 2020.

Page 39: Modelos de previsão de vulnerabilidades de sistemas

383838

[16] K. Gencer and F. Basçiftçi, “Time series forecast modeling of vulnerabilities in the an-droid operating system using arima and deep learning methods,” Sustainable Computing:Informatics and Systems, vol. 30, p. 100515, 2021.

[17] F. Massacci and V. H. Nguyen, “An empirical methodology to evaluate vulnerabilitydiscovery models,” IEEE Transactions on Software Engineering, vol. 40, no. 12, pp. 1147–1162, 2014.

[18] J. Kim, Y. K. Malaiya, and I. Ray, “Vulnerability discovery in multi-version softwaresystems,” in 10th IEEE High Assurance Systems Engineering Symposium (HASE’07),pp. 141–148, 2007.

[19] O. H. Alhazmi and Y. K. Malaiya, “Modeling the vulnerability discovery process,” in 16thIEEE International Symposium on Software Reliability Engineering (ISSRE’05), pp. 10pp.–138, 2005.

[20] R. Anderson, “Security in open versus closed systems - the dance of boltzmann, coase andmoore,” 07 2002.

[21] O. H. Alhazmi and Y. K. Malaiya, “Quantitative vulnerability assessment of systemssoftware,” in Annual Reliability and Maintainability Symposium, 2005. Proceedings.,pp. 615–620, 2005.

[22] J. Musa and K. Okumoto, “A logarithmic poisson execution time model for softwarereliability measurement,” in ICSE ’84, 1984.

[23] E. Rescorla, “Is finding security holes a good idea?,” IEEE Security Privacy, vol. 3, no. 1,pp. 14–19, 2005.

[24] S. Woo, O. H. Alhazmi, and Y. K. Malaiya, “Assessing vulnerabilities in apache and iishttp servers,” in 2006 2nd IEEE International Symposium on Dependable, Autonomic andSecure Computing, pp. 103–110, 2006.

[25] H. Joh and Y. Malaiya, “Modeling skewness in vulnerability discovery,” Quality andReliability Engineering International, vol. 30, 12 2014.

[26] D. Last, “Consensus forecasting of zero-day vulnerabilities for network security,” in 2016IEEE International Carnahan Conference on Security Technology (ICCST), pp. 1–8, 2016.

[27] Y. Roumani, J. Nwankpa, and Y. Roumani, “Time series modeling of vulnerabilities,”Computers & Security, vol. 51, 03 2015.

[28] N. Alexopoulos, R. Egert, T. Grube, and M. Mühlhäuser, “Poster: Towards automatedquantitative analysis and forecasting of vulnerability discoveries in debian gnu/linux,”pp. 2677–2679, 11 2019.

[29] N. R. Pokhrel, H. Rodrigo, and C. Tsokos, “Cybersecurity: Time series predictive mode-ling of vulnerabilities of desktop operating system using linear and non-linear approach,”Journal of Information Security, vol. 08, pp. 362–382, 01 2017.

[30] NIST, “NIST,” 2021. [Online] Available: https://www.nist.gov/itl. [Accessed 2021-03-29].

[31] MITRE, “CVE and NVD Relationship,” 2021. [Online] Available:https://cve.mitre.org/about/cve_and_nvd_relationship.html. [Accessed 2021-03-29].

Page 40: Modelos de previsão de vulnerabilidades de sistemas

393939

[32] NIST, “CPE-Statistics,” 2021. [Online] Available:https://nvd.nist.gov/products/cpe/statistics. [Accessed 2021-03-29].

[33] A. Anwar, A. Abusnaina, S. Chen, F. Li, and D. Mohaisen, “Cleaning the nvd: Comprehen-sive quality assessment, improvements, and analyses,” 2020.

[34] H. Nguyen and F. Massacci, “The (un)reliability of nvd vulnerable versions data: anempirical experiment on google chrome vulnerabilities,” 02 2013.

[35] NIST, “Official Common Platform Enumeration (CPE) Dictionary Statistics,” 2021. [On-line] Available: https://nvd.nist.gov/products/cpe/statistics. [Accessed 2021-03-29].

[36] S. Hochreiter and J. Schmidhuber, “Long Short-Term Memory,” Neural Computation,vol. 9, pp. 1735–1780, 11 1997.

[37] N. Gospodinov, A. Gavala, and D. Jiang, “Forecasting volatility,” Journal of Forecasting,vol. 25, no. 6, pp. 381–400, 2006.

[38] R. J. Hyndman and A. B. Koehler, “Another look at measures of forecast accuracy,” Inter-national Journal of Forecasting, vol. 22, no. 4, pp. 679–688, 2006.

[39] T. G. Smith et al., “pmdarima: Arima estimators for Python,” 2017–. [Online] Available:http://www.alkaline-ml.com/pmdarima. [Accessed 2021-03-29].

[40] D. Kwiatkowski, P. C. Phillips, P. Schmidt, and Y. Shin, “Testing the null hypothesis ofstationarity against the alternative of a unit root: How sure are we that economic time serieshave a unit root?,” Journal of Econometrics, vol. 54, no. 1, pp. 159–178, 1992.

[41] F. Canova and B. E. Hansen, “Are seasonal patterns constant over time? a test for seasonalstability,” Journal of Business & Economic Statistics, vol. 13, no. 3, pp. 237–252, 1995.

[42] R. J. Hyndman and Y. Khandakar, “Automatic time series forecasting: The forecast packagefor r,” Journal of Statistical Software, Articles, vol. 27, no. 3, pp. 1–22, 2008.

[43] F. Chollet et al., “Keras.” https://github.com/fchollet/keras, 2015.

[44] X. Glorot, A. Bordes, and Y. Bengio, “Deep sparse rectifier neural networks,” vol. 15, 012010.

[45] D. P. Kingma and J. Ba, “Adam: A method for stochastic optimization,” 2017.

[46] H. Venter and J. Eloff, “Vulnerability forecasting—a conceptual model,” Computers &Security, vol. 23, no. 6, pp. 489–497, 2004.