You are on page 1of 11

Caio Fellipe Cavalcante Teixeira, Adyson Magalhes Maia

OBTENDO AUTO-PROTEO NO GERENCIAMENTO AUTONMICO DE REDES

Projeto de pesquisa para a disciplina de Tpicos Avanados em Redes de Computadores.

Orientador: Prof. Miguel Franklin

Universidade Federal do Cear Curso de Computao Fortaleza, 2010

SUMRIO

Tema ....................................................................................................3 Delimitao do Objeto ........................................................................3 Objetivos .............................................................................................3 Objetivo Geral ...................................................................................3 Objetivos Especficos ........................................................................3 Justificativa ..........................................................................................4 Hipteses .............................................................................................4 Metodologia ........................................................................................4 Reviso de Literatura ..........................................................................5 Bibliografia ..........................................................................................9

TEMA Identificao e reao a ataques em uma rede de computadores de forma autonmica. DELIMITAO DO OBJETO Uma rede de computadores autonmica tem como principal objetivo alcanar a total independncia, sendo ela prpria capaz de se auto-gerenciar e de se auto-proteger. A autoproteo de um gerenciamento de sistema diz respeito sua capacidade de tomar as medidas necessrias para se proteger de operaes no programadas e de qualquer influncia externa ou ameaa. A auto-proteo participa do lao de controle do sistema autonmico. O sistema coleta informaes de uma variedade de fontes; estas, por sua vez, so analisadas para construir um modelo que servir como base para decises para alcanar a proteo. O impacto das decises pode ser coletado para informar o prximo ciclo de controle. OBJETIVOS Objetivo geral Ser utilizada uma rede-neural para classificar os diferentes tipos de ataques em uma rede de computadores, um conjunto de regras da lgica descritiva para tomar uma ao especfica para cada tipo de ataque e um mecanismo de aprendizagem por reforo para verificar o impacto das aes sobre a rede. Objetivos especficos Para cumprir com os objetivo proposto devemos: Coletar dados j existentes sobre diversos ataques para que sejam utilizados como

ponto inicial para os mtodos de identificao e classificao de ataques; Manter a rede neural em estado de aprendizagem por um determinado perodo de

tempo para que a mesma aprenda a classificar cada tipo de ataque; Verificar que a rede neural previamente treinada capaz de classificar, com um bom

nvel de preciso, os diferentes tipos de ataques; Aplicar as vrias regras definidas atravs da lgica descritiva para tomarem aes

especficas para cada tipo de ataque; Verificar como os impactos das regras afetam o sistema e utilizar um sistema de

aprendizagem por reforo para modificar as regras ou criar novas regras dependendo da caracterstica do impacto. Continuar com essas aes, formando um ciclo, de forma a manter o sistema sempre

aprendendo a se auto-proteger.

JUSTIFICATIVA As tecnologias de redes tm evoludo muito rapidamente enquanto que as solues de gerenciamento de redes tm evoludo muito lentamente. O Gerenciamento autonmico de redes promete antecipar, diagnosticar e resolver qualquer problema nas funcionalidades da rede, de forma independente e autonmica. A auto-proteo umas das caracterstica chaves para o auto-gerenciamento de uma rede. Ento, identificar quais as tcnicas que podem ser utilizadas para obter a auto-proteo e qual o melhor uso delas tambm um dos principais problemas das rede atuais. Este trabalho apresenta o uso de 3 tcnicas para alcanar a auto-proteo em redes de computadores e a partir dele esperamos demonstrar que a escolha destas tcnicas no foi por acaso e que elas realmente so muito eficientes no auto-gerenciamento de redes, principalmente para alcanar a auto-proteo.

HIPTESES Uma rede neural pode ser treinada para identificar vrios tipos de ataques a uma rede de computadores. Uma rede neural previamente treinada capaz de classificar os diversos tipos de ataques a uma rede de computadores. Atravs de um conjunto de regras da lgica descritiva possvel tomar diversas aes para cada tipo de ataque previamente identificado. Um sistema de aprendizagem por reforo pode ser usado para reagir ao impacto das aes sobre a rede.

METODOLOGIA Sero utilizados diversos traces obtidos do monitoramento de alguma rede especfica. Esse traces podem sero obtidos na web atravs do seguinte endereo em [1]. Uma rede neural ser treinada utilizando o conjunto de traces obtidos e dever ser capaz de aprender a classificar os diversos tipos de ataques existentes. Para realizar a classificao dos ataques ser usada a rede neural previamente treinada com uma base de conhecimentos j estabelecida. Essa rede neural ir classificar os traces a partir do seu conhecimento existente, sendo capaz de detectar ataques conhecidos e desconhecidos. Essa rede neural tambm capaz de aprender com as suas prprias classificaes, pois ela se auto-alimenta com os seus resultados. Depois da classificao, necessrio tomar alguma deciso com relao a que ao tomar para cada tipo de ataque. A lgica descritiva ser utilizada para este propsito. Sero construdas diversas proposies, uma para cada tipo de ao que poder ser executada, dependendo do tipo de ataque. Essas proposies podem ser melhoradas e at mesmo mais proposies podem ser acrescentadas posteriormente, de acordo com os resultados das aes executadas sobre a rede. Aps a deciso necessrio agir, ou seja, reagir quele ataque. Se o ataque for desconhecido, ento algumas aes padro podem ser tomadas e os seus resultados analisados usando a tcnica de aprendizado por reforo. Com isso, cada vez que uma ao para um

determinado ataque piorar o estado da rede, essa ao ter um peso menor quando cogitada para ser utilizada novamente para aquele tipo de ataque. REVISO DE LITERATURA Gerenciamento autonmico de redes O Gerenciamento autonmico de redes promete antecipar, diagnosticar e resolver qualquer problema nas funcionalidades da rede, de forma independente e autonmica. Nesta abordagem, a interveno humana quase no existe. Computao Autonmica foi um termo introduzido pela IBM em 2001, referente a entidades que podem executar operaes nelas prprias de forma a alcanar certos objetivos. Possui quatro caractersticas principais: auto -configurao, -recuperao, -otimizao e proteo(caractersticas self-CHOP). Caracterizando o self-CHOP temos: 1) Auto-configurvel: capaz de detectar mudanas nos dispositivos de rede e se adaptar a essas mudanas. 2) Auto-recupervel: capaz de restaurar suas operaes quando alguma falha ocorrer. 3) Auto-otimizvel: capaz de realizar qualquer servio da forma mais eficiente possvel. 4) Auto-proteo: capaz de tomar medidas que protegem suas operaes de qualquer ameaa. Um sistema autonmico forma um loop de controle (Fig. 1). O sistema coleta informaes de uma variedade de fontes incluindo sensores de redes tradicionais mas tambm incluindo dispositivos de alto nvel. Estes so analisados para construir um modelo que servir como base para decises de adaptao. Estas decises sero propagadas atravs da rede e podem ser reportadas para os usurios ou administradores. O impacto das decises pode ser coletado para informar o prximo ciclo de controle.

Fig. 1. Loop de controle autonmico.

Redes Neurais Artificiais A seguir damos uma viso geral sobre redes neurais artificiais, como visto em [3], que ser nossa tcnica utilizada para a identificao e classificao dos vrios tipos de ataques em uma rede de computadores. Nas redes neurais artificias, a ideia realizar o processamento de informaes tendo como princpio a organizao dos neurnios no crebro humano. Como o crebro humando capaz de aprender e tomar decises baseadas na aprendizagem, as redes neurais artificiais devem fazer o mesmo. Assim, uma rede neural pode ser interpretada como um esquema de processamento capaz de armazenar conhecimento baseado em aprendizagem e disponibilizar este conhecimento para a aplicao em questo. Basicamente, uma rede neural se assemelha ao crebro em dois pontos: o conhecimento obtido atravs de etapas de aprendizagem, e pesos sinpticos so usados para armazenar o conhecimento. Uma sinapse o nome dado conexo existente entre neurnios. Nas conexes so atribudos valores, que so chamados de pesos sinpticos. Assim, as redes neurais artificiais so contitudas por uma rede de ligaes entre vrios reurnios artificiais, formando uma rede de elementos de processamento. Uma srie de valores podem ser aplicados sobre vrios neurnios, a camada de entrada da rede neural. Estes valores so multiplicados pelo peso de sua sinapse. Ento esses valores so somados. Se esta soma ultrapassar um valor limite estabelecido, um sinal propagado pela sada (axnio) deste neurnio. Em seguida, essa mesma etapa se realiza com os demais neurnios da rede.

Fig. 2. Neurnio artificial simplificado.

O processo de aprendizagem das redes neurais realizado quando ocorrem vrias modificaes significantes nas sinapses dos neurnios. Essas mudanas ocorrem de acordo com a ativao dos neurnios. Se determinadas conexes so mais usadas, estas so reforadas enquanto que as demais so enfraquecidas. Por isso, uma das disvantagens das redes neurais a necessidade de um longo tempo de treinamento. Existem, basicamente, trs tipos de aprendizado para as redes neurais: Supervisionado - a rede neural recebe um conjunto de entradas padronizados e seus correspondentes padres de sada, onde ocorrem ajustes nos pesos sinpticos at que o erro entre os padres de sada gerados pela rede tenham um valor desejado; No-supervisionado - a rede neural trabalha os dados de forma a determinar algumas propriedades dos conjunto de dados. A partir destas propriedades que o aprendizado constitudo; Hbrido - utiliza-se os tipos supervisionado e no-supervisionado na mesma rede. Um dos usos das redes neurais no gerenciamento autonmico de redes na deteco e no diagnstico de falhas. As principais tarefas feitas pela rede neural na classificao dos dados

e no reconhecimento de padres [5]. Em [6] mostrado tcnicas de aprendizado supervisionado e no-supervisionado para as redes neurais no diagnstico de falhas. De acordo com [4] uma rede neural do tipo back-propagation, comumente usada para reconhecimento de padres, pode ser usada para resolver o problema da identificao dos vrios tipos de ataques em uma rede de computadores.

Fig. 3. Classificador usando BackPropagation.

Observando a Fig. 3 podemos verificar que a rede neural deve ser previamente treinada para ser capaz de identificar os vrios tipos de ataques. Aps esse treinamento ainda podem aparecer diversos tipos de ataques desconhecidos pela rede, porm esse ataques sero identificados como desconhecidos e sero utilizados para em uma nova fase de treinamento da rede neural. Essa rede neural passar ento a conhecer esse tipo de ataque que antes era desconhecido. Todo esse processo formar um ciclo, com a rede neural sempre aprendendo. A seguir damos uma viso geral sobre lgica descritiva, como visto em [3], que ser nossa tcnica utilizada para agir a um certo tipo de ataque. Lgica Descritiva Linguagens descritivas fornecem uma variedade de construtores para construir termos que podem ser usados para expressar conhecimento sobre o mundo. Lgica descritiva bem mais expressiva que a lgica proposicional embora possua problemas de deciso bem mais complicados. Uma de suas principais aplicaes a obteno de informaes sobre um conjunto incompleto de dados, raciocinando em cima desses dados. A Tabela 1 mostra alguns construtores de descrio independentes de domnio que podem ser usados, de acordo com[3].
Termo Conceito Principal Nada and[C,D] or[C,D] Interpretao

not[C] all[p,C] some[p,C] at-least[n,p] at-most[n,p] at-least-c[n,p,C] at-most-c[n,p,C] same-as[p,q] subset[p,q] not-same-as[p,q] fills[p,b] one-of[1 , , ] not-fills[p,b]

{ | () } { | | () | } { | | () | } { | () = ()} { | () ()} { | () ()} { | ()} {1 , , } { | ()} { | | ()| } { | | ()| }

{ | () }

Tabela 1. Construtores de Descrio Independentes de Domnio

Como um exemplo de aplicao prtica poderamos, no domnio de uma universidade, por exemplo, expressar o seguinte conceito: Todos os cursos com no mnimo 10 estudantes, ensinados por algum que do departamento de cincias, atravs da lgica descritiva como: and(CURSO, DEPTO))) at-least(10, alunos),all(ensinadoPor,all(no-departamento, CINCIAS-

A resposta para esse tipo de pergunta seria uma lista de indivduos que satisfazem as condies da consulta i.e., aqueles que so reconhecidos pela descrio da consulta. Lgica descritiva pode ser usada ainda para descobrir inconsistncias em alguma representao de alguma descrio. A aplicao desta tcnica para o gerenciamento autonmico de redes se d atravs da representao de todo o conhecimento sobre o gerenciamento da rede usando a sintaxe da lgica descritiva. Esse conhecimento envolve desde a arquitetura fsica da rede at as regras de negcio envolvidas no gerenciamento da mesma. Uma vez que esse conhecimento est representado atravs de descries formais possvel raciocinar sobre ele, fazendo inferncias usando algum tipo de motor de inferncia. Se qualquer mudana ocorrer, o sistema ser capaz de tomar alguma medida com relao a essa mudana, para isso deve-se utilizar um conjunto de regras associadas com as aes a serem tomadas. Essas regras da lgica descritiva podem ser criadas dinamicamente, ou melhoradas de acordo com o impacto da ao tomada sobre a rede de computadores. Aprendizado por Reforo Agora daremos uma viso geral sobre o aprendizado por reforo, como visto em [3], que ser nossa tcnica utilizada para agir em cima dos impactos das aes tomadas para tentar resolver um determinado tipo de ataque; de forma que, se uma ao tiver um impacto positivo sobre a rede de computadores essa ao ter mais chances de ser selecionada da prxima vez que esse ataque for identificado. Ocorrer o inverso caso a ao tenha um impacto negativo sobre a rede.

Apredender por meio de interaes com ambiente uma das primeiras coisas que se pensam sobre a natureza do aprendizado. Quando uma criana est brincando, ela est interagindo com o ambiente e descobrindo relaes de causa e efeito. Aprender por meio de interaes uma ideia fundamental de quase todas as teorias de aprendizado e inteligncia [8]. O aprendizado por reforo descreve um paradigma de aprendizagem, pelo qual, atravs de interaes de tentantivas e erros com o ambiente, um agente aprende qual o melhor mapa de situaes para as aes, em ordem, para maximizar um benefcio a longo prazo. Para tal, frequantemente associado com um sistema de recompensas e punies, de forma que, para cada ao escolhida pelo agente, uma recompensa numrica gerada, indicando a satisfao do agente para tomar uma ao em um determinado estado. Alm do agente e do ambiente, pode-se indentificar quatro sub-elementos principais no sistema de aprendizado por reforo: Poltica de ao - mapeia o estado percebido do ambiente pelo agente para a ao a executar nesse estado que maximiza satisfao dos seus objetivos; Funo de reforo - Mapeia estados do ambiente ou transio do ambiente de um estado para um outro para um nmero indicando a satisfao imediata dos objetivos do agente nesse estado ou no estado resultante da transio; Funo de valor (ou utilidade) - mapeia estado do ambiente para um nmero indicando a satisfao futura atingvel dos objetivos do agente a partir desse estado; Modelo do ambiente - Modelo perceptivo, mapeia percepes para representao interna do estado do ambiente. Um dos principais problemas do aprendizado por reforo no gerenciamento autonmico de redes, que, muitas vezes impraticvel a obteno de um modelo que seja preciso e que represente todas as possveis situaes que o agente pode encontrar durante sua interao com o ambiente. Uma soluo o agente aprender o modelo do ambiente dinamicamente durante a iterao com o ambiemte [9]. Um framework para aprendizado por reforo para um gerenciamento autonmico dirigido por polticas proposto em [9]. Este framework possui dois principais laos de controles. O primeiro lao de controle coleta as informaes, metrifica-as, verifica se alguma poltica foi violada e toma as aes necessrias para voltar ao estado desejado. O segundo lao de controle envolve a adaptao das polticas baseando-se nas anlises das decises anteriores e resultados das aes tomadas. Outras caractersticas importantes do framework a aprendizagem do modelo do ambiente dinamicamente e a utilizao do algortmo Dyna-Q [10] que mede o quanto foi bom o uso de uma ao pelo agente em uma dada situao. Sistemas de Inferncia Fuzzy (SIF) A fuso de tcnicas de Redes Neurais Artificiais (RNAs) e Sistemas de Inferncia Fuzzy (SIF) tem atrado um nmero crescente de pesquisadores em vrias reas cientificas e de engenharia por conta da necessidade crescente da construo de systemas inteligentes adaptativos que soluciorem problemas do mundo real [11]. Probabilidade e lgica fuzzy podem ser usadas para mensurar tipos de incertezas. O senso de incerteza relativo a predio de ocorrncia de um evento, que resultante da impreciso de significado de um conceito expresso pela linguagem natural. Geralmente a lgica fuzzy trabalha com a comparao entre um indivduo e um dado conceito impreciso [12]. Os sistemas fuzzy (difusos) estimam funes com descrio parcial do comportamento do sistema, onde especialistas podem prover conhecimento heurstico, ou essse conhecimento pode ser inferido a partir de dados de entrada-sada do sistema. Pode-se dizer que os sistemas

difusos so sistemas baseados em regras que utilizam variveis lingusticas difusas para executar um processo de tomada de deciso. O raciocnio nos sistemas difusos pode ser dividido em cinco partes: transformao das variveis do problema em valores fuzzy, ou fuzzyfication; aplicao dos operadores fuzzy, como AND, OR; aplicao da implicao; combinao de todas as sadas fuzzy possveis, semelhante a unio e interseo da teoria dos conjuntos clssica; transformao do resultado fuzzy em um resultado ntido, ou defuzzification; A lgica Neurofuzzy uma tecnica de I.A. que gera regras diretamente de dados numricos, e associa probabilidades a estas regras. A lgica neurofuzzy combina a lgica fuzzy com o aprendizado e capacidades adaptativas de redes neurais. Isto significa que o usurio pode inicializar a rede neural usando conhecimento apurado expressado com regras fuzzy, e ento treinar-la usando dados numricos. Aps treinar a rede, as regras podem ser avaliadas e editadas para sobrepor qualquer deficincia nos dados treinados [13]. Um sistema neurofuzzy pode ser dividido em trs subsistemas: fuzzificador, motor de inferncias e defuzzificador. O primeiro fuzzifica as entradas do problema em conjunto fuzzy de valores reais a serem usados como entrada da rede. Estes dados so ento comparados com as regras armazenadas na base de conhecimento. Por fim o resultado defuzzificado para nmeros reais e esta a sada da Rede NeuroFuzzy.

Fig. 4. Sistema fuzzy.

BIBLIOGRAFIA [1] The Internet traffic archive, http://ita.ee.lbl.gov/html/traces.html , acessado em junho de 2010. [2] S. Dobson et. al., A Survey of Autonomic Communications, ACM Transactions on Autonomous and Adaptive Systems, Vol. 1, No. 2, December 2006, Pages 223-259. [3] C. Fellipe and A. Magalhes, Obtendo Raciocnio e Aprendizagem: Um Estudo do Gerenciamento Autonmico de Redes, 2010. [4] W. Jing et. al., A Network Intrusion Detection System based on the Artificial Neural Networks , InfoSecu04, November 14-16, 2004, Pudong, Shanghai, China. [5] Sorsa T., Koivo H. N, Application of Artificial Neural Network in Process Fault Diagnosis, Automatica, Vol. 29, pp. 843-849, 1993. [6] Dalmi, I., Kovacs, I., Lorant, I., Terstyanszky, G., Adaptive learning and neural networks in fault diagnosis, Control '98. UKACC International Conference, 1998. [7] A. Borgida, Description Logics in Data Management, IEEE Transactions on Knowledge and Data Engineering, Vol. 7, No. 5, October 1995. [8] R. S. Sutton and A. G. Barto, Reinforcement Learning: an Introduction. MIT Press, 1998. [9] R. M. Bahati and M. A. Bauer, Reinforcement learning in policy-driven autonomic management, Network Operations and Management Symposium, 2008. NOMS 2008. IEEE, 2008. [10] R. S. Sutton, Dyna an Integrated Architecture for Learning, Planning, and Reacting, in SIGART Bulletin, vol. 2, no. 4, 1991. [11] Abraham, A. Neuro Fuzzy Systems: State-of-the-art Modeling techniques, In Proceedings of the Sixth International Work Conference on Artificial and Natural Neural Networks, IWANN 2001. http://citeseer.ist.psu.edu/abraham01neuro.html, acessado em novembro de 2006. [12] G. Klir, U. H. Clair, B. Yuan, Fuzzy Set Theory Foundations and Applications, Estados Unidos: ed. Prentice Hall, 1997. [13] Neurofuzzy, http://www.din.uem.br/ia/intelige/neurofuzzy/, acessado em junho de 2010.

You might also like