SISTEMADEDETECÇÃODEANOMALIASBASEADONA ... fileos modelos de sistemas SCADA baseiam-se em...

63
VITOR ABE TAKANO SISTEMA DE DETECÇÃO DE ANOMALIAS BASEADO NA ANÁLISE DO CABEÇALHO DOS PACOTES PARA REDES SCADA LONDRINA–PR 2018

Transcript of SISTEMADEDETECÇÃODEANOMALIASBASEADONA ... fileos modelos de sistemas SCADA baseiam-se em...

VITOR ABE TAKANO

SISTEMA DE DETECÇÃO DE ANOMALIAS BASEADO NAANÁLISE DO CABEÇALHO DOS PACOTES PARA REDES

SCADA

LONDRINA–PR

2018

VITOR ABE TAKANO

SISTEMA DE DETECÇÃO DE ANOMALIAS BASEADO NAANÁLISE DO CABEÇALHO DOS PACOTES PARA REDES

SCADA

Trabalho de Conclusão de Curso apresentadoao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel emCiência da Computação.

Orientador: Prof. Dr. Bruno Bogaz Zarpelão

LONDRINA–PR

2018

Vitor Abe TakanoSistema de detecção de anomalias baseado na análise do cabeçalho dos pacotes

para redes SCADA/ Vitor Abe Takano. – Londrina–PR, 2018-61 p. : il. (algumas color.) ; 30 cm.

Orientador: Prof. Dr. Bruno Bogaz Zarpelão

– Universidade Estadual de Londrina, 2018.

1. SCADA. 2. Detecção de anomalias. I. Bruno Bogaz Zarpelão. II. Universi-dade Estadual de Londrina. III. Ciência da computação. IV. Sistema de detecçãode anomalias baseado na análise do cabeçalho dos pacotes para redes SCADA

CDU 02:141:005.7

VITOR ABE TAKANO

SISTEMA DE DETECÇÃO DE ANOMALIAS BASEADO NAANÁLISE DO CABEÇALHO DOS PACOTES PARA REDES

SCADA

Trabalho de Conclusão de Curso apresentadoao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel emCiência da Computação.

BANCA EXAMINADORA

Prof. Dr. Bruno Bogaz ZarpelãoUniversidade Estadual de Londrina

Orientador

Prof. Dr. Segundo Membro da BancaUniversidade/Instituição do Segundo

Membro da Banca

Prof. Dr. Terceiro Membro da BancaUniversidade/Instituição do Terceiro

Membro da Banca

Prof. Ms. Quarto Membro da BancaUniversidade/Instituição do Quarto

Membro da Banca

Londrina–PR, 9 de fevereiro de 2018

Este trabalho é dedicado à minha família, professores e amigos.

AGRADECIMENTOS

Primeiramente, gostaria de agradecer à minha família, em especial aos meus pais,por tudo o que me foi proporcionado e por todos os sacrifícios que foram feitos parame auxiliar na minha jornada até aqui. Em sequência, gostaria de agradecer a todosos professores do curso, por todas as aulas, conhecimentos passados e dedicação em seutrabalho. E Gostaria de agradecer especialmente ao meu orientador Prof. Dr. Bruno BogazZarpelão por toda a orientação que foi dada neste trabalho.

“Procure ser um homem de valor, em vez de ser um homem de sucesso.(Albert Einstein)

TAKANO, V. A.. Sistema de detecção de anomalias baseado na análise do cabe-çalho dos pacotes para redes SCADA. 61 p. Trabalho de Conclusão de Curso (Bacha-relado em Ciência da Computação) – Universidade Estadual de Londrina, Londrina–PR,2018.

RESUMO

Os sistemas SCADA são importantes em processos industriais e em infraestruturas críti-cas. No princípio, esses sistemas eram fechados e sem conectividade externa. Atualmente,os modelos de sistemas SCADA baseiam-se em conectividade e em sistemas abertos, eestão sendo conectados à Internet, e outras intranets, visando o aumento da eficiênciae da produtividade. Essa integração com a internet trouxe diversos problemas relacio-nados com segurança. Entretanto, sistemas de detecções de anomalias seriam capazes dedetectar possíveis ataques realizados nesses sistemas, resolvendo assim uma parte dos pro-blemas relacionados à segurança. Neste trabalho é proposto um sistema de detecção deanomalias, que utiliza a análise dos campos do cabeçalho dos pacotes para a construçãodo perfil de comportamento normal da rede, e para a detecção de anomalias presente nasredes SCADA. A técnica se mostrou capaz de detectar os ataques, mas apresentou algunsresultados negativos.

Palavras-chave: SCADA, Detecção de anomalias, Sistema de detecção de anomaliasbaseado na análise do cabeçalho dos pacotes para redes SCADA.

TAKANO, V. A.. Anomaly detection system based on packet header analysisfor SCADA networks. 61 p. Final Project (Bachelor of Science in Computer Science) –State University of Londrina, Londrina–PR, 2018.

ABSTRACT

SCADA systems are important in industrial processes and critical infrastructures. Inthe beginning, these systems were closed and without external connectivity. Currently,SCADA systems models are based on connectivity and open systems, and are beingconnected to the Internet, and other intranets, to increase efficiency and productivity. Thisintegration with the internet has brought a number of security-related issues. However,anomaly detection systems would be able to detect possible attacks on those systems,thus solving a number of security-related problems. In this work an anomaly detectionsystem is proposed, which uses the analysis of the header fields of the packets for theconstruction of the normal network behavior profile and for the detection of anomaliespresent in SCADA networks. The technique proved to be capable of detecting the attacks,but showed some negative results.

Keywords: SCADA, Detection of anomalies, Anomaly detection system based on theanalysis of the packet header for SCADA networks.

LISTA DE ILUSTRAÇÕES

Figura 1 – Arquitetura simplificada de um sistema SCADA [1]. . . . . . . . . . . . 26Figura 2 – Três critérios propostos para classificar métodos de detecção de ano-

malia em redes [2]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Figura 3 – Curva ROC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Figura 4 – Curva ROC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Figura 5 – Curva ROC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Figura 6 – Curva ROC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Figura 7 – Curva ROC, movimentação de arquivo. . . . . . . . . . . . . . . . . . . 56Figura 8 – Curva ROC, envio de comando. . . . . . . . . . . . . . . . . . . . . . . 56

LISTA DE TABELAS

Tabela 1 – Tabela com os nomes utilizados . . . . . . . . . . . . . . . . . . . . . . 44Tabela 2 – Run1 3RTU 2s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Tabela 3 – Tabela comparando os resultados . . . . . . . . . . . . . . . . . . . . . 45Tabela 4 – Matriz de Confusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Tabela 5 – Tabela comparando resultados para o ataque de movimentação de ar-

quivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Tabela 6 – Matriz de confusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Tabela 7 – Tabela comparando os resultados, para o ataque de envio de comando. 50Tabela 8 – Matriz de confusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Tabela 9 – Run 12rtu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Tabela 10 – Tabela comparando os resultados, para o ataque de envio de arquivo

executável. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Tabela 11 – Matriz de confusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Tabela 12 – Tabela comparando os resultados, para o ataque de envio de arquivo

executável, para o ataque de movimentação de arquivo. . . . . . . . . . 54Tabela 13 – Tabela comparando os resultados, para o ataque de envio de arquivo

executável, para o ataque de envio de comando . . . . . . . . . . . . . 55Tabela 14 – Matriz de confusão, movimentação de arquivo . . . . . . . . . . . . . . 55Tabela 15 – Matriz de confusão, envio de comando . . . . . . . . . . . . . . . . . . 55

LISTA DE ABREVIATURAS E SIGLAS

ABNT Associação Brasileira de Normas Técnicas

BNDES Banco Nacional de Desenvolvimento Econômico e Social

IBGE Instituto Nacional de Geografia e Estatística

IBICT Instituto Brasileiro de Informação em Ciência e Tecnologia

NBR Norma Brasileira

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2 FUNDAMENTAÇÃO TEÓRICA E ESTADO DA ARTE . . . 252.1 Redes SCADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2 Detecção de intrusão . . . . . . . . . . . . . . . . . . . . . . . . . 282.2.1 Detecção por Assinatura . . . . . . . . . . . . . . . . . . . . . . . 282.2.2 Detecção por Anomalia . . . . . . . . . . . . . . . . . . . . . . . . 292.2.2.1 Análise de recursos de rede . . . . . . . . . . . . . . . . . . . . . . . 312.2.2.2 Modelo comportamental . . . . . . . . . . . . . . . . . . . . . . . . 322.2.2.3 Análise de escala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.2.3 Métodos de detecção de Anomalias . . . . . . . . . . . . . . . . . 332.2.3.1 Detecção de anomalias com base na análise dos fluxos de tráfego . 332.2.3.2 Detecção de anomalias com base na análise do protocolo . . . . . 332.2.3.3 Detecção de anomalia estatística . . . . . . . . . . . . . . . . . . . . 342.2.3.4 Detecção de anomalia baseada em aprendizagem de máquinas . . 342.2.3.5 Detecção de anomalia baseada em mineração de dados . . . . . . . 342.3 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . 35

3 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.1 PHAD: Packet Header Anomaly Detection . . . . . . . . . . . . 373.2 PHAD: Packet Header Anomaly Detection aplicado para a

rede SCADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4 RESULTADO E DISCUSSÃO . . . . . . . . . . . . . . . . . . . 434.1 Informações sobre os experimentos . . . . . . . . . . . . . . . . . 434.1.1 Experimento 1 : arquivo Run1 3RTU 2s . . . . . . . . . . . . . . 434.1.1.1 Detectando Anomalias . . . . . . . . . . . . . . . . . . . . . . . . . . 454.1.1.1.1 Upload de um executável . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.1.1.1.2 Movendo arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.1.1.1.3 Envio de comando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.1.2 Experimento 2: arquivo Run1 12RTU . . . . . . . . . . . . . . . 514.1.2.1 Detectando Anomalias . . . . . . . . . . . . . . . . . . . . . . . . . . 524.1.2.1.1 Upload de um executável . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.1.2.1.2 Movendo arquivos e Envio de comando . . . . . . . . . . . . . . . . . . 54

5 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

23

1 INTRODUÇÃO

Os sistemas SCADA (Supervisory Control and Data Aquisition - Controle Super-visório e de Aquisição de Dados) realizam funções que incluem a supervisão e o controle deprocessos locais ou remotos em tempo real. Esses sistemas, em geral bastante complexos,são constituídos por computadores, aplicativos e dispositivos utilizados para a aquisiçãode dados e para atuar sobre os processos. Todos os equipamentos são interligados atra-vés de uma rede de comunicação [1]. E são implantados em todo o mundo em grandesinstalações industriais e infra-estruturas críticas (critical infrastructures - CIs) na áreade transporte ferroviário, indústria química, petroquímica e de cimento; na indústria ali-mentícia; na produção e na distribuição de energia elétrica; na distribuição de água; nocontrole de oleodutos, gasodutos, centrais nucleares, edifícios inteligentes e tráfego [1, 3].

A maioria dos protocolos industriais utilizados na rede SCADA foram projetadosinicialmente há algumas décadas, quando o sistema era fisicamente isolado de qualqueroutra rede, o que contribui para a falta de demanda por serviços de segurança básicos,como autenticação e verificação de integridade nesses protocolos [4, 5]. No entanto, amais recente tendência de conectar sistemas SCADA fez com que as redes internas fossemmais expostas a uma gama muito maior de ataques cibernéticos [6]. E por essas redesestarem implantadas em infra-estruturas criticas é necessária uma atenção ainda maiorcom possíveis ataques que prejudiquem a rede, pois problemas que são considerados muitoperigosos podem ocorrer, como por exemplo, em 2009, um ataque coordenado contra arede elétrica ucraniana foi confirmado, segundo a reportagem os invasores iniciaram umaintrusão nos sistemas SCADA de produção e causaram um apagão para centenas demilhares de pessoas na Ucrânia [7].

E neste contexto das redes SCADA estarem cada vez mais conectadas a rede In-ternet, a possibilidade de ocorrer outros ataques contra essa redes são muito elevadas.Entretanto existem os sistemas de detecção de intrusão, que são ferramentas que sãoutilizados para a detecção de acessos não autorizados a um sistema ou rede de computa-dores, com isso, os sistemas de detecção de intrusão são capazes de detectar atividadesmaliciosas dentro de uma rede ou sistema. Portanto a criação de um sistema de detecçãode intrusão em um rede SCADA, pode evitar com que esses ataques causem problemas,como o ataque ocorrido na Ucrânia [8, 9, 10].

Neste trabalho, será estudada uma técnica de detecção de intrusão baseada nadetecção por anomalia, proposta por Mahoney e Chan [11] que tem como principal carac-terística a análise dos campos do cabeçalho dos pacotes. O algoritmo de Mahoney e Chané dividido em duas partes, a parte de treinamento e a parte de detecção. A parte de trei-namento, é a fase onde o sistema fará uma caracterização da rede, e a parte de detecção o

24

sistema classificara, com base na informações obtidas na fase de treinamento, os pacotescomo sendo anômalos ou não. Após o entendimento da técnica utilizada por Mahoneye Chan, será implementado um sistema, utilizando-se dessa técnica, para a detecção deanomalias dentro das redes SCADA com o protocolo Modbus TCP/IP.

Este trabalho está dividido da seguinte forma:

∙ Fundamentação Teórica e Estado da Arte, nesta secção serão apresentados algunsconceitos iniciais, e atributos, do problema a ser resolvido, além de mencionar tra-balhos relacionados que propõem técnicas para a resolução deste problema;

∙ Metodologia, é a secção onde será explicado o método utilizado neste trabalho, comdetalhes de como foi desenvolvido e os parâmetros utilizados;

∙ Resultados e Discussões, é a secção onde serão discutidas as bases de testes dométodo e os resultados obtidos, verificando se a abordagem escolhida é realmenteeficaz;

∙ Conclusão, onde serão expostas considerações finais sobre o método desenvolvido.

25

2 FUNDAMENTAÇÃO TEÓRICA E ESTADO DA ARTE

Neste capítulo serão discutidos os conceitos necessários para entendimento do pro-blema, a definição de sistemas de detecção de intrusão, seus tipos e aplicações e os traba-lhos que vêm sido desenvolvidos na área nos últimos anos.

2.1 Redes SCADA

Instalações industriais modernas como, transporte ferroviário, indústria química,petroquímica e de cimento; na indústria alimentícia; na produção e na distribuição deenergia elétrica; na distribuição de água; no controle de oleodutos, gasodutos, centraisnucleares, edifícios inteligentes e tráfego, essa instalações apresentam-se grandes e distri-buídas. E os operadores industriais devem monitorar e controlar continuamente todas asáreas e processos diferentes presentes na planta industrial para garantir o bom funciona-mento [1, 3, 12].

Onde a planta industrial é formado pelo edifício da industria, as instalações es-pecíficas (como a climatização, o saneamento, etc.) e as maquinarias, é um esquema queirá demonstrar a arquitetura da industria e explicará o funcionamento dela. E os proces-sos, ou processos industriais, são os procedimentos que envolvem a realização de passosquímicos ou mecânicos que fazem parte da manufatura do produto.

E para facilitar e otimizar o monitoramento e controle das áreas e processos indus-triais, foram implantadas redes para a realização dessas tarefas de forma remota, essasredes de monitoramento e controle industrial são chamadas de redes ou sistemas SCADA.

Os sistemas SCADA (Supervisory Control and Data Aquisition) realizam funçõesque incluem a supervisão e o controle de processos locais ou remotos em tempo real.Esses sistemas, em geral são caracterizados por serem bastante complexos, por seremconstituídos por computadores, aplicativos e dispositivos utilizados para a aquisição dedados e para atuar sobre os processos. Todos os equipamentos são interligados através deuma rede de comunicação [1].

Em geral, os sistemas SCADA são compostos por uma unidade central de proces-samento, chamada de Estação Central ou de MTU (Master Terminal Unit) e de estaçõesremotas, chamadas de RTU (Remote Terminal Unit). Esses componentes trocam infor-mações através de um meio de comunicação. Os meios de comunicação podem ser atravésde enlaces de satélite ou enlaces de rádio, cabos metálicos ou fibras ópticas [13, 1].

O operador interage com todo o sistema através da unidade de visualização gráficadisponível na Estação Central. Essa interface, conhecida como HMI (Human-Machine

26

Figura 1 – Arquitetura simplificada de um sistema SCADA [1].

Interface), é atualizada em tempo real a partir de dados recolhidos nas plantas pelasRTUs [1].

Através da Estação Central, o operador tem acesso à representação gráfica, naforma de ícones, dos processos que estão sendo supervisionados ou controlados e à repre-sentação gráfica das variáveis que estão sendo monitoradas [1].

As Estações Remotas são compostas por sensores para aquisição de dados, por umcomponente que realiza a comunicação entre a Estação Remota e a Estação Central e umoutro componente que é responsável pela execução das instruções que são enviadas pelaEstação Central [1].

O protocolo Modbus é considerado como sendo o principal protocolo utilizado parasistemas de controle industrial. E a maioria dos sistemas Modbus implementam a camadade comunicação usando o protocolo TCP.

O protocolo Modbus fornece um modo de comunicação mestre-escravo simples en-tre os dispositivos, que são as unidades centrais de processamento as chanadas MTUs e asestaçoes remotas, que sao as RTUs. O mestre inicia as transações (chamadas de consultas)e os escravos respondem fornecendo os dados solicitados ao mestre ou tomando a açãosolicitada na consulta. Apenas um dispositivo pode ser declarado mestre, usualmente ainterface de máquina humana (HMI), enquanto o resto dos dispositivos são escravos , osRTUs (geralmente controladores lógicos programáveis (PLCs) que controlam dispositivoscomo transdutores de E / S, válvulas, unidades de rede, etc.). Uma mensagem de respostaé enviada pelo escravo a todas as consultas endereçadas individualmente [14].

As transações de chamadas e consultas do Modbus são codificadas como Unidades

27

de Dados de Protocolo Modbus (PDU - Modbus Protocol Data Units), que podem serencapsuladas em um protocolo de comunicação de linha serial ou em TCP / IP (quenormalmente é conhecido como Modbus TCP) [15].

O encapsulamento de uma PDU Modbus sobre TCP / IP é denominado Unidadede Dados de Aplicação Modbus TCP / IP . Essa unidade consiste em um cabeçalho (deno-minado cabeçalho do protocolo de aplicação Modbus) e uma PDU Modbus. O cabeçalhoconsiste nos seguintes campos [15]:

∙ Identificador de transação: usado para identificar a solicitação e a resposta corres-pondente a uma transação.

∙ Identificador do protocolo: este campo deve ser 0 para o protocolo Modbus.

∙ Comprimento: usado para especificar o comprimento dos campos seguintes.

∙ Identificador da unidade: usado para identificar um servidor Modbus conectado auma porta Modbus.

Embora protocolo Modbus TCP/IP ser considerado como sendo o principal pro-tocolo utilizado para sistemas de controle industrial, e a maioria dos sistemas Modbusimplementam a camada de comunicação usando o protocolo TCP. O Modbus TCP/IPnão é o único protocolo proposto dentro das redes SCADA, outros protocolos podemser utilizados dentro das redes Ethernet tradicionais e com o protocolo TCP/IP. Muitosdesses protocolos abandonam as relações estritas de mestre e escravo (master, slave), ci-tada anteriormente e tradicionalmente vistas nas redes SCADA, e com isso os dispositivosprojetados para essas redes geralmente fornecem aplicação adicional como, interfaces decamada além do protocolo de mensagens SCADA. Estes podem incluir recursos de in-terface web que, quando acoplados com a integração à rede corporativa, permitem ummonitoramento conveniente de informações da produção para o seu gerenciamento. En-tretanto, a inclusão desses serviços faz com que todos os dispositivos da rede SCADA ossuportam vulneráveis a aplicativos populares e ataques baseados em TCP / IP. Algunsdestes protocolos são [12]:

∙ Ethernet/IP (Industrial Protocol), foi desenvolvido pelo, Open DeviceNet VendorsAssociation (ODVA) (www.odva.org),

∙ DeviceNet, foi desenvolvido pelo, Open DeviceNet Vendors Association (ODVA)(www.odva.org).

∙ ControlNet, foi desenvolvido pelo, ControlNet International (www.controlnet.org).

∙ PROFIBUS, foi desenvolvido pelo, Type 3 protocol of IEC Standard 11674 and61158 (www.profibus.org).

28

∙ MODBUS TCP/IP, foi desenvolvido pelo, MODBUS-IDA (www.modbus.org).

∙ DNP3, foi desenvolvido pelo,(IEC) Technical Committee 57, Working Group 03standard.

∙ Foundation Fieldbus, foi desenvolvido pelo, The Fieldbus Foundation/open standardprotocol (www.fieldbus.org).

Neste trabalho o foco principal será a o desenvolvimento de um sistema de detecçãode instrusão nas redes Modbus TCP/IP.

2.2 Detecção de intrusão

Um sistema de detecção de intrusão é uma ferramenta de software que é utilizadapara a detecção de acessos ou tentativas de acessos não autorizados a um sistema ourede de computadores. Um sistema de detecção de intrusão deve ser capaz de detectardiferentes tipos de tráfegos maliciosos dentro de uma rede, como por exemplo, ataquescontra serviços da rede, ataques de transmissão de dados em aplicativos, ataques baseadosem host, escalação de privilégios, logins não autorizados, acesso a arquivos sensíveis emalwares. No geral existem duas categorias de algoritmos para a análise e detecção deintrusões, a Detecção por Assinatura e a Detecção por Anomalia [8, 9, 10].

2.2.1 Detecção por Assinatura

A Detecção por Assinatura é uma técnica de detecção de intrusão que depende deum conjunto predefinido de assinaturas de ataque. Os sistemas de detecção de intrusãobaseado em detecção de assinaturas procuram por padrões específicos presentes no sistemaou rede, e para encontrá-los é necessário combinar, os pacotes de entrada com as sequênciasde comandos recebidos. Essa combinação ira formar uma assinatura, que é a representaçãodo comportamento de uma atividade dentro do sistema ou da rede [8, 9, 10].

Após a assinatura ser encontrada, ela poderá ser classificada como sendo legal ouilegal. Nas técnicas de detecção por assinatura, a classificação é feita comparando-se aassinatura encontrada com as assinaturas de ataques conhecidos, por isso está técnicadepende de um conjunto predefinido de assinaturas de ataques, pois para realizar essacomparação é necessário conhecer e ter armazenados as assinaturas dos ataques. Portantose uma assinatura se comporta de uma maneira parecida com a assinatura presente emum ataque, é provável que a atividade que gerou a assinatura seja maliciosa e se apresenteilegal no sistema ou rede [8, 9, 10].

Um dos principais benefícios do uso da detecção de assinatura é que os ataquesconhecidos podem ser detectados de forma confiável, e dependendo do tipo do ataque,

29

apresentar uma baixa taxa de falsos positivos, menor do que a apresentada nos sistemasde detecção de intrusão baseados em Detecção por. Outro benefício é que o sistema dedetecção de assinaturas começa a proteger o computador ou a rede imediatamente apósa sua instalação [8, 9, 10].

Entretanto um dos maiores problemas dos sistemas de detecção por assinatura émanter armazenadas as informações das assinaturas que uma atividade intrusiva apre-senta, pois as assinaturas de ataques contem uma quantidade excessiva de informações, eestas informações precisam ser armazenados para que o sistema seja capaz de classificaras atividade. Outro aspecto negativo é que o sistema de detecção de assinaturas deve teruma assinatura definida para todos os possíveis ataques que um invasor pode lançar. Issorequer atualizações frequentes para manter atualizado o banco de dados de assinaturas[8, 9, 10].

2.2.2 Detecção por Anomalia

Em um sistema de detecção de intrusão baseado na Detecção por Anomalia o passoinicial é a criação de um perfil de comportamento normal do sistema, rede ou atividadede programa, o sistema ira criar um perfil de comportamento normal que representara anormalidade do sistema, rede ou programa, em outras palavras o sistema ira definir o queé o normal para o sistema, rede ou programa. E posteriormente as atividade que se apre-sentarem fora do perfil de comportamento encontrado, serão classificados como sendo umapossível atividade intrusiva [8, 9, 10]. As atividades intrusivas podem ser classificadas daseguinte maneira, dentro dos sistemas de detecção de intrusão, segundo Kumar e Stafford[16]. Os autores sugeriram que existem quatro possibilidades de atividades intrusivas:

∙ Intrusivo, mas não anômalo: são falsos negativos (false negatives). Um sistema dedetecção de intrusão, baseado em detecção de anomalias, não consegue detectaresse tipo de atividade, pois a atividade não é anômala. Estes são chamados de falsosnegativos porque o sistema de detecção de intrusão relata falsamente a ausência deintrusões.

∙ Não é intrusivo, mas anômalo: são falsos positivos (false positives). Em outraspalavras, a atividade não é intrusiva, mas, por ser anômala, um sistema de detecçãode intrusão o informa como intrusivo. Estes são chamados de falsos positivos porqueum sistema de detecção de intrusão falsamente reporta intrusões.

∙ Não é intrusivo e não anômalo: são verdadeiros negativos (true negatives). A ativi-dade não é intrusiva e não é relatada como intrusiva.

∙ Intrusivo e anômalo: são verdadeiros positivos (true positives) A atividade é intru-siva e é relatada como tal

30

Os sistemas de detecção de anomalia oferecem vários benefícios [8, 9, 10].

∙ Possuem a capacidade de detectar ataques insider, que é um ataque malicioso emuma rede ou sistema de computador por uma pessoa com acesso autorizado aosistema. Por exemplo, se um usuário ou alguém usando uma conta roubada começara executar ações que estão fora do perfil de usuário normal, um sistema de detecçãode anomalia gera um alarme.

∙ Como o sistema é baseado em perfis customizados, é muito difícil para um invasorsaber com certeza qual a atividade que pode realizar sem iniciar um alarme.

∙ Um sistema de detecção de anomalia tem a capacidade de detectar ataques previa-mente desconhecidos.

Entretanto os sistemas de detecção por anomalia também apresentam pontos ne-gativos [8, 9, 10].

∙ A primeira desvantagem óbvia é que o sistema deve passar por um percurso detreinamento em que os perfis de usuário apropriados são criados definindo perfisde tráfego "normais. Além disso, criar um perfil de tráfego normal é uma tarefadifícil, pois a criação de um perfil de tráfego normal inadequado pode levar a umdesempenho fraco. Como os sistemas de detecção de anomalia estão procurandoeventos anômalos em vez de ataques, eles são propensos a ser afetados pela altataxa de falsos alarmes. Os falsos alarmes são classificados como falsos positivos oufalsos negativos. Um falso positivo ocorre quando um sistema de detecção reportacomo uma intrusão um evento que, de fato, é uma atividade de rede legítima. Equando ocorre uma falha na detecção de um ataque, ou seja o sistema de detecçãonão classifica como intrusão um evento que de fato, é um ataque, denominando-secomo falso negativo.

∙ E existe uma armadilha nos sistemas de detecção de anomalia, que é um usuáriomal intencionado poder formar um sistema de detecção de anomalia que irá aceitarcomportamentos mal-intencionados como normais. Fazendo com que o sistema nãodetecte mais os ataques.

Na Figura 2 é possível observar que os sistemas de detecção de anomalias emredes podem ser classificadas de três maneiras diferente, análise de recursos das redes,modelo comportamental e análise de escala. A seguir, serão detalhados essas classificaçõese algumas das técnicas presentes dentro delas.

31

Figura 2 – Três critérios propostos para classificar métodos de detecção de anomalia emredes [2].

2.2.2.1 Análise de recursos de rede

Nos sistemas de detecção de anomalias é necessário fazer uma analise dos recursosda rede, para especificar quais serão os recursos utilizados para a construção do perfilde comportamento normal do sistema ou rede. Pois tanto nos sistemas quanto nas redes,vários recursos podem ser utilizados para a construção deste perfil, entretanto a utili-zação dos recursos corretos para a construção do perfil, pode fazer com que o sistemadesenvolvido se apresente mais eficiente [2, 17].

Os diferentes detectores de anomalias podem ser classificados de acordo com osrecursos que foram utilizados para a modelação e construção do perfil de comportamentonormal [2, 17].

O tráfego da rede tem sido o principal recurso relacionado as redes, a ser abordadopelos sistemas de detecção. Esses modelos obtêm o perfil de comportamento normal darede, através da análise do tráfego da rede, e podem ser divididos em dois grupos, deacordo com a forma com que o tráfego é analisado. As técnicas denominadas "Análise deFluxos"(Flow Analysis) caracterizam-se pelo estudo da evolução com o tempo de diversasmedidas relacionadas com os fluxos do tráfego [2, 17]. Exemplos típicos de análises emambientes TCP/IP são:.

∙ O número de bytes enviados e recebidos durante um intervalo de tempo.

32

∙ O número de pacotes IP/TCP/UDP/ICMP enviados e recebidos durante um inter-valo de tempo.

∙ O número de conexões iniciadas durante um intervalo de tempo.

No segundo grupo estão as técnicas de análise de protocolos (Protocol Analysis).Os protocolos são uma parte essencial das redes já que estão envolvidos em todas as trocasde informações dentro delas. Entretanto, eles apresentam um amplo uso em atividadesmaliciosas. Para a detecção de abusos de protocolo, como por exemplo, o uso de formaincorreta na utilização do protocolo, diversos modelos de análise podem ser utilizados. Asanálises de protocolos, pode ser classificadas de acordo com a camada que se é utilizadapara a modelação do perfil de comportamento normal da rede [2]:

∙ Enlace de Dados (Ethernet, Token Ring, etc.).

∙ Rede (IP na maioria dos casos).

∙ Controle de Transporte (TCP, UDP, RTP, ICMP, etc.).

∙ Aplicação (HTTP, DNS, Telnet, FTP, SSH, POP, SMTP, etc.).

2.2.2.2 Modelo comportamental

Um dos componentes essenciais de qualquer detector de anomalia é o modelo docomportamento normal do sistema que serve como padrão de correção, e para a verificaçãode anomalias na rede. No geral existem duas abordagens principais na construção dessesmodelos. Uma delas, se baseia na aplicação de técnicas de aprendizado de maquina, paraa obtenção automática do perfil de comportamento normal, analisando as atividades dosistema ou rede. E uma outra maneira, é o fornecimento manual, das especificações docomportamento normal do sistema ou rede. De qualquer forma, esse critérios são relaci-onados a construção do modelo de comportamento normal, e por isso, podem modelardiversos recursos presentes nas redes ou sistemas, como por exemplo, um protocolo derede, fluxos de tráfego ou qualquer outra característica relevante [2].

2.2.2.3 Análise de escala

Algumas anomalias geradas por ataques, só podem ser observadas em determi-nadas escalas, e por isso, a análise de escala em métodos de detecção de anomalias sãoimportantes. Por exemplo, o antigo ataque conhecido como ’land’ é caracterizado simples-mente por um pacote IP em que ambos os endereços de origem e de destino são iguais [18].Este ataque poderia ser detectado de maneira simples se fosse inspecionado cada pacoteseparadamente. Entretanto ataques do tipo DDoS requerem um tipo de mecanismo de

33

correlação ou agregação entre diferentes fontes e conexões, uma vez que a inspeção depacotes individuais não revela nenhum sinal de anomalia [2].

2.2.3 Métodos de detecção de Anomalias

Nesta secção serão apresentados alguns métodos e técnicas propostos para a de-tecção de anomalias

2.2.3.1 Detecção de anomalias com base na análise dos fluxos de tráfego

No gerenciamento de rede, o reconhecimento e a identificação de comportamentosanômalos em uma rede geralmente se baseiam nos estudos e na experiência, adquiridoscom a analise dos resultados do sistema analisado [2].

Atualmente, existem diversas ferramentas que auxiliam neste processo de iden-tificação e reconhecimento, mas em nenhuma delas, o fator humano é completamenteremovido. Segundo a definição proposta por Claffy [17], um dado de nível de fluxo IP éuma série unidirecional de pacotes IP de um determinado protocolo que viaja entre umafonte e um par IP / porta de destino dentro de um certo período de tempo. E com aspropriedades observadas nos fluxos do tráfego, é possível o desenvolvimento de um mé-todo para a detecção das anomalias presentes nele. Esta detecção é realizada, utilizandoa identificação de desvios estatísticos dos padrões de comportamento normais das ativi-dades. Uma vez que os fluxos são essencialmente séries temporais que exibem padrõesregulares, são aplicados métodos baseados em processos estocásticos e análise de sinaispara a sua caracterização e, portanto, detectar comportamentos anômalos. Esses métodosdemonstraram eficácia para identificar os ataques que geram anomalias nos padrões defluxos normais, por exemplo, à geração de uma quantidade incomum de pacotes [2].

2.2.3.2 Detecção de anomalias com base na análise do protocolo

Os protocolos de redes são uma das partes essenciais e fundamentais da rede porestarem envolvidos em todas as trocas de informações dentro dela. Com isso para queos dispositivos e seus aplicativos funcionem da maneira correta, é necessário que cadaprotocolo seja projetado e implementado para suportar as especificações do processo decomunicação entre eles (dispositivos e aplicativos). Entretanto as especificações dos proto-colos costumam sofrer quando aplicados em ambientes que permitem o uso de protocolos,de maneiras diferentes das quais eles foram pensados e projetadas, que é o caso das redesInternet.

Alguns desses usos diferentes dos protocolos, estão presentes nas comunicações deatividades maliciosas, como por exemplo, nas técnicas de coleta de informações e ataquesde negação de serviços. Portanto, o uso indevido dos protocolos é uma das característicasmais significativas em varias atividades maliciosas, e com isso, a sua detecção é muito

34

importante para os sistemas de detecção de anomalias que são baseados na análise deprotocolo [2, 19].

2.2.3.3 Detecção de anomalia estatística

Os métodos estatístico de detecção de anomalia, observam as atividades dos usuá-rios e gera perfis de comportamento para eles. Esses perfis normalmente apresentam me-didas, como a medida de intensidade de atividade, medidas categóricas (a distribuição deuma atividade sobre categorias) e medidas ordinais (como uso de CPU). Geralmente estessistemas mantém dois perfis para cada medida, o perfil atual e o perfil armazenado. E namedida em que os eventos do sistema e da rede (registros de log de auditoria, pacotes deentrada, etc.) vão sendo processados e analisados, o sistema de detecção irá atualizar operfil atual e irá calcular uma pontuação de anomalia, essa pontuação indica o grau deirregularidade para o evento específico, e comparando o perfil atual com o armazenado,utilizando uma função de anormalidade das medidas dentro do perfil. Se a pontuação deanomalia for superior a uma determinado limite, o sistema de detecção de intrusão irágerar um alerta [8].

2.2.3.4 Detecção de anomalia baseada em aprendizagem de máquinas

Uma das definições da aprendizagem de máquina é a capacidade de um programaou sistema de aprender por conta própria, e com isso, melhorar seu desempenho em umadeterminada tarefa ou em um determinado grupo de tarefas, ao longo do tempo. A apren-dizagem de maquina é uma das maneiras de se resolver os mesmos problemas que outrosmétodos resolvem, como por exemplo, estatísticas ou mineração de dados. Entretantodiferente da abordagem estatística, que se concentra no entendimento do processo quegerou os dados, a aprendizagem de máquina se concentra em construir um sistema quemelhore seu desempenho com base em resultados obtidos anteriormente [8].

Com isso, os sistemas baseados em aprendizagem de maquina têm a capacidade demudar a estrategia de detecção, conforme vai aprendendo, e coletando novas informaçõescom o tempo [8].

2.2.3.5 Detecção de anomalia baseada em mineração de dados

As técnicas de mineração de dados para a detecção de anomalias vem sendo cadavez mais utilizadas, para a eliminação dos elemento manuais no processo de construçãode um sistema de detecção de intrusão [20]. Segundo Grossman [21] a mineração dedados pode ser definida como sendo uma técnica para descobrir padrões, associações,mudanças, anomalias, estruturas e eventos estatísticos que sejam significativos dentro dosdados de entrada. Com isso, a utilização da mineração de dados permite encontrar padrõese desvios de uma entrada de dados que seriam muito difíceis de serem observados a olho

35

nu. Portanto, a mineração de dados pode ser útil na parte de detecção de intrusão seaumentado o foco para a detecção de anomalias, já que a mineração de dados é capaz deencontrar desvios presentes dentro dos dados de entrada. Ao identificar o comportamento"normal"de uma rede, a mineração de dados irá ajudar na capacidade de distinguir asatividades anômalas presentes em um ataque na rede [8].

2.3 Trabalhos Relacionados

Esta secção será destinada, aos trabalhos recentes que utilizam a detecção deintrusão dentro das redes SCADA.

Em seu trabalho Vasquez, Miani e Zarpelão [22], propõem um sistema de detecçãode intrusão para redes SCADA que utiliza a aplicação de algoritmos de aprendizado demáquina (ML) para a sua construção. Segundo os autores foi estudado o desempenho denove algoritmos de aprendizado de máquina diferentes para a classificação dos fluxos IPde uma rede SCADA. Os autores citam que nos experimentos, três algoritmos baseadosem arvores de decisão se mostraram superiores aos demais e em especifico o algoritmoDecision Jungle superou os demais.

Junejo e Goh [23], em seu trabalho propõem um sistema de detecção de intrusãobaseado na detecção por anomalias, para detectar possíveis ataques dentro de um sistemade tratamento de água chamado de SWaT (Secure Water Treatment). Esse sistema detratamento utiliza uma rede SCADA para fazer a comunicação entre seus equipamentos.Junejo e Goh em seu sistema, utilizaram um algoritmo baseado no aprendizado de má-quina (machine learning) para a classificação de atividades maliciosas. Os autores citamque seu método não só detecta a ocorrência de um ataque na camada de processo físico,mas também identifica o tipo específico do ataque e tem como resultado uma baixa taxade falsos positivos, mas apresenta uma alta taxa de precisão.

Em seu trabalho Linda, Vollmer e Manic [24], propõem um sistema de detecção deintrusão com a modelagem baseada em redes neurais (neural network). Foram utilizadosdois algoritmos de redes neurais para a análise do trafego da rede SCADA, o primeirosendo o Error-back-propagation e o segundo o Levenberg-Marquardt. Os autores citamque, este trabalho traz como principais contribuições, o uso e análise de dados de rede reais(dados registrados a partir de uma infraestrutura crítica existente), o desenvolvimento deuma técnica de extração de característica baseada em janela específica, a construção doconjunto de dados de treinamento usando vetores de intrusão gerados aleatoriamente eo uso de uma combinação de dois algoritmos de aprendizagem de redes neurais, paramodelagem do comportamento normal da rede SCADA. E como resultado, segundo osautores, o algoritmo provou ser capaz de classificar como anômalo todas as tentativas deintrusões presentas na rede, e sem gerar alertas falsos, ou seja, os falsos positivos.

36

Yusheng [25] em seu artigo propõem um abordagem que é projetada para realizaruma inspeção profunda e em tempo real para o trafego Modbus TCP, este que é o protocoloutilizado dentro das redes SCADA, este método se chama SD-IDS (Stereo Depth IDS).Segundo os autores o algoritmo SD-IDS é composto por duas partes. A primeira é aextração de regras, onde o módulo de extração das regras não fara só uma análise dascaracterísticas do tráfego Modbus TCP, mas também irá explorar a relação semânticaentre os campos chaves no protocolo Modbus TCP. A segunda parte é a inspeção profunda,onde o modulo de inspeção profunda é baseado em detecção de invasão de anomaliasbaseados em regras. Os autores também utilizam testes on-line para avaliar o desempenhodo sistema SD-IDS. O sistema conseguiu obter uma baixa taxa de falsos positivos e defalsos negativos.

Em seu trabalho Barbosa [26] propões um sistema chamado PeriodAnalyzer quefará uma abordagem que utiliza inspeção de pacotes das redes SCADA para identificarautomaticamente diferentes mensagens e a frequência em que elas são emitidas. SegundoBarbosa, depois que esse comportamento normal é aprendido, o PeriodAnalyzer poderáser usado para detectar injeção de dados e ataques de Negação de Serviço nas redesSCADA. O autor também propõem uma outra abordagem para a detecção de intrusãonas redes SCADA, essa abordagem explora a matriz de conexão estável do tráfego da redeSCADA. Segundo o autor é feito uma investigação no uso de listas brancas no nível defluxo da rede, para mostrar que as listas brancas de fluxo têm um tamanho gerenciável,e que considerando o número de hosts na rede é possível superar as principais fontes deinstabilidade nas listas brancas.

Outro método utilizado por Barbosa [27], propõem um sistema de detecção deanomalias dentro das redes SCADA, onde o sistema se baseia na análise dos fluxos detráfego para o seu treinamento, onde os fluxos são armazenados como séries temporaispara cada intervalo fixo P, e o número de pacotes pertencentes a um fluxo específico éarmazenado para depois ser definido a frequência da amostragem SF como SF = 1 / P.E segundo o autor, com esses dados sobre o fluxo do tráfego é possível de se detectaranomalias presentes na rede SCADA.

37

3 METODOLOGIA

Neste capítulo será explicado detalhadamente o método que será utilizado duranteo desenvolvimento deste trabalho. O objetivo é definir os passos do método que seráaplicado.

3.1 PHAD: Packet Header Anomaly Detection

Mahoney e Chan [11, 28], propõem um sistema de detecção de intrusão baseadona detecção por anomalia, onde o sistema analisa os dados presentes nos cabeçalhos dospacotes para a aquisição das informações para que posteriormente seja possível de sedetectar anomalias presentes na rede.

Um pré-requisito para a parte de treinamento do sistema proposto por Mahoneye Chan [11, 28] , é a necessidade de que os dados da rede utilizados para o treinamentodo sistema, sejam "limpos", ou seja, não podem apresentar nenhum tipo de ataque, poissenão o sistema terá em sua base de dados os valores presentes de um ataque, e destamaneira o ataque se tornara uma atividade normal da rede e não irá ser considerado comoanômala se ocorrer novamente na fase de detecção do sistema.

Com os dados "limpos"da rede, o sistema iniciará a sua fase de treinamento onde,para cada campo do cabeçalho dos pacotes, fará uma análise dos valores contidos neles,para definir os valores de n, de r, de t, e definir uma base com os valores observados[11, 28].

O n é a quantidade de vezes que um determinado campo do cabeçalho apresen-tou um valor, é armazenado um n para cada campo do cabeçalho, pois cada campo docabeçalho pode apresentar uma quantidade diferente de vezes que apresentou um valor.Como por exemplo, os pacotes que apresentam uma transmissão de dados via TCP, nãoirão apresentar dados nos campos referentes ao UDP, portanto se forem analisados maispacotes via TCP do que UDP, os valores de n referentes aos campos TCP serão maioresdo que os valores de n referentes ao UDP.

E o r é a quantidade de valores distintos que um determinado campo do cabeçalhoapresentou, portanto, cada campo do cabeçalho terá o seu próprio r, assim como cadacampo do cabeçalho apresentara seu próprio n [11, 28].

Com os campos n, e r definidos, é possível fazer o cálculo estimado, da probabi-lidade que um determinado campo observado seja anômalo ou não. Esta probabilidade édescoberta através da seguinte formula:

38

p=r/n

A base com os valores observados, é uma base com todos os valores diferentes queforam encontrados, para cada um dos campos do cabeçalho, durante a fase de treinamento,portanto todas as vezes em que um novo valor é encontrado, este valor é adicionado aessa base que contém os outros valores diferentes que foram analisados [11, 28].

O valor de t representa a quanto tempo uma anomalia ocorreu em um determinadocampo, em outras palavras é a diferença do tempo atual com o tempo da última anomaliano campo. Portanto, durante a fase de treinamento o sistema irá atualizar o t do campo,todas as vezes que um novo valor for analisado, consequentemente, todas as vezes queum novo valor for encontrado em um determinado campo, seu t referente a este camposerá atualizado e este novo valore será adicionado a base de valores observados, como foicitado anteriormente [11, 28].

É importante ressaltar, que cada um dos campos terá a sua própria base de valores,e seu próprio t, n e r.

Mahoney e Chan [11, 28] também citam que para uma simplificação e melhoria naimplementação do armazenamento da base com os valores diferentes, os campos que seapresentam maiores do que 4 bytes são divididos em campos menores, como por exemplo,o campo de endereço Ethernet possui 6 bytes, portanto o campo será dividido em doiscampos de 3 bytes cada. E para o armazenamento dos campos com 4 bytes, será utilizadouma lista de intervalos ou clusters, pois não é prático armazenar até 232 possíveis númerosdiferentes. A lista ou cluster funciona da seguinte maneira, é definido o valor de limiteC, que no sistema proposto por Mahoney e Chan é 32, e caso a quantidade de valoresarmazenados ultrapasse este C, o sistema irá encontrar os dois intervalos mais próximos,e estes dois intervalos serão fundidos. Por exemplo, se tivermos o conjunto 1, 3-5, 8, entãoa união dos dois clusters mais próximos irá produzir 1-5, 8.

Com os valores de t, n e r, e a base de valores diferentes fixados. É possível partirpara a parte de detecção do sistema. Durante a fase de detecção, irá ser analisados todos oscampos do cabeçalho dos pacotes, e para cada campo irá ser analisado se o valor presenteno campo existe dentro de sua respectiva base de valores, caso o valor não esteja dentroda base, o campo se apresenta anômalo, portanto será calculado uma pontuação para ocampo (scorefield), esse cálculo é dado pela seguinte formula [11, 28]:

scorefield=t/p

lembrando-se de que p é r/n, portanto:

scorefield=t*n/r

39

Entretanto diferentemente da parte de treinamento do sistema, esses novos valoresnão serão adicionados à base de valores, apenas o valor de t será atualizado. Os valoresde n e r, também não mudam após a fase de treinamento.

A ideia por trás desta conta é que, um evento que ocorra raramente, ou seja, possuium t elevado e um p pequeno, deve receber uma pontuação de anomalia elevada.

Após encontrado e calculado as pontuações dos campos (scorefield) que se apresen-taram anômalos os valores de cada um desses campos é somada para obter a pontuaçãodo pacote (scorepacket) [11, 28]. E com esta pontuação do pacote, é possível de se verificarse o pacote se apresenta anômalo ou não.

E segundo Mahoney e Chan [11, 28], assumindo um modelo não estacionário emque o melhor preditor de eventos futuros é o tempo desde o último evento anômalo, osautores afirmam que este fato explica o fator t, pois como o t aumenta, a probabilidadedo evento cai e então a pontuação da anomalia aumenta. E para ataques (ou eventosbenignos) consistindo em muitos pacotes anômalos durante um curto período de tempo,não precisamos inundar o usuário com alarmes após a primeira detecção. Entretanto, serávisto na secção de resultados, que o fato de ele não inundar o usuário com estes alarmes,faz com que alguns dos resultados não se apresentem satisfatórios.

3.2 PHAD: Packet Header Anomaly Detection aplicado para arede SCADA

Esta secção será destinada para a explicação do porque a escolha do método deMahoney, e como foi implementado o seu método para posteriormente ser testado com odataset fornecido por Lemay e Fernandez [29].

O método de Mahoney e Chan foi o escolhido para a implementação, pois comoas redes SCADA possuem uma "aleatoriedade"menor por serem uma rede mais compacta,e com isso, a variância de valores que os pacotes da rede SCADA podem apresentar, émenor se comparado com a rede Internet. O fato do método de Mahoney e Chan analisare armazenar os valores presentes nos campos do cabeçalho dos pacotes e através delesclassificar o pacote como sendo anômalo ou não, demonstra ser um método eficiente paraa detecção de atividades maliciosas presentes nas redes SCADA.

Assim como no método original, a primeira parte do sistema, é a fase de treina-mento do sistema, que ocorre analisando os valores presentes dentro dos cabeçalhos dospacotes. Entretanto diferentemente do sistema de Mahoney e Chan [11, 28], que analisava

40

33 campos do cabeçalho dos pacotes, a quantidade de campos do cabeçalho que são ana-lisados pelo sistema de detecção de anomalias em redes SCADA são diferentes. O motivo,é que pôr a rede ser SCADA, ela utiliza uma comunicação via Modbus/TCP, e com isso,a quantidade de campos do cabeçalho difere da quantidade presente no cabeçalho dospacotes de uma rede Internet.

No total foram analisados 14 campos presentes nos cabeçalhos dos pacotes, essesque foram os campos apresentados pelo dataset de Lemay e Fernandez [29], estes 14campos são:

∙ Protocolo IP.

∙ Comprimento do Pacote.

∙ IP de origem.

∙ IP de destino.

∙ Comprimento do IP.

∙ Comprimento dos dados.

∙ Comprimento do cabeçalho do TCP.

∙ Comprimento do TCP.

∙ Porta TCP de origem.

∙ Porta TCP de destino.

∙ Comprimento do UDP.

∙ Porta UDP de origem.

∙ Porta UDP de destino.

∙ Tempo do Pacote.

Na fase de treinamento o sistema irá analisar os dados que estão presentes nocabeçalho do pacote e irá armazená-los dentro de uma lista os diferentes valores que umdeterminado campo apresentou. Respeitando o limite de C, que neste caso é 32, para oscampos que apresentam 4 bytes, assim como no método original proposto por Mahoneye Chan [11, 28].

Estas listas que contém os valores diferentes de cada campo do cabeçalho, ou seja,ela não possui valores repetidos, irá servir como a base de valores observados. E tambémservirá para a obtenção do valor de r, pois o comprimento da lista será a quantidade de

41

valores diferentes analisados pelo sistema no campo em que a lista representa, que é adefinição do r.

Os valores de n foram armazenados em variáveis convencionais, e a cada pacoteanalisado, os campos vão sendo verificados, para não serem contados os campos que nãoapresentaram valores.

Os valores de t também foram armazenados em variáveis comuns, e assim comono método original, todas as vezes que um campo apresenta um novo valor, o t, referentea esse campo, é atualizado com o valor do tempo presente no pacote do campo queapresentou um novo valor. Desta forma na parte de detecção do sistema, para descobrir oquanto tempo a última anomalia ocorreu no campo, basta subtrair o valor de t do valorde tempo do pacote que está sendo analisado.

Alguns campos específicos foram armazenados de uma forma diferente, para faci-litar a parte de detecção do sistema. Que é o caso dos endereços IP, tanto o IP de origemquanto o de destino. A maneira que foi utilizada para armazenar estes dois campos do ca-beçalho foi, a transformação dos números divididos pelos pontos em bits, para que dessaforma eles possam ser concatenados, formando assim um único valor. Exemplo, caso oIP de origem seja "192.168.1.99", o endereço será quebrado pelos pontos, ou seja, teremosquatro valores diferentes o "192", "168", "1"e o "99", cada um destes números será transfor-mado em bits e então concatenados na mesma ordem em um único conjunto de bits, paradepois ser transformado em decimal novamente, e desta forma obter e armazenar o valor.Portanto o endereço de exemplo ficara da seguinte forma, o "192"é igual a "11000000", o"168"é "10101000", o "1"é "1"e o "99"é "1100011", desta forma obtemos o seguinte númeroem binário ou bits, "110000001010100011100011", este que é igual a "12626147"em deci-mal, portanto o número "12626147"será armazenado pelo sistema. Os outros campos nãoprecisaram sofrer nenhum tipo de alteração, pois os valores contidos dentro deles já seapresentavam na forma numérica.

Após a fase de treinamento, começa a parte de detecção, onde o sistema irá anali-sar os dados presentes nos cabeçalhos dos pacotes, e caso um novo valor apareça em umcampo do cabeçalho, o sistema irá considerar o campo como sendo anômalo e calculara apontuação para este campo (scorefield). Vale citar, que um pacote pode conter vários cam-pos anômalos e pode conter também, nenhum campo anômalo, portanto após encontrare calcular as pontuações de todos os campos que se apresentaram anômalos, o sistema irásomar essas pontuações para obter a pontuação do pacote (scorepacket). Com a pontuaçãodo pacote (scorepacket) calculada, o sistema será capaz de classificar o pacote como sendoanômalo ou não.

43

4 RESULTADO E DISCUSSÃO

Neste capítulo serão apresentados e discutidos os resultados obtidos através daaplicação do método proposto por Mahoney [11, 28].

4.1 Informações sobre os experimentos

Toda a parte de treinamento, e posteriormente a parte de detecção, ocorreu baseando-se no dataset proposto por Lemay e Fernandez [29]. Seu dataset possui arquivos que nãocontem ataques, portanto estes foram utilizado na parte de treinamento do sistema, e pos-teriormente, os arquivos que apresentaram ataques foram utilizados na parte de detecçãodo sistema, e seus resultados foram comparados com os arquivos que contém as respostasdos pacotes em que ocorreram os ataques. Isto é possível pois pelo dataset ser controlado,o autor disponibiliza um arquivo que contém o número do pacote, e se ocorreu um ataqueou não, onde a ocorrência de ataque dentro do pacote é representada por 1 e a ausênciade ataque é representada por 0.

Após a detecção o sistema implementado gera, alguns documentos para posterior-mente serem analisados, e desta maneira determinar o resultado obtido pelo sistema. Osarquivos gerados são três, onde um deles irá apresentar um resultado para cada pacote,variando entre 1 e 0, assim como no arquivo que contém as respostas. O outro arquivogerado, contém a pontuação atribuída para cada pacote durante a fase de detecção e oúltimo é um complemento do arquivo que contém as pontuações dos pacotes, pois ele iráapresentar quais campos se mostraram anômalos dentro de cada pacote. E para a geraçãodos arquivos citados acima foi utilizado um limiar de 500 para todos os testes, o limiarserve para o ajuste da detecção, ou seja, quanto maior o limiar, menor o número de alertasde anomalias, e quanto menor o limiar, maior o número de anomalias.

Dentro do sistema alguns nomes diferentes foram utilizados nos campos presentesno cabeçalho dos pacotes, estes nomes podem ser esclarecidos na Tabela 1. Essa tabelairá auxiliar o entendimento das tabelas que serão apresentadas, principalmente as tabelasque irão explicar os ataques que o sistema conseguiu detectar.

4.1.1 Experimento 1 : arquivo Run1 3RTU 2s

Neste primeiro experimento foi utilizado um dos arquivos presentes no datasetdo Lemay e Fernandez [29]. Este arquivo é referente a parte de treinamento do sistema,por não apresentar nenhum ataque. O arquivo apresenta os dados de uma simulação deuma rede SCADA, contendo, 2 MTUs que são as Estações Centrais e 3 RTUs que são asestações remotas, e possui um intervalo de 2 segundos de polling, este que é o tempo em

44

Tabela 1 – Tabela com os nomes utilizadosAbreviação utilizada pelo

Sistema Nome do campo

ip.proto Protocolo IPframe.len Comprimento de Frame

ip.src IP de origemip.dst IP de destinoip.leng Comprimento do IP

data.len Comprimento dos dados

tcp.headerleng Comprimento do cabeçalhoTCP

tcp.len Comprimento do TCPtcp.srcport Porta de origem do TCPtcp.dstport Porta de destino do TCPudp.length Comprimento do UDPudp.srcport Porta de origem do UDPudp.dstport Porta de origem do UDP

que as estações centrais requisitam dados das estações remotas, portanto a cada 2 segundoas MTUs enviam uma requisição de dados para as RTUs, essas que irão responder comos dados requisitados.

Após o treinamento desta rede os valores que foram encontrados com os camposdo cabeçalho podem ser vistos na Tabela 2. E além destes dados, os valores que foramanalisados também foram armazenados, para serem utilizados como base de dados naparte de detecção do sistema.

Tabela 2 – Run1 3RTU 2sQuantidade de Pacotes

nQuantidade de Valores Distintos

rIP de Origem 302188 14Protocolo IP 302188 2

Comprimento do Frame 305932 40IP de Destino 302188 17

Comprimento IP 302188 38Comprimento do cabeçalho TCP 302048 5

Comprimento TCP 302048 32TCP de Origem 302048 4538TCP de Destino 302048 4538

Comprimento dos dados 0 0Comprimento do UDP 200 6Porta UDP de origem 200 12Porta UDP de destino 200 7

45

4.1.1.1 Detectando Anomalias

Nesta secção serão demonstradas alguns dos resultados obtidos com o sistema, eos arquivos que apresentaram ataques no dataset proposto por Lemay.

4.1.1.1.1 Upload de um executável

O primeiro arquivo analisado, possui um ataque do tipo upload de um arquivo dotipo executável dentro da rede. Analisando os arquivos gerados pelo sistema e os arquivosdisponibilizados com o resultado de cada pacote, foi possível manualmente verificar ospacotes que apresentaram ataques, e o resultado obtido pelo sistema no mesmo pacote.Chegando-se a conclusão de que o sistema foi capaz de detectar o ataque, entretantoalguns problemas foram analisados e serão explicados a seguir.

Tabela 3 – Tabela comparando os resultados

Número do pacote Arquivo com osresultados

Análise do sistemadesenvolvido

Campos que apresentaramanomalias

810 0 0 frame.len, ip.leng, tcp.headerleng811 1 1 ip.proto, frame.len, ip.leng,

udp.len, udp.srcport812 1 1 ip.src, ip.proto, frame.len, ip.leng,

udp.len, udp.srcport813 1 1 ip.dest, frame.len, ip.leng,

tcp.headerleng814 1 0 ip.src, frame.len, ip.leng,

tcp.headerleng815 1 1 ip.dest, tcp.headerleng, tcp.len816 1 0 ip.src, frame.len, ip.leng,

tcp.headerleng, tcp.len,817 1 0 ip.dest, frame.len, ip.leng,

tcp.headerleng, tcp.len818 1 0 ip.src, tcp.headerleng, tcp.len819 1 0 ip.dest, frame.len, ip.leng,

tcp.headerleng, tcp.len820 1 0 ip.src, ip.leng, tcp.headerleng,

tcp.len

Os ataques presentes dentro deste arquivo foram todos possíveis de serem detec-tados como pode ser visto no exemplo da Tabela 3, entretanto não foi colocado todos ospacotes que apresentam ataque, pois senão a tabela ficaria muito grande e assim atrapa-lharia a análise de seu conteúdo.

Como pode ser observado o ataque começa no pacote de valor 811, e assim que osistema analisou este pacote é possível observar que ele foi capaz de detectar o ataque,entretanto o sistema para de analisar como ataque alguns pacotes subsequentes, isso se

46

dá, por causa do t, que é o tempo desde que a última anomalia ocorreu no determinadocampo, pois como pode ser observado na coluna que apresenta os campos do cabeçalhoem que ocorreu uma anomalia, nota-se que os campos que são anômalos e apresentaramrepetições dentro do ataque param de ser considerados como anômalos. Como exemplo,no pacote 815 nota-se uma anomalia nos campos de IP de dest (ip.src), comprimento docabeçalho TCP (tcp.headerleng), e no comprimento do TCP (tcp.len), e como pode serobservado no pacote 817 os mesmos campos apresentaram uma anomalia, e os camposdiferentes se mostraram anômalos no pacote 816, entretanto na análise do sistema não foidetectado o pacote 817 com sendo anômalo, e consequentemente não gerando um alertasobre esta pacote, isso se dá pelo fato de que o t é muito pequeno para os campos que eramanômalos, ou seja, se a pontuação (score field) daquele campo for calculado, o resultadoserá muito menor do que o calculado anteriormente, no pacote 815, que apresentou um tgrande no campo de comprimento do TCP (tcp.len). Isso acontece pois o t é o principalinfluenciador para a decisão do sistema. Isto é feito de proposito pois segundo Mahoney[11, 28], "Para ataques (ou eventos benignos) consistindo em muitos pacotes anômalosdurante um curto período de tempo, não precisamos inundar o usuário com alarmesapós a primeira detecção (For attacks (or benign events) consisting of many anomalouspackets during a short period of time, we do not need to flood the user with alarms afterthe first detection).", isso quer dizer que quando ocorre um ataque, que possui muitospacotes seguidos, não a necessidade de se detectar como anômalo todos os pacotes quefazem parte do ataque, para que desta forma não ocorra uma quantidade de alertas muitogrande para o usuário.

Além disso, outros fatores que influenciam, são o n e o r pois quanto maior foro n, que é a quantidade de vezes que um campo foi analisado, e menor for o r, que é aquantidade de valores distintos que um determinado campo apresentou, o valor resultanteda pontuação do campo, que é dada por score field= t*n/r, sofrera uma grande diferençamesmo com os valores de t sendo baixos, como por exemplo o campo de comprimento docabeçalho TCP, que possui um n alto e um r baixo.

Entretanto, o fato de ele não classificar todos os pacotes que representam um ata-que, como sendo pacotes maliciosos, atinge negativamente algumas estatísticas e gráficospara o calculo de seu desempenho. Embora, que para todos os seus teste ele tenha con-seguido detectar os primeiros pacotes que estão relacionados com o ataque, ou seja, osistema está detectando os ataques, como sendo anômalos, mas ele não classifica todos ospacotes do ataque como sendo malicioso. Uma das tabelas que geram um resultado nãosatisfatório é a matriz de confusão, onde está irá demonstrar os falsos positivos, falsosnegativos , verdadeiros positivos e verdadeiros negativos. Esta tabela pode ser observadana Tabela 4.

Onde os falsos positivos são representados pela linha 1 e coluna 0, ou seja, a

47

Tabela 4 – Matriz de Confusão

Resultados CorretosDetecção

doSistema

0 1

0 1274 881 33 33

quantidade de falsos positivos é 33, os falsos negativos são representados pela linha 0 ecoluna 1, os verdadeiros positivos, são a linha 1 e coluna 1 e os verdadeiros negativos sãodados pela linha 0 e coluna 0.

Esse resultado negativo da matriz de confusão se reflete no gráfico que representaa curva ROC (Receiver operating characteristic), que também ficou comprometido pelofato sistema não classificar todos os pacotes de um ataque como sendo anômalos. A curvaROC, é uma representação gráfica, que ilustra a capacidade de diagnóstico de um sistemaclassificador binário à medida que o seu limiar é variado. Para a geração dos gráficos coma curva ROC, foi utilizada uma variação de um em um, começando em 1 e terminandoem 1000, portanto são 1000 limiares diferentes.

Figura 3 – Curva ROC.

Observando o gráfico temos no eixo x o FPR e no eixo y o TPR. O FPR (falsepositive rate) é o cálculo dado por:

FPR = FP/FP + TN

onde FP (false positive) é a quantidade de falsos posisitivos e o TN (true negative) é aquantidade de verdadeiros negativos. E o TPR (true positive rate) é dado por:

48

TPR = TP/TP + FN

onde TP (true positive) é a quantidade de verdadeiros positivos e o FN (false negative) éaquantidade de falsos negativos.

E analisando este gráfico fica claro o impacto negativo que tem o fato do sistemanão classificar como anômalo todos os pacotes de um ataque, pois na curva ROC osmelhores limiares, e com isso, a melhor detecção, são os valores que estão na parte superiore à esquerda do gráfico, isso quer dizer que ele possui uma taxa de verdadeiros positivosalta e uma taxa de falsos positivos baixa. Entretanto como pode ser analisado, o gráficogerado apresentou uma baixa taxa FPR, mas também apresentou uma baixa taxa deTPR, que faz com que seu desempenho, não seja bom.

4.1.1.1.2 Movendo arquivos

O segundo arquivo analisado, possui um ataque do tipo, movimentação de arquivosdentro da rede SCADA. Assim como no arquivo de ataque anterior, o sistema foi capazde detectar os ataques presentes dentro deste arquivo. E analisando os arquivos geradospelo sistema e os arquivos disponibilizados, foi possível manualmente verificar os pacotesque apresentaram ataques, e o resultado obtido pelo sistema.

Tabela 5 – Tabela comparando resultados para o ataque de movimentação de arquivos

Número do pacote Arquivo com osresultados

Análise do sistemadesenvolvido

Campos que apresentaramanomalias

324 0 0 ip.dest, frame.len, ip.leng,tcp.headerleng,

325 1 1 ip.dest, frame.len, ip.leng,tcp.headerleng, tcp.len,

326 1 1 ip.src, frame.len, ip.leng,tcp.headerleng, tcp.len,

327 1 1 ip.dest, frame.len, ip.leng,tcp.headerleng,

328 1 1 ip.src, tcp.headerleng, tcp.len,329 1 1 ip.proto, frame.len, ip.leng330 1 1 ip.dest, frame.len, ip.leng,

tcp.headerleng331 1 1 ip.src, ip.proto, frame.len, ip.leng332 1 0 ip.dest, ip.proto, frame.len,

ip.leng333 1 0 ip.src, frame.len, ip.leng,

tcp.headerleng334 1 0 ip.dest, frame.len, ip.leng,

tcp.headerleng

49

E assim como no arquivo explicado na subsecção anterior, todos os ataques pre-sentes dentro deste arquivo foram possíveis de serem detectados como pode ser visto noexemplo da Tabela 5. Entretanto os mesmos motivos mencionados anteriormente fizeramcomo que os resultados não fossem bons, como pode ser visto na matriz de confusão eno gráfico da curva ROC. Na matriz de confusão fica bem nítido a quantidade de falsospositivos, e a quantidade de verdadeiros positivos, que o sistema obteve com este arquivo.

Tabela 6 – Matriz de confusãoResultados Corretos

Detecção doSistema 0 1

0 3170 331 73 42

E no gráfico é possível observar, que embora os resultados sejam melhores do que oobservado anteriormente, ainda se apresentam ruins. O TPR se apresenta alta, entretantoela se apresenta alta em um ponto que o FPR também se apresenta alto, fazendo com queos resultados fiquem ruins. O ideal seria que um dos pontos, tivesse um alto TPR mascom um baixo FPR. E isto ocorre, como visto anteriormente, pois o sistema não detectatodos os pacotes de um ataque como sendo anômalos, e com isso, o TPR se apresentabaixo no gráfico da curva ROC.

Figura 4 – Curva ROC.

Está é outra prova que embora o sistema esteja conseguindo detectar os ataques,o fato dele não classificar todos os ataques presentes como sendo anômalos, faz com queos resultados gerados pela matriz de confusão e pelo gráfico da curva ROC não sejamsatisfatórios.

50

4.1.1.1.3 Envio de comando

O terceiro teste, utilizou um arquivo que continham um ataque de envio de umcomando falso dentro da rede SCADA. E assim como nos arquivos anteriores, a Tabela 7,irá apresentar os resultados obtidos com o sistema desenvolvido, as respostas, e os camposdo cabeçalho que se apresentaram anômalos. Entretanto este arquivo possui apenas umasequencia de ataque, que faz ser possível a analise de todos os pacotes que são, referentesaos pacotes de ataque, que começam no pacote 4782 e terminando no pacote 4791.

Tabela 7 – Tabela comparando os resultados, para o ataque de envio de comando.

Número do pacote Arquivo com osresultados

Análise do sistemadesenvolvido

Campos que apresentaramanomalias

4781 0 0 frame.len4782 1 1 frame.len, ip.leng, tcp.headerleng4783 1 0 frame.len, ip.leng, tcp.headerleng4784 1 0 frame.len, ip.leng, tcp.headerleng4785 1 1 frame.len, ip.leng, tcp.headerleng,

tcp.len4786 1 0 frame.len, ip.leng, tcp.headerleng,

tcp.len4787 1 0 frame.len, ip.leng, tcp.headerleng4788 1 0 frame.len, ip.leng, tcp.headerleng4789 1 0 frame.len, ip.leng, tcp.headerleng4790 1 0 frame.len, ip.leng, tcp.headerleng4791 1 0 frame.len, ip.leng, tcp.headerleng

Na tabela 7, pode ser observado o impacto da variável t, e como explicado an-teriormente, o porque do t, fazer com que nem todos os pacotes que são ataques sejaclassificados como anômalos. É interessante notar também que embora o sistema não façaessa classificação para todos os pacotes de ataque, como sendo anômalos, o sistema foicapaz de detectar o ataque, já que ele gerou um alerta para o primeiro pacote do ataqueque ocorreu.

E com esses resultados, foi gerada a matriz de confusão e o gráfico com a curvaROC.

Tabela 8 – Matriz de confusãoResultados Corretos

Detecção doSistema 0 1

0 10859 81 296 2

E assim como os outros resultados, o sistema não obteve um bom desempenho,como pode ser visto na matriz de confusão e no gráfico da curva ROC. O gráfico gerado

51

da curva ROC se apresenta diferente dos outros dois exibidos anteriormente, isso se dapelo fato de haver poucos pacotes de ataque, desta forma o limiares com uma pequenadiferença de valor, parecem obter um resultado muito semelhante, este é o motivo para ográfico parecer crescer como um "escada".

Figura 5 – Curva ROC.

E como pode ser notado no gráfico, os resultados ficaram bem ruins para estearquivo, pois o TPR é muito pequeno nos pontos em que o FPR também é pequeno, esão grandes nos pontos em que o FPR também é grande.

4.1.2 Experimento 2: arquivo Run1 12RTU

Neste experimento foi utilizado um arquivos que contém a simulação de uma redeSCADA, contendo, 2 MTUs que são as Estações Centrais e 12 RTUs que são as estaçõesremotas, e possui um intervalo de 10 segundos de polling. Este arquivo apresenta umaquantidade menor de pacotes, para serem analisado, isso acontece pois o intervalo depolling deste arquivo é maior do que o anterior, embora este arquivo apresente os dadosde uma simulação com 12 RTUs.

E após o treinamento, os seguintes valores foram encontrados para os campos docabeçalho:

52

Tabela 9 – Run 12rtuQuantidade de Pacotes

nQuantidade de Valores Distintos

rIP de Origem 234207 23Protocolo IP 234207 3

Comprimento do Frame 238360 47IP de Destino 234207 27

Comprimento IP 234207 45Comprimento do cabeçalho TCP 234001 5

Comprimento TCP 234001 38TCP de Origem 234001 4553TCP de Destino 234001 4553

Comprimento dos Dados 0 0Comprimento do UDP 268 10Porta UDP de Origem 268 17Porta UDP de Destino 268 8

4.1.2.1 Detectando Anomalias

Nesta secção serão demonstradas alguns dos resultados obtidos com o sistema,utilizado o arquivo Run1 12RTU na fase de treinamento do sistema e os arquivos queapresentaram ataques no dataset proposto por Lemay.

4.1.2.1.1 Upload de um executável

O primeiro arquivo analisado, possui um ataque do tipo upload de um arquivo dotipo executável dentro da rede.

Se essa tabela for analisada fica bem claro o efeito de t nos resultados do sistema.O sistema se mostrou capaz de detectar o ataque como sendo uma anomalia, pois seanalisado, o ataque começa no pacote 811 e no exato pacote o sistema foi capaz declassificá-lo como sendo anômalo. Entretanto ele para de classificar o restante do pacotesdo ataque como sendo anômalos, isso ocorre pois se analisado os campos do cabeçalhoque se apresentaram anômalos, a partir do momento em que ocorre um repetição nessescampos o sistema para de classificar os pacotes que apresentaram a repetição como sendoanômalos.

A seguir irão ser mostrados a matriz de confusão e a curva ROC, que este arquivoapresentou.

53

Tabela 10 – Tabela comparando os resultados, para o ataque de envio de arquivo execu-tável.

Número do pacote Arquivo com osresultados

Análise do sistemadesenvolvido

Campos que apresentaramanomalias

810 0 0 frame.len, ip.leng, tcp.headerleng811 1 1 ip.proto, frame.len, ip.leng,

udp.len,812 1 0 ip.proto, frame.len, ip.leng,

udp.len,813 1 1 frame.len, ip.leng, tcp.headerleng,814 1 0 frame.len, ip.leng, tcp.headerleng,815 1 1 tcp.headerleng, tcp.len,816 1 0 frame.len, ip.leng, tcp.headerleng,

tcp.len,817 1 0 frame.len, ip.leng, tcp.headerleng,

tcp.len,818 1 0 tcp.headerleng, tcp.len,819 1 0 frame.len, ip.leng, tcp.headerleng,

tcp.len,820 1 0 frame.len, ip.leng, tcp.headerleng,

tcp.len,

Tabela 11 – Matriz de confusãoResultados Corretos

Detecçãodo

Sistema0 1

0 1286 891 18 32

Figura 6 – Curva ROC.

54

4.1.2.1.2 Movendo arquivos e Envio de comando

O segundo e terceiro arquivo analisado, possui um ataque do tipo, movimentaçãode arquivos e envio de comando dentro da rede SCADA. Como os resultados foram muitoparecidos com os obtidos e explicados anteriormente as tabelas e gráficos referentes a esteataque serão colocados a seguir, para a sua comparação com os resultados anteriores.

Tabela 12 – Tabela comparando os resultados, para o ataque de envio de arquivo execu-tável, para o ataque de movimentação de arquivo.

Número do pacote Arquivo com osresultados

Análise do sistemadesenvolvido

Campos que apresentaramanomalias

324 0 0 frame.len, ip.leng, tcp.headerleng325 1 1 frame.len, ip.leng, tcp.headerleng,

tcp.len, data.len,326 1 0 frame.len, ip.leng, tcp.headerleng,

tcp.len, data.len327 1 0 frame.len, ip.leng, tcp.headerleng328 1 1 tcp.headerleng, tcp.len, data.len,329 1 1 ip.proto330 1 1 frame.len, ip.leng, tcp.headerleng331 1 1 ip.proto, frame.len, ip.leng,

udp.len332 1 0 ip.proto, frame.len, ip.leng,

udp.len333 1 0 ip.proto, frame.len, ip.leng,

udp.len334 1 0 ip.src, ip.leng, tcp.headerleng,

tcp.len

55

Tabela 13 – Tabela comparando os resultados, para o ataque de envio de arquivo execu-tável, para o ataque de envio de comando

Número do pacote Arquivo com osresultados

Análise do sistemadesenvolvido

Campos que apresentaramanomalias

4781 0 0 frame.len,4782 1 1 frame.len, ip.leng, tcp.headerleng,4783 1 0 frame.len, ip.leng, tcp.headerleng,4784 1 0 frame.len, ip.leng, tcp.headerleng,4785 1 1 frame.len, ip.leng, tcp.headerleng,

tcp.len,4786 1 0 frame.len, ip.leng, tcp.headerleng,

tcp.len,4787 1 0 frame.len, ip.leng, tcp.headerleng4788 1 0 frame.len, ip.leng, tcp.headerleng4789 1 0 frame.len, ip.leng, tcp.headerleng4790 1 0 frame.len, ip.leng, tcp.headerleng4791 1 0 frame.len, ip.leng, tcp.headerleng

Tabela 14 – Matriz de confusão, movimentação de arquivo

Resultados CorretosDetecção

doSistema

0 1

0 3200 361 43 39

Tabela 15 – Matriz de confusão, envio de comando

Resultados CorretosDetecção do

Sistema 0 1

0 10859 81 296 2

56

Figura 7 – Curva ROC, movimentação de arquivo.

Figura 8 – Curva ROC, envio de comando.

57

5 CONCLUSÃO

Através do experimentos executados no dataset proposto por Lemay e Fernandez[29] , foi possível perceber que o método proposto por Mahoney e Chan [11, 28], de modogeral conseguiu detectar os ataques presentes nos testes realizados. Entretanto, o principalfator que fez com que os resultados não fossem satisfatórios, foi o fato de que, na técnicaaplicada, o sistema para de gerar alertas para ataques com uma quantidade elevada depacotes anômalos seguidos.

Este fator foi essencial na hora da geração dos resultados, pois como o sistema nãoirá classificar todos os pacotes de um ataque como sendo anômalos, a taxa de verdadeirospositivos do sistema ficará comprometido e apresentará resultados ruins, se analisado, suamatriz de confusão e sua curva ROC.

Neste trabalho ficou claro que, como citado anteriormente, que o t é o preditorde eventos futuros que podem ocorrer na rede, ou seja, na fase de detecção do sistema, oprincipal fator que irá definir se um pacote será considerado anômalo ou não é o tempo t.

Analisando os resultados do sistema proposto por este trabalho, se chega a conclu-são de que o sistema proposto para a detecção de intrusão dentro das redes SCADA nãose mostrou eficiente. Embora tenha conseguido detectar os ataques presentes nos arquivosde testes.

59

REFERÊNCIAS

[1] MOTTA, P. S.; GUEDES, L. A. Aspectos de segurança em sistemas SCADA – Umavisão geral. n. January 2004, 2014.

[2] ESTEVEZ-TAPIADOR, J. M.; GARCIA-TEODORO, P.; DIAZ-VERDEJO, J. E.Anomaly detection methods in wired networks : a survey and taxonomy. v. 27, p.1569–1584, 2004.

[3] REGIS, B. R. R.; RAMIN, S.; AIKO, P. Flow whitelisting in SCADA networks.International Journal of Critical Infrastructure Protection, 2013.

[4] CHEMINOD, M.; DURANTE, L.; VALENZANO, A. Review of security issuesin industrial networks. IEEE Trans. Industrial Informatics, v. 9, n. 1, p. 277–293, 2013. Disponível em: <http://dblp.uni-trier.de/db/journals/tii/tii9.html#CheminodDV13>.

[5] HUAYANG, C. et al. A layered encryption mechanism for networked criticalinfrastructures. IEEE NETWORK, v. 27, n. 1, p. 12, 2013. ISSN 0890-8044.

[6] HADZIOSMANOVIC, D.; BOLZONI, D. A Log Mining Approach for ProcessMonitoring in SCADA. 2010. Disponível em: <http://eprints.eemcs.utwente.nl/18597/01/Hadziosmanovic.pdf>.

[7] PEREZ, E. U.S. investigators find proof of cyberattack on Ukraine power grid.2016. Http://edition.cnn.com/2016/02/03/politics/cyberattack-ukraine-power-grid/index.html.

[8] PATCHA, A.; PARK, J.-m. An overview of anomaly detection techniques : Existingsolutions and latest technological trends. v. 51, p. 3448–3470, 2007.

[9] ALLEN, J. State of the Practice of Intrusion Detection Technologies. n. January,2000.

[10] KEMMERER, R. A.; VIGNA, G. Intrusion detection: a brief history and overview.Computer, v. 35, n. 4, p. 27–30, Apr 2002. ISSN 0018-9162.

[11] MAHONEY, M. V.; CHAN, P. Phad: Packet header anomaly detection foridentifying hostile network traffic. 05 2002.

[12] IGURE, V. M.; LAUGHTER, S. A.; WILLIAMS, R. D. Security issues inscada networks. Computers Security, v. 25, n. 7, p. 498 – 506, 2006. ISSN0167-4048. Disponível em: <http://www.sciencedirect.com/science/article/pii/S0167404806000514>.

[13] DANEELS, A.; SALTER, W. What Is Scada ? International Conference onAccelerator and Large Experimental Physics Control Systems, Trieste, Italy, p.339–343, 1999. Disponível em: <http://scholar.google.com/scholar?hl=en&btnG=Search&q=intitle:WHAT+IS+SCA>.

60

[14] GOLDENBERG, N.; WOOL, A. Accurate modeling of modbus/tcp for intrusiondetection in scada systems. International Journal of Critical InfrastructureProtection, v. 6, n. 2, p. 63 – 75, 2013. ISSN 1874-5482. Disponível em:<http://www.sciencedirect.com/science/article/pii/S1874548213000243>.

[15] CHEUNG, S. et al. Using model-based intrusion detection for scada networks. In:Proceedings of the SCADA Security Scientific Symposium. Miami Beach, Florida:[s.n.], 2007.

[16] KUMAR, S.; SPAFFORD, E. H. E. An application of pattern matching in intrusiondetection. Most, p. 1–55, 1994. Disponível em: <http://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=2115&context=cst>.

[17] CLAFFY, K.; BRAUN, H.; POLYZOS, G. Internet traffic flow profiling. [S.l.], 1994.

[18] CENTER, C. C. CERTw Advisory CA-1997-28 IP Denial-of-Service Attacks. 1997.Http://www.cert.org/historical/advisories/CA-1997-28.cfm.

[19] PAXSON, V. et al. Known tcp implementation problems. RFC Editor, UnitedStates, 1999.

[20] LEE, W. et al. A data mining and cidf based approach for detecting noveland distributed intrusions. In: . Recent Advances in Intrusion Detection:Third International Workshop, RAID 2000 Toulouse, France, October 2–4, 2000Proceedings. Berlin, Heidelberg: Springer Berlin Heidelberg, 2000. p. 49–65. ISBN978-3-540-39945-2. Disponível em: <https://doi.org/10.1007/3-540-39945-3_4>.

[21] GROSSMAN, R. et al. Data mining research: Opportunities and challenges. In:A REPORT OF THREE NSF WORKSHOPS ON MINING LARGE, MASSIVE,AND DISTRIBUTED DATA. [S.l.], 1999.

[22] VASQUEZ, G.; MIANI, R.; ZARPELãO, B. B. Flow-Based Intrusion Detection forSCADA networks using Supervised Learning. 2017.

[23] JUNEJO, K. N.; GOH, J. Behaviour-based attack detection and classificationin cyber physical systems using machine learning. In: Proceedings of the 2NdACM International Workshop on Cyber-Physical System Security. New York, NY,USA: ACM, 2016. (CPSS ’16), p. 34–43. ISBN 978-1-4503-4288-9. Disponível em:<http://doi.acm.org/10.1145/2899015.2899016>.

[24] LINDA, O.; VOLLMER, T.; MANIC, M. Neural network based intrusion detectionsystem for critical infrastructures. In: 2009 International Joint Conference on NeuralNetworks. [S.l.: s.n.], 2009. p. 1827–1834. ISSN 2161-4393.

[25] YUSHENG, W. et al. Intrusion detection of industrial control system based onmodbus tcp protocol. In: 2017 IEEE 13th International Symposium on AutonomousDecentralized System (ISADS). [S.l.: s.n.], 2017. p. 156–162.

[26] BARBOSA, R. Anomaly Detection in SCADA Systems - A Network Based Approach.Netherlands: Centre for Telematics and Information Technology (CTIT), 2014.

[27] BARBOSA, R. R. R.; SADRE, R.; PRAS, A. Towards periodicity based anomalydetection in scada networks. In: IEEE. Emerging Technologies & Factory Automation(ETFA), 2012 IEEE 17th Conference on. [S.l.], 2012. p. 1–4.

61

[28] MAHONEY, M. V.; CHAN, P. K. Detecting Novel Attacks by IdentifyingAnomalous Network Packet Headers. p. 1–10, 2001.

[29] LEMAY, A.; FERNANDEZ, J. M. Providing SCADA network data sets for intrusiondetection research. In: 9th Workshop on Cyber Security Experimentation and Test(CSET 16). Austin, TX: USENIX Association, 2016. Disponível em: <https://www.usenix.org/conference/cset16/workshop-program/presentation/lemay>.