Relat´orio Parcial de Atividades de Bolsa de Inicia¸c˜ao Cient´ıfica
Instituto de Inform´atica
Universidade Federal do Rio ...
Dados de Identifica¸c˜ao
Projeto
T´ıtulo do Projeto: NetMan Patterns:
Padr˜oes de Gerenciamento para Resiliˆencia e Seguran...
1
1.1 Introdu¸c˜ao
Esse relat´orio descreve as atividades desenvolvidas at´e o presente momento por Levindo Gabriel
Tasche...
1.4 Resultados
Obten¸c˜ao, manipula¸c˜ao e verifica¸c˜ao formal dos dados de Flowtable
Inicialmente foi desenvolvida uma ap...
Bibliografia
[1] Arjun Guha; Mark Reitblatt; Nate Foster. Machine-verified network controllers. SIGPLAN
Not., 48(6):483–494,...
Próximos SlideShares
Carregando em…5
×

Relat_rio___Propesq___IC___Redes_de_Computadores__2016_

27 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
27
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Relat_rio___Propesq___IC___Redes_de_Computadores__2016_

  1. 1. Relat´orio Parcial de Atividades de Bolsa de Inicia¸c˜ao Cient´ıfica Instituto de Inform´atica Universidade Federal do Rio Grande do Sul Levindo Neto
  2. 2. Dados de Identifica¸c˜ao Projeto T´ıtulo do Projeto: NetMan Patterns: Padr˜oes de Gerenciamento para Resiliˆencia e Seguran¸ca de Redes Vigˆencia da Bolsa: 01/01/2016 a 31/07/2016 Orientador: Alberto Egon Schaeffer Filho Bolsista Nome: Levindo Gabriel Taschetto Neto Curso: Bachalerado em Engenharia de Computa¸c˜ao CPF: ***.***.***-** E-mail: levindo.neto@inf.ufrgs.br Per´ıodo de Atua¸c˜ao: 01/01/2016 a 31/07/2016 Local de Realiza¸c˜ao: Instituto de Inform´atica Universidade Federal do Rio Grande do Sul 1
  3. 3. 1 1.1 Introdu¸c˜ao Esse relat´orio descreve as atividades desenvolvidas at´e o presente momento por Levindo Gabriel Taschetto Neto durante o per´ıodo de vigˆencia da bolsa de inicia¸c˜ao cient´ıfica, a qual ´e de 01/01/2016 a 31/07/2016. Esse documento cont´em descritos todos os trabalhos realizados at´e o momento, resultados obtidos, pr´oximas etapas e resultados esperados. No projeto est˜ao sendo desenvolvidos estudos na ´area de redes de computadores e l´ogica apli- cada `a computa¸c˜ao visando resiliˆencia. Resiliˆencia em redes de computadores est´a relacionada `a capacidade da rede manter n´ıveis aceit´aveis de opera¸c˜ao frente a anomalias, tais como ataques ma- liciosos, sobrecarga operacional, problemas de configura¸c˜ao ou falhas de equipamento. O projeto “Net Patterns: Padr˜oes de Gerenciamento para Resiliˆencia e Seguran¸ca de Redes” est´a sendo de- senvolvido em colabora¸c˜ao com pesquisadores da Lancaster University, situada na Inglaterra, onde o coordenador do projeto fez seu p´os-doutorado, entre 2009 e 2012. 1.2 Estudos iniciais No in´ıcio da bolsa de inicia¸c˜ao cient´ıfica adquiri conhecimentos na ´area de redes de computadores, na qual eu n˜ao havia tido contato anteriormente em outros trabalhos na universidade. Os conheci- mentos na ´area foram adquiridos com o aux´ılio de artigos cient´ıficos, videoaulas, conversas com os colegas do grupo e com a pr´atica ao mexer nas ferramentas utilizadas, Mininet e Floodlight. Os artigos cient´ıficos lidos inicialmente foram focados na ´area de virtualiza¸c˜ao de redes de com- putadores [3] e na ´area de redes definidas por software (SDN ) [5]. As videoaulas assistidas foram as do curso ”Computer Networks” da University of Washington por meio da plataforma de ensino online Coursera (www.coursera.org/course/comnetworks). As ferramentas utilizadas no projeto desde o in´ıcio da bolsa, s˜ao o emulador de rede, Mininet (www.mininet.org) em conjunto com o controlador SDN, Floodlight (www.projectfloodlight.org). 1.3 Problema abordado no projeto e meios de resolu¸c˜ao O problema no qual est˜ao sendo desenvolvidos os trabalhos ´e o de encontrar um ou mais m´etodos para verifica¸c˜ao formal em redes definidas por software. Antes de iniciar os trabalhos na ´area de resiliˆencia de redes de computadores com verifica¸c˜ao formal, pesquisas foram realizadas em artigos cient´ıficos [4, 2, 1], a fim de obter informa¸c˜oes do estado da arte na ´area e saber como pesquisadores ao redor do mundo lidam com o mesmo problema. Um dos problemas que foi resolvido ´e o de encontrar redundˆancias e conflitos em uma rede e em regras de um Firewall, o que ´e detalhado na pr´oxima se¸c˜ao. 2
  4. 4. 1.4 Resultados Obten¸c˜ao, manipula¸c˜ao e verifica¸c˜ao formal dos dados de Flowtable Inicialmente foi desenvolvida uma aplica¸c˜ao, desenvolvida na linguagem de programa¸c˜ao Python, que dada uma topologia de rede qualquer, retorna os dados referentes a cada switch OpenFlow dessa rede, como por exemplo match(dados de partida) e action(dados de a¸c˜oes a serem tomadas por cada switch). Esses dados ficam contidos em uma tabela (Flowtable), a qual pode ser acessada por o controlador da rede SDN utilizado, que nessa aplica¸c˜ao ´e o Floodlight OpenFlow Controller. Na aplica¸c˜ao desenvolvida ´e poss´ıvel fazer a coleta de todos esses dados da flowtable, manipular esses dados para formar uma tabela de f´acil visualiza¸c˜ao para manipul´a-la a fim de encontrar re- gras redundantes e conflitantes, para por fim gerar um arquivo atualizado com todas as regras da flowtable, regras conflitantes e regras redundantes, no formato de express˜oes l´ogicas. O algoritmo proposto para verifica¸c˜ao formal dos dados da flowtable possui complexidade O(n2 ), e seu funciona- mento est´a baseado na compara¸c˜ao de todas as regras entre si, diminuindo uma compara¸c˜ao a cada itera¸c˜ao. Ap´os a execu¸c˜ao da aplica¸c˜ao, todas as regras redundantes e conflitantes s˜ao salvas em uma tabela, e podem ser removidas. Verifica¸c˜ao formal em regras do firewall Depois de obter os dados da flowtable, foi incrementado na aplica¸c˜ao a funcionalidade de adicionar regras no firewall (regra a regra), adicionar regras no firewall (string com um conjunto de regras), deletar regra no firewall, visualizar todas as regras contidas no firewall, gera¸c˜ao da tabela de dados contidos no firewall e manipula¸c˜ao desses dados para verificar redundˆancias e conflitos l´ogicos. Depois de ter essa parte da aplica¸c˜ao pronta, foram feitos testes para adicionar regras ao firewall da topologia, for¸cando conflitos e redundˆancias l´ogicas para verificar que a aplica¸c˜ao cumpre as especifica¸c˜oes definidas. O algoritmo utilizado na verifica¸c˜ao l´ogica das regras do firewall ´e o mesmo especificado para a verifica¸c˜ao l´ogica das regras da flowtable. 1.5 Conclus˜ao Esse relat´orio descreveu as atividades realizadas at´e o momento durante o per´ıodo de vigˆencia da bolsa de inicia¸c˜ao cient´ıfica com seus devidos resultados. Na bolsa, assim como mostrado, tem-se trabalhado com verifica¸c˜ao formal de redes de computadores definidas por software. As pr´oximas etapas ser˜ao adicionar novas funcionalidades de verifica¸c˜ao na rede, tais como reachability(verificar se um determinado pacote que sai de um switch A chega em um switch B), e verificar se h´a loops em alguma parte da rede. Para fazer essas verifica¸c˜oes na rede, ser´a utilizada novamente formalismos l´ogicos, de maneira a provar a consistˆencia da rede de forma r´apida e precisa. 3
  5. 5. Bibliografia [1] Arjun Guha; Mark Reitblatt; Nate Foster. Machine-verified network controllers. SIGPLAN Not., 48(6):483–494, June 2013. [2] Nikolaj Bjørner; Karthick Jayaraman. Checking cloud contracts in microsoft azure. In Dis- tributed Computing and Internet Technology - 11th International Conference, ICDCIT 2015, Bhubaneswar, India, February 5-8, 2015. Proceedings, pages 21–32, 2015. [3] Bo Han; Vijay Gopalakrishnan; Lusheng Ji; Seungjoon Lee. Network function virtualization: Challenges and opportunities for innovations. In IEEE Communications Magazine (2015), 2014. [4] Aurojit Panda; Katerina Argyraki; Mooly Sagiv; Michael Schapira; Scott Shenker. New direc- tions for network verification. In SNAPL (2015), 2015. [5] Nick Feamster; Jennifer Rexford; Ellen Zegura. The road to sdn: An intellectual history of programmable networks. SIGCOMM Comput. Commun. Rev., 44(2):87–98, April 2014. 4

×