• Nenhum resultado encontrado

3.2.7 Comparac¸˜ao com as Plataforma Dispon´ıveis na Literatura

3.2.7.1 Comparac¸˜ao com a Medic¸˜ao Obtida pelo LEAP

O LEAP, conforme apresentado na sec¸˜ao 2.2.3.8, ´e uma das mais avanc¸adas plataformas de medic¸˜ao de consumo. O laborat´orio ASCENT, onde o LEAP foi desenvolvido, disponibiliza esta ferramenta para que seja acessada remotamente e utilizada para a medic¸˜ao do consumo energ´etico de algoritmos computacionais (ASCENT, 2013). Desta forma, o LEAP pode ser utilizado como parˆametro de comparac¸˜ao para a plataforma desenvolvida, permitindo situar a qualidade do m´etodo de medic¸˜ao criado perante uma soluc¸˜ao bem aceita pela comunidade cient´ıfica.

Para a comparac¸˜ao entre a plataforma desenvolvida e o LEAP, foi realizada a medic¸˜ao de uma mesma aplicac¸˜ao de teste nas duas plataformas. A aplicac¸˜ao de teste ´e uma implementac¸˜ao do benchmark Linpack, que analisa a capacidade de processamento dos sistemas atrav´es de func¸˜oes de ´algebra linear densa. O Linpack ´e largamente utilizado para avaliar o desempenho e a eficiˆencia de novas arquiteturas de computadores (HEINECKE et al., 2013).

Em cada uma das plataformas, as medic¸˜oes foram repetidas 100 vezes consecutivas. O resultado de cada iterac¸˜ao foi armazenado, permitindo uma avaliac¸˜ao estat´ıstica dos valores medidos. Como as duas plataformas avaliadas possuem hardwares distintos e instrumentam de

forma diferente as placas, n˜ao ´e poss´ıvel uma comparac¸˜ao direta entre os valores de consumo; contudo, ´e poss´ıvel analisar a dispers˜ao das medidas realizadas em cada plataforma. Desta forma, compara-se a qualidade da medic¸˜ao proporcionada pelas duas ferramentas, sendo melhor quanto menor for a incerteza das medic¸˜oes. Os resultados obtidos ser˜ao mostrados na sec¸˜ao 5.2.

4 APLICAC¸ ˜AO ANALISADA

Este cap´ıtulo contempla o desenvolvimento da aplicac¸˜ao na qual a plataforma criada foi utilizada como ferramenta de an´alise. Primeiramente, s˜ao abordados os conceitos que embasam o desenvolvimento de um sistema de detecc¸˜ao de intrus˜ao. Na sequˆencia, ´e descrita a implementac¸˜ao da aplicac¸˜ao para detecc¸˜ao de intrus˜ao de rede por ataques do tipo probing com classificac¸˜ao em software e hardware atrav´es de ´Arvore de Decis˜ao. Por fim, ´e apresentado o procedimento de medic¸˜ao de consumo utilizado.

4.1 DETECC¸ ˜AO DE INTRUS ˜AO

A internet tem sofrido substanciais mudanc¸as nos ´ultimos anos. Tendˆencias claras indicam um r´apido aumento no n´umero de dispositivos conectados e uma crescente preocupac¸˜ao com seguranc¸a da informac¸˜ao e privacidade. Estes fatos, aliados `a consider´avel parcela de dispositivos m´oveis existentes, tˆem despertado grande interesse pelo desenvolvimento de soluc¸˜oes energeticamente eficientes para a seguranc¸a dos dispositivos conectados `a grande rede. Pesquisas recentes procuraram aperfeic¸oar a eficiˆencia energ´etica de algoritmos computacionais movendo parte do processamento realizado em software para hardwares dedicados. Estudos anteriores ao presente trabalho indicaram que uma implementac¸˜ao em hardware de um algoritmo de detecc¸˜ao de intrus˜ao de rede pode reduzir em 99,97% a energia consumida por uma aplicac¸˜ao equivalente em software, al´em de alcanc¸ar um desempenho 15 vezes maior (FRANCA et al., 2014b).

Devido ao grande n´umero de ameac¸as, dispositivos conectados `a internet devem estar protegidos de forma autˆonoma e em tempo real. Uma forma comum de se iniciar um ataque ´e explorar o sistema alvo `a procura de vulnerabilidades. Esta t´ecnica, denominada probing, realiza uma varredura pela rede, procurando por servic¸os vulner´aveis, atrav´es da explorac¸˜ao de todas as portas abertas. Uma forma eficiente de se aumentar a seguranc¸a de um sistema ´e detectar o ataque nesta fase inicial.

de seguranc¸a que analisam o tr´afego da rede e classificam cada pacote como normal ou ataque. Conforme o funcionamento do algoritmo de classificac¸˜ao, IDSs podem ser classificados em duas categorias: baseado em assinatura ou baseado em anomalia (GOGOI et al., 2012).

Sistemas baseados em assinatura examinam cada pacote recebido da rede em procura de um padr˜ao de ataque conhecido. Este m´etodo possui baixa taxa de falsos positivos; contudo, ´e incapaz de identificar novos tipos de ataques. Al´em disso, ´e necess´aria a constante atualizac¸˜ao do banco de assinaturas, aumentando linearmente o esforc¸o computacional.

Sistemas baseados em anomalia, em contrapartida, analisam o tr´afego da rede e identificam quando este desvia de um comportamento normal. Para isso, um modelo do comportamento normal da rede ´e criado a partir de entradas conhecidas. Um alarme ´e gerado quando as caracter´ısticas da rede divergem deste modelo. Esta abordagem pode causar falsos alarmes, por´em ´e capaz de identificar ataques ainda n˜ao mapeados. Uma vez que novos ataques aparecem diariamente, esta ´e uma vantagem relevante.

4.1.1 IDS BASEADO EM ANOMALIA

Sistemas de detecc¸˜ao baseados em anomalia s˜ao normalmente implementados em duas etapas subsequentes: extrac¸˜ao de caracter´ısticas e classificac¸˜ao dos pacotes (TSAI et al., 2009). Na extrac¸˜ao de caracter´ısticas, cada pacote recebido da rede ´e analisado e uma s´erie de atributos s˜ao extra´ıdos. Estes valores s˜ao agrupados em um vetor de caracter´ısticas, utilizado como entrada para o classificador.

O vetor de caracter´ısticas compreende dois tipos de atributos: atributos n˜ao dependentes do estado, extra´ıdos diretamente do cabec¸alho do pacote, e atributos dependentes do estado, que consideram os pacotes anteriormente recebidos. Para este segundo grupo, os atributos normalmente s˜ao contadores, os quais contam, por exemplo, o n´umero de bytes enviados do cliente para o servidor durante um per´ıodo pr´e-definido de tempo (GOGOI et al., 2012).

O est´agio de classificac¸˜ao ´e constru´ıdo, em sua maioria, usando t´ecnicas de Aprendizagem de M´aquina (ML - Machine Larning). Estas t´ecnicas s˜ao capazes de descobrir modelos ocultos em um conjunto de dados de treinamento. Os algoritmos ML tamb´em s˜ao conhecidos por sua adaptabilidade, tolerˆancia a falhas e imunidade a ru´ıdos (informac¸˜oes que confundem a classificac¸˜ao) (WU; BANZHAF, 2010).

Aplicac¸˜oes de Aprendizagem de M´aquina s˜ao constru´ıdas baseadas em func¸˜oes que mapeiam dados de entrada em categorias conhecidas; tais func¸˜oes s˜ao denominadas

classificadores. A criac¸˜ao e o uso dos classificadores s˜ao frequentemente realizados em duas etapas distintas. A primeira etapa, ou treinamento, utiliza uma base de dados de treinamento e um algoritmo de an´alise para criar o modelo de ataque. Em sistemas de detecc¸˜ao de intrus˜ao, o vetor de caracter´ısticas ´e a entrada para o classificador e a sa´ıda ´e a determinac¸˜ao entre duas classes: tr´afego normal ou ataque (BRUGGER, 2004).

A segunda etapa, executada em tempo real, ´e a classificac¸˜ao, em que o vetor de caracter´ısticas ´e processado pelo classificador. Para IDS, os classificadores mais comuns s˜ao M´aquina de Vetores de Suporte (SVM - Support Vector Machine), ´Arvore de Decis˜ao (DT - Decision Tree) e K-Vizinhos mais Pr´oximos (KNN - K-Nearest Neighbors) (TSAI et al., 2009). As ´Arvores de Decis˜ao s˜ao adequadas para a detecc¸˜ao de intrus˜ao, pois os dados de entrada podem ser discretos ou cont´ınuos, o algoritmo n˜ao ´e computacionalmente intensivo e pode ser facilmente implementado em sistemas de tempo real.

As ´Arvore de Decis˜ao s˜ao constitu´ıdas por um conjunto de regras “se-ent˜ao”, em que a classificac¸˜ao ocorre percorrendo a ´arvore da raiz at´e atingir uma folha, a qual possui uma classe associada (normal ou ataque). Cada n´o n˜ao terminal da ´arvore especifica o teste para um determinado atributo. O algoritmo C4.5 ´e uma escolha comum na construc¸˜ao do modelo de DTs (MITCHELL, 1997). A figura 32 mostra um exemplo de modelo criado a partir deste algoritmo.

Figura 32: Trecho de um modelo para ´Arvore de Decis˜ao gerado atrav´es do algoritmo C4.5. Fonte: (FRANCA et al., 2014b).