Você está na página 1de 415

ANAIS

Organização do SBSeg 2011

Coordenadores Gerais Anderson Clayton Alves Nascimento, UnB Rafael Timóteo de Sousa Júnior, UnB Comitê de Organização Local Anderson Clayton Alves Nascimento, UnB Aletéia Patrícia Favacho de Araújo, UnB Dino Macedo Amaral,UnB Edna Dias Canedo, UnB Flávio Elias Gomes de Deus, UnB Maristela Terto de Holanda, UnB Laerte Peotta de Melo, UnB Priscila América Solis M. Barreto, UnB Rafael Timóteo de Sousa Júnior, UnB Ricardo Staciarini Puttini, UnB Coordenadores do Comitê de Programa Jeroen van de Graaf, UFMG Luiz Fernando Rust da Costa Carmo, UFRJ Coordenadores de Minicursos Célia Ghedini Ralha, UnB Antonio Cândido Faleiros, UFABC Coordenadora do WTICG Michelle Nogueira, UFPR Coordenadores do WGID Michelle S. Wangham, UNIVALI Prof. Joni da Silva Fraga, UFSC Coordenador do Fórum de Segurança Corporativa Rafael Timóteo de Sousa Júnior, UnB

2

Mensagem da Coordenação Geral

O Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais (SBSeg) é um evento científico promovido anualmente pela Sociedade Brasileira de Computação (SBC). A partir de 2005, concomitantemente à criação da Comissão Especial em Segurança da Informação e de Sistemas Computacionais, o SBSeg deixou de ser organizado como um workshop e passou a ser um simpósio completo. Isso permitiu que, imediatamente, passasse a atender às demandas crescentes da comunidade brasileira de pesquisadores e profissionais atuantes na área e assumisse a posição de principal fórum no País para a apresentação de pesquisas e atividades relevantes ligadas à segurança da informação e de sistemas. Desde que se estabeleceu como simpósio em 2005, o evento foi organizado, com grande sucesso, nas cidades de Florianópolis, Santos, Rio de Janeiro, Gramado, Campinas e Fortaleza. A 11ª. edição do simpósio ocorre entre 6 e 11 de novembro de 2011 em Brasília, DF, organizada pelo grupo de Engenharia de Redes do Departamento de Engenharia Elétrica e pelo Departamento de Ciência da Computação, ambos da Universidade de Brasília. O simpósio conta com uma rica variedade de atividades, a saber: 7 sessões técnicas de artigos completos e resumos estendidos, 6 minicursos, 4 palestras proferidas por especialistas estrangeiros, Painel de Segurança e Defesa Cibernética, Fórum de Segurança Corporativa e Workshop de Trabalhos de Iniciação Científica e de Graduação e o 1º. Workshop de Gestão de Identidades. Um aspecto fundamental do SBSeg é o comprometimento com a qualidade. Tem operado seguindo, rigorosamente, indicadores visando ao atendimento do padrão Qualis A, conforme critérios da CAPES. Entre esses critérios, destacamos a taxa de aceitação de artigos completos inferior de 33% e a composição de Comitês de Programa por pesquisadores brasileiros e estrangeiros com grande renome e inserção na área. Para a realização do SBSeg 2011, o envolvimento e a colaboração de várias pessoas e entidades foram imprescindíveis. Em especial, gostaríamos de agradecer aos membros do comitê de organização geral e local que, por conta de seu trabalho voluntário e incansável, ajudaram a proporcionar à comunidade de segurança um evento que julgamos de ótimo nível técnico. Gostaríamos de agradecer, também, à SBC, pelo apoio prestado ao longo das muitas etapas da organização, e aos patrocinadores, pelo incentivo à divulgação de atividades de pesquisa conduzidas no País e pela confiança depositada neste Simpósio. Por fim, nossos agradecimentos aos alunos, técnicos e professores do Laboratório de Engenharia de Redes (LabRedes), Laboratório de Tecnologias da Tomada de Decisão (Latitude), Grupo de Pesquisa Crypto&InformationTheory e Programa de PósGraduação em Engenharia Elétrica (PPGEE), da UnB, por viabilizarem a realização de um evento do porte do SBSeg. Nesta semana de 6 a 11 de novembro estão reunidos em Brasília estudantes, professores, pesquisadores, governo e profissionais da indústria, todos com o objetivo de trocar ideias, compartilhar experiências e estabelecer laços pessoais. Brasília é, portanto, o centro da discussão sobre avanços realizados e desafios a serem superados na área de segurança da informação e de sistemas. Sejam bem-vindos ao Planalto Central e desfrutem de uma semana agradável e proveitosa! Anderson Clayton Alves Nascimento, UnB Rafael Timóteo de Sousa Júnior, UnB Coordenadores Gerais do SBSeg 2011

3

Mensagem dos Coordenadores do Comitê de Programa
O Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais (SBSeg) é um evento já consolidado como um dos importantes eventos científicos no país. E, na sua décima primeira edição, continua a suaeimportância. Foram 81 registros O Simpósio Brasileiro em Segurança daa mostrar Informação de Sistemas Computacionais para submissão de artigos, dos quais sessenta e um (61) foram integralmente realizados, (SBSeg) é um evento já consolidado como um dos importantes eventos científicos no país. abrangendo os diversos tópicos definidos para o evento. Desse conjunto foram selecionados E, na sua décima primeira edição, continua a mostrar a sua importância. Foram 81 registros dezenove (19) artigos completos e um (1) na forma de (61) artigo curto. para submissão de artigos, dos quais sessenta e um foram integralmente realizados, abrangendo os diversos tópicos definidos para o evento. Desse conjunto foram selecionados Com estes números compondo um programa bastante dezenove (19) artigos estamos completos e um (1) na forma de artigo curto. diversificado, com sete sessões técnicas, que expressa através dos trabalhos selecionados a qualidade da pesquisa realizada nonúmeros país na área de Segurança. Com estes estamos compondo um programa bastante diversificado, com sete sessões técnicas, que expressa através dos trabalhos selecionados a qualidade da pesquisa O Simpósio Brasileiro em realizada no país na área de Segurança Segurança. da Informação e de Sistemas Computacionais vem nos últimos anos se caracterizando por um processo de seleção de artigos bastante criterioso, envolvendo etapas. Neste trabalho árduo uma parte considerável O Simpósio Brasileiro várias em Segurança da Informação e departicipa Sistemas Computacionais vem da comunidade científica brasileira de Segurança. E neste de momento é bom que se divida o nos últimos anos se caracterizando por um processo seleção de artigos bastante reconhecimento e os elogios com todas estas pessoas que participaram deste processo que criterioso, envolvendo várias etapas. Neste trabalho árduo participa uma parte considerável resultou no programa do SBSeg 2011. da comunidade científica brasileira de Segurança. E neste momento é bom que se divida o reconhecimento e os elogios com todas estas pessoas que participaram deste processo que Em primeiro lugar, é importante o agradecimento aos 239 autores, na sua maioria formada resultou no programa do SBSeg 2011. por brasileiros (236), que reconhecem a importância do SBSeg e que a cada nova edição ajudam a manter os é números de submissões em níveis expressivos. É asua continuidade destes Em primeiro lugar, importante o agradecimento aos 239 autores, na maioria formada números de submissões e de autores envolvidos que definitivamente consolidou o simpósio. por brasileiros (236), que reconhecem a importância do SBSeg e que a cada nova edição ajudam a manter os números de submissões em níveis expressivos. É a continuidade destes É importante também o e agradecimento e o reconhecimento a todos os colegas membros do números de submissões de autores envolvidos que definitivamente consolidou o simpósio. Comitê de Programa que este ano contou com 42 especialistas nos temas do simpósio. Destes, 3 sãotambém convidados de instituições estrangeiras, e os demais atuam no Brasil. do O É importante o agradecimento e o reconhecimento a todos os colegas membros trabalho de destes colegas, completamente voluntário, muito importante nestado edição. Este Comitê Programa que este ano contou com 42foi especialistas nos temas simpósio. trabalho 3 que não se encerrade com o processoestrangeiras, de seleção, continua aindaatuam com a no coordenação Destes, são convidados instituições e os demais Brasil. O das sessões técnicas. trabalho destes colegas, completamente voluntário, foi muito importante nesta edição. Este trabalho que não se encerra com o processo de seleção, continua ainda com a coordenação No processo de seleção, tivemos a participação de 91 revisores e nisto se inclui também os das sessões técnicas. membros do comitê de programa, gerando um total de 201 revisões. Foram pelo menos três revisões parade cada artigotivemos submetido. Agradecemos todo o empenho destes revisores paraos a No processo seleção, a participação de 91 revisores e nisto se inclui também confecção de diagnósticos técnicos e precisos, e para a imprescindível contemporização na membros do comitê de programa, gerando um total de 201 revisões. Foram pelo menos três hora da solução de artigo conflitos. revisões para cada submetido. Agradecemos todo o empenho destes revisores para a confecção de diagnósticos técnicos e precisos, e para a imprescindível contemporização na hora da solução de conflitos. Gostaríamos também de agradecer à Coordenação Geral do SBSeg 2011 pelo convite honroso e a confiança que nos depositou ao nos fazer coordenadores do Comitê de Programa do SBSeg 2011 . Os demais participantes da Organização simpósio foram também Gostaríamos também de agradecer à Coordenação Geral dodo SBSeg 2011 pelo convite honincansáveis na tarefa de fornecer os meios necessários para que o Comitê de Programa roso e a confiança que nos depositou ao nos fazer coordenadores do Comitê de Programa atingisse todos seus objetivos. do SBSeg 2011os . Os demais participantes da Organização do simpósio foram também incansáveis na tarefa de fornecer os meios necessários para que o Comitê de Programa Finalmente, queremos desejar aos participantes que são a razão maior do nosso evento, que atingisse todos os seus objetivos. tenham um excelente SBSeg!!
Jeroen van de Graaf (DCC/UFMG) Luiz Fernando Rust da Costa Carmo (INMETRO) Coordenadores do Comitê de Programa do SBSeg 2011

4

Mensagem da Coordenadora do WTICG
Mensagem  do  Coordenador  do  WTICG/SBSeg  2011     O   Workshop   de   Trabalhos   de   Iniciação   Científica   e   de   Graduação   (WTICG)   do   Simpósio   Brasileiro   em   Segurança   da   Informação   e   de   Sistemas   Computacionais   (SBSeg)  visa  incentivar  a  participação  de  recém-­‐graduados  e  de  alunos  de  graduação   na   produção   e   divulgação   de   trabalhos   científicos,   fortalecendo   a   comunicação   e   a   troca   de   conhecimentos   sobre   pesquisas   já   concluídas   e   em   andamento.   Nesta   quinta  edição,  o  WTICG  contou  com  18  artigos  submetidos.  Dentre  estes,  há  artigos   das   mais   diversas   unidades   federativas   do   Brasil,   apontando   a   crescente   atratividade  e  visibilidade  do  evento.       O  Comitê  de  Programa  desta  edição  do  WTICG  foi  constituído  por  12  pesquisadores.   Esse   comitê   contou   ainda   com   o   apoio   de   8   avaliadores   externos,   sendo   3   destes   avaliadores   anônimos,   formando   uma   equipe   de   20   profissionais   para   a   condução   do  processo  de  avaliação  dos  artigos.  Cada  artigo  recebeu  pelo  menos  3  avaliações   independentes  e,  ao  final  do  processo  de  avaliação  dos  artigos  submetidos,  tivemos   ao  todo  56  revisões.  Dentre  os  18  artigos  submetidos,  10  artigos  foram  selecionados   para   a   publicação   e   apresentação   oral   no   evento.   Ressalto   que   todos   os   artigos   selecionados   atenderam   à   restrição   dos   autores   serem   estudantes   de   graduação   regularmente   matriculados,   ou   ainda,   recém-­‐graduados   que   tenham   concluído   a   graduação  após  30  de  junho  de  2010.     A   programação   do   WTICG   está   divida   em   3   sessões   técnicas   que   cobrem   temas   variados   nas   áreas   de   segurança   da   informação   e   segurança   de   sistemas   computacionais.  A  primeira  sessão  trata  especificamente  de  problemas  relacionados   ao  Gerenciamento  de  Chaves  e  de  Certificados.  A  segunda  sessão  contém  artigos  que   investigam  problemas  relacionados  à  Segurança  em  Redes  e  Sistemas.  Finalmente,  a   terceira  sessão  é  dedicada  a  artigos  sobre  Gerência  de  Identidade  e  Anonimato.       Gostaria   de   agradecer   aos   membros   do   comitê   de   programa   e   aos   revisores   por   terem  aceitado  participar  voluntariamente  dos  processos  de  divulgação  e  avaliação   neste   evento.   Agradeço-­‐os   também   pela   competência   e   dedicação   na   realização   do   processo   de   avaliação   dos   artigos.   Gostaria   de   expressar   também   os   meus   agradecimentos   aos   coordenadores   gerais   do   SBSeg   2011   pela   oportunidade   e   confiança   ao   me   atribuírem   essa   função.   Finalmente,   gostaria   de   agradecer   aos   autores  que  submeteram  os  seus  trabalhos  e  que  anualmente  fortalecem  o  interesse,   visibilidade  e  sucesso  crescentes  do  WTICG.     Saúdo  a  todos  os  participantes  do  V  Workshop  de  Trabalhos  de  Iniciação  Científica  e   de  Graduação  com  os  votos  de  um  excelente  workshop  e  de  uma  excelente  estadia   em  Brasília!     Michele  Nogueira    
5

Mensagem dos Coordenadores do WGID

O Workshop de Gestão de Identidades (WGID), evento integrante do SBSeg, visa ser um fórum para discussões e apresentações técnicas de trabalhos recentes e/ou em andamento em torno do estado da arte de tecnologias relacionadas com gestão de identidades. Além disso, busca-se também identificar os desafios de pesquisa na área e possibilitar o mapeamento dos grupos de pesquisa. Pesquisadores foram convidados a submeter trabalhos originais relacionados à Gestão de Identidades, sendo que quatro trabalhos foram selecionados e serão apresentados na sessão técnica. Gostaríamos de agradecer todo o empenho dos membros do comitê de programa pela alta qualidade do trabalho realizado nas revisões. Registramos um agradecimento especial a todos os autores que prestigiaram o I WGID ao submeterem trabalhos relatando suas pesquisas. O programa do Workshop contemplará ainda duas palestras do pesquisador David Chadwick (University of Kent), uma palestra do Sr. Ruy Ramos, representante do ITI (Instituto Nacional de Tecnologia da Informação), uma palestra do Sr. Paulo Ayran, represente do Comitê Gestor do RIC (Registro de Identidade Civil), uma palestra da equipe de serviços da RNP (Rede Nacional de Ensino e Pesquisa), uma palestra sobre o projeto EduRoam.br e um painel com pesquisadores brasileiros que discutirá os desafios de segurança na gestão de identidades. Gostaríamos também de agradecer a todos que colaboraram na organização do WGID, especialmente, ao André Marins (RNP) e aos professores Noemi Rodriguez e Ricardo Custódio (coordenadores do Comitê Técnico de Gestão de Identidades da RNP). Agradecemos ainda o apoio financeiro da Rede Nacional de Ensino e Pesquisa (RNP) e o apoio da Comissão Especial em Segurança da Informação e de Sistemas Computacionais da SBC e da Coordenação Geral do SBSeg 2011 e de toda a sua equipe do comitê local. Em nome do Comitê de Programa, saudamos a todos os participantes do WGID 2011, com votos de um evento bastante profícuo. Prof. Joni da Silva Fraga, UFSC Profa. Michelle S. Wangham, UNIVALI Coordenadores do Comitê de Programa do WGID 2011

6

Comitê de Programa e Revisores do SBSeg

Aldri dos Santos - UFPR Alexandre Alexandre - FEEC Altair Santin - PUCPR Anderson Nascimento -UNB André dos Santos - UECE André Grégio - CTI Antonio Maio - Kryptus Arlindo L. Marcon Jr. - PUCPR Arun Lakhotia - University of Louisiana USA Bruno Augusti Mozzaquatro - UFSM Carla Merkle Westphall - UFSC Carlos Maziero - UTFPR Carlos Westphall - UFSC Célio Vinicius Neves de Albuquerque - UFF Charles Prado - INMETRO Cinthia Freitas - PUCPR Claudio Miceli de Farias - UFRJ Cleber Kiel Olivo - PUCPR Cleber Souza - UNICAMP Craig Miles - University of Louisiana USA Daniel Fernandes Macedo - UFMG Dario Fernandes - UNICAMP Davi Böger - UFSC Davidson Boccardo - INMETRO Dener Didoné - UFPE Diogo Mattos - UFRJ Djamel H. Sadok -UFPE Dorgival Guedes - UFMG Elisa Mannes - UFPR Emerson Ribeiro de Mello - IF-SC Fernando Gielow - UFPR Fernando Teixeira - UFMG Flavia Delicato - UFRJ Gabriel Cavalcante - UNICAMP George Cavalcanti - UFPE Gliner Alencar - UFPE Hao Chi Wong - Intel USA Henrique Arcoverde - UFPE Hugo Carvalho - UFRJ Jacques Facon - PUCPR Jean Martina - University of Cambridge GB Jeroen van de Graaf - UFMG Joaquim Celestino Júnior - UECE José De Souza - UFC Joni da Silva Fraga - UFSC Julio Hernandez - UNICAMP Lau Cheuk Lung - UFSC Leonardo Fagundes - Unisinos Leonardo Oliveira - UNICAMP Leonardo Ribeiro - INMETRO Lisandro Zambenedetti Granville - UFRGS

Luci Pirmez - UFRJ Luciano Paschoal Gaspary - UFRGS Luiz Fernando Rust da Costa Carmo - UFRJ Luiz Carlos Albini - UFPR Lyno Ferraz - UFRJ Maicon Stihler - PUCPR Marinho Barcellos - UFRGS Mauro Fonseca - PUCPR Michel Abdalla - École Normale Supérieure FR Michele Nogueira - UFPR Michelle Wangham - Univali Natalia Castro Fernandes - UFRJ Otto Carlos Muniz Bandeira Duarte UFRJ Paulo Barreto - USP Paulo Mafra - UFSC Paulo Padovan - UFPE Paulo André da Silva Gonçalves - UFPE Pedro Pisa - UFRJ Pedro Velloso - UFF Rafael Obelheiro - UDESC Raphael Machado - INMETRO Raul Ceretta Nunes - UFSM Raul Weber - UFRGS Reinaldo Braga - UFC Ricardo Custódio - UFSC Ricardo Dahab - UNICAMP Ricardo Tombesi Macedo - UFSM Roben Lunardi - UFRGS Roberto Gallo - Kryptus Robson Gomes de Melo - UFPR Rossana Andrade - UFC Routo Terada - USP Silvana Rossetto - UFRJ Thiago Rosa - PUCPR Tiago Nascimento - UFRJ Vinícius Thiago - Exército Brasileiro Vinicius Moll - UFSC Vitor Afonso - UNICAMP Weverton Luis da Costa Cordeiro - UFRGS Wilton Speziali Caldas - Empresa1

7

Comitê de Programa e Revisores do WTICG

Coordenação Geral do SBSeg2011 Anderson Nascimento, UnB Coordenação do Workshop Michelle S. Wangham, UNIVALI Ricardo Custódio, UFSC Noemi Rodriguez, PUC-RIO André Marins, RNP Coordenação do Comitê de Programa Joni Fraga, UFSC Michelle Wangham, UNIVALI Comitê de Programa Aldri dos Santos, UFPR Altair Santin, PUC-PR Débora Muchaluat, UFF Eleri Cardozo, UNICAMP Emerson Ribeiro de Mello, IFSC Jeroen van der Graaf, UFMG Joni Fraga, UFSC Marinho Barcellos, UFRGS Michelle Wangham, UNIVALI Michele Nogueira, UFPR Noemi Rodriguez, PUC-Rio Ricardo Custódio, UFSC Roberto Samarone, UFPA Vinod Rebello, UFF

8

UFSC Noemi Rodriguez. UFF Revisores Aldri dos Santos. UFSC Maicon Stihler. IFSC Jeroen van der Graaf. UFPR Altair Santin. PUC-Rio Ricardo Custódio. UFPA Vinod Rebello. UFPR Altair Santin. UnB Coordenação do Workshop Michelle S. PUCPR Marinho Barcellos. PUC-RIO André Marins. PUC-PR Débora Muchaluat. UFSC Michelle Wangham. UFF Eleri Cardozo.Comitê de Programa e Revisores do WGID Coordenação Geral do SBSeg2011 Anderson Nascimento. UFSC Roberto Samarone. Wangham. IFSC Jeroen van der Graaf. UNIVALI Ricardo Custódio. RNP Coordenação do Comitê de Programa Joni Fraga. UFMG Joni Fraga. UFPR Noemi Rodriguez. UNICAMP Emerson Ribeiro de Mello. UFF Eleri Cardozo. UNIVALI Michele Nogueira. UNICAMP Emerson Ribeiro de Mello. UFRGS Michelle Wangham. UFPR 9 . UNIVALI Michele Nogueira. UNIVALI Comitê de Programa Aldri dos Santos. PUC-PR Débora Muchaluat. UFMG Joni Fraga. UFRGS Michelle Wangham. UFSC Marinho Barcellos.

Sumário dos Anais dos Artigos SBSeg 2011 Um Mecanismo de Proteção de Quadros de Controle para Redes IEEE 802.11 Tratamento Automatizado de Incidentes de Segurança da Informação em Redes de Campus Uma Ontologia para Mitigar XML Injection Carimbos do Tempo Autenticados para a Preservação por Longo Prazo de Assinaturas Digitais SCuP .Secure Cryptographic Microprocessor Fault Attacks against a Cellular Automata Based Stream Cipher Zero-knowledge Identification based on Lattices with Low Communication Costs A Framework for Fully Simulatable Oblivious Transfer Syndrome-Fortuna: A viable approach on Linux random number generation SpSb: um ambiente seguro para o estudo de spambots Fatores que afetam o comportamento de spammers na rede Segmentação de Overlays P2P como Suporte para Memórias Tolerantes a Intrusões Caracterização e Modelagem da Disseminação de Conteúdo Ilícito em Sistemas Par-a-Par de Compartilhamento de Arquivos Método Heurístico para Rotular Grupos em Sistema de Detecção de Intrusão baseado em Anomalia 15 29 43 57 71 85 95 108 122 135 141 155 169 183 10 .

Detecção de Intrusos usando Conjunto de k-NN gerado por Subespaços Aleatórios Combinando Algoritmos de Classificação para Detecção de Intrusão em Redes de Computadores Static Detection of Address Leaks Um esquema bio-inspirado para tolerância à má-conduta em sistemas de quórum para MANETs Aumentando a segurança do MD6 em relação aos ataques diferenciais Acordo de Chave Seguro contra Autoridade Mal Intencionada 197 211 225 239 253 265 11 .

Sumário dos Anais WTICG Especificação de Propriedades Temporais do Protocolo de Chaves Públicas Needham Schroeder Troca de Chaves Criptográficas com Redes Neurais Artificiais Análise e implementação de um protocolo de gerenciamento de certificados Mobile Steganography Embedder Avaliação do Impacto do Uso de Assinaturas Digitais em uma Aplicação Distribuída que Utiliza Redes Veiculares Uma Avaliação de Segurança no Gerenciamento de Mobilidade nas Redes em Malha sem Fio Análise Visual de Comportamento de Código Malicioso Uma Maneira Simples de Obter Regiões de Interesse em Imagens de Impressões Digitais Uma aplicação de privacidade no gerenciamento de identidades em nuvem com uApprove A New Scheme for Anonymous Communication in Wireless Mesh Networks 280 290 300 310 320 329 339 349 359 369 12 .

Sumário dos Anais WGID Avaliação de um Sistema de Gestão de Identidade e Acesso em uma Organização Pública Federal Uma Plataforma para Gerenciamento de Identidades de Software como Serviço em uma Infraestrutura como Serviço Electronic Documents with Signature Constraints Using Notary Based Public Key Infrastructure in Shibboleth 378 388 397 405 13 .

ANAIS 14 .

11 control frames against such attacks.˜ o de Quadros de Controle Um Mecanismo de Protec ¸a para Redes IEEE 802. Isso permite que entidades maliciosas.br Abstract. Em geral.ufpe. De todos os quadros definidos pelo padr˜ ao IEEE 802.11 [IEEE Standard 802. Gonc ¸ alves Centro de Inform´ atica (CIn) Universidade Federal de Pernambuco (UFPE) 50. Corrˆ ea Junior. Introduc ¸a As redes locais sem fio que seguem o padr˜ ao IEEE 802.11 ´ Marcos A. ˜o 1. O padr˜ ao IEEE 802. Compared to similar studies that aim to protect all the control frames.11 define trˆ es tipos de quadros: quadros de dados. Al´ em de proteger todos ` negac ˜ o de servic os quadros de controle indistintamente.11 stardard are not yet protected by any kind of security mechanism. nesses quadros. manipulac ¸a ¸a ˜ o e reinjec ˜ o desses quadros a fim de gerar algum tipo de negac ¸a ¸ o na rede. Techniques to forge or tamper control frames as well as techniques to reinject them into the network are typically used under such attacks. um overhead significativamente menor em comparac ¸a em se prop˜ oem a ˜ o aos trabalhos relacionados que tamb´ proteger todos os quadros de controle. o mecanismo proposto possui um maior grau de seguranc ¸ a e introduz. apenas os quadros de controle ainda n˜ ao possuem qualquer tipo de mecanismo de seguranc ¸ a. C. Paulo Andr´ e da S. O mecanismo proposto se vale do uso de n´ umeros de sequˆ encia e da gerac ¸a ˜ o de C´ odigos de Autenticac ¸a ¸o ˜ o de Mensagem a fim de evitar que estac ˜ es maliciosas. The proposed mechanism protects all the control frames by using sequence numbers and Message Authentication Codes. Only control frames of all the frame types defined by IEEE 802. empresas e locais p´ ublicos como shoppings. quadros de gerenciamento e quadros de controle. essas vulnerabilidades s˜ ao exploradas atrav´ es do uso malicioso dos diferentes tipos de quadros que trafegam na rede. mesmo n˜ ao pertencentes a ` rede.740-560 – Recife – PE – Brasil {maccj. Os mecanismos de seguranc ¸ a que atuam na camada ` descoberta recorrente de vulenlace dessas redes tˆ em evolu´ ıdo frequentemente devido a nerabilidades [Tews 2007]. the proposed mechanism has reduced overhead and provides increased security. Os quadros de dados s˜ ao utilizados para transportar dados e algumas 15 . pasg}@cin. aeroportos e restaurantes. manipular ou reinjetar quadros de controle que levariam a ¸a ¸ os. Resumo. This paper proposes a mechanism for protecting IEEE 802.11.11 2007] vˆ em sendo amplamente adotadas em residˆ encias. This makes it easier for malicious entities to exploit them in order to carry out deny-of-service attacks on the network. se utilizem de t´ ecnicas de forjamento. n˜ ao pertencentes a ` rede. tenham sucesso ao forjar. Este artigo prop˜ oe ˜ o de servic um mecanismo de seguranc ¸ a para os quadros de controle do IEEE 802.11.

11 1999]. o que permitiu uma ampla janela de tempo para o desenvolvimento de v´ arios ataques efetivos aos quadros ˜ o de clientes de gerenciamento.11k 2008] [IEEE Standard 802. causando.˜ es de controle em seu cabec informac ¸o ¸ alho. tenham sucesso ao forjar.11r 2008] [IEEE Standard 802. Exemplos incluem o ˜ o por um per´ bloqueio do uso do canal de comunicac ¸a ıodo de tempo pr´ e-determinado. s˜ ao usados principalmente para a reserva do canal de comunicac ¸a ˜ o do recebimento de alguns tipos de quadros. o WPA (Wi-Fi Protected Access) [Wi-Fi Alliance 2003] e o WPA2 [IEEE ´ considerado ultrapassado Standard 802.11v 2011]. ainda n˜ ao existe um padr˜ ao IEEE que se proponha a proteger os quadros de controle dessas redes contra qualquer tipo de ataque.11 e os ataques existentes contra eles. por sua vez. Tamb´ em n˜ ao h´ a qualquer grupo de trabalho IEEE desenvolvendo emendas para a seguranc ¸ a desses quadros. entre outras coisas.11w 2009]. mecanismo de seguranc ¸ a para a protec ¸a ˜ o de C´ O mecanismo proposto se vale do uso de n´ umeros de sequˆ encia e da gerac ¸a odigos ˜ o de Mensagem ou MACs (Message Authentication Codes) a fim de evitar de Autenticac ¸a ˜ ` rede. os seguintes protocolos de seguranc Em relac ¸a ¸a ¸a foram definidos ao longo dos anos: o WEP (Wired Equivalent Privacy) [IEEE Standard 802. Dentre os protocolos citados. um overhead significativamente menor em ˜ o aos trabalhos relacionados que tamb´ comparac ¸a em se prop˜ oem a proteger todos os quadros de controle. ˜ o 2 apresenta O restante deste artigo est´ a organizado da seguinte forma: a Sec ¸a ˜o 3 os quadros de controle do IEEE 802. identificadores baseados em localizac ¸a ˜ o de handoffs r´ execuc ¸a apidos) [IEEE Standard 802. Al´ em de proteger todos os quadros de controle indistintamente. o mecanismo proposto possui um maior grau de seguranc ¸ a e introduz. A emenda IEEE 802. [Khan and Hasan 2008]. Essa ementa foi ratificada a qual complementa as especificac ¸o somente uma d´ ecada ap´ os o surgimento do padr˜ ao IEEE 802. A ausˆ encia de mecanismos de seguranc ¸ a nos quadros ˜ o maliciosa. descarte dessas informac ¸o Por causa do impacto dos v´ arios ataques aos quadros de controle. o ˜ es. Exemplos incluem o pedido falsificado de desassociac ¸a ˜ es sens´ leg´ ıtimos da rede e a captura de informac ¸o ıveis sendo transportadas nesses quadros ˜ o e dados para (e. Contudo. nesses quadros. diversas pesquisas vˆ em sendo realizadas com o intuito de prover mecanismos efetivos para a seguranc ¸a desses quadros [Myneni and Huang 2010]. para a confirmac ¸a ˜o a ` protec ˜ o dos quadros de dados.11w associada ao WPA2 resolve grande parte das vulnerabilidades conhecidas nas redes IEEE 802. efetuar dide controle permite a qualquer estac ¸a ao a ˜ o de servic versos ataques de negac ¸a ¸ o ou DoS (Denial-of-Service).11.11w [IEEE Standard 802. Este artigo prop˜ oe um ˜ o dos quadros de controle de redes IEEE 802.11i 2004]. n˜ ao pertencentes a ` negac ˜ o de servic ou reinjetar quadros de controle que levariam a ¸a ¸ os. na pr´ atica. Os quadros de conassociac ¸a ¸o ˜o e trole. para sinalizar a presenc ¸ a de uma rede sem fio. gerenciamento e ˜ es do WPA e do WPA2. iniciar e encerrar a ˜ o de estac ˜ es com o Ponto de Acesso ou AP (Access Point). manipular que estac ¸ oes maliciosas. J´ a a protec ¸a ´ especificada na emenda IEEE 802. dados sobre recursos de r´ adio.11.g. o WEP e ˜ o aos quadros de dada a sua longa lista de vulnerabilidades [Tews 2007].11. pertencente ou n˜ ` rede. Os quadros de gerenciamento s˜ ao usados. A Sec ¸a 16 . a ˜ o falsa de recebimento de informac ˜ es que n˜ confirmac ¸a ¸o ao foram efetivamente recebidas ˜ o falsificada de transmiss˜ ˜ es armazenadas no AP que seriam e a solicitac ¸a ao de informac ¸o ˜ es que n˜ destinadas a estac ¸o ao estariam prontas para recebˆ e-las.

Enderec ¸ o 2 e FCS (Frame Check Sequence). 17 . Ele permite identificar o tipo de quadro e provˆ e algumas informac ¸o de controle. O RTS possui 20 bytes de comprimento.1. a Sec ¸a apresenta as conclus˜ oes deste trabalho. Durac ¸a ¸ o 1. o mecanismo RTS/CTS permite a reserva do canal ˜ o para a troca de dados. O quadro CTS possui 4 dos 5 campos do quadro RTS. ou seja. O campo FCS possui 4 bytes e e ¸a de erros. E a nos ataques de origem externa. O campo Durac ¸a ˜ o possui 2 bytes e informa o tempo de reserva do canal. Ao receber o RTS. portanto.11 n˜ ao provˆ e qualquer meca˜ o de quadros de controle. enviando um quadro RTS. Um n´ meio de comunicac ¸a o que deseja transmitir dados inicia um handshake com o destinat´ ario. o uso do mecanismo RTS/CTS s´ de comunicac ¸a o ocorre quando o tamanho do quadro com os dados excede um limiar pr´ e-definido que pode variar de 0 a 2347 bytes. 2. RTS (Request To Send) e CTS (Clear to Send) ´ utilizado em redes IEEE 802. No ang 2010]: o ataque de replay e o ataque de injec ¸a ˜ primeiro ataque. Finalmente. Tal per´ ıodo engloba ˜ o da confirmac ˜o o tempo necess´ ario para a subsequente transmiss˜ ao dos dados e recepc ¸a ¸a de seu recebimento. Os diversos ataques contra tais qua´ importante ressaltar que o foco deste artigo est´ dros tamb´ em s˜ ao apresentados. respectivamente. uma estac ¸a ` rede. O campo ausente no CTS ´ o campo Enderec e ¸ o 2. bloqueando temporariamente nesses ataques executam as ac ¸o ˜ o de servic suas transmiss˜ oes e. O campo ˜ o.11 para a reduc ˜ o de colis˜ O mecanismo RTS/CTS e ¸a oes no ˜ o. Os campos Enderec Seu valor m´ aximo e ¸o 1 e 2 possuem 6 bytes cada e representam.apresenta os trabalhos relacionados e como o trabalho proposto se diferencia de cada um ˜ o 4 apresenta o mecanismo proposto neste artigo para a protec ˜ o dos quadeles. deve postergar suas transmiss˜ oes por um determinado per´ ıodo de tempo. pertencentes a 2. Tipicamente. sofrendo uma negac ¸a ¸ o.11 ˜ o apresenta as funcionalidades dos 8 tipos de quadros de controle definidos pelo Esta sec ¸a padr˜ ao IEEE 802. tornando o comprimento do quadro igual a 14 bytes.11 2007]. o enderec ¸ o do receptor e do ´ preenchido com um CRC-32 para a detecc ˜o transmissor. Enderec ˜ es FC possui 2 bytes. Este u ´ ltimo ataque pode ser CTS com um ou mais campos forjados e os envia a ˜ o maliciosa preencher o campo Durac potencializado se a estac ¸a ¸a ˜ o desses quadros com o valor m´ aximo permitido. A Sec ¸a ¸a ˜ o 5 apresenta um estudo do overhead introduzido dros de controle IEEE 802.11 2007]. Assim sendo. sendo dividido em 5 campos: FC (Frame Control). nem de identificac ˜ o de quadros de controle nismo de autenticac ¸a ¸a ˜ es que escutam os quadros RTS e CTS usados previamente transmitidos. ´ de 32.11. naqueles executados por entidades maliciosas n˜ ao ` rede sem fio. Assim. ao escutar o RTS ou o CTS enviados. Existem dois ataques conhecidos contra o mecanismo RTS/CTS [Myneni and Hu˜ o de RTS e CTS falsificados. o destinat´ ario responde com um quadro CTS. Qualquer outro n´ o da rede. uma estac ¸ ao maliciosa escuta o canal para capturar quadros RTS ou CTS ˜ o maliciosa cria quadros RTS ou e reinjet´ a-los na rede.767 µs [IEEE Standard 802. as estac ¸o ˜ es previstas pelo protocolo. No segundo ataque.11 [IEEE Standard 802. A Sec ¸a ˜o 6 pelo mecanismo proposto no tr´ afego total de uma rede sem fio. Quadros de Controle do IEEE 802. Ambos os ataques s˜ ao efetivos porque o IEEE 802.

Em [Rachedi and Benslimane 2009]. Um estudo sobre o uso malicioso atrav´ es da falsificac ¸a ¸o ´ apresentado em [Cam-Winget et al.11n. o Block Ack Starting Sequence Control possui 2 bytes e inclui. ao receber o ACK forjado. Os ataques conhecidos aos qua˜ o de ACK falsificado e ataque de replay. O campo Block Ack ´ Starting Sequence Control. Os demais campos possuem tamanho e descric ¸a aos apresentados para o quadro RTS. ˜ o em bloco de quadros tamb´ O mecanismo de confirmac ¸a em pode ser explorado ˜ o de informac ˜ es em quadros BAR.11e [IEEE Stan˜ o IEEE dard 802. enviar um ACK falsificado que confirma ao ˜ o das informac ˜ es enviadas. O ACK possui o mesmo formato e tamanho do CTS. ACK (Acknowledgement) Os quadros ACK s˜ ao usados para confirmar o recebimento de alguns tipos de quadros. Os autores demostram que os quadros ACK tempo de reserva do canal de comunicac ¸a ˜o podem ser utilizados de forma t˜ ao efetiva quanto os quadros RTS/CTS para a negac ¸a ´ apresentado um ataque denominado de servic ¸ os. Em [Chen dros ACK s˜ ao os seguintes: injec ¸a ´ mostrado como forjar ACKs para a manipulac ˜ o do and Muthukkumarasamy 2006]. O quadro BAR e ´ usado para se requisitar a usando apenas um quadro de confimac ¸a ˜ o de recepc ˜ o de um bloco de quadros enquanto o quadro BA serve como resconfirmac ¸a ¸a ˜ o de recepc ˜ o de um bloco posta. entre outras coisas. Caso a colis˜ emissor a correta recepc ¸a ¸o ao tenha sido efetuada com sucesso. O campo Block Ack Bitmap possui 128 bytes e informa. entre outras informac ¸o n´ umero de sequˆ encia do primeiro quadro em um bloco. Block Ack Bitmap e FCS (Frame Check Sequence). tamb´ em de 2 bytes. Os demais campos possuem o mesmo tamanho e descric ¸a a apresentados para os quadros RTS. atrav´ es de um mapa de bits. Esses quadros s˜ ao usados para permitir a confirmac ¸a ˜ o. causando 18 . BAR control.2. Block Ack Starting ˜ o. e ¸a ˜ o. ´ formado por 7 campos: FC O quadro BAR possui 24 bytes de comprimento e e (Frame Control). em seguida.11e 2005] e tiveram suas funcionalidades estendidas pela especificac ¸a ˜ o de um bloco de quadros 802. O quadro BA possui 152 bytes de comprimento e inclui 8 campos: FC (Frame Control). para informar parˆ ee ametros de qualidade de servic ¸ o. BAR (Block Ack Request) e BA (Block Ack) Os quadros BAR e BA foram introduzidos pela emenda IEEE 802. O campo Durac ¸a ˜o ˜ o de tempo contida nele depende do quadro ser ou n˜ possui 2 bytes e a informac ¸a ao uma ˜ o similares resposta a um quadro BAR. Durac ¸a ¸ o 1. e usado para informar a qual quadro BAR pertence a resposta. informac ¸o 2. Os autores mostram dos quadros BAR e ´ poss´ que e ıvel manipular o n´ umero de sequˆ encia informado nos quadros BAR. e False Packet Validation. Block Ack Starting Sequence ˜ o. O quadro BA pode ainda ser utilizado para a confirmac ¸a ¸a de quadros sem a necessidade de uso do quadro BAR. concluir´ a erroneamente que as ˜ es transmitidas foram corretamente recebidas no receptor. BA control. Nesse ataque. Enderec ¸ o 2.2. O campo BA control possui ˜ es de controle espec´ 2 bytes e armazena informac ¸o ıficas do quadro. Enderec Control. O campo BAR control possui 2 bytes ´ usado. Enderec ¸ o 2. Enderec Sequence Control e FCS (Frame Check Sequence). O campo ˜ es.3. O campo Durac ¸a ˜ o possui 2 bytes ˜ o do quadro BA a ser e informa um tempo maior ou igual ao necess´ ario para a recepc ¸a ˜ o j´ enviado como resposta. quais quadros de um bloco n˜ ao foram recebidos. o emissor. Durac ¸a ¸ o 1. 2007]. a entidade maliciosa forc ¸ a a ocorrˆ encia de uma colis˜ ao num receptor-alvo para.

´ mostrado como o quadro PS-Poll pode ser utilizado Em [Qureshi et al. efetisendo. Os demais campos possuem tamanho e descric ¸a enticos aos j´ a apresentados para o RTS. Nesse caso.11 e utilizada para a oferta. Assim ˜ es pertencentes a outra estac ˜ o. 2009]. sendo utilizado pelo AP quando o mesmo preCF-End+CF-Ack combina duas func ¸o ˜ o e confirmar. PS-Poll (Power Save Poll) ˜ o que esteja utilizando gerenciamento Os APs s˜ ao projetados para dar suporte a toda estac ¸a ˜ o. 2010].o descarte de qualquer quadro com n´ umero de sequˆ encia menor do que o informado. e ¸a do campo Durac ¸a ¸ ar ataques que ˜ o dos quadros CF-End e CF-End+CF-Ack permite lanc 19 .4. perante ao AP. os quadros destinados a ¸a e que a mesma esteja pronta para a recepc ¸a ˜ o procura por beacons do AP que informam se existem Ao religar sua interface. Mais uma vez. 2. de autenticac ¸a 2. O significado dos demais campos e seus tamanhos s˜ ao idˆ enticos aos j´ a descritos para o RTS. Ambos os quadros possuem 20 bytes de comprimento divididos em 5 campos: FC (Frame Control). o ataque s´ oe ıvel por causa da falta ˜ o dos quadros PS-Poll. Em ˜ o. O AP deve armazenar interface de comunicac ¸a ` estac ˜ o at´ ˜ o de quadros. o ataque causa o “descarte” de informac ¸o ¸a ˜ o de servic ´ poss´ vando uma negac ¸a ¸ o. 2007]. ´ mostrado experimentalmente que a manipulac ˜o Em [Malekzadeh et al. O quadro ˜ es. Enderec particular a esses quadros. Ao receber o quadro falso. e ˜ o maliciosa assuma. beacon indicando que n˜ ao h´ a quadros armazenados para aquela estac ¸a ´ formado por 5 campos: FC O quadro PS-Poll possui 20 bytes de comprimento e e (Frame Control). Enderec ¸ o 2 e FCS (Frame Check Sequence). de per´ ıodos livres de contenc ¸a ` s estac ˜ es. o ` estac ˜ o leg´ AP enviar´ a os quadros armazenados que seriam destinados a ¸a ıtima. Caso haja.5. cisa informar o t´ ermino de um per´ ıodo livre de contenc ¸a quadros anteriormente recebidos. O campo AID representa um identificador de associac ¸a ¸a ˜ o idˆ 2 bytes. ao mesmo tempo. por parte do AP. Enderec ¸ o 2 e FCS (Frame Check ˜ o da estac ˜ o e possui Sequence. o campo Enderec ¸ o 1 deve conter o enderec ¸ o de broadcast da rede e o campo Durac ¸a ˜ o deve conter o valor zero. poucos dispositivos o implementam. Quando ˜ o termina. AID (Association ID). A estac ¸a sua interface ap´ os recuperar todos os quadros armazenados ou ap´ os ouvir do AP algum ˜ o. a estac ˜ o desliga e liga sua de energia em sua interface de comunicac ¸a ¸a ˜ o periodicamente para economizar energia. ´ nico quadro BAR manipulado pode causar uma negac ˜ o de servic Um u ¸a ¸ o na rede por 10 segundos [Koenings et al. a estac ¸a ˜ o deve enviar um quadro de controle quadros armazenados para ela. Por ser um m´ a ¸o etodo opcional. o AP transmite um quadro CF-End para liberar um per´ ıodo livre de contenc ¸a ˜ es das regras de operac ˜ o do modo PCF e inform´ as estac ¸o ¸a a-las do in´ ıcio do servic ¸ o ba˜ o sob o m´ seado em contenc ¸a etodo DCF (Distributed Coordination Function). Durac ¸a ¸ o 1. CF-End (Contention Free End) e CF-End+CF-Ack (CF-End+Contention Free Ack) ´ uma forma opcional de acesso ao meio definido A PCF (Point Coordination Function) e ˜o no IEEE 802. a identidade de uma estac ˜o para que uma estac ¸a ¸a leg´ ıtima para a qual o AP possua quadros armazenados. Enderec ¸ o 1. a estac ¸a ˜ o pode voltar a desligar PS-Poll para recuperar os quadros armazenados pelo AP.

mas no contexto de redes sem fio multihop. ´ apresentada uma proposta para se proteger apenas os quadros PS-Poll contra 2007].11F era uma extens˜ ao opcional do IEEE 802. s˜ ao apresentadas propostas para se minimizar os efeitos ˜ o do valor de ataques ao mecanismo RTS/CTS. as estac ¸o ˜ o da sequˆ and Starobinski 2007]. 3. o campo FCS dos SHA1. Em [Ray Nesse caso. Trabalhos Relacionados Em [Bellardo and Savage 2003]. bloqueando a comunicac ¸a ıtimos.11 e FCS dos quadros de controle deixa de ser preenchido com um CRC-32 para conter um ˜ o de 16 bits seguido de um CRC-16. 2006]. Como o MAC pode ser usado para verificac ¸a ´ eliminado. Para identificar ataques de replay e trole e poder torn´ a-los sem efeito. a mesma ideia de observac ¸a encia de transmiss˜ oes a partir ´ utilizada para se propor t´ ˜ o de ataques de um RTS e ecnicas n˜ ao-criptogr´ aficas de mitigac ¸a ao mecanismo RTS/CTS.11F e ¸a afica a ser utilizada. Outra proposta que visa proteger de forma criptogr´ afica todos os quadros de con´ apresentada em [Myneni and Huang 2010].11F do padr˜ ao 802. Uma das propostas consiste na limitac ¸a m´ aximo informado no campo Durac ¸a ˜ o dos quadros de controle.11. h´ a estudos que mostram fraquezas do ` SHAHMAC-SHA1 [Kim et al. ˜ es voltariam imediatamente a concorrer pelo uso do canal. O framework IAPP (Inter-Access Point Protocol) ou ´ utilizado para a distribuic ˜ o e gerenciamento da chave criptogr´ IEEE 802. Isso objetiva a manutenc ˜ o do c´ odigo de autenticac ¸a ¸a ˜o e ´ gerado por uma tamanho original dos quadros de controle. por exemplo. o Ainda em relac ¸a mesmo tamb´ em se prop˜ oe a proteger os quadros de controle por meio de um c´ odigo de ˜ o de mensagem (MAC). A ausˆ encia de dados ´ considerada uma indicac ˜ o de que a rede est´ transmitidos ap´ os o RTS e ¸a a sendo atacada. Os efeitos s˜ ao idˆ enticos aos obtidos com ataques similares a outros tipos de quadros de controle. Em 2006. O c´ odigo de autenticac ¸a vers˜ ao modificada de uma PRF (Pseudo Random Function) do WPA2 para produzir uma ˜ o torna sa´ ıda de 16 bits. ˜ o criptogr´ A primeira proposta de protec ¸a afica de todos os quadros de controle ´ apresentada em [Khan and Hasan 2008]. o campo do IEEE 802. o IEEE retirou a extens˜ das estac ¸o ao 802. [Rechberger and Rijmen 2008]. e ˜ o e replay. O prode servic ¸ os de comunicac ¸a tocolo permite a troca de contextos de seguranc ¸ a entre APs durante per´ ıodos de handoff ˜ es. tˆ especificac ¸o em sa´ ıda de pelo menos 128 bits. Contudo.11 para o provimento ˜ o entre APs compondo um ESS (Extended Service Set). Outra proposta consiste ˜ o da sequˆ na observac ¸a encia de transmiss˜ oes a partir de um RTS. O uso do MAC de 160 bits dificulta a falsificac ˜ o dos quadros de controle e ¸a ˜o a ` proposta em [Khan and Hasan 2008]. Nessa proposta. ˜ o ao trabalho apresentado em [Myneni and Huang 2010].11. Em [Qureshi et al. O MAC possui 160 bits e e ´ gerado atrav´ autenticac ¸a es do HMAC˜ o de integridade. Em particular a 20 .˜ o de dispositivos leg´ tornam a rede indispon´ ıvel. A medida proposta se concentra no uso de artif´ ataques de falsificac ¸a ıcios criptogr´ aficos exclusivamente sobre o campo Association ID. Al´ em disso. 2003]. o uso de apenas 16 bits para o c´ odigo de autenticac ¸a ˜ o provida pelo mecanismo fraca [Whiting et al. O IEEE 802. os autores se valem do uso de um n´ umero de sequˆ encia de 32 bits em todos os quadros de controle. As PRFs usadas em a protec ¸a ˜ es do IEEE 802. por´ quadros de controle em relac ¸a em introduz neles um overhead significativo. podendo alcanc ¸ ar 512 bits em caso de necessidade de aumento do n´ ıvel de seguranc ¸ a. A proposta apresentada por [Khan and Hasan 2008] tamb´ em n˜ ao traz mecanismos contra ataques de replay.

fazendo uso dos mecanismos de seguranc ¸ a mais recentes presentes no IEEE 802. Conde c´ odigos de autenticac ¸a ˜ o desses c´ tudo. Esses quadros de controle s˜ ao vers˜ oes seguras dos quadros de ˜ o de tipos controle originais. A seguir. apenas [Myneni and Huang 2010] e [Khan and Hasan 2008] se prop˜ oem a proteger todos os quadros de controle. ˜ o do AES (Advanced Encryption Standard) conhecido O CCMP usa o modo de operac ¸a por CCM. como exemplo.11.11F dado que o mesmo foi removido do padr˜ ao IEEE 802. a proposta e ´ o CBC-MAC e ¸a detalhada. Como j´ a existem 8 tipos de quadros de controle definidos. Al´ em disso. O objetivo principal e ¸a posta em [Myneni and Huang 2010]. Novos Quadros de Controle O mecanismo proposto neste artigo introduz 8 novos tipos de quadros de controle no padr˜ ao IEEE 802. O padr˜ ao IEEE 802. Neste artigo.1. a ˜ o consegue acomodar os novos quadros definidos pelo mecanismo proposto. o qual combina o CTR (Counter Mode) com o CBC-MAC (Cipher Block Chai´ utilizado para prover confidˆ ning Message Authentication Code). ˜ o Proposto 4. e ¸a ` ˜ ´ . a gerac ¸a odigos emprega partes do protocolo CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) j´ a utilizado pelo WPA2. evitando a necessidade de se usar o IEEE 802. Um dos ataques mais r´ apidos contra a vers˜ ao completa da SHA1 possui complexidade de tempo O(263 ) ao passo que a complexidade de tempo de um ´ O(280 ) [Bellovin and Rescorla 2005]. A Figura 1 apresenta. O CTR e encia enquanto ´ utilizado para prover autenticac ˜ o e integridade.11. em comparac ˜o a ` proataques que levariam a negac ¸ ao de servic ¸ os. sendo que o primeiro apresenta uma proposta mais segura e completa. haver o campo NS (N´ umero de Sequˆ encia) de 4 bytes seguido do campo MAC (Message Authentication Code) de 8 bytes. o ACK atual do padr˜ ao IEEE 802. a proposta faz uso de chave criptogr´ afica j´ a empregada no protocolo de seguranc ¸ a WPA2. 21 . embora incorra em um overhead signifi´ proposto um mecanismo de protec ˜ o de quadros de controle contra cativo.11.11 e sua vers˜ ao a ser utilizada no mecanismo de seguranc ¸ a proposto. especificac ¸a A vers˜ ao segura dos quadros de controle se diferencia dos quadros de controle originais apenas por n˜ ao possuir o campo FCS e. prover um maior grau de seguranc ¸ a com um menor overhead.11 utiliza 4 bits para a identificac ¸a de quadros de controle. a mesma apresenta diversas vulnerabilidades importantes [Canni` ere and Rechberger 2006]. 4. (b) Vers˜ ao segura do ACK no mecanismo proposto. ataque de forc ¸ a bruta e Dentre os trabalhos relacionados. [Manuel 2008]. Formato dos quadros de controle ACK. Octetos: 2 2 6 RA 4 FCS Octetos: 2 2 6 RA 4 NS 8 MAC Frame Duração Control Cabeçalho MAC Frame Duração Control Cabeçalho MAC (a) ACK no padr˜ ao IEEE 802.1. em seu lugar.11. O Mecanismo de Protec ¸a ˜o O mecanismo aqui proposto tamb´ em se vale do uso de n´ umeros de sequˆ encia e da gerac ¸a ˜ o de mensagens para proteger os quadros de controle. Figura 1.

Adata deve ser zero. Composic ¸ ao O CBC-MAC foi projetado para uso com algoritmos de cifra por blocos de 128 bits. n˜ ao h´ a necessidade de se manter o campo FCS original para a ˜ o de erros. l(m) e umero de bytes da mensagem ´ um valor u ´ nico que nunca dever´ m. Os 22 . As Flags ocupam 1 byte e tamb´ em possuem ˜ o pr´ ˜ o a seguir: o primeiro bit de ordem mais alta formatac ¸a e-definida conforme descric ¸a ´ reservado para uso futuro e deve ser sempre zero. Os 3 bits seguintes codificam M contendo o valor (M − 2)/2. indica a utilizac ¸a ecnica de autenticac ¸a igual a 1. divi´ o n´ dida em uma sequˆ encia de blocos B0 . O Nonce e a ser repetido com o uso de uma mesma chave criptogr´ afica. onde 0 ≤ l(m) ≤ 2(8L) . Byte Nº Conte´ udo 0 Flags 1 . a mensagem a ser autenticada precisa ter o primeiro bloco B0 for´ o n´ matado como mostra a Tabela 1. sendo o tamanho da chave dependente do algoritmo de cifra por bloco utilizado. O campo NS dever´ a ser pre˜o enchido com o valor atual desse contador e nunca poder´ a ser repetido durante a utilizac ¸a da mesma chave de seguranc ¸ a utilizada no c´ alculo do MAC. Nessa tabela. 2003] considera uma mensagem B . Caso a t´ ecnica n˜ ao seja utilizada. . K como sendo a chave criptogr´ afica e T como sendo o c´ odigo de ˜ o. ao n´ o receptor. . o qual dever´ a ser incrementado de 1 unidade a cada novo quadro de controle. sendo este u ´ ltimo o c´ ˜o cada bloco seguinte at´ e a obtenc ¸a odigo de autenticac ¸a e o qual pode ser truncado para os M primeiros bytes se necess´ ario. 15 l(m) ˜ do Bloco B0 . verificar a autenticidade e a integridade ˜ o de mudanc do quadro de controle recebido. (15 − L) Nonce (16 − L) . Como o campo MAC permitir´ a a detecc ¸a ¸ as no quadro de controle. O c´ ´ feito de acordo com o Algoritmo 4. C´ alculo do Valor do Campo MAC O CBC-MAC [Whiting et al. n.1: T (K. Os 3 bits de ordem mais baixa codificam L contendo o valor L − 1. Inicialmente.O campo MAC permitir´ a. O CBC-MAC tamb´ em define E () como sendo a func ¸a blocos a ser utilizada.  Algoritmo 4. . e ´ realizada um XOR entre criptografado e o resultado e ´ armazenado em X2 . O processo se repete para X1 e o pr´ oximo bloco B1 . Assim. Xi ⊕ Bi ) T ← M primeiros bytes de X(n+1)    Em particular. B1 . . onde n +1 e umero total de blocos ˜ o de criptografia por da mensagem. cada n´ o da rede deve manter um contador de 32 bits. B0 ) para i = 1 at´ e n fac ¸a X(i+1) ← E (K. Valores v´ alidos para L est˜ ao no intervalo de 2 a 8. Em seguida. B. 4. . Bn . B0 e ´ autenticac ¸a alculo de T e ´ armazenado em X1 . Assim. M ) X1 ← E (K.2. . e ˜ o da t´ ˜ o de dados adicionais ou AAD quando Adata. M s´ o pode assumir valores pares de 0 a 16.1. O resultado e ˜ o de X(n+1) . O campo NS carregar´ ˜ o do n´ detecc ¸a a a informac ¸a umero de sequˆ encia do quadro. a ser autenticada. O segundo bit de ordem mais alta. B2 . Tabela 1.

˜ o do MAC segue o algoritmo 4. Sua formac ¸a IV Nonce Flag Priority A2 (TA) Octet NS l(m) 64 64 bits bits AES(K) AES(K) AES(K) AES(K) Cálculo MAC . de nonces usada pelo CCM no WPA2 e e O CCM no WPA2 especifica que o campo Priority Octet deve ser preenchido com zeros quando n˜ ao houver o campo de controle de QoS (Quality of Service) ´ o caso dos quadros de controle. e ario que uma chave K em comum 23 . definido pelo WPA2. . o pr´ oximo e u a conter´ a exatos 128 bits.. Ou seja. CF-End e zero para compor o pr´ oximo e u ´ ltimo bloco B1 j´ CF-End+Cf-Ack. No caso dos quadros RTS. M = 8 e L = 4. A forma de no cabec ¸ alho do quadro como e ˜ o do nonce permite que os n´ construc ¸a os da rede usem sempre nonces distintos entre eles. 2003] e possui valor igual a (00011011)b . . O quadro BAR ´ ltimo dever´ gerar´ a mais dois blocos (B1 e B2 ). 2003] para informar • l(m) . Os pr´ oximos blocos s˜ ao obtidos dividindo-se o quadro de controle em pedac ¸ os de 128 bits mas com a exclus˜ ao dos campos NS e MAC.possui 1 byte.possui 11 bytes e e ¸a com os 48 bits do enderec ¸ o do transmissor ou A2(TA) e o n´ umero de sequˆ encia ˜ o respeita a formac ˜o NS de 32 bits do quadro de controle. ˜ o que devem ser concatenados com 48 bits iguais a haver´ a apenas 80 bits de informac ¸a ´ ltimo bloco B1 . ˜ o em [Whiting et al. Gerac ¸ ao ˜ es previstas para o campo Flags defi• Flag . B10 ). No caso do ACK e do CTS. O do uso da implementac ¸a ´ representado pelo IV (Initialization bloco inicial a ser criptografado possui 128 bits e e ˜o e ´ explicada como segue: Vector)... 128 bits NS MAC ˜ do valor do campo MAC. e ¸o ˜ o para o c´ ˜ o com o mecanismo Assim sendo. No caso do CCMP ´ utilizado o AES com operac ˜ es com chaves e blocos de 128 bits. sendo que o u a ser completado com 96 ´ ltimo bits iguais a zero. O quadro BA gerar´ a mais dez blocos (B1 . A Figura 2 ilustra esse processo.. Para que um n´ o da rede possa construir o MAC e permitir a qualquer outro verifi´ necess´ car a autenticidade e a integridade do quadro. sendo que o u tamb´ em dever´ a ser completado com 96 bits iguais a zero. ´ formado pela concatenac ˜ o do Priority Octet (1 byte) • Nonce . n˜ ao e utilizada a t´ ecnica AAD.1 tendo o IV como bloco O processo de construc ¸a inicial B0 . O cˆ omputo do valor do campo MAC e es ˜ o do CBC-MAC no CCMP. Figura 2. Esse tipo de construc ¸a ¸a ´ usada aqui para fins de compatibilidade.blocos com menos de 128 bits devem ser completados com zeros. Cont´ em as informac ¸o ´ nido em [Whiting et al. Quadro Texto em Claro Cabeçalho do Quadro . toda a operac ¸a alculo do c´ odigo de autenticac ¸a ´ feito atrav´ proposto segue esse mesmo princ´ ıpio.possui 4 bytes e segue a definic ¸a o tamanho da mensagem a ser autenticada.

A chave K e ˜ es da rede. O IV possui duas partes: uma parte com valor fixo e pr´ as estac ¸o e-definido ´ conhecido pelas estac ˜ es e uma parte com valor (Flag. Caso o valor do MAC recalculado seja igual ao ´ um quadro informado no campo MAC do quadro recebido. o n´ repetic ¸a o receptor dever´ a considerar a mensagem e a origem da mesma autenticadas. o n´ o que esgotar seus n´ umeros de sequˆ encia deve solicitar a renovac ¸a GTK da rede atrav´ es do uso do protocolo GKH (Group Key Handshake).11 prevˆ e que o receptor obtenha o enderec ¸ o do transmissor a partir dos respectivos RTS ou dos respectivos quadros sendo confirmados de acordo com o caso.1 dade de tempo O(2 ) enquanto a complexidade de tempo de um ataque de forc ¸ a bruta ´ O(2128 ) [Bogdanov et al.3. Priority Octet e l(m)). O estudo tamb´ em mostra que as principais cr´ ıticas ao CCM est˜ ao ` sua eficiˆ ˜ o. Em [Rogaway 2011]. O NS que e em claro pelo quadro. 2011]. Ao recalcular o MAC. e ıvel encontrar a chave GTK atrav´ es ˜ o pessoal em de um ataque de dicion´ ario quando a rede usa o m´ etodo de autenticac ¸a ´ pratic´ conjunto com uma passphrase.11 protegidas pelo WPA2. A existˆ ˜ o contra contra forja e manipulac ¸a encia de protec ¸a ´ indicada por 0. a mensagem foi alterada e deve ser desconsiderada. o padr˜ ao IEEE 802. Caso o quadro n˜ ao seja uma ˜ o. Assim. A chave criptogr´ afica comum utilizada no WPA2 e ´ cryption Key) que faz parte da chave hier´ aquica GTK (Group Temporal Key). ataques de replay e 24 . Resumo Comparativo ˜ o oferecida pelo mecanismo proposto e pelos A Tabela 2 apresenta um resumo da protec ¸a ˜o trabalhos relacionados para cada tipo de quadro de controle.4. o n´ o da rede sem fio deve recalcular o MAC e comparar o valor obtido com aquele informado no campo ´ conhecida por todas MAC. caso o valor obtido seja diferente daquele informado no campo MAC. A existˆ encia de protec ¸a ˜ o do quadro e ´ indicada por X . o n´ o deve verificar se n˜ ao e repetido usando como base o n´ umero de sequˆ encia esperado. Para os quadros CTS e ACK. Em ´ poss´ redes IEEE 802. esse ataque s´ oe avel se a passphrase ´ considerada do possuir menos de 20 caracteres [Fogie 2005]. e tado um estudo que mostra que o CCM apresenta propriedades de seguranc ¸ a suficientemente adequadas. Essa vulnerabilidade e ´ apresenusu´ ario/administrador e n˜ ao do protocolo de seguranc ¸ a. Adicionalmente aos crit´ erios de renovac ¸a ˜ o dessa da GTK definidos pelo WPA2. O enderec ¸ o do transmissor est´ a presente em todos os quadros de controle. 4. Ao receber um quadro de controle do mecanismo proposto. o uso do mecanismo proposto requer a renovac ¸a chave para evitar que um n´ o utilize um mesmo n´ umero de sequˆ encia com uma mesma ˜ o da GTK. exceto nos quadros CTS e ACK. e 4. Para isso. ela precisar´ a da chave K e do IV . o qual e ¸o ´ transportado vari´ avel composta pelo NS e pelo enderec ¸ o do transmissor. Em relac ˜o a ` seguranc ligadas a encia de execuc ¸a ¸a ¸ a do AES. Contudo. A GEK e a chave usada para a criptografia de tr´ afego destinado a m´ ultiplos n´ os da rede. A GTK ´ distribu´ e ıda durante o processo de 4-Way Handshake e renovada periodicamente usando ˜o o protocolo GKH (Group Key Handshake). Seguranc ¸a ` seguranc A seguranc ¸ a do mecanismo proposto est´ a intimamente ligada a ¸ a do WPA2.´ a GEK (Group enseja empregada. o ataque mais ˜ o de chave contra sua vers˜ r´ apido de recuperac ¸a ao completa de 128 bits possui complexi126.

A medida que o volume de quadros aumenta.000 quadros. Para esse estudo. 2007] [Ray and Starobinski 2007] [Khan and Hasan 2008] [Rachedi and Benslimane 2009] [Myneni and Huang 2010] Proposta neste artigo X X X BAR PSPoll X CFEnd CF-End + CF-Ack X X X X X X X X X X X X/0 X/0 X/0 X/0 X/0 X/0 X/0 X/0 X/0 X/0 X/0 X/0 X/0 X/0 X X/0 X/0 ˜ oferecida pelas diversas propostas.500. A Figura 4(a) apresenta o n´ umero cumulativo de bytes transferidos ˜ o da quantidade de quadros. Comparativo da protec ¸ ao 5. gerando um arquivo trace com aproximadamente 1. o mecanismo proposto tˆ em um impacto de pr´ oximo de 57% enquanto a proposta do Myneni tem um impacto de quase 143%. A Figura 4(b) apresenta o overhead normalizado do tr´ afego considerando as duas propostas avaliadas. A Figura 3(b) detalha os tipos de quadros de controle capturados. Note que h´ a uma predominˆ ancia dos quadros de controle. Distribuic ¸ ao dos quadros. Note que o mecanismo proposto possui um menor em func ¸a overhead cumulativo do que a proposta em [Myneni and Huang 2010].000 primeiros quadros capturados. foram capturados quadros ao longo de 1 hora na rede sem fio do Centro de Inform´ atica da UFPE. 25 . Note que at´ e aproximadamente os 300. exceto o quadro CF-End+CF-Ack. A partir do trace obtido.RTS CTS ACK BA [Bellardo and Savage 2003] [Qureshi et al. eram provenientes de um u A Figura 3(a) apresenta a quantidade capturada dos 3 tipos de quadros. 1e+07 1e+06 100000 Quantidade Quantidade 10000 1000 100 10 1 0.1 Quadros Gereciamento Controle Dados 1e+07 1e+06 100000 10000 1000 100 10 1 0. foram acrescentados aos quadros de controle o overhead do mecanismo proposto e da proposta em [Myneni and Huang 2010] para fins de ˜ o.1 Quadros Gereciamento Dados Ack CTS RTS PS-Poll CF-End BA BAR (a) (b) ˜ da frequencia ˆ Figura 3. Em particular. Estudo de Caso ˜ o estuda o impacto do mecanismo proposto neste artigo e em [Myneni and Huang Esta sec ¸a 2010] no tr´ afego global de uma rede sem fio. Todos os quadros capturados ´ nico AP escolhido ou direcionados a ele. Tabela 2. A ideia e ´ simular o mesmo tr´ comparac ¸a afego de quadros sob esses dois mecanismos de seguranc ¸ a. observa-se que foram capturados quadros de controle de todos os tipos.

mecanismo proposto por Myneni tende a 6. Biclique Cryptanalysis of the Full AES. E. Technical report. 26 . C.05e+06 1.11. informac ¸a ˜ o ao formato (b) Overhead normalizado em relac ¸a padr˜ ao dos quadros. USA.4 0. (To appear). Referˆ encias Bellardo. ˜ entre propostas. A.5 vezes menor do que aquele introduzido pela proposta de Myneni. Como trabalho futuro. pages 15–28. Bellovin. Khovratovich.2 1 0. evitando a necessidade de se utilizar um mecanismo de gerencia˜ o de chaves abandonado pelo IEEE.6 0.. S. D. In Proc. Conclus˜ oes ˜ o de quadros de controle contra ataques Este artigo apresentou um mecanismo de protec ¸a ˜ o de servic de negac ¸a ¸ o. Figura 4.4e+06 Quadros Capturados Quadros Capturados (a) Bytes usados para transmitir a mesma ˜o u ´ til.4e+06 0 350000 700000 1. (2011). J. o mecanismo proposto se utilizou de n´ umeros ˜ o de mensagens obtidos atrav´ de sequˆ encia e de c´ odigos de autenticac ¸a es do emprego do ´ . a proposta fez uso da chave de grupo j´ a empregada no protocolo de seguranc ¸ a WPA2. ser´ a realizado um estudo da vaz˜ ao da rede ao se utilizar o mecanismo proposto.6 1. of the 12th USENIX Security Symposium (SSYM). (2005).2 0 Proposta Myneni 350000 700000 1. 802. Korea. Um estudo de caso enfatizou que o mecanismo proposto produziu um impacto significativamente menor no tr´ afego global da rede do que aquele produzido pela proposta de Myneni. fazendo uso dos mecanismos de seguranc ¸ a mais recentes presentes no IEEE 802. O overhead introduzido com o uso do mecanismo proposto e quadro de controle. Deploying a New Hash Algorithm.4 1. O objetivo principal da proposta. O mecanismo foi constru´ ıdo de forma a manter a compatibilidade ˜o a ` proposta com o padr˜ ao IEEE 802. and Rechberger. and Savage. Seoul. Bogdanov. 2.9e+07 8e+07 7e+07 6e+07 Bytes 5e+07 4e+07 3e+07 2e+07 1e+07 0 0 Padrao Myneni Proposta Overhead 1. and Rescorla. S. por CBC-MAC do CCMP.11 Denial-of-Service Attacks: Real Vulnerabilities and Practical Solutions. em comparac ¸a em [Myneni and Huang 2010]. foi o de prover um maior grau de seguranc ¸ a com um menor overhead.8 1. Washington.11..8 0. In Proc. of the 17th Annual International Conference on the Theory and Application of Cryptology and Information Security (ASIACRYPT). Comparac ¸ ao ` 20% enquanto o impacto do observa-se que o impacto do mecanismo proposto tende a ` 40%. DC. Para dar protec ˜ o aos quadros mento e distribuic ¸a ¸a de controle contra os ataques estudados. (2003).05e+06 1. Adicionalmente.

(2006). IEEE Standard 802.Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.Specific requirements .11r (2008).11 DCF Abstract. (2006). volume 4284. Canni` ere.11v (2011). S. and Rechberger.Local and metropolitan area networks .Specific requirements . Part 2. IEEE Standards for Information technology .Telecommunications and information exchange between systems .11i (2004).Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications .Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications . fermentas.Local and metropolitan area networks . IEEE Standard 802.Specific requirements .Telecommunications and information exchange between systems .Specific requirements . V.11 (2007). pages 1–20.Specific requirements . (2007). Chen.Amendment 8: Medium Access Control (MAC) Quality of Service Enhancements.Amendment 1: Radio Resource Measurement of Wireless LANs. IEEE Standard 802.Specific requirements . Denial of Service Attacks Against 802. (2005).11 Wireless Network Management. Smith. Technical report.Amendment 6: Medium Access Control (MAC) Security Enhancements Interpretation. and Walker.11e (2005).Specific requirements .Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications . In Lecture Notes in Computer Science . IEEE Standards for Information technology . IEEE Standard 802.Local and metropolitan area networks . Cracking Wi-Fi Protected Access (WPA).Telecommunications and information exchange between systems . IEEE Standard 802. C. N. B. http://www.Telecommunications and information exchange between systems .Local and metropolitan area networks . and Muthukkumarasamy..Telecommunications and information exchange between systems . 27 . IEEE Standards for Information technology .Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications .com/techinfo/nucleicacids/maplambda. IEEE Standard 802. J. IEEE Standards for Information technology .Amendment 2: Fast Basic Service Set (bss). Finding SHA-1 Characteristics: General Results and Applications. IEEE Standard 802.11-07/2163r0 .Telecommunications and information exchange between systems .Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications . IEEE Standards for Information technology ..Amendment 8: IEEE 802. C.A-MPDU Security Issues.11 (1999).ADVANCES IN CRYPTOLOGY (ASIACRYPT).Local and metropolitan area networks .Local and metropolitan area networks .Cam-Winget. IEEE Standards for Information technology . IEEE Standards for Information technology .Telecommunications and information exchange between systems .Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.Local and metropolitan area networks . IEEE 802. D.htm. D.11k (2008). Fogie.

.Specific requirements .. and Huang. A. Designs. M. On the Security of HMAC and NMAC Based on HAVAL.Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications . USA. F. In Proc.11.. IEEE Transactions on Vehicular Technology. Switzerland. P..Telecommunications and information exchange between systems . Wi-Fi Alliance (2003). In Proc. (2008). In Proc... and Subramaniam. (2009). (2007)..11 MAC. Whiting. Ray. IEEE Standards for Information technology . MD4. IEEE Press. pages 7–11. and Javed. A Solution to Spoofed PS-Poll Based Denial of Service Attacks in IEEE 802. D. Kim. Preneel. B. 28 . Channel Switch and Quiet attack: New DoS Attacks Exploiting the 802. Report 2008/469. Impacts and Solutions of Control Packets Vulnerabilities with IEEE 802. 14(3):347–376. pages 844–848. Wireless Communications and Mobile Computing. S. Stevens Point. (2007). Y. 56(2):849–862. On False Blocking in RTS/CTS-Based Multihop Wireless Networks. A.. (2011). A. (2006). S. E. and Benslimane. MD5. S. Standards-based. J. A. N. Qureshi. of the 7th IEEE Conference on Consumer communications and Networking Conference (CCNC). Piscataway. Myneni. Sys. Ghani. Mohsin. Z. and Starobinski. Rechberger. Technical report. M. B. C. and Dietzel. pages 1–5. Aslam. IEEE 802. (2007). S.11 Wireless Networks. and Rijmen. Classification and Generation of Disturbance Vectors for Collision Attacks against SHA-1. F. NJ. and Ferguson. D. Netw. I. of 5th IFIP International Conference on Wireless and Optical Communications Networks (WOCN). A. pages 5:1–5:15.. Comp.Counter with CBC-MAC (CCM). B.. and Hasan. Koenings. Wisconsin.. RFC 3610 . (2008). Tews. Cryptography Research and Evaluation Committees (CRYPTREC). Cryptology ePrint Archive. Attacks on the WEP Protocol. 4116:242–256. Housley. Report 2007/471. R. and Comm. 9(4):469–488. World Scientific and Engineering Academy and Society (WSEAS). Manuel.Amendment 4: Protected Management Frames. Cryptology ePrint Archive. (2010). Evaluation of Some Blockcipher Modes of Operation. (2009). Interoperable Security for Today’s Wi-Fi Networks. of the 11th WSEAS International Conference on Communications.. Design of Cyberwar Laboratory Exercises to Implement Common Security Attacks against IEEE 802. (2003). Wi-Fi Protected Access: Strong. and SHA-1. (2008). Rogaway. In Proc.Local and metropolitan area networks .11 Standard. V. Zurich. A.. and Hong. S. Codes Cryptography. New Results on NMAC/HMAC when Instantiated with Popular Hash Functions. A. SHA-0.. Pseudo random number based authentication to counter denial of service attacks on 802. Kargl. Malekzadeh. USA..11w (2009). Khan. A. of the 34th IEEE Conference on Local Computer Networks (LCN). S. D. Rachedi..11 WLANs.IEEE Standard 802. (2010). J. Schaub.11 Wireless LAN Control Frame Protection. Biryukov. Universal Computer Science.

violac ¸a ˆ mbito das empresas e instituic ˜ es tual. e orio o aumento substan` seguranc ˜ o. bem como poss´ ˜ es aos usu´ regras. BA – Brasil 2 Grupo de Resposta a Incidentes de Seguranc ¸ a . pessoas). Este trabalho descreve o projeto. Exemplos abran˜ o e disseminac ˜ o de software malicioso.Bahia/Brasil (CERT. Entretanto. Seguindo essa linha de 29 . condutas e planos de ac ¸a ıveis sanc ¸o arios em caso do ˜ o de um descumprimento das regras estatu´ ıdas.2 1 Universidade Federal da Bahia (UFBA) Salvador. apropriac ˜ o de senhas e gem desde a infecc ¸a ¸a ¸a ˜ es privadas at´ ˜ o de sigilo e propriedade intelecinformac ¸o e fraudes banc´ arias.000 equipamentos conectados. paralelo a esse fenˆ omeno. as quais ˜ o dinˆ dificultam a identificac ¸a ˜ o precisa dos equipamentos internos.Bahia) Salvador. detecc ˜ o e tratamento adequado de tais eventos adversos com o intuito de prevenc ¸a ¸a proteger os ativos organizacionais (patrimˆ onio. do inglˆ es. Luciano Porto Barreto1. BA – Brasil {italovalcy. O crescimento atual da Internet tem alavancado o n´ umero de incidentes de seguranc ¸ a da informac ¸a ¸o ızos ˜ o em diversas instituic ˜ es. ˜o 1. Computer Security Information Response Team) respons´ avel pelas quest˜ oes operacionais desde a ˜ o at´ ˜ o dos incidentes de seguranc fase de identificac ¸a e a resoluc ¸a ¸ a.Tratamento Automatizado de Incidentes de Seguranc ¸ a da ˜ o em Redes de Campus Informac ¸a Italo Valcy1. ˜ es lidam com a quest˜ ˜ o em dois eixos. Tais incidentes cial na ocorrˆ encia de incidentes relacionados a ¸ a da informac ¸a s˜ ao diversos e variam sobremaneira em gravidade.br Resumo. impacto e escala. A ferramenta est´ a atualmente em produc ¸a ˜ o e uso efetivo em uma rede de campus com cerca de 12. a correta identificac ¸a ˜ o de equipamentos comprometidos ou participantes em um incidente de seguranc ¸a e ´ severamente prejudicada pela ampla existˆ encia de redes que utilizam t´ ecnicas de traduc ¸a ˜o ou atribuic ¸a amica de enderec ¸ os IP (como o NAT ou DHCP). a qual automatiza o procedimento de detecc ¸a ¸a ˜ o. Jerˆ onimo Bezerra1. Introduc ¸a ˜ o da Internet tem proporcionado relevante democratizac ˜ o do acesso a `s A popularizac ¸a ¸a ˜ es em rede. a implementac ¸a ¸a ˜ o e avaliac ˜ o da ferramenta TRAIRA.2 . ataque a sites comerciais e ciberterrorismo. identificac ˜ o e isolamento dos equipamentos geradores de incidentes de seguranc ¸ a em redes com estas caracter´ ısticas. imagem. torna-se fundamental atuac ¸a ¸a ˜ o. Instituic ¸o ao geralmente atrav´ es da atuac ¸a ˜ o (PSI) que normatiza O primeiro estabelece uma Pol´ ıtica de Seguranc ¸ a da Informac ¸a ˜ o. lportoba. Os preju´ causados por tais incidentes e sua dificuldade de prevenc ¸a ˜ o requerem o estabelecimento de pol´ ıticas e mecanismos eficientes de tratamento e resposta a incidentes de seguranc ¸ a. No a ¸o ˜ o efetiva da alta administrac ˜ o visando a ` governamentais. jab}@ufba. por´ ´ not´ informac ¸o em. O segundo eixo perpassa a constituic ¸a grupo especializado de resposta a incidentes de seguranc ¸ a (CSIRT.2 .

a exemplo do v´ comprometida. o qual pode atribuir ` s m´ ˜ o. ˜ o adequada do processo de tratamento de incidentes pode De fato. o instituic ¸o que atesta a necessidade de tratamento efetivo e eficaz de tais incidentes. concretamente.br e do CAIS/RNP. o que dificulta sobremaneira o tratamento adequado de incidentes. Ainda que o parque organizacional de equipamen˜ es propriet´ tos seja o mais homogˆ eneo poss´ ıvel. o que pode inviabilizar sua adoc ¸a ¸o m´ edio e grande porte carecem de equipe e ferramentas de seguranc ¸ a especializadas para tratar os principais tipos de incidentes. Ademais. Estas redes geralmente utilizam o servic ¸ o de DHCP (do inglˆ es. um dos principais entraves a ¸a tos comprometidos ou participantes em um incidente de seguranc ¸ a consiste na ampla existˆ encia de redes configuradas com faixas de enderec ¸ os IP “falsos” (i.˜ o em seguranc ˜ o. A grande maioria desses incidentes s˜ ao reportados por CSIRTs ` instituic ˜ o. os preju´ ˜ es s˜ notificac ¸o ızos institucionais decorrentes de tais sanc ¸o ao ˜ es acadˆ consider´ aveis em nosso contexto (instituic ¸o emicas e de pesquisa). cujo custo de ˜o e ´ comumente alto. Portanto. acionar a equipe de apoio (helpdesk) a fim ˜ o das m´ de proceder a desinfecc ¸a aquinas. o que requer ˜ o r´ atuac ¸a apida e efetiva do time de resposta a incidentes. ` correta identificac ˜ o de equipamenEntretanto. Por fim. n˜ aorote´ aveis na Internet [Rekhter et al. leniˆ encia no ˜ es severas e indetratamento do incidente. foram ˜ o referentes a `s reportados aproximadamente 2. as soluc ¸o arias existentes s˜ ao significati˜ o. oculta a identidade precisa das m´ adotada em grande parte das instituic ¸o aquinas internas comprometidas. Lentid˜ externos a ¸a ao. ` sua dificuldade de prevenc ˜o Os preju´ ızos causados por tais incidentes aliados a ¸a [Scarfone et al. a exemplo do CERT. bem como a reincidˆ encia podem ensejar sanc ¸o ˜o sej´ aveis. Dynamic Host Configuration Protocol) [Droms 1997]. Outros fatores complicadores.000 incidentes de seguranc ¸ a da informac ¸a ˜ es de pesquisa e ensino monitoradas pelo nosso CSIRT [CERT. Essa configurac ¸a ˜ es. A infecc ¸a ¸a ırus Conficker. 2008] demandam o estabelecimento de pol´ ıticas e mecanismos eficientes de tratamento e resposta. no per´ ıodo compreendido entre janeiro e julho de 2011. nesse contexto. 30 . podem se ater ao tratamento de incidentes mais importancontratac ¸a tes ou complexos.e. a automatizac ¸a reduzir substancialmente os custos financeiros do tratamento de incidentes (especialmente ˜ o mais c´ o de pessoal alocado para esta tarefa) al´ em de resoluc ¸a elere dos problemas.000 equipamentos (desconsiderando equipamentos conectados em redes sem fio). temporariamente e aleatoriamente enderec ¸ os a aquinas da rede. Network Address Translation) [Egevang and Francis 1994]. mesmo instituic ˜ es de vamente onerosas. em seguida. ˜ o (ainda que involunt´ ou a participac ¸a aria) de m´ aquinas em botnets (redes de ataques ˜ o de em larga escala) s˜ ao exemplos dos tipos de incidentes mais frequentes na gerac ¸a ˜ es externas. tais como o bloqueio de acesso e a recusa de e-mails origin´ arios da instituic ¸a ˜ o e disseminac ˜ o de malware. Assim.Bahia 2010]. No cen´ ario ideal. incluem o elevado volume de ˜ es recebidas e a heterogeneidade dos elementos da rede. os analistas de seguranc ¸ a. nossa instituic ˜ o contempla a administrac ˜ o de uma atuac ¸a ¸ a da informac ¸a ¸a ¸a ˜ es acadˆ rede de campus que interliga diversas instituic ¸o emicas e de pesquisa perfazendo aproximadamente 12.. O uso de roteadonotificac ¸o ˜ es) compromete ou limita res e switches de fabricantes diversos (caso geral nas instituic ¸o ˜ o de soluc ˜ es propriet´ a utilizac ¸a ¸o arias. uma ferramenta pode automaticamente detectar e isolar as m´ aquinas comprometidas para. 1996]) e NAT (do inglˆ es.

Assim. discutimos trabalhos cormediante sua utilizac ¸a ¸a ` automatizac ˜ o do processo de tratamento de incidentes de seguranc relatos quanto a ¸a ¸ a na ˜ o 5 e apresentamos as considerac ˜ es finais e trabalhos futuros na sec ˜ o 6. Por fim. na rede de campus ´ utilizada como base do processo de da Universidade Federal da Bahia (UFBA). podem dificomumente utilizados na configurac ¸a ˜ o dessas ac ˜ es corretivas. National Institute of Standards and Technology) [Scarfone et al. Os enderec ¸ os IP internos s˜ ao. Na fase de contenc ˜ o e mitigac ˜ o deve-se isolar os sisteoriginados na organizac ¸a ¸a ¸a mas diretamente relacionados ao incidente e efetuar o tratamento do recurso em quest˜ ao ˜ o de uma m´ ˜ o de um artefato ma(desinfecc ¸a aquina contaminada com v´ ırus/worm. a exemplo do NAT e DHCP. Mitigac ˜o e Recuperac ¸a ¸o os-Incidente. etc). por sua vez. que automatiza as principais etapas do processo de tratamento de incidentes de seguranc ¸ a (detecc ¸a ¸a aquina interna causadora do inci˜ o e contenc ˜ o da m´ dente). portanto. cultar consideravelmente a consecuc ¸a ¸o A t´ ecnica de NAT visa traduzir os enderec ¸ os IP utilizados na rede interna em um enderec ¸ o IP (ou faixa de enderec ¸ os) utilizado na rede externa (Internet). desconhecidos dos equipamentos externos. remoc ¸a ˜ o de uma p´ licioso. chamada TRAIRA (Tratamento de Incidentes de mento e avaliac ¸a Rede Automatizado). e restaurar o funcionamento normal dos servic ¸ os afetados. Detecc ˜ o e An´ ˜ o. tal qual o n´ umero de ´ escondido quando efetuada uma ligac ˜ o via PABX. ˜ o 2 destaca os O restante deste artigo est´ a estruturado da seguinte maneira. a um ramal de um telefone e ¸a rede externa desconhece o verdadeiro emissor do pacote. fatores motivadores para desenvolvimento da ferramenta . No que tange ao tratamento de incidentes de seguranc ¸ a. recuperac ¸a agina web modificada. A fase de Detecc ¸a alise visa detectar ou identificar a existˆ encia de um incidente. Mitigac ˜ o e Recuperac ˜ o. A sec ¸a principais desafios acerca do processo de tratamento de incidentes de seguranc ¸ a. alguns servic ¸ os ˜ o de redes. a etapa Ac ¸o os-Incidente consiste em avaliar o ˜ es P´ ˜ es adotadas. este trabalho descreve o desenvolvi˜ o de uma ferramenta. na fase de detecc ¸a alise. armazenamento dos registros de atividades dos sistemas para futuras auditorias etc. Fases e desafios no tratamento de incidentes de seguranc ¸a O guia para tratamento de incidentes de seguranc ¸ a do NIST (do inglˆ es. sec ¸a ¸o ¸a 2. aquisic ¸a cess´ arios. objetiva evitar que os efeitos do incidente se propaguem ou afetem outros recursos da rede. A fase de Preparac ¸a ˜ o e Ac ˜ es P´ ˜ o envolve o estabelecimento e ˜ o de ferramentas e recursos netreinamento de um grupo de resposta a incidentes. descrevemos a arquite˜ o 3). deve-se registrar os recursos afetados (no caso ˜ o) ou a origem do incidente (no caso de incidentes de incidentes contra a organizac ¸a ˜ o). A ferramenta desenvolvida foi avaliada em um ambiente real. Contenc ¸a ¸a ˜ o. Em seguida. bem como os resultados obtidos tura e funcionamento da ferramenta TRAIRA (sec ¸a ˜ o em ambientes reais (sec ˜ o 4).Diante deste cen´ ario de problemas reais. a principal dificuldade adicionada pelo NAT consiste em deter- 31 . Por fim. ˜ o e An´ A fase Contenc ¸a ¸a ¸a ˜ o. processo de tratamento de incidentes e verificar a efic´ acia das soluc ¸o ˜ es espec´ ˜ o ou controle. No entanto. Por Cada uma destas fases requer ac ¸o ıficas de mitigac ¸a ˜ o e an´ exemplo. O baixo custo de implantac ¸a ¸a ˜ o pr´ a viabilidade de sua aplicac ¸a atica em outros ambientes corporativos. onde e ˜ o h´ tratamento de incidentes de seguranc ¸ a gerados pela instituic ¸a a aproximadamente um ˜ es ano. 2008] decomp˜ oe o processo de resposta a incidentes em quatro fases: Preparac ¸a ¸a alise. ajudando a equipe de seguranc ¸ a a tratar e responder uma m´ edia de 30 notificac ¸o ˜ o e execuc ˜ o da ferramenta indica de incidentes por semana.

automaticamente. e responder a ¸a ˜ o implementa pol´ ˜ o da atividade maliciosa atrav´ de contenc ¸a ıticas de cessac ¸a es do isolamento da m´ aquina comprometida como. considerando os entraves supracitados. tende a ser interrompido nessa etapa. preparac ¸a ¸a alise. e ˜ o da rede. Portanto. 2008]) de forma que a detecc ¸a ¸a aquina interna ˜ o destacam-se causadora do incidente s˜ ao totalmente automatizadas. 3. a quantidade. Outro agravante reside no uso disseminado do Protocolo de Configurac ¸a ˜o Dinˆ amica de Hosts (DHCP) [Droms 1997]. Esses registros s˜ ao de grande valia quando da ocorrˆ encia de um incidente. pois auxiliam a auditoria dos sistemas afetados. em muitos casos. TRAIRA: uma ferramenta para Tratamento Automatizado de Incidentes de Rede ´ um programa que atua em todas as fases do tratamento de incidentes (a O TRAIRA e saber. Em uma rede com DHCP. volume e variedade dos logs de seguranc ¸ a dos sistemas tˆ em ˜ o de crescido bastante. de forma que sua identificac ¸a orios e estat´ ısticas ` organizac ˜ o que reportou o incidente. A fase sobre os incidentes recebidos. No 32 .minar com precis˜ ao o enderec ¸ o IP interno que foi traduzido no enderec ¸ o IP externo. teriormente para automaticamente extrair as informac ¸o ¸a buscar por evidˆ encias nos logs do dispositivo de NAT que informem o(s) IP(s) interno(s) ˜ o recebida. e ´ outros parˆ ametros de configurac ¸a poss´ ıvel que um mesmo dispositivo possua diferentes enderec ¸ os IP ao longo do dia. do enderec ¸ o MAC (Media Access Control) como identificador u ´ a falta de gerenciamento Um terceiro desafio para o tratamento de incidentes e dos registros de atividades (logs) de dispositivos. comprometendo e. que permite a um host obter enderec ¸ o(s) IP. a depender da pol´ ıtica de tempo de concess˜ ao (lease time) utilizada. limitar a identificac ¸a aquina a um enderec ¸ o IP pode ser ineficaz ou produzir resultados errˆ oneos (o que seria bastante prejudicial em caso de bloqueio automatizado da ˜o m´ aquina comprometida). por exemplo. da semana ou do mˆ es. o processo de tratamento de incidentes de seguranc ¸ a. Essa investigac ˜ o consiste geralincidentes de seguranc ¸ a gerados por uma instituic ¸a ¸a mente em efetuar buscas nos logs do dispositivo de NAT por uma ocorrˆ encia do IP e ˜ o e cuja data e hora estejam em concordˆ porta listados na notificac ¸a ancia com os dados. associando-os aos enderec ¸ os f´ ısicos dos dispositivos de rede: os enderec ¸ os MAC. por vezes. detecc ˜ o e an´ ˜ o. N˜ ao obstante. uma ˜ es de incidentes recebidas de fontes externas (e. a investigac ¸a ˜ o. Vale salientar que.g. gerar relat´ MAC da m´ aquina. Ao final do tratamento de uma notificac ¸a ` organizac ˜ o que reportou o incidente e tamb´ uma resposta autom´ atica a ¸a em um relat´ orio detalhado para a equipe de apoio a fim de que as medidas cab´ ıveis sejam aplicadas. mitigac ˜ o e recuperac ˜ o e ac ˜ es p´ ˜ o e contenc ˜ o da m´ incidente [Scarfone et al. associar o enderec respons´ avel(veis) pela notificac ¸a ¸ o IP interno a um enderec ¸o ˜ o seja u ´ nica. ˜ o adequada dessa etapa e ´ de fundamental importˆ a automatizac ¸a ancia para o tratamento efetivo de incidentes de seguranc ¸ a em tempo h´ abil. Na fase de preparac ¸a ˜ o do servic dois recursos requeridos pelo TRAIRA: i) a configurac ¸a ¸ o de logging remoto ˜ o de um sistema de registro sobre a atribuic ˜ o de do equipamento de NAT e ii) a utilizac ¸a ¸a IPs. Portanto. atualmente considera-se mais adequada a utilizac ¸a ´ nico do host. ˜ o e an´ J´ a na fase de detecc ¸a alise. o TRAIRA gera ou roteador mais pr´ oximo. bloqueio no switch gerenci´ avel ˜ o. contenc ¸a ¸a ¸a ¸o os˜ o. Por ˜ o da m´ isso. o TRAIRA utiliza os recursos configurados an˜ es relevantes de uma notificac ˜ o. outros CSIRTs) vez que as notificac ¸o contˆ em apenas o enderec ¸ o IP externo. at´ e inviabilizando.

IP. a arquitetura e funcionamento do TRAIRA ser´ Na subsec ¸a a apresentada em maiores detalhes. inicial de incidentes. Os cinco m´ odulos do TRAIRA s˜ ao: Parser. Al´ em disso. backup. aspectos relacionados a ¸a ˜ es. ˜ es extra´ • NAT Mapping: Utiliza as informac ¸o ıdas pelo parser e realiza uma busca nos logs do dispositivo de NAT para associar a tupla <data. ˜ o e pela extrac ˜ o das • Parser: Respons´ avel pelo recebimento da notificac ¸a ¸a ˜ es essenciais ao tratamento do incidente: enderec informac ¸o ¸ o IP e porta de origem. porta> a um enderec ¸ o IP interno. hora. Nessa figura.˜ geral da arquitetura do TRAIRA Figura 1. Arquitetura do TRAIRA ˜ o do TRAIRA foi estruturada em uma arquitetura modular. respons´ avel de fato pelo incidente. apresentada na A concepc ¸a Figura 1. h´ ˜ o disseminada No nosso contexto e em diversas outras instituic ¸o a utilizac ¸a do Request Tracker (RT) [BestPractical 2011] e como sistema de helpdesk e tratamento ˜ o dessas ferramentas. ˜ o seguinte. ser˜ ˜ o e detecc ˜ o e analise e alguns a ao enfatizadas as fases de preparac ¸a ¸a ` contenc ˜ o. apresentamos uma breve descric ¸a m´ odulos. atualizac ˜ o) e da pr´ existentes nessas ferramentas (autenticac ¸a ¸a opria base de ˜ incidentes de seguranc ¸ a pr´ e-existente. 3. Post-Detection e ˜ o das funcionalidades desses Containment. A fim de preservar o conhecimento e a utilizac ¸a o TRAIRA foi idealizado como um aprimoramento do RT atrav´ es de extens˜ oes espec´ ıficas para o tratamento automatizado de incidentes em redes. NAT Mapping. IP2MAC. permitindo a reutilizac ¸a ˜ o.1. Tal decis˜ ao de projeto reduziu o ˜ o de diversas funcionalidades tempo e custo de desenvolvimento. os componentes em formato de elipse representam os m´ odulos que foram desenvolvidos como parte do TRAIRA e os componentes em formato de retˆ angulo representam programas ou recursos externos necess´ arios ao funcionamento do TRAIRA. A seguir. isso facilita a adoc ¸ ao do TRAIRA por ˜ es interessadas em incrementar a automatizac ˜ o dos procedimentos de outras instituic ¸o ¸a tratamento de incidentes. data e hor´ ario. Visao ˆ mbito desse artigo. 33 .

no m´ ınimo. o enderec ¸o IP. pois um IP pode Esse passo e ¸o ter sido usado por mais de uma m´ aquina ao longo do tempo.br). em sensores de monitoramento de atividades maliciosas (IDSs. onde o usu´ ario ˜ o do incidente. gerar relat´ orios ` equipe de helpdesk (para. porta de origem. honeypots etc) ou at´ e mesmo em usu´ arios que submetem incidentes atrav´ es da interface web. e busca para descobrir o respectivo enderec ¸ o MAC. ˜ o de dados da notificac ˜ o e do trata• Post-Detection: Respons´ avel pela extrac ¸a ¸a mento realizado a fim de gerar estat´ ısticas sobre os incidentes. tabela de enderec ¸ os MAC. Essa notificac ¸a encias suficientes para comprovar a atividade maliciosa e incluir. Foi utilizada a linguagem de programac ¸a pr´ oprio RT foi implementado. ´ uma sigla usada para GNU Public License.´ feita a associac ˜ o do IP interno ao enderec • IP2MAC: aqui e ¸a ¸ o MAC da m´ aquina. etc) e demais componentes. efetuar o isolamento e desinfecc ˜ o da a ¸a ` instituic ˜ o que reportou o incidente. hora. m´ linhas de c´ odigo entre interfaces de usu´ ario. porta>) e tivo de NAT para determinar o respectivo enderec ¸ o IP da m´ aquina da rede interna. ˜o 3. hora e timezone da ocorrˆ encia. quanto via e-mail quando a organizac ˜o fornece manualmente a notificac ¸a ¸a que reporta o incidente envia uma mensagem para um enderec ¸ o de e-mail especialmente ˜ o Perl. O TRAIRA verifica se existe um parser espec´ ıfico para o tipo de notificac ¸a ˜o e cebido. Uma entidade (interna ou externa) submete uma notificac ¸a ˜ o deve conter evidˆ tando um incidente de seguranc ¸ a. possui aproximadamente 2. Em caso afirmativo. permitindo que o tratamento dos incidentes de seguranc ¸ a seja feito tanto pela interface web. ´ importante em instituic ˜ es que utilizam o DHCP. Em sua primeira vers˜ ao. A entidade que reporta incidentes pode ser materializada nos CSIRTs (e. n´ ucleo da aplicac ¸a odulos de interface com recursos externos (logs. De posse do enderec ¸ o IP da m´ aquina causadora do incidente. ´ realizada uma 4. ˜ o re2. Caso inexista um parser ˜ o permanece em aberto no RT aguardando pelo tratamento apropriado. o parser extrai os dados importantes da notificac ¸a ˜ o da m´ o tratamento avanc ¸ a para a detecc ¸a aquina interna. data. IP.g. Tratamento de Incidentes no TRAIRA O tratamento de incidentes automatizados pelo TRAIRA segue um fluxo de trabalho composto pelas etapas a seguir. CAIS. a notificac ¸a manual da equipe de seguranc ¸ a.. ˜ o ao TRAIRA repor1. 1 34 . A partir dos dados extra´ ıdos da notificac ¸a (tupla ´ feita uma busca nos logs do disposi<data. O TRAIRA foi desenvolvido como uma extens˜ ao do RT. O ´ distribu´ TRAIRA e ıdo sob a licenc ¸ a GPLv2 ou superior1 e encontra-se dispon´ ıvel para download em [TRAIRA 2011].500 ˜ o. por exemplo. com a qual o designado para este fim. CERT. m´ aquina) e responder a ¸a ´ feito o isolamento do host que causou o incidente • Containment: Neste m´ odulo e para evitar que ele continue com a atividade maliciosa na rede ou afete outros recursos. uma licenc GPL e ¸ a de software livre especificada pela Free Software Foundation.

o TRAIRA automatiza completamente o processo inicial de tratamento de incidentes de seguranc ¸ a. a exemplo da desinfecc ˜ o de m´ vidˆ encias necess´ arias para resoluc ¸a ¸a aquinas ` uma contaminadas com v´ ırus/worm ou aplicar as medidas administrativas cab´ ıveis a ˜ o de copyright. Sec ¸a ecnica ˜ es de ensino e pesquisa conectadas a ` Internet. uma vez que o enderec ¸ o listado na notificac ¸a ao representa diretamente a m´ aquina da rede interna que realmente causou o incidente. procedimentos de tratamento e recuperac ¸a Diante do exposto. Uma resposta autom´ atica (e-mail) e ¸a ¸a ˜ o da m´ para informar a identificac ¸a aquina causadora do incidente e o in´ ıcio dos ˜ o. de tolerˆ ancia temporal entre os hor´ arios ˜ o e dos logs. Nesse caso. a nem ser iniciada. consequentemente. a etapa de detecc ¸a tas vezes. a ferramenta notificac ¸a ˜ o de um valor. Para lidar com este u ´ ltimo problema. ´ enviada a ` instituic ˜ o produtora da notificac ˜o 7. Um fator obrigat´ orio a ser observado nessa definic ¸a ¸a de m´ aquinas da rede interna por IP de NAT: quanto mais m´ aquinas s˜ ao associadas a um ´ nico NAT. Caso o m´ odulo de Contenc ¸a ´ bloquem´ aquina em quest˜ ao (representado pelo MAC obtido na etapa anterior) e ado ou movido para uma Rede Virtual (VLAN) de quarentena. que. menor ` diferenc poder´ a ser a tolerˆ ancia a ¸ a nos rel´ ogios. retornando o(s) IP(s) internos respons´ aveis pelo incidente. o TRAIRA proporciona uma importante contribuic ¸a ˜ o. ´ reportado ao TRAIRA. Para tratar da diversidade na utilizac ¸a ¸o 35 . muie em n´ umero suficiente para responder as notificac ¸ oes. n˜ ao e ´ vial. Para realizar esse mapeamento. entretanto. tratamento e resposta aos incidentes de seguranc ¸ a de uma instituic ¸a ˜ es seguintes visam detalhar duas etapas importantes do tratamento do As subsec ¸o ˜ o e isolamento do host respons´ incidente pelo TRAIRA: detecc ¸a avel pelo incidente. configur´ incorpora a definic ¸a avel. ˜ o. ˜ o de dispositivos de NAT nas instituic ˜ es. As etapas descritas acima s˜ ao executadas de forma on-line. o TRAIRA 6. Vale salientar. em virtude do consider´ violac ¸a avel vo˜ es recebidos pelas instituic ˜ es e a carˆ lume de notificac ¸o ¸o encia de pessoal especializado ` ˜ ˜ o tende. Por outro lado. a correspondˆ encia entre a data/hor´ ario que e ˜ o e aqueles listados nos logs.2. Assim. ainda pior. ´ uma tarefa triO processo de correlacionar essas duas entradas. o NAT e ´ uma t´ Apesar de suas desvantagens [Egevang and Francis 1994. maior ser´ u a a taxa de reaproveitamento de portas e. o m´ odulo NATMapping utiliza as informac ¸o extra´ ıdas pelo Parser e as correlaciona aos logs do(s) dispositivo(s) de NAT. o grande volume de dados a se´ listado na rem processados e. O valor mais adequado para uma instituic ˜ o depende das cada notificac ¸a ¸a ˜o e ´ a relac ˜o racter´ ısticas da rede. seu tratamento tem in´ Portanto. E necess´ ario considerar a grande diversidade de dispositivos de NAT dispon´ ıveis (cada um deles pode produzir logs de forma espec´ ıfica). no entanto. ˜ o do host respons´ 3. a 5. Detecc ¸a avel pelo incidente ˜ o 4]. faz-se necess´ ario ˜ o e o IP interno que causou o um mapeamento entre o IP e porta listados na notificac ¸a ˜ es incidente. princibastante utilizada pelas instituic ¸o ˜ o da topologia da palmente pela possibilidade de economia de enderec ¸ os IPv4 e ocultac ¸a ˜ o traz implicac ˜ es no tratamento de incidentes rede interna. assim que um incidente e ıcio ime˜ o para o processo de diato. Cabe ainda ao administrador executar as pro˜ o do incidente. sua utilizac ¸a ¸o ˜ o n˜ de seguranc ¸ a. De posse do enderec ¸ o MAC e do resultado do m´ odulo de Contenc ¸a notifica a equipe de helpdesk para tomada das medidas cab´ ıveis.˜ o esteja habilitado para executar automaticamente.

a decis˜ ao final acerca da pol´ ıtica mais apropriada de˜ o. bloqueio no dispositivo de rede gerenci´ avel mais pr´ oximo etc. 3.0/24 utiliza o ˜o ASA/Cisco. informa ao usu´ ario o bloqueio de sua m´ aquina e explica a raz˜ ao para tal ac ¸a ˜ o de atividade maliciosa na rede local. finalmente. proposta em [Kaiser et al. De fato. nos switches gerenci´ aveis ao qual o host compro` poss´ ˜ o no ambiente de rede das instituic ˜ es. Devido a ıvel variac ¸a ¸o o TRAIRA considera trˆ es estrat´ egias poss´ ıveis para etapa de isolamento do processo de tratamento de um incidente: i) bloqueio do host no equipamento de firewall. atrav´ es do uso de ferramentas como firewall e IDS. Essa ´ ltima alternativa e ´ mais interessante do ponto de vista de automatizac ˜ o. definir as redes privadas Essa flexibilidade de configurac ¸a [Rekhter et al. o m´ odulo NATMapping foi desenvolvido de forma que seja poss´ ıvel definir um dispositivo de NAT para cada segmento de rede (levando-se em ˜ o a sobreposic ˜ o entre segmentos) e um dispositivo padr˜ considerac ¸a ¸a ao a ser usado ˜ o espec´ caso n˜ ao haja uma definic ¸a ıfica para determinado segmento de rede. mais especificamente. Tal abordagem de contenc ¸a principalmente.0/23 utiliza IPTables/Netfilter com excec ¸a da sub-rede 200. 1996] como “sem NAT”. ac ¸o ˜ o tem sido reiteradamente considerada na literatura.` uma instituic ˜ o (com diferentes dispositivos de NAT e. remoc ¸a do cabo de rede. O requisito n˜ ao atende ao tratamento da propagac ¸a 36 . uma t´ sem comunicac ¸a ecnica mais apropriada. por exemplo. bre uma vis˜ ao externa ou. as requisic ¸o ario seriam encaminhadas ˜ o que informa sobre o bloqueio preventivo da m´ a uma p´ agina web da instituic ¸a aquina e ˜ es que este deve tomar (e. o bloqueio mais eficaz pode ser realizado na camada 2 (Layer 2). contactar imediatamente o helpdesk). ii) bloqueio no switch gerenci´ avel mais pr´ oximo ao host detectado. Isolamento do host respons´ avel pelo incidente ˜ o do host detectado anteriormente para evitar A etapa de isolamento efetua a contenc ¸a que ele continue com a atividade maliciosa na rede ou comprometa outros recursos. 2006]. Essa estrat´ egia mostra-se eficaz para contenc ¸a ˜ o ou esteja em outro segmento de rede ao qual ataques cujo destino seja outra instituic ¸a ˜ o de regras para redirecionar de host detectado pertence. a qual ˜ o. Nesse sentido. N˜ ao obstante. o que viabiliza tamb´ em o tratamento de incidentes internos (detectados a partir de sensores posicionados na rede interna). essa ˜ o da atividade maliciosa abordagem mostra-se ineficiente do ponto de vista de propagac ¸a na rede local do host detectado. iii) direcionamento do host para uma VLAN de quarentena. Portanto.99. o inconveniente e ario desconhece a raz˜ ao pela qual sua estac ¸a a ˜ o na rede. Em contrau ¸a ´ que o usu´ ˜ o est´ partida. desvantagens e requisitos de ˜ o espec´ implantac ¸a ıficos. Note que o mapeamento acima e ˜ o. Cada uma dessas estrat´ egias possui vantagens. consiste em direcionar o tr´ afego de rede do host comprometido para ˜ es do usu´ uma VLAN de quarentena.. a ´ sorede 200. j´ a a rede 200. para os segmentos diretamente conectados.g.196. Nesta VLAN. A opc ˜ o mais simples consiste no bloqueio pende das caracter´ ısticas de cada instituic ¸a ¸a ˜ o de do host no equipamento de firewall.197. por exemplo. metido est´ a conectado.3.199.128.128.0/24 n˜ ao utiliza NAT. o administrador pode definir que a rede 200.128. ˜ o pode acontecer por diversas vias: desligamento da m´ ˜o Esta contenc ¸a aquina. pois. at´ e mesmo internamente a ¸a por segmento de rede). Tamb´ em possibilita a criac ¸a forma transparente o tr´ afego oriundo do host comprometido para uma p´ agina web. os pacotes n˜ ao trafegam pelo firewall ou IDS. Contudo. considerando os dados da notificac ¸a ˜ o permite.0/28 que tamb´ em utiliza ASA/Cisco e. Por exemplo.128.

discutiinformac ¸o ¸a remos os resultados obtidos a partir dessas estat´ ısticas.˜ o consiste basicamente no suporte a ` criac ˜ o de filtros de pacotes e regras de implantac ¸a ¸a ˜ o (caracter´ de redirecionamento baseadas em enderec ¸ o MAC no firewall da instituic ¸a ıstica comumente encontrada nos firewalls mais usados). No caso ideal. IDSs. sendo que a desde o in´ ıcio de 2011. prever futuros ˜o ataques em grande escala e direcionar atividades. em pesquisas realizadas.BR mente. ou as enviadas pelos grupos de seguranc ¸ a. e cada notificac ˜ o cont´ di´ aria de 5 a 10 notificac ¸o ¸a em cerca de 20 incidentes. as notificac ¸o do CERT. ˜ o experimental e resultados obtidos 4. 37 . tais como honeypots. O gr´ Situac ¸a afico quantitativo (Figura 2) pode ser utilizado para aferir a efetividade do tratamento de incidentes de seguranc ¸ a na ˜ o. s˜ instituic ¸a ao listados os incidentes reportados versus os que foram resolvidos.br [Honeynet.br) tem sido tratados automatica˜ es de incidente relacionadas ao projeto Honeypot. todas as Desde a implantac ¸a ˜ es de incidentes de seguranc notificac ¸o ¸ a recebidas pela equipe (sejam aquelas enviadas por ferramentas de monitoramento interno. Outra variante mais completa consiste em direcionar o tr´ afego do host comprometido para uma VLAN de quarentena no n´ ıvel da camada de enlace. uma linha representa os incidentes reportados. esta opc ˜ o tem requisitos de implantac ˜ o mais procedimento de contenc ¸a ¸a ¸a ´ complexos. Portanto. nossa instituic ¸a ¸o grande maioria delas foi tratada automaticamente pelo TRAIRA. Nesta figura. do ponto de vista de alocac ˜o mento de todas essas notificac ¸o ¸a de pessoal qualificado. Neste a ˆ mbito.BR 2011]. Todavia. Entretanto. Tal funcionalidade e em conhecida como MAC-based VLAN. tais como CAIS e CERT. constatamos que apenas um fabricante de equipamentos de rede ˜ o. 2001]. de incidentes e tomada de decis˜ ao para a alta administrac ¸a ˜ o de tais dados auxiliam os CSIRTs a detectar tendˆ A obtenc ¸a encias. ˜ o recebeu mais de 550 notificac ˜ es. Avaliac ¸a ˜ o do TRAIRA na rede da UFBA em setembro de 2010. o que evita o problema supracitado de atividade maliciosa na rede local e simplifica sobremaneira o ˜ o. Conforme pode ser visto na Figura 2 (extra´ ıda do TRAIRA). dentre outros. A implementac ¸a atual do TRAIRA fornece estat´ ısticas importantes geradas automaticamente a partir de ˜ es retiradas da notificac ˜ o recebida e do tratamento efetuado. correspondem a uma m´ edia ˜ es. espera-se que a linha de incidentes resolvidos esteja o mais pr´ oximo poss´ ıvel da linha dos incidentes reportados. Um recurso fundamental aos grupos de resposta a incidentes de seguranc ¸a ˜ o de estat´ (CSIRTs) consiste na produc ¸a ısticas relevantes ao contexto de tratamento ˜ o [Arvidsson et al. a proximidade das linhas indica a efic´ acia do uso da ferramenta no tratamento de incidentes de seguranc ¸ a.000 equipamentos. o trata˜ es era extremamente custoso. ˜ o e taxa de tratamento dos incidentes. A seguir. decidimos implementa essa funcionalidade. enquanto a outra indica quais destes incidentes foram tratados automaticamente pelo TRAIRA. Considerando a efetividade dessa soluc ¸a ˜ o de novos equipamentos com reorientar nossos procedimentos de compra para a aquisic ¸a esta funcionalidade. Por exemplo. E necess´ ario que a m´ aquina esteja conectada em algum switch que possibilite ˜ o de filtros (ACLs) para modificar a VLAN baseado no enderec a criac ¸a ¸ o MAC de origem ´ tamb´ dos pacotes. do qual a UFBA participa. Tendo em vista que a rede da UFBA conta mais de 12.

Atualmente. Figura 3. A Figura 3 apresenta tal gr´ afico para a UFBA no per´ ıodo de janeiro a julho de 2011. visto que h´ a forte tendˆ encia nas instituic ¸o administrar redes por meio de uma estruturada combinada de VLANs. Nossa rede institucional e ´ esSegmentac ¸a ˜o truturada em VLANs a fim de estabelecer pol´ ıticas de controle de acesso e segmentac ¸a ˜ es tˆ de tr´ afego. a an´ alise das estat´ ısticas produzidas pelo ˜ o precisa das principais sub-redes geradoras de TRAIRA permitiram a identificac ¸a incidentes. diversas instituic ¸o em adotado esse modelo como facilitador ˜ o de grupos de usu´ da administrac ¸a arios e recursos em redes de campus e de larga escala. As dez principais VLANs geradoras de incidentes na rede UFBA (janeiro a julho de 2011) Em nosso ambiente institucional.˜ do tratamento de incidentes reportados a UFBA entre janeiro Figura 2. Situac ¸ ao a julho de 2011 ˜ o de incidentes por Rede Virtual (VLAN). Com base nesse resultado. ˜ o espec´ o que permite direcionar medidas de prevenc ¸a ıficas. pˆ ode-se iniciar um trabalho espec´ ıfico e direcionado aos usu´ arios. Esse gr´ afico ressalta as VLANs (cujos nomes reais foram sombreados por quest˜ oes ˜ o de incidentes de seguranc de seguranc ¸ a e privacidade) que mais impactam na gerac ¸a ¸ a. Tais dados s˜ ao fundamen˜ es em tais para redes de campus ou extensas. dirigentes e administradores destas sub-redes visando identificar o ˜ o. motivo da atividade maliciosa e implantar estrat´ egias de controle e mitigac ¸a 38 .

Para possibilitar ao usu´ ario ˜ o deve prover documentac ˜ o suficiente n˜ ao-especializado tratar um incidente. no melhor de nosso conhecimento. que se concentra na res˜ o de incidentes.˜ o de m´ Identificac ¸a aquinas reincidentes. bem como em celeridade e precis˜ a ¸o ao em ˜ o ao cessamento da propagac ˜ o de atividades maliciosas na rede interna. a instituic ¸a ¸a e compreens´ ıvel sobre as quest˜ oes t´ ecnicas e organizacionais relacionadas. tais como: a fase de isolamento e desinfecc ¸a a sendo ineficaz. por vezes. Os autores 39 . A economia de tempo na identificac ˜o e notificac ¸o ¸o ¸a ˜ o da m´ contenc ¸a aquina comprometida representa um ganho qualitativo fundamental frente ` s instituic ˜ es externas que reportam incidentes. 2006]. o Orion ainda lida precariamente com a ˜ o de incidentes em redes. atua especi˜ o do processo de tratamento e resposta a incidentes. gerac ˜ o de estat´ posta aos incidentes de seguranc ¸ a (classificac ¸a ¸a ısticas. poucos ˜ o do procedimento a fim de minorar custos deles tˆ em se preocupado com a automatizac ¸a e reduzir o tempo de tratamento dos incidentes. Existe ainda uma extens˜ ao para o RT chamada Request Tracker for Incident Response (RTIR). a fim de ` s demandas do processo de tratamento de incidentes [Kaiser et al. uma distribuic ¸a em Live-CD baseada no BackTrack para o tratamento de incidentes de seguranc ¸ a. Apesar de prover boas ferramentas para tratamento. 2006] os autores prop˜ oem um gerenciamento semiautomatizado dos incidentes de seguranc ¸ a. ao passo que os incidentes mais s´ erios s˜ ao encaminhados para uma equipe de seguranc ¸ a qualificada. propiciando novas infecc ¸o ˜ o proporcionada pelo TRAIRA simplifica o procedimento de traA automatizac ¸a tamento dos principais incidentes. no entanto. Werlinger et al. Esta m´ etrica indica a taxa de reincidˆ encia na ˜ o de incidentes em determinado host. Trabalhos correlatos ˜ o de pol´ A literatura apresenta uma s´ erie de trabalhos que versam sobre a definic ¸a ıticas de seguranc ¸ a e tratamento dos incidentes [Ceron et al. 2008. A interpretac ¸a ˜ o est´ diversas hip´ oteses.). A resposta a ¸o ¸a atica e ` abordagem manual em que cada incidente era resolvido instantˆ anea. dentre outros. contenc ¸a Em [Kaiser et al. uso do recurso. por´ em. Pode ser usada como indicador qualitativo gerac ¸a ˜ o desse dado pode levantar do tratamento e p´ os-tratamento de incidentes. O SANS Institute desenvolveu o Orion [Jarocki 2010]. pois a equipe de helpdesk apenas recebe o enderec ¸o MAC dos dispositivos suspeitos identificados pelo sistema e realiza o tratamento das ` s notificac ˜ es que envolvem contenc ˜ o autom´ ´ praticamente m´ aquinas. Tal demora ensejava. que apresenta algumas funcionalidades interessantes. Lundell 2009]. Scarfone et al. At´ e nosso conhecimento. no caso dos incidentes de v´ ırus/worm pode indicar inexperiˆ encia ou desleixo do usu´ ario no ˜ es com facilidade. a maioria dos CSIRTs usa sistemas de helpdesk customizados (tamb´ em conhecidos como sistemas de chamados) para tratar seus incidentes. 2007. como a de gerenciamento de contatos de ˜ o e a possibilidade de troca de informac ˜ es de seguranc seguranc ¸ a de uma instituic ¸a ¸o ¸ a com ˜o outros CSIRTs. relac ¸a ¸a 5. o n˜ ao atendimento de algumas ˜ es por restric ˜ es de tempo da equipe. etc. De maneira geral. nenhuma dessas ferramentas. melhor atender a Dois sistemas bem conhecidos s˜ ao o Request Tracker (RT) [BestPractical 2011] e o Open Source Ticket Request System (OTRS) [OTRS 2011]. 2009. Outros ficamente na automatizac ¸a ¨ frameworks e ferramentas espec´ ıficos incluem o SIRIOS [KLINGMULLER 2005]. quando comparada a em cerca de 30 minutos. onde os incidentes menos importantes s˜ ao tratados pelo pr´ oprio usu´ ario envolvido.

do bloqueio no firewall daqueles enderec ¸ os IPs identificados. 40 . do inglˆ es Host Intrusion Prevention System) que pode ser usado tanto em servidores quanto em m´ aquinas clientes. que consiste em trˆ es componentes. esses padr˜ oes tamb´ em s˜ ao bastante utilizados para notificac ¸o incidentes de seguranc ¸ a. n˜ ˜ o de lizada no firewall da instituic ¸a ao previne a propagac ¸a atividade maliciosa na rede local. a contempla o tratamento de notificac ¸o ˜ o de mapeamento entre o NAT efetuado e as m´ resoluc ¸a aquinas internas. Por fim. principalmente. As desvantagens dessa soluc ¸a ˜ o e de sua inadequac ˜o a est˜ ao relacionados. o trabalho n˜ ao ˜ o autom´ considera a traduc ¸a atica de enderec ¸ os via NAT e DHCP. o terceiro ´ respons´ ˜ o de p´ componente e avel pela gerac ¸a aginas web dinˆ amicas que informam aos ˜ es indicadas para o incidente reportado. Tal bloqueio. 2007]. apesar da possibilidade de alterac ¸a ˜ o: bloqueio no tos avanc ¸ ados para efetu´ a-la) e permite a escolha da estrat´ egia de contenc ¸a equipamento gerenci´ avel mais pr´ oximo ou direcionamento para VLAN de quarentena. Outra limitac ¸a ˜ o basear-se apenas no enderec reside no fato da contenc ¸a ¸ o IP do host detectado e ser rea˜ o. infelizmente. ii) extrai informac ¸o arios coletados (tais como tentativas de acesso a enderec ¸ os IP suspeitos). Entretanto. Ele explora uma vulnerabilidade conhecida do MS Windows Server (MS08-067) e pode comprometer uma s´ erie de vers˜ oes do Windows [CWG 2011]. por exemplo. prop˜ oe-se uma arquitetura voltada para detecc ¸a ˜ o automatizada de m´ contenc ¸a aquinas participantes de botnets. essa soluc ˜ o n˜ usu´ arios as soluc ¸o ¸a ao ˜ es externas. atrav´ es de honeypots). O software e baseado em regras e examina as atividades do sistema (no agente) e o tr´ afego de rede a fim de diferenciar comportamentos normais daqueles indicadores de uma anomalia ou ataque. e seu impacto nas v´ arias fases do tratamento de incidentes. do inglˆ es Intrusion Detection System). tamb´ em conhecido como Downadup ou Kido. enfatizando o tratamento ˜o de um tipo espec´ ıfico de incidente: m´ aquinas participantes de botnets. A arquitetura i) coleta ar˜ es dos bin´ quivos bin´ arios maliciosos (e. At´ e nosso conhecimento. usando O autor analisa a adequac ¸a ˜o como estudo de caso o software malicioso Conficker3 .g. as quais requerem. iii) utiliza essas ˜ es na gerac ˜ o de assinaturas e monitoramento do tr´ ˜ o. 3 ´ um worm que ficou bastante conhecido O Conficker. o PRISM (Portal for Reporting Incidents and Solution Management). ao alto custo de implantac ¸a ¸a ambientes heterogˆ eneos de rede. ˜ o do CSA nas etapas de tratamento de um incidente. 2 ˜ o para Sistemas de Motivado pela necessidade de se definir um padr˜ ao de arquitetura e comunicac ¸a Detecc ¸a ao (IDS. informac ¸o ¸a afego de rede da instituic ¸a ˜ o automatizada dessas m´ e iv) prevˆ e a contenc ¸a aquinas por meio. denominado IDMEF (Intrusion Detection Message Exchange Format) [Debar et al.prop˜ oem um sistema de gerenciamento de incidentes.. Por essas raz˜ oes. O segundo componente cont´ recebe as notificac ¸o em a l´ ogica para tratamento de incidentes e medidas corretivas relacionadas. o IETF. 2010]. que define ´ as pol´ ıticas de seguranc ¸ a do host e centraliza o registro de eventos (logging). ˜ o propriet´ Farnham [Farnham 2009] apresenta uma soluc ¸a aria da Cisco. ´ um sistema de prevenc ˜ o de intrus˜ O CSA e ¸a ao baseado em hosts (HIPS. por exemplo. No CSA. o TRAIRA utiliza o enderec ¸ o MAC ˜ o. Apesar de originalmente con˜ es de cebidos para uso em sistemas IDS. chamada Cisco Security Agent (CSA). e pelo n´ umero de sistemas que conseguiu infectar ao redor do mundo. requer conhecimencomo identificador de host (que. ˜o e Em [Ceron et al. cada host possui um agente e um centro de gerenciamento. atrav´ es do grupo de trabalho ˜ o de Intrus˜ IDWG (Intrusion Detection Working Group) especificou o protocolo IDXP (Intrusion Detection Exchange Protocol) [Feinstein and Matthews 2007] e um formato para troca de alertas entre IDSs. O primeiro ˜ es no formato IDMEF2 .

Considerac ¸o ˜ o e avaliac ˜ o de uma ferramenta para Este trabalho apresentou o projeto.. In X Simp´ para Mitigac ¸a osio Brasileiro em Seguranc ¸ a da Informac ¸a ˜o e de Sistemas Computacionais (SBSEG’10). Ultimo acesso em Julho de 2011.org/rfc/rfc3067.txt. (2001). atrav´ ˜ es mento e consulta dos logs.. Y. Uma Arquitetura Baseada em Assinaturas ˜ o de Botnets. J. A. Demchenko.. ˜ o no armazenaComo trabalhos futuros. Martins. principalmente das traduc ¸o es de informac ¸o ˜ o de padr˜ ˜ es (e. Machado. J.˜ es finais 6. 7. baseados em nossas demandas e na situac ¸a ˜ es parceiras. o que permite melhor aproveitamento dos recursos humanos destinados a ao e ˜ o da seguranc ˜ o. SBC. Assim. A ferramenta atua em todas etapas do tratamento de um inci` gest˜ dente.. A. adicionar suporte a outros dispositivos de NAT.ietf. (2010). BestPractical (2011). J. Boos Jr.g. nossa intenc ˜o e ´ compartilhar nossa ferramenta s˜ ao u ¸o ¸a experiˆ encia no desenvolvimento e uso dessa ferramenta a fim de aprimorar os proces˜ es brasileiras e. and Tarouco. IDMEF) resumidas em bancos de dados).g. ´ Dispon´ ıvel em: http://www. tais como instituic ¸o emicas de ˜ es privadas. IV Workshop de TI das IFES. Ultimo acesso em Julho de 2011. ensino e pesquisa. and Rey. Em verdade. o que reforc ¸ a a viabilidade de sua aplicac ¸a ˜ es acadˆ pr´ atica em ambientes complexos e heterogˆ eneos. Cormack. TERENA’S Incident Object Description and Exchange Format Requirements. F. C. como sos de tratamento de incidentes de seguranc ¸ a em outras instituic ¸o ˜ o com potenciais usu´ consequˆ encia.. em: Ceron. sendo usado como ferramenta prim´ aria no tratamento ˜ es recebidas pela instituic ˜ o e produdo ciclo de incidentes de seguranc ¸ a das notificac ¸o ¸a ˜ o existenzidas internamente.com/rt/. L. destacam-se a necessidade de otimizac ¸a ˜ es NAT (e. governamentais ou corporac ¸o ˜ o e uso efetivo na rede de campus Atualmente. 41 . consideramos que os problemas solucionados pela tes em outras instituic ¸o ´ teis a diversas instituic ˜ es. estabelecer parcerias de pesquisa e inovac ¸a arios e desenvolvedores interessados. onde uma requisic ¸a ´ o enderec assim o enderec ¸ o de origem visto no servidor remoto e ¸ o do proxy e n˜ ao do cliente original. Dispon´ ıvel ´ http://www. L. J. pages 105–118. como no caso do ˜ o HTTP e ´ intermediada pelo proxy e uso de proxy de cache http. operacionalizac ¸a ¸ a da informac ¸a ` implantac ˜ o e execuc ˜ o dessa Os requisitos de hardware e software necess´ arios a ¸a ¸a ˜ o s˜ ˜o soluc ¸a ao triviais e muito pouco onerosos. O processo de tratamento de incidentes de seguranc ¸ a. (2009).bestpractical. extens˜ ao para outros mapeamentos de enderec ¸ o de rede. por exemplo o PFSense/FreeBSD.. L... adoc ¸a oes para notificac ¸o no parser. o TRAIRA encontra-se em produc ¸a da UFBA desde setembro de 2010. Granville. Referˆ encias Arvidsson. implementac ¸a ¸a automatizar o processo de tratamento de incidentes de seguranc ¸ a em redes de campus e de larga escala. and Meijer. Agradecimentos Este trabalho foi parcialmente financiando pela FAPESB. RT: Request Tracker.. RFC 3067 (Informational). Ceron.

Automated resolving of security incidents as a key mechanism to fight massive infections of malicious software. and Lear. Dispon´ ıvel em: ´ http://www. D.org/rfc/rfc4767. TRAIRA (2011). Ultimo acesso em Julho de 2011.org. The Intrusion Detection Exchange Protocol (IDXP).. (2009).CERT.. In Proceedings of the 3rd symposium on Usable privacy and security. D. 4361.txt. 800–61. Feinstein. Grance.Bahia (2010). (2007). NIST Special Publication. RFC 4767 (Experimental). CWG (2011). Ultimo acesso em Julho de 2011. B. B. Orion Incident Response Live CD. ACM. Estat´ ısticas do CERT. RFC 2131 (Draft Standard). RFC 1918 (Best Current Practice). Karrenberg. (2008). G. and Beznosov. D. TRAIRA – Tratamento de Incidentes de Rede Automatizado. SIRIOS: A Framework for CERTs. em: 42 . Kaiser. T. em: Debar. RFC 1631 (Informational). FIRST Conference on Computer Security Incident Handling. J. Ultimo acesso em Julho de 2011. Brazilian Honeypots Alliance. K. (1997). Jarocki. (1994).. (2007). Conficker Working Group.org/wiki/. Detecting. Vitzthum.tgz..BR (2011). P. Dispon´ ıvel em: ´ http://www.br/files/sw/rt-traira. Y. SANS Institute InfoSec Reading Room. Werlinger. ´ Ultimo acesso em Julho de 2011. volume LNI P-97. K. Ultimo acesso em Julho de 2011. (2009). (2006).confickerworkinggroup. (1996). E. and Dressler. Moskowitz. Dis´ pon´ ıvel em: http://www. SANS Institute InfoSec Reading Room. J. Updated by RFCs 3396.. In GI SIDAR International Conference on IT-Incident Management and IT-Forensics (IMF 2006). K..Bahia.ietf. and Masone. Obsoleted by RFC 3022. R. Computer Security Incident Handling Guide.txt.rnp. Dispon´ ıvel em: ´ http://www. Rekhter.rnp. Dispon´ ıvel ´ http://www. Scarfone. analyzing and responding to security incidents: a qualitative analysis. Farnham. Botta. (2007). Holleczek.org/.otrs. J. ¨ KLINGMULLER.. A. K. Dispon´ ıvel em: ´ http://www. Incident Handling as a Service.. and Francis. Dispon´ ıvel ´ http://www. B.pop-ba. de Groot.pop-ba. T. The IP Network Address Translator (NAT).ietf... H.certbahia. Dynamic Host Configuration Protocol. (2010).honeypots-alliance.. Lundell. Droms. M.br/Estatisticas. G. (2005). OTRS (2011).txt.ietf. Address Allocation for Private Internets.. Open source trouble ticket system. P. 5494. Curry.br/. G. Ultimo acesso em Julho de 2011. pages 92–103.org/rfc/rfc4765.. Ultimo acesso em Julho de 2011. Dispon´ ıvel em: http://www. The Intrusion Detection Message Exchange Format (IDMEF). and Feinstein. Cisco Security Agent and Incident Handling. Egevang.org/rfc/rfc1918. RFC 4765 (Experimental). Ultimo acesso Julho de 2011. R. pages 149–150. and Matthews. Honeynet. F.

Uma maneira de proteger web services de ataques de injection é através de 43 . ataques de injection estariam entre as vulnerabilidades mais exploradas em 2010. pois as duas primeiras posições da lista são relacionadas a injections.g.santin. Anomaly-based intrusion detection approaches produce high false positive rates. Andreia Malucelli Programa de Pós-Graduação em Informática (PPGIa) – Pontifícia Universidade Católica do Paraná (PUCPR) – Curitiba – PR – Brasil {tmattosr. De acordo com o relatório anual de segurança do Open Web Application Security Project [OWASP 2009]. As abordagens de detecção de intrusão baseadas em anomalia geralmente produzem alta taxa de falsos positivos. Esta estatística se confirma no ranking das 25 falhas de software mais perigosas [CWE e SANS 2010]. Santin. Resumo. as tecnologias utilizadas por web services (e. por exemplo. através da inserção de caracteres XML inválidos [CWE 2011].malu}@ppgia. Altair O. Entretanto. Isto pode ser alcançado inserindo conteúdo malicioso em uma mensagem XML. SOAP − Simple Object Access Protocol. Rosa. Este artigo aborda especialmente ataques de XML injection − XML Cross-Site Scripting e XPath/XQuery injection. já que provêm um meio padrão de interoperabilidade entre diferentes aplicações. mantendo baixas as taxas de falsos positivos. This paper presents a novel hybrid attack detection engine that brings together the main advantages of these classical detection approaches. while maintaining low false positive detection rates.puc. 2004]. que podem estar executando em uma variedade de plataformas e frameworks [Booth et al. Introdução Web services vem sendo usados crescentemente em sistemas distribuídos na internet. Este artigo apresenta um mecanismo híbrido de detecção de ataques que agrega as principais vantagens destas abordagens clássicas. 1.br Abstract. An ontology is applied as a strategy-based knowledge-base to assist mitigating XML injection attacks.Uma Ontologia para Mitigar XML Injection Thiago M. The underlying technologies used by web services bring well-known vulnerabilities from other domains to this new environment. Aplica-se uma ontologia como a base de conhecimento de ataques baseada em estratégia (sequencia encadeada de ações) para mitigar ataques de XML injection. As tecnologias utilizadas em web services trazem vulnerabilidades conhecidas em outros domínios para este novo ambiente. XML injections são ataques que produzem alguma mudança nos componentes internos de um documento XML tentando comprometer aplicações que executam web services. while signature-based intrusion detection approaches do not detect attack variations. enquanto que abordagens baseadas em assinatura não detectam variações de ataque. HTTP − Hypertext Transfer Protocol e XML − Extensible Markup Language) favoreceram a exploração de vulnerabilidades conhecidas neste novo ambiente.

i. mesmo que estes representem pequenas variações de um payload conhecido. Para este propósito apresenta-se o sistema de detecção baseado em estratégia como uma abordagem híbrida − suportando detecção baseada em anomalias. que define o relacionamento semântico entre elementos do mesmo. ou driblar a engine de detecção da abordagem por assinaturas. que aplicam uma técnica normalmente baseada em algum tipo de comportamento (implementado como um perfil). deverá ser observada uma baixa taxa de falsos positivos na detecção. uma limitação importante da detecção de ataques baseada em assinaturas é que esta abordagem não detecta ataques desconhecidos (novos). uma para comportamentos normais − contendo todas as ações esperadas para tal perfil − e outra representando ataques. a efetividade de um ataque zero-day pode variar de horas até meses [Zero Day Initiative 2011]. Uma assinatura é um payload que identifica um ataque através de um conteúdo malicioso. Já que ataques novos (desconhecidos) são derivados de estratégias conhecidas. derivada da detecção baseada em assinaturas. Aplica-se uma ontologia para construir a base de ataques de XML injection contra web services. Por exemplo. 44 . porém. Técnicas de detecção baseadas em anomalias conseguem detectar novos ataques. Entretanto. gerado em função de alterações na estratégia de cada ataque. Sistemas de detecção baseados em assinaturas normalmente produzem baixa taxa de erros de classificação dos ataques – conhecidos como falsos positivos. envolvendo ações que não são consideradas normais. permite ataques do tipo zero-day. Porém. na seção 5 são descritos alguns trabalhos relacionados e a seção 6 conclui o trabalho. A técnica de detecção baseada em assinaturas é a mais utilizada. O objetivo deste trabalho é modelar os ataques através de uma estratégia representada por classes e seus relacionamentos em uma ontologia. os resultados desta mudança são suficientes para confundir a abordagem de detecção por anomalias. pode-se facilmente detectar variações nos payloads e. A contribuição desta proposta consiste em prover uma abordagem de sistema de detecção para XML injection baseado em estratégia (XID). não é levado em consideração que a estratégia (engine) de um ataque é similar para a maioria das categorias e que geralmente só há variações no payload. que ocorrem quando uma vulnerabilidade (falha de software) se torna publicamente conhecida antes que sua correção esteja disponível para ser inserida na base de assinaturas do sistema de detecção [Zero Day Initiative 2011]. O restante do artigo está organizado da seguinte forma: a seção 2 aborda brevemente ontologia. Outra forma de proteger web services contra ataques de injection é através de sistemas de detecção baseados em anomalias [Yee. Shin e Rao 2007].. como consequência. mas na maioria das vezes produzem alta taxa de falsos positivos (erros de avaliação) na detecção. Neste caso. para também mitigar ataques zero-day resultantes de variações dos ataques contidos na ontologia. Independentemente de como uma vulnerabilidade se torna publicamente conhecida. os ataques podem ser modelados/classificados em duas classes distintas. produzindo alertas falhos (falsos positivos). a seção 4 apresenta a proposta (XID) e alguns cenários de avaliação. a seção 3 explica como foi construída a ontologia baseada em estratégia. adicioná-los automaticamente à base de conhecimento da ontologia. Acredita-se que conhecendo a estratégia de um ataque.e. A abordagem de detecção clássica constrói sua base de assinaturas catalogando os ataques independentemente um do outro.sistemas de detecção baseados em assinaturas [Siddavatam e Gadge 2008].

descrevendo seus significados e um conjunto de axiomas (formais) que restringem a interpretação e o uso destes conceitos [Konstantinou. a ontologia pode ser compartilhada (utilizada em vários sistemas escritos em linguagens diferentes) e reutilizada − adaptada para contemplar outros objetivos. Outro recurso de uma ontologia é permitir interoperabilidade entre sistemas através de seu vocabulário comum. apresentado aqui em lógica de primeira ordem: “AlunoDisciplinaAlgebra ≡ ∃éAlunoDe. Além disto. que envolvem classes. um axioma para tal domínio poderia ser “todo aluno do curso de matemática é aluno da disciplina álgebra”. coerência. Spanos e Mitrou 2008]. instâncias. 3. definições de classes e axiomas devem restringir o número de interpretações possíveis para satisfazer o critério da clareza. conceitos poderiam ser aluno. Observando esses critérios. Tomando como exemplo o domínio de conhecimento “alunos de uma universidade” citado acima. Spanos e Mitrou 2008]. “é disciplina de”. relacionamentos e operadores lógicos. Usando o exemplo do domínio de conhecimento “alunos de uma universidade”. McDermott e Qi 2004]. Através do uso de inferências. extensibilidade e um mínimo compromisso ontológico. disciplina. algumas escolhas devem ser feitas quando se vai construir uma ontologia. Os relacionamentos poderiam ser “é aluno de”. decisões de modelagem devem ser tomadas de acordo com o objetivo da ontologia. com o intuito de derivar desta ontologia um novo conhecimento. A principal vantagem de se utilizar ontologia para modelar dados é o fato desta prover uma semântica explícita e formal. Esta descrição é alcançada através de um conjunto de definições que associam os conceitos à linguagem humana. os critérios preliminares que devem ser levados em consideração antes de se construir uma ontologia são clareza. no domínio “alunos de uma universidade”. a informação de que esse aluno está inscrito na disciplina álgebra não precisaria ser manualmente adicionada na ontologia. ontologias também podem prover informações sobre um determinado domínio que não estejam explicitamente definidas na base de conhecimento [Konstantinou. Axiomas são utilizados para representar uma verdade reconhecida para um determinado domínio de conhecimento. Ontologia Uma ontologia descreve um vocabulário comum usando conceitos (objetos) e propriedades (relacionamentos) que são importantes para um determinado domínio. etc. Axiomas são definições.CursoMatematica” De acordo com Gruber [1993]. etc. Por exemplo. pois esta informação seria automaticamente inferida a partir de um axioma. minimizar o compromisso ontológico significa admitir vários possíveis modelos para um domínio de conhecimento. permitindo que inferências sejam feitas de acordo com os axiomas pré-definidos [Dou. Os mesmos são avaliados por máquinas de inferência – software que faz deduções a partir do conhecimento expresso em uma ontologia. Por exemplo. Ontologia Baseada em Estratégia Para satisfazer os critérios propostos por Gruber [Gruber 1993] na construção da ontologia. “é professor de”. utilizou-se inicialmente a taxonomia de ataques apresentada pelo website da CAPEC [CAPEC 2011]. curso. Esta descrição é feita em 45 . professor.2. expressas através de lógica de primeira ordem. Portanto. Porém. A CAPEC descreve mecanismos utilizados para explorar falhas de software de acordo com a perspectiva do atacante. se existe um aluno do curso de matemática na base de conhecimento da ontologia.

A assinatura de uma instância de ataque é representada na ontologia por relacionamentos que a mesma tem com ações – implementados através da propriedade hasAttackAction.alto nível. Figura 1. por isto a ontologia foi refinada baseando-se também em algumas ferramentas de teste de segurança (seção 4. Diagrama de classes da ontologia A classe WebServicesAttack possui subclasses representando categorias de ataques a web services. Além disso. A ontologia proposta é composta de classes e propriedades (Fig.ProbeXPath ⨅  ∃hasAttackAction. os axiomas definidos para uma classe (categoria de ataque) restringem o número e o tipo de ações que as instâncias daquela classe terão. instâncias (Fig. Para facilitar o entendimento. Uma instância de ataque pode ter uma ou mais ações e uma ação pode ser parte de várias instâncias de ataque. Cada uma destas subclasses possui instâncias representando assinaturas de ataques conhecidos.Discovery ⨅ ∃hasAttackAction. Exemplos de instâncias da ontologia Na ontologia. 2) e axiomas. permitindo que este novo conhecimento seja adicionado à ontologia a partir desta dedução. neste caso os axiomas também podem ajudar a máquina de inferência a deduzir se um tipo de ataque ocorreu quando o padrão identificado (instância) ainda não está na base de conhecimento da ontologia.1). As duas superclasses da ontologia são AttackAction e WebServicesAttack. Figura 2. AttackAction possui subclasses contendo instâncias de ações suspeitas (payloads) capturadas na rede. neste artigo utiliza-se somente uma classe de ataques a web services (XMLInjection) e três subclasses (XPathInjection.InjectXQuery”  (1)  46 . XQueryInjection e XSSInjection) para exemplificar a estratégia dos ataques. 1). Os axiomas foram modelados para cada “XQueryInjection ≡ ∃hasAttackAction.

uma ação do tipo ProbeXPath. Adicionalmente. 2). dando à abordagem proposta similaridade com a abordagem de detecção baseada em anomalias.asmx?wsdl HTTP/1. detectados pelo XID antes da instância de ataque xqueryInjection1 ser adicionada na ontologia. Observe que mesmo a base de conhecimento da ontologia não contendo esta instância de ataque específico. Detecção de XML Injection Baseada em Ontologia A ontologia proposta foi modelada utilizando a ferramenta Protégé [Stanford 2011] e a 47 . Isto fez o XID criar um relacionamento com a ação injectXQuery1 (Fig.classe de ataque baseando-se nas estratégias de ataque propostas pela CAPEC. As instâncias e relacionamentos na ontologia podem ser comparados com os padrões de ataques conhecidos em uma abordagem de detecção baseada em assinaturas. e uma ação do tipo InjectXQuery terá que obrigatoriamente ser uma instância da classe XQueryInjection. na ontologia criou-se o axioma (1) para a classe XQueryInjection. “<query>count(/child::node())</query>”  (4)  “<query>//*</query>”  (3) Finalmente. a máquina de inferência considerou o conjunto de eventos capturados como uma instância da classe XQueryInjection – de acordo com o axioma definido. Na lógica de detecção do XID isto significa que um ataque do tipo XQueryInjection ocorreu. O XID então inferiu na ontologia para verificar se essas ações poderiam representar um ataque. e foram validados/ajustados baseando-se em ferramentas de teste de segurança para web services (seção 4. desta vez com a ação probeXPath1 (Fig. o pacote (4) contém o payload ‘count(’. o XID cria outro relacionamento. Ou seja. na próxima vez que este ataque ocorrer será detectado sem que a máquina de inferência precise ser acionada. neste caso tentando obter o número de ocorrências de algum elemento da estrutura da base de dados XML. representado aqui através de lógica de primeira ordem.1). Com isto. Por exemplo. Um exemplo prático do uso deste axioma específico é representado pelos pacotes (2). enquanto que na abordagem de detecção baseada em assinaturas o padrão é apenas um payload. O pacote (3) contém caracteres (‘//*’) que não deveriam estar presentes em nenhum campo de um pacote enviado por um usuário em uma operação XPath. fazendo com que o XID crie um relacionamento (através da propriedade hasAttackAction) com a ação específica getWSDL (Fig. 2) − uma das instâncias da classe Discovery na ontologia. 2) − instância da classe ProbeXPath que representa o payload ‘//*’. Esta similaridade do XID com as outras duas abordagens de detecção de ataques o torna uma abordagem híbrida que explora as melhores características das outras duas. Este axioma instrui a máquina de inferência a deduzir que qualquer ataque possuidor de uma ação do tipo Discovery. “GET /WSDigger_WS/WSDigger_WS. que representa uma ação ilegal de um usuário. 4. (3) e (4). instância da classe InjectXQuery na ontologia. o padrão de ataque na ontologia representa a estratégia do ataque (sequência bem definida de ações). Isto permitiu à ontologia aprender um novo ataque. Porém. as classes e axiomas da ontologia permitem que a máquina de inferência deduza que um ataque ocorreu mesmo que esse ainda não esteja na base de conhecimento.0\r\n”  (2)  O pacote (2) representa um usuário acessando o documento WSDL de um web service. pois em seguida o mesmo foi automaticamente adicionado pelo XID à base de conhecimento na forma de uma instância da classe XQueryInjection.

1 modelou-se a estrutura das classes na ontologia (lado esquerdo da Fig. Também é possível encontrar fundamentação para isto no site da W3C [Boag et al. baseando-se nos axiomas criados para as classes. que são então transferidos para o módulo de detecção. Para capturar pacotes na rede foi utilizada a Jpcap [SourceForge 2011]. Protótipo Para avaliar a ontologia proposta foi desenvolvido um protótipo de sistema de detecção de intrusão (Fig. uma linguagem para consulta em arquivos RDF e OWL (arquivo da ontologia).g. uma biblioteca de captura de pacotes de rede para aplicações Java. neste caso. criou-se instâncias de ataques (e. que sugere que a linguagem XQuery seja uma extensão da XPath. as classes XQueryInjection e XPathInjection estavam no mesmo nível (classes irmãs) abaixo da classe XMLInjection. 4. como sugerido pela taxonomia da CAPEC. Utilizando o diagrama de classes da Fig. 2011]. xqueryInjection1) e suas propriedades e relacionamentos (lado direito da Fig. por conseguinte. Figura 3. As instâncias de ataque foram consultadas utilizando SPARQL [Prud'hommeaux e Seaborne 2008]. a tornar os resultados da detecção mais efetivos. 3). Na fase de modelagem da ontologia a máquina de inferência pode sugerir mudanças estruturais e identificar inconsistências. Depois de analisar tal inferência. já que a XQueryInjection possui todas as restrições da XPathInjection. 4). cuja função é analisar conteúdos relativos a web services – conteúdo codificado em XML que serve para detecção no XID. ajudou a aperfeiçoar a organização das classes de ataque na ontologia e. Primeiramente.linguagem Web Ontology Language [McGuinness e Harmelen 2009]. A Jpcap pode filtrar pacotes IP e TCP.ckers [Hansen 2008] para gerar ataques de XML 48 . A inferência. Entretanto após a execução do Pellet. Também foram utilizados scripts contidos no site ha.1. As estratégias dos ataques (extraídas inicialmente da CAPEC) foram refinadas e validadas utilizando o framework Metasploit [Metasploit 2011] e algumas das ferramentas de teste de segurança sugeridas pelo Open Web Application Security Project [OWASP 2011] para gerar ataques de XPath/XQuery injection. utilizando a tecnologia Java [Oracle 2011]. 3). A base de conhecimento da ontologia foi manipulada pelo protótipo em tempo de execução utilizando o framework Jena [SourceForge 2011]. esse sugeriu que XQueryInjection deveria ser uma subclasse de XPathInjection. concluiu-se que esta sugestão fazia sentido. Visão parcial da ontologia proposta catalogada no Protégé A máquina de inferência Pellet [Clarck&Parsia 2011] foi invocada através da interface DIG [Bechhofer 2006] no Protégé para inferir na ontologia. que já possui uma interface nativa do Pellet.

A seguir o protótipo verifica se existe alguma instância na base de conhecimento da ontologia que seja idêntica à criada anteriormente (evento iv) – o que indicaria que o ataque é conhecido (evento v). criando também um relacionamento da instância com esta ação (evento iii). É possível observar que quando uma ação é detectada (evento i) em um pacote da rede pela primeira vez o protótipo cria uma instância (evento ii) de ataque (por enquanto sem persisti-la na ontologia). 5. Isto é feito através de uma busca na ontologia por uma instância de ataque que esteja relacionada exatamente com as mesmas ações encontradas na detecção até este evento. O sniffer Wireshark [Combs 2011] foi utilizado para capturar pacotes na rede para análise funcional dos módulos do protótipo.Cross-Site Scripting. Fluxograma de detecção do XID Quando não é encontrada uma instância idêntica a criada no evento ii. a estratégia de um possível ataque começa a ser perseguida. o protótipo tenta inferir um novo ataque a partir das informações contidas na base de 49 . Figura 4. Figura 5. Ou seja. Visão geral da arquitetura do XID Uma visão geral do funcionamento do módulo de detecção e inferência do XID é apresentada na Fig.

50 . Além de emitir o alerta o protótipo adiciona a nova instância à base de conhecimento da ontologia (evento vii). o protótipo alerta o ataque inferido inicialmente como uma mensagem informativa (evento viii). antes de alertar o ataque o protótipo verifica se a classe da instância inferida contém subclasses. Caso encontre subclasses na ontologia. pois havia a dúvida se devido à necessidade de inferências em alguns casos da detecção de ataques tal abordagem seria viável. Não chegando a uma inferência conclusiva. 4. no segundo Pellet e no terceiro um arquivo texto – base de assinaturas Snort [Sourcefire 2011]. XQueryInjection e XSSInjection) e quatro instâncias de ataques (xpathInjection1. o que significa que há possibilidade do ataque ser mais específico. Adicionando incrementos de 2x (x = 2. levando em conta classes e axiomas na ontologia. quando então a sequência do algoritmo de detecção é reiniciada. mas também permite a detecção de variações de ataques através de inferência nas classes e axiomas. Quando um ataque é inferido. Esta abordagem analisou os pacotes da rede procurando por ações maliciosas. . Se esta nova inferência não alertar nenhuma subclasse mais específica. que a abordagem tenta aprender novos ataques e adicioná-los à base de conhecimento.2. xqueryInjection1 e xssInjection1). O objetivo dos experimentos foi comparar a escalabilidade e o desempenho da base de conhecimento da ontologia com os da base de dados baseada em assinaturas.. Avaliação quantitativa Para avaliar a eficiência do XID foram desenvolvidos três cenários. Esta base iniciou com quatro classes de ataques pré-cadastradas (XMLInjection. É através desta inferência. 3. Para avaliação foi utilizada uma base composta de até 128 ataques catalogados no Protégé. o que significa que o ataque pode não estar completo ou que se trata de uma nova categoria (subclasse) de ataques. o protótipo continua analisando os próximos pacotes até encontrar uma nova ação. O primeiro experimento testou a ontologia consultando-a com apoio do SPARQL. o protótipo e a ontologia (XID) podem ser considerados um sistema de detecção com uma abordagem híbrida.conhecimento da ontologia (evento vi). diversas instâncias de ataques e ações foram simuladas com o intuito de imitar as variações de ataques que vão sendo incorporadas à ontologia em uma aplicação real da proposta. xpathInjection2. O XID permite detecção baseada em assinaturas através das instâncias. XPathInjection. Esta nova ação é adicionada à instância (contendo agora duas ações) e novamente é verificado se um ataque ocorreu. Para compor a base. o protótipo aguarda a próxima ação a ser detectada e faz uma nova inferência. 4.) instâncias de ataques por vez a base foi sendo aumentada até totalizar os 128 ataques.. Um ataque pode ser alertado pelo protótipo (evento v) se for encontrada uma instância idêntica na ontologia (através do SPARQL) ou se for inferida uma instância como um novo ataque (através do Pellet). verificando se a instância pode ser considerada uma variação de ataque. Assim. Este ciclo de eventos ocorre até que uma instância seja apontada como um ataque de acordo com o conjunto de ações detectadas. Em caso contrário alerta o ataque – porque a subclasse mais específica foi alcançada. abaixo da classe correspondente. que já estavam pré-cadastradas na base de conhecimento da ontologia. No primeiro foi aplicado SPARQL.

Na segunda vez. o módulo de inferência foi invocado para determinar se os conjuntos de ações sendo capturadas poderiam ser considerados novos ataques. Em outras palavras. com o objetivo de comparação com o desempenho do SPARQL (Fig. uma nova instância para este ataque é automaticamente adicionada à base de conhecimento da ontologia. portanto a máquina de inferência tentou derivar novos ataques baseando-se em axiomas pré-definidos para cada classe de ataques. foi utilizado o arquivo de texto contendo regras do Snort como base de dados de assinaturas – sem nenhuma técnica de otimização de consultas. 7). não se desperdiça tempo invocando o módulo de inferência caso este ataque específico seja capturado no futuro. já que o módulo SPARQL falhou. o arquivo de assinaturas foi consultado buscando-se por payloads (em número. O terceiro experimento não utilizou a ontologia como base de conhecimento. 6).relacionando as mesmas com instâncias de ataques que foram previamente introduzidas utilizando o Protégé. Assim. eliminando a possibilidade de ataques zero-day. O segundo experimento utilizou o Pellet para avaliar a ontologia em tempo de execução. Neste experimento não havia instâncias de ataques na ontologia quando a mesma foi consultada pelo SPARQL. Figura 7. Na primeira vez o arquivo de assinaturas foi consultado para procurar payloads (aleatoriamente inseridos do início ao final do arquivo). variando entre 4 e128) que não se encontravam no mesmo – o objetivo foi comparar seu desempenho com o Pellet (Fig. Tempo de detecção relativo (Assinaturas x Pellet) O terceiro experimento foi executado duas vezes. Tempo de detecção relativo (Assinaturas x SPARQL) Sempre que uma nova sequência de ações é inferida como sendo um ataque (nova assinatura). pois o SPARQL irá detectá-lo primeiro. Figura 6. 51 .

7. Foi observado que o tempo gasto para avaliar as classes de ataques sem sucesso utilizando Pellet e o tempo gasto para inferência e adição de uma nova instância abaixo de uma das classes é similar. As Fig. obtendo a melhor relação custo benefício de detecção – baseada em assinaturas (SPARQL) vs baseada em conhecimento (Pellet). Baseando-se nos resultados relatados acima é possível concluir que a proposta deste trabalho. 6 compara o experimento de detecção baseada em assinaturas com o experimento utilizando o SPARQL em um cenário onde os ataques estão précadastrados no arquivo de texto e na base de conhecimento da ontologia. é vantajosa em relação ao terceiro cenário (abordagem clássica). Uma vez que o Pellet infere uma nova instância de ataque. Em aplicações reais as bases de ataques são muito amplas. Isto porque se uma instância atende às condições necessárias e suficientes (definidas através de axiomas) de uma classe. logo toda a base é consultada sem sucesso. Além disso. O gráfico da Fig. sua abordagem ainda é vantajosa (em relação à detecção baseada em assinaturas) pelo fato de que esse módulo é executado uma única vez para cada nova variação de ataque. pois as consultas resultam em perda de tempo de processamento pelo fato dos ataques não estarem na base. Entretanto. pois o SPARQL irá detectar o ataque primeiro na sua próxima ocorrência. já que instâncias detectadas ou inferidas necessariamente atendem aos axiomas definidos para suas classes de ataques. observando-se o ponto de partida da curva do Pellet na Fig. Ou seja. A motivação para tal escolha é que. em um mundo perfeito não haveria a possibilidade de alertas falsos serem gerados pelo XID. Avaliação qualitativa Em ontologias as definições de conceitos devem ser feitas através de axiomas lógicos [Gruber 1993]. obrigatoriamente será inferida como instância daquela classe. Porém. 6 constata-se uma tendência do desempenho do SPARQL ultrapassar a detecção baseada em assinaturas quando a base chegar a 512 ataques. em um cenário onde as assinaturas sendo procuradas não estão presentes no arquivo texto e os conjuntos de ações sendo capturadas não correspondem a nenhuma instância de ataque na base de conhecimento da ontologia.O gráfico da Fig. 7 compara o experimento de detecção baseada em assinaturas com o experimento do Pellet. Gruber menciona que estas definições devem ser completas. 7 mostrou o pior caso para detecções do XID. O gráfico da Fig. Observando a Fig. 4. logo a abordagem proposta teria a vantagem quantitativa de maior escalabilidade no tempo de detecção. mesmo o Pellet consumindo três vezes mais tempo do que a detecção baseada em assinaturas. mesmo que os axiomas garantam que nada 52 . Gruber também ressalta que se o resultado de uma inferência gerar um conhecimento que não corresponde à definição formal do domínio sendo representado. Considerando as afirmações de Gruber. nota-se que o mesmo gastou um tempo extra (se comparado a abordagem baseada em assinaturas). a ontologia pode estar incoerente. ou seja. que mistura o primeiro e o segundo cenário. este módulo não será mais executado no futuro se o mesmo ataque for capturado novamente. Já na detecção baseada em assinaturas este processamento sempre significará perda de tempo. necessário para derivar novas instâncias através dos axiomas das classes de ataques da ontologia. tomando como referência o tempo de busca por quatro ataques através de detecção baseada em assinaturas. 7 mostram gráficos comparando o tempo de detecção relativo. 6 e Fig.3. especificadas explicitando-se as condições necessárias e suficientes que as instâncias devem atender para serem classificadas por tais conceitos.

Como neste cenário o protótipo aguardou a detecção da próxima ação antes de alertar um ataque – quando havia a possibilidade de um ataque 53 . visando garantir que a ontologia tenha sido projetada de forma coerente. O resultado da avaliação para o primeiro cenário foi que 7/64 instâncias de ataque não foram detectadas corretamente. o resultado será impreciso. Isto é. e a parte restante (ação de ProbeXQuery) satisfaz sozinha o axioma da classe genérica XMLInjection. Portanto. No primeiro cenário a lógica de detecção alertou ataques a cada inferência conclusiva. Desta forma. dois cenários foram criados para testar a taxa de falsos positivos da abordagem proposta na detecção através do Pellet (módulo de inferência do XID que se utiliza dos axiomas para deduzir ataques). A avaliação dos cenários foi dividida em duas fases. Assim. Já no segundo cenário (abordagem do XID). 50% da amostragem de instâncias já estavam na ontologia ao término da primeira fase. Estas sequências de três ações deveriam alertar um ataque do tipo XQueryInjection de acordo com o axioma definido para esta classe. Na primeira fase. XQueryInjection e XSSInjection). sempre há a possibilidade de uma entrada incorreta na definição da ontologia por erro humano – assim como em qualquer outro sistema automatizado. Se o ataque está completamente descrito (contendo as condições necessárias e suficientes que refletem a estratégia do ataque no mundo real) a probabilidade de falso positivo é nula. no primeiro cenário o resultado da dedução foi impreciso em alguns casos porque não foi considerado integramente o conjunto de ações que atendem as restrições da classe mais específica. Isto ocorreu porque a primeira parte dos ataques gerados (ação de Discovery e ação de ProbeXPath) satisfaz o axioma da classe de ataque XPathInjection. A partir destas considerações. uma ação da classe Discovery. se a entrada está incorreta. para ambos os cenários. se o conjunto de atributos (relacionamentos) e restrições não estiver precisamente descrito há possibilidade de ocorrência de falsos positivos. ou seja. Porém. Estas sete instâncias continham três ações cada uma. XPathInjection. Para o teste dos cenários foram criadas 128 instâncias (reais e simuladas) para avaliar os axiomas das quatro classes de ataques da proposta (XMLInjection. com o intuito de se fazer uma avaliação (treinamento) inicial da ontologia e ajustar as classes e axiomas caso fosse necessário. o protótipo foi programado para apenas alertar um ataque mais genérico após verificar as classes mais específicas do ataque sendo inferido. uma da classe ProbeXPath e uma da classe ProbeXQuery. o protótipo alertou para cada uma das sete instâncias como ataques de XPathInjection e de XMLInjection. a dedução considerou apenas um subconjunto de ações que satisfaziam as restrições dos axiomas de classes mais genéricas – primeiras a serem testadas na lógica de detecção. o protótipo verificou se os ataques continham subclasses (indícios de que um ataque mais específico estaria ocorrendo) antes de alertá-los. No caso da proposta a possibilidade de erro de especificação do ataque na ontologia é minimizada devido ao uso da taxonomia da CAPEC. nenhuma alteração foi feita na ontologia. respectivamente (totalizando 14 ataques alertados). 64 dos 128 ataques criados foram utilizados. Pequenos ajustes foram feitos na lógica de detecção do protótipo após os resultados deste treinamento. Na segunda fase. as 64 instâncias de ataque restantes foram simuladas para testar a porcentagem de acerto da proposta nas inferências feitas em tempo de execução. assim que as restrições (axiomas) de qualquer classe eram atendidas o ataque era alertado. todas as 64 instâncias de ataque foram inferidas com sucesso e adicionadas às classes corretas na ontologia. No segundo cenário.diferente do que foi definido será detectado ou inferido pela proposta. Porém.

o mesmo é alertado como informativo ao invés de ataque. Dolstra e Visser 2010] e as que utilizam outras abordagens não trabalham com ataques a web services [Undercoffer et al. porém não detalham suficientemente 54 . Isto é. pois novos ataques só podem ser derivados de classes e axiomas pré-cadastrados na ontologia. Trabalhos Relacionados A grande maioria das propostas encontradas na literatura técnica utiliza abordagens de detecção clássicas [Siddavatam e Gadge 2008][Yee. já que os axiomas das subclasses eram sempre verificados.4. a performance da detecção utilizando SPARQL é similar à abordagem baseada em assinaturas. Além disso. No segundo cenário esta falha não ocorreu. A inferência neste caso mantém a taxa de falsos positivos na detecção similar à de abordagens baseadas em assinaturas. porque falsos positivos são resultantes de classificação errônea de ações normais consideradas como ataques. 4. portanto. quando a dedução não é conclusiva pode haver indícios de que o ataque detectado pode não estar completo (alguma ação das estratégias das subclasses foi perdida na detecção. por exemplo). Este tipo de informação pode então ser investigado por um administrador/especialista para verificar se uma nova subclasse teria que ser criada ou se a instância se encaixa em alguma subclasse existente. ou uma nova categoria de ataque pode ter sido detectada. 2004]. levando em conta que instâncias de ataques estão pré-cadastradas na base de conhecimento. redundâncias na definição da mesma que levariam horas para serem encontradas por um humano podem ser encontradas por uma máquina de inferência em alguns segundos. o Pellet trabalha inferindo na ontologia para derivar novos ataques quando o SPARQL não encontra combinações exatas dos ataques. Além disso. quanto na fase de modelagem para sugerir mudanças estruturais e encontrar inconsistências. quando o nível de especificidade do ataque sendo deduzido não é suficiente para atingir um grau de precisão confiável (depois de verificadas suas subclasses na ontologia). Porém. A falha encontrada no primeiro cenário da avaliação qualitativa. nem sempre levando em conta os axiomas das subclasses mais específicas. Os autores apresentam testes e resultados para sua proposta. 5. Shin e Rao 2007][Bravenboer. A inferência na ontologia pode ser utilizada tanto em tempo de execução (quando necessário) para aprender novos ataques.mais específico estar ocorrendo – não houve imprecisões na detecção. são alertadas como mensagens informativas e não como ataques. as instâncias deduzidas eram alertadas como mensagens informativas ao invés de ataques. Todas as requisições que não passam no teste são separadas para que ações posteriores possam ser tomadas. Na abordagem proposta estas imprecisões são deduzidas em classes mais genéricas e. Neste caso. Imprecisões de inferência não são consideradas como falsos positivos para o XID na abordagem do segundo cenário (ataque genérico alertado mesmo depois de verificadas as subclasses). que gerou imprecisão na detecção. foi devida a adoção de uma estratégia de detecção que buscava apenas identificar condições necessárias e suficientes. quando classes de ataque mais específicas não eram encontradas. Siddavatam e Gadge [Siddavatam e Gadge 2008] propuseram submeter requisições SOAP a uma série de algoritmos de teste para determinar se as mesmas poderiam representar algum tipo de ataque. Considerações Apesar de aplicar ontologia. otimizando a hierarquia de classes. dependendo do tamanho da ontologia.

neste caso podem ser detectadas variações de payloads com taxa nula de falsos positivos. A ontologia é principalmente um ‘dicionário’ comum para diferentes ambientes. por exemplo. 6. Conclusão Este artigo apresentou uma abordagem baseada em ontologia (XID) para proteger web services de ataques de XML injection e para mitigar o problema dos ataques que são variações de ataque conhecidos. Para os autores. Os ataques de XML injection que já estavam na base de conhecimento foram detectados com sucesso utilizando SPARQL para consultar a ontologia. Shin e Rao 2007] aplicaram um framework adaptável para tentar compensar as diferenças entre a detecção baseada em anomalias e assinaturas. nenhum resultado concreto foi apresentado. como na abordagem baseada em anomalias. O XID agrega as principais vantagens das abordagens clássicas de detecção. Permite a detecção de ataques conhecidos. o uso destas técnicas permite tomar decisões em ambientes incertos e imprecisos. Esta segunda abordagem de detecção é feita pelo XID através de inferência na ontologia. Os autores argumentam que a proposta é genérica.g. Esta ontologia é compartilhada por diversos sistemas de detecção de intrusão – o intuito é disseminar a todos um ataque descoberto por um deles. Os novos payloads foram automaticamente adicionados à base de conhecimento da ontologia como instâncias – abaixo das classes relacionadas. e permite a detecção de novos ataques. como na abordagem baseada em assinaturas. 2004] aplica ontologia para categorizar classes de ataques baseando-se principalmente no componente alvo dos mesmos. Porém. 55 . as variações de payload foram detectadas utilizando inferência com nenhuma ocorrência de falsos positivos. através da integração de agentes. Adicionalmente. para gerar automaticamente o código que irá prevenir vulnerabilidades para ataques de injection (e. Yee e seus colegas [Yee.g. A abordagem de Bravenboer e seus colegas [Bravenboer. Vorobiev e Han [Vorobiev e Han 2006] propuseram a abordagem que está mais próxima deste trabalho. os autores não avaliam a proposta com testes. Porém. Esta inferência de ataques que não estão pré-cadastrados na base não é possível na abordagem clássica de detecção baseada em assinaturas e imprecisa na baseada em anomalias. Quando os ataques não são conhecidos a proposta perde em desempenho quando comparada à abordagem por assinaturas. além disto. Dolstra e Visser 2010] sugere a incorporação de sintaxe. Porém.os algoritmos e os mecanismos de detecção dos ataques. de acordo com as linguagens utilizadas no guest e host (e. já que novos payloads (instâncias) foram detectados baseando-se somente em classes e axiomas de ataques pré-existentes. Como relação ao desempenho a proposta é comparável à detecção baseada em assinaturas quando os ataques são conhecidos. técnicas de mineração de dados e técnicas de lógica difusa. porém. podendo ser aplicada com facilidade a qualquer combinação de linguagens. XPath com Java). A proposta de Undercoffer e seus colegas [Undercoffer et al. mitigando ataques zero-day. adicionando funções para filtrar caracteres inválidos). os autores aplicaram uma ontologia especificamente para abordar o domínio de ataques a web services. eliminando os ataques que são variantes de ataques conhecidos. não é mencionado o uso de axiomas ou inferência. Entretanto. a implementação da ontologia não foi encontrada e a proposta não utiliza inferência para detectar novos ataques. uma limitação apontada é o fato de nem todas as linguagens possuírem uma sintaxe livre de contexto. também considera os meios e as conseqüências do ataque e a localização do atacante.

com/ advisories/upcoming/. In Proceedings of IEEE International Conference on Convergence Information Technology..edu.com/technetwork/java/index. D. G.org.org/TR/rdf-sparql-query. e Finin. CWE e SANS (2010) “2010 CWE/SANS Top 25 Most Dangerous Software Errors”. C. F. CAPEC (2011) “Common Attack Pattern Enumeration and Classification”. P.owasp. http://protege. E.org/snort-rules. (2006).com/pellet.org/data/graphs/1000. W. pg. In International Journal Human-Computer Studies 43. Prud'hommeaux.. Toward Principles for the Design of Ontologies Used for Knowledge Sharing. D. E. pages 1-6.uk. Combs.mitre. McDermott.mitre. Florescu. Metasploit (2011) “Metasploit .. Ontology Translation on the Semantic Web. pages 473-495. pages 907-928.0: An XML Query Language (Second Edition)”. S. Robie. A.html. McGuinness. and Grid. (2008) “XSS (Cross Site Scripting) Cheat Sheet”. Spanos. http://www. J.zerodayinitiative. http://jena.. Dolstra. OWASP (2011) “The Open Web Application Security Project”. e Seaborne. (2010).. http://dig. Oracle (2011) “For Java Developers”. Chamberlin. In Journal of Web Engineering.stanford. e Qi. http://www.sourceforge. http://www. K.com.org/images/3/3f/2009AnnualReport.org/TR/xquery.. http://www. e Rao. Dou. N.org/TR/owl-features. http://www. S.html... Konstantinou. Clarck&Parsia (2011) “Pellet: OWL 2 Reasoner for Java”. Ontology and Database Mapping: A Survey of Current Implementations and Future Directions. http://cwe. D. E. pg. D.net/projects/jpcap. e Orchard. D. E. J.. http://www. Ferris.snort. Champion. Knowledge. (2004). In Journal on Data Semantics (JoDS) II.org/xss. H.. http://capec. M. http://www. http://sourceforge. C.net. Haas. OWASP (2009) “The Open Web Application Security Project”.pdf. e Gadge. In Proceedings of the Second International Conference on Semantics. An Adaptive Intrusion Detection and Prevention (ID/IP) Framework for Web Services. 47-58. Zero Day Initiative (2011) “Zero Day Initiative”. Security Attack Ontology for Web Services.Referências Bechhofer. Shin. In 16th IEEE International Conference on Networks. G..cs. http://www. paper 42 (6pp). T. e Han.. J. SourceForge (2011) “Network Packet Capture Facility for Java”. http://cwe. Booth. D. R. N. http://ha. G. A. J. S. A. (2004) “Web Services Architecture”. 1-24. H. I. http://www. (2008) “SPARQL Query Language for RDF”.mitre. Fernández. (2006) “DIG 2.metasploit. T. Boag. Comprehensive Test Mechanism to Detect Attack on Web Services. Sys. (2011) “Wireshark – Go Deep”. In Proceedings of the IJCAI W. http://clarkparsia.w3. (2008).The Official Snort Ruleset”. (2011) “XQuery 1.org/top25/index. (1993). e Mitrou. Joshi.org/data/definitions/91.0: The DIG Description Logic Interface”. A Target-Centric ontology for intrusion detection.org/TR/ws-arch. F.org. e Harmelen. e Siméon.ckers. M.html. Bravenboer.w3. J.w3. J. D. Newcomer. M. CWE (2011) “Common Weakness Enumeration”. Vorobiev. pages 528-534. Yee. In Science of Computer Programming archive. (2009) “OWL 2 Web Ontology Language”. http://www. Sourcefire (2011) “Sourcefire VRT Certified Rules . (2008).wireshark.owasp.Penetration Testing Resources”. (2007). Mccabe.. http://www. R. Gruber. Hansen.. Undercoffer. Preventing injection attacks with syntax embeddings. Pinkston.oracle. F. V.. R. e Visser. Siddavatam.w3.. on Ontologies and Dist.ac.. Stanford (2011) “The Protégé Ontology Editor and Knowledge Acquisition System”.html.. (2004). SourceForge (2011) “Jena – A Semantic Web Framework for Java”. pages 35-57.html.manchester. 56 . D.

while protecting the signature even in the presence of an adversary able to compromise the Time Stamping Authority’s private key or its signature scheme. atribuindo a elas o mesmo valor legal das assinaturas manuscritas. essa quest˜ ao e eia 1999/93/EC. 57 . may quickly lose its validity. Neste trabalho. Na Uni˜ ao ´ abordada na Diretiva Europ´ Europ´ eia. Tais assinaturas. possibilitando a autenticac ¸a onicos. Assinaturas digitais s˜ ao comumente usadas como a contraparte digital das assinaturas manuscritas. Such time-stamps carries a Certificate of Authenticity. Thiago Ac´ ordi Ramos1 . contudo. as assinaturas digitais podem rapidamente per˜ o daqueles documender sua validade. possibilitando a autenticac ¸a ˜ o de documentos eletrˆ onicos. por exemplo. criando um desafio para a preservac ¸a ˜ o daqueles documentos que precisam ser guardados por um tempo maior. Introduc ¸a Assinaturas digitais s˜ ao comumente usadas como a contraparte digital das assi˜ o de documentos eletrˆ naturas manuscritas.br Abstract. thg. Na ˜ o usual dessas assinaturas. however. inclusive. atrav´ es de um novo esquema de datac ¸a ˜ o. podem rapidamente perder sua validade. Apesar de amplamente usadas. No ´ assunto da Medida Provis´ Brasil. Resumo. aumentamos a eficiˆ encia e confiabilidade da abordagem usual para o problema.200-2. que reduz seus custos de armazenamento e validac ¸a ˜ o. These signatures. a seguranc a perda de validade de seu caminho de certificac ¸a ¸a oferecida pela assinatura acaba sendo comprometida. creating a preservation challenge for those documents that must be kept for a longer period of time. Esses carimbos carregam um Certificado de Autenticidade. isso e oria 2. allowing the authentication of electronic documents. Diversos pa´ ıses vˆ em. with reduces its storage and validation costs.˜ o por Carimbos do Tempo Autenticados para a Preservac ¸a Longo Prazo de Assinaturas Digitais Nelson da Silva1 . tal problema ocorre por diversos implementac ¸a fatores. tais como o enfraquecimento do esquema de assinatura usado pelo signat´ ario e ˜ o X. In this paper. Nesses casos. Ricardo Felipe Cust´ odio1 ˜ o (LabSEC) Laborat´ orio de Seguranc ¸ a em Computac ¸a Universidade Federal de Santa Catarina (UFSC) Caixa Postal 476 – 88040-900 – Florian´ opolis – SC – Brasil {nelson. 1 ˜o 1.ufsc.509. Digital signatures are usually employed as the digital counterpart of handwritten signatures. custodio}@inf. como forma de facilitar o uso de documentos eletrˆ onicos como meio de prova. por exemplo. through a new time-stamp scheme. o que constitui um desafio para a preservac ¸a tos eletrˆ onicos que precisam ser guardados por um longo per´ ıodo de tempo. enquanto protege a assinatura mesmo na presenc ¸ a de um advers´ ario capaz de comprometer a chave privada da Autoridade de Carimbo do Tempo ou seu esquema de assinatura. we improve the efficiency and reliability of the usual approach for this problem.

poss´ ıvel a validac ¸a ´ organizado da seguinte forma. foram aprimorados por Haber e Stornetta [15]. reduziram os custos respons´ aveis por sua produc ¸a ˜ o desses carimbos. os Carimbos do Tempo Aurimbos do tempo atrav´ es de um novo esquema de datac ¸a tenticados. propuseram a preservac ¸a ˜ o de outro fato.˜ o que permita manter Tal problema torna necess´ aria alguma forma de preservac ¸a a validade dessas assinaturas pelo tempo que for necess´ ario. 13. contudo. criada por Bayer. essa j´ verificac ¸o a fosse inv´ alida. sendo a sobreposic ¸a ´ essa a estrat´ ˜ es Stornetta [6]. a principal delas. 58 . Assinatura Digital. assim como ter maiores garantias quanto mento e validac ¸a ˜ o da assinatura pelo tempo que for necess´ a preservac ¸a ario. como ficaram conhecidas por remeter aos Ambas as estrat´ egias de notarizac ¸a atos praticados pelos not´ arios no mundo real [16]. e egia usada no Padr˜ ao Brasileiro de ˜ o (ITI). Esse ateste ˜ o da validade da assinatura quando. redundantes [14]. O uso desse esquema permite reduzir drasticamente os custos de armazena˜ o das assinaturas preservadas. Haber e foram propostas. J´ a no final da d´ ecada de 70. Do mesmo modo. como o uso de carimbos do tempo ˜ o. atrav´ seria uma alternativa para a comprovac ¸a es das ˜ es tradicionais. que sugeriram seu encadeamento como forma de reduzir a confianc ¸ a necess´ aria nas entidades ˜ o. Carimbos do tempo. por sua vez. Tais custos dificultam a preservac ¸a ¸a ˜ o de turas em dispositivos com poucos recursos computacionais. a sua pr´ turas digitais atrav´ es da autenticac ¸a opria validade. uma vez que essas se tornam auto-contidas. ˜ o. Al´ em disso. A ideia era que assinaturas autˆ enticas seriam aquelas realizadas antes de sua ˜ o se tornar vi´ falsificac ¸a avel. acaba tornando necess´ arias medidas preventivas. onde constaria o momento em que a assinatura fora produzida. A Sec ˜ o 3 descreve o esquema estado da arte sobre a preservac ¸a ¸a ˜ o tradicional e revisa a preservac ˜ o por carimbos do tempo. Popek e Kline [21] sugeriam que a validade de uma assinatura fosse preservada por meio de “carimbos do tempo”. que terminam por aumentar ainda mais os custos de preservac ¸a ˜ o por caNeste trabalho aumentamos a eficiˆ encia e confiabilidade da preservac ¸a ˜ o. E egia usada nas principais recomendac ¸o t´ ecnicas que atualmente abordam o problema [12. por outro lado. al´ em de n˜ ao garantir que a assinatura realmente mantenha sua validade ˜ o e validac ˜ o dessas assinapelo tempo necess´ ario. por exemplo. Assim v´ arias estrat´ egias j´ a ˜ o de carimbos do tempo. por sua vez. publicado pelo Instituto Nacional de Tecnologia da Informac ¸a ˜ o por carimbos do tempo. redefinindo a forma como s˜ decorrentes da validac ¸a ao encadeados. Blibech e Gabillon [7]. A baixa confiabilidade dessa estrat´ egia. 14]. sendo igualmente uma das mais ´ essa a estrat´ estudadas na literatura. Finalmente. assim como as suas implicac ˜ es sobre os procedimentos o esquema de datac ¸a ¸o ˜ o e validac ˜ o de assinaturas. proposta. seu uso torna ˜ o off-line de assinaturas. ˜ o de assinaMassias e Quisquater [18]. A Sec ˜ o 2 apresenta o O restante deste trabalho e ¸a ˜ o de assinaturas digitais. implica em custos cumulativos A preservac ¸a para o usu´ ario. A Sec ˜ o 5 avalia os benef´ ˜ es da de preservac ¸a ¸a ¸a ıcios e limitac ¸o ˜ o 6 apresenta as considerac ˜ es finais. emitidos por terceiras partes confi´ aveis. A Sec ˜ o 4 apresenta de datac ¸a ¸a ¸a ˜ o proposto. bem como a preservac ¸a grandes volumes de documentos [24]. foram tema de diversos trabalhos. a Sec ¸a ¸o 2. Trabalhos Relacionados ˜ o de assinaturas digitais e ´ um tema quase t˜ A preservac ¸a ao antigo quanto a pr´ opria criptografia assim´ etrica.

` sua validac ˜ o. Por outro lado. com propriedades que as tornam menos vulner´ aveis ao efeito do tempo. que sugeriram a agregac ¸a de Merkle [19]. uma assinatura digital seria preservada pela sobreposic ¸a de carimbos do tempo. Poder esse que tende a aumentar com o tempo. sempre deixando as assinaturas vulner´ aveis a problemas remanescentes. 24]. focada nas primitivas criptogr´ literatura para a preservac ¸a aficas ˜ o e validac ˜ o. Preservac ¸a ˜ o por longo prazo de Dentre as estrat´ egias at´ e ent˜ ao propostas para a preservac ¸a ˜ o por carimbos do tempo e ´ aquela adotada pelas princiassinaturas digitais. contudo. sendo. tratam do problema relacionado ao enfraquecimento dos algoritmos criptogr´ aficos [8]. tendem a tratar apenas uma parte dos problemas. por outro lado. por sua vez. [3].Atestes da validade de assinaturas. perdem com o tempo sua validade assim como as pr´ oprias assinaturas. 3. uma outra abordagem vem sendo usada na Al´ em das estrat´ egias de notarizac ¸a ˜ o de assinaturas digitais. S˜ envolvidas em sua gerac ¸a ¸a ao os esquemas especiais de assinatura. Esquemas especiais de assinatura. quanto a data em que o carimbo tam tanto o resumo criptogr´ afico da informac ¸a 59 . Ideia semelhante a ˜ o de carimbos do tempo foi posteriormente proposta para atestes da validade sobreposic ¸a de assinaturas [17. Cada um dos carimbos demons` traria que o anterior fora produzido antes de se tornar falsific´ avel. por sua vez. parcialmente apresen˜o tada num trabalho anterior [15]. Esquemas de assinaturas incondicionalmente seguras. Nesses esquemas a chave privada evolui de modo que o comprometimento da chave privada atual. ` protec ˜ o das assinaturas produziEsquemas de chave evolutiva [2] s˜ ao voltados a ¸a das contra o comprometimento da chave privada do signat´ ario.1. ˜ o por longo prazo de assinaturas Um dos primeiros trabalhos a tratar da preservac ¸a digitais foi o trabalho de Bayer. Diferentemente ˜ es dos esquemas convencionais. Cusa reduzir o esforc ¸ o computacional necess´ ario para a sua produc ¸a ˜ o do m´ todio et al. usada em recomendac ¸o ecnicas como a RFC 3161 [1]. 14]. Carimbos do Tempo ˜ es t´ Em sua forma mais comum. como forma de minimizar os recursos computacionais necess´ arios a ¸a ˜ o. A idea era que novos carimbos seriam adicionados na medida que os anteriores estivessem por perder sua validade. S˜ ao exemplos desses esquemas o de chave evolutiva e as assinaturas incondicionalmente seguras. propuseram a associac ¸a etodo de NOVOMODO a esses atestes. onde cons˜ o datada. Na proposta. carimbos do tempo s˜ ao usados para demonstrar a validade da assinatura e dos pr´ oprios carimbos usados no processo. carimbos do tempo s˜ ao documentos eletrˆ onicos assinados por uma terceira parte confi´ avel. denonimada Autoridade de Carimbo do Tempo (ACT). 13. ´ capaz de preservar assinaturas digiNenhuma das estrat´ egias citadas. por exemplo. Carimbos do tempo e atestes. tais esquemas n˜ ao baseiam sua seguranc ¸ a em suposic ¸o quanto ao poder computacional do advers´ ario. de modo ˜ o. Haber e Stornetta [6]. a preservac ¸a ˜ es t´ pais recomendac ¸o ecnicas sobre o tema [12. igualmente. e tais por um prazo arbitrariamente grande. foram aprimoradas por Ansper ´ ˜ o das assinaturas em Arvores et al. uma das mais estudadas na literatura. Nessa estrat´ egia. [10]. n˜ ao invalidaria assinaturas realizadas com as chaves anteriores. ˜ o por Carimbos do Tempo 3.

t}.3. Sendo v´ 3. agendamento: agendar a sobreposic ¸a ¸a rer antes de o carimbo perder sua validade. Cts . tsn . onde s. a ACT ent˜ ao anexa a data atual t. d. a autenticidade do carimbo e Tais condic ¸o ˜ o datada. Rts }. n ´ v´ . repetic ¸a oximos carimbos. t}) ts ˜ o qualquer Nele. um usu´ ario solicita um carimbo do tempo para uma informac ¸a + x ∈ {0. d. Cs .. Rs }. os certificados do caminho de certificac ¸a ario e os dados de revogac ¸a atuais: ˜ o: adicionar um carimbo do tempo ts1 sobre {s. Esse termina com a perda de validade da assinatura da ACT ou com o enfraquecimento de H.˜ es relacionadas a esses carimbos.. Cts }. ts . n Cts }. obtˆ em-se {{. ts . . d. Rts }. obtendo {{{s. Validac ¸a 1 2 2 2 Uma assinatura preservada {{. validar ts1 . Cs e Rs . A func ˜ o H deve ser segura pois. Cs .}. Essa sobreposic ˜ o deve ocor2. ts . S ignACT ({H(x).. respectivamente.. repetir os passos 2 e 3 enquanto for ne˜ o do n-´ cess´ ario preservar a validade da assinatura. ts . o que ocorrer primeiro. d. Rts }. assina o conjunto e retorna o carimbo formado. Cts . ts1 . e ario validar o carimbo. Cs . obtendo 1. sobreposic ¸a alido. A primeira segue o protocolo representado a seguir: validac ¸a U −→ ACT : H(x) ACT −→ U : {H(x).{{{s. Cts . agendada para um ˜ o do certificado da ACT. Para tanto. s˜ ao. enviando seu resumo criptogr´ afico H(x).}. essa integridade acaba se tornando duvidosa. ts1 . Cts }. o documento ˜ o do signat´ ˜o assinado. Cs . • para todo tsi .. Cs .. d. 60 . Rs }. Caso ts j´ a tenha perdido sua validade. Rs }. ˜ o do carimbo. sendo. Cts . na adic ¸a esimo 1 1 1 2 2 2 carimbo. • a assinatura s era v´ alida na data indicada por ts1 . S˜ ao duas as operac ¸o ¸a ˜ o. R1 ts }. R1 ts }. a assinatura. Ao receber o resumo. ˜ o de Assinaturas 3. ts1 . ´ v´ Um carimbo do tempo e alido se: • a assinatura da ACT for v´ alida. Cs . Rs }. respectivamente. igualmente. A partir de ´ poss´ ´ necess´ ent˜ ao e ıvel comprovar que x existia em t. inicializac ¸a 1 {{s. a preservac ¸a ˜ o: para os pr´ 4. Dessa forma. ˜ o de Assinaturas 3. H poder´ a ser apenas ` segunda invers˜ ` colis˜ resistente a ao. 1} ... momento pr´ oximo da expirac ¸a ˜ o: no momento agendado. tsi era v´ alido na data indicada por tsi+1 . do contr´ a integridade da informac ¸a ¸a ario. Em maiores detalhes. Cts . Cts }e alida se: • o carimbo do tempo tsn for atualmente v´ alido. Rs }. a sua solicitac ˜o e foi emitido. Preservac ¸a ˜ o de uma assinatura digital por meio de carimbos do tempo segue A preservac ¸a os seguintes passos.2. ˜ es visam comprovar. d. d. em geral. ts . 2 1 ˜ o falha. Rs }. tsn . adicionar ts2 1 1 1 1 2 sobre {{s. ˜o • o resumo criptogr´ afico presente no carimbo for igual a H(x) e H for uma func ¸a de resumo criptogr´ afico segura. a ao.{{{s. ˜ es e ´ poss´ Dessas condic ¸o ıvel concluir o prazo de validade de um carimbo. com 1 ≤ i ≤ n − 1. Rts }. desde que em t tenha sido resistente. Cts .

O Certificado ´ ent˜ de Autenticidade de cada carimbo e ao formado pelo certificado do conjunto ao qual 61 . a Autoridade Certificadora Raiz (AC-Raiz). sendo v´ alida. comumente. Nesse caso. tal conceito poderia ser implementado atrav´ es de um ˆ servic ¸ o online. Um dos principais problemas est´ a na necessidade de manˆ ` s solicitac ˜ es recebidas. Esse esquema estende o convencional adicionando duas no˜ es. tornando desnecess´ aria a validac ¸a ˜ o relacionado. onde reconheceria a autenticidade do carimbo. publicaria um documento eletrˆ onico assinado. De maneira simplificada. seria encaminhado a Ancora de Confianc ¸ a. prolongando sua validade.1. por sua vez. e ´ poss´ certificac ¸a ıvel minimizar os custos de armazena˜ o do carimbo.4. A operac ¸a ¸a ´ poss´ ˜ es necess´ ` verificac ˜ o da autentiAtrav´ es dela e ıvel substituir as informac ¸o arias a ¸a ˜ o. onde a pr´ opria Ancora de Confianc ¸ a confirma essa propriedade. Carimbos do Tempo Autenticados ˜ o baseada Neste trabalho aumentamos a eficiˆ encia e confiabilidade da preservac ¸a ˜ o. as operac ˜ es de autenticac ˜ o e renovac ˜ o de carimbos. tais como seu caminho de certificac ¸a ˆ ˜ o de ticidade. Como resultado. por exemplo. por um Certificado de Autencidade do carimbo. Algo que ter a Ancora de Confianc ¸ a online de modo a atender a ¸o ˆ ncora seja uma AC-Raiz. viabilizadas pela vas operac ¸o ¸o ¸a ¸a ˆ ˜ o entre a Autoridade de Carimbo do Tempo (ACT) e a Ancora cooperac ¸a de Confianc ¸ a do usu´ ario. essa a ˜ es necess´ ˜ o dos CertiOutro problema reside no volume de informac ¸o arias para a produc ¸a ficados de Autenticidade. bem como tolerar a maioria dos fatores que tradicionalmento e validac ¸a mente levariam a perda de sua validade. A operac ¸a ˜ o. que ent˜ ao validaria sua assinatura e. Nesse caso. busca reduzir o n´ renovac ¸a umero de carimbos do tempo adicionados du˜ o. cada caˆ rimbo emitido pela ACT. uma implementac ¸a pr´ atica que a tornam invi´ avel. ˜ o de autenticac ˜ o busca reduzir os custos por carimbo adicionado. ˜ o como essa possui problemas de ordem Apesar de funcional. contraria boas pr´ aticas de seguranc ¸ a caso. ela recebe pequenas representac ¸o ´ ˜ es criptogr´ culadas por meio de construc ¸o aficas como as Arvores de Merkle. calreceber cada um dos carimbos. e assim postergando a adic ¸a 4. ao inv´ es de ˜ es desses conjuntos. Ela requer o envio de cada um dos carimbos do tempo para a ˆ Ancora de Confianc ¸ a. carimbo. oferecido pela Ancora de Confianc ¸ a. onde ela reconhece a autenticidade dos carimbos do tempo emitidos pela ˆ ACT. Certificados de Autenticidade ˆ Certificados de Autenticidade s˜ ao documentos eletrˆ onicos. Por meio desse certificado a Ancora de Confianc ¸ a persiste a autenticidade do ca˜ o de sua assinatura bem como do caminho de rimbo. assinados pela Ancora de Confianc ¸ a. ˆ Dessa forma. na abordagem adotada. a Ancora de Confianc ¸ a publica um Certificado de Autenticidade para cada conjunto de carimbos emitido. chamado Carimbos em carimbos do tempo por meio de um novo esquema de datac ¸a do Tempo Autenticados. Por meio dela e ´ poss´ rante a preservac ¸a ıvel renovar o Certificado de Autenticidade do ˜ o de novos carimbos. Tal esquema tem como ` s assinaturas preobjetivo reduzir a velocidade com que crescem os custos relacionados a servadas assim como aumentar as chances de a assinatura permanecer v´ alida pelo tempo necess´ ario. onde ela publicaria um Certificado de Autenticidade para cada carimbo do tempo a ela apresentado.

por exemplo. d´ a a solicitac ¸a ¸a Tais Certificados para Conjuntos s˜ ao solicitados periodicamente pela ACT. o per´ ıodo pelo qual o seu Certificado de Autenticidade ficar´ a dispon´ ıvel. Essa abordagem igualmente reduz o volume de informac ¸o ˜ o desses certificados. ˜ o a ACT calcula uma representac ˜ o do conjunto de carimbos do Em cada solicitac ¸a ¸a ˆ tempo registrados durante o per´ ıodo no RPA. da Prova de Associac ¸a ¸a ´ ˜ o de cada carimbo na Arvore por sua vez. e informa. ˆ ` Ancora Tal abordagem permite a de Confianc ¸ a operar de maneira peri´ odica. necess´ arias para a produc ¸a 4. pa ts Nessa vers˜ ao estendida. por meio de uma extens˜ ao n˜ ao assinada do carimbo. ˜ o. enviando para a Ancora de Confianc ¸ a um do˜ o. e seus dados de identificac ˜ o. Tais provas. Nesse registro.2. S ignACT ({H(x). capaz de comprovar que o carimbo e ´ um dos ele pertence. onde se in´ ıcio de seu Per´ ıodo de Autenticac ¸a ¸a ˜ o e posterior produc ˜ o do certificado para o conjunto ao qual ele pertence. t}). O primeiro e 62 . E ¸a ˜ o correspondente. e ´ o n´ tados. por sua vez. ˜ o do usu´ A emiss˜ ao desses carimbos ocorre mediante a solicitac ¸a ario. O fornecimento desses servic ¸ os ainda requer a manutenc ¸a ˆ estruturas de dados pela ACT e pela Ancora de Confianc ¸ a. respectivamente. A representac ¸a o raiz da Arvore de Merkle formada a partir deles e calculada por meio de algoritmos como o TREEHASH [23]. a produc ¸a es ˜ o e renovac ˜ o de Certifiservic ¸ os. seguindo uma vers˜ ao estendida do protocolo tradicional representada a seguir: U −→ ACT : H(x) ACT −→ U : {H(x). o Reposit´ orio ˜ o (RPA) e o Reposit´ de Provas de Associac ¸a orio de Certificados para Conjuntos (RCC). Algo ao que j´ a ocorre na publicac ¸a ˆ particularmente interessante caso. a Ancora de Confianc ¸ a apenas valida ˜ o no RCC. e ´ poss´ Iniciado o Per´ ıodo de Autenticac ¸a ıvel obter o Certificado de Autentici˜ o de Provas de Associac ˜ o e de dade do carimbo por meio dos protocolos de solicitac ¸a ¸a ´ apresentado a seguir: Certificados para Conjuntos. s˜ ao os caminhos de autenticac ¸a de Merkle. ˜ o do Certificado de Autenticidade de cada carimbo emitido ocorre no A publicac ¸a ˜o e e ´ precedida por uma fase de preparac ˜ o. a func ˜ o de resumo criptogr´ chamado de Per´ ıodo de Autenticac ¸a ¸a afico usada deve ser segura e igual aquela usada no carimbo. publicando Certificados de Autenticidade apenas ao fim desses per´ ıodos. de modo semelhante ˜ o de Listas de Certificados Revogados (LCRs) [9]. aguardando o fim do per´ e registra a solicitac ¸a ıodo para assinar o Certificado ´ com a publicac ˜ o desse certificado e de Autenticidade do conjunto ali representado. que termina a fase de preparac ˜ o. calculados pela ACT por meio de algoritmos de travessia como o de Szydlo [23]. a ACT registra o resumo criptogr´ afico H(ts) de cada carimbo do tempo emitido no RPA.˜ o. Servic ¸ os de Suporte ˜ o de Carimbos do Tempo Autenticados depende de trˆ Nesse sentido. ˜ o. cumento eletrˆ onico assinado contendo essa representac ¸a ¸a ˜ o a ACT declara ter emitido os carimbos do tempo ali represenPor meio de tal solicitac ¸a ´ ˜ o desses carimbos. t}. o de emiss˜ ao de carimbos do tempo e os de publicac ¸a ¸a ˜ o de cados de Autenticidade. a Ancora de Confianc ¸ a seja mantida off˜ es line em uma Sala Cofre. e por sua Prova de Associac ¸a elementos desse conjunto. ˆ Por igualmente operar de maneira peri´ odica.

pode ser necess´ ario que ela primeiramente renove seu certificado de chaves p´ ublicas ou atualize seu esquema de assinatura. o usu´ ario solicita o Certificado para Conjuntos de um carimbo. emTal representac ¸a ¸a ´ ˜ o de caminhos de autenticac ˜ o em Arvores pregando o algoritmo para validac ¸a ¸a de Merkle [19]. tanto o registro perde sua serventia. O Certificado de Autenticidade e ¸a antigo Certificado para Conjuntos pelo novo. a ACT obtˆ em a Prova de Associac ¸a pondente no RPA e a retorna para o usu´ ario. φ}. Ao receber tal representac ˜ o. o usu´ ario solicita a Prova de Associac ¸a ˜ o correscriptogr´ afico H(ts). por sua vez. ˜ o de Certificados de Autenticidade ocorre mediante a solicitac ˜ o do A renovac ¸a ¸a usu´ ario. o usu´ ario solicita a renovac ¸a ˜ o presente no Certificado para Conjuntos. Nessas otimizac ¸o ao removidos do RCC todos os registros cuja func ¸a ` segunda invers˜ de resumo criptogr´ afico usada n˜ ao seja mais resistente a ao. φ}) Ancora slφ Nesse protocolo. enviando a Nele. ˜ o pode ser calculada a partir da Prova de Associac ˜ o do carimbo. de modo a limitar os custos relacionados a ¸a ˜ o do Reposit´ Autenticidade. s˜ ao obtidos atrav´ es do seguinte protocolo: ˆ U −→ Ancora :φ ˆ Ancora −→ U : {idACT . Para tanto. Ao receber a representac ˜ o. enviˆ ˜ o de seu conjunto. enviando o seu resumo Nele. Certificados para Conjuntos. cabe a Ancora de Confianc ¸ a contornar tais problemas e se preciso reassinar o certificado no RCC. S ignAncora ({idACT .U −→ ACT : H(ts) ACT −→ U : Authts ˜ o de um carimbo. e segue o protocolo a seguir: ˆ U −→ Ancora :φ ˆ Ancora −→ U : {idACT . S ign ˆ ({idACT . ˜ o do carimbo. Ao receber o resumo. Tal problema ocorre com a revogac ¸a ¸a ˆ certificado de chaves p´ ublicas da Ancora de Confianc ¸ a. Certificados de Conjunto. a representac ¸a ¸a ˆ Ancora de Confianc ¸ a obtˆ em a nova vers˜ ao do Certificado para Conjuntos no RCC e a ´ renovado pela substituic ˜ o do retorna para o usu´ ario. Nesses casos. ocorre a destruic ˜ o de sua Terminado o Per´ ıodo de Autenticac ¸a ¸a ˜ o pela ACT. Quando essa ´ perdida. perde sua capacidade de comprovar a integridade da informac ¸a 63 . φ}) ˆ slφ ˜ o de seu Certificado de Autenticidade. ˜ es do Certificado de Autenticipermanecem no RCC de modo a suportar futuras renovac ¸o dade do carimbo. ` renovac ˜ o dos Certificados de Por fim. quanto o carimbo do tempo resistˆ encia e ˜ o datada. ou com o enfraquecimento do ˆ esquema de assinatura usado no Certificado para Conjuntos. Tal destruic ˜ o tem por objetivo limitar os custos de arProva de Associac ¸a ¸a mazenamento relacionados a essas provas. Novas vers˜ oes do Certificado para Conjuntos ficam dispon´ ıveis a medida que as ˜ o ou expirac ˜ o do anteriores perdem sua validade. ocorre periodicamente a otimizac ¸a orio de Certificados para ˜ es s˜ ˜o Conjuntos. por outro lado. φ}. a Ancora ando a representac ¸a ¸a de Confianc ¸a obtˆ em o Certificado para Conjuntos correspondente no RCC e o retorna para o usu´ ario.

agendada ˜ o de resumo criptogr´ para um momento pr´ oximo ao enfraquecimento da func ¸a afico usada. ts2 . repetir os passos 2 e 3 enquanto for ne˜ o do n-´ cess´ ario preservar a validade da assinatura.˜ o de Assinaturas 4. s˜ ao. slts }. ˜ o: no momento agendado.. respectivamente. por sua vez. d. sobreposic ¸a alido. d. sendo. ˜ o do carimbo. Rs }. ´ v´ Um Certificado de Autenticidade {Authts .{{{s. Validac ¸a 1 2 Uma assinatura preservada {{. Rs }. Cs . ts1 . d. implica em custos adicionais para a Autoridade de e renovac ¸a ˆ Carimbo do Tempo (ACT) e Ancora de Confianc ¸ a. ts . onde s. com 1 ≤ i ≤ n − 1. ts1 .. . • a assinatura s era v´ alida na data indicada por ts1 . O suporte a ao. Se inv´ 4.{{{s. ˜ o: autenticar o carimbo durante o seu Per´ ˜ o. 5. pode ser preciso autenticar e/ou renovar o carimbo. Essa sobreposic ˜ o deve ocor2. ts . e alido se: ˜ o.. Caso ts1 j´ a tenha perdido ˜ o n˜ ˜ o falha. Cs . Cts }. . d. slts }. ts1 . Cs . tsi era v´ alido na data indicada por tsi+1 . Rs }. Dessa forma. ts ... agendamento: agendar a sobreposic ¸a ¸a rer antes de o carimbo n˜ ao poder mais ser renovado. renovar o carimbo. obtˆ em-se {{. Cs . slts } obtendo {{{s. Rs }. o ˜ o do signat´ documento assinado. ˜ o de Assinaturas 4. Rs }. ˆ • a assinatura da Ancora de Confianc ¸ a. . sua validade. tsn . repetic ¸a oximos carimbos. d. e sua renovac ¸a ao seja poss´ ıvel. slts }. Cs . Um s˜ ao o aumento na eficiˆ encia e confiabilidade na preservac ¸a ˜ o off-line dessas assinaturas. slφ }. Rs }. sendo que a autenticidade de cada carimbo deve ser verificada atrav´ es de seu Certificado de Autenticidade. ts2 . for v´ • seu caminho de autenticac ¸a ¸a alido. inicializac ¸a 1 {{s.{{{s... autenticac ¸a ıodo de Autenticac ¸a 1 tendo {{s.}. 1 Sendo ts o carimbo possivelmente renovado. Cts }. obtendo 1. slts }. Caso j´ a esteja inv´ alido. ob3. 64 . slts }. for v´ alida. na adic ¸a esimo 1 1 2 2 n n carimbo. todavia. An´ alise Os principais benef´ ıcios trazidos pelo uso de Carimbos do Tempo Autenticados ˜ o das assinaturas digitais.. Cs . d..}. slts }. slts }. presente na Prova de Associac ˜ o. slts }e alida se: • o carimbo do tempo tsn for atualmente v´ alido. a assinatura.. Cs .}. ts1 . Rs }. Cs . d.. tsn . Rs }. adicionar ts2 sobre {{s. em geral. ts2 . 1 1 2 ts1 .3. validar ts1 . • para todo tsi . d. d. Cts }. Cs e Rs . n 1 2 n ´ v´ Cts } ou {{. slts }.. a preservac ¸a ˜ o: para os pr´ 5. permitindo outro benef´ ıcio est´ a na possibilidade de validac ¸a ` emiss˜ ˜o que essa ocorra em dispositivos sem conex˜ ao de rede. ts1 . presente no Certificado para Conjuntos.4. autenticac ¸a ˜ o desses carimbos. os certificados do caminho de certificac ¸a ario e os dados ˜ o atuais: de revogac ¸a ˜ o: adicionar um carimbo do tempo ts1 sobre {s. Preservac ¸a ˜ o de uma assinatura digital por meio de Carimbos do Tempo AutenA preservac ¸a ticados segue os seguintes passos.

enquanto os tradi˜ o. bem como para as ˜ es necess´ ˜ o. Assim. quanto um tempo para validac ¸a Os custos de armazenamento por carimbo s˜ ao reduzidos pois.1. que tende a requerer passa a ocorrer pela validac ¸a ˜ o. 22].˜ o e Validac ˜ o de Assinaturas 5. O que tradicionalmente cada bem como as informac ¸o arias para essa verificac ¸a ˜ o da assinatura do carimbo e de seu caminho de certificac ˜ o X. Nos Ca´ dado pela metade daquele rimbos do Tempo Autenticados. bem como dos cionais requerem a guarda de cada certificado do caminho de certificac ¸a 65 . 20]. por sua vez. pois os carimbos tendem a ser obtidos tanto em seu in´ ıcio quanto no fim. s˜ ao reduzidos grac ¸ as a operac ¸a ˜ o que modifica a forma como a autenticidade desses carimbos deve ser verifiautenticac ¸a ˜ es necess´ ˜ o. e ˜ o seja necess´ pelos quais os carimbos permanecem v´ alidos. De maneira mais realista. ocorreria pela validac ¸a ¸a ˜ o de seu Certificado de Autenticidade. ´ reduzida grac ˜ es A quantidade de carimbos do tempo adicionados e ¸ as as operac ¸o ˜ o e renovac ˜ o que permitem postergar a sobreposic ˜ o dos carimbos. por sua vez. recomenda prazos de at´ e 3 anos. a elas. ˜ es de resumo tenEnquanto o NIST. por outro lado. esse per´ ıodo pode ser aproximado pelo prazo de validade m´ edio ˜ o tende a ser o primeiro problema a demandar dos certificados da ACT. e ´ usual considerar a metade desse a sobreposic ¸a prazo. Grac de autenticac ¸a ¸a ¸a ¸ as ˜ o. por exemplo. ´ ltimos a ocorrer. tanto um espac ¸ o de armazenamento. uma vez que a seguranc ˜ es de resumo criptogr´ sobreposic ¸o ¸ a de func ¸o afico tende a durar mais que certificados. func ¸o dem a permanecer seguras por mais de 10 anos [11. Essa reduc ˜ o pode ser observada considerando a geralmente um dos u ¸a ˜ es passa a ser calculado. pois a sua expirac ¸a ˜ o do carimbo. o n´ umero de carimbos adicionados diminui pois o per´ ıodo entre as ˜ es aumenta. bem ˜ es de resumo criptogr´ como o hist´ orico das principais func ¸o aficas at´ e ent˜ ao publicadas. npp θU (pp ) = i=1 (α(tsi ) + α(V i )) pp pts (1) npp = (2) ˜ o 1 reflete as informac ˜ es armazenadas durante a preservac ˜ o por carimA func ¸a ¸o ¸a ˜ o pp bos do tempo. ˜ o de Os custos por carimbo adicionado. menores. quanto os custos por carimbo adicionado. representado por α(V i ). at´ e que a sua sobreposic ¸a aria. forma como o per´ ıodo entre as sobreposic ¸o Tradicionalmente. esse per´ ıodo e ˜ es de resumo criptogr´ pelo qual as func ¸o afico usadas geralmente permanecem seguras. Tais melhorais podem durante a preservac ¸a ser observadas considerando o modelo matem´ atico apresentado abaixo. Algo que pode ser observado ao se considerar ˜ es t´ recomendac ¸o ecnicas sobre o per´ ıodo de validade desses certificados [4.509. o enfraquecimento da func ¸a afico usada. Custos na Preservac ¸a ¸a ˜ o proposto e ´ capaz de reduzir os custos na preservac ˜o e O esquema de datac ¸a ¸a ˜ o de assinaturas digitais por diminuir tanto a quantidade de carimbos adicionados validac ¸a ˜ o. onde o custo de armazenamento ap´ os um certo per´ ıodo de preservac ¸a ´ dado pelo espac e ¸ o necess´ ario para cada carimbo adicionado α(tsi ). dentre todos os problemas que tradicionalmente demandariam essa sobreposic ¸a ˜ o de resumo criptogr´ fica restando apenas um. O n´ informac ¸o arias a sua validac ¸a umero de carimbos ´ dado pelo per´ ˜ o divido pelo tempo m´ ıodo de preservac ¸a edio adicionados npp .

Esse u Conjuntos. Os valores relacionados ao esquema proposto. das. 66 . A quebra da resistˆ encia a ao. requer o c´ func ¸a alculo de 2n/2 resumos criptogr´ aficos. por sua vez. considera o hist´ orico das principais func ¸o a publica˜ es atualmente em uso [11. ´ menor principalmente por tornar O tempo para validar o carimbo. foram rea˜ es da preservac ˜ o de uma assinatura por 50 anos. onde uma Ancora de Confianc ¸a e alida se estiver cadastrada no reposit´ orio ˆ ncoras do usu´ de a ario. Nos Carimbos do Tempo Autenticados isso n˜ de revogac ¸o ao ocorre porque o ´ auto-contido. igualmente. ˜ o relacionados. que j´ a tornaria a ˜ o insegura. sendo n o n´ umero de ` segunda invers˜ bits do resumo. considerando a implementac ˜o Certificado de Autenticidade e ¸a ˆ ´ v´ tradicional. por exemplo. por sua vez. assim como previs˜ oes quanto a seguranc ¸ a das func ¸o Tal per´ ıodo pode ser considerado conservador. Valores usados nas simulac ¸ oes. assume-se que sejam os valores m´ edios encontrados ˜ o. e por uma cadeia de resumos criptogr´ aficos que cresce logaritmicamente em ˜ o do n´ func ¸a umero de carimbos que o certificado autentica. Nos carimbos tradidesnecess´ aria a obtenc ¸a ¸o ´ requerido para permitir a validac ˜ o do caminho de certificac ˜ o com dados cionais isso e ¸a ¸a ˜ es atuais. 22]. De modo a estimar os ganhos trazidos na pr´ atica por essa proposta. Como alguns deles crescem com o tempo. ˜ es. usados na simulac ¸a ˜ o dos Carimbos do Tempo Autenticados.1 dos protocolos. Considerando a se perder certo tempo ap´ os tais func ¸o ` colis˜ ataques de forc ¸ a bruta. reaforam obtidos a partir de uma implementac ¸a ˜ o ASN. 5. a quebra da resistˆ encia a ao. empregando valores lizadas simulac ¸o ¸a tipicamente encontrados em infraestruturas de chaves p´ ublicas (ICP) de grande porte.Vari´ avel α(ts) α(Cts ) α(Rts ) pACT Valor 700 bytes 3700 bytes 111600 bytes 3 anos Vari´ avel pH α(Authts ) α(slφ ) α(hts ) Valor 10 anos 380 bytes 500 bytes 20 bytes Vari´ avel i nts . aquele usado na In˜ es de fraestrutura de Chaves P´ ublicas Brasileira (ICP-Brasil). e ˜ o de informac ˜ es complementares pela rede. Esses valores. tais como Listas de Certificados Revogados (LCR) ou dados de revogac ¸a ´ necess´ respostas OCSP. sendo. uma vez que no esquema proposto ` segunda invers˜ ´ suficiente para a renovac ˜ o dos carimbos. ´ o prazo m´ O prazo de validade desses certificados e aximo citado em ˜ es t´ recomendac ¸o ecnicas como a do NIST [4]. e essa tende a resistˆ encia a ao e ¸a ˜ es serem consideradas inseguras. operac ¸o ˜ o. Nesse caso. requer 2n ˜ es. ntr ts ptr a np tr i nACT Valor 604. por sua vez. considerando que tenha comec durante o per´ ıodo de preservac ¸a ¸ ado no passado e que continue no futuro.800 carimbos 7 dias 4 per´ ıodos 100 ACTs ˜ Tabela 1. O per´ ıodo de uso das func ¸o ˜ es j´ resumo criptogr´ afico. por outro lado. assim como aqueles lizada sobre uma especificac ¸a ˜ o desse esquema de datac ˜ o. s˜ usados na configurac ¸a ¸a ao apresentados na tabela 1. sendo eles o prazo de validade dos Dois desses valores requerem maiores considerac ¸o ˜ es de resumo criptogr´ certificados da ACT e o per´ ıodo de uso das func ¸o afico. nos Carimbos do Tempo Autenticados e ario apenas o armaze´ ltimo formado por um Certificado para namento do Certificado de Autenticidade.

podem ser representados por meio do seguinte modelo: tr−1 ni ts θACT (po ) = ( i=tr−notr j =1 α(Authi. No caso da ACT.3. Os restantes s˜ 4. esse foi 99. por exemplo. 5 e 6) j´ ae ¸a ao tolerados por meio ˜ o de renovac ˜ o do carimbo que permite restabelecer a sua validade quando da operac ¸a ¸a ˆ ´ nicas excec ˜ es s˜ ˜ o da Ancora perdida. revogac ¸a quebra do esquema de assinatura usado pela ACT. ˜ o do certificado da ACT. Os custos de armazenamento dessas provas. aqueles problemas que tradicionalmente levariam a preservac ¸a ˜ es do u ´ ltimo carimbo at´ impediriam futuras sobreposic ¸o e ent˜ ao adicionado. 6. e a quebra da func ¸a de resumo criptogr´ afico usada no carimbo pela ACT. onde n e umero de carimbos do tempo emitidos no per´ ıodo. a gerac ¸a ¸a alculo de no m´ aximo 2log2 (n) resumos criptogr´ aficos.65 MB. ˜ o de resumo criptogr´ quebra da func ¸a afico usada pela ACT. a maioria desses problemas (3. 5. a perda de sua ` segunda invers˜ ˜ o do carimbo n˜ ´ mais resistˆ encia a ao. Particularmente. por outro lado. Particularmente. Essa reduc ˜ o foi particuesse custo foi de apenas 15. No de ˜ o de cada caminho de autenticac ˜ o requer o c´ Szydlo [23]. seu suporte Apesar dos benef´ ıcios oferecidos por esse novo esquema de datac ¸a ˆ implica em custos adicionais para a ACT e Ancora de Confianc ¸ a. ˜ o do certificado de alguma das ACs do caminho de certificac ˜ o. ˆ quebra do esquema de assinatura usado pela Ancora. As u ¸o ao a revogac ¸a de Confianc ¸ a. 2. ˆ ˜ o do certificado da Ancora revogac ¸a de Confianc ¸ a. por sua vez. uma reduc ¸a ¸a ˜ es de larmente influenciada pelo espac ¸ o necess´ ario para o armazenamento das informac ¸o ˜ o desses carimbos. ˜ o de Assinaturas 5. Confiabilidade na Preservac ¸a ˜ o proposto e ´ capaz de aumentar a confiabilidade do processo O esquema de datac ¸a ˜ o por carimbos do tempo por tornar toler´ de preservac ¸a aveis a maioria dos problemas que ˜ o a falhar. 4.2. Tradicionalmente tais problemas compreendem: 1.23% menor que o requerido pelos carimbos tradivalidac ¸a cionais. Nesses casos. ´ anulada na autenticac ˜ o do carimbo. 5. tais ` produc ˜ o e armazenamento das Provas de custos est˜ ao particularmente relacionados a ¸a ˜ o. 7. 3. Na preservac ¸a ˜ o de 99. no Reposit´ ˜ o (RPA). mesmo a renovac ¸a ao e poss´ ıvel.j ts )) ntr ts + i=1 α(hi ts ) (3) 67 . ram a 3. revogac ¸a ¸a quebra de algum esquema de assinatura usado por essas ACs. devido a perda de ˜o integridade do Reposit´ orio de Certificados para Conjuntos (RCC). Servic ¸ os de Suporte ˜ o. No caso dos Carimbos do Tempo Autenticados.˜ es. por torn´ a-lo inv´ alido antes do previsto no agendamento.59%.42 KB. Associac ¸a orio de Provas de Associac ¸a ˜ o dessas provas possui custos de mem´ A produc ¸a oria e processamento que depen´ dem principalmente do algoritmo adotado para a travessia da Arvore de Merkle. e o armazenamento de menos de 3log2 (n) ´ o n´ resumos em mem´ oria. os custos de armazenamento com carimbos tradicionais chegaNas simulac ¸o ˜ o com Carimbos do Tempo Autenticados.

longo desses 10 anos. Os custos de armazenamento desses certificados. ˆ De modo a estimar os custos trazidos na pr´ atica para a ACT e Ancora de ˜ es das operac ˜ es dessas entidades por 10 anos. o custo de armazenamento ap´ ˜ o po . NesConfianc ¸ a. somado ao espac riores que ainda est˜ ao em Per´ ıodo de Autenticac ¸a ¸ o necess´ ario para o i tr resumo criptogr´ afico hts de cada um dos nts carimbos emitidos no per´ ıodo atual tr. A reassinatura dos certificados possui custos relacionados principalmente ao esquema de assinatura usado e ao n´ umero de certificados emitidos ˜ o. Nesse caso. n˜ ao foi considerada a operac ¸a ¸a ˜ o de resumo criptogr´ que removeria registros conforme a func ¸a afico usada se tornasse insegura. ˜ es os custos de armazenamento para a ACT chegaram a 888 MB. A func ¸a ¸o ¸o ˜ o. bem e ainda suportados. Nessa func ¸a ˜ o po e ´ dado pelos Certificados para Conde armazenamento ap´ os um per´ ıodo de operac ¸a ˜ o. por sua vez. somado ao espac juntos at´ e ent˜ ao publicados para as ni ¸a ¸ o neACT ACTs em operac ar ˜ es recebidas no per´ ´ cess´ ario para cada uma das nr solicitac ¸o ıodo atual ar. podem ser representados por meio do seguinte modelo: i ar−1 nACT θAncora (po ) = ˆ i=0 ( j =1 i. 68 .j )) α(slφ nar r + i=1 α(ri ) (6) ar = po par (7) ˆ ˜ o 6 reflete as informac ˜ es armazenadas no RCC durante as operac ˜ es da Ancora A func ¸a ¸o ¸o ˜ es peri´ ˜ o. ˆ ˜ o traz custos No caso da Ancora de Confianc ¸ a. N´ umero esse que depende da quantidade de ACTs em operac ¸a ˆ ˜ o dos per´ como da durac ¸a ıodos da Ancora de Confianc ¸ a. desconsiderando as otimizac ¸o odicas do RCC. e ´ dado pelo Nessa func ¸a os um per´ ıodo de operac ¸a i ˜ o de cada um dos nts carimbos emitidos. Onde par e ˆ ˜ o de um per´ a durac ¸a ıodo de Ancora de Confianc ¸ a. foram necess´ arios 24 MB para o armazenamento dos Certificados para Conjuntos emitidos ao ˜ o de otimizac ˜ o do RCC. No caso da Ancora de Confianc Per´ ıodo de Autenticac ¸a ¸ a. o custo de Confianc ¸ a. a mento desses certificados no RCC. foram realizadas simulac ¸o ¸o ˜ es foram igualmente considerados os valores da tabela 1.notr pa a tr − np tr + |tr − ntr | = tr − 2 (4) (5) tr = po ptr ˜ o 3 reflete as informac ˜ es armazenadas no RPA durante as operac ˜ es da ACT. o suporte a esse esquema de datac ¸a ` reassinatura dos Certificados para Conjuntos e armazenarelacionados. sendo que o n´ sas simulac ¸o umero de carimbos emitidos em cada per´ ıodo da ACT assume a taxa de um carimbo por segundo durante todo o per´ ıodo. se Nas simulac ¸o ˜ o das Provas de Associac ˜ o ao fim do mantendo praticamente constantes devido a remoc ¸a ¸a ˆ ˜ o dos carimbos emitidos. Onde a ´ ˜ ˜ o em n´ ´ a durac ˜ o de um per´ e a durac ¸ a o do Per´ ı odo de Autenticac ¸a umero ptr e ¸a ıodo e np tr de per´ ıodos. nos notr per´ ıodos antecaminho de autenticac ¸a ˜ o. principalmente.

Invited lecture. bem como na implementac ˜ o de mecanismos de envolvidos nesse esquema de datac ¸a ¸a heranc ¸ a que permitam migrar o conte´ udo dos Reposit´ orios de Certificados para Conjuntos ˆ para novas Ancoras de Confianc ¸ a. Haber. ou na preservac ¸a ˜ o de assinaturas digitais. Referˆ encias [1] C. Draft nist sp800-131: Recommendation for the transitioning of cryptographic algorithms and key sizes. bem como a integrac ˜ o das Autenticidade para a otimizac ¸a ¸a ˜ es de autenticac ˜ o e renovac ˜ o em outras estrat´ ˜ o. Stornetta. torEsses benef´ ıcios. In Public Key Cryptography. [7] K. M. Barker and A. al´ em de oferecer maiores garantias quanto a preservac ¸a tempo necess´ ario. Chaum and S. [3] A. [5] E. Updated by RFC 5816. Tal esrecursos computacionais. Barker. pages 402–415. [4] E. Computational Science and Its Applications-ICCSA 2006. Springer. Technical report. 1997. Burr. ACM. Nist sp800-57: Recommendation for key management–part 1: General (revised). Assim. Anderson. Buldas. Cain. Improving the efficiency and reliability of digital time-stamping. [8] D. 2006. Roginsky. Internet X. Technical report. ˜ o off-line das assinaturas. CRYPT0’90. Conclus˜ oes ˜ es O uso de documentos eletrˆ onicos vem crescendo em importˆ ancia nas relac ¸o ˜ o de assinaturas digitais entre os cidad˜ aos. and J. Roos. 2007. Adams. 2001. mas igualmente em quema pode ser usado n˜ ao s´ o na preservac ¸a ´ reas onde carimbos do tempo s˜ ´ reas incluem a outras a ao empregados. Ansper. Bayer.6. Blibech and A. sendo a ˜ o de carimbos do tempo a principal delas. Efficient long-term validation of digital signatures. and W. aumentando operac ¸o ¸a ¸a egias de notarizac ¸a sua eficiˆ encia e confiabilidade. pages 329–334. A. P. Polk.509 Public Key Infrastructure Time-Stamp Protocol (TSP). pages 206–214. W. Exemplos dessas a ˜ o da propriedade intelectual. [2] R. empresas e governos. A new timestamping scheme based on skip lists. and M. In Fourth Annual Conference on Computer and Communications Security. and R. Tal esquema reduz drasticamente os custos na preservac ¸a ¸a ˜ o dessas assinaturas pelo digitais. al´ em da possibilidade de validac ¸a ˜ o particularmente interessante para dispositivos com poucos nam esse esquema de datac ¸a ˜ o de grandes volumes de documentos. and Computer Science. 1991. Outros t´ opicos incluem o uso dos Certificados de ˜ o de assinaturas de curto prazo. NIST. sobreposic ¸a Neste trabalho aumentamos a eficiˆ encia e confiabilidade dessa estrat´ egia de ˜ o por meio de um novo esquema de datac ˜ o. Sequences II: Methods in Communication. Roijakkers. [6] D. W. Willemson. os Carimbos do Tempo Autenticapreservac ¸a ¸a ˜ o e validac ˜ o de assinaturas dos. Trabalhos futuros podem focar na an´ alise formal dos protocolos criptogr´ aficos ˜ o. o com´ ˜ o eletrˆ protec ¸a ercio e votac ¸a onicos. Pinkas. Security. Smid. jan 2010. Gabillon.S. tornando a preservac ¸a uma quest˜ ao fundamental no caso daqueles documentos que precisam ser preservados por um longo per´ ıodo de tempo. Barker. v´ arias estrat´ egias j´ a foram propostas. Advances in Cryptology- 69 . Zuccherato. Unconditionally-secure digital signatures. pages 395–405. 1993. NIST. August 2001. RFC 3161 (Proposed Standard). W. D. S.

Evidence Record Syntax (ERS). [22] B. Stornetta. pages 541–554. Encryption and secure computer networks. The First 30 Years of Cryptographic Hash Functions and the NIST SHA-3 Competition. Preneel. ACM Computing Surveys (CSUR). RFC 3628 (Informational). 5:12. and U. Kline. [21] G.J. Pinkas. Merkle. [24] M. [15] S. F. M. pages 1–14. RFC 5280 (Proposed Standard). pages 129–142. On the temporal authentication of digital data. [17] D. SILVA. Merkle tree traversal in log space and time. F. Protocols for public key cryptosystems. 2008. Massias and J. 11(4):331–356. Computers & Security. N. CUSTODIO. [10] R. PhD thesis. MORAES. In Public Key Infrastructure: 5th European PKI Workshop: Theory and Practice. Algorithms and Parameters for Secure Electronic Signatures. 23(5):413–424. Carleton University. 1998. [14] T. Popek and C. Springer-Verlag New York Inc. US-patent n. August 2007. Springer-Verlag. Jun 2009. A. Pereira. In In Eurocrypt 2004. and J. J. R. Pordesch.K. In Simp´ osio Brasileiro em Seguranc ¸ a da Informac ¸a ˜ o e de Sistemas Computacionais. Housley. Ross. 1980. Romani. 2010. November 2003. R. Electronic Signatures and Infrastructures (ESI).S. 1979. Brandner. 2008. 2004. Custodio.C. page 49. Advances in Cryptology-CRYPT0’90. [19] R. Gondrom. [16] M. VIGIL. [18] H. [12] European Telecommunications Standards Institute. Electronic Signatures and Infrastructures (ESI). S. Pope. Boeyen.C.F. How to time-stamp a digital document. Policy Requirements for Time-Stamping Authorities (TSAs). Lekkas and D.J. Cumulative notarization for long-term preservation of digital signatures. da Silva Fraga. Time and cryptography. R. S. and J. XML Advanced electronic Signatures (XAdES). 2004. and W. Electronic Signatures and Infrastructures (ESI).G. EuroPKI 2008 Trondheim. 1997. Part 1: Hash functions and asymmetric algorithms. Vigil. RFC 4998 (Proposed Standard). Polk.A. Internet X. Nov 2009. Santesson. LNCS. Optimized Certificates–A New Proposal for Efficient Electronic Document Signature Validation. Infra-estrutura de chaves p´ ublicas otimizada: Uma icp de suporte a assinaturas eficientes para documentos eletrˆ onicos. Cooper. [23] Michael Szydlo. [13] European Telecommunications Standards Institute. Norway. Nov 2007. and R. Haber and W. Farrell. 70 . Proceedings.[9] D. Just. [20] D. G. 1991. pages 437–455. May 2008. S.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. CMS Advanced electronic Signatures (CAdES). [11] European Telecommunications Standards Institute. 2009. N. Quisquater. Topics in Cryptology-CT-RSA 2010. June 16-17. Gritzalis.

the Secure Cryptographic MicroProcessor with secure code execution (encrypted.Secure Cryptographic Microprocessor Roberto Gallo12 .kawakami}@kryptus. SCuP has been validated in simulations and in FPGAs and its semiconductor diffusion will be done in the next few months. In this paper we present SCuP . e umeros. {gallo.com Abstract.. Neste artigo apresentamos o SCuP . SP. Campinas. Dentre as principais caracter´ ısticas do processador est˜ ao o firewall de hardware (HWF) e o mecanismo de inspec ¸a ¸a ˜ o/introspecc ˜ o profunda (MIP) combinados com os pacotes de execuc ¸a ˜ o seguros (PES). O SCuP foi desenvolvido dentro da vis˜ ao mais ampla de seguranc ¸ a e que considera que quaisquer componentes dos sistemas podem conter defeitos de seguranc ¸ a. o que explica as recorrentes falhas reportadas em toda sorte de sistemas. Campinas. ˜ o Segura. Entre as caracter´ ısticas que tornam o SCuP u ao: i) o emprego de m´ ultiplos n´ ucleos com processamento assim´ etrico. um processador de uso geral cuja arquitetura foi projetada para garantir ˜ o e resiliˆ altos n´ ıveis de protec ¸a encia mesmo contra os advers´ arios mais motivados com ´ nico est˜ um cen´ ario de ataques ampliado.br. Introduc ¸a ´ bem estaA importˆ ancia da seguranc ¸ a nos sistemas baseados em hardware e software e belecida e dispensa justificativas. Entretanto. Brazil 2 Campinas State University. apesar de sua relevˆ ancia.SCuP . SCuP is an asymmetric multicore processor for general applications with several innovative protection mechanisms against logical and physical attacks. O SCuP foi validado em simulac ¸o a seguir para difus˜ ao semicondutora nos ˜ es e em FPGAs e dever´ pr´ oximos meses. sistemas computacionais seguros tˆ em se mostrado supreendentemente dif´ ıceis de serem obtidos. Henrique Kawakami1 . Parte ´ rea do desta dificuldade pode ser atribu´ ıda ao fato de que seguranc ¸ a mais do que uma a ´ uma transversal que perpassa diversas a ´ reas. Brazil {gallo. Desta forma. que apresenta diversos mecanismos inovadores de protec ¸a ogicos e f´ ısicos ao pro˜ o contra ataques l´ cessador. Resumo.rdahab}@ic.Processador Criptogr´ afico com Execuc ¸a odigo (cifrada. O SCuP e ˜ o Segura de C´ ´ um processador de m´ ultiplos n´ ucleos assim´ etrico para aplicac ¸o ˜ es gerais. Estat´ Codificac ¸a ıstica e F´ ısica dentre outras. Criptografia. signed). Ricardo Dahab2 ∗ 1 KRYPTUS Security Solutions Ltd.unicamp. ii) mecanismos de 71 . at´ eo momento n˜ ao existe uma teoria unificada para Seguranc ¸ a. ˜ o Neste artigo apresentamos o SCuP . assinada). Among the main processor features are the hardware firewall (HWF) and the deep inspection/introspection mechanism (MIP) along with the secure execution packages (PES). SP. como Teoria do N´ conhecimento.o Secure Cryptographic Nossa Contribuic ¸a Microprocessor. ˜o 1.

Neste sentido. a motivac ˜ o de um do mesmo conte´ udo e ¸a 72 . o IBM4758 e ˜o diversos cen´ arios de uso. Os trabalhos relacionados mais relevantes. menos completa do ponto de vista de arquitetura. na Sec ¸a ¸a ¸a conclui e apresenta algumas possibilidades de trabalhos futuros. O Problema e Trabalhos Relacionados ´ reas de: i) Processadores e sistemas seguros est˜ ao relacionado com. previamente assinados. exemplo de aplicac ¸o ˜ o Segura de C´ Execuc ¸a odigo ˜ es de DRM est˜ As aplicac ¸o ao sujeitas a um modelo de ameac ¸ as (threat model) particu˜ es. multi-chip. iii) prevenc ¸a ¸a ˜ o de violac ˜ o de seguranc recuperac ¸a ¸a ¸ a. com func ¸o em capaz de executar programas de usu´ arios. iv) m´ etricas de seguranc ¸ a. principalmente do ponto de vista de seguranc ¸ a f´ ısica. Com isso. software. detecc ˜o e arquiteturas seguras de hardware.˜ o e introspec ˜ o de software. ii) co-processadores seguros. a ˜ es de DRM (Digital Rights Management). ou. e v) interfaces seguras. as a ˜ o. de outra forma. e iv) mecanismos de execuc ¸a ˜ o do Artigo Na Sec ˜ o 2 fazemos uma ampla revis˜ Organizac ¸a ¸a ao de problemas e ˜ es de sistemas seguros. iii) suporte a mecanismos de reparac ˜ o dinˆ inspec ¸a ¸a ¸a amica de ˜ o segura de pacotes. entre outras. filmes) pode custar milh˜ oes de d´ olares para ser produzido. a Sec ˜o 5 componentes. 2. mas que traz um benef´ ıcio importante: sa´ ıdas certi˜ o de aplicac ˜ es. O IBM4758 e ˜ es de Hardware Security Module (HSM) e tamb´ tivo (placa) PCI. em seu processador com arquitetura 80486. ´ uma outra proposta tamb´ O processador Cerium [2] e em relevante. Co-Processadores Criptogr´ aficos ´ rea mencionada. O AE˜ o da mem´ GIS tamb´ em emprega de maneira inovadora a protec ¸a oria RAM (off-chip) do ˜ o e autenticac ˜ o do conte´ processador por meio da cifrac ¸a ¸a udo de mem´ oria. a arquitetura AEGIS [20] representa uma evoluc ¸a ´ nico componente) capaz de realizar a importante ao propor um processador (em um u ˜ o segura de c´ execuc ¸a odigo utilizando os conceitos de cadeia de confianc ¸ a (que parte de um processo de boot seguro) e o isolamento de processos seguros daqueles n˜ ao seguros ˜ es de arquitetura em um n´ por meio de modificac ¸o ucleo de processador MIPS . o ganho do advers´ ario individual com a pirataria ´ ordens de grandeza menor. H´ a uma clara diferenc ¸ a de vis˜ ao em relac ¸a ´ o seu propriet´ o interessado na integridade de um sistema n˜ ao necessariamente e ario. entidades externas (clientes ou ficadas (assinadas) da execuc ¸a ¸o ˜ o atrav´ ˜ o das assiatestadores) podem confiar nos resultados da computac ¸a es da verificac ¸a ˜ o aos trabalhos anteriores: naturas produzidas. na Sec ˜ o 3 apresentamos a arquitetura do SCuP e os seus soluc ¸o ¸a ˜ o 4 apresentamos alguns resultados de implementac ˜ o. que abrangem mais de uma a incluem o trabalho pioneiro do desenvolvimento do m´ odulo criptogr´ afico IBM4758 [4]. precursor de diversos dos mecanismos de seguranc ¸ a atualmente empregados em hardware ´ um disposiseguro. ´ inapropriado para Apesar de seu elevado n´ ıvel de seguranc ¸ a f´ ısica. m´ larmente interessante: se por um lado conte´ udo (aplicac ¸o usicas.

isolado dos demais n´ ucleos. Os ganhos s˜ nar ou alterar c´ odigo ou dados em execuc ¸a ao claros: aumento do n´ ıvel de ˜ o contra pirataria ao diminuir o risco de que fragilidades nos softwares executando protec ¸a nos demais n´ ucleos sejam utilizadas para atacar o SPE no modo vault. Costan et al [3] propuseram e implementaram (utilizando um processador Javacard) o Trusted Execution Module (TEM).com mem´ oria interna pr´ opria. relegando a ¸o De forma a melhorar o perfil de seguranc ¸ a sem aumento consider´ avel de custos. ˜ o de threads seguras (ou isoladas) simultaneamente em um mesmo A execuc ¸a ˜ es e modos n´ ucleo foi implementada tanto na proposta do AEGIS por meio de instruc ¸o 73 . capaz de executar c´ odigo seguro no pr´ oprio m´ odulo. iii) pode ser subvertido por meio de modificac ¸o ` s aplicac ˜ es essa tarefa. ou. ao O emprego de pacotes de execuc ¸a IBM4758. ou execuc ¸a umero de processos executando simul´ limitado ao n´ taneamente no processador e umero de n´ ucleos. sejam fatoradas em pequenos m´ odulos e executadas no ambiente embarcado seguro (smartcards. respons´ aveis pelo processamento de alto desempenho ˜ o seguro (com c´ do processador. de outra forma. mas foi no IBM Cell [19]. ii) n˜ ao requer refatorac ¸a de c´ odigo legado. e iv) n˜ ao considera sigilo. podendo ser completamente ignorado pelo sistema. em especial se o custo advers´ ario para copiar alguns arquivos de m´ usica e do “ataque” for proporcional ao n´ umero de arquivos copiados. sess˜ ao CRTM). com barn˜ ao possui poder de inspec ¸a ˜ o com sistema e baixo poder ramento LPC. possivelmente. O Cell e ucleo assim´ etrico especialmente voltado para o mercado de entretenimento. no modo secure processing vault ´ capaz de inspecio. o TPM verificac ¸a ˜ o da cadeia de boot do sistema e. Em um sistema habilitado. ˜ o segura de pacotes pode ser vista como um tipo especial de isolamento A execuc ¸a ˜ o segura de threads. ˜ o confi´ a plataforma (hardware + software) padr˜ ao de mercado para computac ¸a avel em ´ um pedispositivos como computadores pessoais e aparelhos celulares. na ˜ o (measurement) da integridade das aplicac ˜ es em execuc ˜ o. especialmente escritas. Cada SPE pode ser colocado em modo de execuc ¸a odigo e dados assinados e cifrados). processadores segu˜ es de E/S adicionais e da degradac ˜ o de performance que acomros) ao custo de operac ¸o ¸a ˜ o. ˜ o da gerac ˜ o atual do Esse modelo de ameac ¸ as foi aquele utilizado na concepc ¸a ¸a padr˜ ao do Trusted Platform Module (TPM) do Trusted Computing Group (TCG) [22]. ˜ o de assinatura e software measurement. possui s´ ˜ es: i) e ´ um disposicomo de imagens em execuc ¸a erias limitac ¸o tivo escravo de barramento. ii) possui arquitetura similar a de um smartcard. onde o n´ de threads. verificac ¸a ¸o ¸a ˜o A proposta do TPM tem alguns m´ eritos: i) tem baixo custo. e iii) vai no caminho certo ao considerar tanto integridade de bin´ arios ˜ o. utilizado no Sony Playstation 3. O TPM-TCG e ` placa m˜ rif´ erico soldado a ae do sistema e que possui capacidades de assinatura digital. que ela foi utili´ um processador multi-n´ zada de uma forma mais consistente. panha a fatorac ¸a ˜ o segura no TEM remonta. Por outro lado. De especial interesse no Cell s˜ ao os Synergistic Processing Elements (SPE). resultando em baixa banda de comunicac ¸a ˜ es na BIOS do sistema (na computacional. threads seguras n˜ ao coexistem com threads normais em um mesmo n´ ucleo.´ muito limitada. atrav´ es de Secure Execution Closure Packs (SECpacks). onde poder de processamento ˜ o de conte´ e protec ¸a udo tˆ em prioridades altas. e tamb´ em ˜ o. Neste modo nenhum outro n´ ucleo e ˜ o. Os SECpacks permitem que ˜ es de tamanho arbitr´ aplicac ¸o ario. ap´ pode ser utilizado para a verificac ¸a os inicializado.

por sua vez. Ele e ´ capaz de inspecionar tema monitor). no entanto e ˜ es em arquiteturas de processadores j´ n´ umero de intervenc ¸o a existentes. Entretanto. a arquitetura SP (e tamb´ em na pilha de software do AEGIS) poderia ser utilizada ˜ o de software entre processos. A arquide execuc ¸a ´ de uso mais geral e minimalista e pode ser aplicada com menor tetura SP. O custo do hardware tamb´ em e ´ No CuPIDS. tanto quanto saibamos. muito se fala [18. 74 . est˜ ao sujeitas a problemas de implementac ¸a ´ uma considerac ˜ o comum no mundo dos sintetizana medida em que seguranc ¸ a n˜ ao e ¸a ´ temer´ dores de hardware. em caso de ˜ o de um rootkit no sistema principal. e ario esperar que um sistema t´ ıpico n˜ ao possua ˜ o. O CoPilot e ¸a ´ implementado por meio de uma placa PCI-mestre de barramento (sisde rootkits. 9] da utilizac ˜ o de bases miniarquiteturas de soluc ¸a ¸a ˜ o confiada onde a pilha de software (BIOS segura. pelo monitor. utilizando o proposto Trusted Software Module. assim. a placa PCI e ´ capaz de verificar que houve instalac ¸a ˜ es no espac modificac ¸o ¸ o de enderec ¸ amento do kernel do sistema e assim corrigir o sistema ˜ o de monitoramento externa. como mais recentemente na arquitetura SP [9. caminham por uma linha de pesquisa distinta: utilizam pares de sistemas. parte do princ´ para introspecc ¸a ıpio de que o sistema verificador (SV) n˜ ao sofre das mesmas fragilidades que o sistema em ˜ o (SEV). por sua vez. e que tamb´ ´ influenciado por alguma execuc ˜ o faltosa.. do espac ¸ o de enderec ¸ amento do sistema ` verificac ˜ o do kernel do sistema monitorado. ˜ es do CoPilot est˜ ` degradac ˜ o de desemJ´ a as limitac ¸o ao principalmente ligadas a ¸a penho causada pelo processamento. e.O. em RAM. problemas ocultos de seguranc ¸ a em termos de implementac ¸a Trabalhos como CuPIDS [23] e CoPilot [15]. ware e. podemos conjecturar que. Esse uso. S.) e ´ reduzida a alguns poucos milhares de linhas de c´ aplicac ¸o odigo.˜ o privilegiados. conectada a um hospedeiro (sistema monitorado) e e todo o seu espac ¸ o de enderec ¸ amento. provˆ e servic ¸ os de confidencialidade e atestac ¸a remotos. nenhum trabalho tem se atentando ao fato de que as arquiteturas de hardware de processadores (e sistemas) s˜ ao descritas em centenas ˜ o de hardde milhares ou mesmo milh˜ oes de linhas de c´ odigo de linguagens de descric ¸a ˜ o tanto quanto os softwares. Para verificac ¸a em n˜ ao e ¸a ˜o e diminuir riscos impl´ ıcitos de seguranc ¸ a provenientes de problemas de implementac ¸a ˜ o complexas. um ˜o sistema operacional seguro minimalista. o que restringe a usabilidade da proposta a ¸a ´ um problema. um monitor de (pol´ ıticas) de seguranc ¸a ´ voltado para o monitoramento e recuperac ˜ o de ataques e outro monitorado. A Arquitetura SP utiliza alterac ¸o ¸a ˜ o de mem´ ponentes de cifrac ¸a oria. a ideia de sistema independente de monitoramento e revisitada com uma nova arquitetura de hardware e novos objetivos de monitoramento. com modificac ¸o no TSM. malistas de computac ¸a ˜ es seguras. portanto. Por possu´ e avisar uma estac ¸a ırem arquiteturas completamente diferentes. no entanto. seguro. como as fam´ ılias ˜ es de instruction sets e a adic ˜ o de comx86 e SPARC. monitor e monitorado tamb´ em minimizam a possibilidade de compartilharem defeitos. O monitor n˜ ao compartilha recursos com o sistema monitorado. Desta forma.. ˜ o Monitorada Arquiteturas para Execuc ¸a ˜ es Apesar de n˜ ao apontado pelo trabalho de Lee [9]. 13].

para cada servic ¸ o implementado na ˜ o monitorada. v) verificabilidade do voto. como regra. Os potenciais problemas com o CuPIDS ` garantia da pr´ ˜ o monitora. seus autores dividem o sistema ˜ o monitora e porc ˜ o monitorada. iv) sigilo do voto. um co-servic ˜ o monitora (possivelmente porc ¸a ¸ o de monitoramento na porc ¸a por meio de uma pol´ ıtica EM-enforceable [18]). guarda e uso de chaves criptogr´ espec´ ıfico (gerac ¸a aficas) deve obedecer. Sistemas de votac ˜ o eletrˆ utilizadas. que os sistemas n˜ ao s˜ ao confi´ aveis e que podem ser adul˜ o da integridade do sistema e terados. ˜ o do sistema em produc ˜ o. como substituic ¸a de bin´ arios. em especial na a ¸a ¸a onica devem atingir simultaneamente objetivos aparentemente inconcili´ aveis: i) um voto por ˜ o (do eleitor). assim como em [5. etc). que tem como alvo o pr´ oprio sistema operacional. 6]. diferentes t´ integridade do pr´ oprio sistema) e ¸a ecnicas tˆ em sido ´ rea de sistemas de votac ˜ o. registro. e vi) resistˆ encia a ¸a ˜ es diretas na concepc ˜o Quaisquer tentativas de se atingir estes objetivos tˆ em implicac ¸o ¸a ˜ o (digital recording electronic voting machine . controle de acesso. ˜ o dos Sistemas e Padr˜ Verificac ¸a oes ´ um meta-padr˜ O Common Criteria. das m´ aquinas de votac ¸a Admite-se. sensoriamento. e ao. O padr˜ ao FIPS 140-2 ˜ es que um m´ apresenta um conjunto de requisitos e recomendac ¸o odulo criptogr´ afico de uso ˜ o. est˜ ao sujeitos a diversos tipos de ataque. sempre A confianc ¸ a obtida pela verificac ¸a ¸a est´ a ligada (e limitada) pela confianc ¸ a nas fases de desenvolvimento. Ao contr´ em porc ¸a ¸a ario do CoPilot. auto-testes. por exemplo. onde componentes nalmente relacionada aos trabalhos de verificac ¸a 75 . mecanismos eficientes de verificac ¸a dos pr´ oprios servic ¸ os devem ser implementados e imediatamente acess´ ıveis aos interessa˜ o entre integridade dos sistemas e os usu´ dos. que define templates sobre os quais perfis de seguranc ¸ a os (security profiles) devem ser elaborados. padr˜ oes como o FIPS 140-2 [11] e o Common Criteria [21] tˆ em papeis relevantes. Desta forma. o padr˜ ao e ˜ es completo nos diversos aspectos de seguranc ¸ a que um m´ odulo deve satisfazer (protec ¸o l´ ogicas. do dispositivo. Integridade dos Sistemas ˜ es onde a integridade dos servic Em aplicac ¸o ¸ os prestados pelo sistema (mais do que a ´ preocupac ˜ o primordial. no CuPIDS existe. A principal contribuic ¸a ser cobertos por um perfil de seguranc ¸ a. Apesar de n˜ ao ´ relevante por ser fixar diretamente nenhum item de arquitetura de tais m´ odulos. iii) voto contado conforme o eleitor. A integrac ¸a arios foi explorada em trabalhos ˜ o de caminhos conficomo VoteBox Nano [12]. a nossa proposta est´ No quesito verificac ¸a a margi˜ o formal de sistemas. por sua vez. Neste sentido. ˜ o.Com o uso de uma motherboard com dois processadores. f´ ısicas. o qual e ˜ o do CC e ´ a listagem ampla de itens que devem no pr´ oprio perfil.DRE). de uma forma mais ampla. utilizando a noc ¸a ados e classe de n´ ıvel de confianc ¸ a. ou no ciclo de vida. no entanto. como apontam Mirjalili e Lenstra [10]. Sendo implementados est˜ ao ligados a opria integridade da porc ¸a ˜o em processadores de uso geral. ii) voto registrado conforme a intenc ¸a ` coerc ˜ o [17]. e que descreve as carac´ mais tarde certificado com base ter´ ısticas esperadas de um dado sistema (seguro).

como mostram os trabalhos de Payne [14] e de m´ aquinas virtuais. Neste sentido. m´ ınimo. FPU e MMU foram eliminados. instanciados de maneira assim´ etrica. Nela e ıvel identificar dois n´ ucleos SPARC de 32 bits. baseados no Leon 3. O AC e um n´ ucleo completo para uma CPU. Para minimizar possibilidades de defeitos de seguranc ¸ a no pr´ oprio VHDL do processador. Na Figura 1. Os Nucleos AC e SC ˜ o (AC) A arquitetura do SCuP permite que coexistam diversos (n) N´ ucleos de Aplicac ¸a ´ com diversos (m) N´ ucleos de Seguranc ¸ a (SC). seguindo o princ´ ıpio da minimizac ¸a O SC tem controle sobre todos os outros componentes do SCuP. cha´ essencial na seguranc mada de scratchpad. por exemplo. dificultando o seu uso na pr´ atica. USB. dentre outros. com mecanismos que ser˜ ao descritos mais a adiante. Controle de DDR2) e componentes com funcionalidades seguras (como cifradores de mem´ oria externa e o TRNG (true random number genera˜ o dos componentes do SCuP e tor)). e ¸ a do sistema e foi projetada para permitir que ˜ es que demandam sigilo (manipulac ˜ o de chaves e outros parˆ operac ¸o ¸a ametros cr´ ıticos de sistema) pudessem ser realizados com a menor possibilidade de vazamento e sem a necessidade de mem´ oria externa. Estes barramentos implementam um firewall de hardware. o Application Core . 8. 3. programado por SC e que limita o acesso dos mestres de barramento aos perif´ ericos.1.1. em especial via introspecc ˜o de verificac ¸a ogica de seguranc ¸ a baseadas em simulac ¸a ¸a ´ teis. Os componentes perif´ ericos encontrados no processador s˜ ao divididos em dois ˜ o de seguranc principais grupos: componentes sem func ¸a ¸ a (caixas mais claras e que incluem. No que se segue apresentamos uma breve descric ¸a em seguida algumas das funcionalidades de seguranc ¸ a permitidas pela nossa plataforma. no entanto. t´ ecnicas totalmente informais ou mistas ˜ o das propriedades dos sistemas [1]. O SC tem capacidade para executar um sistema operacional ˜ o da Trusted Computing Base (TCB). e o Secure Core . executar um S. Arquitetura do SCuP ´ poss´ A Figura 1 mostra a arquitetura do SCuP.˜ o de (l´ ogicos) de software e hardware s˜ ao descritos formalmente e t´ ecnicas de obtenc ¸a ˜ es. Estes dois n´ ucleos est˜ ao ligados aos barramentos internos AHB (e APB) modificados. Linux com uma aplicac ¸a ¸a controlado e monitorado pelo SC. e ucleo minimalista e que foi modificado para ser uma das ra´ ızes de confianc ¸ a do sistema. 3. permitindo. ´ um n´ O SC. 16]. o Mecanismo de Inspec ¸a ¸a encia de Boot Seguro. Componentes do Sistema ´ 3. Desta forma. Esta mem´ oria. 76 . tais t´ ecnicas tˆ em complexidade NP-dif´ ıcil ou indecid´ ıvel [7. t´ s˜ ao utilizadas na verificac ¸a ecnicas ˜ o l´ ˜ o. com unidade de ponto flutuante.AC. e que serve para a execuc ¸a ¸o arios convencionais ˜ o de votac ˜ o. cache de dados e ˜ o de aplicac ˜ es de usu´ programa e MMU. n = m = 1.1. ao mesmo tempo em que uma mem´ oria interna.SC. Apesar de poprovas s˜ ao utilizadas para se determinar a validade das especificac ¸o derosas. den˜ o/Introspecc ˜ o Profunda (MIP) e a Sequˆ tre outros. O AC e ´ como. tˆ em se mostrado u Dwoskin [13]. por sua vez. PCI.O. de acesso exclusivo ao n´ ucleo foi adicionada.

77 . A arquitetura do SCuP mostrando os seus diversos modulos e pe´ rifericos.´ Figura 1.

permiss˜ oes]. Isto terna sejam cifrados de maneira autom´ atica com grande acelerac ¸a permite que o processador AC/SC execute c´ odigo cifrado da mem´ oria externa de maneira transparente. O CryptoMem emprega o ˜o algoritmo NIST-FIPS PUB 197 . CBC e GCM e desempenho de pico de processamento de 8 de operac ¸a bits/ciclo. M´ odulo AES-256 e M´ odulo SHA-512 de Alto Desempenho O m´ odulo AES implementa o NIST FIPS PUB 197 com chaves de 256 bits nos modos ˜ o ECB. Esta biblioteca tamb´ em faz uso do acelerador de curvas el´ ıpticas presente no processador. a canais de comunicac ¸a ˜ o de m´ O HWF funciona por meio da programac ¸a ultiplas regras de firewall que ˜ es: [mestre. esta mesma pilha de software poder´ a conter defeitos que permitam que a entrada do ˜ o mal-intencionada. Se por um lado toda Um exemplo de uso e ¸a ˜ o pode ser executado no a parte gr´ afica e de controle de perif´ ericos do software de votac ¸a AC. Cifrador de Mem´ oria Externa O cifrador de mem´ oria externa (CryptoMem) permite que regi˜ oes da mem´ oria RAM ex˜ o por hardware. faixa-de-enderec cont´ em as seguintes informac ¸o ¸ os. Em usu´ ario (o voto digitado) vaze ou seja capturado por uma aplicac ¸a ˜ o podem ficar por conta do SC.AES . Esta funcionalidade tem como principal objetivo impedir que componentes (de software. ´ nos casos de protocolos de votac ˜ o. a captura do voto e a sua cifrac ¸a programando o HWF. 3. permite o uso para si. Estes blocos operam como aceleradores de hardware internos ao processador e ˜ es executando tanto no SC como no AC de forma direta ou atrav´ servem aplicac ¸o es da biblioteca criptogr´ afica da plataforma SCuP. As chaves do CryptoMem s˜ ao diretamente controladas pelo SC. de hardware) comprometidos tenham acesso ˜ o com dados em claro.1. aumentando o n´ ıvel de seguranc ¸ a tamb´ em contra ataques externos. 3. Obviamente a aplicac ¸a ˜ es malignas. assim como as faixas de enderec ¸ amento que devem ser protegidas.3. com hashes de 512 bits e desempenho de pico ≥ 12 bits/ciclo. 78 .4.com chaves de 256 bits em modo de operac ¸a n˜ ao-padr˜ ao. O CryptoMem tem performance de processamento de 128 bits/ciclo.1. advindas dos perif´ O HWF ainda impede que transac ¸o ericos-mestre de barramento externos ao SCuP tenham a possibilidade de acessar regi˜ oes de enderec ¸ amento n˜ ao ativamente permitidas. CTR. O Firewall de Hardware O Firewall de Hardware (HWF) permite que o SC controle o acesso dos mestres de barramentos internos do SCuP aos perif´ ericos. nossa arquitetura. impede o acesso pelo AC ao perif´ erico PS/2 ao mesmo tempo que ˜ o precisa ser adaptada para este tipo de uso. O m´ odulo SHA implementa o NIST FIPS PUB 180-3.3.1. Nesta regra.2. ` “faixa-de-enderec ` s respectivas “permiss˜ o acesso do “mestre” a ¸ os” est´ a sujeita a oes”. que.

3 1. Opcionalmente (a) Verifica hardware. e ele utilizar´ a o scratchpad do SC como sua mem´ oria RAM ˜ es criptogr´ Realiza auto-testes de func ¸o aficas e de integridade interna Zera todos os buffers e caches internos e a RAM Copia o conte´ udo da ROM externa para o scratchpad Decifra o conte´ udo carregado no scratchpad Verificar a assinatura digital do conte´ udo do scratchpad Limpa registradores e ajusta o PC para o in´ ıcio do scratchpad O software da ROM externa (BIOS) est´ a carregado no scratchpad. o primeiro nal de requisic ¸o obrigatoriamente executa um trecho de c´ odigo confiado determinado por SC. quando o AC e ´ provocado pelo SC. componente central Ou ˜ es em relac ˜ o a um gerenciador convenciono MIP. 3.4 1.6 2 2. utilizado para a comunicac ˜o Outro componente que merece menc ¸a ¸a ˜ es entre n´ ucleos.2. Este componente foi especificamente projetado para permitir que informac ¸o entre AC e SC possam ser trocadas de maneira r´ apida e protegida do acesso externo. O IRQMP-CPS possui modificac ¸o ¸a ˜ es (IRQs) de forma que. ´ ltimo componente que mencionamos e ´ o IRQMP-CPS. Funcionalidades do SCuP 3. mas que por ´ o TRNG do proquest˜ oes de espac ¸ o somente mencionaremos. Um destes componentes e ˜ o da maioria dos esquemas criptogr´ cessador. seja conhecido (´ ıntegro) em ambos os n´ ucleos quando o sistema termina a inicializac ¸a ˜ o de assinaturas digitais que Para tanto.3.1 1.2 1. Outros Componentes ˜ es de seguranc O SCuP possui diversos outros componentes com func ¸o ¸ a. SBS . (b) Continua boot pela rede.3 Auto-testes SC ˜o Zerac ¸a C´ opia da ROM Decifra Verifica Carga Execute HFW SC Imagem AC .5. (c) Acessa a mem´ oria externa.1. ˜o e ´ o Mailbox.2.1. item essencial na operac ¸a aficos. O TRNG ser´ cionais do semicondutor para a gerac ¸a a tema de artigo futuro e por enquanto representa segredo industrial.5 1. estar´ a gravado na ROM interna. utilizamos uma sequˆ encia de boot com verificac ¸a ` s aplicac ˜ es de usu´ ´ a seguinte: vai da BIOS a ¸o ario. A sequˆ encia e Etapa/Fase 1 Nome Load/Decode ˜o Descric ¸a O software que carrega e decifra o software da ROM externa. e utiliza essa mem´ oria como RAM Configura o HWF (libera acessos a determinados recursos do sistema) Configura o SC Obt´ em a imagem de boot do Linux (o qual executar´ a no AC). (d) Atualiza a ROM externa 79 1.Sequˆ encia de Boot Seguro ´ fundamental para garantir que o estado da plataforma A sequˆ encia de boot seguro (SBS) e ˜ o.2 2.1 2. O TRNG ´ n˜ do SCuP e ao determin´ ıstico e explora caracter´ ısticas f´ ısicas das portas l´ ogicas conven˜ o e com alta entropia.

com elementos possivelmente n˜ ao assinados digitalmente (e n˜ ao verificados pela SBS). O funcionamento do MIP pode ser assim sumarizado: ˜ o do usu´ ˜ o. toda as verificac ¸a ` execuc ˜ o normal.6 2. mas apresenta diversas modificac ¸o ´ capaz de ter acesso total ao estado da CPU principal do Em primeiro lugar. (execuc ¸a ˜ o contra ataques em tempo de execuc ˜o Por este motivo. MIP .7 3 Decifra Verificar Carrega Libera Boot Linux Decifra a imagem de boot do Linux Verifica a imagem de boot do Linux Carrega a imagem de boot do Linux no enderec ¸ o inicial do AC Libera o AC (“acorda” o processador AC) Imagem de boot do Linux carregada. como em ataques de estouro de pilha ˜ o de dados). o AC retorna a ¸a 80 .Mecanismo de Introspecc ¸a ¸a ´ permitir que o estado do n´ O objetivo do MIP e ucleo AC seja totalmente conhecido e ˜ o completa impedindo que c´ acess´ ıvel para inspec ¸a odigo malicioso se aloje em qualquer ´ necess´ parte dos elementos de mem´ oria do n´ ucleo. via PCI. ´ utilizado ent˜ • V-ROM e ao para verificar a assinatura de c´ odigo adicional escrito ˜ o pr´ por SC (V-RAM) em posic ¸a e-determinada de mem´ oria. No caso da introspecc ˜ o. o SC gera uma interrupc ¸a ao mascar´ avel de m´ axima prioridade no AC (via componente IRQMP-CPS). o que tamb´ em limita o seu desempenho. Se a assinatura for ˜ o deste novo trecho de c´ correta.2. • finalizado o trecho V-RAM. • Sob requisic ¸a ario ou de tempos em tempos. Entre´ suficiente para proteger contra ataques online. ˜ o em um trecho de c´ • o AC imediatamente comec ¸ a a servir a requisic ¸a odigo fixo ˜ es (V-COM). ´ o c´ ˜ o do sistema seja por inspec ˜ o ou por • V-RAM e odigo que comanda a verificac ¸a ¸a ˜ o. n˜ em ROM que realiza verificac ¸o ao pode ser modificado por advers´ arios. o CoPilot n˜ ao e sistema dado que seu acesso era externo. o SC inicia o ciclo de verificac ¸a ˜ o n˜ • para tanto. AC permanece em “stall” e SC realiza o “anti-malware”.4 2. Tanto quanto pudemos averiguar. onde defeitos tanto. o AC empilha todos os introspecc ¸a ¸a ˜ o “flush”) e continua executando seus registradores e descarrega a cache (instruc ¸a ˜ o. como o MIP. MIP foi inspirado no CoPilot. inicia a execuc ¸a odigo. ˜ o/Inspec ˜ o Profunda 3. No caso da inspec ¸a ˜ o. Por estar em ROM. Isto e ario pois o n´ ucleo AC executa uma pilha extensa de software. no primeiro passo. este mecanismo n˜ ao e ˜ es s˜ das aplicac ¸o ao exploradas pelos advers´ arios.2. recursos liberados e AC “ acordado” ˜ o/alterac ˜ o de O mecanismo de boot seguro impede que ataques de substituic ¸a ¸a ´ o pribin´ arios sejam poss´ ıveis no SCuP. o SCuP e meiro processador a implementar uma sequˆ encia de boot seguro multi-core e tamb´ em o primeiro a fazer isso com servic ¸ os de assinatura digital e sigilo simultaneamente.5 2. mecanismos de protec ¸a ¸a foram inclu´ ıdos no SCuP. ˜ es e vantagens.2.

o SC (respons´ avel pela execuc ¸a mestre do sistema. Para tanto. as unidades processantes (n´ ucleos) funcionam como escra˜ o segura vindas do ambiente vos de barramento. este n´ de iniciar a execuc ¸a ucleo verifica a assinatura sobre o pacote (e possivelmente o ˜ o. pois os componentes 81 . o SCuP e ˜ o integrada. ˜ o dos pacotes seguros) e ´o No SCuP. O SCuP e ˜ o e Resultados 4. Assim. ser um mecanismo acess´ orio. o SC protege uma regi˜ ao de mem´ oria onde mant´ em uma ˜ o. nossa arquitetura permite ˜ o de mecanismos de recuperac ˜ o dinˆ ˜ o de rootkits a construc ¸a ¸a amica de kernel e detecc ¸a de alta eficiˆ encia. decifra) antes de iniciar a sua execuc ¸a ˜ es: Apesar de baseado nestas arquiteturas. Isto significa que pacotes de execuc ¸a externo n˜ ao podem ser utilizadas para verificar o estado do sistema como um todo. o que permite que tais pacotes sejam executados em um ambiente controlado (via MIP e HMW). Al´ em disso. entretanto.3. ou mesmo lev´ a-lo a um estado conhecido.438 ALUTs da FPGA e operou a uma frequˆ encia m´ axima de 140MHz. Por meio do uso do HFW e do MIP simultaneamente. uma vez que a comunicac ¸a mento interno ao processador.2. de fato adicionando uma camada de seguranc ¸ a. A Tabela 2 mostra o consumo de elementos dos principais componentes do sistema. desempenho. ao executar o MIP em modo de inspec ¸a pode facilmente comparar c´ opias do kernel e restaurar imagens anteriores. correspondendo por cerca de 52% da a ´ alto. o SC c´ opia do kernel saud´ avel de AC. manutenc ¸a ericos de tempo real. a nossa arquitetura tamb´ em permite que o SC mantenha servic ¸ os essenciais ao sistema enquanto o AC passa pelo MIP tarefas como. por outro a plataforma Se por um lado o impacto em elementos consumidos e se adapta bem quando mais instˆ ancias de AC e SC s˜ ao inclusas. O sistema completo consumiu 69. Antes ˜ o.˜ o realizada no ciclo do MIP e ´ altamente Com a arquitetura do SCuP. em vez de ´ o primeiro processador a realizar esta abordagem. nossa proposta difere de ambas soluc ¸o tanto no Cell como no TEM. por ˜ o de “watchdogs” ou mesmo controles demandados por perif´ exemplo. Um pacote de execuc ¸a em dados e bin´ arios assinados e possivelmente cifrados e que s˜ ao entregues para um n´ ucleo para processamento. introduzido pelo IBM Cell e mais tarde formalizado pela proposta do execuc ¸a ˜ o segura e ´ um blob que cont´ TEM. o SCuP ainda incorpora o conceito de pacote de ˜ o segura. em modo exclusivo. Nota-se que os principais consumos s˜ ao dos componentes criptogr´ aficos de alto ´ rea (ALUT) do processador. Tanto quanto saibamos. Implementac ¸a O SCuP foi implementado em VHDL utilizando a licenc ¸ a comercial do Gaisler Leon 3 e simulado e sintetizado com o Quartus II Full para a plataforma alvo de desenvolvimento Altera Stratix III EP3SL200C2 em um kit de desenvolvimento projetado por n´ os. Outras Funcionalidades Al´ em dos mecanismos SBS e MIP. como um advers´ ario em AC e ¸a ´ o primeiro as pr´ oprias imagens protegidas por SC. a verificac ¸a ˜ o entre o SC e o AC e ´ realizada por meio do barraeficiente. uma vez que ´ incapaz de corromper tanto o mecanismo de verificac ˜ o. processador a dar suporte a este tipo de operac ¸a 3.

A difus˜ (de 150 para 140MHz. desenvolvida levando-se em conta ataques f´ ısicos. no SCuP introduzimos os mecanismos de introspecc ¸a ¸a ˜ o segura. 82 . Automation and Test in Europe. obtivemos fmax de 150MHz. uma penalidade de apenas 6. ao e Trabalhos Futuros 5.Componente ALUT AC 10.5K AES 256 SHA 512 3.7%) e custos moderados em termos de a ao em sil´ ıcio.0K MemCrypt 25. and Stefano Quer.5K % 15 10 11 5 2 36 1 20 100 Tabela 2. Para ˜ o/inspec ˜o tanto. -6.5K 7. Os resultados de implementac ¸a e o momento ˜ o m´ apontam para a total viabilidade do processador. Sergio Nocco. Os testes de desempenho dos m´ odulos AES-256 e SHA-512 a partir da biblioteca criptogr´ afica da plataforma foram de 380Mbps e 500Mbps. ataques l´ ogicos (online e off-line) e os inexor´ aveis defeitos de software (e hardware).5K HWF 2. ˜ o das funcionalidades de seguranc No quesito desempenho. em conjunto com os pacotes de execuc ¸a rantem m´ ultiplas camadas de seguranc ¸ a independentes no processador. at´ e aviˆ onica. In in Design. respectivamente. com degradac ¸a ınima de desempenho ´ rea (53%).0K TRNG 1K Outros 13. a implementac ¸a ¸ a do ˜ o. valores bas˜ o de 140MHz. esperada para os pr´ oximos meses. al´ em possuir tal arquitetura.5K SC 6. mostrando pequeno “overhead” de tante altos para a frequˆ encia de operac ¸a software. desde votac ¸a onica. Sintetizando um procesSCuP teve pequeno impacto na frequˆ encia m´ axima de operac ¸a sador sem os componentes de seguranc ¸ a. onde um cen´ ario de ataques ´ considerado. portanto. representa uma nova filosofia no projeto de processadores. Conclus˜ O SCuP traz uma arquitetura inovadora.7%.5K Total 69. 2003. Improving SAT-based Bounded Model Checking by Means of BDD-based Approximate Traversals. 2003. Consumo de elementos criptogr´ aficos podem ser compartilhados por todos os n´ ucleos. Os trabalhos futuros estar˜ ao centrados no desenvolvimento das bibliotecas de soft˜ es para uso do SCuP em diversos cen´ ˜ o eletrˆ ware e aplicac ¸o arios. inclusive com o SBS. contra 140MHz de nosso design. o MIP e o PES. pages 898–903. Referˆ encias [1] Gianpiero Cabodi. permitir´ a que n´ umeros ajustados de desempenho sejam obtidos e que figuras de desempenho globais sejam estabelecidas. O SCuP. resultando em um sistema mais robusto e mais resistente a queampliado e ˜ o at´ bras de seguranc ¸ a de sub-componentes. gaprofunda e firewall de hardware que.

Certifying program execution with secure processors. 2008. Texas. Lee. ICCAD 94. Springer-Verlag.Heidelberg. USENIX Association. In Rajeev Alur and Doron A. Applications and Infrastructures. [11] NIST. Dwoskin. Lee. Mechanical mathematical methods for microprocessor verification. and Zhenghong Wang. CA. 2003. Saulo Lima. and William A. Stronger FPGA-based Voting Machine (Short Paper). [10] A Mirjalili. and Fumiyasu Hirose. Peter C. IEEE Computer Society Press. Petroni.8/11. volume 3114 of Lecture Notes in Computer Science. USA. Jesus Molina. and Wenke Lee. The Trusted Execution Module: Commodity General-Purpose Trusted Computing.org. USA. Automatic test program generation for pipelined processors. Henrique Kawakami. Arbaugh. Smith. Dyer. Tsuneo Nakata. Timothy Fraser. 2004. pages 580– 583. Architecture for protecting critical secrets in microprocessors. Washington. 33:2–13. [9] Ruby B. Henrique Kawakami.[2] Benjie Chen and Robert Morris. Security Observance throughout the Life-Cycle of Embedded Systems. A hardware trusted computing base for direct recording electronic vote machines. In CARDIS ’08: Proceedings of the 8th IFIP WG 8. Texas. Ricardo Dahab. 1994. USA. In HOTOS’03: Proceedings of the 9th conference on Hot Topics in Operating Systems. John P. and Srinivas Devadas. 2009. News. Ronald Perez. Hunt. Austin. Austin. In Proceedings of the 1994 IEEEACM international conference on Computer-aided design. In Proceedings of the 13th 83 . Martim Carbone. [5] Roberto Gallo. 2008. Security requirements for cryptographic modules.S. S. SIGARCH Comput. 2010. Sean W. CA. S. VoteBox Nano: A Smaller. IEEE Computer Society. Federal Information Processing Standards Publication (FIPS PUB) 140-2. Jr. Leendert van Doorn. Rafael Azevedo. [13] John P. and Ricardo Dahab. Peled. Jeffrey Dwoskin.2 International Conference on Smart Card Research and Advanced Applications. 2010. Wallach. USA. Copilot a coprocessor-based kernel runtime integrity monitor. and Guido Araujo. Heidelberg. [7] Warren A. USA. Springer Berlin . 2001. McGregor. Satoshi Kowatari. DC. Marten van Dijk. and Lenstra. Computer Aided Verification. usenix. pages 233–247. Payne. Reiner Sailer. 34(10):57–66. Oksuzoglu and D. and Steve Weingart. September 2009. 2002. editors. 2008. Berlin. [6] Roberto Gallo. A framework for testing hardware-software security architectures. [14] Bryan D. Computer. Sarmenta. In Proceedings of the 2008 IEEE Symposium on Security and Privacy. [15] Nick L.. [4] Joan G. Monirul Sharif. Building the IBM 4758 secure coprocessor. ACM. In Proc of EuroPKI’09 Sixth European Workshop on Public Key Services. pages 23–23. Luis F. [3] Victor Costan. pages 133–148. Kwan. Los Alamitos. [8] Hiroaki Iwashita. Mark Lindemann. Berkeley.. May 2005. Archit. On device identity establishment and verification. In International Conference on Embedded Systems. pages 274–276. Lares: An architecture for secure active monitoring using virtualization. ACM. and Ruby B. [12] E.

IEEE Design and Test of Computers. Williams. and J. Charles W. O’Donnell.Heidelberg. S. 2007. Edward Suh. USENIX Association. Liberty. and Robert Harper.2 revision 116. USA. Res. Hunt. Computer Aided Verification. IN. [23] Paul D.conference on USENIX Security Symposium . Common criteria for information technology security evaluation v3. Aegis: A single-chip secure processor. volume 3114 of Lecture Notes in Computer Science. Springer Berlin . Greg Morrisett. P. 51(5):521–528. SSYM’04. 2007. PhD thesis. Berkeley. Berkeley. pages 13–13. West Lafayette. A language-based approach to security. Trusted Platform Module Main Description Level 2 version 1. [20] G. editors. Springer. 2005. CA. IBM J. July 2009.Volume 13. Cell broadband engine processor vault security architecture. H. [16] Sandip Ray and Warren A. PhD thesis. 2007. CuPIDS: increasing information system security through the use of dedicated co-processing. Shimizu. 24(6):570–580. Dev. In Rajeev Alur and Doron A. In Informatics. Verifying security properties in electronic voting machines. 2001. [19] K. and Srinivas Devadas. USA. Schneider. [22] Trusted Computing Group. pages 254–256. [17] Naveen K Sastry. Deductive verification of pipelined machines using firstorder quantification. 2004.. [21] The Common Criteria Recognition Agreement. March 2011.1 revision 3. AAI3191586. Hofstee. pages 86–101. 2004. [18] F. 84 . University Of California. Peled.

DF. Biham and Shamir [1] used differential fault analysis to attack block ciphers. The conventional approach often ignores the inherent physical properties of the implementation. Nascimento 1 . the fault analysis model emerged as an alternative that allowed the development of a variety of realistic attacks against symmetric and asymmetric cryptographic protocols. who used this technique to attack public key cryptosystems. The fault analysis model relies on the principle that the adversary can physically control the cryptographic device. Depending on the implementation. To the best of our knowledge this is the first application of fault attacks against cellular automata based stream ciphers. Overview Traditionally. provoking temperature variations. Remarkably.br Abstract.unb. Despite all the active research regarding the field. vmalves}@redes. 1.br. such as digital signature and identification schemes. Brasilia. Their results stimulated a progressive research in the area. This paper presents fault attacks against a cellular automata based stream cipher. and induce it to abnormally operate. A. changing its power supply voltage.1. Introduction 1. As a consequence. such as DES. More recently. among other possibilities. A fault attack assumes that the adversary is able to physically operate the cryptographic device and insert some errors into it. cryptanalytic methods have been concentrated on exploiting vulnerabilities in the algorithmic structure of the target cryptosystem. making it to output faulty results. such as recovering a shared secret key. and Lipton [2]. Rafael Tonicelli 1 . an attacker can perform fault injections into the device by several ways: exposing it to heat or radiation. Anderson C. 70910-900. Hoch and Shamir [4] developed a systematic study about the vulnerabilities of stream ciphers in the fault analysis setting. increasing its external clock.br {tonicelli. and since then other significant results have been obtained. DeMillo. One of the goals of this paper is to fill this gap by presenting some practical fault attacks against 85 . Brazil carrijo@cepesc. These faulty results can later on be used by the adversary to derive secret information. Vin´ ıcius de Morais Alves1 1 Departamento de Engenharia El´ etrica. the adversary can induce faulty results into the device and use them to recover the stored secret key. Universidade de Bras´ ılia Campus Darcy Ribeiro.Fault Attacks against a Cellular Automata Based Stream Cipher Jos´ e Carrijo 1 .gov. Fault analysis was introduced by Boneh.andclay@ene.unb. In this context. By using this approach we provide extremely efficient and practical cryptanalytic methods: by injecting n/2 + n2 /32 faults we recover the n-bit secret key from a stream cipher based on cellular automaton rule 30. there are no published results about the use of fault attacks against cellular automata based stream ciphers.

6.4. Later. Rule 30 Stream Cipher Cellular automata theory describes. Specifically. Cellular Automata Based Stream Ciphers Wolfram [9.3. many other ciphers based on cellular automata were proposed [3. The adversary is allowed to run the device several times while provoking faults into chosen memory areas of the same device.2. The rule 30 is given by: t−1 t−1 −1 at OR at i+1 i = ai−1 XOR ai (1) 86 . A cellular automaton consists of a one-dimensional circular register of n cells. where each cell can present one of two possible states (values). Later analysis [5] showed that the cipher’s parameters initially proposed by Wolfram were too optimistic. 1. 10] was the first to notice the usefulness of cellular automata as stream ciphers major building blocks. 10] have exponential complexity. 7. how simple and well-defined rules can lead to complex structures.the aforementioned cryptosystem. fast. This is a widely used assumption in cryptography (known as chosen plaintext attacks) and is quite realistic as parts of the message (such as headers) are usually predictable by an attacker. These cells are updated in parallel in discrete time steps according to a next state function (or rule). We assume that the adversary has physical access to the device. The resultant encryption scheme is the so-called Rule 30 Stream Cipher. and low cost cryptosystems. the adversary is focused on attacking the physical implementation rather than the cryptographic algorithm. In his seminal paper [9]. in the fault analysis model. 1. The effectiveness of the proposed attacks demonstrates that fault analysis represents a major threat for cellular automata based ciphers. Moreover. Wolfram proposed the use of cellular automaton rule 30 as a keystream generator for a stream cipher. among other things. 1. It is claimed that the random properties of cellular automata could be used to implement secure. We also assume that the adversary knows small parts of the plaintext (thus obtaining also parts of the keystream). we consider that the adversary is able to apply bit flipping faults to either the RAM or the internal registers of the device. The proposed family of stream ciphers was very fast yielding efficient implementations in hardware and software. 8] but the overall goal was the same: to exploit the apparently simple rules and architecture of cellular automata for obtaining efficient ciphers. Let at i denote the value of the i-th cell at time t. The Attack Model Roughly speaking. 0 or 1. but no previous knowledge about the key. he/she can arbitrarily reset the cryptographic device and later induce other randomly chosen faults into it. however for appropriate key sizes all the known attacks against the cipher proposed in [9. simple. Wolfram pointed out that some rules used to define the temporal evolution of one-dimensional cellular automata generated seemingly pseudorandom behaviors.

e. The method is described below. the following assumptions are made: • The adversary knows a sequence of n/2 + 1 bits extracted from the register of the cryptographic device. If the t−1 attacker flips the bit ai and then recomputes the bit at i . It is possible to determine the two pairs of bits adjacent to the central column. as the attack goes on. for t = 1.1 −1 t−1 −1 at at i−1 ai i+1 x at x i = −1 t−1 at i−1 0 ai+1 x 0 x −1 t−1 t−1 t−1 This configuration is only possible if at i−1 = ai+1 = 1 or ai−1 = ai+1 = 0. This cryptanalytic technique is divided into 3 steps (or phases). This step consists of provoking a fault into the register for each known pair of bits.2 t−1 −1 −1 at at i+1 i−1 ai t x ai x = t−1 −1 at i−1 0 ai+1 x 1 x −1 t−1 t−1 This configuration is only possible if at i−1 = 0 and ai+1 = 1 or ai−1 = 1 and t−1 t = 0. STEP 1: Determination of the bits of the two columns adjacent to the central column.. −1 t−1 −1 at at i−1 ai i+1 x x at i Configuration 1. . of flipping their stored value. there will be two possibilities: −1 at i+1 t−1 t−1 • If at i = 1. . then ai−1 = 1 and ai+1 = 0 87 . As will be shown. n/2 + 1. we determine the bits of the two columns adjacent to the central column. .e. Fault Analysis of the Rule 30 Stream Cipher This section introduces our fault attack on the Rule 30 Stream Cipher. For sake of feasibility. we proceed with the determination of the bits on the right side of the central column. described earlier in section 1. he/she knows at i . then ai−1 = 0 and ai+1 = 1 t−1 t−1 • If at i = 0.. This sequence is stored in the central column of a matrix A • The adversary has the capability of changing the content of chosen areas of the register. then ai−1 = ai+1 = 1 t−1 t−1 • If at i = 1. then ai−1 = ai+1 = 0 Configuration 1. I. He/she can also reset the device. we determine the bits on the left side of the central column. i. In step 3. In the first step.2. there will be two possibilities: t−1 t−1 • If at i = 0. . If the attacker flips the bit ai and then recomputes the bit ai .4. In the second step. the actions taken by the cryptanalyst will depend on the observed configuration of the cells.

then ai−1 = 0 and ai+1 = 1 t−1 t−1 • If at i = 0. ai+1 −1 remains undefined. However. Configuration 2.4 −1 t−1 −1 at at i−1 ai i+1 x x at i = −1 t−1 at i−1 1 ai+1 x 1 x −1 t−1 This configuration allows one to immediately determine at i−1 = 0. δ }.Configuration 1. an adversary in possession of the bits {α. Configuration 2.1 −1 t−1 −1 at at i−1 ai i+1 t x ai x = −1 0 0 at i+1 x 0 x −1 • This configuration is only possible for at i+1 = 0. then ai−1 = 1 and ai+1 = 1 Configuration 1. there will be two possibilities: t−1 t−1 • If at i = 1. there will be two possibilities: t−1 t−1 • If at i = 1. δ } can determine the bit at i+1 by applying one fault into the register. We shall now analyze these 8 possibilities. then ai−1 = 0 and ai+1 = 0 STEP 2: Determination of the bits on the right side of the central column. α β x δ = −1 t−1 at i−1 ai x at i One can easily see that there are 8 different possibilities for the bits {α. β. If the attacker flips the bit ai and then recomputes the bit ai . ai+1 t−1 t remains undefined. then ai−1 = 1 and ai+1 = 0 t − 1 t−1 • If at i = 0.3 −1 t−1 −1 at at i−1 ai i+1 t x ai x = −1 t−1 at i−1 1 ai+1 x 0 x −1 t−1 This configuration allows one to immediately determine at i−1 = 1. Assume the following notation. β. If the attacker flips the bit at and then recomputes the bit at i i . However. Basing on −1 equation 1.2 −1 t−1 −1 at at i−1 ai i+1 x at x i = −1 0 0 at i+1 x 1 x 88 .

5 −1 t−1 −1 at at i−1 ai i+1 x x at i = −1 1 0 at i+1 x 0 x −1 • This configuration is only possible for at i+1 = 1.8 −1 t−1 −1 at at i−1 ai i+1 x at x i = −1 1 1 at i+1 x 1 x 89 . there will be two possibilities: t−1 • If at i = 1. Configuration 2.7 −1 t−1 −1 at at i−1 ai i+1 t x ai x = −1 1 1 at i+1 x 0 x −1 If the attacker flips the bit at and then recomputes the bit at i i . −1 t • If ai = 0.−1 • This configuration is only possible for at i+1 = 1.4 −1 t−1 −1 at at i−1 ai i+1 x at x i = −1 0 1 at i+1 x 1 x −1 If the attacker flips the bit at and then recomputes the bit at i i . Configuration 2. there will be two possibilities: t−1 • If at i = 1. −1 t • If ai = 0.3 −1 t−1 −1 at at i−1 ai i+1 x at x i = −1 0 1 at i+1 x 0 x • This configuration is not possible. Configuration 2. Configuration 2. Configuration 2.6 −1 t−1 −1 at at i−1 ai i+1 x at x i = −1 1 0 at i+1 x 1 x −1 • This configuration is only possible for at i+1 = 0. then at i+1 = 0. then at i+1 = 1. Configuration 2. then ai+1 = 1. then ai+1 = 0.

δ }. α β δ x = −1 t−1 at i−1 ai x at i−1 One can easily see that there are 8 different possibilities for the bits {α. an adversary in possession of the bits {α.2 −1 t−1 t−1 at i−2 ai−1 ai x x at i−1 = −1 at i−2 0 0 x 1 x −1 • This configuration is only possible for at i−2 = 1. Assume the following notation. Configuration 3. Configuration 3. Basing −1 on equation 1. δ } can determine the bit at i−2 without applying any fault into the register. Configuration 3. β. We shall now analyze these 8 possibilities. Configuration 3.4 −1 t−1 t−1 at i−2 ai−1 ai x at x i−1 = −1 at i−2 1 0 x 1 x −1 • This configuration is only possible for at i−2 = 0.1 −1 t−1 t−1 at i−2 ai−1 ai x x at i−1 = −1 at i−2 0 0 x 0 x −1 • This configuration is only possible for at i−2 = 0.• This configuration is not possible.3 −1 t−1 t−1 at i−2 ai−1 ai t x ai−1 x = −1 at i−2 1 0 x 0 x −1 • This configuration is only possible for at i−2 = 1 . Configuration 3. β.5 −1 t−1 t−1 at i−2 ai−1 ai x at x i−1 = −1 at i−2 0 1 x 0 x 90 . STEP 3: Determination of the bits on the left side of the central column.

t−1 t−1 −1 at OR at i = ai−1 XOR ai i+1 −1 In the first step of our attack. However.6 −1 t−1 t−1 at i−2 ai−1 ai x x at i−1 = −1 at i−2 0 1 x 1 x −1 • This configuration is only possible for at i−2 = 0. Bits to be determined 1 ait 1  1 1 ait 1 ait 1 1 t 1 ax i 1 t 1 ait ax i 1 Known cells Figure 1. −1 at i+1 . ai and ai . he/she has two variables and only a boolean equation (this initial configuration is displayed in figure 1).8 −1 t−1 t−1 at i−2 ai−1 ai x x at i−1 = −1 at i−2 1 1 x 1 x −1 • This configuration is only possible for at i−2 = 0. We also recall equation 1.. 91 .−1 • This configuration is only possible for at i−2 = 1. We recall that the attacker knows a sequence of n/2 + 1 cells. i. we explain in-depth why our fault attack on the rule 30 stream cipher works. 3.e.7 −1 t−1 t−1 at i−2 ai−1 ai x at x i−1 = −1 at i−2 1 1 x 0 x −1 • This configuration is only possible for at i−2 = 1. Configuration 3. The main idea is simple and quite intuitive. Configuration 3. Initial configuration. Configuration 3. Further Explanation on the Rule 30 Stream Cipher Fault Analysis In this part. the cryptanalyst intends to discover the values at i−1 t−1 t and given the values that he/she knows. which are located on the central column of a matrix A.

there are (1/2) × [(n/2) × (n/2)] bits. at = b. So. i i where b is the complementary value of b. the fault injection at = b and after this. The action performed is illustrated in figure 2.Our fault analysis capabilities allow the cryptanalyst to obtain another boolean −1 equation by flipping the bit at and observing the new value assumed by at i i after the fault injection. bef ore af ter Bit to be flipped Flipped bit 1 ait 1 t 1 ax i 1 a  ax t B i F t 1 1 1 1 b ai  Fault Injection 1 ait 1 t 1 i 1 t 1 ax i 1 a  ax t A i F t 1 1 1 1 b ai  t 1 i 1 Observe modified value Figure 2. at the end of this action. Steps 2 and 3 are trivial. and. because. At step 2. At step 3. step 2 requires n2 /32 faults. It is easy to find the solution for this system. no faults need to be realized. Before. So. as explained previously. Regarding the complexity of the attack. Number of Faults Rule30 = n2 n + 32 2 92 . At step 1. on average. we have equation with only one variable to be determined. Illustration of step 3 configuration. usually. and we hardly have to perform a flip action. respectively. Illustration of the main idea involved in the first step of our attack. the cryptanalyst will have a simple system of the form:  t−1 t−1 t bef ore    [ai ]f lipping = ai−1 XOR b OR ai+1 (2)    [at ]af ter = at−1 XOR b OR at−1 i−1 i+1 i f lipping t t where [at i ]f lipping and [ai ]f lipping denote the values observed at cell ai before and after the −1 −1 fault injection.25 fault for each bit to be determine. Bit to be determined t  11 1 a t 1 a ait ait i1 2 ai 1 t 1 i 2 Known cells t 1 t 1 ax ait1 ax i 1 i 1 Figure 3. Figure 3 suggests that. it is easy to obtain an estimation on the number of faults required to break the cryptosystem. Thus. we provoke n/2 fault injections to determine the two pairs of bits adjacent to the central column. we provoke 0.

240–253. Lecture Notes in Computer Science vol. pp. IEEE Transactions on Computers. A New Cryptanalytic Attack on DES: Differential Fault Analysis. Hock and Adi Shamir. the cryptanalyst should inject 27 +211 faults and know (256/2)+1 = 129 bits of the generated sequence. Pal Chaudhuri. Advances in Cryptology – EUROCRYPT 1991. the operations required to implement the attack are simple (comparisons and fault injections) and can be performed by any unsophisticated computational system. Their statistical technique allows one to determine secret keys with lengths varying between 300 and 500 bits by using personal computers. To obtain a key of 1. 186–199. On the Importance of Checking Cryptografic Protocols for Faults. we have shown how devastating fault analysis can be when applied to some of those cryptosystems. Besides that. On the other hand. However. only n/2 + n2 /32 fault injections and a sequence of n/2 + 1 bits. Nandi. 29 + 215 fault injections and 512 known bits are needed.K. [3] A. 2007 [4] Jonathan J. For instance. [5] Willi Meier and Othmar Staffelbach. Par. 2004. Faut Analysis of Stream Ciphers. high performance cryptographic devices. 4.1346-1357. Application of Linear Hybrid Cellular Automata to Stream Ciphers. Springer-Verlag. However. it is claimed that the recovery of secret keys of 1. vol 43. Fault Analysis Effect on Rule 30 Stream Cipher One of the most known cryptanalytic techniques against the rule 30 stream cipher was proposed by Meier and Staffelbach [5]. Theory and Application of Cellular Automata in Cryptography. to obtain a secret key of 256 bits. Adi Shamir.3. Issue 12. EUROCAST 2007. References [1] Eli Biham. Lipton.000 bits would demand the use of large scale parallel computers. Richard A. [2] Dan Boneh. Conclusions Cellular automata based stream ciphers were designed to respond to the increasing need of fast and low-cost cryptographic mechanisms. 564-571. [6] S. P. Lecture Notes in Computer Science vol. pp. Lecture Notes in Computer Science vol. This amount of operations can be performed by any personal computer equipped with current technology.1. B. P. Our fault attack against the rule 30 stream cipher needs. It is an interesting future research direction to see how well the results introduced here apply to other ciphers designed for low-cost. Lecture Notes in Computers Science vol. Pazo-Robles. Preprint. Caballero-Gil and M. May 1997. 37–51. 547. Fuster-Sabater. in order to determine a secret key of length n. the attack based on fault analysis assumptions has proven to be efficient and feasible for a large set of key lengths. 1994 93 . Springer-Verlag. October 1996.E. CHES 2004. pp. pp.024 bits. Springer-Verlag. 1991.1233. Analysis of Pseudo Random Sequences Generated by Cellular Automata. pp. 4739. 3156. Advances in Cryptology – EUROCRYPT 1997. DeMillo and Richard J.

151-160. Wolfram. Vol. Bouvry and A. Proceedings. P. 753-766. vol 1. pp. 1986. pp. Wolfram. [10] S. Zomaya. 2004. 30.CRYPTO 1985. Springer-Verlag.[7] F. Seredynsky. Issue 2. Applied Soft Computing. 94 . pp. 123–169. pp. Cryptography with Cellular Automata. [9] S. 2001. Tomassini and M Perrenoud. Advances in Applied Mathematics 7. 429–432. Random Sequence Generation by Cellular Automata. [8] M. Advances in Cryptology . Cryptography with Cellular Automata. Issues 5-6. Cellular Automata Computations and Secret Key Cryptography. Parallel Computing. 1986.

our construction allows smaller public and secret keys by applying the use of ideal lattices. 2010]. the Prover makes used of the knowledge of a secret key. We use the hardness of the Inhomogeneous Small Integer Solution problem as security basis. as seen in the seminal work from Ajtai [Ajtai 1996]. with worst to average-case reduction. In order to accomplish such goal. our scheme has the good features of having a zero-knowledge security proof based on a well known hard problem of lattice theory. 3 1. 2008] and [Cayrel et al. The former is expected to establish the validity of its identity to the latter.unicamp. An interesting feature of some lattice-based systems in Cryptography. Richard Lindner3 1 State University of Campinas (UNICAMP) Institute of Computing rasilva@ic.de – Germany Abstract. Lattice-based instantiations of this kind of protocol have recently been proposed: [Lyubashevsky 2008]. lowering the number of values exchanged between the prover and the verifier.Zero-knowledge Identification based on Lattices with Low Communication Costs Rosemberg Silva1 .cayrel@univ-st-etienne. We also dealt with nonces in zero-knowledge schemes in a new way. A common realization of such schemes comes in the form of protocols between two entities called Prover and Verifier. The application of zero-knowledge constructions helps to ensure that no information about such key is leaked as the protocol is performed. In this paper we propose a new 5-pass zero-knowledge identification scheme with soundness error close to 1/2.br – Brazil 2 Laboratoire Hubert Curien Universit´ e de Saint-Etienne pierre-louis.tu-darmstadt.informatik. 95 . [Kawachi et al. Introduction Identification schemes are cryptographic tools applied to provide access control. is the possibility of allowing reductions from wost-cases to averagecases of well known hard problems. Our protocol achieves lower communication costs compared with previous lattice-based zeroknowledge identification schemes. Besides. We allow the prover to possess several pairs of secret and public keys. In the present work we use some of these results and propose an identification scheme that achieves better communication costs. Hence. that is connected to its identity. and small size of secret and public keys. The only knowledge gained by the Verifier is that the claim made by the Prover about the possession of the secret key is valid with overwhelming probability. and choose randomly which pair is to be used in a given round of execution. Pierre-Louis Cayrel2 .fr – France Technische Universit¨ at Darmstadt Fachbereich Informatik Kryptographie und Computeralgebra rlindner@cdc.

In addition to that. Our proposal reaches a communication cost better than CLRS’. we provide a detailed description of the algorithms from which our scheme is composed in Section 3.There is an standard construction of signature schemes from identification schemes through the usage of the Fiat-Shamir heuristic. 2. The best zero-knowledge identification scheme in term of communication cost. Among the good characteristics that our system possesses we stress the resilience to existing quantum attacks. the CLRS scheme has soundness error of (q + 1)/q . Comparison with lattice-based ID schemes. considering that it is based on q -ary lattices over Zq .50 23. 2008] CLRS [Cayrel et al. Given that we are working with q = 257. The concepts necessary to the understanding of our construction are are presented in Section 2. on their turn. [Kawachi et al. Preliminaries Notation. Scalars. where we consider a scenario with an overall soundness error of 2−16 . After that. It is of pivotal importance. we give the proofs for the zero-knowledge properties that our scheme possesses. and make the assumption that all the random choices involve the use of seeds that are 128 bits long. Our identification scheme employs a string commitment scheme that possesses the properties of computationally binding and statistically hiding. This paper is organized as follows. however. that the communication costs of the identification scheme be small in order to have efficient conversion. our scheme has soundness error 1/2 + 1/k 2 . Security Model. we discuss the choice of parameters in Section 4 and future lines of investigation in Section 5. Scheme Lyubashevsky [Lyubashevsky 2008] Kawachi et al. the relatively small soundness error per round and the algorithm that prevents exchange of large vectors enables to achieve small communication costs in contrast to other latticebased solutions. 2010]. For a setting applying k pairs of keys.40 Table 1. [Kawachi et al. when no computationally unbounded adversary can distinguish two commitment strings generated from two distinct 96 . Then. are represented with regular characters. For last. 2010] Ours Rounds Total communication [Kbyte] 11 27 17 17 110. Along the text we use bold capital letters to denote matrices and bold small letters to indicate vectors. secure under the random oracle model [Fiat and Shamir 1986]. it suffices to run 17 rounds of the protocol in order to reach such goal. 2008] and [Cayrel et al.67 37. like Shor’s [Shor 1994].00 58. We also assume that a trusted party honestly sets up the system parameters for both the Prover and the Verifier. Then. it also requires 17 rounds in order to satisfy the requirement regarding overall soundness error. A commitment scheme is said to be statistically hiding. such as those seen in [Lyubashevsky 2008]. This is conveyed by the Table 1.

We show that our construction is resilient to concurrent attacks. Definition 2. decision and approximation [Micciancio and Goldwasser 2002]. with polynomially many different instances of the prover. Zero-Knowledge. We assume that the norm used throughout this document is max-norm. Thus. they have their own independent state. As commonly happens in the study of computational complexity. Lattices correspond to discrete additive subgroups of Rm . On input a prime q . On input a lattice basis B ∈ Zm×n . if no polynomial-time adversary can imperceptibly change the committed string after sending the corresponding commitment. It is computationally binding. a positive real number ×m b. 97 . one can express the problem above as optimization. Definition 2.2 (Short Integer Solution. associated with a lattice basis. Besides. Given two basis B1 and B2 for the same lattice. with x ≤ b. SIS). but use different random coins. there is a unimodular matrix U such that B1 = B2 U.1 (Search Shortest Vector Problem. we allow the adversaries act as cheating verifiers prior to attempting impersonation attacks. there exist the following kinds of zero-knowledge : – Perfect: if the simulator and the real proof produce communication tapes with exactly the same distribution. Lattices. Such basis is not unique. Such instances share the same secret keys in each round. There are hard problems defined over lattices that can be used as security assumptions in the construction of cryptographic schemes. the short integer solution (SIS) q problem is defined as the task of finding a non-zero vector x ∈ Zm such that Ax = 0 (mod q ). • Soundness: no false theorem can be proved. We list below the problems that are related to the identification scheme proposed in this paper. a matrix A ∈ Zn . Given a basis B. the corresponding lattice is generated by all combinations of vectors in B with integer coefficients. – Computational: if no efficient algorithm can distinguish the communication tape produced by the simulator from that corresponding to the real protocol. One can represent them by means of a basis B composed of n ≤ m linear independent vectors in Rm . • Zero-Knowledge: nothing but the truthfulness of the statement being proved is revealed. According to [Goldwasser et al.strings. we call zero-knowledge proof of knowledge that x belongs L a protocol with the following properties: • Completeness: any true theorem to be proved. the computational shortest vector problem (SVP) is defined as the task of obtaining a non-zero lattice vector Bx satisfying Bx ≤ By for any other y ∈ Zn \ {0}. 1985]. SVP). Given a language L and one of its words x. – Statistical: if the simulator and the real proof produce communication tapes whose statistical distributions are negligibly close.

V is the verifier algorithm taking inputs parameters and pk. Ajtai first showed how to use computationally intractable worst-case lattice problems as building blocks for cryptosystems. . xm ) ≤ b. . assuming the hardness of approximating SVP in all ˜ (n2 ). the ring Rf = Z[x]/ f . . we define Ideal-SIS the problem of finding x1 . Working towards making lattice-based schemes practical.The SIS has served as security assumption in several cryptographic schemes with worst-case connections. 2008]. By applying ideal lattices. . Definition 2. By weakening the security assumplattices of dimension n to within a factor of O tion. Ideal Lattices. there is also a gain in performance. instead. . In this later work. xm ∈ Rf satisfying m i=1 ai xi = 0 (mod q ) and 0 < (x1 . Definition 2. For example. . with space that grows quasilinearly in the lattice dimension [Micciancio 2007] through cyclic lattices. improved the results from Kawachi Gap-SVP or SVP within factors O in the CLRS scheme [Cayrel et al. in [Kawachi et al. They correspond to the ideals of some polynomial quotient ring. In [Ajtai 1996] and [Ajtai and Dwork 1996]. challenge. 2010]. A variety of hard problems associated with lattices has been used as security basis in a number of cryptographic schemes. and m elements a1 . am ∈ Rf /qRf . .4 (Ideal-SIS). the authors suggest to use approximate ˜ (n). Both SIS and SVP restricted to ideal lattices still keep the worst-case to averagecase connection. the storage needs for characterizing a basis is n2 log(q ) bits. and thus public keys. Given a monic polynomial f of degree n. on the other hand. . pk). as seen in the identification scheme proposed by Kawachi et al. however. P. answer} that enables P to convince V about the knowledge of sk. There is a particular class of lattices that are closed under ring multiplications. given that matrix/vector multiplications can be performed in time O(n log(n)) using discrete FFTs. . Lyubashevsky’s identification scheme is secure under active attacks. P is the prover algorithm taking input sk. achieving compression functions that are both efficient and provably secure assuming the hardness of worst-case lattice problems for ideal lattices [Lyubashevsky and Micciancio 2006]. one can achieve parameters small enough to make a practical implementation feasible. this value can be reduced to n log(q ) bits. 98 . V ) be an identification scheme. Besides the gain in storage. For lattices of rank n and entries from Zq . .3 (Ideal lattices). The parameter sizes involved. . Further improvement was obtained in conjunction with Lyubashevsky. Let f be a monic polynomial of degree n. We say that such scheme is a canonical identification scheme if it is a public-coin 3-move protocol {commitment. Micciancio showed that it is possible to represent a basis. where K EY G EN is the key-generation algorithm which on input parameters outputs (sk. are not small enough to enable practical implementations. Canonical identification schemes Let the tuple (K EY G EN. provided that f is irreducible over the integers. We call L is an ideal lattice if it corresponds to an ideal I in the ring Z[x] / f . Cayrel et al. .

Key generation algorithm. Its security relies on the collision-resistance property of a hash function h and the hardness of the syndrome decoding problem. s is a private binary vector of Hamming weight p. Given that the schemes we have seen are dealing with codes. In the same paper Stern proposed some variations of the protocol. was proposed by Stern [Stern 1993]. where the private key is sk. aiming to prove the knowledge of the secret key. the protocol has to be repeated a number r of rounds. . namely ideal lattices (which allow a very compact representation. C OM)). $ $ Figure 1. [Aguilar et al. Given the small norm q of the private keys. from performance standpoint. in order to reach a confidence level L on the authenticity of the prover. In 1990. we point out that a combination of these two approaches (and the one from Aguilar et al. . but it was broken by V´ eron in 1995 [V´ eron 1995]. In addition to that. and identification protocol. . 2011]) can be used in the lattice context. The second algorithm corresponds to the identification protocol. A. and the public key is pk. the Verifier 99 . It engages in a zero-knowledge protocol with a verifier. The entity to be authenticated possesses a pair of keys (i. This fact will be used later on to establish the concurrent security of our scheme. m. in order to satisfy 1 − (2/3)r ≥ L. To a given user we have associated k distinct pairs of keys. . Hamming weight p and disjoint supports. The first code-based identification scheme was proposed by Harari in 1989 [Harari 1988]. The corresponding public keys are obtained by multiplication ×m of the private key by a uniformly chosen matrix A ∈ Zn . it is still computationally intractable to derive them from the public data for a suitable choice of parameters with algorithms known to this date. and i is its public syndrome. without revealing its value. as efficient as double-circulant matrices) for an identification scheme structure with soundness error of 1/2. Gaborit and Girault’s Identification Scheme Another scheme suggested by Gaborit and Girault requires smaller storage for public data [Gaborit and Girault 2007]. . 1}m . In a given round of execution. . though. K EY G EN: ×m A← − Zn q Compute x = {x1 . pk) = (x. xk } and y = {y1 . Such task corresponds to the inhomogeneous SIS problem. suitable family of commitment functions Output (sk. The first practical code-based identification scheme. In our work. 3. Girault devised a three-pass scheme [Girault 1990]. s) related by i = HT s. This implies that. Identification Scheme Our scheme is comprised of two algorithms: key generation. yk } where $ xi ← − {0. q are public. Neither of those schemes was practical. The idea applied by Gaborit and Girault was to use double-circulant matrices for a compact representation. with Hamming weight p and 1 ≤ i ≤ k yi ← − Axi mod q with 1 ≤ i ≤ k C OM ← − F . The first picks uniformly at random k binary vectors with length m. The most efficient in terms of communication costs had soundness error of 2/3. where H is a public parity check matrix of a given code. this usually implies that a generator matrix or a parity check matrix is needed to fully characterize them. we manage to have the lowest communication costs and lowest public data storage needs. several valid private keys correspond to a given public key. parameters n. from performance perspective.Stern’s Identification Scheme. . . (y. With this.

c2 − − − − − − − − − − − − → s. u + xs + xt mod q.σ ← u← − σ −1 (u∗ ) r3 r1 r2 c1 ← − ← − ← − ← − $ $ $ Verifier V (pk) c1 . depending on the challenge received from the Verifier. t $ ← − − − − − − − − − − − − s. k} c3 c3 ← − C OM(σ (xs + xt + u) mod q . C OM)) ← − K EY G EN − Sm − Zm u∗ ← q . r1 ) c3 = C OM(σ (xs + xt + u) mod q . When performing operations over the private keys. . r2 ) c1 = C OM(σ ? ? {0. r3 If b = 0: − − − − − − − − − − − − → Check r1 ← − σ (r3 ) c2 ← − C OM(u∗ . whose security is based on SIS. . we first randomly choose its image u∗ . Regarding the computation of the blinding vector u. This is the point where the improvement in terms of communication costs regarding CLRS becomes more evident. r3 ) − − − − − − − − − − − − → Challenge b $ ← − − − − − − − − − − − − b← − {0. pk) (sk. 2008]. 1} σ. either by applying a random permutation (σ ) or by performing the bitwise logical AND with the appropriate number of bits of the permutation of a randomly chosen vector (u). . we obtain u ←− σ −1 (u∗ ). We can chose r3 because c3 is the common commitment that is checked for both possible values for the challenge b. This choice enables to. t ← − {1. the Prover would give to the Verifier all the seeds needed to reconstruct the nonces ri . r1 ) A(u + xs + xt ) − ys − yt . When replying to the challenges. The other two nonces may be obtained by performing operations involving the first one. r3 ) Else: u∗ . This is applied in the demonstration of the zero-knowledge property of our scheme. pk) = (x. the Prover uses blinding factors in the form of permutations and vector sums with modular reduction. given that its statistical distribution is uniform. Both the permutation and the vector to be added to the private keys are uniformly randomly chosen. In order to help in the reduction of communication costs. As seen with CLRS and SWI- 100 . . send ∗ only a seed to reconstruct the value of u by the Verifier. Then. We are making the assumption that the utility function to derive them from the seeds are publicly known. Identification protocol picks two pairs of keys that the Prover is supposed to use for the interactive proof. the nonces that are used in conjunction with the C OM functions can be generated in such a way that only one of the three values ri is chosen uniformly at random. observing the outcome does not reveal any information about the private key value. 1}m σ (r3 ) u∗ &r3 C OM(σ Au. r2 ) c3 = C OM(σ (xs + xt ) + u∗ mod q ). instead of replying the challenge b = 1 with a vector in Zm q . Hence. For instantiating the commitment scheme C OM. A. r3 − − − − − − − − − − − − → Check r2 ← − u∗ &r3 c2 = C OM(u∗ . instead of sending matrices and vectors that define them. The Prover also sends the seeds for computing σ and u∗ .Prover P (sk. σ (xs + xt ). (y. using the seed of the permutation σ . r3 ) σ (xs + xt ) is binary with Hamming weight 2p ? ? Figure 2. we recommend Kawachi’s [Kawachi et al.

1. Security We provide below proofs for the completeness. To prove the zero-knowledge property of our protocol. . 1}m . obtaining as response the first challenge {s. without sacrificing security. t}. k }.. c2 } and passes them to the verifier V . Completeness Given that an honest prover has knowledge of the private keys xi .FFT. He can also show that the private keys in his possession has the appropriate Hamming weights.1. The simulator prepares to answer the second challenge b by guessing its value ˜ b picked uniformly at random from {0. the verifier will always accept the honest prover’s identity in any given round. passing the commitments c1 and c2 . r3 } as per protocol. Proof. produces a communication tape that is statistically indistinguishable from a tape generated by the interaction between an honest prover P and the given verifier V . This implies perfect completeness.1. . σ and the nonces {r1 . If ˜ b = 0. it repeats the process. r) is indistinguishable from uniform for a uniform r ∈ {0. Let q be prime. for i ∈ {1. computes the commitments {c1 . r2 . it computes commitment c3 and passes it to the verifier. if the employed commitment scheme C OM is statistically-hiding. i. The computations of each commitment are executed as follows. as an oracle. The construction of such simulated tape is described below.1. If b and ˜ b match. soundness and zero-knowledge properties of the identification scheme described in Figure 2. the blending mask u and the permutation σ . which responds with a challenge {s. Here. 1}. and produces the corresponding commitments c1 and c2 . given oracle access to a verifier V (not necessarily honest). we require the commitment function C OM to be statistically hiding. .2. We use as assumptions the fact that the string commitment scheme C OM is a statistically hiding and computationally binding commitment scheme. 3. So. Then. The simulator solves the equations Axt = yt (mod q ) and Axs = ys 101 . he will always be able to derive the commitments c1 . It accesses the verifier. we construct a simulator S that.1. Theorem 3. obtaining the final challenge b. Zero-Knowledge We give a demonstration of the zero-knowledge property for the identification protocol shown in Figure 2. The protocol described in Figure 2 is a statistically zeroknowledge proof of knowledge that the prover knows a set of k secret binary vectors xi of Hamming weight p that satisfy Axi = yi mod q . . and also that the inhomogeneous SIS problem is hard. C OM(x. the application of ideal lattices can bring improvement in performance and storage needs. V ) in order to reach a specified value for the overall soundness error L. The number of rounds recorded r corresponds to what would be expected from a real pair (P.e. Otherwise. the simulator records the interaction in the communication tape. 3. 3. and reveal to the verifier the information necessary to check that they are correct. the simulator selects u. t}. c2 and c3 .

sends them to the verifier. for any > 0. The whole set of data exchanged between the simulator and the verifier is recorded. σ and the nonces {r1 . It suffices that c2 and c3 can be reproduced by the verifier. Such step is not computationally hard. and gets the final challenge as response. or the binding property of the commitment scheme C OM is broken. r3 } to the verifier. j ∈ {1. The first one is to have the arguments from which the commitments assuming different values for the two challenges. In case the final challenge matches the guessed value. c2 . corresponding to the reception of the two possible values for the challenge b. given that this will not be used to check the validity of the commitments.3. We follow the same strategy as V´ eron [V´ eron 1996] for reasoning about trees that model the probability space corresponding to the execution of the protocol. It selects u. If it matches the value to which the simulator had prepared to answer. Proof. the whole interaction of this round is recorded. we can find with overwhelming probability a node with two sons in the execution tree associated with the protocol between the cheating prover and the verifier. It computes the commitments {c1 . without any restriction regarding the norm of the solution. the simulator produces a communication tape statistically indistinguishable from a real one.1. . after 2r rounds in average. and that the surrogate private keys xt and xt have Hamming weight p. without having to satisfy the restrictions Axs = ys mod q and Axt = yt mod q . the simulator computes c3 according to the protocol and sends it to the verifier. c3 .(mod q ) for xt and xs . Then. u + xs + xt mod q. 3. which is a polynomial time probabilistic Turing machine that computes with overwhelming probability the sum of two private keys xi and xj . sends it to the verifier. either there is a knowledge extractor. If after r rounds of protocol execution a cheating prover is accepted with probability at least (1/2 + 1/k 2 )r + . Again. The deviation in c3 is not recognized because C OM is statistically hiding. The simulator computes commitment c3 . 102 . then it reveals the values {σ. such deviation is hidden by C OM. k }. by rewinding this prover a number of times given by 1/ . however. in case the guessed challenge is correct. obtaining the answer t as result. There are two possibilities for him to accomplish this. uniformly at random. the simulator does not record anything and prepares for a new round by picking another ˜ b uniformly at random and restarts the process. . provided that C OM is statistically hiding. If there is not a match between b and ˜ b. or higher. and can be done in polynomial time. Upon receipt of c3 the verifier responds with the final challenge b. which are solutions to instances of the inhomogeneous SIS. the simulator picks xt and xt uniformly at random as a binary vectors of dimension m. With these pseudo secret keys xt and xs . . Then. This means that such cheating prover will be able to answer all challenges for a fixed set of commitments c1 . with i. Otherwise. namely ˜ b. c2 }. r3 } according to the protocol. As a result. Hamming weight p and disjoint supports. Let us suppose that a cheating prover can be accepted with such probability as (1/2 + 1/k 2 )r + .2. r2 . r1 . the simulator needs to play against the second verification branch. Soundness Theorem 3. If ˜ b = 1. . the simulator picks another ˜ b and restarts the process.

we will have necessarily a non-empty intersection with the support set of the next pair sum. Security and Performance Considerations The application of ideal lattices in this identification scheme can lead to improved and reduced memory footprint for public data. Then. similarly to what was done with SWIFFT hash function [Lyubashevsky et al. The keys are related via mapping through the matrix A. This helps to ensure that finding short vectors in this kind of lattice remains hard to achieve. we can use the fact that private keys are binary vectors with constant Hamming weight p. and that the other two nonces are computed as r1 ←− σ (r3 ) and r2 ←− σ (u) & r3 . Then. 2008].but with similar images through the application of the function C OM.2. The second possibility is that the arguments to the function C OM match. these choices can not be distinguished from what would have been obtained. we make the assumption that the distributions of r1 . by performing faster matrix vector multiplications with FFTs. we can obtain the sum of the private key xs + xt as σ0 (σ1 (xt 1 + xt 1 )). we can retrieve the other two remaining private keys. Such intersection corresponds to the support set of a single key. as suggested in [Lyubashevsky and Micciancio 2006]. provided that r3 is randomly chosen from {0. This whole process can be executed over polynomially many key sums. In the security proofs above. This also means that we solved an arbitrary inhomogeneous SIS instance in probabilistic polynomial time. when the parameters are chosen in such a way that the pre-image set given by the private keys is much larger than the image set to which the public keys belong. 103 . 1}n . The usual restrictions regarding the choice of irreducible polynomials in the characterization of the ideal lattice. Then.3. This is a consequence of the fact that a public key corresponds to multiple secret keys. Let us call σ (u1 ) and σ1 (xs 1 + xt 1 ) the answer to the challenge −1 b = 1. violating our assumption that such problem is hard. after finding k pair sums. 1}n . Besides. in order to avoid known attacks. Our scheme is also secure against concurrent attacks. had r1 and r2 been directly picked at random from {0. applying an XOR operation between each partially colliding sum and the recently computed key. as discussed in [Lyubashevsky and Micciancio 2006]. so that all the individual private keys can be recovered. Communication Costs This identification scheme can benefit from the use of ideal lattices. given that C OM is statistically-hiding. r2 and r3 are uniform. Let us call σ0 and u0 + xs 0 + xt 0 the values revealed by the cheating prover upon receipt of the challenge b = 0. 3. 3. given that a collision was found. This implies a violation of the binding property of the commitment scheme. it can be uniquely determined from its support set. The associated polynomial must be irreducible and with small expansion factor. using the pigeon hole principle. In order to do that. as well as its expansion factor must be observed. Given that the key is binary. The ability to find the sum of two arbitrary private keys also implies the ability to obtain each of the individual keys corresponding to such sum.

We provide below a comparison in terms of communication costs per round. based on SIS was recently proposed by Cayrel et al. We are assuming that the seeds used to generate random elements in the protocol are 128 bits wide. In similarity with CLRS. which is an average between – case challenge is 0: ∗ one permutation seed: 128 bits ∗ one vector in Zm q : m log2 q bits ∗ one seed for the nonce r3 : 128 bits – case challenge is 1: ∗ one seed for reconstructing the vector u∗ ∈ Zm q : 128 bits ∗ one vector in {0. we choose the parameters such that with overwhelming probability that there are other solutions to Ax = y mod q besides the private key possessed by the Prover.[Cayrel et al. • • • • Commitments: 768 bits. This does not change with the application of ideal lattices either. Given that the C OM function adopted is also based on SIS [Kawachi et al. named CLRS. corresponding to three commitment vectors. the total communication costs in bits per round of the protocol can be expressed as m m log2 q + 2 log2 k + + 1025. Attacks on the security assumptions An attacker might try to break our scheme either by finding collisions in the C OM function at will or by computing solutions to the SIS instances corresponding to the scheme. q and m are chosen in such a way that the cardinality of set of the private keys is much bigger than the cardinality of set of the 104 . It possesses a soundness error of (q + 1)/2q per round. The overall cost for a scenario demanding soundness error of 2−16 is listed in Table 1. In order to reach this goal. 2008]. with vectors of dimension √ m and approximation factor m. one can see that our scheme improves the state of art (CLRS) in approximately 38%. this implies the ability of successfully finding solutions for SIS defined over Zq .Another efficient identification scheme. and that the commitment function C OMprovides results that are 256 bits wide. implies the capacity to find vectors with max-norm 1 in arbitrarily chosen lattices. First challenge: 2 log2 k bits Second challenge: 1 bit Answer to the second challenge: (m/2) log2 q + m/2 + 256. Neither of these attacks can be efficiently implemented with tools and techniques currently available. From there. Breaking our instances of inhomogeneous SIS. 1}m : m bits ∗ one seed for the nonce r3 : 128 bits Thus. we have the 11275 bits per round. 2010]. which is slightly higher than ours. namely 1/2. 2 2 Making the substitution of the parameters used in a concrete implementation. Such small difference plays an important role in terms of performance as depicted in Table 1. This fact is of great importance for obtaining security against concurrent attacks. 4. Our identification scheme exhibits the following message exchanges between the prover P and the verifier V .

preprint. As future work. we suggest the parameters listed in Table 2. but such operation can be executed at setup time. (2010). A new zero-knowledge code-based identification and signature scheme with reduced communications. Electronic Colloquium on Computational Complexity (ECCC).. 3(65). Springer. Improved zero-knowledge identification with lattices. We are primarily concerned with the payload exchanged between the Prover and the Verifier. M. Parameters for Lattice Instantiation 5. C. As an instantiation with 100 bits of security. the Verifier has to load the set of public keys before the execution of the protocol from the trusted party that generates the keys. (2011). our private keys have norm below of what the best lattice reduction algorithms can obtain. R. References Aguilar. which is important for constrained devices. without weakening the security properties. Cayrel. Generating hard instances of lattice problems. 105 . C. P.public keys. The best combinatorial attack for finding short lattice vectors to this date. This ensures that the system has the property of witness indistinguishability. and Dwork. and Silva. which are comparable to those used by the SWIFFT hash function and the CLRS identification scheme. has a computational complexity above 2100 for such set of parameters. R¨ uckert. volume 6402 of Lecture Notes in Computer Science. pages 1–17. In Provable Security. such as LWE (learning with errors) which has a formulation very close to that of error-correcting codes. (1996). We chose the parameter k as 24 so that the soundness error per round be approximately the same as that of CLRS. J. Ajtai. This can help in preserving bandwidth and battery time. and Shreck.. k n m q C OM Length (bits) 24 64 2048 257 256 Table 2. Naturally. which is kept under parallel composition. This represents an extra cost when compared to CLRS.-L. we suggest an extension of this approach of replacing security assumptions used by cryptographic schemes to other hard problems in lattices. (1996). Ajtai. Conclusion and Further Work We have shown in this paper a construction of a lattice-based identification scheme with worst-case connections. M. devised by Wagner [Wagner 2002]. Further improvements in computational costs can be obtained with the application of ideal lattices. Lindner. R.. taking as starting point a code-based scheme. P.. In addition to that. Electronic Colloquium on Computational Complexity (ECCC).. Its small soundness error results in lower communication costs than those from other lattice-based constructions over the I-SIS or SIS problems. 3(7). M. Gaborit. A public-key cryptosystem with worst-case/average-case equivalence.

(1993).. SpringerVerlag. R. FSE. pages 265–272. Generalized compact knapsacks are collision resistant. (2008). A new identification scheme based on syndrome decoding. Lyubashevsky. Sassone. CRYPTO. editor. Coding Theory and Applications. Lyubashevsky. (1994). page 289. D. and Wolfmann. A. pages 372–389... volume 388 of Lecture Notes in Computer Science. B. volume 773 of Lecture Notes in Computer Science. Springer. Stern. I. S. V. volume 263 of Lecture Notes in Computer Science. Girault. and Xagawa.. and Girault. (1995). G. pages 144–155. Springer. Kawachi. In Cohen. A. Springer. pages 186–194. J. A (non-practical) three-pass identification protocol using coding theory. In Cramer. Goldwasser. Harari. pages 91–105. editor. pages 186–194.. editor. Public Key Cryptography. P. (2002). Polynominal time algorithms for discrete logarithms and factoring on a quantum computer..Fiat. In Bugliesi.. pages 162–179... (2007).. volume 453 of Lecture Notes in Computer Science. volume 877 of Lecture Notes in Computer Science. Micciancio. In Stinson. Springer. ICALP (2). and efficient oneway functions. J. M. Gaborit. IEEE Transactions on Information Theory (ISIT). and Goldwasser. S. Berlin. Complexity of Lattice Problems: a cryptographic perspective. Springer. J. volume 1025 of Lecture Notes in Computer Science. and Pieprzyk. P. V´ eron. Boston. Springer. Kluwer Academic Publishers. (2008). and Rosen. D. and Shamir.. D. Shor. L. M. page 304. editors. S. Lattice-based identification schemes secure under active attacks. volume 4052 of Lecture Notes in Computer Science. M. editors. volume 671 of The Kluwer International Series in Engineering and Computer Science. pages 54–72. K. The knowledge complexity of interactive proof-systems. pages 264–269. and Wegener. In Proceedings of the seventeenth annual ACM symposium on Theory of computing. Micali. V. (2006). A. M. M. volume 5086 of Lecture Notes in Computer Science. Springer. ACM. In ASIACRYPT ’08: Proceedings of the 14th International Conference on the Theory and Application of Cryptology and Information Security.. and Rackoff. R. editor. volume 4939 of Lecture Notes in Computer Science. Micciancio. AUSCRYPT. In Computational Complexity. A new authentication algorithm. (2008). In Adleman. Peikert. Generalized compact knapsacks. Springer. editors. How to prove yourself: Practical solutions to identification and signature problems. cyclic lattices. W. D.. In Seberry. In Nyberg. ANTS. Cryptanalysis of harari’s identification scheme.-D. J. Springer. A. Lyubashevsky. IMA Conf. and Huang. and Micciancio. Swifft: A modest proposal for fft hashing. In Boyd. D.. V.. (1985). Springer. Massachusetts. V. C. (1990). editor. K. Concurrently secure identification schemes based on the worst-case hardness of lattice problems. (2007). A. 106 . Lightweight code-based identification and signature. D. C. In Odlyzko.. C.. M. S.. Micciancio. A. P. Heidelberg. editors. pages 13– 21. K. (1986). Tanaka.. CRYPTO.. (1988). Preneel.

V´ eron, P. (1996). Improved identification schemes based on error-correcting codes. Appl. Algebra Eng. Commun. Comput., 8(1):57–69. Wagner, D. (2002). A generalized birthday problem. In Yung, M., editor, CRYPTO, volume 2442 of Lecture Notes in Computer Science, pages 288–303. Springer.

107

Obtaining Efficient Fully Simulatable Oblivious Transfer from General Assumptions
Bernardo M. David1 , Anderson C. A. Nascimento1 , Rafael Tonicelli1 Department of Electrical Engineering, University of Brasilia. Campus Universitario Darcy Ribeiro,Brasilia, CEP: 70910-900, Brazil
bernardo.david@redes.unb.br, andclay@ene.unb.br, tonicelli@redes.unb.br
1

Abstract. We introduce a general construction of fully simulatable oblivious transfer based on lossy encryption. Furthermore, we extend the common definition of lossy encryption by introducing the notion of computationally lossy encryption. If the cryptosystem used is computationally lossy, our general construction yields oblivious transfer protocols with computational security for both parties. Otherwise, when regular statistically lossy cryptosystems are employed in this construction, it yields oblivious transfer protocols with statistical security for the sender. The construction introduced in this paper is realizable from rerandomizable, homomorphic and lossy cryptosystems in general. Thus, it yields specific constructions based on different assumptions, such as DDH, LWE and McEliece. Moreover, it proves the equivalence of fully simulatable oblivious transfer and lossy encryption.

1. Introduction
Oblivious transfer (OT), a cryptographic primitive introduced by Rabin [Rabin 1981], is of great importance in the design of secure two-party and multiparty computation protocols.There exist many variants of OT, each one suitable for a given kind of application. In the present work, we concentrate ourselves on a variant called one-out-of-two oblivious transfer, denoted by 2 -OT. In this variant, a sender (Alice) inputs two bits b0 , b1 and 1 a receiver (Bob) inputs a choice bit σ . At the end of the protocol, Alice receives nothing and Bob receives the bit bσ . Loosely speaking, an OT protocol is said to be private if the sender learns no information on the receiver’s choice σ , while the receiver gets information concerning at most one of the sender’s inputs. It has been proven that oblivious transfer enjoys a property called completeness, meaning that any function can be securely computed if the parties are given black-box access to OT [Kilian 1988]. Since OT serves as a building block for a wide variety of secure protocols, it is desirable to have OT protocols that achieve a strong notion of security against an unrestricted adversarial model. Regarding the adopted notion of security, it is of particular interest to design OT protocols that are fully-simulatable, that is, secure in the real/ideal model simulation paradigm. It is a well-known fact that OT protocols proven secure in the simulation-based paradigm are secure under sequential composition and, consequently, can truly be used as building blocks in more complex protocols. Regarding the adopted adversarial model, it is desirable for an OT protocol to be resistant against a malicious adversary. In contrast to a semi-honest adversary (who follows the protocol, but may try to acquire more information than it is allowed to know), a malicious

108

adversary may arbitrarily deviate from the protocol specifications and, thus, represents a more powerful adversarial model. In spite of being a fundamental cornerstone in two- and multi-party computation, there are only a few results of efficient OT constructions that are secure against malicious adversaries under the real/ideal model simulation paradigm without random oracles [Lindell 2008, Green and Hohenberger 2007, Camenisch et al. 2007]. In [Camenisch et al. 2007] the authors introduce constructions based on q-power DDH and q-strong Diffie-Hellman, which are strong and relatively non-standard assumptions. In [Green and Hohenberger 2007], a construction based on the Decisional Bilinear Diffie-Hellman assumption is introduced. The first construction based on standard assumptions is given in [Lindell 2008], which introduces protocols based on the DDH assumptions, smooth projective hashing and general homomorphic cryptosystems (which is an assumption much stronger than lossy encryption, being realizable under much more limited number of underlying computational assumptions). 1.1. Contributions In this paper, we present the following significant contributions: • An efficient fully-simulatable oblivious transfer protocol based on a general assumption: Lossy Encryption [Hemenway et al. 2009, Bellare et al. 2009]. In this construction we utilize techniques from the DDH based efficient fully simulatable protocol presented in [Lindell 2008]. It is realizable from a broad number of general assumptions (such as smooth projective hashing and re-randomization), computational assumptions (such as DDH, LWE) and also the McEliece assumptions under the extra assumption of the existence of perfectly binding and perfectly hiding commitments. • Our construction proves the equivalence between fully simulatable oblivious transfer and several flavors of lossy encryption, since the converse is shown in [Hemenway et al. 2009]. • We introduce computationally lossy encryption, which is realizable under a broader number of assumptions than statistically lossy encryption, and show that the proposed general construction achieves computational security for both parties in the case that such a cryptosystem is employed. • We unify all current constructions of efficient fully simulatable oblivious transfer in the plain model, since lossy encryption (computational or statistical) is realizable under all of the assumptions previously used to construct fully simulatable oblivious transfer in the plain model, such as: smooth projective hashing rerandomizable cryptosystems, homomorphic cryptosystems, DDH, q-power DDH, q-strong Diffie-Hellman and Bilinear Diffie-Hellman. In summary, the main contribution of this paper is to provide a general construction for fully-simulatable oblivious transfer based on the sole assumption of lossy encryption and a property enjoyed by many constructions of such cryptosystems. This construction is realizable under several well known computation assumptions, including factorization, discrete logarithm, lattice and coding theory problems. Hence, it unifies all current constructions of efficient fully simulatable oblivious transfer in the plain model.

109

2. Preliminaries
Hereupon, we will denote by x ∈R D an uniformly random choice of element x over its domain D; by ⊕ a bit-wise exclusive OR of strings; and by a | b the concatenation of string a with string b. All logarithms are to the base 2. For a PPT machine A, we use $ a ← A to denote running the machine A and obtaining an output, where a is distributed according to the internal randomness of A. If X and Y are families of distributions indexed by a security parameter λ, we s use X ≈ Y to mean the distributions X and Y are statistically close, i.e., for all polynomials p and sufficiently large λ, we have x |P r[X = x] − P r[Y = x]| < 1. Two sequences Xn , n ∈ N and Yn , n ∈ N of random variables are said to be computationally c indistinguishable, denoted by X = Y , if for every non-uniform probabilistic polynomialtime distinguisher D there exists a negligible function (·) such that for every n ∈ N, | P r[D(Xn ) = 1] − P r[D(Yn ) = 1] |< (n). 2.1. Real/Ideal Model Simulation Paradigm The real/ideal model paradigm has been extensively used to analyse the security of protocols under sequential composition. In this model, security is analysed by comparing real protocol execution with an ideal execution. In the ideal execution, the parties send their private inputs to a trusted party that computes the desired functionality through confidential and authenticated channels. After receiving the inputs, the trusted party computes the function and returns the output assigned to each party. In the real execution, the parties interact directly through the protocol. Intuitively, if all attacks feasible in the real model are also feasible in the ideal model, the protocol is considered secure. Ideal Model Execution. An ideal 2 -OT functionality is formally defined as function 1 f with two inputs and one output. The sender Alice inputs two bits (b0 , b1 ), while the receiver Bob inputs a bit σ . After the protocol is run, Alice receives no output (denoted by the empty string λ), and Bob receives bσ . This is denoted as: f : {0, 1}2 ×{0, 1} → {0, 1}, such that f ((b0 , b1 ), σ ) = (λ, mσ ). Considering two two parties Pa (Alice) and Pb (Bob) that have access to a trusted third party T , the ideal oblivious transfer functionality is described bellow. Ideal OT Execution Input generation. Party Pa is activating upon receiving a pair (b0 , b1 ) ∈ {0, 1}2 and party Pb is activated upon receiving a bit σ . Transmission of inputs to T . An honest participant sends its unaltered output to the trusted party T . A malicious participant may abort (sending ⊥ to T ) or send any other input to T . Output computation by T . If the functionality T receives ⊥ from any of the parties, then it sends ⊥ to both parties and halts. Else, upon receiving (b0 , b1 ) from Pa and σ from Pb , T sends bσ to party Pb and halts. Outputs. An honest party always outputs the message as received from T (⊥ or nothing in the case of Pa , and ⊥ or bσ in the case of Pb . A corrupted party can output an arbitrary PPT function of its initial input and the message obtained from the trusted party.

110

Let f an ideal oblivious transfer functionality and let B = (B1 , B2 ) denote an admissible pair (i.e. at least one of the parties is honest) of non-uniform probabilistic expected polynomial-time machines (representing parties in the ideal model). The joint execution of f under B in the ideal model on inputs ((b0 , b1 ), σ ), denoted by IDEALf,B ((b0 , b1 ), σ ), is defined as the resulting output pair and protocol transcript obtained by B1 and B2 after the ideal execution. Real Model Execution. for this execution, no trusted party is available and the parties interact directly. A corrupted party may adopt any arbitrary strategy implementable by non-uniform PPT machines. Let π denote a two-party protocol and let A = (A1 , A2 ) denote a pair of non-uniform PPT machines (representing parties in the real model). The joint execution of π under A in the real model on inputs ((b0 , b1 ), σ ), denoted by REALπ,A ((b0 , b1 ), σ ), is defined as the resulting output pair and protocol transcript obtained by A1 and A2 after the protocol execution. Adversarial Model. In this paper, we consider the malicious adversarial model, where a dishonest party may arbitrarily disrupt the protocol execution (for instance, a malicious party is allowed to deviate from the protocol). Additionally, we assume the static corruption model, where parties have fixed a behavior throughout protocol execution. Enlightened by the previous definitions, we can now formalize the notion of securely implementing an OT protocol in the simulation-based paradigm. Definition 1. Consider an ideal OT functionality f and a two-party protocol π in the real model. The protocol π is said to securely implement an OT protocol if for every pair of admissible non-uniform PPT machines A = (A1 , A2 ) for the real model, there exists a pair of admissible non-uniform probabilistic expected polynomial-time machines B = (B1 , B2 ) for the ideal model, such that for every b0 , b1 ∈ {0, 1} and every σ ∈ {0, 1}, IDEALf,B (n, (b0 , b1 ), σ ) ≡ REALπ,A (n, (b0 , b1 ), σ ) In order to achieve constant-round protocols it is necessary to allow the ideal adversary and simulators to run in expected polynomial time [Barak and Lindell 2004].
c

3. Lossy Encryption
Lossy encryption [Hemenway et al. 2009, Bellare et al. 2009] expands on the definition of Dual Mode Encryption [Peikert et al. 2008], a type of cryptosystem with two types of public keys, which specify two modes of operation: a messy mode and a decryption mode. In the decryption mode, the cryptosystem behaves normally and it is possible to decrypt a message encrypted with a given public key using the corresponding secret key. However, in the messy mode, the encrypted information is statistically lost. A lossy cryptosystem is defined as a type of cryptosystem with two types of public keys, injective and lossy keys, which specify different results of encryption. If injective keys are used, the cryptosystem behaves regularly (correctly decrypting ciphertexts with the right secret key) while in the lossy mode, the ciphertexts generated by the encryption algorithm are independent from the plaintext messages,causing information to be statistically lost. It is also required that lossy keys are indistinguishable from injective keys by efficient adversaries.

111

It has been shown that it is possible to obtain lossy cryptosystems from oblivious transfer, re-randomization and smooth projective hashing [Hemenway et al. 2009]. Thus, our construction of fully simulatable oblivious transfer based on lossy encryption proves that oblivious transfer and lossy encryption are equivalent. We now present a formal definition of Lossy Encryption similar to the definition given in [Hemenway et al. 2009]: Definition 2. A lossy public-key encryption scheme is a tuple (G, E, D) of efficient algorithms such that • G(1λ , inj) outputs keys (pk inj , sk inj ), keys generated by G(1λ , inj) are called injective keys. • G(1λ , lossy) outputs keys (pk lossy , sk lossy ), keys generated by G(1λ , lossy) are called lossy keys. E(pk, m) is an encryption algorithm that takes as input a public key and a plain-text message, outputting a ciphertext. D(sk, c) is a decryption algorithm that takes as input a secret key and ciphertext, outputting a plain-text message. Additionally, the algorithms must satisfy the following properties: • Correctness on injective keys. For all plaintexts x ∈ X , P r (pk inj , sk inj ) ← G(1λ , inj); r ← coins(E) : D(sk inj , E(pk inj , x, r)) = x = 1 • Indistinguishability of keys. In lossy mode, public keys are computationally indistinguishable from those in the injective mode given no previous information. Specifically, if proj : (pk, sk ) → pk is the projection map, then proj (G(1λ , inj)) ≈ proj (G(1λ , lossy)) • Lossiness of lossy keys. If (pk lossy , sk lossy ) ← G(1λ , lossy) , then for all x0 , x1 ∈ X , the statistical distance between the distributions E(pk lossy , x0 , R) and E(pk lossy , x1 , R) is negligible in λ. $ $ • Openability. If(pk lossy , sk lossy ) ← G(1λ , lossy), and r ← coins(E) , then for all x0 , x1 ∈ X with overwhelming probability, there exists r ∈ coins(E) such that E(pk lossy , x0 , r) = E(pk lossy , x1 , r ). In other words, there is an (unbounded) algorithm opener that can open a lossy ciphertext to any arbitrary plaintext with all but negligible probability. Additionally, we require that there exists an efficient algorithm that distinguishes between lossy and injective public keys given the corresponding secret key. Such algorithm is formally denoted as: • KD(sk, pk ) is a PPT algorithm that receives as input a key pair (sk, pk ) and outputs 0 if the public key is lossy. Otherwise, it outputs 1. This property is valid for many flavors of lossy encryption such as the general constructions based on re-randomization and smooth projective hashing [Hemenway et al. 2009].
$ c $ $

112

However, for the sake of brevity, we will give formal proof only for the re-randomization based construction, which is realized by many underlying computational assumptions. The algorithm for the smooth projective hashing based construction follows trivially from the fact that the key generation algorithm outputs an empty secret key if a lossy public key is generated. 3.1. Computationally Lossy Encryption In the present work, we also consider a variation of common statistically lossy encryption which we call computationally lossy encryption. In a computationally lossy cryptosystem, the distribution of ciphertexts generated under a lossy key is computationally indistiguishable from the uniform distribution of ciphertexts (i.e. information is lost only computationally). Such cryptosystems preserve all properties of statistically lossy cryptosystems but the lossiness of key, which in this case is computational: • Lossiness of lossy keys. If (pk lossy , sk lossy ) ← G(1λ , lossy) , then for all x0 , x1 ∈ X , the distributions E(pk lossy , x0 , R) and E(pk lossy , x1 , R) are computationally indistinguishable in λ. Computationally lossy encryption is interesting since it yields an OT protocol with computational security for both parties, a fact that has been previously observed only in [Dowsley et al. 2008], which is not secure under sequential composition. Furthermore, such a construction may be realized under a broader number of assumptions than statistically lossy encryption allows. For example, it can be trivially obtained under the McEliece assumptions using the techniques in [Dowsley et al. 2008] and [Hemenway et al. 2009]. Perhaps the re-randomization techniques in [David et al. 2010] can also be applied to obtain a similar primitive. 3.2. A construction based on Re-Randomization We now recall a construction of a IND-CPA secure statistically (resp. computationally) lossy cryptosystem from a statistically (resp. computationally) re-randomizable cryptosystem which is given and proven in [Hemenway et al. 2009]. Furthermore, we show that it is possible to construct a public key distinguishing algorithm for this construction. A cryptosystem is called statistically (resp. computationally) re-randomizable if, given a ciphertext c and a public key, it is possible to re-randomize c obtaining a new valid chipertext c which encrypts the same plain-text message while being statistically (resp. computationally) indistinguishable from the original c. Although different definitions of re-randomizable cryptosystems exist, we consider a definition similar to the one given in [Hemenway et al. 2009]. Notice that it is possible to obtain re-randomizable cryptosystems from homomorphic cryptosystems, DDH, q-power DDH, q-strong Diffie-Hellman and Bilinear DiffieHellman. Hence, our construction unifies all previous constructions of fully simulatable oblivious transfer, which are based on these assumptions and also on smooth projective hashing (that also yields lossy encryption). Definition 3. Let (Gen, Enc, Dec, ReRand) be a statistically (resp. computationally) rerandomizable IND-CPA secure public-key cryptosystem, we create statistically (resp. computational) (Ginj , Glossy , E, D) as follows:
$

113

• Key Generation: G(1λ , inj) generates a pair (pk, sk ) ← Gen(1λ ). Then G(1λ , inj) generates K0 = Enc(pk, 0), K1 = Enc(pk, 1). G(1λ , inj) returns (pk, sk ) = ((pk, K0 , K1 ), sk ). G(1λ , lossy) runs Gen(1λ ), generating a pair (pk, sk ). Then, it generates K0 = Enc(pk, 0), K1 = Enc(pk, 0). G(1λ , lossy) returns (pk, sk ) = ((pk, K0 , K1 ), sk ). • Encryption: E(pk, b) = ReRand(pk, Kb ) for b ∈ {0, 1} • Decryption: D(sk, c), simply outputs Dec(sk, c). An algorithm that distinguishes lossy public keys from injective public keys given the corresponding secret key can be constructed as follows: • KD(sk, pk ): First computes test ciphertext c = E(pk, 1). Then output whatever D(sk, c) outputs. It is clear that, if the public key pk is injective, this algorithm will output 1, which is the information encrypted into the ciphertext. Otherwise, if the public key is lossy, this algorithm will output 0, since the ciphertext generated by E is always an encryption of 0 if the public key pk is lossy. Thus, the proposed algorithm KD successfully distinguishes lossy and injective public keys given the corresponding secret key.

4. The Protocol
The protocol introduced in this section was inspired by the fully simulatable protocol for Oblivious Transfer under the DDH assumptions presented in [Lindell 2008]. In this protocol, the sender (Alice) inputs a pair of bits b0 , b1 and the receiver (Bob) inputs a choice bit σ , Bob receives the bit bσ and Alice receives nothing (⊥). In the end of the protocol Bob must not have learnt anything about the other bit b1−σ and Alice must not have learnt anything about Bob’s choice bit σ . Apart from the IND-CPA secure lossy cryptosystem (Gen, Enc, Dec), we also assume the existence of a perfectly hiding commitment scheme Comh and a perfectly binding commitment scheme Comb . Notice that such commitments can be obtained from the DDH assumptions (and its variations). Moreover, the smooth projective hashing and homomorphic encryption based constructions also rely on such commitment schemes. Thus, our construction unifies the previous fully simulatable oblivious transfer protocols based on such assumptions. The protocol is secure against static malicious adversaries, in other words, the parties may deviate from the protocol but must have their behavior fixed before the execution begins, behaving maliciously or honestly during the whole execution. 1. For i = 1, . . . , , the receiver Bob chooses a random bit σi ∈R {0, 1} and runs inj inj G(1n , inj), obtaining injective key pairs (pki , ski ). It also runs G(1n , lossy), lossy lossy obtaining lossy key pairs (pki , ski ).For each bit σi , Bob generates a pair inj lossy of public keys (γiσi , γi1−σi ) such that γiσi = pki and γi1−σi = pki . Bob sends 0 1 0 1 all of the pairs (γ1 , γ1 ), . . . , (γ , γ ) to Alice. 2. Coin tossing: (a) Alice chooses a random s ∈R {0, 1} and sends Comh (s) to Bob. (b) Bob chooses a random s ∈R {0, 1} and sends Comb (s ) to Bob. (c) Alice and Bob send decommitments to Comh (s) and Comb (s ) respectively, and set r = s ⊕ s . Denote r = r1 , . . . , r .

114

Alice chooses n random bits b0. 0 1 1 5. . b1. bn ) to Bob. b0.n ⊕ µn ). observe that in the reordered pairs obtained after the coin tossing.n such that b0 = b0.n ⊕ µn ) for a random value of µn .n inj ˆ computing bσ. γi0 ) and KD(ski ⊥. For each pair of bit ˆ bσ. γj ) as (Υ0 n . it is possible for Bob to obtain the bit bσ since. and γj and if it equals 1 then γj 4. Alice checks that. b1.n from Alice. γj ). The security for the receiver is computational in both cases.n = E(Υn .1 ⊕ . in the sense that.n ) ⊕ µn after receiving the correct values of µn and ˆ bσ. which makes it im(i. This reordering is a bit such that if it equals 0 then the tuples are left as is.n ⊕ µn for each bit in the pair. . since the ciphertexts ˆ b1−σ. since it relies on the computational indistinguishability of lossy and injective keys. . Also. where is the total number of j for which rj = 0. if both Alice and bob are honest.n computationally loose information about the bits ˆ corresponding to b1−σ . b = D(skn .n and n random bits b1. .n and bit µn Bob computes bσ.1 ⊕ . .n . . based on the facts stated above. . γi1 ) received is injective and exactly one of the public keys is lossy by running inj inj . . for 0 1 every j for which rj = 0. 1} and the encryption of b•.inj lossy 3. ski ). .1 . In order to obtain the original bit bσ .n statistically loose ˆ information about the bits corresponding to b1−σ . obtaining 1 ˆ ˆ b0. since the ciphertexts ˆ b1−σ. correctly yielding: bσ = (bσ. 1999] computing bσ = ⊕n i=1 bσ.n .n = E(Υ0 n . the resulting protocol offers statistical security for the sender. For each j for which rj = 0 denote each (γj . bob computes bσ = bσ.n ⊕ µn ) and b1. . if computationally lossy encryption is employed. Υn ) Alice computes a random bit µn ∈R {0.n . in the 1−σ 0 1 σ resulting tuples (γj .i . Notice that. Bob is not able to obtain the original value of bσ. . Employing a reduction given in [Damg˚ ard et al. γj is an injective public key and γj is a lossy public key.n = D(skn .1 ⊕ . such that exactly one of the corresponding public keys is injective and exactly one is lossy. ⊕ bσ.. .n ) ⊕ µn . 1 For each pair of bits b0. If any of the checks fail. bσ. On the other hand. . Correctness: Before proceeding to the proof of security. γi1 ). b))). we show that the protocol above is correct. ⊕ b0.n without first obtaining the corresponding µn . Bob sends (ski . obtaining bσ . the correct output is obtained. inj ˆ 6. Bob sends a ”reordering” of γj and γj such that.1 ⊕ µ1 ) ⊕ . bσ. Given that Alice and Bob are honest.e.n = E(Υσ n . ski ) to Alice. for every i for which ri = 1 it received a valid secret key pair inj lossy (ski .n ⊕ µn ). However. it is possible to obtain the value of each bit bσ. Finally. b1. . ⊕ b1. . the resulting protocol offers computational security for the sender. . First. In addition. Alice sends the bits µn and ˆ1 the pairs (ˆ b0 n . it checks that exactly one of the public keys (γi0 . .1 . enabling an honest Bob to extract a bit encrypted with it 1−σ inj are lossy. Bob employs the reduction given and proven in [Damg˚ ard et al. bσ. since ˆ bσ. the keys Υn possible for Bob to obtain the value of a bit encrypted with those keys. For every i for which ri = 1. . b0. 1 0 are interchanged.n = D(skn . E(Υσ n . Furthermore. Υn ) for n = 1. Otherwise it proceeds to the next step. . 115 . Alcie halts and outputs KD(ski . . . 1999]. Υσ n is an injective key. ⊕ (bσ.n and b1 = b1.n and each (Υ0 n . if statistically lossy encryption is employed.

. S1 constructs (γi0 and γi1 ) like an honest Bob. b1 ). 1} and hands cb = Comh (s ) to A1 . This enables it to obtain both messages input by A1 into the protocol.1. and the honest party Bob in the ideal model will receive the same message that it would have received in a real execution with A1 (or more accurately. and γi1−σi = pki pair of public key (γiσi . (c) If A1 does not send a valid decommitment to ch . this strategy by S1 does not actually guarantees that it runs in expected polynomial-time.exactly one of them is lossy). S1 constructs (γj . S1 proceeds as follows: i. S1 generates a lossy inj . ski ). 1 and generates public key pairs (γ1 . the randomness used to generate the commitment Comb (s ) is independent each time. since the steps involved are essentially the same. rewinds A1 . If A1 decommits to s. then S1 proceeds to the next step. S1 sets s = r ⊕ s. then S1 outputs fail. inj). Otherwise. . 1 116 . 2. obtaining lossy key pairs (pki . inj inj . S1 chooses a random r ∈R 0. Otherwise. 0 1 0 (b) For every j for which rj = 0. then S1 simulates Bob aborting and sends ⊥ to the trusted party. γ1 ). S1 hands A1 a commitment to the same value s . Notice that the resulting simulators have the same running time of the simulators in [Lindell 2008]. ii. the machine S1 invokes A1 upon the same input and works as follows: 0 1 1. and hands it Comb (s ). Fortunately this issue is solved in [Lindell 2008] and we refer the reader to that work for detailed information. if it does not decommit to any value. We now describe S1 formally. S1 uses rewinding in order to ensure that all of the ”checked” public key pairs are valid (i. a message that is computationally indistinguishable from that message).)1 Similarly to the DDH based protocol of [Lindell 2008]. ski ). lossy). (b) S1 chooses a random s ∈R {0. S1 then sends these inputs to the trusted party. obtaining injective key pairs (pki lossy lossy n G(1 . We construct a non-uniform probabilistic expected polynomial-time ideal-model adversary/simulator S1 . Let A1 be a nonuniform probabilistic polynomial-time real adversary that controls Alice.e.4. S1 returns to the previous step and tries again until A1 does decommit to s. Simulator for the case Alice (sender) is corrupted In order to prove the security of the proposed protocol we adapt the simulators given in [Lindell 2008] for the case where the sender is corrupted and the case the receiver is corrupted. γ 1 ) with the following property: (a) For every i for which ri = 1. γj ) such that both γj and 1 γj are injective keys. If A1 decommits to a value s ˜ = s. S1 hands the public key pairs to A1 . 1}. (γ 0 . Upon input 1n and (b0 . as follows: (a) S1 receives a commitment ch from A1 .. It also runs It runs G(1n . (We stress that in every attempt. . . Then S1 outputs whatever A1 outputs and halts. Simulation of the coin tossing: S1 simulates the coin tossing so that the result is r. However. γi1−σi ) such that γiσi = pki for random bits σi ∈R {0. let s be the decommitted value. whereas both keys contained in the ”unchecked” public key pairs are injective.

lossy public keys are computationally indistinguishable from injective public keys). b1 ) to the trusted party as the first party’s input.n ⊕ µn ). if D receives a set of lossy keys. (Note that r = s ⊕ s . the outcome is always uniformly distributed. it is clear that the result of the coin tossing in a real execution and in the simulation with S1 are statistically close to uniform (where the only difference is due to the negligible probability that A1 will break the computational binding property of the commitment scheme. Theorem 4.) In the simulation by S1 . The joint output distribution of S1 and an honest Bob in an ideal execution is computationally indistinguishable from the output distribution of A1 and an honest Bob in a real execution. However. . obtaining a series of pairs (b0. This shows 1 γj . Since S1 outputs fail when A1 breaks the computational binding of the commitment scheme. b1. In order to prove this theorem we adapt the proof given in [Lindell 2008]. . S1 hands A1 a random re0 1 ordering of the pairs (γj . It then computes b0 = (b0. Proof. 5. Otherwise.1 ⊕ µ1 ) ⊕ . bn ). it receives the bits µn and a ˆ1 series of pairs (ˆ b0 n .) inj lossy 4. simulator S1 hands A1 the secret key pairs (ski .3. Upon receiving a valid decommitment to s from A1 . ski ) 0 1 correspondent to the public keys (γi . ⊕ (b0. assuming that S1 does not output fail. it decrypts both ˆ b0 n and bn with the injective secret 1 keys corresponding to (Υ0 n . this occurs with at most negligible probability (a rigorous analysis is given in [Goldreich and Kahan 1996]). S1 sends the pair (b0 . 117 . Furthermore. . in random order. since the commitment sent by A1 is binding and since Bob generates its commitment after receiving A1 ’s commitment. In addition. This is formally proven by constructing a machine D that distinguishes many injective keys from many lossy keys. if D receives a set of injective keys. . it provides the reordering so that all of the injective keys it generates are associated with σ and all of the ones it receives externally are associated with 1 − σ (we assume that D is given the input σ of Bob).n ⊕ µn ) and b1 = (b1. 0 Therefore. simulator S1 decommits to A1 . γj ) for every j for which rj = 0. outputs whatever A1 outputs and halts. Note that. then the view of A1 is exactly the same as in the simulation with S1 (because all the keys are injective). The only other difference would be in the coin tossing phase (and the rewinding). For every i for which ri = 1. Notice that the view of A1 in the simulation with S1 is indistinguishable from its view in a real 0 and execution. S1 then follows the instructions of Bob for obtaining both ˆ1 b0 and b1 . Unlike an honest Bob.n ). Otherwise. Υn ). ⊕ (b1.e. Thus. revealing s . the joint distribution of the coin tossing results in a real execution and in the simulation with S1 are statistically close. then the view of A1 is exactly the same as in a real execution (because only the keys associated with σ are injective). γi ). then S1 sends ⊥ to the trusted party. If A1 does not reply with a valid message. The sole difference in this view is due to the fact that the public keys γj 1 γj for which rj = 0 are both injective public keys. which implies in breaking the lossy key indistinguishability property of the lossy cryptosystem. the only remaining difference lies in the generation of public keys γj and Indistinguishability follows intuitively from the definition of lossy encryption (i.1 ⊕ µ1 ) ⊕ . outputs whatever A1 outputs and halts. D receives a set of public keys and runs in exactly 0 1 the same way as S1 but constructs the γj and γj public keys (for which rj = 0) in such a way that one is injective and the other is from its input.n .

However. as in the protocols given in [Lindell 2008] this is not true. the REAL and IDEAL output distributions are computationally indistinguishable. Formally.that the output of A1 in a real execution and the output of S1 in an ideal execution are indistinguishable (recall that S1 outputs whatever A1 outputs). Thus. for i where ri = 1. Fortunately. Finally. and we refer the reader to these works for a detailed analysis. and the reorderings for j where rj = 0. D outputs whatever D does. in contradiction to the definition of lossy encryption. then the output distribution generated is exactly the same of a real execution between A1 and Bob. Let A2 be any non-uniform probabilistic polynomial-time adversary controlling Bob. Furthermore. if it receives injective keys. where σ is the honest Bob’s input. this can be fixed by a direct application of the techniques proposed in [Lindell 2008] and [Goldreich and Kahan 1996]. Thus. D receives Bob’s input σ and a set of keys that are either injective 0 1 or lossy. S2 hands A2 a commitment ch = Comh (s) to a random s ∈R {0. . To complete this proof we construct another distinguisher D that distinguishes injective keys from lossy keys. we construct a non-uniform probabilistic expected polynomial-time simulator S2 . 4. γ1 ). decommits to ch and receives A2 ’s decommitment to cb . 2. If the pairs (γi0 . Machine D then does this. On the contrary. If D receives lossy keys. First.it is necessary to show this for the joint distribution of the output of A1 (or S1 ) and an honest Bob. upon input 1n and σ . constructing the public keys γj and γj so 1−σ σ that in the reordering step. their ordering makes no difference. recall that Bob receives mσ as output.) We conclude that D distinguishes lossy and injective public keys with non-negligible probability. after applying these techniques. γi1 ) sent by A2 are not valid (as checked by Alice in the 118 . The simulator S2 extracts the bit σ used by A2 by rewinding it and obtaining the reordering of public keys that it had previously opened. The reason for this is that when all the keys are injective. since σ it generated all of the γj keys. . Next.n and obtain mσ . the simulator S2 invokes A2 upon the same input and works as follows: 0 1 1. the output distribution is exactly the same of an ideal execution with S1 . assume that there exists a polynomial-time distinguisher D that distinguishes between the real and ideal distributions with non-negligible probability. all the γj keys are those it generated itself and all the γj tuples are those it received as input). and runs D on the output of A1 and the message mσ (which is the output that an honest Bob would receive). (Notice that the distribution over the γ public keys generated by D with knowledge of σ is identical to the distribution generated by S1 without knowledge of σ . (γ 0 . γ 1 ) from A2 . . Simulator for the case Bob (receiver) is corrupted Once again we base our simulator and proof on the techniques proposed in [Lindell 2008]. However.2. S2 then receives all of the ski keys from A2 . the output of the simulator is only negligibly far from the original (simplified) strategy described in this work. D then works exactly as above (i. D is able to decrypt each ˆ bσ.e. S2 receives a series of public key pairs (γ1 . our simulator runs in expected polynomial time.. with the result being that the output in a simulation is only negligibly different from the output in a real execution. It is shown that these techniques yield a simulator that is guaranteed to run in expected polynomial time. The last step is to prove that S1 runs in expected polynomial-time. receives back cb . . 1} .

4. First. we have that it has skt and can determine which of (γt 1 ˜t = 1. receives back some c ˜b . which may occur if S2 has to start again from scratch. hands A2 a commitment c ˜h = Comh (˜ s) to a fresh random s ˜ ∈R {0. Otherwise. and sets σ = 1 if after the reordering γt is injective. S2 hands A2 these messages and outputs whatever A2 outputs and halts. Furthermore. S2 sends σ to the trusted party and receives back a bit b = bσ . since cσ is indeed an encryption of mσ . for every t such that rt = r ˜t it holds that rt = 1 and r ˜t = 0). and halts. S2 sets σ = 0 if after the reordering γt is injective) or 1 (if γt (if γt 1 is injective. If any of the pairs (γi0 . Following this. S2 repeats this step using fresh randomness each time. setting bσ = b. A2 views a final transcript consisting of the first coin tossing (that is distributed exactly as in a real execution) and the last message from S2 to A2 . The output distribution of A2 in a real execution with an honest Alice (with input (m0 .e. since r A2 after the coin tossing indicates whether the public key pair is associated with 0 0 1 0 is injective) .) 6. 3. (Note that exactly one of the keys is injective because this is checked in the second coin tossing. it follows from the definition of lossy encryption (specifically from the 1−σ lossiness property) that. S2 rewinds A2 back to the beginning of the coin-tossing. This implies that the distribution of values ˆ b1−σ. and r ˜ the result of the second coin tossing (Step 3 above).n is at least computationally indistinguishable from a random value in the lossy cryptosystem’s plaintext space. S2 rewinds A2 to the beginning and resends the exact messages of the first coin tossing (resulting in exactly the same transcript as before). S2 sends ⊥ to the trusted party. ski ) secret key pairs and reorderings. Given this fact.protocol) or A2 did not send valid decommitments. if S2 does not output fail. the values would not be considered valid.then S2 begins the simulation from scratch with the exception that it must find r and r ˜ for which all values are valid (i. m1 )) Proof. S2 searches for a value t such that rt = 0 and r ˜t = 1. until all pairs are valid. Simulator S2 then computes the last message from Alice to Bob honestly. 5. for any lossy public key γj . 1} and running the instruction used by an honest Alice to compute the last message. A detailed analysis of this probability is given in [Lindell 2008]. A2 ’s view in the execution 119 .e.. b1−σ ∈R {0.) If no such t exists (i. notice that S2 outputs fail with probability at most 21− even if r = r ˜ in later rewindings.. However. 0 If S2 does not start again. Otherwise. if for r the values sent by A2 are not valid it does not terminate the simulation but rather rewinds until it finds an r for which the responses of A2 are all valid). exactly one of γt and γt is injective. it continues to the next step. γi1 ) are not valid. If r = r ˜ then S2 outputs fail and halts. S2 receives the inj lossy (ski . the value encrypted in ˆ b1−σ. (Note that by the 0 1 definition of the simulation.n generated from the values m1−σ . Otherwise. decommits to c ˜h and receives A2 ’s decommitment to c ˜b . outputs whatever A2 outputs. 1} . we proceed to show indistinguishability of the ideal and real executions adapting the proof of [Lindell 2008]. Thus. but c1−σ is actually an encryption of an arbitrary value (which is not necessarily of m1−σ ). m1 )) is computationally indistinguishable from the output distribution of S2 in an ideal execution with an honest Alice (with the same input (m0 . Denote by r the result of the first coin tossing (Step 2 above). the reordering that S2 receives from and γt is injective. Theorem 5. This message is not honestly generated. In addition. Notice that.n generated under a lossy key from a random plaintext value is computationally indistinguishable from the distribution of values ˆ b1−σ.

(2009). it can be used to obtain a construction of efficient fully simulatable OT based on the McEliece assumptions.and multiparty computation. (2004). Thus. Bellare. Heidelberg. SIAM J. this construction would still be based on the assumption that a perfectly hiding commitment scheme and a perfectly binding commitment scheme exist. 33(4):738–818. which can be shown to realize computationally lossy encryption using the techniques of [Dowsley et al. Hofheinz. In order to obtain our results we introduce the primitive of computationally lossy encryption.. and Yilek. As a future work we suggest the creation a of a general unifying framework for universally composable oblivious transfer realizable under the same underlying computational assumptions as our fully simulatable construction. M. our contributions also provide a general framework for constructing efficient fully simulatable oblivious transfer protocols. a fact that follows directly from the analysis in [Lindell 2008]. pages 1–35. S.with S2 is at least computationally indistinguishable from its view in a real execution with Alice (the only difference being if S2 outputs fail). Furthermore. Berlin. which may be of independent interest to other applications. Note that. Apart from unveiling new theoretical relations between cryptographic primitives. References Barak. 5. discrete logarithm and coding theory problems. Springer-Verlag. and Lindell. 2008]. since the converse is proved in [Lindell 2008] for smooth projective hashing and re-randomization based constructions. EUROCRYPT ’09. Additionally. However. Comput. factorization. Strict polynomial-time in simulation and extraction.n are uniformly distributed. A2 ’s view in the execution with S2 is statistically close to its view in a real execution with Alice (the only difference being if S2 outputs fail). this protocol completes the proof that several flavors of lossy encryption are equivalent to fully simulatable oblivious transfer. However. Our construction can be realized from a multitude of underlying primitives and computational assumptions such as smooth projective hashing. D.. Y. we point out further investigation of applications for computationally lossy encryption. the proposed protocol essentially unifies known efficient fully simulatable OT protocols in the plain model. In Proceedings of the 28th Annual International Conference on Advances in Cryptology: the Theory and Applications of Cryptographic Techniques. Conclusion In this paper we propose a general construction of efficient fully simulatable oblivious transfer based on lossy encryption. the values ˆ b1−σ. re-randomization. Possibility and impossibility results for encryption and commitment secure under selective opening. Moreover. if statistically lossy encryption is used. which are a central building block in two. B. In this case.. we have not yet achieved security in the universal composability framework. 120 . It remains to prove that S2 runs in expected polynomial-time.

Oblivious transfer based on the mceliece assumptions with unconditional security for the sender. ICITS.... Technical Memo TR-81. and Nogueira. and Hohenberger. David. In Proceedings of the 2008 The Cryptopgraphers’ Track at the RSA conference on Topics in cryptology. (1996). M. volume 5155 of Lecture Notes in Computer Science. Lindell.Camenisch. (2009). A. How to construct constant-round zero-knowledge proof systems for np. B. van de Graaf. In Wagner. Heidelberg. A. J. (1981). M. Springer. I. Kilian. New York. and Kahan. A. Goldreich. O. A. R. Springer-Verlag. Oblivious transfer based on the mceliece assumptions. Damg˚ ard. C. (2008). 9:167–189. (2008). Dowsley. Cryptology ePrint Archive. In Safavi-Naini... K. L.. volume 4515 of Lecture Notes in Computer Science. In STOC ’88: Proceedings of the twentieth annual ACM symposium on Theory of computing.. M. 10. (2007). Founding crytpography on oblivious transfer. Springer Berlin / Heidelberg. S. editor. Harvard University. Blind identity-based encryption and simulatable oblivious transfer. Neven.org/. pages 573–590. ACM. C. (2007). (1988). Advances in Cryptology – CRYPTO 2008. (1999). CT-RSA’08. editor. Lossy encryption: Constructions from general assumptions and efficient selective opening chosen ciphertext security. Kilian. J. How to exchange secrets by oblivious transfer. and Salvail.... In EUROCRYPT’99: Proceedings of the 17th international conference on Theory and application of cryptographic techniques. In Naor. editor. R. Y. D. G. M.. and Shelat. In Kurosawa. Rabin. pages 107–117. and Waters. Hemenway. J. Springer-Verlag.. R. M¨ uller-Quade.. A.. Nascimento. iacr. volume 5157 of Lecture Notes in Computer Science. In X Simposio Brasileiro de Seguranc ¸ a da Informac ¸a ˜ o e de Sistemas Computacionais. pages 554–571. Berlin. and Nascimento.. Springer. A. Simulatable adaptive oblivious transfer. Springer. pages 265–282. Ostrovsky. Efficient fully-simulatable oblivious transfer. O. pages 52–70. 121 . J. NY.1007/BF00208001. Vaikuntanathan. USA. Journal of Cryptology. B. Libert. On the (im)possibility of basing oblivious transfer and bit commitment on weakened security assumptions. A. and Vergnaud. ASIACRYPT. B. Peikert.. (2008). EUROCRYPT. Berlin. B. V. C. Heidelberg. volume 4833 of Lecture Notes in Computer Science. D. B.. pages 56–73. Report 2009/088. Aiken Computation Laboratory. editor. R. A framework for efficient and composable oblivious transfer. http://eprint. pages 20–31. (2010). Green. J..

The cryptography evolution brought a new requirement on PRNGs. changes the mixing function of Fortuna.Syndrome-Fortuna: A viable approach for Linux random number generation S´ ergio Vale Aguiar Campos1 . especially. uniformity. generated randomly. taken from the Fortuna design philosophy. Randomness concept Random number generators emerged. for use in simulations and numerical analysis. The PRNG we propose. The only way to ensure that a generator seed is non-deterministic is by using real sources of randomness. considered strong and efficient. This work presents a random number generator based on the intractability of an NP-Complete problem from the area of error-correcting codes. that does not use any heuristics. These applications require efficiency and. such as variations in pressure and temperature. Daniel Rezende Silveira1 1 ˜ o – Universidade Federal de Minas Gerais (UFMG) Departamento de Ciˆ encia da Computac ¸a Belo Horizonte (MG) – Brazil Abstract. But it does not use any entropy estimation heuristics and applies a strong and formally proved algorithm as its core function. Its mixing function is the AES algorithm. These algorithms are called pseudo-random number generators (PRNGs). We consider this an improvement. Fortuna presents a new scheme for system events collection. 2003]. to allow users to communicate safely. Jeroen van de Graaf1 . Its output must be unpredictable by potential adversaries and should be produced fast and efficiently.6. or 122 . ambient noise. Introduction Random number generators are the basis of several cryptographic systems. proposed by [Ferguson and Schneier. External sources of randomness collect data from presumably unpredictable events. and has a formal proof of its strength. The most common way to achieve this is by using algorithms to mix and expand the outcome of entropy sources.30. unpredictability has become a fundamental requirement for pseudorandom number generators. It uses a non-heuristic approach for entropy collection. As we expected.1. We implemented Syndrome-Fortuna inside the Linux kernel version 2. avoiding entropy estimation problems. We implemented the new generator inside the Linux kernel. using the syndrome decoding algorithm proposed by [Fischer and Stern. 1. since the syndrome problem is known to be NPComplete. 1. Secure applications needed secret keys. providing an user interface for random numbers besides /dev/urandom. providing an alternative system interface for secure random number generation. our generator is slower than the original Linux random number generator (LRNG). The quality of these generators and their applicability to protocols and security applications have been widely studied in recent years. In this work we present a PRNG based on the Fortuna architecture. Since then. 1996]. called Syndrome-Fortuna. initialy.

however. A binary linear code is an errorcorrecting code that uses the symbols 0 and 1.timing of mouse movements and keystrokes. very little to prevent that opponents using brute force could find the key value. they possessed no more than 47 bits of randomness. was the use of system time and the process id as sources of randomness. 1989]. In 1996 a flaw in the random number generator of Netscape browser allowed that keys used in SSL connections were discovered in about one minute. and each word has a weight. a larger amount of calculations per bit generated. In the generator presented in this paper we use the algorithm proposed by [Fischer and Stern. considered safe. As shown in [Impagliazzo et al. used inside the Linux random number generator. a number of 1 bits. Syndrome decoding problem In coding theory. In other words. which can produce errors. a function f is one-way if it is easy to compute but difficult to invert. However.2. The goal is to prevent that the internal state of the generator is updated with values potentially easy to discover. besides the theoretical basis. the value f (x) can be computed in polynomial time. Construction of a cryptographically secure random number generator 2. One of them is the SHA-1 hash function. the approach of entropy collection proposed by [Ferguson and Schneier. One-way functions Intuitively. one-way functions exists. because their security level is directly related to estimates precision. These functions belong to the class NP. and only if. and are unidirectional under some intractability assumption. Before using the collected randomness. 2. given its chaotic or quantum essence. ie. 1996] as our one-way function. there are several functions that are believed to be unidirectional in practice. in general. cryptographically secure pseudorandom number generators exists if. The main difference between the two types of one-way functions. it is necessary to estimate it. There are also functions that are conjectured to be unidirectional. 2003] and adapted in this work minimizes the problem of possible inaccuracy in the estimation of entropy. Even when the browser used session keys of 128 bits. The concept of unpredictability is related to human inability to predict certain complex phenomena. is the computational cost. Functions based on intractable mathematical problems require. Some examples are the subsets sum problem and the discrete logarithm calculation. But it is unclear whether they exist if P = N P . given x.1. in which each word can be represented as a linear combination of others. a NP-complete problem from the area of error-correcting codes. Entropy estimation is one critical point of random number generators design. But any feasible algorithm that receives f (x) can generate an output y such that f (y ) = f (x) with only negligible probability. The problem. revealed in the work of [Goldberg and Wagner. 1996]. and supposing P = N P . defined. The existence of one-way functions is not proved. It is known that if P = N P they certainly do not exist. Decoding is the process of translating (possibly corrupted) messages into words belonging to a particular code. 123 . As we shall see. It is based on the syndrome decoding problem. coding is used to transmit messages through noisy communication channels.. 2.

xn results in an all zero vector s = 0. . .2. . For this code. . there is no efficient algorithm known that can find the closest word to a vector.2 · · ·  · .n−k x1 . 0.  an.A binary linear code (n. . when the word multiplied by the parity matrix does not belong to the code. . Gilbert-Warshamov Bound To evaluate the hardness of a specific instance of the syndrome decoding problem we will use a concept extensively studied and reviewed by [Chabaud. requiring a more detailed study of each instance of the problem. under the assumption that P = N P . known as syndrome decoding. That is. . . a vector for each syndrome when the weight is around the Gilbert-Warshamov bound of the code. . d) is a subspace of {0. k. Conversely. 1978]. k. . . called syndrome. s2 . . .2 · · ·   a1..1. an. . can be solved efficiently in the average case. d) is defined through the relation 1 − k/n = H2 (λ) where H2 (x) = −x log2 x − (1 − x) log2 (1 − x) is the binary entropy function. . . x2 . According to the analysis of [Fischer and Stern. . . given a nonzero syndrome. The fact that a problem is NP-Complete guarantees that there is no polynomial time algorithm for solving the worst case. and decreasing thereafter. sn−k .1 a2. Find a binary vector x with weight |x| ≤ w. a non-zero syndrome vector s and a positive integer w. The latter problem is NP-Hard and can be described as follows: let a binary matrix A = {aij } of size n × (n − k ). x2 .. the difficulty of finding a word is a function of the weight increasing until the Gilbert-Warshamov bound. xn (mod 2) The case in which we seek the vector x with weight |x| = w is NP-complete [Berlekamp et al. . 0 of size (n − k ). .1 a1. The information rate of the code is k/n 1 and it can correct up to d− errors. 1}n with 2k elements in which every word has weight less than or equal to d. however. it is possible to define a hard instance of the syndrome decoding problem when the weight is near the GilbertWarshamov bound. Many problems.n−k    = s1 . is to find a word of certain weight from its syndrome. on average. 1994]. such that: a1. The Gilbert-Warshamov bound λ of a code (n. A randomly filled parity matrix defines a random binary linear code. under which the most difficult instances of the problem of syndrome decoding for random codes are those with weights in the vicinity of the Gilbert-Warshamov bound of the code. Another difficult problem.. 2. . Every code can be defined by a parity matrix of 2 size n × (n − k ) which multiplied (mod 2) by a vector of the code x = x1 .  .n−k a2. 1996]. . 124 . .2 · · ·  a2. the value of the syndrome is nonzero. Thus.1 an. there is.

1/2[. the collection SD(ρ. instances of the problem with weight δn very small or close to n/2 are not difficult. M ∈ ρn × n. Then. Gilbert-Warshamov bound. • Hard to invert: for all probabilistic polynomial-time algorithm A and every positive polynomial p(n) large enough. δ ) is strongly unidirectional. Thus we have the following assumption of intractability: Intractability assumption Let ρ be in ]0. defined by the binary entropy function. 1996]. x ∈ {0. x) → (M.Figure 1. 125 . 1[.2. M · x) According to [Fischer and Stern. such that H2 (δ ) < ρ. Formal definitions Definition A function f : {0. 1[ and δ be in ]0.2. A collection SD(ρ. 2. 1/2[. Definition Let ρ be in ]0. for all δ in ]0. 1}n Let us consider a collection of functions related to the problem of decoding the syndrome. an output A(x) = f (x) is computed. The instances of the collection SD with the weight δ near the Gilbert-Warshamov bound are believed to be unidirectional. 1}∗ is considered strongly unidirectional if the following conditions apply: • Easy to compute: there is a deterministic polynomial-time algorithm A such that for every input x. 1} ρn ·(n+1) (M. 1}∗ → {0. P r(A (f (Xn )) ∈ f −1 (f (Xn ))) < 1 p(n) where xn is random and uniformly distributed over {0. 1}n /|x| = δn} fn : Dn → {0. δ ) is a set o functions fn such that: Dn = {(M. although there is no proof in this sense. x).

The generator state will be updated when the P0 pool accumulate sufficient random data. Entropy accumulator The Fortuna entropy accumulator captures data from various sources of entropy and uses them to update the seed of the generator. 3.e.1. The captured random events must be uniform and cyclically distributed across n pools of the generator. 126 . The generator was designed with independent functions of entropy collection and random values generation.. The generator has its own scheme for entropy collection and the generating function is based on the intractability of the syndrome decoding problem. 2003] proposed a cryptographically secure random number generator called Fortuna.. If the possible new states are too many. Cryptographic applications based on the complexity of known problems have been extensively studied and implemented in the last decades. This should prevent potential adversaries who. This counter determines which pools will be used in the next update. and only if. the assumption becomes stronger than the usual assumptions for the decoding problem [Goldreich et al. At the current state of knowledge in complexity theory. to iterate over all the possible new states and maintain control over the generator. 1993]. using the SHA 256 hash function. To implement this the data is compressed incrementally. already know the seed. The main contribution of Fortuna is the events collection system. Syndrome-Fortuna The purpose of this work is to develop a random number generator and implement it inside the Linux kernel. This distribution will ensure an even spread of entropy among pools. A variable counter keeps track of how often the seed has been updated.1. i. Thus. one cannot hope to build such algorithms without any intractability assumptions [Goldreich. Intractability assumptions are a natural step in building such applications. Its architecture. thus maintaining pools with constant size of 256 bits. A pool Pi will be used if. Entropy estimation is commonly used to ensure that the generator state – or seed – is catastrophically updated. which will allow seed updates with successively larger amounts of randomness. as shown in figure 2. as we shall see. p. used until then in most of the generators we are aware of. with sufficient amount of randomness. in theory. Fortuna: Entropy collection [Ferguson and Schneier. We will show that the proposed generator applies good grounds of security and is based on sound mathematical principles. the intractability of SD(ρ. 3. 2i divides counter. δ ) is a special case Note that if H2 (λ) = ρ and δ < λ 2 of decoding beyond half the minimum distance. for some reason. It eliminated the need of entropy estimators.1. keeps the system secure even if an adversary controls some of the sources. 2001. it will not be feasible to try all of them.. 19]. Each pool can receive. unlimited random data. Each one will be addressed separetely. 3.

it will contain four times the amount of randomness of P0 . they can not even predict the state of the pool P0 . But when P1 is used in a reseed. While there are some truly unpredictable sources. P2 P0 P0. regardless of how many fake events they can generate or how many events they know the system would recover. Counter 1 2 3 4 5 6 7 8 Used pools P0 P0. Used pools in the 8 first updates of Fortuna generator Table 1 shows the update strategy of the generator. This estimate is calculated for the 127 . and the generator will recover from a compromised state quickly. Entropy allocation among n pools.1. P2.Figure 2. the greater the amount of accumulated entropy. it contains twice the amount of randomness of P0 . P3 Table 1. The speed of recovery will be proportional to the level of opponents control over the sources. eventually one pool will collect enough randomness to defeat the opponents. the higher the number of the pool. Data is compressed using the SHA 256 hash function. at the next reseed. When P2 is used. P1 P0 P0. This allows the generator to adapt automatically to attacks. P1. 3. As we can see. therefore. P1.2. as used in Linux. Initial estimate The proposed scheme avoids the entropy estimate. the opponent may control multiple sources of entropy. P1 P0 P0. However. If the opponents have little control over the sources of randomness. and so on. In this case he probably knows a lot about the pool P0 and could reconstruct the state of the generator using the previous state and the outputs produced. However it is still necessary to make an initial entropy estimate in order to determine the minimum number of events necessary to perform a catastrophic reseed. less it is used in the update of the generator and.

we need 2 ρn > δn .δ ρ. Yet. for a level of 128-bit security. 3. That is.1. 3: print y2 4: x ← A(y1 ) 5: Go to: 1 128 . the amount of space occupied by the events and the amount of entropy present in each event.δ from the one-way function fn we use an algorithm A that returns a vector x of size n and weight δn from a random n vector with log2 δn bits. x) ∈ Dn Output: Print bit sequence 1: y ← M · x n 2: Split y into two vectors y1 e y2 . for the image set to be larger than the domain set. Given an instance with fixed parameters ρ and δ from SD(ρ.δ . ie. they have image sets functions fn greater than the respective domain sets. a possible recovery from a compromise may take longer. δ ) defined in section 2. For this. Syndrome: Generating function 3. but is mitigated by the fact that if the chosen value is too low. Construction of the generating function We built a PRNG based on a hard instance of the syndrome decoding problem using the SD collection of functions (ρ. Thus.δ expands its in section 2.pool P0 and determines when the generator state is updated. ρ. we can ρ. The initial entropy estimation plays an important role on system security. The generator Gρ. fn entry into a linear amount of bits.δ consists of a matrix M of size ρn × n and of vector from fn The domain Dn n x of size n and weight δn.2. This algorithm is described in section 3. Algorithm 1 syndrome – Iterative generating function based on the syndrome decoding problem. 2003] suggest a minimum of 512 bits for P0 . δ ) expand its inputs. The firs with log2 δn bits and the second with the remaining bits. the image set is formed by the same matrix M of size ρn × n and a vector y = M · x of size ρn . one should observe some aspects of the system as: the desired security level.δ from the collection SD(ρ. ρ. To elaborate such.δ is described in pseudocode in algorithm 1. there will always be reseeds with higher amounts of entropy. δ ) collection. its size is 2 ρn ·n · 2 ρn . but will inevitably occur.2.2. Initially.2. So the size of the domain set is 2 ρn ·n · δn .2. for a sufficiently large n and suitable δ and ρ.δ Input: (M. This condition is satisfied when H2 (δ ) < ρ according to the Gilbert-Warshamov bound defined ρ. [Ferguson and Schneier.2. Figure 3 illustrates its operation. If the chosen value is too high. n So. we show that the ρ. construct an iterative generating function Gρ.1.

Now. i = 2 > t(2. When the index i is less than or equal to the up-left component t(n − 1. Here t(n. updates the index i ← i − t(2. see Figure 4. the 2 algorithm generates a 0-bit and walks to the component t(3. k − 1).2. 2) = 4 = 6. 2) = 3. this algorithm must output a different vector x ∈ {0. 0. These components represent. And so it goes until you reach the top of the triangle. It is formed by the binomial coefficients n where n represents the row and k k the column. From n each entry of size log2 δn . forming the word (0. the generator requires an algorithm to produce vectors with fixed weight. 3. As an example. 1). index i = 2. we will use Pascal’s Triangle. The construction follows the Pascal’s rule. the number of words of size n starting with a 0-bit and starting with a 1-bit. Syndrome generating function. This way. To build it. As i = 2 ≤ t(3. 2) = 1. so the algorithm generates a 1 bit. respectively. 129 . k − 1). k ) equals the sum of two components immediately above t(n − 1.Figure 3. decrementing the index at t(n − 1. we generate a 1-bit and walk to the up-right component t(n − 1. we use the lexicographic enumeration function shown by [Fischer and Stern. k ) = n represents the number of existing words k with size n and weight k . 2). We ilustrate a walk to generate a word of size n = 4 and weight k = 2. To explain the working of the lexicographic enumeration. 1}n with weight |x| = δn. 1. Generating words with given weight As noted. we can generate the output word from an index i by making an upward path in Pascal’s Triangle. k ) and t(n − 1. k ). 2) and the path goes to the component t(2. The complete algorithm is described in pseudocode at the end of this section. k ) towards the top. The path begins at the component t(4. we generate a 0-bit and move to this component. When the index is higher.2. 1). 1996]. We start from the component t(n. k − 1). which states: n−1 n−1 + k−1 k = n for 1 ≤ k ≤ n k Each triangle component t(n.

An adversary can.Figure 4. At each request for random numbers. the vector x. where M is the matrix. The recovery to a safe state after a compromise – backward security – is guaranteed by the eventual update of vector x by the entropy collection system. as stipulated on the initial estimate. This way we ensure that the generating function receives the operating system randomness over time. when the accumulated entropy is sufficient for a catastrophic reseed. the entropy collection scheme to update the internal state. As long as the opponent has not enough knowledge about the entropy added to 130 . This value is part of the vector yt−1 . From there. [Ferguson and Schneier. M. A minimum time lapse between reseeds is also respected. the opponent can simply find the last index value used in the lexicographic enumeration function A−1 (xt ) = y 1t−1 .2. Walk in Pascal’s Triangle to generate word of index i = 2 within a set of words of size 4 and weight 2 3. is updated from time to time.3. xt is the vector x at time t and Pt represents all the Fortuna Pools at time t. the only part of the function that actually makes up the internal state E . is the vector x. Thus. M. An adversary who controls the state of the generator Et = (xt . Forward security is guaranteed by the feedback operation in which part of the result vector y is used to choose the new vector x. as can be seen in figure 5. which must be kept secret. Pt ) could possibly keep it until time t + k . It should occur whenever the minimum amount of entropy is available in the P0 pool. as seen in figure 5. Figure 5 illustrates the complete workings of the generator. at time t. know the state of the generator Et = (xt . Combining Syndrome and Fortuna The generating function constructed in 3. given a random matrix M . This check is conditional on the minimum entropy in the pool P0 .1 is based on the difficulty of finding a vector x with weight w from its syndrome. to find the value xt−1 . Pt ). We will use. The Syndrome-Fortuna update strategy preserves the one-way function direct cryptanalysis resistance. Regardless of this update. or the last output value y 2t−1 requires inverting the generating function. any adversary that can reconstruct the internal state through the output vector y and the matrix M has managed to solve a problem currently considered computationally intractable. 2003] suggested 100ms to prevent an adversary to make numerous requests and flush out the entropy of the pools. Only the seed. In this case. then. At this point the value of the vector x is changed by the hash function of Fortuna pools. a check is made whether there is enough entropy to update the internal state.

A SHA 256 is performed accross the chosen pools and the result is used to index a word of size n and weight w. Syndrome-Fortuna operation. At each request is checked whether the pool P0 has the minimum entropy and the time between reseeds is over 100ms. the generator recovery time would be at most k = (128 ∗ n)/ω . This attack is unlikely. emptying the pools before they contain enough entropy to defeat them. since the entropy is distributed. the new state Et+k+1 should be out of his control. If so the algorithm performs a reseed. This value can be relatively high compared to the ideal.Figure 5. Ideally a system recovery should require 128 entropy bits [Ferguson and Schneier. at a future time. This could be done injecting false events on the pools through malicious drivers to keep the pool P0 filled. 131 . enabling the iterative generation of random data . Then. and ensures that the system will recover. In the above compromise case. allowing the real entropy flush. to avoid any attempt a minimum time between state updates is used to prevent very frequent reseeds and the system entropy exhaustion. Thus. incrementing a counter c and choosing among the pools pi that satisfies 2i divides c. They would need to promote frequent reseeds. In the Fortuna entropy collection system this amount is multiplied by the number of pools. the generating function performs the multiplication between the chosen vector and the matrix M producing the syndrome vector y . 2003]. given that the opponent would have to promote 2n reseeds before the system collects 128 ∗ n real entropy bits. however. this is a constant factor. However. Adversaries could try to deplete the system entropy while it is accumulated. this amount rises to 128 ∗ n. where n is the number of pools. considering the entropy input rate ω . the pools. Part of this vector is sent to the output and part is used as feedback.

we have p = P (Y ≥ 80) = 5. Thus. TestU01 library was used to measure the generators performance. it should be noted that the implemented entropy accumulator allows the use of any source of randomness. 2007]. The observed sample could occur with a fair coin with only 5. it can reveal flaws on its design or implementation. Testing methodology One way to evaluate a random number generator quality is assessing its output’s statistical behavior. We also compared to the Linux kernel 2. in any way. At the startup. However. the seed is read.6 ∗ 10−10 .3. This prevents repeated states when sudden hangs occur. since a miscalculation could lead to a security breach. In this case. Implementation. considering true the null hypothesis H0 : p = P (Y ≥ y |H0 ) To illustrate this statistical approach. This is not to tacitly reject the null hypothesis.6. which indicate the likelihood of a sample Y present the sampled value y . The system writes a file with random data to disk during shutdown and startup. One good strategy to mitigate the problem of lack of entropy during boot is to simulate continuity between reboots. The second library applies 32 tests with several configurations. including the one used by the Linux kernel. There are several libraries for statistical tests accepted by the scientific community. 4. 4.4. At startup. analysis and results 4. Starting the generator The initialization is a critical step for any random number generator that manages its own entropy. this seed-file is used to refresh the pools. These approaches do not allow questionable sources to be used. Statistical Results The statistical tests results are presented in the shape of p-values. we evaluate a sample Y of 100 coin flips in which 80 times was randomly selected “heads” and 20 times “tails”. Other strategies. estimate the collected amount of entropy. However. we compared it with the Blum-Blum-Shub generator. it is beyond the scope of this paper to define specific strategies. Even a source of low quality.30 generator (LRNG). The problems related to lack of randomness at initialization time must be addressed according to each scenario. For the Syndrome-Fortuna generator a seed-file was implemented the same way as in Linux.1. evaluating a total of 235 random bits. This analysis does not guarantee. To evaluate the generator performance. but 132 . which can enter foreseeable data in the pools. developed by [L’Ecuyer and Simard. the null hypothesis is the coin fairness and therefore Y is a cumulative binomial distribution. The first one implements a set consisting of 10 tests and is recommended for a generator’s initial assessment. Therefore. We used the libraries SmallCrush and Crush from TestU01 library.2. which has a simple construction.6 ∗ 10−10 probability. has not the capacity to lower the system entropy. the security of a cryptographic generator. based on the integer factoring difficulty. fed to the generator and the output is written on disk before any request for random numbers.

with the respective deviation. Concluding remarks During this research we studied several types of random number generators. 1 − 10−10 ]. All generators tested: BBS. [L’Ecuyer and Simard.according to a defined demand level. statistically. are shown in table 2. the only algorithm not implemented inside the kernel. The BBS algorithm was used only as a benchmark for performance and was not implemented within the kernel. being assessed with TestU01 library. which is highly optimized for performance and does not have formal security proof. Syndrome-Fortuna underperforms the current Linux generator. the generated values cannot be distinguished from truly random values. we did tests with an implementation of Syndrome-Fortuna compiled in user-space. Generator Speed (em kB/s) LRNG 2664.4 ± 6.4 Table 2. This means that. Syndrome-Fortuna and BBS performance measurement. statistical and cryptographic. The generators behavior for the different loads are summarized in figure 6. 100kB and 100kB intervals until complete 1MB of random data. the Syndrome-Fortuna performance is 6.3 times higher. When compared with the BBS generator. 1 kB.3. 2007] arbitrate as clear failures the p-values outside the range [10−10 . 1 − 10−3 ]. Syndrome-Fortuna and LRNG passed the statistical test libraries.2 BBS 31. 5. To evaluate the performance diferences between generators built inside and outside the kernel.0 ± 818.9 Syndrome-Fortuna 197. Performance analysis The Syndrome-Fortuna generator was evaluated through performance tests and compared to the BBS and LRNG generators. The results were statistically indistinguishable from the results when the algorithm was implemented inside the kernel. All p-values were in the range [10−3 . we consider it satisfactory for the comparision of the BBS. built inside the kernel. As expected. Generators LRNG. This does not necessarily imply that the same would happen to the BBS algorithm. We used loads of 100 bytes. 133 . we can consider the sample clearly failed the applied test. with Syndrome-Fortuna and LRNG. We used a computer with an Intel Pentium Dual Core T3400 2. which has similar formal security features. 10kB. Each generator had the generating time clocked 3 times for each load. The average speed of each generator. compiled in user space. 4. Syndrome-Fortuna and LRNG were assessed while compiled into the kernel. We conducted a detailed investigation of the Linux kernel generator. and proposed and implemented a new generator based on two existing approaches.1 ± 58. forbidding us to reject the null hypothesis.16GHz with 2GB of RAM. But for the purposes of this paper.

The strategy we implemented for entropy collection is in line with this need. the implementation applies solid mathematical principles derived from the theory of error-correcting codes. In a scenario of rapid change. this means adapting to new sources of entropy. software interrupts. and new users. mouse and hard drive. All of them must pass through a heuristic that. In a running Linux Ubuntu 9.10. can lead to a generator low entropy state. while a series of possibly good entropy sources were available. if inaccurate. imposing restrictions on the randomness of the systems. when the computing reach unexplored places. Conclusions from our research Random number generators are an important part of the complex set of protocols and applications responsible for ensuring information security. the Linux random number generator faces a difficulty to adapt to new entropy sources. etc.1. For random number generators. the framework for cryptographic applications must adapt to provide the desired security. even the ones with questionable randomnness. per se.Figure 6. As for the random values generation. new forms of operation. and predicting them can be considered as difficult as the syndrome decoding problem. 134 . 5. as noted in its operation. we observed the entropy collection only from the keyboard. Conversely. mouse and hard drive are less present. such as wireless network cards. which is NPcomplete. It is not difficult to imagine scenarios where a keyboard. It does not require estimations and can use any entropy sources. Performance of random generators: Linux (LRNG) Syndrome-Fortuna and Blum-Blum-Shub (BBS).

Impagliazzo. Dr. and Wagner. As shown. most of the memory costs are related to the problem of obtaining the vector x of size n and weight w from a random index i. M. pages 12–24. O. (1989). 21(1):66. Goldberg. pages 245–255. 24(3):384–386. IEEE Transactions on Information Theory. 68–70. Krawczyk. In Proc. We note that much of the processing and. Goldreich. Randomness and the Netscape browser. In Dawson.. On the inherent intractability of certain coding problems (corresp. pages 64–83. volume 3715. On the existence of pseudorandom generators. Computing. H. pages 131–139. (2003). editors. 135 . Cambridge University Press. An efficient pseudo-random generator provably as secure as syndrome decoding. Future work We believe that the Syndrome-Fortuna time and memory performance can be improved considerably by changing the generating function “A”. Pseudorandom generation from one-way functions. solid security and reasonable speeds 5. and Sendrier. and Van Tilborg. E. Fischer. clearly.. D. and Vaudenay. A family of fast syndrome based cryptographic hash functions. J. Ferguson. and Luby..-B. E. In EUROCRYPT. B. especially on diskless servers. Levin. N.2.. Springer. Finiasz. On the security of some cryptosystems based on error-correcting codes. J. F. (1993). providing bits with good statistical properties. S. where the usual randomness sources are not present. I. References Augot. England. L’Ecuyer. In EUROCRYPT. on Theory of Computing. and Stern. R. 21st Ann. Foundations of Cryptography. McEliece. or in cloud-computing scenarios. L.. independent of detailed entropy studies. R. 2005] could reduce drastically these costs. Dobb’s Journal of Software Tools. Testu01: A c library for empirical testing of random number generators.... Goldreich. We believe that the generator implements a satisfying trade-off. R. O. Volume I: Basic Tools. Wiley & Sons.. (1996). SIAM J. Chabaud. L.. (2005). ACM Symp. N. (1978).The proposed algorithm can be considered for use in various scenarios. and Simard. (1996). ACM Transactions on Mathematical Software. (2007). (1994).). Mycrypt 2005. Cambridge. Practical Cryptography. 33(4). M. (2001). the entropy collection strategy allows the use of new randomness sources. shown in figure 5. Generator specific parameters should be studied and modified to allow this use. Berlekamp. D. A natural extension of this work is to identify these sources and promote their interconnection with the Linux kernel entropy collection system. 22(6):1163–1175. P. [Augot et al. and Schneier. and Michael. H. The approach used in the work of Augot et al.

cristine. Apesar de auxiliar na identificac ¸a ario. de vers˜ oes ativas de malware para an´ alise. Silva1 . por´ em sem permitir que suas atividades causem dano a ` rede. Dessa forma. quanto o acompanhamento de sua execuc ¸a ´ que esse comO grande problema de se analisar o comportamento de um bot e ´ garantido acesso a ` Internet. Para se entender melhor o comportamento desses sistemas e ario um ambiente ´ necess´ de monitorac ¸a e ao bot a impress˜ ao de estar executando com liberdade ˜ o que dˆ na Internet. se torna dif´ os destinat´ arios. Klaus Steding-Jessen3 . nesse caso). ou de validade limitada pela volatilidade da a ´ essencial que se tenha uma forma flex´ e ıvel de acompanhar o comportamento de novos ` medida que eles surgem. Entretanto. botnets ocupam uma posic ¸a ˜ o de mensagens a partir de um larmente importante. por sua capacidade de disseminac ¸a grande n´ umero de m´ aquinas comprometidas (bots) [Xie et al. ˜o 1.br – N´ ucleo de Informac ¸a ¸a gabrielc@dcc. Alison C.ufmg. Chaves3 . Entretanto.br. Introduc ¸a ˜ o particuNo cen´ ario atual de combate ao spam na Internet. registrando apenas o seu comportamento na m´ sem permitir o seu acesso a aquina ˜ o do bin´ ˜ es n˜ local. a fim de criar mecanismos de detecc ¸a (denominadas spambots. a informac ¸a ocrifa.dorgival}@dcc.org/?action=sample_reports 136 . Arantes2 .mhp}@cert. portamento s´ o pode ser observado em sua totalidade se lhe e Como esses programas operam seguindo os comandos de um elemento central. a informac ¸a ˜ o que se tem sobre esses sistemas costuma ser ap´ ocrifa ou deriva de esforc ¸ os de engenharia reversa pontuais. um bot s´ o passa a atuar no envio de spam. sem validac ¸a ıfica.br Resumo.br. Wagner Meira Jr. ˜ o sobre o comportamento de botnets tende a ser ap´ Na pr´ atica. se limitam a executar os bin´ arios sob suspeita ` rede. Um dos grandes ´ entender como essas redesafios para a comunidade de seguranc ¸ a que combate spam e ˜ o e bloqueio dessas fontes de spam des operam.P.1 . essas informac ¸o ao contribuem para o entendimento de seu comportamento na rede. Botnets s˜ ao consideradas a origem de grande parte do spam observado atualmente. como o Anubis1 . Dorgival Guedes1 1 ˜ o – Universidade Federal de Minas Gerais Departamento de Ciˆ encia da Computac ¸a 2 CSIRT/POP-MG – Equipe de resposta a incidentes de seguranc ¸ a do POP-MG 3 CERT. denominado Comando-e-Controle (C&C). {meira. ap´ os se conectar ao seu C&C e obter instruc ¸o udo das mensagens e ` Internet. 1 http://anubis. Resposta e Tratamento de Incidentes de Seguranc ¸a ˜ o e Coordenac ˜ o do Ponto Br NIC.pop-mg. por exem˜ es sobre o conte´ plo. ˜ o cient´ ´ rea. Marcelo H.iseclab. Cristine Hoepers3 . Este artigo curto descreve uma implementac ¸a ˜ o de tal sistema atualmente em curso.SpSb: um ambiente seguro para o estudo de spambots Gabriel C. se o malware tem acesso a ıcil evitar que cause dano (por exemplo. Por esse motivo.br – Centro de Estudos. enviando spam).br {jessen. servic ¸ os de an´ alise de comportamento de bin´ arios.ufmg.rnp. Esse acompanhamento envolve tanto a coleta de bin´ bots a arios ˜ o. alison@csirt. 2008].

sem permitir que ataques reais ocorram. seguinte discute detalhes de implementac ¸a Figura 1. Nesta sec ¸a ˜ o previstos para cada elemento do sistema. o gerente de m´ contaminac ¸a aquinas virtuais est´ a sujeito a ataques a partir da m´ aquina virtual (ao menos potencialmente) e diversos tipos de software malici˜ o em uma m´ oso hoje incluem algum tipo de mecanismo para detectar sua instalac ¸a aquina virtual [Miwa et al. Arquitetura proposta O sistema de captura inclui um honeypot especializado na coleta de malware e ˜ o. ˜ es u ´ teis. como a identificac ˜ o de amostras claramente sem inteeles fornecem informac ¸o ¸a ˜ es de outros bots j´ resse nesse caso. sua execuc ¸a A m´ aquina alvo que ser´ a infectada pode ser uma m´ aquina real. Para isso. SpSb (Spam Sandbox). A arquitetura inclui um sistema de captura de ˜o amostras de bin´ arios de poss´ ıveis spambots e o sandbox propriamente dito.´ propor um ambiente seguro para o estudo de spambots O objetivo deste artigo e que seja ser capaz de registrar o comportamento de todo o ciclo de vida de um spambot analisando seu tr´ afego de rede. tornando simples recuperar uma tuais simplifica a gerˆ encia e configurac ¸a ˜ o. A opc ¸a ˜ es representa um compromisso entre a flexibilidade de operac ˜ o. Entretanto. cada amostra e ´ comparada a do sistema e ´ feita a servic outras j´ a avaliadas e uma consulta e ¸ os de an´ alise externos. O primeiro desafio um servic ¸ o de avaliac ¸a ´ identificar as amostras de interesse. 2007]. pretendemos utilizar a infraestrutura de rede ilustrada na figura 1. esse ambiente se encaixa na ˜ o de um sandbox. antes ou ap´ vis˜ ao de uma m´ aquina em um determinado ponto de sua configurac ¸a os a ˜ o pelo bot. a seguranc as duas opc ¸o ¸a ¸a do sistema e a gama de malware que poder˜ ao ser avaliados. O uso de m´ aquinas vir˜ o do sistema. ou uma m´ aquina ˜ o hoje dispon´ ˜ o entre virtual executando em um dos ambientes de virtualizac ¸a ıveis. para evitar que a amostra contamine algum elemento de forma inesperada e para garantir que o mecanismo de transferˆ encia n˜ ao possa vir a ser explorado por um malware durante ˜ o no ambiente. 137 . da´ definic ¸a ı o nome escolhido para o sistema. como v´ ırus e ou variac ¸o a coletados. Neste ambiente. Pelas suas caracter´ ısticas. Apesar desses servic ¸ os n˜ ao serem suficientes para determinar todo o comportamento de uma amostra. 2. filtragem e armazenamento de amostras. A sec ˜o discutimos os princ´ ıpios de operac ¸a ¸a ˜ o relacionados. A transferˆ encia de uma amostra selecionada para o sandbox deve ser feita de forma bastante controlada. Arquitetura proposta Para garantir um ambiente seguro para an´ alise de malware. ˜ es com seu C&C sem efetiqualquer bot sob an´ alise deve ser capaz de trocar informac ¸o vamente conseguir enviar o spam.

pois ele deve ser informado sobre como responder ˜ o redirecionada (por exemplo. uma sequˆ encia desse tipo poderia ser vista da seguinte forma a partir do ´ seguida por uma conex˜ controlador de acesso: uma consulta DNS e ao ao porto 6667 (IRC) do enderec ¸ o IP fornecido pela resposta DNS — o controlador permite a conex˜ ao e a troca de tr´ afego com o destino. (iii) redirecionar o pacote para um emulador de servic ¸ os. (ii) permitir que o pacote siga seu caopc ¸o minho para a Internet. que deve se encaixar em uma das gerado pela m´ aquina infectada e decidir sua destinac ¸a ˜ es a seguir: (i) processar o pacote localmente. uma conex˜ a cada requisic ¸a ao SMTP redirecionada deve ser respondida com o nome do servidor alvo pretendido. ou (iv ) descartar o pacote. Entre esses protocolos destacam-se ataques a outras ˜ o de spam. As mensagens de spam coletainformac ¸a ˜ es que permitam classific´ das s˜ ao armazenadas e processadas para extrair informac ¸o a-las.´ dividida entre o controlador A tarefa de controlar a vis˜ ao do bot para a Internet e ´ respons´ de acesso e o emulador de servic ¸ os. ´ automatizar as decis˜ Um objetivo importante do Spam Sandbox e oes sobre que tr´ afego do bot pode acessar a Internet e que tr´ afego deve ser direcionado para o emulador. caso algum tr´ afego seja identificado com um ataque iniciado pelo bot (como o envio de spam). bem como seu enderec ¸ o IP). pelo tipo de protocolo utilizado (p. Pacotes identificados como associados ao fluxo de controle do bot. temente in´ ocuas. O primeiro e avel por interceptar cada pacote ˜ o. direcionados principalmente ao seu Comando-e-Controle. Para evitar problemas devido a ataques que porventura possam ser encapsulados em consultas aparen˜ o deve ser implementado.ex. por se tratar de uma conex˜ ao ao C&C.. al´ em disso. Por exemplo. Essa ˜ o deve ser repassada pelo controlador de acesso. em muitos casos. O 138 . devem ser encaminhados normalmente pela ˜ o pode ser feita atrav´ Internet. Aspectos de implementac ¸a O sistema est´ a sendo implementado utilizando m´ odulos dispon´ ıveis na comunidade de sofwtare livre e aberto. armazenando a mensagem de spam que o bot acha que foi entregue. ˜o 3. como mencionado. IRC) e pelo momento da conex˜ ao. Essa identificac ¸a es dos padr˜ oes de DNS. o controlador notifica o emulador sobre o nome e o IP que o bot tenta conectar e passa a redirecionar o tr´ afego para aquele IP para o emulador. que passa a executar o c´ odigo do emulador de um servidor de correio. o emulador de servic ¸ os deve manter uma comunicac ¸a constante com o controlador de acesso. A interceptac ¸a ao ´ poss´ de consultas DNS de um bot e ıvel. um controle rigoroso de taxa de comunicac ¸a Tr´ afego redirecionado para o emulador de servic ¸ os inclui todo tipo de protocolo que seja classificado com parte de um ataque. bem com m´ odulos especialmente desenvolvidos para esse fim. inferir a natureza do seu C&C [Choi et al. uma nova consulta ´ seguida por uma conex˜ DNS e ao ao porto 25 (SMTP) do novo enderec ¸ o — nesse caso. 2009]. Isso ˜ o do enderec pode ser feito pela re-escrita dos enderec ¸ os de resposta. Pacotes como consultas DNS devem ser tratadas diretamente pelo ˜ o desse protocolo tem dois objetivos: observando o padr˜ controlador. o servidor de DNS do controlador de acesso ˜ o necess´ tem a informac ¸a aria para redirecionar o tr´ afego para o emulador de servic ¸ os. ou pela observac ¸a ¸o ˜ o de regras de roteamento que interceptem o tr´ de resposta e pela inserc ¸a afego para aqueles enderec ¸ os e os redirecionem para o emulador. m´ aquinas com o objetivo de propagar o malware e tentativas de distribuic ¸a ˜o Como mencionado anteriormente.

carnivore. podemos nos ˜ o de imagens e armazenamento de snapshots para beneficiar dos recursos de manipulac ¸a ˜ o pr´ ˜ o de malware e ´ feita retornar o sistema a uma configurac ¸a e-determinada. sem entretanto oferecer uma confirmac ¸a ıfica para esses princ´ ıpios. para simplificar a coleta de amostras. Outros spam e servic ¸ os podem ser inclu´ ıdos posteriormente. No momento. O emulador de servic ¸ os cont´ em um segundo servidor Dionaeae um honeypot especialmente desenvolvido para a coleta de spam [Steding-Jessen et al.sistema de coleta de amostras de malware utiliza o honeypot Dionaea2 .org/ 4 http://www. T´ ecnicas de an´ alise do spam coletado est˜ ao sendo desenvolvidas para identificar os padr˜ oes de tr´ afego das botnets e os padr˜ oes de m´ aquinas alvo que seriam atacadas pelo bot caso ele operasse na Internet. Ambos os servidores est˜ ao sendo configurados para se adequarem ao ambiente emulado. A inserc ¸a atualmente atrav´ es de um dispositivo USB. ao assumir que todas as conex˜ oes que chegam a um servidor de correio eletrˆ onico tentando entregar mensagens de spam se originam de botnets. 2008]. ˜ o obtida dessas fontes e ´ manual. No futuro.com/security_center/security_tools/ 139 . com um tratamento especial dos pacotes de retorno do emulador de servic ¸ os para garantir o roteamento correto de pacotes com enderec ¸ os forjados. Nesse esses princ´ ıpios gerais e ¸a 2 3 http://dionaea. Em particular. estamos estudando o ambiente virtualizado para poder configurar a amostra diretamente na imagem da m´ aquina virtual. 2008]. 2009].iseclab.norman. O processo de captura e re-escrita de pacotes e regras PF. Por exemplo. O software de controle do PF est´ a sendo desenvolvido para interceptar os pacotes recebidos. eles devem receber comandos do controlador de acesso para saberem quais enderec ¸ os IPs devem ser emulados e qual o nome o servidor deve ser usado em cada caso. O coletor de ´ basicamente o mesmo desenvolvido originalmente para aquele honeypot. ´ implementado com uma m´ O controlador de acesso e aquina FreeBSD. Trabalhos relacionados Muitos trabalhos se orientam por princ´ ıpios gerais universalmente reconhecidos a res˜ o cient´ peito de botnets. utilizando o sistema de filtragem de pacotes nativo daquele sistema. 2010].br e o CSIRT/POP-MG [Guerra et al. inserir novas regras para determinar como as novas conex˜ oes ser˜ ao tratadas e notificar o emulador a respeito dos servic ¸ os que ele deve emular. Outro trabalho que se orienta por confirmac ¸a ´ o da ferramenta de detecc ˜ o BotGad [Choi et al. Dessa forma. o PF (BSD Packet Filter). As amostras coletadas s˜ ao enviadas para an´ alise pelo servic ¸ os Anubis3 e Norman Sandbox4 . O ambiente e ˜ o da m´ mover elementos de configurac ¸a aquina virtual que s˜ ao usualmente utilizados por ´ uma m´ bots para determinar se o ambiente e aquina virtual. Essas t´ ecnicas s˜ ao desenvolvidas em conjunto com outros trabalhos de an´ alise de spam atualmente em atividade no grupo do DCC/UFMG em conjunto com o CERT.it/ http://anubis. tomar decis˜ oes sobre os pr´ oximos passos. Xie et al. identificam tais redes com base nos enderec ¸ os de origem das conex˜ oes contendo spam. o processamento ser´ a an´ alise da informac ¸a a automatizado com extratores autom´ aticos. 4. sem uma ˜ o direta de sua natureza [Xie et al. ˜ o para a m´ ´ a utilizac ˜ o de uma m´ Nossa primeira opc ¸a aquina infectada e ¸a aquina ´ configurado de forma a revirtual executando no ambiente Virtual Box. As interfaces da m´ aquina s˜ ao conectadas atrav´ es de uma switch virtual transparente configu´ feito com rada pelo sistema operacional.

como o envio de spam. Apesar de j´ A implementac ¸a a conceber˜ o completa. h´ mos uma soluc ¸a a ainda muito espac ¸ o para pesquisa no desenvolvimento de ˜ o de padr˜ m´ etodos para identificac ¸a oes de controle e de ataques e para o aumento do grau ˜ ˜ o de servic de automatizac ¸ ao dos mecanismos de redirecionamento e emulac ¸a ¸ os. H. com servidores que simulam sites populares. Xie. Conclus˜ ao e trabalhos futuros Observar o comportamento de uma botnet em uma campanha de spam a partir de um ˜ es sobre esses sistemas de seus componentes pode gerar um grande volume de informac ¸o ˜ o.ex. ao mesmo tempo que se evite que o mesmo ` rede (p. C. pages 291–306. de forma bastante automatizada. (2009). et al. In Proceedings of the 7th CEAS. (2007). Steding-Jessen. Using low-interaction honeypots to study the abuse of open proxies to send spam. enquanto comportamentos daninhos. In Proceedings of the USENIX DETER Workshop on Cyber Security Experimentation and Test. mas que ` Internet real. ACM. SIGCOMM CCR.. (2010). Entretanto. J. Spamming botnets: signatures and characteristics. Nesse caso. H. Infocomp (UFLA). pages 1–9. um grupo de m´ aquinas com certos comportamentos comuns na rede (p. and Kim. J´ ac ¸a a Mimetic Internet prop˜ oe um arcabouc ¸ o isolado que tenta reproduzir a Internet. Miwa.. Lee. (2008).. P. et al. A combinac ¸a altamente flex´ ıvel. S. (2009). In Proceedings of the Fourth International ICST COMSWARE. com capacidade de redirecionamento e re-escrita de pacotes. K. realizar esse estudo exige que se permita que e formas de evitar sua ac ¸a um spambot acesse a Internet para estabelecer contato com seu comando-e-controle e se convencer de que est´ a executando livremente. H. mas ˜ o de um operador. H. 38(4):171–182. John. 2009] e Mimetic Internet [Miwa et al. Design and implementation of an isolated sandbox with mimetic internet used to analyze malwares. contactar o restante da sua rede. pages 1–8. DNS semelhantes) e Os trabalhos mais pr´ oximos desta proposta s˜ ao Botlab [John et al. et al. EUA. podem ser direcionados para servidores apropriados. que deve decidir como reagir a cada depende diretamente da intervenc ¸a ˜ o do bot sendo observado. Botgad: detecting botnets by capturing group activities in network traffic. (2008).caso. Studying spamming botnets using botlab. Exploring the spam arms race to characterize spam evolution. P.. New York. Redmond. et al. o que limitaria sua ac ¸a 5. et al. por exemplo. 2007]. Guerra. In Proceedings of the 6th USENIX NSDI. pelo envio de spam). cause danos reais a ˜ es para que essa an´ A arquitetura descrita neste artigo visa oferecer condic ¸o alise ˜ o de um filtro de pacotes seja poss´ ıvel. um spambot n˜ n˜ ao permite nenhum acesso a ao seria capaz de ˜ o. Referˆ encias Choi. e um conjunto de emuladores de servic ¸ os operando de forma integrada a esse filtro pode permitir que pacotes/fluxos identificados como de controle possam ter permiss˜ ao para acessar a Internet. Botlab prop˜ oe uma arquitetura de an´ alise segura. Y. WA. consultas ´ identificado como uma botnet.ex. 140 . 7:44–52. ˜ o desse sistema se encontra em curso.

S˜ ao dados impressionantes para um servic ¸ o t˜ ao antigo para os padr˜ oes da Internet. Por´ em.dorgival}@dcc.br – N´ ucleo de Informac ¸a ¸a {gabrielc. Tentar solumanutenc ¸o ¸o ´ uma sa´ cionar este problema com filtros mais restritivos nem sempre e ıda. em maio de 2009. bem como suas caracter´ ısticas internas.Fatores que afetam o comportamento de spammers na rede Gabriel C.cristine. Os resultados mostram que as variac ¸o ¸a ˜ es na configurac ˜o dos cen´ arios pode afetar drasticamente o volume de spam coletado. o trabalho identificou dois tipos bastante diversos de transmissores: spammers em larga escala. atualizac ˜ es e refinamentos para que se mantenham eficazes.1 . pois h´ a o risco de gerar excesso de falsos positivos tornando a ferramenta in´ util. ou pior. ´ estud´ Uma forma mais recente e diferenciada de abordar o problema do spam e a-lo ´ ptica: entender o comportamento dos spammers (respons´ de uma nova o aveis pelo envio do spam) [Giles 2010] dentro da rede. Com objetivo de conter esse problema foram desenvolvidas tecnologias avanc ¸ adas ˜ o de filtros de detecc ˜ o do spam. Entretanto. Introduc ¸a O correio eletrˆ onico. Chaves2 .br Resumo. muitos desses filtros dependem de constantes e custosas t´ ecnicas de evas˜ ao e ofuscac ¸a ˜ es. Marcelo H. e botnets. causando um problema ainda maior ao criar avers˜ ao no usu´ ario. Em particular. Wagner Meira Jr.ufmg. continua sendo um dos mais populares. trocando 294 bilh˜ oes de mensagens por dia (em m´ edia. Silva1 . Klaus Steding-Jessen2 .P. que pode preferir at´ e ficar desprotegido. devido a encias de seguranc ¸ a de seu ˜ o. ˜o 1.br {jessen. Cristine Hoepers2 .8 milh˜ oes de novos e-mails que trafegam na rede por segundo) [Radicati 2009]. normalmente enviadas em larga escala com objetivos que variam desde marketing simples at´ e fraude ideol´ ogica e/ou banc´ aria.9 bilh˜ oes de usu´ arios de e-mail em todo o mundo.mhp}@cert. e assim trazer mais informac ¸o ˜ es para o combate a eles. que enviam cada uma um n´ umero limitado de mensagens. Resposta e Tratamento de Incidentes de Seguranc ¸a ˜ o e Coordenac ˜ o do Ponto Br NIC. O prop´ osito deste trabalho e ´ entender melhor o comportamento de spammers (respons´ aveis pelo envio de mensagens de spam) na rede.br – Centro de Estudos. dada a constante evoluc ˜ o das para a criac ¸a ¸a ¸a ˜ o. ˜ o do e-mail se deve a sua faciliMuitos consideram que o sucesso da popularizac ¸a ` s deficiˆ dade de uso e simplicidade de projeto. Para isso utilizamos um sistema de honeypots virtualizados especialmente desenvolvidos para a coleta de spam que possibilita avaliar a influˆ encia de diversos fatores no comportamento dos transmissores. Nessa abordagem procura-se n˜ ao apenas analisar os 141 .meira. apesar de ser um dos mais antigos servic ¸ os da Internet. havia mais de 1. Segundo um estudo do grupo Radicati. que usam poucas m´ aquinas com muitos recursos. Dorgival Guedes1 1 2 ˜ o – Universidade Federal de Minas Gerais Departamento de Ciˆ encia da Computac ¸a CERT. o e-mail e ´ alvo constante de abusos como o protocolo e ao seu baixo custo de operac ¸a spam: mensagens eletrˆ onicas n˜ ao solicitadas. s˜ ao mais de 2.

br (Centro de Estudos. observou-se ind´ ıcios de que v´ arios dos fatores no processo de coleta de dados influenciavam consideravelmente na quantidade e nas caracter´ ısticas do spam coletado. e ´ nas a an´ alise do conte´ udo de spam n˜ ao gera evidˆ encias para obter essas informac ¸o necess´ ario analisar o abuso em si e n˜ ao apenas isso. quantificar essa correlac ¸a ˜ o mais forte entre o comportamento dos spammers Dentre os ind´ ıcios de correlac ¸a e as caracter´ ısticas do alvo. em conjunto. portanto. ˜ o 2 desenvolve O restante deste trabalho est´ a organizado da seguinte forma: a sec ¸a ˜ o 3 mostra e a metodologia de pesquisa adotado na coleta e na an´ alise dos dados. O objetivo deste trabalho e ¸a dos spammers ao serem confrontados com diversos cen´ arios de ataque. Resposta e Tratamento de Incidentes de Seguranc ¸ a no Brasil). evidenciava uma aparente ˜ o do comportamento dos spammers e as propriedades do alvo atacado (no caso. mas tamb´ em caracterizar os fatores ou a forma como o spammer ˆ mbitos e cen´ ´ de particular interesse para se comporta em diferentes a arios. foram selecionados os fatores que seriam avaliados no estudo. ainda antes ´ rea. a sec ¸a oes e discute os trabalhos futuros. ´ necess´ Para realizar esse estudo e ario criar diferentes cen´ arios para o ataque dos spammers para possibilitar a an´ alise de quanto as m´ etricas consideradas s˜ ao influenciadas pela mudanc ¸ a dos fatores. Para atingir esse objetivo foi projetado e implementado uma coleta de dados especial capaz de captar spam em diferentes cen´ arios e assim possibilitar a analise da in˜ es de fatores nas m´ fluˆ encia de diferentes combinac ¸o etricas de interesse. Esse tipo de informac ˜o tipos de ataques s˜ ao mais comuns para a disseminac ¸a ¸a comportamental pode levar a novos tipos de defesas precoces contra o spam. ao dar escolher a m´ aquinas na rede com determinadas caracter´ ısticas. finalmente. Apedo envio na rede. tipos de ataque aplicados) que. j´ a que pode gerar informac ¸o bloquear tais abusos antes que consumam recursos de rede e dos servidores alvo. a sec ¸a ˜ o 5 apresenta algumas conclus˜ estudo. mas tamb´ em verificar como o comportamento do spammer muda se o alvo do abuso tem diferentes caracter´ ısticas. A concepc ¸a quente arquitetura metodol´ ogica deste estudo nasceu exatamente da ideia de verificar e ˜ o. ´ indispens´ E avel entender o que leva o spammer a dar esse tipo de preferencia. c´ odigo de a dos enderec ¸ os utilizados. correlac ¸a ˜ o e conseas propriedades configuradas na interface exposta pelo honeypot). a sec ¸a ˜ o 4 apresenta os trabalhos relacionados ao discute os resultados obtidos na pesquisa. s˜ ao capazes de caracterizar o comportamento em estudo. etc) em m´ etricas (quantidade de spam enviado. Esse enfoque e ˜ es que permitam identificar e a comunidade de seguranc ¸ a. e pode ainda abrir caminho a novos tipos de pesquisas na a ˜ es. e ainda entender quais ˜ o do spam. Para isso quan˜ es de banda. Metodologia ˜ o de v´ Durante a realizac ¸a arios dos trabalhos anteriores do nosso grupo de pesquisa utilizando um honeypot coletor de spam. 2. foram utilizados coletores de spam desenvolvidos pela equipe de do Cert. Para realizar esse processo de coleta. Essa influˆ encia. vulnerabilidades tificamos a influˆ encia de diversos fatores (como restric ¸o ´ rea dispon´ ıveis para ataque. utilizando o princ´ ıpio do experimento fatorial. A dificuldade de analisar a origem e o caminho das mensa´ uma das principais barreiras na caracterizac ˜ o do comportamento gens na rede. ainda e ¸a ´ fazer uma caracterizac ˜ o do comportamento dos spammers.˜o padr˜ oes encontrados dentro das mensagens enviadas ou os m´ etodos de evas˜ ao de detecc ¸a utilizados pelos autores. 142 .

entretanto. armazena-a localmente e responde ˜ o. os autores identificaram padr˜ oes ˜ o da m´ claramente usados pelos spammers para registrar a operac ¸a aquina sendo atacada. mas respondendo como o servidor que seria o alvo. como no caso do open relay local. Para qualquer conex˜ ao observada nessas portas. como a porta 587/tcp. SOCK5 e HTTP. 2008]. o spampot passa a simular o servidor de correio naquela conex˜ ao. as listas de bloqueio s˜ disseminac ¸a ao consideradas um elemento importante. e outras que costumam ser usadas como portas alternativas. Quando o transmissor que iniciou a conex˜ ao inicial os comandos do protocolo para envio de uma mensagem a um destinat´ ario (ou grupo deles). Tais mensagens parecer ter como objetivo testar o funcionamento da m´ aquina atacada. spampot pode encaminhar essas mensagens ou n˜ ao. Considerando-se seu nho e organizac ¸a ˜ o.1. A objetivos deste trabalho e ´ nica situac ˜ o em que uma mensagem pode ser enviada pelo coletor e ´ no caso de mensau ¸a gens que sejam identificadas como mensagens de teste geradas pelo atacante. se o comando seguinte e ´ um Quando uma conex˜ ao e pedido de conex˜ ao (proxy) para o porto 25 de outra m´ aquina. Como mencionado anteriormente. O coletor aceita conex˜ oes na porta 25/tcp. No contexto mundial do combate a ˜ o de spam. o coletor aceita a mensagem. indicando que a mensagem seria corretamente com o c´ odigo de sucesso para a operac ¸a encaminhada. dependendo da sua configurac ¸a Protocolos emulados. com diversas melhorias em termos de desempe˜ o de dados. associados a todas as portas comumente usadas por esses protocolos que emulam o comportamento de proxy aberto associado a esses protocolos. Ao longo do desenvolvimento do honeypot de coleta de spam. H´ a muita controv´ ersia. ˜ o (ou n˜ ` Utilizac ¸a ao) de listas de bloqueio. ´ estabelecida para uma dessas portas. Um esquema simplificado do funcionamento ´ apresentado na figura 1 e os detalhes de operac ˜ o relevantes s˜ do coletor de spam e ¸a ao discutidos a seguir. Esquema simplificado do funcionamento do coletor (honeypot ).˜ o dispon´ 2. um dos ´ coletar spam sem permitir que ele se propague pela rede. especialmente do ponto de vista dos administradores de grandes servidores de correio eletrˆ onico. SOCKS4a. o coletor se comporta como um servidor SMTP padr˜ ao (mail relay). sobre a efetividade dessas listas ao longo 143 . passando pelas eta˜ o da conex˜ pas de inicializac ¸a ao SMTP corretamente. O coletor de spam utilizado e as possibilidades de configurac ¸a ıveis ´ uma evoluc ˜ o do sistema desenvolvido O coletor de spam utilizado e ¸a por [Steding-Jessen et al. Tratamento de mensagens de teste. O ˜ o. O spampot tamb´ em implementa emuladores para os protocolos SOCKS4. Figura 1. h´ ˜ o que s˜ modo de operac ¸a a pelo menos quatro dimens˜ oes de configurac ¸a ao importantes para o desenvolvimento deste trabalho. mas com funcionalidades semelhantes. tradicionalmente associada ao protocolo SMTP.

um para cada dimens˜ ao na ordem apresentada. Outra forma tamb´ em adotada.org/zen/ 144 . ´ importante nos referirmos No restante deste trabalho. ao n´ umero de conex˜ oes aceitas concorrentemente. Para cada conex˜ ao recebida. dependendo da posic ¸a ´ permitido. DNBL mas de mais f´ acil interpretac ¸a ˜ es de (i) permitir o encaminhamento de e CLIM para identificar.SMTP. o coletor verifica o status daquele enderec ¸ o IP na lista e armazena o resultado. adotamos o uso do asterisco (*) para indicar quando desejamos sas convenc ¸o agrupar cen´ arios independentemente de alguma vari´ avel (p. abrindo diversas conex˜ oes ao mesmo tempo e se valendo do princ´ ıpio de controle de con˜ o maior da banda de acesso ao gestionamento do protocolo TCP para garantir uma frac ¸a computador atacado.CLIM representa todas a ˜ o em que as mensagens de teste s˜ configurac ¸a ao repassadas. consideramos ent˜ ao as quatro dimens˜ oes ˜ o dispon´ de configurac ¸a ıveis: (i) o repasse de mensagens de teste.*. temos 16 cen´ arios diferentes que devem ser considerados no experimento fatorial. TMSG. Com a combinac ¸a cada um com dois n´ ıveis. (ii) limitar o abuso ao protocolo SMTP. indicando quais vari´ aveis de ˜ o estava ativas em cada caso. essas abreviaturas s˜ correntes. (ii) o tipo de protocolo ˜ o de enderec ˜ es vulner´ avel.spamhaus. Opc ¸o ¸a Para avaliar o comportamento dos spammers.DNBL. Para fornecer mais informac ¸o em um acom1 panhamento da efetividade da lista Spamhaus Zen . apenas o protocolo SMTP ´ utilizada e h´ est´ a dispon´ ıvel.* repre˜ es que n˜ senta todas as configurac ¸o ao encaminham mensagens de teste e emulam apenas mail relay). ˜ es anteriores. Para facilitar a interpretac ¸a ao concatenadas para gerar uma sequˆ encia posicional. a lista de bloqueio da Spamhaus e a limites para conex˜ oes ˜ es particulares n˜ simulˆ aneas. bem como restringir o n´ umero de conex˜ oes simultˆ aneas de uma mesma origem. consiste em utilizar as abreviaturas TMSG. (iii) negar conex˜ ao a m´ aquinas que figurem em listas de bloqueio da SpamHaus e (iv) limitar o n´ umero de conex˜ oes con˜ o.ex. o coletor pode ser confiConex˜ oes concorrentes. ainda compacta ˜ o. as opc ¸o mensagens. 2. Nas discuss˜ oes a seguir. uma das listas consideradas mais ˜ o de m´ eficazes na identificac ¸a aquinas que enviam spam.----. Esse mecanismo pode ser usado para evitar que transmissores de maior capacidade “monopolizem” o spampot. essa notac ˜o e ´ usada configurac ¸a ¸a ˜ es de espac em alguns casos por limitac ¸o ¸ o.2. Como o coletor n˜ ao exige ˜ o adotada foi uma soluc ˜ o de virtualizac ˜o uma m´ aquina com muitos recursos. que indica. SOCKS) de mensagens de teste n˜ ao e ˜ o de conex˜ tamb´ em s˜ ao emulados. Os casos em que aquelas configurac ¸o ao ativadas s˜ ao repre˜ o. respectivamente. Assim sendo. al´ em des˜ es a seguir. que (i) o repasse sentadas pela sequˆ encia “‘----”. o spampot mant´ do tempo. Nos resultados a seguir.˜ es a esse respeito.3. Arquitetura de coleta Para cada um dos 16 cen´ arios um coletor deve ser instanciado. SMTP. a soluc ¸a ¸a ¸a 1 http://www. ou (ii) os protocolos de proxy (HTTP. ou (iii) n˜ ao h´ a rejeic ¸a oes por listas de bloqueio. (iii) a de rejeic ¸a ¸ os encontrados em listas negras e (iv) restric ¸o ˜ o desses fatores. ˜ es de configurac ˜ o utilizados no experimento 2. ou (iv) ´ restric ˜ es ao n´ n˜ ao a ¸o umero de conex˜ oes concorrentes.. em diversos momentos e ao cen´ ario de coleta considerado.SMTP. Cada cen´ ario foi identificado como uma sequˆ encia de quatro bits. Al´ em das opc ¸o gurado para limitar on n´ umero de conex˜ oes concorrentes permitidas.

2. O canal de acesso foi fornecido pelo POP-MG (Ponto de Presenc ¸ a da RNP em Minas Gerais.598 453. mas o acesso de rede GNULinux 5. todos os dias durante o per´ ıodo de coleta em que um ou mais coletores n˜ ao estava ˜ o foram retirados do conjunto de an´ em operac ¸a alise. O conjunto final considerado seguro para an´ alise e ` coleta. evitando efeitos inesperados por interferˆ encia entre coletores. Os 16 cen´ arios de coleta foram confi˜ o simultaneamente. Toda a an´ alise realizada neste trabalho considera dados coletados depois que todos os coletores j´ a estavam ativos por mais de um mˆ es. executada em um sistema Linux com kernel 2. O uso de virtualizac ¸a recursos de hardware de cada m´ aquina. ˜ o utilizamos o VirtualBox vers˜ Como plataforma de virtualizac ¸a ao 3. 97 dias foram expurgados da coleta (houve um grande n´ umero de falhas de energia devido ao per´ ıodo de ´ composto por 116 dias nachuvas).de m´ aquinas para implementar os 16 cen´ arios como 16 m´ aquinas virtuais executando ˜ o garante o isolamento entre os em uma mesma m´ aquina f´ ısica. apesar do tr´ afego di´ ario continuar a variar razoavelmente ao longo dos dias. instalado nas dependˆ encias do POP-MG. uma plataforma de c´ odigo aberto. muito superior a ˜ o CLIM foi letores (configurados cada um com um limite de 1 Mbps).6 (Debian ´ nico. Nesse processo. na ` demanda agregada dos 16 coUFMG) com uma banda de 100 Mbps.495 182.564. Para evitar efeitos indesejados para a an´ alise. cada coletor leva algumas horas para ser identificado pelo primeiro processo de varredura e em alguns dias o volume de acessos atinge n´ ıveis mais altos. Quando a opc ¸a habilitada. Cada m´ aquina virtual tem um enderec ¸ o IP u ´ feito compartilhando uma u ´ nica interface de rede real atrav´ externo e es de um comutador virtual (a linux bridge) que conecta as interfaces virtuais de cada coletor. e permite um melhor aproveitamento dos recursos computacionais do laborat´ orio. ˜ o. o que garante que todos j´ a tinham se tornado bastante vis´ ıveis na rede. Resultados ˜ o em um servidor de grande porte do A arquitetura de coleta foi colocada em operac ¸a projeto. o n´ umero de conex˜ oes simultˆ aneas ao coletor em quest˜ ao foi limitado a 250 e as conex˜ oes concorrentes de um mesmo enderec ¸ o de origem foram limitadas a trˆ es. Dados gerais sobre a coleta utilizada O experimento fatorial nos permite identificar os grandes fatores de impacto na ˜ es de espac coleta. quele per´ ıodo de coleta. cada coletor se torna vis´ Ao entrar em operac ¸a ıvel para m´ aquinas que fac ¸ am varreduras de portas pelo espac ¸ o de enderec ¸ os IP.033 Tabela 1. Por limitac ¸o ¸ o n˜ ao apresentamos aqui os resultados da an´ alise segundo 145 . muito provavelmente todos os demais o seriam no mesmo processo. A tabela 1 indica alguns dos grandes n´ umeros relativos a Per´ ıodo: Dias considerados: Tr´ afego total (GB): Mensagens coletadas: Conex˜ oes registradas: 22/12/2010 a 22/07/2011 (213 dias) 116 3. A coleta foi gurados como m´ aquinas virtuais e colocadas em operac ¸a iniciada em 22/12/2010 e durou at´ e 22/07/2011.12.0). ainda mais considerando-se que utilizavam enderec ¸ os IP adjacentes — se um dos coletores foi acessado por uma varredura. 3. Em geral.

76 86.849 24.----.059 6.451. Apade m´ aquinas cujos enderec ¸ os aparecem em listas negras. Podemos ver pela tabela 2 O impacto da restric ¸a ´ ordens de grandeza inferior que o volume coletado nos cen´ arios apenas com mail relay e aos demais.----. Por inspec ¸a ˜ es isoladas) s˜ verificamos que todas (salvo alguma excec ¸o ao mensagens de teste.48 101.----.DNBL.340 10.202 17.421 32. Resultados agregados para metricas cumulativas Mensagens de teste e open mail relays ˜ o SMTP e ´ extremamente significativo. Isso faz sentido: se considerarmos que o coletor de 146 .34 281.SMTP. Nesta sec ¸a ` s diversas m´ ˜ o para oferecer uma tor.087.248 108. rankings associados a etricas e dados de distribuic ¸a ˜ o. Bits 0000 0001 0010 0011 1010 1011 1000 1001 1100 1101 1110 1111 0100 0101 0110 0111 Abreviaturas ----.165 17.DNBL.-------.051 688 828 734 838 26.----.----.---TMSG.o princ´ ıpio do fatorial 2k r.CLIM TMSG. verificamos ainda que se habilitamos a rejeic ¸a oes a partir ´ ainda pior.710 73.243 1. a grande maioria das m´ aquinas de spammers que se valem desse recurso j´ a foram inclu´ ıdas em listas negras.105 16.---TMSG.DNBL.----.CLIM TMSG.396.938 17.27 450.----.SMTP.486 122.766 10.----.332 64. em particular nos casos onde o encaminhamento de mensagens de teste n˜ ao ´ permitido (cen´ ˜ o direta das mensagens coletadas.447 13.SMTP.SMTP.372 64.DNBL.127.36 3.324.290 9.498 2.DNBL.*. o que sugere fortemente que spammers s´ o abusam open mail relays se conseguem enviar primeiro uma mensagem de teste.----.SMTP. ˜ o de conex˜ Al´ em disso.46 562. ˜ o ao Duas primeiras caracter´ ısticas dos dados s˜ ao claramente vis´ ıveis com relac ¸a ˜ o da coleta ao comportamento de ao volume de tr´ afego coletado: o impacto da restric ¸a ˜ o ao n´ open mail relay apenas (SMTP) e da restric ¸a umero de conex˜ oes concorrentes.-------.985 17.SMTP.*).SMTP.CLIM Volume (GB) 734.36 6.326 28.180 53.850 264 251 16 16 IPs 2.246.25 503.----.514 439 505 199 198 11 11 ´ Tabela 2.-------.DNBL.CLIM TMSG.582 71.031 10.---TMSG.----.----.----.437.45 217.CLIM TMSG. A tabela 2 apresenta os valores agregados das m´ etricas consideradas durante esta an´ alise.SMTP. que poderiam discuss˜ ao mais detalhada para os impactos de cada fator de configurac ¸a tamb´ em ser apresentados (de forma mais resumida) atrav´ es dos resultados do fatorial.705 474 480 76 78 Conex˜ oes 13.563.329 125.---TMSG.CLIM ----.----.----.965 2.SMTP.-------.DNBL.513 14.785.----.23 223. o resultado e rentemente. e arios ----.CLIM ----.CLIM ----. A ordem dos cen´ arios na tabela foi escolhida para facilitar a discuss˜ ao.DNBL. mas os resultados dessa an´ alise se refletem nos resultados ˜ o avaliamos os dados agregados por coleda discuss˜ ao apresentada a seguir.981.36 324.51 0 (655 KB) 0 (573 KB) 0 (82 KB) 0 (82 KB) Mensagens 19.

e ----. Esse impacto pode ser observado ao compararmos os pares de cen´ arios que diferem ape˜ o recebem um volume menor de tr´ nas pelo fator CLIM: aqueles que tˆ em a limitac ¸a afego ˜ o.DNBL. Nos cen´ arios *. um ˜ es variadas com valores semelhantes e dois cen´ grupo com configurac ¸o arios com resul˜ o entre os tipos de mentados ligeiramente inferiores. a identificac ˜ o da botnets: depois que uma mensagem de teste e ¸a ´ distribu´ m´ aquina supostamente vulner´ avel e ıdo entre v´ arios computadores da rede.DNBL. o encaminhamento bem sucedido das mensagens de teste daqueles onze foi suficiente para aumentar em quase 400 vezes o n´ umero de m´ aquinas que tentaram enviar mensagens usando ˜ o baseada em listas neaqueles coletores. os trˆ es cen´ arios com maior n´ umero de conex˜ oes s˜ ao nono. ˜ o de conex˜ O impacto da limitac ¸a oes concorrentes ˜ es O segundo fator identificado pelo experimento fatorial como respons´ avel por variac ¸o ˜ o no n´ no volume de mensagens foi a limitac ¸a umero de conex˜ oes simultˆ aneas permitidas. mas esse n´ umero j´ a sobe para pelo menos 439 nos cen´ arios TMSG. ˜ es opostas. e missor que j´ a foi inclu´ ıdo em uma lista negra se esconder atr´ as de outro mail relay para ocultar sua identidade. em volume de tr´ afego.---. que recebem o maior n´ com configurac ¸o umero de mensagens.----. um aumento de mais de 325 vezes. ´ interessante observar o n´ E umero de enderec ¸ os IP distintos observados tentando enviar mensagens em cada um daquele cen´ arios: apenas 11 m´ aquinas tentaram enviar mensagens nos cen´ arios ----. depois. h´ a uma grande variac ¸a sagens.´ do interesse do transspam aparece se faz passar por uma m´ aquina de usu´ ario infectada.CLIM. d´ ecimo e oitavo.STMP.STMP. em n´ umero de mensa- 147 . respectivamente.STMP.----.----. um transmissor com mais conex˜ oes teria uma frac ¸a ˜ es sem limitadores. Esse ` atuac ˜ o de comportamento sugere claramente que mensagens de teste est˜ ao associadas a ¸a ´ entregue com sucesso. temos dois cen´ arios. esses transmissores podem eclipsar outras dispon´ ıvel). respectivamente. especialmente se aquele relay j´ a demonstrou sua capacidade de enviar uma mensagem (de teste) com sucesso.514 no pior caso.*. apesar de alguns pontos merecerem uma discuss˜ ao posteriormente.* (sem rejeic ¸a gras). TMSG. que passaram todos a se aproveitar da m´ aquina dispon´ ıvel. pois o primeiro e o segundo cen´ arios com mais mensagens s˜ ao apenas o nono e o quinto. ˜ es antagˆ Configurac ¸o onicas com efeitos semelhantes Se observarmos os diversos valores exibidos na tabela 2. J´ a no n´ umero de mensagens.DNBL. notaremos que n˜ ao h´ a um padr˜ ao ` s m´ comum a etricas (exceto entre conex˜ oes e n´ umero de enderec ¸ os IP de origem distintos). o encaminhamento de mensagens de teste fez com que o n´ umero de m´ aquinas diferentes passasse de 198 para 64.*. Isso e ´ um primeiro ind´ que aqueles que n˜ ao tˆ em a limitac ¸a ıcio de que h´ a m´ aquinas de spammers que utilizam muitas conex˜ oes em paralelo para aumentar sua taxa de transmiss˜ ao (como TCP tem um sistema de controle de congestionamento que visa distribuir a ˜ o maior da banda banda entre fluxos. Al´ em disso. O volume de tr´ afego observado por cada cen´ ario n˜ ao apresenta grupos not´ aveis. Claramente.SMTP. Como em um primeiro momento basicamente os mesmos 11 transmissores enviaram mensagens em todos esses casos. Em situac ¸o fontes de spam e aumentar seu aproveitamento da m´ aquina abusada.

acesso restrito.----: 101 GB. Al´ em disso. que repassa mensagens de teste) recebesse o maior volume de tr´ afego. que podem limitar a banda dispon´ ıvel para os grandes transmissores. para aumentar sua taxa para o destino e assim ganhar um vantagem sobre outros spammers. sugere que os transmissores que atacam essas m´ aquinas enviam um volume elevado de mensagens.----: 450 GB). o fato da ˜ o do n´ ˜ o no volume de tr´ restric ¸a umero de conex˜ oes concorrentes causar uma reduc ¸a afego para cen´ arios semelhantes tamb´ em sugere que os abusos a proxies podem ser levados a cabo por m´ aquinas que abrem um grande n´ umero de conex˜ oes paralelas. 148 .----.36/23). o repasse das mensagens de teste causa o aumento do abuso da m´ aquina por botnets com mensagens menores.5 KB em m´ edia (da´ ı. uma an´ alise dos enderec ¸ os encontrados entre os maiores transmissores naquele caso indica um conjunto grande de m´ aquinas de uma mesma faixa de enderec ¸ os (184. TMSG.----.----.cert.br. observam que os primeiros s˜ ao respons´ aveis por mais de 90 % do volume e do n´ umero de mensagens [Steding-Jessen et al.----. esperava-se que a configurac ¸a (TMSG. o Entretanto.gens. Entretanto. com um volume de tr´ afego significativo. J´ a o cen´ ario ----. menos que segundo lugar nessa m´ etrica). somado aos fatos de haver proporcionalmente muito menos enderec ¸ os IP nos cen´ arios que emulam proxies.DNBL. seria a princ´ ıpio um alvo maior para os mesmos transmissores de maior volume e mensagens maiores. por n˜ ao repassar mensagens de teste.----. mas com mensagens bem menores que as dos transmissores que aparecem nos primeiros lugares. Isso.----. vemos que quando o coletor oferece apenas a emulac ¸a ˜o volume de tr´ afego coletado equivale a 23 % do tr´ afego coletado por uma configurac ¸a equivalente que tamb´ em emule proxies abertos (TMSG. 2 http://kolos. quando emulando tanto proxies quanto mail relays. uma contagem maior de mensagens sem um volume t˜ ao significativo. certamente as condic ¸o emular proxies e mail relay. Aparentemente. mente pelas condic ¸o O abuso a proxies est´ a associado a spammers com mais recursos Nas estat´ ısticas de trabalhos anteriores do grupo Spammining.----. n˜ ao rejeitar conex˜ oes e n˜ ao limitar o n´ umero de conex˜ oes s˜ ao todas conceitualmente ben´ eficas para um maior volume de coleta. Entretanto.----. coletores semelhantes aos utilizados neste trabalho. nono e oitavo em termos de n´ umero de conex˜ oes e enderec ¸ os IP distintos observados.----.SMTP. e desses cen´ arios serem respons´ aveis pelos maiores volumes de tr´ afego. Estat´ ısticas de an´ alise das coletas realizadas pelo Cert. O enderec ¸ o que envia o maior volume (terceiro em n´ umero de mensagens) tem uma m´ edia de 55 KB por mensagem e outros trˆ es encontrados entre os cinco primeiros nas duas listas tˆ em m´ edias acima de 20 KB por mensagem. J´ a os trˆ es cen´ arios com o maior volume de tr´ afego observado s˜ ao apenas o sexto.----. J´ a as m´ aquinas daquela faixa de enderec ¸ os enviam mensagens de 3. como vimos. ˜ o ao cen´ ˜ es de Em relac ¸a ario ----.95.br indicam que atualmente certa de 8 % das mensagens seja enviadas por STMP2 ˜ o de mail relay. em ˜ o com ainda mais flexibilidade um primeiro momento. 2008]. Nesse caso.CLIM. essas m´ aquinas pertencem a um mesmo spammer e tiveram seu acesso facilitado naquele cen´ ario exata˜ es mais restritivas para os transmissores mais pesados. pelo que se esperava um menor n´ umero de mensagens nesse caso (certamente. Esse abuso gera mais co˜ o para aquele cen´ nex˜ oes de curta durac ¸a ario.

• os cen´ arios que utilizam listas negras e que limitam conex˜ oes concorrentes tendem a ter mais enderec ¸ os entre os maiores que n˜ ao aparecem na lista geral.*.Para melhor entendermos o comportamento desses transmissores com mais recursos.CLIM.*. a tabela 3 apresenta um conjunto de m´ etricas derivadas das m´ etricas acumuladas descritas anteriormente. o que sugere que enviam mensagens maiores. o tamanho m´ edio das mensagens fica acima de 62 KB. mas apenas 34 % das mensagens.*. temos trˆ es categorias: em dois cen´ arios. tanto em volume de tr´ afego quanto em n´ umero de mensagens. com boa conectividade e que utilizam m´ ultiplas conex˜ oes simultˆ anas para se aproveitar ao m´ aximo das m´ aquinas vulner´ aveis que atacam. essa raz˜ ao n˜ ao ultrapassa 5.SMTP. Escolhemos um cen´ ario em cada grupo para uma an´ alise por amostragem das mensagens: ----. chegando a mais de 1000 em um cen´ king e ario (nos cen´ arios com mail relay apenas.*. mas e nono em volume de tr´ afego.SMTP. • nenhum desses enderec ¸ os aparecem nos cen´ arios que s´ o emulavam mail relays. outros cinco recebem na ordem de poucas dezenas de KB por mensagem e dois recebem at´ e 5 KB por mensa´ ltimo grupo e ´ composto pelos cen´ gem. • nos cen´ arios com proxies que usam listas negras. Nossa an´ alise dos dados revela que: • os oito enderec ¸ os com mais mensagens tamb´ em tiveram maior volume de tr´ afego. mas apenas o terceiro n´ umero de mensagens.2. Novamente. Ignorando o grupo ----.SMTP. e TMSG. Todos esses resultados apontam para o fato do abuso a proxies ser coordenado a partir de poucas m´ aquinas.----. apenas reportamos os resultados aqui. ˜o e ´ aquele relacionado aos tamanhos Um comportamento que chama a atenc ¸a das mensagens. Esse u arios TMSG. as mensagens enviadas nesse tipo de ataque tendem a ser maiores que as enviadas utilizando-se botnets e open mail relays. ´ apenas o TMSG.*. Tamanhos de mensagens ˜ o da informac ˜ o de tamanho m´ Considerando a adic ¸a ¸a edio de mensagens utilizada na an´ alise anterior.SMTP. que tem o maior n´ umero de mensagens. ˜ es de volume de tr´ • as distribuic ¸o afego parecem ser mais desiguais nos casos com proxies: a raz˜ ao de volume entre o primeiro e o d´ ecimo-quinto enderec ¸ os do ran´ superior a 24 em todos esses casos. que tem volume e n´ umero de mensagens relativamente baixos.----. observamos os enderec ¸ os IPs identificados com maiores transmissores em cada ˜ es de cen´ ario. uma descric ¸a pode ser encontrada em [Silva 2011]. • esses oito enderec ¸ os foram respons´ aveis por 64 % do tr´ afego.*.----. podemos ignorar o grupo ----. mas tem m´ edia de mais de 60 KB por mensagem. que tem o maior volume de tr´ afego total. com algumas conex˜ oes entregando centenas de mensagens de cada vez. 14 deles aparecem no topo em cada cen´ ario que n˜ ao usa listas negras.DNBL. dos 15 primeiros enderec ¸ os do ranking geral. 149 . encontra-se ainda oito dos quinze enderec ¸ os identificados com maiores transmissores.----.SMTP. com a m´ edia de quase 40 KB por mensagem. cujo comportamento restrito j´ a foi discutido anteriormente. em geral. • nos cen´ arios com proxies. Por limitac ¸o ˜ o detalhada desses resultados espac ¸ o. Al´ em disso. com m´ edia de pouco menos de 4 KB por mensagem.----. o que nos permite afirmar que botnets observadas enviam mensagens pequenas.

010.DNBL.----.CLIM TMSG.SMTP.8 0.---TMSG. ˜ o de mensagens codificadas em mime.7 KB/msg 36. frequentemente com conte´ udo em HTML e alguns links que levam a sites de an´ uncio/venda de produtos ap´ os alguns redirecionamentos.7 2.0 17. contendo apenas texto em HTML e. usualmente PDF. e outro com documentos PDF de por volta de 200 KB.----.7 1.----. As mensagens no cen´ ario ----. frequentemente.CLIM TMSG.8 26.----.1 3. links que parecem apontar para sites de propaganda e venda.----. Resultados agregados para metricas relativas As mensagens observadas no cen´ ario TMSG. uma an´ alise mais longa pode ser necess´ aria para determinar se esse comportamento realmente se destaca.691.2 62.CLIM ----.----.6 4.----.SMTP. associado a botnets em geral.4 13.----. sendo um Nesse caso encontramos uma combinac ¸a conjunto com aproximadamente 10 KB por mensagem e frequentemente contendo mime mal formado.2 1.---TMSG. o material coletado nesse cen´ ario (e no TMSG.5 1.DNBL.DNBL.SMTP.----. Um teste simples com diversos ˜ es na m´ cen´ arios nessa categoria sugere que as variac ¸o edia de volume por mensagem se ˜ o de quantidades diferentes de mensagens desses dois tipos.----.SMTP.8 17. ou se ele foi apenas devido a um conjunto de dados reduzido.----.7 1.5 57.SMTP.3 1.DNBL.0 22.8 2.492.2 35.4 2.5 MB/con 60. ˜ es entre volume e tamanho de mensagens Relac ¸o A discuss˜ ao anterior sobre volumes de tr´ afego e n´ umero de mensagens sugere que os comportamentos das m´ aquinas podem se distribuir por um espac ¸ o amplo.1 3. e 150 .8 66.1 conex/IP 13.---.663.SMTP.702.---TMSG.091.7 7.1 2.CLIM compunham um conjunto menor (provavelmente devido ao comportamento mais restritivo do cen´ ario). s˜ ao mensagens de spam curtas.2 5.SMTP.1 1.6 5. deve a uma combinac ¸a J´ a as mensagens encontradas no cen´ ario TMSG.----.----.Bits 0010 0000 1010 1011 0001 0011 1000 1001 1111 1110 1100 1101 Abreviaturas ----.----.----. e outro de mensagens maiores. por volta de 65 KB.DNBL. e as m´ aquinas de botnets.2 13.DNBL.CLIM ----.8 38.DNBL.8 5. Uma an´ alise ˜ es de n´ das distribuic ¸o umero de mensagens enviadas por cada enderec ¸ o de origem e de ˜ es bastante desbalanceadas.7 39.7 51. Devido ao volume relativamente reduzido.-------.5 278.9 ´ Tabela 3.----. formadas por documentos codificados em mime.----.6 145.8 5. volume de tr´ afego gerado mostram realmente distribuic ¸o A diferenc ¸ a entre as m´ aquinas de alta capacidade que abusam proxies e enviam muitas mensagens.8 0.---TMSG.DNBL.3 13.3 1. que enviam cada uma poucas mensagens.----.4 241.1 27.9 28.---TMSG. um de mensagens de spam de aproximadamente 4 KB. Aparentemente.6 28.se dividem em geral em dois grupos.----) representam um outro comportamento diferente do dominante que havia sido identificado antes para botnets.1 226.CLIM msgs/con 1.CLIM TMSG.6 30.5 7.

A figura 2 mostra esse resultado para os mesmos cen´ arios considerados anteriormente. pode ser visualizada ao representarmos cada transmissor em um gr´ afico de n´ umero de mensagens por volume de tr´ afego transmitido (um scatter plot). J´ a que esses transmissores enviam muito mais que os demais e est˜ ao presentes em diversos cen´ arios. J´ a nos cen´ arios que emulam proxies. o comportamento regular dos transmissores de menor capacidade se torna mais claro. quanto no cen´ ario 1111. com uma tendˆ encia que sugere que a grande maioria dos transmissores naqueles cen´ arios enviam mensagens de mesmo tamanho. em geral. o ´ semelhante. por n˜ ao repassar as mensagens de teste e por isso n˜ ao ser vis´ ıvel para botnets que abusam mail relays. Se gerarmos os mesmos gr´ aficos retirando os transmissores mais pesados de cada cen´ ario (figura 3). confirmando que os transmissores de maior capacidade enviam mensagens bem maiores. O cen´ ario 1100 j´ a tinha um padr˜ ao bastante regular. ˜ entre volume de trafego ´ Figura 2. mas ainda assim pode-se perceber uma regularidade maior nos 151 . como o 0000.normalmente menores. Relac ¸ ao e numero ´ de mensagens Na figura. tanto no agregado. sendo pouco afetado. fica claro o comportamento bastante regular das m´ aquinas que abusam os cen´ arios que s´ o emulam open relay (1100 e 1111). Nele pode-se inclusive perceber que a inclinac ˜o gr´ afico para o padr˜ ao geral e ¸a ´ bem da reta gerada pelos computadores que transmitem menos mensagens (botnets) e menor. tem um padr˜ ao mais disperso. alguns transmissores se destacam com volumes de mensagens e tr´ afego muito superiores aos demais. J´ a o cen´ ario 0000.

Trabalhos Relacionados ˜o O uso de honeypots se estabeleceu como um m´ etodo eficaz para estudo e prevenc ¸a em ataques em rede [Provos and Holz 2007]. entre outros.br e o Departamento de Ciˆ encia da Computac ¸a UFMG. parceria entre o CERT. que utiliza o tipo de forma mais direta tem inspirac ¸a ´ uma atualizac ˜o de honeypot descrito em [Provos 2004]. O coletor usado na pesquisa e ¸a do projeto apresentado em [Steding-Jessen et al. 4. Relac ¸ ao e numero ´ de mensagens ˜ o volume por n´ tamanhos das mensagens (relac ¸a umero de mensagens).˜ entre volume de trafego ´ Figura 3. A decis˜ ao de analisar os spammers ˜ o no trabalho [Pathak et al. O conceito A base da arquitetura de coleta deste estudo e de um framework para coleta de spam como o descrito tem origem no agrupamento de diversos conceitos. 3 152 . ´ um honeypot virtual. m´ aplicac ¸o etodo de defesa para ˜ o de servic ataques de negac ¸a ¸ o [Sardana and Joshi 2009]. 2008]. Honeypots podem ter as mais variadas ˜ es. mantido pelo Cert. 2008]. metodologias que foram sendo aperfeic ¸ oadas na literatura e no desen3 volvimento interno ao pr´ oprio grupo de pesquisa .br. com v´ arias ˜ o da O projeto Spammining. como base de estudo para botnets [John et al. 2009].

O formato experimental aplicado ´ reas do conhecimento. Como o volume nesse cen´ ario foi reduzido. ou apenas um evento isolado. Os diversos cen´ arios contemplados por essa an´ alise demonstra˜ o forte entre os ram. 2008. Em dois cen´ arios foram observado tr´ afego com padr˜ ao de botnet.˜ es da estrutura. Steding-Jessen et al. Nossos resultao abuso de open relays na disseminac ¸a dos mostram que os dois princ´ ıpios parecem estar relacionados ao inv´ es de serem mu´ tuamente exclusivos. o que sugere que e exatamente como um subterf´ ugio para escapar desse tipo de mecanismo As mensagens enviadas por estas tendem a ser menores em geral. Uma boa introduc ¸a 5. mas que ocorre tamb´ em selec ¸a de todo o espectro de abuso que poderia ser coletado. 2008. J´ a os proxies abertos tendem a se tornar alvos de m´ aquinas de alta capacidade que enviam um grande volume de mensagens. que existe n˜ ao apenas uma correlac ¸a ˜o fatores e as preferˆ encias dos spammers individualmente. tamento dos spammers. (2010). muito maior que o conjunto que realmente enviou mensagens de teste. 2009] Trabalhos focados em entender a formac ¸a mostram que apesar de novas t´ ecnicas como o uso de botnets para o envio de spam. 153 . Em particular. sugere um ˜ o de informac ˜ o de botnets. J. a capacidade de encaminhar mensagens de teste s´ o tem impacto para spammers que abusam open mail relays e o padr˜ ao de enderec ¸ os observado. A aplicac ¸a etodo experimental permite determinar a influˆ encia que fatores pr´ e-determinados tˆ em no objeto em estudo. As an´ alises apresentadas nos permitem afirmar que realmente o comportamento exibido pelo coletor de spam afeta significativamente o tipo de mensagens e os padr˜ oes de tr´ afego que ele recebe. como pode ser observado em diversos trabalhos [Mycroft and Sharp 2001. 2008. Diverrelay na Internet continua significativo mesmo com diversas restric ¸o sos estudos foram feitos utilizando diretamente ou indiretamente os conceitos por tr´ as do abuso de open relays [Pathak et al. no caso. frequentemente usando diversas conex˜ oes concorrentes. E interessante verificar se o tr´ afego di´ ario gerado por cada open ˜ es de rede. ´ uma ferramenta metodol´ O experimento fatorial e ogica largamente empregada ˜ o dada sua abordagem e confiabilidade esna literatura em trabalhos de caracterizac ¸a tat´ ıstica. ˜ o desse m´ Guerrero and Labrador 2010]. Em particular. New Scientist. uma coleta mais longa seria necess´ aria para determinar se isso representa um outro padr˜ ao comum. o compor˜ o sobre o tema e ´ o livro de Jain [Jain 2008]. Kreibich et al. obneste estudo apesar de ser muito utilizado nas mais diversas a ˜ o e compreens˜ servamos poucos estudos com esse foco no problema de caracterizac ¸a ao das t´ ecnicas do envio de spam. o que tende a excluir tr´ afego de outras fontes. Referˆ encias Giles. first get inside its head. mas com mensagens muito maiores que as observadas nos outros casos. ˜ o do spam e ´ muito expressivo. 205:20–20. To beat spam. aperfeic ¸ oamentos na t´ ecnica e atualizac ¸o ˜ o e a origem d spam [Shue et al. esse esquema e ´ mais esquema de disseminac ¸a ¸a ´ utilizado utilizado por m´ aquinas que se encontram em listas negras. Li and Hsieh 2006]. Conclus˜ ao e Trabalhos Futuros Neste trabalho aplicamos a metodologia do experimento fatorial para analisar e comparar ` interface exposta por alvos dos spammers tˆ as influˆ encias que diversos fatores ligados a em em seus comportamentos. atrav´ es das m´ etricas coletadas.

. Spamology: A study of spam origins. (2008). CA. Vijaykumar. (2004). Jain. USA. Mountain View. Y. In LEET’08: Proceedings of the 1st Usenix Workshop on Large-Scale Exploits and Emergent Threats. pages 1–1. The Art Of Computer Systems Performance Analysis:Techniques for Experimental Design. Pathak.Volume 13.. (2001). (2010). Hu. USA. rede. Radicati. pages 1–9. Berkeley. J. and Montes..... Email statistics report. Kong. S. B. Berkeley. A virtual honeypot framework. 32:1384–1399. C. Peeking into spammer behavior from a unique vantage point. Wiley India Pvt. and Holz. Mycroft. C. USA. SSYM’04. and Savage.. pages 291–306. A. N. Measurement. CA. Hardware/software co-design using functional languages. Enright. T. J. In Margaria. The Radicati Group. A. 154 ... C. (2009). R.. Gupta. Comput. 33:11–22. Paxson. CA. On the spam campaign trail. Studying spamming botnets using botlab. Addison-Wesley Professional. (2008). M. A. CA. 2009-2013. An´ alise de fatores que afetam o comportamento de spammers na ˜ o de mestrado.. (2011). Berkeley. Moshchuk. and Yuksel. M. L. (2008). G.. Commun. Comput.-H. C. P. Universidade Federal de Minas Gerais. A. Commun. and Sharp. and Hsieh. and Joshi. Dissertac ¸a Steding-Jessen. and Yi. M. R. In Conference on Email and Anti Spam (CEAS).. USA. An empirical study of clustering behavior of spammers and group-based anti-spam strategies. pages 1–9. Berkeley.radicati.. Virtual Honeypots: From Botnet Tracking to Intrusion Detection.com/.. USENIX Association. .. Sardana. J. Springer Berlin Heidelberg. A. Provos. CA. M. R. In Proceedings of the 13th conference on USENIX Security Symposium . Provos. T. Kanich. M. volume 2031 of Lecture Notes in Computer Science. A. USENIX Association. Li. On the applicability of available bandwidth estimation techniques and tools. and Krishnamurthy. editors. S. Gribble. Z. Levchenko. S. In LEET’08: Proceedings of the 1st Usenix Workshop on Large-Scale Exploits and Emergent Threats. (2009). http://www. A. In NSDI’09: Proceedings of the 6th USENIX symposium on Networked systems design and implementation. Silva. (2007). Lubia. Relat´ orio anual. and Modeling. W. H. V. Proceedings of the Third Conference on Email and Anti-Spam (CEAS). and Mao. C. K. USENIX Association. Shue. and Labrador. (2008). N. pages 236–251. C. Tools and Algorithms for the Construction and Analysis of Systems. K. F. Ltd. D. (2009). Kreibich. A. Inc. G. Simulation. Voelker. John. USENIX Association.. INFOCOMP Journal of Computer Science. An auto-responsive honeypot architecture for dynamic resource allocation and qos adaptation in ddos attacked networks.Guerrero. D.. N. A.. (2006).. (2009). C. Using low-interaction honeypots to study the abuse of open proxies to send spam.

ufsc. O conceito de segmentação é introduzido sobre o espaço de chaves do overlay para permitir o uso de algoritmos de suporte à RME. Also. analyses of the algorithms described and their respective costs are presented. wangham@univali.br Abstract.alchieri}@das. This paper describes our experience in developing an infrastructure which allows building intrusion-tolerant shared memory for large-scale systems. The infrastructure makes use of a P2P overlay and of the concept of State Machine Replication (SMR). No presente artigo descrevemos a infraestrutura proposta em sua estratificação e algoritmos. Normalmente as redes P2P oferecem primitivas de comunicação com latência e número de mensagens de ordem logarítmica em relação ao número de nós presentes na rede [Stoica et al. 2005]. Resumo. principalmente por ser a base para as aplicações de compartilhamento de arquivos modernas. Rowstron and Druschel 2001]. Diversas outras aplicações já foram desenvolvidas usando P2P. Introdução As redes par a par (peer-to-peer. P2P ainda é pouco utilizado em aplicações mais complexas que poderiam se beneficiar de aspectos como a escalabilidade [Baldoni et al. Este artigo descreve nossa experiência no desenvolvimento de uma infraestrutura que permite a construção de memórias compartilhadas tolerantes a intrusões para sistemas de larga escala. Joni Fraga1.Segmentação de Overlays P2P como Suporte para Memórias Tolerantes a Intrusões Davi da Silva Böger1. 1. 155 . Segmentation is introduced on the key space of the overlay to allow the use of algorithms for supporting SMR. como multicast e sistemas de e-mail [Steinmetz and Wehrle 2005]. Michelle Wangham2 1 Departamento de Automação e Sistemas –UFSC Florianópolis – SC – Brasil 2 Grupo de Sistemas Embarcados e Distribuídos – UNIVALI São José – SC – Brasil {dsboger. realizamos uma análise da solução apresentada e dos custos envolvidos.fraga.br. Além disso. Apesar disso. As principais características que tornam as redes P2P uma arquitetura interessante para sistemas distribuídos são o uso eficiente dos recursos ociosos disponíveis na Internet e a capacidade de aumento do número de nós sem detrimento do desempenho. In this paper we describe the proposed infrastructure in its stratification and corresponding algorithms. O uso desse paradigma foi bastante popularizado na Internet. 2001. P2P) correspondem a um paradigma de comunicação que tem sido o foco de muitos trabalhos nos últimos anos. Eduardo Alchieri1. A infraestrutura faz uso de um overlay P2P e do conceito de Replicação Máquina de Estados (RME).

Devido a essa característica. Assume-se que em qualquer momento da execução. O sistema proposto tolera certo número de nós maliciosos durante sua execução. sendo redes de pares normalmente abertas.Apesar das suas vantagens. Imediatamente acima da rede. que fornece uma abstração de Replicação Máquina de Estados (RME) [Schneider 1990] usada para garantir a disponibilidade e consistência das informações contidas no sistema. e a camada de suporte à replicação. pela aplicação de memória compartilhada.2. Um nó malicioso (ou bizantino [Lamport et al. Essas características de dinamismo tornam difícil manter a consistência das informações distribuídas no sistema. desde que conheça seu endereço. descrita na Seção 2. isto é. os custos da RME não permitem que essa técnica seja aplicada a uma grande quantidade de nós. Em geral.1. A seção 6 traz as conclusões do artigo. Essas redes normalmente são formadas dinamicamente por nós totalmente autônomos que podem entrar e sair do sistema a qualquer momento. A camada de overlay. Ademais. com busca eficiente de nós distribuídos. encontram-se duas camadas independentes que serão usadas para construir a camada de segmentação proposta neste trabalho. descrita na Seção 2. Cada nó possui um endereço único de rede e pode enviar mensagens para qualquer outro nó. interconectados por uma rede. implementa uma rede P2P sobre o sistema. O restante do artigo está organizado da seguinte forma: a seção 2 enumera as premissas do modelo de sistema adotado. O parâmetro é global e conhecido por todos os nós do sistema. as redes P2P podem conter participantes maliciosos que colocam em risco o funcionamento das aplicações. Neste trabalho. as redes P2P apresentam desafios para o provimento de garantias de confiabilidade. A seção 5 examina os trabalhos relacionados e conforta os mesmos diante de nossas soluções. um mapeamento de objetos para chaves. a seção 4 contém discussões sobre as propostas de nosso trabalho e coloca problemas em aberto. é apresentada uma infraestrutura tolerante a intrusões para memórias compartilhadas em sistemas de larga escala. portanto neste trabalho dividimos o sistema Tabela 1: Camadas do Sistema Overlay Segmentação Suporte à Replicação Rede 156 . 1982]) pode agir de maneira arbitrária ou simplesmente parar em certos momentos. a seção 3 introduz a solução proposta neste trabalho. essas redes não possuem uma gerência global. Esta infraestrutura faz uso das funcionalidades de um overlay P2P estruturado e tolerante a intrusões. A partir de segmentos é possível garantir consistência e tolerar uma quantidade de participantes maliciosos em um sistema de memória compartilhada. 2. Modelo de Sistema Consideramos um sistema distribuído formado por um conjunto finito de processos (ou nós) extraídos de um universo . sobre o qual é introduzido o conceito de segmentação tomando como base a divisão do espaço de chaves da rede P2P e a aplicação de técnicas de Replicação Máquina de Estados (RME) [Schneider 1990]. A segmentação do overlay depende do fornecimento de uma técnica de indexação. no máximo nós faltosos estão presentes no sistema. Um nó é considerado correto se age de acordo com a especificação dos protocolos nos quais participa.

A confiabilidade da entrega é alcançada pelo envio de uma mensagem por múltiplas rotas e pelo uso de tabelas de roteamento especiais que aumentam a probabilidade de que essas rotas sejam disjuntas. 1 Não é necessário que esta AC seja uma PKI oficial. Análises e resultados experimentais [Castro et al. Na nossa infraestrutura. A mesma pode ser uma comissão de gestão do sistema. ou seja. A camada de rede é acessada a partir de duas operações: A operação envia a mensagem para o nó de endereço . onde é denominado de certificados de nó. no qual é garantido a terminação de protocolos de Replicação Máquina de Estados que serão usados nas camadas superiores. que também pode ser responsável por gerar identificadores aleatórios para os nós1. Esses certificados são emitidos por uma autoridade certificadora (AC) confiável.em diversas máquinas de estados independentes.1. Este trabalho utiliza o overlay tolerante a faltas bizantinas definido por Castro et al. Além disso. A busca por um objeto consiste em usar as tabelas de roteamento para encontrar nós com identificador próximo à chave associada ao mesmo. No entanto. A Tabela 1 apresenta as camadas do sistema. 157 . Nós conhecem outros nós com identificadores numericamente próximos. assume-se a existência de um overlay que provê operações similares às redes P2P estruturadas. A operação aguarda o recebimento de uma mensagem qualquer . o qual apresenta a propriedade de garantir alta probabilidade na entrega de mensagens a todos nós corretos na vizinhança de uma chave. O atraso na entrega das mensagens e as diferenças de velocidades entre os nós do sistema respeitam um modelo de sincronia parcial [Dwork et al. não tenham nós em comum. O número de rotas disjuntas. 2002] demonstram que a probabilidade de entrega de uma mensagem é de 99. de forma que nós maliciosos não possam escolher seu identificador nem participar do overlay com múltiplas identidades. O identificador pode ser gerado a partir de uma função hash aplicada ao endereço de rede do nó. normalmente atribuindo chaves aos objetos e armazenando esses objetos em nós com identificadores numericamente próximos a essas chaves. 1988]. como Pastry [Rowstron e Druschel 2001] e Choord [Stoica et al. (2002). pelo uso de certificados que associam o identificador do nó a seu endereço de rede e sua chave pública. Essas redes atribuem identificadores aos nós e distribuem estes em torno de um anel lógico. Essas propriedades são garantidas. mantemos o uso desses certificados na camada de segmentação. os nós possuem tabelas de roteamento que são usadas para contatar eficientemente nós distantes no anel. não há perda ou alteração de mensagens. um administrador. Aplicações se utilizam dessa estrutura definindo esquemas para a distribuição de objetos pelo overlay.9% se a proporção de nós maliciosos for de até 30%. 2. ao superar o limite estabelecido de faltas garante a entrega das mensagens. etc. Os canais de comunicação da rede são ponto a ponto e confiáveis. O funcionamento do overlay depende da geração e atribuição segura de identificadores a nós da rede. ou seja. 2003]. de forma a manter a estrutura do anel. denominados de vizinhos. A camada de segmentação faz uso dessas duas e provê meios para invocar eficientemente qualquer RME do sistema. por exemplo. mesmo se uma quantidade de nós do overlay for maliciosa. não há garantia de sincronismo por toda a execução.Camada de Overlay Acima da camada de rede.

( ). ou seja. No presente texto não é definido um algoritmo específico de suporte à RME. A primeira operação garante o envio de uma mensagem m aos processos do conjunto e a segunda define a entrega de mensagens segundo ordenação total aos processos de . Solução Proposta A Tabela 2 apresenta as camadas e operações especificadas na Seção 2. na qual os nós do overlay são distribuídos em um conjunto de segmentos. Overlay: ( . algoritmos que permitam a modificação na composição de processos integrantes da RME. é assumida a operação . Lamport et al. A chamada notifica a camada superior o momento em que a chamada acaba. ( ). que altera o parâmetro local da ME que indica o conjunto de processos.1. Cada segmento executa uma RME distinta e é responsável por um conjunto de chaves do overlay. MEs são mantidas através do uso de algoritmos de consenso tolerantes a faltas bizantinas (p.2. é assumido o uso do overlay definido por Castro et al. . no qual cada segmento é responsável por um intervalo de chaves do 158 . Em ambientes com atividades intrusivas. O overlay deve suportar. 3. operações ( ) e ( ) que são concretizadas através da apresentação de seu certificado . . As duas operações caracterizam. ). Qualquer um pode ser escolhido. é definida uma camada de segmentação. 1982]). que implementa protocolos para Replicação Máquinas de Estados (RME) [Schneider 1990]. desde que tolere nós faltosos de um total de no mínimo ( [Lamport et al. Tabela 2: Camadas e Primitivas Segmentação: . . (2002). Suporte à Replicação: . Sobre o overlay e a replicação. . 3. é usada pelas camadas superiores para prover garantias de disponibilidade e consistência das informações mesmo em presença de nós faltosos e maliciosos. portanto. outras construções P2P similares podem ser utilizadas sem alteração das camadas superiores da nossa proposta. no entanto. Camada de Suporte à Replicação A camada de replicação. .1. um multicast com ordenação total (total order multicast). A camada de replicação oferece às camadas superiores as operações: . assume-se o uso de algoritmos com capacidade de reconfiguração. ex. para enviar uma mensagem para os nós vizinhos da chave . (2008) definem formas simples para transformar um modelo de replicação estático em um dinâmico. 2. Como as redes P2P são dinâmicas. ( ). Rede: .Nas seções a seguir. e que entrega a mensagem para a camada superior nos nós de destino. então. descrita na Seção 3. No presente trabalho. para entrada e saída de um nó . . [Castro e Liskov 1999]). Camada de Segmentação A camada de segmentação divide o anel lógico do overlay em segmentos compostos de nós contíguos. ( ).

uma única saída (ou entrada) após uma divisão (ou união) de segmentos dispararia uma união (ou divisão). Σ é um conjunto de assinaturas e ℎ𝑖𝑠𝑡𝑜𝑟𝑦 é a cadeia de certificados representando o caminho de evolução do segmento atual são certificados de segmentos vizinhos do segmento de 𝑆𝑝 . É importante notar que reconfigurações ocorrem localmente nos segmentos e não no sistema inteiro. um novo conjunto de nós (denominado configuração ou visão) passa a compor o segmento e a executar os algoritmos associados de suporte à RME. A entrada do nó 𝑖 é denotada por 𝑖 e a saída por − 𝑖 contador de nós que solicitam reconfiguração na configuração atual 𝑆𝑝 = 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 𝑐𝑜𝑛𝑓𝐼𝑑 𝑠𝑡𝑎𝑟𝑡 𝑒𝑛𝑑 Σ ℎ𝑖𝑠𝑡𝑜𝑟𝑦 + e 𝑆 − 𝑆𝑝 𝑝 𝑐ℎ𝑎𝑛𝑔𝑒𝑠 𝑟𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝐶𝑜𝑢𝑛𝑡 159 . segmentos grandes podem ser divididos em segmentos menores. o aumento do número de nós de um segmento para um valor muito superior a pode comprometer o desempenho dos algoritmos de RME. respectivamente. Assim. A consistência desses dados é mantida usando replicação ME reconfigurável. 𝑝𝑢𝑏𝐾 e 𝑖𝑑 são. os membros do segmento antigo decidem o novo conjunto de membros e assinam um novo certificado de segmento (ou dois. Esse certificado é o mesmo utilizado na camada de overlay é a chave privada do nó 𝑝 correspondente à chave pública presente em 𝐶𝑝 e é usada em assinaturas digitais pelo nó1. pode ser necessário unir dois segmentos contíguos em um segmento maior. em caso de divisão do segmento). todos os nós do mesmo segmento armazenam o mesmo conjunto de dados replicados. é necessário adicionar uma tolerância ao valor de . logo para evitar que segmentos fiquem com número de nós abaixo do limite de requerido pelos algoritmos de RME. Quando ocorre uma reconfiguração. 𝑠𝑡𝑎𝑟𝑡 𝑒𝑛𝑑 = 𝐾 (𝑆𝑝 ) é o intervalo de chaves do overlay pelas quais o segmento é responsável. Segmentos são descritos por certificados de segmento (S). provido pela camada de suporte à replicação. O número de nós de um segmento pode aumentar ou diminuir. a chave pública e o identificador no overlay de 𝑝. suas composições podem mudar com o tempo a partir da entrada e saída de nós. Ambos apresentam a mesma estrutura de 𝑆𝑝 conjunto de alterações na lista de membros a serem aplicadas na próxima reconfiguração. representando. Tabela 3: Estruturas de Dados da Camada de Segmentação 𝐶𝑝 = 𝑎𝑑𝑑𝑟 𝑝𝑢𝑏𝐾 𝑖𝑑 𝜎𝐶𝐴 𝑝𝑟𝑖𝑣𝐾𝑝 é o certificado do nó 𝑝. o seu sucessor e seu antecessor no anel de segmentos. Quando o em um segmento é um parâmetro global do sistema denotado segmento atinge o número de nós. no qual 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 é o conjunto dos certificados de nó dos membros atuais do segmento. Para fins de disponibilidade. cria-se uma cadeia de assinaturas que pode ser usada para verificar a validade de um certificado atual a partir de um segmento inicial aceito globalmente (possivelmente assinado por um administrador confiável). Por outro lado. é preciso dividir os membros em dois segmentos vizinhos. Se ocorrer uma união de segmentos. O número máximo de nós . Além disso. deteriorando o desempenho da RME. 𝑐𝑜𝑛𝑓𝐼𝑑 é o contador de configurações. membros dos dois segmentos devem assinar o certificado do novo segmento. Os segmentos são dinâmicos. caso contrário. que contém a lista de todos os certificados de nó dos membros do segmento e um contador de configurações ( incrementado a cada reconfiguração da ME. A cada reconfiguração. respectivamente. no qual 𝑎𝑑𝑑𝑟 é o endereço de rede do mesmo. Para aliviar o problema. Assume-se que mensagens recebidas com assinaturas inválidas não são processadas por nós corretos é o certificado do segmento atual de um nó 𝑝.overlay. ou seja. logo deve ser maior ou igual a . Esse fato pode ser explorado por nós maliciosos para provocar sucessivas uniões e divisões.

De posse de um certificado de segmento.1. upon 𝑂𝑣𝑒𝑟𝑙𝑎𝑦𝐷𝑒𝑙𝑖𝑣𝑒𝑟( 𝐹𝐼𝑁𝐷 𝐶𝑝 𝑆𝑝 𝑘 𝑘 𝜎𝑝 ) do 15. operation 𝑆𝑒𝑔𝐹𝑖𝑛𝑑 𝑘 𝑘 2. que tem como parâmetro de entrada um intervalo de chaves e retorna um conjunto de certificados dos segmentos responsáveis pelas chaves nesse intervalo. Essa operação consiste em iniciar um temporizador. 𝑘𝑒𝑦𝑠 ← ∅ /* conjunto de chaves cobertas pelos certificados recebidos */ 4. 𝑆𝑒𝑔𝐹𝑖𝑛𝑑𝑂𝑘(𝑆𝑞 ) /* notifica que segmento foi encontrado */ 11. a operação chama a função . if 𝑘 𝑘 ∩ 𝐾 (𝑆𝑞 ) ≠ ∅ then 16. /* Código do servidor 𝑞 */ 14.1. wait for 𝑅𝑒𝑐𝑒𝑖𝑣𝑒( 𝐹𝐼𝑁𝐷_𝑂𝐾 𝐶𝑞 𝑆𝑞 𝜎𝑞 ) /* recebe resposta de algum servidor 𝑞 */ 8. 𝑒𝑛𝑑 𝐹𝐼𝑁𝐷 𝐶𝑝 𝑆𝑝 𝑘 𝑘 𝜎𝑝 ) 19. 𝑘𝑒𝑦𝑠 ← 𝑘𝑒𝑦𝑠 ∪ 𝐾 (𝑆𝑞 ) /* atualiza cobertura de chaves */ 10. while 𝑘 𝑘 ∖ 𝑘𝑒𝑦𝑠 ≠ ∅ do /* teste de cobertura completa */ 6. que verifica se a cadeia de segmentos que acompanha é válida. Para invocar uma requisição em uma máquina de estados. um cliente deve primeiro encontrar o segmento responsável pela máquina (usando a camada de overlay) e depois enviar a requisição para a máquina (usando a camada de suporte à replicação). repassar requisição */ 18. Se o encadeamento e as assinaturas forem válidos. 𝑒𝑛𝑑 then /* segmento não cobre espaço de chaves. Busca e Invocação de Segmentos Para invocar uma RME. A busca de segmentos é realizada pela operação (Algoritmo 1). end if 12. a operação invoca para notificar a camada superior (linhas 7 a 11). end operation Algoritmo 1: Busca de Segmentos Cada segmento executa uma RME que é responsável por parte do estado da aplicação. A Tabela 3 apresenta as estruturas de dados e as seções a seguir apresentam os algoritmos da camada de segmentação. if 𝑘 𝑆𝑞 . 𝑂𝑣𝑒𝑟𝑙𝑎𝑦𝑆𝑒𝑛𝑑(𝑘 𝐹𝐼𝑁𝐷 𝐶𝑝 𝑆𝑝 𝑘 𝑘 𝜎𝑝 ) /* envia mensagem assinada usando o overlay */ 5. o nó pode executar a operação (Algoritmo 2) fazendo uso do suporte à RME. end if 21. um nó precisa primeiro obter o certificado do segmento que executa essa máquina de estados. 𝑆𝑒𝑛𝑑 (𝐶𝑝 . passando o do certificado que o cliente conhece (linha 4). invocar o segmento usando a (linha 6). 3. if 𝐾(𝑆𝑞 ) ∩ 𝑘𝑒𝑦𝑠 ≠ ∅ ∧ 𝑉𝑎𝑙𝑖𝑑𝐻𝑖𝑠𝑡𝑜𝑟𝑦(𝑆𝑞 ) then /* testa segmento */ 9. 𝑎𝑑𝑑𝑟 𝐹𝐼𝑁𝐷 _𝑂𝐾 𝐶𝑞 𝑆𝑞 𝜎𝑞 ) /* envia resposta assinada */ 17. e aguardar 160 . A cada certificado de segmento recebido pelo cliente.1. Os nós que receberem a mensagem de busca pelo overlay responderão enviando seus certificados de segmento (linha 16) e repassando a mesma para segmentos vizinhos caso o intervalo de chaves buscado se estenda além do seu próprio segmento (linhas 17 a 19). /* Código do cliente 𝑝 */ 3. A operação no cliente termina quando todo o intervalo de chaves buscado for coberto pelos certificados de segmento recebidos (teste da linha 5). 𝑂𝑣𝑒𝑟𝑙𝑎𝑦𝑆𝑒𝑛𝑑(𝑆𝑞 . end if 20. /* aguarda respostas dos servidores */ 7. end while 13. A operação encontra certificados fazendo primeiro uma busca no overlay pela primeira chave do intervalo (linha 4).

invoca ( ) e entra no overlay (linha 3). if #𝑟𝑒𝑠𝑝𝑞 𝑟𝑒𝑠𝑝𝑠 = 𝑓 then 11. Antes de entrar em algum segmento. As respostas a requisições são enviadas pela operação por meio de mensagens de resposta endereçadas ao cliente (linha 24). operation 𝑆𝑒𝑔𝑅𝑒𝑠𝑝𝑜𝑛𝑠𝑒(𝐶𝑝 𝑟𝑒𝑠𝑝𝑞 ) 23. end if 13. aguarda o recebimento dos certificados de segmento e do estado da aplicação (linhas 11 a 22). if 𝐶𝑞 ∈ 𝑆𝑞 . O estado é repassado à camada superior e a operação é chamada (linha 23). Após obter uma resposta válida. A reconfiguração ocorre posteriormente. upon 𝑇𝑖𝑚𝑒𝑜𝑢𝑡 do 15. Quando os membros do segmento recebem a mensagem do nó (linha 25). end operation 22. indicando uma exceção (linhas 14 e 15). 𝑆𝑒𝑛𝑑(𝐶𝑞 . operation 𝑆𝑒𝑔𝑅𝑒𝑞𝑢𝑒𝑠𝑡 (𝑆𝑞 𝑟𝑒𝑞) 2. na qual é o certificado de nó de . A operação não trata das exceções e deixa essa responsabilidade para as camadas superiores. 𝑎𝑑𝑑𝑟 𝑅𝐸𝑆𝑃 𝐶𝑞 𝑟𝑒𝑠𝑝𝑞 𝜎𝑞 ) 25. os servidores não repassarão a requisição para a aplicação e o cliente não receberá respostas. Entrada e Saída de Nós A entrada do nó na camada de segmentos se dá pela operação ( ) (Algoritmo 3).2. return /* ocorreu um estouro de temporizador */ 16. simplesmente registram o pedido de no conjunto ℎ (linha 26) e respondem (linha 27). /* Código do servidor 𝑞 */ 24. upon 𝑇𝑂𝐷𝑒𝑙𝑖𝑣𝑒𝑟( 𝑅𝐸𝑄 𝐶𝑝 𝑘𝑛𝑜𝑛𝑤𝑛𝐼𝑑 𝑟𝑒𝑞 𝜎𝑝 ) do 18. Se o certificado conhecido pelo cliente for antigo. end operation Algoritmo 2: Invocação de Segmentos 161 . 𝑟𝑒𝑠𝑝𝑠 ← ∅ /* conjunto de respostas a receber */ 6. 𝑟𝑒𝑠𝑝𝑠 ← 𝑟𝑒𝑠𝑝𝑠 ∪ 𝑟𝑒𝑠𝑝𝑞 10. 𝑐𝑜𝑛𝑓𝐼𝑑 /* identificador de configuração conhecido por 𝑝 */ 5. alterando os nós participantes da RME para o novo segmento de . end if 21. Depois. 𝑐𝑜𝑛𝑓𝐼𝑑 then 19. 3. return 𝑟𝑒𝑠𝑝𝑞 /* retorna a resposta */ 12. if 𝑘𝑛𝑜𝑤𝑛𝐼𝑑 = 𝑆𝑞 . 𝑆𝑡𝑎𝑟𝑡𝑇𝑖𝑚𝑒𝑟 /* inicia temporizador */ 4.respostas idênticas de membros distintos (linhas 7 a 13). busca o certificado do segmento responsável por seu identificador (linha 6) e invoca o mesmo passando uma mensagem (linhas 7 e 8). /* Código do servidor 𝑞 */ 17. 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 𝑅𝐸𝑄 𝐶𝑝 𝑘𝑛𝑜𝑤𝑛𝐼𝑑 𝑟𝑒𝑞 𝜎𝑝 ) /* requisição com ordenação total */ 7. enviados pelos membros do segmento. 𝑇𝑂𝑀𝑢𝑙𝑡𝑖𝑐𝑎𝑠𝑡(𝑆𝑞 . 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 then 9. na 1. Se o certificado de segmento usado na invocação for atual.1. /* Código do cliente 𝑝 */ 3. a requisição é entregue para a camada superior pela upcall (linha 19). 𝑘𝑛𝑜𝑤𝑛𝐼𝑑 ← 𝑆𝑞 . 𝑆𝑒𝑔𝐷𝑒𝑙𝑖𝑣𝑒𝑟 𝐶𝑝 𝑟𝑒𝑞 /* requisição é entregue para aplicação */ 20. upon 𝑅𝑒𝑐𝑒𝑖𝑣𝑒( 𝑅𝐸𝑆𝑃 𝐶𝑞 𝑟𝑒𝑠𝑝𝑞 𝜎𝑞 ) do /* recebimento de uma resposta */ 8. o que provocará o estouro do temporizador a operação irá retornar . end if 14.

/* transferência do estado da aplicação */ 11. end while 10. 𝑠𝑡𝑎𝑡𝑒𝑠 ← ∅ /* cópias do estado que serão recebidas */ 12. /* Código do cliente 𝑝 */ 3. wait for 𝑆𝑒𝑔𝐹𝑖𝑛𝑑𝑂𝑘(𝑆𝑞 ) 8. 𝑆𝑒𝑔𝑆𝑒𝑡𝐴𝑝𝑝𝑆𝑡𝑎𝑡𝑒 𝑆𝑝 . Depois o nó termina de atender requisições e invoca ( ) (linha 33). 𝑆𝑝 ← 𝑆𝑖 /* guarda certificados de segmento */ 19.operação . 𝑖𝑑 𝐶𝑝 . end if 22. 𝑆𝑝 𝑖 . 𝑂𝑣𝑒𝑟𝑙𝑎𝑦𝐿𝑒𝑎𝑣𝑒(𝐶𝑝 ) /* sai do overlay */ 34. 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 ) /* configura replicação da máquina de estados */ 24. wait for 𝑅𝑒𝑐𝑒𝑖𝑣𝑒( 𝑆𝑇𝐴𝑇𝐸 𝐶𝑞 𝑆𝑖 𝑆𝑖+ 𝑆𝑖− 𝑎𝑝𝑝𝑆𝑡𝑎𝑡𝑒𝑖 𝜎𝑖 ) /* Enviado pelos membros do segmento antigo (Algoritmo 4. 𝑠𝑡𝑎𝑟𝑡 𝑆𝑝 . os nós que recebem a mensagem registram o pedido de (linha 36) e a reconfiguração propriamente dita se dá pela operação . 𝑟𝑒𝑠𝑝 ← 5. operation 𝑆𝑒𝑔𝐽𝑜𝑖𝑛(𝐶𝑝 ) 2. 𝑐ℎ𝑎𝑛𝑔𝑒𝑠 ← 𝑐ℎ𝑎𝑛𝑔𝑒𝑠 ∪ − 𝐶𝑝 /* registra alteração da lista de membros */ 37. 𝑠𝑡𝑎𝑡𝑒𝑅𝑒𝑐𝑒𝑖𝑣𝑒𝑑 ← 𝑇𝑅𝑈𝐸 21. 𝑆𝑒𝑔𝑅𝑒𝑞𝑢𝑒𝑠𝑡(𝑆𝑝 𝐿𝐸𝐴𝑉𝐸 ) /* invoca o próprio segmento */ 32. /* Código do servidor 𝑞 */ 25. 1. linhas 36 a 39) */ 15. /* Código do servidor 𝑞 */ 35. end operation Algoritmo 3: Entrada e saída de nós em segmentos 162 . end while 23. while 𝒏𝒐𝒕 𝑠𝑡𝑎𝑡𝑒𝑅𝑒𝑐𝑒𝑖𝑣𝑒𝑑 do /* repete até receber 𝑓 cópias iguais do estado */ 14. end operation 29. 𝑂𝑣𝑒𝑟𝑙𝑎𝑦𝐽𝑜𝑖𝑛(𝐶𝑝 ) /* entrada no overlay */ 4. 𝑇𝑂𝑅𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝑢𝑟𝑒(𝑆𝑝 . upon 𝑆𝑒𝑔𝐷𝑒𝑙𝑖𝑣𝑒𝑟(𝐶𝑝 𝐽𝑂𝐼𝑁 ) do 26. /* Código do cliente 𝑝 */ 31. 𝑠𝑡𝑎𝑡𝑒𝑅𝑒𝑐𝑒𝑖𝑣𝑒𝑑 ← 𝐹𝐴𝐿𝑆𝐸 13. operation 𝑆𝑒𝑔𝐿𝑒𝑎𝑣𝑒(𝐶𝑝 ) 30. O nó envia uma mensagem (linha 31) para os membros do seu segmento e continua a atender requisições até o término da próxima reconfiguração. 𝑠𝑡𝑎𝑡𝑒𝑖 ← 𝑆𝑖 𝑆𝑖+ 𝑆𝑖− 𝑎𝑝𝑝𝑆𝑡𝑎𝑡𝑒𝑖 16. 𝑆𝑝 ← 𝑆𝑖 . 𝑆𝑒𝑔𝑅𝑒𝑠𝑝𝑜𝑛𝑠𝑒(𝐶𝑝 𝐽𝑂𝐼𝑁 _𝑂𝐾 ) 28. 𝑠𝑡𝑎𝑡𝑒𝑠 ← 𝑠𝑡𝑎𝑡𝑒𝑠 ∪ 𝑠𝑡𝑎𝑡𝑒𝑖 17. 𝑟𝑒𝑠𝑝 ← 𝑆𝑒𝑔𝑅𝑒𝑞𝑢𝑒𝑠𝑡(𝑆𝑞 𝐽𝑂𝐼𝑁 ) /* invocação do segmento em que 𝑝 entrará / 9. A saída de nós é realizada pela operação ( ) (Algoritmo 3). 𝑆𝑒𝑔𝑅𝑒𝑠𝑝𝑜𝑛𝑠𝑒(𝐶𝑝 𝐿𝐸𝐴𝑉𝐸 _𝑂𝐾 ) 38. 𝑒𝑛𝑑 𝑎𝑝𝑝𝑆𝑡𝑎𝑡𝑒𝑖 /* repassa para camada superior */ 20. if #𝑠𝑡𝑎𝑡𝑒𝑖 𝑠𝑡𝑎𝑡𝑒𝑠 = 𝑓 then /* recebidas 𝑓 cópias iguais do estado */ − + ← 𝑆 + − 18. 𝑖𝑑) /* busca pelo segmento responsável pelo identificador de 𝑝 */ 7. conforme descrito no Algoritmo 4. wait for 𝑇𝑂𝑅𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝑢𝑟𝑒𝑂𝑘 𝑆 /* reconfiguração que exclui 𝑝 terminou */ 33. 𝑐ℎ𝑎𝑛𝑔𝑒 ← 𝑐ℎ𝑎𝑛𝑔𝑒𝑠 ∪ 𝐶𝑝 /* registra alteração da lista de membros */ 27. upon 𝑆𝑒𝑔𝐷𝑒𝑙𝑖𝑣𝑒𝑟(𝐶𝑝 𝐿𝐸𝐴𝑉𝐸 ) do 36. Nós corretos são obrigados a aguardar a reconfiguração para garantir o funcionamento dos algoritmos de replicação. while 𝑟𝑒𝑠𝑝 = do /* tenta até achar um segmento atual que responda diferente de */ 6. 𝑆𝑒𝑔𝐹𝑖𝑛𝑑 (𝐶𝑝 . De maneira similar à operação de entrada. notificada pela operação (linha 32).

para que 163 .1. enviando juntamente as tentativas assinadas como prova (linhas 9 a 11).4. de acordo com o tamanho do conjunto e com os parâmetros globais e (linhas 18 e 20). disseminar e coletar as assinaturas de membros do segmento antigo (linhas 25 a 32) e montar o novo certificado com as assinaturas coletadas (linha 34).3. Essa mensagem deve conter o novo conjunto de membros do segmento. portanto. A reconfiguração da RME ocorre de maneira similar à reconfiguração simples. é possível que a requisição de reconfiguração seja invocada mais de uma vez. A assinatura e transferência do estado são similares à reconfiguração simples. Cada segmento será responsável por um intervalo de chaves definido da seguinte forma: seja o intervalo de chaves do segmento antigo e o membro que possui o menor identificador do subconjunto . que consiste em gerar e assinar localmente um novo certificado de segmento (linhas 23 e 24). o estado da aplicação local é obtido pela chamada e disseminado para os novos membros (linhas 35 a 38) e o algoritmo de RME é reconfigurado com (linha 39). Como as tentativas não são ordenadas. ). ) e =[ . A união é iniciada quando o número de nós do segmento ficará menor que os necessários para manter as propriedades da RME. Reconfiguração de Segmentos A reconfiguração de um segmento ocorre quando nós executam a operação (Algoritmo 4). indicado pelo estouro do temporizador . A união de segmentos é um pouco mais complexa que a divisão. Nesse momento. Essa constante é conhecida globalmente e indica um número de nós a partir do qual é aconselhável formar duas MEs. então =[ . Depois.1. Se não for o caso. ocorrerá uma reconfiguração simples (linhas 23 a 39). pois a reconfiguração envolve duas máquinas de estados em execução. dispara uma requisição ordenada para a reconfiguração. o que garante que todos os nós corretos possuem o mesmo conjunto ℎ e. Divisão e União de Segmentos A divisão de segmentos ocorre quando o número de nós em um segmento excede uma constante . A divisão em si consiste inicialmente em dividir o conjunto total de membros em dois subconjuntos de maneira que um subconjunto conterá metade dos nós com menor identificador e o outro subconjunto a outra metade com identificador superior.3. Os nós do segmento que iniciou a união (pelo menos corretos) enviam mensagens simples para os nós do seu segmento sucessor a fim de notificar a necessidade de uma união. o nó assina e dissemina no segmento uma mensagem de tentativa de reconfiguração (linhas 3 a 5). porém o teste da linha 15 garante que a reconfiguração de fato somente ocorrerá uma vez por segmento. porém são dois certificados assinados e para os novos membros são enviados apenas o estado referente ao segmento do qual farão parte. Essa operação é invocada após certo tempo. O código da reconfiguração consiste inicialmente em calcular o novo conjunto de membros (linha 17) e checar o tamanho do conjunto de novos membros a fim de detectar se será necessário dividir ou unir segmentos. Além disso. a reconfiguração é ordenada juntamente com os pedidos de entrada e saída. calcularão o mesmo conjunto de membros. conforme calculado na operação . O dos novos certificados será o sucessor do do segmento atual. Essas tentativas de reconfiguração (recepções de mensagens _ ) são acumuladas pelos nós do segmento (linha 8) e quando algum nó recebe dessas tentativas. 3.

𝑇𝑂𝑀𝑢𝑙𝑡𝑖𝑐𝑎𝑠𝑡(𝑆𝑞 . end for 6. atual */ 16. 38. end if 32. 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 do 𝑆𝑒𝑛𝑑 (𝐶𝑖 . else /* reconfiguração simples */ 23. upon 𝑅𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝑇𝑖𝑚𝑒𝑜𝑢𝑡 do 3. Este novo segmento conterá todos os membros dos dois segmentos. 𝑆𝑒𝑛𝑑 (𝐶𝑖 . no sentido de gerar um novo certificado de segmento. 𝑛𝑒𝑤Σ ← 𝑛𝑒𝑤Σ ∪ 𝜎𝑖 31. 𝑎𝑝𝑝𝑆𝑡𝑎𝑡𝑒𝑞 ← 𝑆𝑒𝑔𝐺𝑒𝑡𝐴𝑝𝑝𝑆𝑡𝑎𝑡𝑒 /* upcall para obter estado da aplicação */ 36. 𝑐𝑜𝑛𝑓𝐼𝑑 ∧ 𝑉𝑎𝑙𝑖𝑑𝑆𝑖𝑔 𝑟 then /* tentativas suficientes. /* calcula novo conjunto de membros */ 17.o segmento sucessor possa calcular os membros do novo segmento resultante da união. 𝑎𝑑𝑑𝑟 𝑇𝑅𝑌_𝑅𝐸𝐶𝑂𝑁𝐹 𝐶𝑝 𝑆𝑝 . 𝑐𝑜𝑛𝑓𝐼𝑑 = 𝑆𝑞 . De maneira similar à operação . 𝑒𝑛𝑑 ) then 30. 𝑟𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝐶𝑜𝑢𝑛𝑡 ← ∅ /* reinicia contador de pedidos de reconfiguração */ 43. for all 𝐶𝑖 ∈ 𝑆𝑞 . assinaturas válidas. for all 𝐶𝑖 ∈ 𝑆𝑝 . 𝑆𝑝𝑙𝑖𝑡 𝑛𝑒𝑤𝑀𝑒𝑚𝑏𝑒𝑟𝑠 22. if 𝑐𝑜𝑛𝑓𝐼𝑑𝑖 = 𝑆𝑞 . end for 39. else if #𝑛𝑒𝑤𝑀𝑒𝑚𝑏𝑒𝑟𝑠 > 𝑛𝑀𝐴𝑋 then /* necessário dividir segmento */ 21. for all 𝐶𝑖 ∶ 𝐶𝑖 ∈ 𝑐ℎ𝑎𝑛𝑔𝑒𝑠 do 𝑆𝑒𝑛𝑑 (𝐶𝑖 . if #𝑟𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝐶𝑜𝑢𝑛𝑡𝑝 𝑓 ∧ ∀𝑟 ∈ 𝑟𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝐶𝑜𝑢𝑛𝑡𝑝 ∶ 𝑟. 𝑐𝑜𝑛𝑓𝐼𝑑 24. terá superior aos valores nos dois segmentos envolvidos na união e terá intervalo de 1. 𝑒𝑛𝑑 ) 25. 𝑒𝑛𝑑 𝑛𝑒𝑤Σ 𝑛𝑒𝑤𝐻𝑖𝑠𝑡𝑜𝑟𝑦 35. ℎ𝑖𝑠𝑡𝑜𝑟𝑦 ∪ 𝑆𝑞 /* certificado atual entra no histórico */ 34. 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 /* reconfigura máquina de estados */ 40. 𝑠𝑡𝑎𝑟𝑡 𝑆𝑞 . 𝑛𝑒𝑤Σ ← ∅ /* disseminação da assinatura */ 26. end while 33. if #𝑟𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝐶𝑜𝑢𝑛𝑡 𝑓 then /* número mínimo de tentativas alcançado */ 10. 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 ∪ 𝐶𝑖 ∶ 𝐶𝑖 ∈ 𝑐ℎ𝑎𝑛𝑔𝑒𝑠 ) ∖ 𝐶𝑖 ∶ − 𝐶𝑖 ∈ 𝑐ℎ𝑎𝑛𝑔𝑒𝑠 18. quando um nó do segmento vizinho recebe pedidos de união válidos. 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 𝑅𝐸𝐶𝑂𝑁𝐹𝐼𝐺 𝐶𝑝 𝑟𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝐶𝑜𝑢𝑛𝑡 𝜎𝑞 ) /* realiza reconfiguração com chamada ordenada */ 11. 𝑠𝑡𝑎𝑟𝑡 𝑆𝑞 . 𝑠𝑡𝑎𝑟𝑡 𝑆𝑞 . 𝑇𝑂𝑅𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝑢𝑟𝑒 𝑆𝑞 . end operation Algoritmo 4: Reconfiguração de Segmento 164 . /* Código do servidor 𝑞 */ 14. end if 12. Os nós do segmento vizinho executam uma operação similar à divisão. wait for 𝑅𝑒𝑐𝑒𝑖𝑣𝑒 𝑁𝐸𝑊 _𝑆𝐼𝐺 𝐶𝑖 𝜎𝑖 29. 𝑟𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝐶𝑜𝑢𝑛𝑡 ← 𝑟𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝐶𝑜𝑢𝑛𝑡 ∪ 𝑇𝑅𝑌_𝑅𝐸𝐶𝑂𝑁𝐹 𝐶𝑖 𝑐𝑜𝑛𝑓𝐼𝑑𝑖 𝜎𝑖 9. 𝑎𝑑𝑑𝑟 𝑁𝐸𝑊 _𝑆𝐼𝐺 𝐶𝑞 𝜎𝑞 ) end for 27. 𝜎𝑞 ← 𝑆𝑖𝑔𝑛( 𝑛𝑒𝑤𝑀𝑒𝑚𝑏𝑒𝑟𝑠 𝑛𝑒𝑤𝐶𝑜𝑛𝑓𝐼𝑑 𝑆𝑞 . relativas ao seg. end if 13. este invoca uma operação na RME do próprio segmento para que uma reconfiguração de união ocorra. upon 𝑇𝑂𝐷𝑒𝑙𝑖𝑣𝑒𝑟( 𝑅𝐸𝐶𝑂𝑁𝐹𝐼𝐺 𝐶𝑝 𝑟𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝐶𝑜𝑢𝑛𝑡𝑝 𝜎𝑝 ) do 15. 𝑀𝑒𝑟𝑔𝑒 𝑛𝑒𝑤𝑀𝑒𝑚𝑏𝑒𝑟𝑠 20. if 𝑉𝑎𝑙𝑖𝑑𝑆𝑖𝑔(𝜎𝑖 𝑛𝑒𝑤𝑀𝑒𝑚𝑏𝑒𝑟𝑠 𝑛𝑒𝑤𝐶𝑜𝑛𝑓𝐼𝑑 𝑆𝑞 . 𝑆𝑞 ← 𝑛𝑒𝑤𝑀𝑒𝑚𝑏𝑒𝑟𝑠 𝑛𝑒𝑤𝐶𝑜𝑛𝑓𝐼𝑑 𝑆𝑞 . 𝑚𝑒𝑚𝑏𝑒𝑟𝑠 do 4. 𝑐𝑜𝑛𝑓𝐼𝑑 then /* testa se tentativa não está atrasada (não ordenada) */ 8. while #𝑛𝑒𝑤Σ < 𝑓 do 28. 𝑐𝑜𝑛𝑓𝐼𝑑 𝜎𝑝 ) /* tentativa de reconfiguração */ 5. 𝑛𝑒𝑤𝐶𝑜𝑛𝑓𝐼𝑑 ← 𝑆𝑞 . if #𝑛𝑒𝑤𝑀𝑒𝑚𝑏𝑒𝑟𝑠 < 𝑛𝑀𝐼𝑁 then /* necessário unir segmentos */ 19. 𝑐ℎ𝑎𝑛𝑔𝑒𝑠 ← ∅ /* limpa registro de entradas e saídas */ 42. upon 𝑅𝑒𝑐𝑒𝑖𝑣𝑒 𝑇𝑅𝑌_𝑅𝐸𝐶𝑂𝑁𝐹 𝐶𝑖 𝑐𝑜𝑛𝑓𝐼𝑑𝑖 𝜎𝑖 do 7. end if 44. operation 𝑆𝑒𝑔𝑅𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝑢𝑟𝑒 2. 𝑛𝑒𝑤𝐻𝑖𝑠𝑡𝑜𝑟𝑦 ← 𝑆𝑞 . end if 41. 𝑛𝑒𝑤𝑀𝑒𝑚𝑏𝑒𝑟𝑠 ← (𝑆𝑞 . 𝑎𝑑𝑑𝑟 𝑆𝑇𝐴𝑇𝐸 𝐶𝑞 𝑆𝑞 𝑎𝑝𝑝𝑆𝑡𝑎𝑡𝑒𝑞 𝜎𝑞 ) 37.

4. por meio do histórico de segmentos. é possível prover confiabilidade e tolerância a intrusões para aplicações executando sobre redes P2P de grande porte. e faz-se o uso de um temporizador para retirar o cliente da espera. A terminação da operação está ligada à garantia de entrega de mensagens provida pela camada de overlay. Uma otimização que diminui o custo de processamento consiste em manter em cada nó um cache de certificados válidos. São excluídos dos históricos todos os certificados anteriores aos certificados enviados na requisição de busca. A operação consiste de uma simples busca no overlay por um intervalo de chaves. que o certificado usado no momento da invocação esteja ultrapassado por conta de uma reconfiguração no segmento invocado. na qual segmentos adicionais são buscados apenas depois que o segmento anterior é encontrado. os nós não responderão à requisição. múltiplas buscas podem chegar ao mesmo segmento. um nó pode enviar na requisição certificados de segmento contidos no cache local que interseccionam com o intervalo de chaves procurado. Caso os certificados enviados façam parte do histórico dos segmentos requisitados. Considerações sobre a Infraestrutura Proposta A camada de segmentação tem a função de permitir o uso eficiente de algoritmos de suporte à RME (Replicação Máquina de Estado) em ambientes de larga escala. Para grandes intervalos de chaves. uma vez que o histórico é um conjunto de segmentos que aumenta à medida que o sistema evolui. ao realizar uma busca. A reconfiguração da RME ocorre como na reconfiguração simples. isto é. pois quanto mais antigo é um segmento. Toda vez que um certificado é validado. este é adicionado ao cache. Normalmente esses algoritmos possuem custo quadrático em função do número de participantes. existe uma pequena chance da operação ficar bloqueada aguardando respostas porque o overlay falhou. Pode ocorrer de o temporizador estourar por causa de um atraso na 165 . uma vez que este estaria presente no cache. Essa verificação pode implicar em um alto custo. Outro aspecto importante da operação é a verificação. O Algoritmo 1 descreve uma busca recursiva. Com a solução proposta neste trabalho. Ou seja. Validações subsequentes do mesmo certificado não precisariam verificar as assinaturas. no entanto. da validade dos certificados de segmento recebidos na busca. uma vez que o certificado de segmento contém os endereços dos nós correspondentes. o que torna pouco escalável e bastante custosa sua aplicação direta em redes P2P. Nesse caso. Pode ocorrer. Para reduzir o custo de transmissão. é possível dividir os mesmos e realizar buscas em paralelo nos correspondentes subintervalos. A operação apresenta apenas o custo de uma invocação da RME. Uma solução simples seria usar um temporizador que levaria à repetição da busca. por meio da verificação das assinaturas.chaves igual à união dos dois intervalos. Essa otimização tem um efeito importante. maior a probabilidade de ser compartilhado por vários históricos de segmentos mais atuais. porém um número grande de buscas paralelas pode levar a redundância. Os membros dos dois segmentos trocam os estados da aplicação para formar um estado agregado e depois disso enviam o estado agregado aos novos membros (que estavam registrados nos conjuntos ℎ dos dois segmentos). os históricos não precisam ser enviados completos para as validações. os nós que responderem a requisição podem podar os históricos de certificados que atendem a demanda. Como o overlay utilizado é probabilístico.

166 . é o tamanho médio do intervalo de chaves dos segmentos. Uma limitação dessa operação é que nós corretos precisam aguardar a próxima reconfiguração para saírem do sistema. bem como a assinatura do próximo certificado e a transferência do estado da aplicação possam sempre ocorrer corretamente.1 e assumem que = é o número médio de nós por segmento. não é possível que o certificado de segmento seja antigo em nós corretos.Tabela 4: Custo típico das operações Operação 𝑆𝑒𝑔𝐹𝑖𝑛𝑑 𝑆𝑒𝑔𝑅𝑒𝑞𝑢𝑒𝑠𝑡 𝑆𝑒𝑔𝐽𝑜𝑖𝑛 𝑆𝑒𝑔𝐿𝑒𝑎𝑣𝑒 𝑆𝑒𝑔𝑅𝑒𝑐𝑜𝑛𝑓𝑖𝑔𝑢𝑟𝑒 𝑂 (𝑓 Mensagens 𝑂 (𝑓 𝑁 𝑁𝑆𝑒𝑔 ) Rodadas 𝑘 − 𝑘 𝑁 𝐾𝑆𝑒𝑔 5 𝑘 − 𝑘 𝑁 8 𝐾𝑆𝑒𝑔 5 8 (reconf. sem levar em conta as otimizações descritas nesta seção. onde é o número de nós no sistema [Castro et al. Cabe à aplicação buscar novamente o certificado com e garantir a idempotência das operações. o custo esperado de um envio usando o overlay é mensagens e rodadas. 2009]. A união é muito mais custosa. Dessa forma. No caso de divisão de segmento são duas assinaturas. Os valores são derivados dos algoritmos da Seção 3. é preciso manter a premissa de que o número total de reconfigurações do sistema é finito. Essa premissa é usada em outros sistemas dinâmicos descritos na literatura para garantir terminação [Aguilera et al. pode ser necessário realizar mais de uma divisão ou união em sequência. com uso de nonces. Isso é necessário para que as requisições à ME. No caso de uma reconfiguração simples (sem divisão nem união) há uma rodada de disseminação de assinaturas e depois a transferência de estado para os segmentos novos. também depende da premissa descrita acima para terminar. A operação é direcionada diretamente ao próprio segmento do nó cliente. se muitos nós entrarem ou saírem dos segmentos próximos ao mesmo tempo. A operação é a que apresenta o maior custo de toda a camada de segmentação por conta da necessidade de união e divisão de segmentos. ou seja. porém o custo de mensagens é o mesmo e a transferência de estado é igualmente simples. por exemplo. 2002]. A Tabela 4 apresenta aproximações dos custos de mensagens (assintóticas) e de rodadas relativos às operações da camada de segmentação em situações típicas. ou pelo menos que o número de reconfigurações concorrentes com uma requisição é finito. o custo da invocação na RME é ( ) mensagens e demanda 5 rodadas [Castro e Liskov 1999]. simples e divisão). Além disso. faz uso das operações e em um laço A operação de repetição como seria usado na camada de aplicação. uma vez que envolve a invocação de outro segmento e a transferência de estado ocorre também entre os membros dos segmentos antigos antes desse estado ser enviado aos novos membros. 13 (união) 𝑂(𝑁𝑆𝑒𝑔 ) 𝑁 𝑁𝑆𝑒𝑔 ) 𝑂(𝑁𝑆𝑒𝑔 ) 𝑂(𝑁𝑆𝑒𝑔 ) rede e não por conta da reconfiguração do segmento e a repetição da invocação provocará uma execução dupla da requisição. Para garantir que a requisição da aplicação será efetivamente respondida.

e tratamos de questões como entrada e saída de nós. que participam de uma RME e têm a função de decidir sobre as reconfigurações do segmento. porém aqui estendemos a replicação para suportar quaisquer operações. A garantia de entrega é uma propriedade importante em redes P2P e permite a construção de soluções mais completas para prover tolerância a falhas e intrusões em redes P2P.5. Diferentemente da proposta deste trabalho. 6. Há certa similaridade com a solução proposta neste trabalho. Cada segmento possui um subconjunto de nós. A visão completa do sistema é mantida pelo serviço de reconfiguração e certificados contendo essa visão são disseminados a todos os nós a cada reconfiguração. estes segmentos são em geral maiores dos que aqueles adotados neste trabalho e não estão associados a RMEs. disseminando os certificados de novos segmentos. Castro et al. como a que apresentamos neste trabalho. (2002) descrevem brevemente uma solução para leitura e escrita consistente de objetos mutáveis em uma rede P2P usando o roteamento confiável juntamente com técnicas de RME. com o intuito de aliviar problemas de escala e também para mantermos a nossa proposta mais de acordo com a filosofia P2P que enfatiza a inexistência de gerenciamentos globais. foram também descritos no texto. adotamos o mecanismo de encadeamento de certificados de segmento como meio de verificação dos mesmos para evitar os altos custos de reconfiguração da criptografia de limiar (obtenção de novas chaves parciais em cada atualização dos segmentos). (2007) definem uma solução de roteamento P2P tolerante a intrusões com base na divisão do sistema em segmentos dinâmicos que podem sofrer divisões ou uniões à medida que o sistema evolui. além de união e divisão de segmentos. Castro et al. Porém. Considerações sobre os custos e as limitações da infraestrutura foram levantadas e algumas otimizações foram 167 . A confiabilidade das informações emitidas pelo comitê é garantida pelo uso de criptografia de limiar assimétrica que permite a recriação do segredo compartilhado em caso de reconfiguração do comitê. além de união e divisão de segmentos. o comitê. Bhattacharjee et al. No nosso trabalho. Neste trabalho evitamos a criação de uma hierarquia. Trabalhos Relacionados Rosebud [Rodrigues e Liskov 2003] é um sistema de armazenamento distribuído que apresenta características similares a um overlay P2P estruturado. Esta infraestrutura utiliza segmentação para permitir o uso eficiente de técnicas de Replicação Máquina de Estados. Conclusão Este trabalho apresentou uma infraestrutura para a construção de memórias distribuídas de larga escala com base em um overlay P2P tolerante a intrusões. pois isso adicionaria complexidade e custo no gerenciamento dos segmentos que seriam formados por dois tipos de nós. evitamos a necessidade de conhecimento completo do sistema. Aspectos de dinamismo do sistema como entradas e saídas de nós. Além disso. O sistema permite entrada e saída de nós por meio de um esquema de reconfiguração. dados são replicados em nós e quóruns de nós são usados para realizar leitura e escrita. chamado de serviço de reconfiguração. (2002) apresentam a proposta de um overlay P2P que garante alta probabilidade na entrega de mensagens mesmo quando uma parcela dos nós do sistema é maliciosa. No próprio artigo. Para garantir disponibilidade e consistência diante de nós maliciosos. a reconfiguração é controlada por um subconjunto de nós do sistema.

.. v. pp. Liben-Nowell. Kaashoek. ACM. Springer. 4. 4. n. 1. Relatório Técnico. e Liskov. L. pp. Dabek. M. P. Lamport. B. M... M.. Rowstron. 35. ACM. R. n. USENIX. (2009) “Dynamic Atomic Stor age Without Consensus”. A. um espaço de tuplas foi desenvolvido sobre a mesma. n. IEEE. Morris. Liskov. K. 22. LNCS.. F. (Eds. e Shraer.. I. e Kouznetsov.. 80-112. e Stockmeyer. L. Lynch. v. (2003) “Rosebud: A Scalable Byzantine-Fault-Tolerant Storage Architecture”. In: Proceedings of the NCA’05. T. N. Schneider. B.. P. Rodrigues. B. Decentralized Object Location. e Wehrle. (1999) “Practical Byzantine Fault Tolerance”. D. Os próximos passos deste trabalho compreendem a formalização das provas de funcionamento dos algoritmos propostos e a obtenção de resultados experimentais por meio de simulações e testes. e Wallach. 17-25.. S. 2. In: ACM Transactions on Programming Languages and Systems. Dwork. Druschel. ACM TOPLAS. v. 3485. n. pp. D. 288-323. 382-401. A. Stoica. ACM. Jiménez-Peris. In: Proceedings of the WRAITS’07. In: Proceedings of the Middleware’01. A. v. (1988) “Consensus in the Presence of Partial Synchrony”. (2002) “Secure Routing for Structured Peer-to-Peer Overlay Networks”... (2001) “Pastry: Scalable. In: Proceedings of the PODC’09..citadas. I. e Virgillito. e Blakrishnan. In: Proceedings of the OSDI’02. F. C. B. pp. 3. Castro. ACM. USENIX. (2005) “Dynamic Quorums for DHT-based P2P Networks”.. H. K. Rodrigues. 13-17. Castro. Malkhi. R. P. D. A.. Springer. 168 . ACM. D. R. R. Baldoni. Rowstron. Steinmetz. v. Druschel. In: ACM/IEEE Transactions on Networking (TON).. IEEE Press.. MIT. M. Patiño-Martinez. Karger. In: Proceedings of the OSDI’99. v. R. (2003) “Chord: Scalable Peer-to-peer Lookup Protocol for Internet Applications”. D. pp. n. and Routing for Large-Scale Peer-to-Peer Systems”. In: Journal of the ACM. Keidar. R. (1985) “Generative Communication in Linda”. ACM Computing Surveys. Shostak. Pease. (1982) “The Byzantine generals problem”. A. M. Referências Aguilera. 11. Gelernter. I.. Ganesh. 1. Bhattacharjee. F. (2007) “Secure Lookup without (Constrained) Flooding”. Para demonstrar a utilidade da infraestrutura proposta. R.7. (1990) “Implementing fault-tolerant service using the state machine aproach: A tutorial”. M. R. 8.) (2005) Peer-to-Peer Systems and Applications.

Introduc ¸a ˜ o para usu´ Redes BitTorrent (BT) s˜ ao atualmente a principal opc ¸a arios compartilharem conte´ udo atrav´ es da Internet [Schulze and Mochalski 2009]. characterize and discuss who produces and who publishes torrents of copyright-infringing files.2% desses conte´ udos il´ ıcitos s˜ ao c´ opias ilegais de filmes.` Caracterizac ˜ o de Disseminac ˜ o Ilegal de Filmes em Rumo a ¸a ¸a Redes BitTorrent Adler Hoff Schmidt. Recent monitoring reports revealed that the contents being shared are mostly illegal and that movie is the most popular media type.br Abstract. Research efforts carried out to understand content production and sharing dynamics in BT networks do not provide precise information in respect to the behavior behind illegal film dissemination. being this the main objective and contribution of this paper. Resumo. Para realizar tal an´ monitorou-se todos os arquivos torrent de filmes publicados na principal comunidade p´ ublica de BT durante 30 dias e ingressou-se nos enxames. sem compartilhar conte´ udo. o que e ´ produzido e quem atua como primeiro provedor dos conte´ udos. ´ atualmente um dos principais respons´ Relat´ orios de monitorac ¸a udos sendo com˜ o recentes constataram que os conte´ partilhados s˜ ao. O mesmo estudo aponta que 35. we joined the respective swarms.501-970 – Porto Alegre – RS – Brazil {ahschmidt. algo que ˜ o intuitiva de BT ser largamente utilizado para compartilhar arquivos que reforc ¸ a a noc ¸a infringem direitos autorais. what is produced and who acts as first provider of the contents. Esforc ¸ os de pesquisa realizados para entender a dinˆ amica de produc ¸a ˜o e de compartilhamento de conte´ udo em redes BT n˜ ao oferecem informac ¸o ˜ es precisas sobre o comportamento por tr´ as da disseminac ¸a ˜ o ilegal de filmes. without downloading content. Luciano Paschoal Gaspary 1 Instituto de Inform´ atica – Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal 15.064 – 91. ˜o 1. Como resultado.ufrgs. we monitored during 30 days all film torrent files published on the main BT public community. apresenta-se. em ampla maioria. Furthermore. Segundo estudo apresentado pela Envisional [Envisional 2011]. 169 . in order to obtain additional information regarding illegal sharing. aproximadamente dois terc ¸ os dos 2. ˜ o deste artigo.72 milh˜ oes de torrents administrados pelo principal rastreador BT s˜ ao de conte´ udos il´ ıcitos. O compartilhamento de conte´ udo por meio de redes BitTorrent (BT) e aveis pelo volume de dados na Internet. Marinho Pilla Barcellos. To perform such analysis.paschoal}@inf. sendo esse o principal objetivo e contribuic ¸a alise. caracteriza-se e discute-se quem produz e quem publica torrents de c´ opias il´ ıcitas. we present. As result. a fim de obter informac ¸o ˜ es adicionais acerca de compartilhamento.marinho. Content sharing through BitTorrent (BT) networks accounts nowadays for a considerable fraction of the Internet traffic. ilegais e que filme e ıdia mais ´ o tipo de m´ comum.

˜ o em abord´ Diante do problema e da motivac ¸a a-lo. atividades realizadas por 342 grupos de 76. estendeu-se e utilizou-se a arquitetura de monitorac ¸a ˜ o. Algumas raz˜ oes que justificam a importˆ ancia de entender o compartilhamento ile´o gal de filmes em redes BT s˜ ao discutidas a seguir. Na sequˆ encia. Em um mˆ es de monitorac ¸a obteve-se 11. 2010a. Primeiro. quais s˜ ao os processos de digitalizac ¸a dos. nos est´ agios iniciais. usu´ arios respons´ aveis pela criac ¸a opias. Pouco se sabe. A sec ˜ o 5 encerra o artigo instanciac ¸a ¸a ¸a ˜ es finais e perspectivas para trabalhos futuros. Conceitos Associados ao Compartilhamento Il´ ıcito de Filmes ˜ o s˜ ˜ o. e muito menos de c´ opias ilegais de fil˜ o das c´ mes (como. 2010]. Primeiro. por exemplo. ainda. 2011]. Eles podem ser compostos por um ou mais membros ˜ o ao nome dos torrents e recebem cr´ edito pela sua atividade agregando a sua identificac ¸a por eles criados. e quem fomenta. Terceiro.985 nomes de usu´ arios da comunidade. rentU [Mansilha et al. 94 rastreadores e ´ nicos. Cuevas et al. caracterizar fidedig´ base para formular mecanisnamente a atividade dos disseminadores desses conte´ udos e mos de combate a esse comportamento indesejado. 2010b. Para realizar o estudo. desenvolvida pelo grupo. nenhuma concentrou-se em observar aspectos espec´ ıficos do pro˜ o de conte´ cesso de disseminac ¸a udos il´ ıcitos. Le Blond et al. atrav´ Grupos de digitalizac ¸a ao os respons´ aveis pela criac ¸a es de meio il´ ıcitos. quem publica torrents desses conte´ udos. Segundo. etc).˜ es caracterizando compartilhamento de Apesar de existirem algumas publicac ¸o conte´ udo em redes BT [Zhang et al. tecnologias de ˜ o utilizadas. Via de regra. esse tipo de conte´ udo e principal respons´ avel pelo volume de tr´ afego dessas redes. Al´ il´ ıcitas. digitalizac ¸a ˜ o 2 apresenta conceiO restante do artigo est´ a organizado como segue. Procura-se desvendar quem produz e quem publica c´ opias ´ produzido e quem atua como primeiro provedor. com considerac ¸o 2. 1.1. descreve e discute os trabalhos relacionados de maior relevˆ ancia. respons´ aveis por conte´ udos (no caso deste artigo. filmes) protegidos por direitos autorais podem amparar-se em conhecimento acerca do comportamento de usu´ arios mal intencionados e criar estrat´ egias ˜ o indevida de c´ para minimizar proliferac ¸a opias ilegais. por exemplo.219 enderec ¸ os IP u ˜ o. os enxames formados em torno de c´ opias ilegais. 2.959 torrents. estabelece˜ es entre agentes envolvidos e realiza-se exerc´ se relac ¸o ıcio visando observar dinˆ amicas ˜ o ilegal de filexistentes (e n˜ ao facilmente percept´ ıveis) no processo de disseminac ¸a ˜ o Tormes. revisita pr´ aticas adotadas por grupos ˜ o e caracter´ de digitalizac ¸a ısticas dos processos utilizados para digitalizar conte´ udo. o que e em disso. Fundamentos e Trabalhos Relacionados ˜ o est´ Esta sec ¸a a organizada em duas partes. neste artigo apresenta-se re˜o sultados de um estudo experimental sistem´ atico realizado para caracterizar disseminac ¸a ilegal de filmes em redes BT. A sec ˜ o 4 relata e discute os resultados obtidos. A ˜ o 3 discorre sobre a arquitetura de monitorac ˜ o e as decis˜ ` sua sec ¸a ¸a oes tomadas quanto a ˜ o. A sec ¸a tos acerca de compartilhamento il´ ıcito de filmes e discute trabalhos relacionados. Observou-se. 2010. sobre quem s˜ digitalizac ¸a ao os usu´ arios ˜ o empregarespons´ aveis por criar c´ opias ilegais. consumidores experientes n˜ ao reconhecem um torrent de ˜o filme como confi´ avel (e evitam us´ a-lo) caso ele n˜ ao identifique o grupo de digitalizac ¸a 170 . de c´ opias de filmes [Wikipedia 2011a]. Zhang et al.

para preservar sua reputac ¸a assegurar o “casamento” correto entre nome dos torrents e conte´ udos. ˜ Tabela 1. A ferramenta divide-se em trˆ es m´ odulos. respectivamente. pela identificac ¸a ¸a pregados [Wikipedia 2011b]. * Digitalizac ¸o 2. s˜ ao organizados em trˆ es grupos: ˜ o. O terceiro busca. para se encontrar uma c´ opia autˆ entica gerada usando o processo em quest˜ ao.´ obedecida tanto por produtores quanto por conrespons´ avel. portas utilizadas e pa´ ıses de origens. gerando avisos. dos processos de digitalizac ˜ o eminfluenciada. para confirm´ a-los como participantes “v´ alidos” de enxames BT.e.. J¨ unemann et al. Ela provˆ e uma maneira de dar notoriedade aqueles que est˜ ao realizando essa ˜ o. [Bauer et al. i. classificac ¸a ´ A decis˜ ao de usu´ arios em realizar (ou n˜ ao) download de determinadas c´ opias e ˜ o. Por quest˜ ao de escopo. e por uma expectativa de tempo. 2007] apresentaram BTM: um sistema para auxiliar a detecc ¸a ˜ o autom´ ´ organizado em rataria que lanc ¸ a m˜ ao de monitorac ¸a atica de enxames BT. a m´ um deles e ıdia a partir da qual a ´ gerada. tamb´ em. nos resultados do segundo m´ odulo. atividade ilegal. lanc ¸ ado somente na regi˜ ao 5 DVD acess´ ıvel ao p´ ublico Lanc ¸ amento 1 Semana (S) 1S 1S 8S Imprevis´ ıvel 8-10 S 4-8 S 10-14 S ˜ es a partir de fontes de maior qualidade. foram consideradas DVDRip. Processos de digitalizac ¸ ao Sigla CAM TS TC PPVRip SCR DVDScr R5 DVDRip* Fonte Gravado no cinema ´ udio Gravado no cinema com fonte exclusiva de a Material sendo projetado no cinema ˜ o para clientes de hot´ Exibic ¸a eis C´ opia distribu´ ıda a cr´ ıticos e usu´ arios especiais DVD distribu´ ıdo para usu´ arios especiais DVD n˜ ao editado. Ele e m´ odulos respons´ aveis. ao mesmo tempo em que os grupos buscam. como a quantidade de pares. Logo. Trabalhos Relacionados ´ ltimos anos a comunidade de pesquisa em redes par-a-par produziu alguns trabaNos u ` monitorac ˜ o de redes BT. [Chow et al. obter que realiza medic ¸o ¸a enderec ¸ os IP e contatar hosts. O primeiro permite coletar dados da rede par-a-par. A tabela 1 lista oito processos amplamente utilizados. Chow pelo usu´ ario. 2009] propuseram uma infraestrutura de monitorac ¸a ˜ es ativas. valores que excedam limiares estipulados ˜ o. ap´ c´ opia il´ ıcita e os a primeira estr´ eia oficial do filme. bem como a correta ˜ o da qualidade desses torrents. Nesta sec ˜ o descreve-se e discute-se os mais lhos ligados a ¸a ¸a relacionados ao presente artigo. A monitorac ˜ o consiste em contatar rastreadores. Os processos aparecem na tabela em ordem crescente de qualidade resultante esperada para as c´ opias digitalizadas. Ainda no campo de infraestruturas de monitorac ¸a ˜ o de piet al. 2010] desenvolveram uma ferramenta para monitorar Distributed Hash Tables (DHT) associadas a enxames BT. caracterizac ˜ es gerais do “universo” BT e caracterizac ˜ es infraestruturas de monitorac ¸a ¸o ¸o ˜ o e consumo em redes BT. enderec ¸ os IP. como Blu-ray. O segundo analisa os dados e gera gr´ aficos de acordo com m´ etricas definidas pelos usu´ arios. [Junemann et al. ao percorrer a DHT.2. Cada ´ caracterizado por uma sigla. nos torrents. essa “etiqueta” e sumidores. por uma fonte. pela procura de torrents na rede e pela an´ alise 171 . detalhadas de produc ¸a ˜o Bauer et al.

os autores comparam caracter´ ısticas de enxames impulsionados por darknets com de enxames “oriundos” de comunidades ˜ o geral desses dois estudos. por´ ferramental de monitorac ¸a ¸o em. contudo. os ˜ o de cada publicador de torrents. 2010] investigaram os fatores socioeconˆ omicos de redes BT. incluem nas estat´ ısticas resultados associados a torrents com pouco tempo de vida nas comunidades (forte indicador de conte´ udo falso). e quais n˜ ao. tipos de conte´ udos disponibilizados. Com um mˆ es ˜ es. os trabalhos ˜ es t´ parecem apresentar limitac ¸o ecnicas importantes. Como observac ¸a far” momentos do ciclo de vida de enxames BT na tentativa de quantific´ a-los e de abstrair modelos. em especial no n´ ıvel detalhado ˜ o e nas t´ de monitorac ¸a ecnicas empregadas. comuni[Zhang et al. ˜ o revisou-se alguns dos trabalhos mais relevantes e correlatos a este Nesta subsec ¸a artigo. aspectos que desempenham papel importante na compreens˜ ao ˜ o foram deixados de lado. esses grupos foram caracterizados por Internet Service Providers (ISPs) de medic ¸o aos quais est˜ ao associados. Observa-se um esforc ¸ o da comunidade de pesquisa em redes par-a-par em criar ˜ o e conduzir caracterizac ˜ es. incentivos para as suas atividades e renda monet´ aria especulada. com conhecimento de dinˆ amicas at´ e agora obscuras. Al´ de esquemas ilegais de distribuic ¸a em disso. ´ ltimo grupo de trabalhos analisados. 2010] monitoraram por 103 dias as trˆ es comunidades de BT mais populares. sub˜ o de estrat´ ˜ o de sidiar a proposic ¸a egias e mecanismos eficazes que propiciem a protec ¸a 172 . Os trabalhos de Blond et al. e ario atrav´ es das regras que podem ser definidas para processamento dos dados coletados. trac ¸ ando perfis dos provedores de conte´ udo e dos consumidores mais participativos. listar os principais conte´ udos sendo compartilhados e caracterizar os participantes mais ativos (pares presentes em v´ arios enxames). 2010a] realizaram uma investigac ¸a dades privadas. os respons´ aveis por material falso e os altru´ ıstas. Conseguiram identificar 70% dos provedores. e Cuevas et al. ˜ o ilegal de preocupou-se em investigar como redes BT vˆ em sendo usadas para disseminac ¸a filmes e de outros conte´ udos il´ ıcitos. Seguindo uma metodologia similar a ˜ o sobre darknets em BT. N˜ ao fez parte de seu escopo. entre outros aspectos. i. Acredita-se ser este um t´ opico de grande relevˆ ancia. comprometendo an´ alises realizadas e conclus˜ oes obtidas. s˜ ao os que mais se assemelham ao apresentado neste artigo. Blond et al. Destaca-se. Cuevas et al.e. entretanto. Zhang et al. [Cuevas et al. Os aude pares deu-se atrav´ es de comunicac ¸a tores apresentam. quais s˜ ao as principais comunidades de BT. ressaltando os incentivos que os provedores de conte´ udos tˆ em para realizar essa atividade. ˜ es gerais do “universo” BitTorrent. em especial para que se possa. Trˆ es grupos de publicadores foram definidos: os motivados por incentivos financeiros. No que se refere a caracterizac ¸o [Zhang et al. as cargas e localizac ˜ es dos pringraus de participac ¸a ¸o ˜ o geogr´ ˜ es de clientes cipais rastreadores.dos mesmos. A t´ ıtulo de exemplo. Nenhum dos trabalhos. BT mais utilizadas. ressalta-se o interesse em “fotograp´ ublicas. a distribuic ¸a afica dos pares e as implementac ¸o ` desse trabalho. O discernimento entre quais dos materiais monitorados violam direitos au´ completamente realizado pelo usu´ torais. Logo. Zhang et al. que o escopo desses ˜ o ilegal de filmes nem tampouco de conte´ trabalhos n˜ ao foi o de analisar disseminac ¸a udo il´ ıcito em geral. A descoberta ˜ o com rastreadores ou consulta a DHTs. Passando ao u [Le Blond et al. Entre os resultados apresentados.. 2010b] analisaram torrents de cinco comunidades p´ ublicas. analisar dinˆ amica e caracterizar padr˜ oes ˜ o de conte´ de disseminac ¸a udo il´ ıcito.

. aspectos redes BT. assim como novas possam ser facilmente incorporadas na arquitetura (sem ˜ o de seus componentes essenciais). Telesc´ opios s˜ ao subdivididos em trˆ es partes. A primeira. As pr´ oximas sec ¸o ¸a ˜ o e os principais resultados obtidos. foram implementadas e integradas. modificac ¸a Operador Observador 1 . este e ˜ o de conte´ procura mapear. 2011] e ıvel projetada e desenvolvida para ˜ o de redes BitTorrent. algumas funcionalidades. ˜ o TorrentU e Extens˜ 3. A subsec ˜ o 3. At´ e onde sabemos. originalmente n˜ ao contempladas pela arquitetura. atuam ˜ o do universo BitTorcomo agentes. En˜ o dos tre as extens˜ oes. Arquitetura de Monitorac ¸a oes ´ uma arquitetura flex´ TorrentU [Mansilha et al. criada para permitir a identificac ¸a 173 . at´ e mesmo. Infraestrutura de Monitorac ¸a ˜ o apresenta a infraestrutura de monitorac ˜ o utilizada.. denominada TorrentU. de forma sistem´ atica. por sua vez. a arquitetura segue permitir a monitorac ¸a a abordagem cl´ assica gerente/agente e. Observador e ´ .2 detalha como a das para permitir a caracterizac ¸a ¸a arquitetura foi instanciada. Essa modularizac ¸a substitu´ ıdas. gerente. ˜ o permite que as lentes existentes possam ser rastreadores e pares. possui basicamente dois componentes: ´ o componente que faz o papel de front-end. a subsec ˜ o 3. Como a figura 1 ilustra. sendo os componentes respons´ aveis pela monitorac ¸a ˜ es enviadas pelo Observarent e pelo retorno de resultados de acordo com as requisic ¸o dor. Arquitetura TorrentU Lanc ¸ ando m˜ ao da flexibilidade oferecida por TorrentU. isto observador e telesc´ opios. e extens˜ a arquitetura de monitorac ¸a oes implementa˜ o almejada. destacam-se duas. sendo cada uma respons´ avel por monitorar um grupo diferente de elementos do universo: comunidades. de sua instanciac ¸a ˜ o Utilizada 3. n Lente Comunidade Telescópio Lente Rastreador Lente Pares Comunidades Rastreadores Enxame Par Troca de Arquivos Par Busca Lista de Pares Obtém Torrent Figura 1. contribuir para ampliac ¸a ´ o primeiro trabalho que redes BT em cen´ arios mais sens´ ıveis. permitindo que o operador configure o sistema e observe os dados coletae dos em tempo real (assim como o hist´ orico dos dados). processo de disseminac ¸a udo ilegal em ˜ es detalham a arquitetura de monitorac ˜ o empregada. Em seguida.˜ o do uso de conte´ udo protegido por direito autoral e. portanto. denominadas “lentes”.1 apresenta Esta sec ¸a ¸a ¸a ˜ o empregada. Telesc´ opios.1.

primeiros pares semeadores de enxames. end ˜o Algoritmo 1: Vis˜ ao geral do procedimento de monitorac ¸a ˆ nfase deste artigo reside nos resultados da caracterizac ˜ o de Ressalta-se que a e ¸a ˜ o ilegal de filmes e n˜ ˜ o da arquitetura de monitorac ˜ o. 2011] produzido pelo nosso grupo de pesquisa. limiar. nesse caso. O ´ a produc ˜ o de “fotografias” de enxames ao longo do tempo. A segunda extens˜ ao. n´ umeros de semeadores e sugadores. e ¸a ˜ o execuO algoritmo 1 apresenta uma vis˜ ao geral do procedimento de monitorac ¸a ˜ o das func ˜ es. tentativas. Intervalo representa o tempo de espera entre cada rodada ˜ o do algoritmo. S˜ ao cinco parˆ ametros que determinam o comportamento desse algoritmo.size() do torrent ← torrents[j ]. ao finaliz´ ticipantes do enxame e a-lo. de execuc ¸a input: tempo. Rodadas indica o n´ campanha de monitorac ¸a umero de tentativas a serem realizadas para contatar rastreadores. for j ← 0 to torrents. LerArquivo(torrent). os torrents recentemente putado. quantidade. quantidade). CaracterizarRastreadores(torrent). e testemunhos postados. Para cada torrent. armazenando tempo de vida dos enxames. 174 . DownloadTorrent(torrent). CaracterizarPares(peerList). o(s) respectivo(s) rastreador(es) e ao carac˜ o de lista(s) de pares participantes. consiste em lente que captura torrents logo que publicados em comunidades. tentativas. objetivo. peerList ← ObterListaPares(torrent. Como pode-se perceber pela descric ¸a ¸o ´ /s˜ blicados s˜ ao capturados. realiza monitorac ¸a ınua das p´ aginas de torrents. if peerList. um processo de caracterizac ¸a ´ realizado e. periodicidade e intervalo for i ← 0 to tempo do torrents[] ← CapturarTorrentsRecentes(). end IniciarCapturaFotografias(torrent. end Esperar (intervalo). enviada(s).size() < limiar then TrocarBitfields(torrent). Tempo determina quanto durar´ aa ˜ o. a lente respons´ avel pela captura de ´ iniciada para o torrent em quest˜ fotografias da comunidade e ao. tamb´ em materializada por meio de ˜ o cont´ nova lente. Limiar determina em quais enxames ser´ a feita troca de mensagens bitfield. periodicidade). Ao leidisseminac ¸a ao na descric ¸a ¸a tor interessado em detalhes acerca do funcionamento da arquitetura sugere-se consulta a artigo anterior [Mansilha et al. Periodicidade consiste no intervalo de tempo a ser respeitado para produzir cada fotografia de um dado enxame. Quantidade representa o tamanho da lista de pares requisitada aos rastreadores. terizado(s) e mensagem(ens) para obtenc ¸a ˜ o dos primeiros pares parCaso obtenha-se essa(s) lista(s).

Entre as comunidades BitTorrent existentes. Tal deve-se ao fato de ser a comunidade aberta mais popular. O objetivo dessa redundˆ ancia foi. Inicialmente removeu-se todos os torrents cujos rastreadores n˜ ao puderam ser contatados devido a inconsistˆ encias nas URLs informadas. Enxames com dados inconsiscomunidade. Apesar da importˆ ancia do processo de filtragem.791 torrents. em ordem decrescente. periodicidade de 8 horas entre cada fotografia da comunidade e intervalos de 2 minutos entre ˜ o. levando a tentes ou removidos t˜ ao precocemente da comunidade representam.˜ o da Arquitetura 3. Instanciac ¸a Telesc´ opios foram instanciados em trˆ es nodos do PlanetLab [PlanetLab 2011] e em um servidor privado. Na sequˆ encia. disponibilizar somente torrents publicados em seus servidores. manter re˜ o de cada torrent. retirou-se aqueles torrents que tiveram menos de 8 horas de vida na ` glosagem de mais 4. de lanc ¸ amento de torrents (dado um conjunto conhecido de conte´ udos) x processos utilizados. na figura 2. Por fim. investigando seus graus de atividade e poss´ ıveis relac ¸o ˜ o mais empregados e ses agentes. Esses 2. Nesse grupo enquadraram-se 4. n˜ ao influenciassem a an´ alise. muito provavelmente. assim. ao longo do tempo. produzindo dados brutos que somaram 11. basicamente. 50 pares por lista. procurando relac ¸o opias digitais e os publicadores de torrents. limiar 2 tentativas para obtenc ¸a definindo m´ aximo de 10 pares com os quais ser˜ ao trocadas as mensagens bitfield. Os resultados s˜ ao apresentados a seguir. Em um segundo momento. para que enxames indesejados fossem retirados e. optou-se por ciado em uma u ¸a monitorar o PirateBay [Piratebay 2011]. ˜ o desses enxames pode exercer forte influˆ conte´ udos falsos..16%) identificam o produtor respons´ avel por cada c´ opia. Resultados A base de 11. ´ Il´ 4. Inicialmente caracteriza-se produtores e publicadores ˜ es entre esde conte´ udos il´ ıcitos.987 torrents remanesceram e foram analisados. 2.987 torrents analisados.1.1. A n˜ ao remoc ¸a encia na an´ alise dos resultados. tolerar falhas e evitar ˜ o. os criadores de c´ dores. relata-se os processos de digitalizac ¸a detalha-se a dinˆ amica. Ao lado. A tabela 2 enumera.2.066 torrents foram criados por 342 produtores distintos. Neste artigo eles s˜ ao referidos como produtores. cada usu´ ario baseada em sua reputac ¸a ˜ o foi instanciado utilizando-se as seguintes O processo de monitorac ¸a ˜ es (podem ser entendidas como parˆ configurac ¸o ametros rec´ em detalhados do algoritmo 1): ˜ o de lista de pares com cada rastreador. at´ e onde sabemos em ˜ o. 2.181 torrents.066 (69. Produtores e Publicadores de Conteudo ıcito ˜ o 2. e prover classificac ˜ o de gistro de usu´ arios respons´ aveis pela publicac ¸a ¸a ˜ o. nenhum dos trabalhos relacionados houve tal preocupac ¸a Ap´ os as duas filtragens.959 torrents precisou ser submetida a um processo de filtragem. Dos 2. grupos de digitalizac ˜ o s˜ Conforme apresentado na subsec ¸a ¸a ao os principais res˜ o de c´ pons´ aveis pela criac ¸a opias il´ ıcitas de filmes sendo compartilhadas nas redes BT. analisa-se os primeiros semea˜ es entre eles. ilustra-se CDF (Cumulative Density 175 . 4.140 enderec ¸ os IP. A monitorac ˜ o foi realizada por per´ rodadas de monitorac ¸a ¸a ıodo de um mˆ es (05/2011 ` 06/2011). os 10 principais produtores.959 otorrents. 94 rastreadores e a 187. J´ descontinuidade do processo de monitorac ¸a a o componente Observador foi instan´ nica estac ˜ o.

que. a sua categoria. 1 Tabela 2.37 Nlt 44 2.4 0.987 torrents foram publicados por um total de 517 usu´ arios distintos. poucos produtores s˜ ao respons´ aveis por grande parcela do conte´ udo criado.20 DutchTeamRls 61 3. que publicou 77 dos 78 torrents do grupo “Waf”.14 Dmt 61 3. por sua vez.9% dos tipos especiais (n˜ ao regulares) e foram eles os respons´ aveis pela publicac ¸a torrents. novamente. correspondem a usu´ arios cadastrados no PirateBay realizando upload de torrents. Os respons´ aveis por essa etapa s˜ ao os publicadores. destaca-se que 25. c´ Como j´ a apontado na subsec ¸a opias digitais de um mesmo filme s˜ ao diferenciadas ˜ o utipelas suas qualidades.5% dos 517 usu´ arios eram de ˜ o de 59. perceber como poucos usu´ arios s˜ ao respons´ aveis pela maioria do conte´ udo publicado. que ˜ o na comunidade. praticamente 80% das c´ opias foram criadas por 100 produtores (29. Processos de Digitalizac ¸a ˜ o 2. Existem quatro categorias representa um “termˆ ometro” da sua reputac ¸a de usu´ arios: VIP. tem-se que 100 usu´ arios (19.04 Lkrg 51 2. tem-se que os publicadores “. que. procurou-se ` existˆ ˜ o na ac ˜ o de ambos agentes. ˜ o de torA tabela 3 apresenta os usu´ arios mais ativos junto com a quantidade e proporc ¸a rents publicados.6 0. pode-se. Em n´ umeros.Function) representando no eixo horizontal os produtores. Os 2.7 Proporção de Torrents CDF 0.1 0 50 100 150 200 250 300 Grupos de Digitalização Torrents # % Waf 78 4. Contribuic ¸ ao dutores ´ a publicac ˜o Com o arquivo digital criado. ajudante e regular (estado inicial de qualquer usu´ ario).37 Martin 46 2.5 0. Al´ em disso.34% dos 517) publicaram quase 75% do conte´ udo. Ap´ os an´ alise isolada da atividade de produtores e consumidores. Ranqueamento 0. Como conte´ udo criado.1.56 Mr Keff Tnt Village 62 3. ˜ o Empregados 4. al´ em do nome do usu´ ario. A figura 3 apresenta uma CDF com os usu´ arios em ordem decrescente de torrents publica˜ o de torrents no vertical. no escopo deste artigo.14 Imagine 59 3.2.8 0. a proporc ¸a ´ poss´ e ıvel observar.27 Grupo ˜ cumulativa dos proFigura 2.63 Miguel 46 2.BONE.2 0. confi´ avel.02 69 3.23% dos 342).” e “froggie100” foram respons´ aveis pela maioria dos conte´ udos criados pelo grupo “Imagine”. ordenados por quantidade de ˜ o acumulada de torrents criados. Essa tabela apresenta. Ao observar esse gr´ dos no eixo horizontal e a proporc ¸a afico. Para ilustrar o segundo caso. o pr´ oximo passo para dissemin´ a-lo e ¸a de torrent na comunidade.3 0. Dois casos t´ evidˆ encias quanto a encia de relac ¸a ¸a ıpicos foram observados: um publicador disponibilizando todos os materiais de um produtor e um ´ nico produtor. s˜ ao resultantes do processo de digitalizac ¸a 176 . Exemplificando o primeiro grupo de publicadores trabalhando para um u caso tem-se o usu´ ario “sadbawang”.9 0. e no eixo vertical.

63 109 4.57 martin edguy Confi´ avel 46 1.85 144 6. O alto grau cessos que se destaca e ˜ o aos outros processos que n˜ de ocorrˆ encia. Tal predominˆ ancia deve-se a duas raz˜ oes principais. “DVDScr” e “R5”.54 miguel1983 VIP 46 1. Tabela 4. o quest˜ ao de custo/benef´ ıcio entre: a dificuldade de obter-se a fonte para digitalizac ¸a tempo necess´ ario ap´ os o lanc ¸ amento oficial do filme e a qualidade final da m´ ıdia. os seus graus de ocorrˆ encia ˜ o que mais criaram m´ e os trˆ es grupos de digitalizac ¸a ıdias empregando cada processo. Team Tnt Iflix.37 ˜ cumulativa dos Figura 3. VIP 211 7. A t´ ıtulo de exemplo tem-se que.85% dos torrents analisados que digitalizac ¸a identificaram o processo. Scr0n. por utilizarem 177 .14 132 5. “CAM” e “TS”.54 virana Confi´ avel 41 1. Vision Ddr.6 0. Ranqueamento 0. resultando no desinteresse pelas criadas por outros processos. Contribuic ¸ ao publicadores lizado. Imagine. Mtr.93 16 0. Qualo conjunto de filmes que esses torrents podem estar representando e quer filme com 16 semanas transcorridas do seu lanc ¸ amento oficial pode ser encontrado nesse formato e o resultado desse processo s˜ ao m´ ıdias com a qualidade m´ axima.344 (78.BONE. 2.68 Principais Grupos Waf.04 sadbawang VIP 77 2. Primeiro. A tabela 4 apresenta os processos.2 0. deve-se a uma ˜ o.15 22 0. Dmt.7 Proporção de Torrents CDF 0.9 0.65 68 2.1 0 50 100 150 200 250 300 350 400 450 500 Usuários das Comunidades Torrents Usu´ ario Tipo # % . digitalizar um filme ´ trivial se comparado com os outros.4 0.3 0. Segundo. Xtreme Lkrg. Team Tc.06 HDVideos Regular 91 3. Mr Keff. Outro grupo de pro´ o formado por “CAM”.57 Sir TankaLot Confi´ avel 73 2. qualquer usu´ por meio desse processo e ario que possuir um DVD original pode fazˆ e-lo em seu computador pessoal.90 27 1.987 torrents analisados.24 l.1 Tabela 3. Flawl3ss Kickass. ´ muito maior. Rko Analisando os resultados. Tnt Village Imagine.90 SaM VIP 47 1. observa-se que “DVDRip” representa o processo de ˜ o mais comum.47%) identificavam o processo utilizado ˜ o de cada m´ para criac ¸a ıdia.8 0. Cm8 Imagine.44 MeMar VIP 67 2. sendo o empregado por 77. apesar da qualidade resultante do processo “TC” ser a melhor entre a estr´ eia do filme e 4-8 semanas transcorridas.diliberto VIP 57 1. Principais processos Processo DVDRip TS R5 DVDScr CAM PPVRip SCR TC Torrents # % 1825 77. em comparac ¸a ao “DVDRip”. Dtrg.5 0. Dos 2. 7speed Mtr. Dmt. “TS”.

torrents de alguns filmes continuam sendo publicados mesmo ap´ os o final da rajada inicial. nos dias 30 e 31. Por exemplo. em que uma rajada inicia-se no dia 3 e outra no dia 26. ˜ o e de Passando-se. No gr´ afico. apresenta-se como o principal produtor de “TS” e “R5”. ser encarado como ˜ o diferenciado. poss´ ıvel capturar todas as digitalizac ¸o Como n˜ ao dispˆ os-se desta janela de tempo. Tal pode ser observado. e ario informar que o per´ ıodo m´ ınimo de monitorac ¸a ˜ es realizadas sob um mesmo filme e ´ de 16 semanas. os processos ˜ o. todos presentes no dataset coletado ao longo de 30 dias. como ocorre nos dias 82. 58 e h´ a mais de 8 semanas (de acordo com o informado na IMDb [IMDB 2011]). Segundo. s˜ ao processos mais empregados (0. Tal n˜ ao deve. Antes de apresentar no cinema. todos torrents que n˜ de digitalizac ¸a ao tiveram um tempo m´ ınimo de vida de uma semana na comunidade e que n˜ ao haviam sido publicados por usu´ arios renomados foram desconsiderados. 83 e 85 do filme “F´ uria sobre Rodas”. como esperado. Processos de digitalizac ¸ ao Quatro aspectos merecem destaque a partir da an´ alise do gr´ afico. Quarto. Esse 178 98 62 . os intervalos apresentados na tabela 1 para surgimento das m´ ıdias geradas por ´ influmeio de cada processo s˜ ao respeitados. Vale obser˜ es em var. em que surge a primeira m´ ıdia gerada pelo processo “R5” do filme “Rio”. trabalhou-se com 9 filmes. cada um representando o trabalho de um grupo distinto. agora. como produtores “menos ativos” destacam-se pelas suas especializac ¸o processos que necessitam de fontes de dif´ ıcil acesso. CAM 9 6 6 12 7 4 6 6 5 6 TS R5 4 4 DVDRip 99 10 0 10 101 211 2 2 9 1 11 0 -2 5 26 2 28 7 -2 9 30 31 3 33 2 -3 5 36 81 82 6 64 3 -7 9 80 83 84 37 38 39 40 0 61 3 4 5 6 7 8 8 86 5 -9 6 97 1- Velozes e Furiosos 5 Piratas do Caribe 4 Thor Rio 41 -6 Sem Limites Água para Elefantes Desconhecido Fúria sobre Rodas Esposa de Mentirinha Dias Após Lançamento Oficial ˜ utilizados apos ´ estreia ´ oficial Figura 4. por exemplo. Primeiro. as atividades desse grupo tornam-se t˜ ao importantes quanto.04%). os primeiros arquivos ´ gerados pelo processo “R5” dos filmes “Rio”. O grupo “Imagine”. quatro.68% x 9. por exemplo. Terceiro. cinco e oito semanas ap´ os as suas estr´ eias. a sobre a imagem do v´ ıdeo). “Agua para Elefantes” e “Sem Limites” aparecem. pois as suas fontes foram lanc ¸ adas em momentos distintos. respectivamente. trata-se de especializac ˜ es de ind´ ıcio de comportamento de distribuic ¸a ¸o ˜ o de v´ ´ udio dublado ou legenda inserida m´ ıdias j´ a existentes (codificac ¸a ıdeo alternativa. Observa-se essa situac ˜ o analisando o filme publicac ¸o ¸a ¸a “Velozes e Furiosos 5”. tamb´ em. cujo lanc ¸ amento tivesse ocorrido h´ a 0-4. Para apresentar uma “fotografia” mais fidedigna. a figura 4 sintetiza resultado de observac ¸a ´ necess´ ˜ o para ser discuss˜ ao. o mesmo filme pode ter mais do que uma rajada de ˜ es por processo de digitalizac ˜ o. o eixo horizontal representa os dias transcorridos e o eixo vertical. contudo.fonte facilmente acess´ ıveis. Logo. se n˜ ao mais. O momento exato dentro desse intervalo e enciado por decis˜ oes da ind´ ustria cinematogr´ afica. a caracterizar a dinˆ amica de processos de digitalizac ¸a torrents disponibilizados em portais BT em paralelo ao ciclo de vida de filmes lanc ¸ ados ˜ o realizada. m´ ıdias criadas por um processo surgem em rajadas de torrents. apesar de ser somente o sexto colocado da tabela 2. contudo. as dos primeiros colocados da tabela 2.

foi necess´ ario que a arquitetura ˜ o estivesse devidamente configurada para. ´ Il´ 4.9 0. existiam previa` publicac ˜ o do seu torrent no PirateBay ou cujo(s) rastreador(es) n˜ mente a ¸a ao foi poss´ ıvel ˜ o.6 0. obtidos. todos os semeadores a o ˜ o de partir do 82 serviram exclusivamente a um enxame.3. caracterizando a participac ¸a usu´ arios “dom´ esticos” no fomento de parcela significativa de enxames BT. A figura 5 ilustra o grau de participac ˜ o de cada sociados a 318 enderec ¸ os IP u ¸a IP.7 0. mais do que um semeador. do procedimento ilustrado pelo algoritmo 1). identificou-se os primeiros semeadores de 692 (23.3 0. para alguns enxames observou-se. Contribuic ¸ ao Dois aspectos destacam-se a partir da an´ alise da figura 5. 179 . ´ um indicador de que usu´ Tal e arios especializados podem estar utilizando seedboxes [Wikipedia 2011c] para disseminar seus conte´ udos. Todos aqueles em que n˜ ao foi poss´ ıvel identificar o(s) primeiro(s) semeador(es) eram enxames que: estavam vazios. Ainda como parte da caracterizac ¸a ¸a ˜ o de interessou-se em determinar os pares (usu´ arios) que fomentam enxames. 25 enderec ¸ os IP (7. acarretando em melhor qualidade final da m´ ıdia gerada. Quanto menor o intervalo decorrido entre a ˜ o de um torrent e o in´ ˜ o do enxame.5 0. No contexto da investigac ¸a ´ ltima an´ conduzida (lanc ¸ ando m˜ ao da arquitetura TorrentU e. em seus instantes iniciais. esse intervalo girou em torno de 4 minutos. pudessem ter seus respectivos rastreadores contatados e listas de pares participantes do in´ ıcio do enxame. Primeiro.987 torrents analisados. Para identific´ a-los. j´ a no seu in´ ıcio. Os 775 semeadores identificados est˜ ao as´ nicos.1 0 40 80 120 160 200 240 280 Provedores de Conteúdos ˜ cumulativa dos provedores Figura 5.4 0. Segundo.86% dos 318) participaram como semeadores de cerca da metade dos enxames.16%) dos 2. os 692 torrents foram semeados por um total de 775 pares.´ observado quando uma fonte de melhor qualidade e ´ encontrada para realizar fenˆ omeno e o processo. Por meio da metodologia mencionada. na condic ¸a semeadores. 1 0. maior a probabilidade de publicac ¸a ıcio da monitorac ¸a ˜o encontrar no enxame apenas o(s) primeiro(s) semeador(es). assim que torrents fossem publide monitorac ¸a cados no portal.8 Proporção de Enxames Semeados CDF 0. Provedores de Conteudo ıcito ˜ o de disseminac ˜ o ilegal de filmes em redes BT. em u alise. Passando a ` an´ contatar por erro na tentativa de comunicac ¸a alise dos resultados.2 0.

tamb´ em. que ´ o principal tipo de m´ filme e ıdia sendo compartilhado ilegalmente. Pa´ ıs ISP NZ Obtrix FR Ovh FR Ovh PL Mokadi GB Ovh FR Ovh NZ Obtrix FI Lsinki FR Ovh NL Upc # Enxames 57 45 32 32 31 24 21 15 14 12 Pa´ ıs IN US SE FR NL JP GB PK DE AU # IPs 41 33 33 28 26 24 14 11 10 7 Tabela 5. Para suprir essa lacuna. entre provedores constatou-se que existem relac ¸o encia. Distrubuic ¸ ao ´ ltimos agentes respons´ Os provedores de conte´ udo s˜ ao os terceiros e u aveis pelo ˜ o de c´ processo de disseminac ¸a opias il´ ıcitas de filmes atrav´ es de BT. tem-se os publicadores “Theroach”. O segundo caso consiste na observac ¸a provedores podem estar subordinados a produtores. Principais semeadores ˜ semeadores Tabela 6. a Franc ¸a destaca-se por 9. Ao observ´ a-los. Como exemplo. sempre s˜ ao semeados pelo mesmo provedor. “Ddr” e “Extratorrentrg” que. que tiveram cerca de 90% dos seus torrents publi˜ o de que cados e semeados pelo mesmo usu´ ario. ou subordinac ¸a ˜ o) e publicadores (usu´ (primeiros semeadores). ˜ es dos semeadores. por´ em sempre semeados pelos mesmos provedores.03% dos semeadores estarem localizados nesse pa´ ıs. que disponibilizaram torrents de m´ ıdias criadas por grupos variados. A grande massa de dados obtida foi. “Mr keff” e “Miguel”. apresenta-se na tabela 6 as principais localizac ¸o rando a quantidade de enxames que cada um serviu. Conclus˜ oes e Trabalhos Futuros ´ um dos principais O compartilhamento de conte´ udo por meio do protocolo BitTorrent e respons´ aveis pelo atual volume de tr´ afego da Internet. Internet Service Provider (ISP) de cada IP e quantidade de enxames semeados. “Riff” e “Safcuk009”. ent˜ ao. Um exemplo s˜ ao os grupos “Dmt”. Sabe-se que a maior parte desse ´ constitu´ volume e ıda pelo compartilhamento de conte´ udos il´ ıcitos. organizada e cuidadosamente 180 . que foi instanciada para observar o “universo” BT de uma arquitetura de monitorac ¸a por 30 dias. apesar de terem seus torrents publicados por um grupo heterogˆ eneo de usu´ arios. realizou-se a extens˜ ao ˜ o. Apesar da reconhecida importˆ ancia do tema. Exemplos desse caso s˜ ao os grupos “Kickass”. 5. ˜ es de dependˆ ˜ o. Trˆ es casos t´ ıpicos foram encontrados e s˜ ao discutidos a seguir. Como pode-se observar. Sabe-se. nenhum estudo procurou observar e mapear a dinˆ amica de ˜ o dessa natureza de conte´ disseminac ¸a udo.A tabela 5 apresenta a procedˆ encia dos principais semeadores. produtores (grupos de digitalizac ¸a arios da comunidade). ignoEm contraste. O primeiro caso s˜ ao provedores e publicadores dependentes dos produtores. curiosamente sendo todos servidos pelo ISP “Ovh”. O terceiro ´ ltimo caso est´ eu a relacionado com a possibilidade de provedores serem dependentes de publicadores. destacando pa´ ıs de origem.

A em redes BT. No que remete aos produtores.com/docs/Envisional-Internet_Usage-Jan2011.. Chow. Cuevas. http://documents.. Hui.. S. Guerrero. IMDB (2011). Kaune. Por exemplo. pages 181–185. pages 1–12. representam os locais onde. uma relac ¸a ¸a ˜ o empregados. K. abordou-se os respons´ aveis por inicialmente semearem os enxames desses conte´ udos. na realidade. 181 . Por fim. dos s˜ ao especializados em certos processos e confirmou-se a evoluc ¸a processos por meio dos quais os filmes ofertados s˜ ao digitalizados. que. observou-se um comportamento similar ao dos produtores. P. s˜ ao poucos produtores criando a maioria dos conte´ udos. no sentido de que ˜ o de grande parte dos torrents de c´ poucos s˜ ao respons´ aveis pela publicac ¸a opias il´ ıcitas. W.´ o primeiro estudo cient´ analisada. monitorar as darknets. A segunda oportunidade de trabalho futuro consiste em observar outras comunidades p´ ublicas populares. In WIFS 2009. D. Cheng. identifica-se um conjunto de oportunidades de investigac ¸o ˜ o mais longa.. disseminac ¸a A partir dos dados obtidos foi poss´ ıvel identificar padr˜ oes de comportamento de disseminadores de filmes ilegais. uma quarta oportunidade e ˜ o de padr˜ ´ inobservac ¸a oes e dinˆ amicas de consumo desses conte´ udos... A terceira. enxames em torno ´ a de c´ opias ilegais de filmes aparecem primeiro. Lai. R. Quanto aos publicadores. K. Grunwald. IEEE Workshop on Information Forensics and Security. (2009). R. International Conference on Emerging Networking Experiments and Technologies. At´ e onde sabemos. que permita acompanhar o “ciclo de vida” completo de filmes em redes BT. D. K. Bitstalker: Accurately and efficiently monitoring bittorrent traffic. and Rejaie. K. H. and Sicker. descobriu-se que a mai˜ o do grupo de digitalizac ˜ o respons´ oria dos torrents possui identificac ¸a ¸a avel e que. Envisional (2011).. descobriu-se que certos produtores Ao analisar os processos de digitalizac ¸a ˜ o. L. desejavelmente com um m´ primeira consiste em realizar monitorac ¸a ınimo de 16 semanas. envisional. http://www. and Yiu. (2010).... International Conference on Internet Monitoring and Protection. desde seu lanc ¸ amento no cinema at´ e o momento em que passa a ser distribu´ ıdo em DVD. este e ıfico que busca caracterizar ˜ o ilegal de filmes em redes BitTorrent. C. Tsang. M. (2007). ˜ o de subordinac ˜ o foi observada entre produtores e publicadores. In ICIMP 2007. em tese. Btm . pages 1–6. publicadores e semeadores.an automated rule-based bt monitoring system for piracy detection.pdf [Acessado em 07/11]. Por fim. Kryczka. Cuevas.. An estimate of infringing use of the internet. Chong. Chan. identificando ˜ es de dependˆ as relac ¸o encia existentes entre produtores. D.com/ [Acessado em 07/11].. L.. Referˆ encias Bauer. Is content publishing in bittorrent altruistic or profit-driven? In Co-NEXT 2010. ao longo do tempo. Al´ em disso.. A. e ˜ o de consumidores de filmes ilegais em teressante procurar observar se h´ a concentrac ¸a ˜ o de consumidores entre determinadas regi˜ oes e se h´ a comportamentos claros de migrac ¸a enxames.. Man. McCoy.. C. ˜ o para caracterizar disseminac ˜ o ilegal de filmes Finalizada uma primeira iterac ¸a ¸a ˜ es futuras.. comunidades privadas de torrents. provavelmente. S. Pun.imdb.

ipoque. IEEE International Conference on Peer-to-Peer Computing. B. In INFOCOM 2010. C. Liu. A. Seedbox. Observing the bittorrent universe through telescopes.. (2010). http://en. IFIP/IEEE International Symposium on Integrated Network Management. F. M. H. http://www.. Z.. Lefessant.org/ [Acessado em 07/11]. Lehmann. USENIX Workshop on Large-Scale Exploits and Emergent Threats. L. pages 1460–1468. P.wikipedia. Dhungel. Bays. [Acessado em 07/11]. Dinger. (2010b).. Le Blond.. 22(7):1164–1177.org/ wiki/Pirated_movie_release_types [Acessado em 07/11]. and Hartenstein. Wikipedia (2011c). S. Legout. Wu.planet-lab. In P2P 2010. Unraveling the bittorrent ecosystem. pages 1–2. Schulze. Bitmon: A tool for automated monitoring of the bittorrent dht.. A. PlanetLab (2011). M.com/sites/default/files/mediafiles/documents/ internet-study-2008-2009. http://en. and Ross. IEEE Transactions on Parallel and Distributed Systems. (2011). http://thepiratebay..org/wiki/Seedbox Zhang. D. K. In IM 2011. (2009). P. J. Bittorrent darknets. Wikipedia (2011b). Wu.. H. M.Junemann.. pages 4–4. In LEET 2010.. P. and Ross. P.. B... R..wikipedia. A. http:// www. and Barcellos. Gaspary.wikipedia. K.. Wikipedia (2011a).. L. Dhungel..org/ [Acessado em 07/11]. K. Dabbous. K. Andelfinger. and Mochalski. Spying the world from your laptop: identifying and profiling content providers and big downloaders in bittorrent. 182 . Internet study 2008-2009.org/wiki/ List_of_warez_groups [Acessado em 07/11]. http://en. Pirated movie release types. C. List of warez groups. P. and Kaafar. D. Mezzomo. (2010). Piratebay (2011). W.. Zhang. pages 1–8.pdf [Acessado em 07/11]. (2010a). Mansilha. IEEE International Conference on Computer Communications. R..

Curitiba . no caso de anomalias.pr. Resumo.PR. Introduc ¸a ˜ o de Intrus˜ Os Sistemas de Detecc ¸a ao (Intrusion Detection Systems). pois s˜ ao capazes de extrair modelos de comportamento do ambiente sem o conhecimento pr´ evio de ataques dentre as informac ¸o ˜ es coletadas. jamhour@ppgia.M´ etodo Heur´ ıstico para Rotular Grupos em Sistema de ˜ o de Intrus˜ Detecc ¸a ao baseado em Anomalia Hermano Pereira1 . A principal vantagem do IDS baseado em mau uso est´ a na possibilidade dos ataques serem especificados por especialistas. tais como regras ou assinaturas. Uma t´ ecnica utilizada para criar esses modelos e ´ a de agrupamento de dados. como ataques. sigla IDS. Among these systems it is highlighted the unsupervised learning. Brasil 2 Pontif´ ıcia Universidade Cat´ olica do Paran´ a . Dentre esses sistemas vˆ em se destacando os de aprendizagem n˜ aosupervisionada. s˜ ao sistemas que atuam junto ao sistema operacional ou em uma rede de computadores buscando ´ baseada em identificar atividades maliciosas. as they are able to extract environment models without prior knowledge concerning the occurrence of attacks among the collected information. This paper proposes a heuristic method for labeling clusters. J´ a os IDSs baseados em anomalias s˜ ao dependentes do ambiente 183 . where the false positive rates achieved during experiments were significantly lower compared to the methods described in related work. para ent˜ ao detectar ataques atrav´ es do desvio do comportamento ou na ocorrˆ encia de anomalias. por´ em.PR. ˜ o aos m´ ˜o 1. Os sistemas de detecc ¸a ao fazem parte de um ferramental de ˜ o de intrus˜ seguranc ¸ a necess´ ario na protec ¸a ¸o ˜ o de ambientes que disponibilizam informac ˜ es via Internet.gov.pucpr. onde os grupos resultantes s˜ ao rotulados como normais ou. Os IDSs baseados em ˜ o de ataques pela representac ˜ o destes atrav´ mau uso fazem a detecc ¸a ¸a es de padr˜ oes. Em geral. Neste trabalho e etodo heur´ ıstico para ro´ proposto um m´ tular grupos que durante os experimentos resultou em taxas de falsos positivos significativamente menores em relac ¸a etodos de trabalhos relacionados. esses IDSs necessitam que suas bases de padr˜ oes sejam atualizadas constantemente. where the resulting clusters are labeled either as normal or as attack (in anomalous case).CELEPAR 80. A technique used to create these models is the data clustering.br. a estrat´ egia de an´ alise do IDS e mau uso (misuse-based) ou baseada em anomalia (anomaly-based).530-010 . The intrusion detection systems are part of security suite necessary for environment protection that contains information available on the Internet. J´ a os IDSs baseados em anomalia precisam conhecer antecipadamente o comportamento do ambiente a ser monitorado.PUCPR 80.215-901 .br Abstract. Edgard Jamhour2 1 Companhia de Inform´ atica do Paran´ a .Curitiba . Brasil hermanopereira@celepar.

Com o intuito de fazer ˜ o desses grupos e reduzir o ´ uma melhor avaliac ¸a ındice de falsos positivos. ˜ o. a qual pode determinar o quanto uma atividade pode ser considerada uma intrus˜ ao. o m´ de requisic ¸o etodo proposto obteve na maioria dos testes os melhores resultados. De maneira diferente dos demais. sem supervis˜ ao). Por´ em. Todavia apresentam vantagens. ˜ o do m´ ˜ o de r´ Para a validac ¸a etodo proposto. na sec ˜ o 6. e neste trabalho eles foram implementados e comparados com o m´ etodo proposto. no caso de anomalia. onde os r´ otulos de ataques foram atribu´ ıdos de acordo com os outliers encontrados pelos algoritmos de agrupamento. Para testar o m´ etodo proposto. um r´ otulo de ataque. Em seus seus experimentos os grupos resultantes foram avaliados utilizando um m´ etodo heur´ ıstico. Diferentemente de normalidade ou acordo com a quantidade e a origem das informac ¸o ˜ o que varia de p´ de ataque. 2003]. o qual disponibilizava alguns s´ ıtios para a Internet e recebeu diversos ataques. Por fim. [Mahoney et al. Outros trabalhos que tamb´ em utilizaram agrupamento de dados como t´ ecnica baseada em anomalia s˜ ao: [Eskin et al. Atrav´ es dessa t´ ecnica os modelos de ˜ o de intrus˜ detecc ¸a ao s˜ ao criados a partir de treinamento utilizando algoritmos de agrupamento sobre uma base de dados n˜ ao rotulada (ou seja. a metodoloAl´ em desta sec ¸a ao descritos na sec ¸a ´ apresentada na sec ˜ o 3. ´ poss´ Na comunidade cient´ ıfica e ıvel encontrar diversos trabalhos de IDSs que procuram reduzir os ´ ındices de falsos positivos. 2002]. quando os grupos menores em n´ umero de instˆ ancias ou isolados (outliers) que s˜ ao leg´ ıtimos mas recebem r´ otulos de ataque. 2001] e de [Zhong et al. 2009]. os trabalhos relacionados s˜ ˜ o 2. [Guan et al. este trabalho ˜ o de r´ ˜ o aos grupos de apresenta um m´ etodo heur´ ıstico para atribuic ¸a otulos de reputac ¸a ˜ es. No trabalho de [Singh et al. os r´ otulos atribu´ ıdos podem representar uma reputac ¸a essima ` excelente de acordo com uma escala emp´ a ırica. outros dois m´ etodos de atribuic ¸a otulos de trabalhos relacionados tamb´ em foram implementados e testados sobre o mesmo conjunto ˜ es. 2007]. os outliers comuns identificados em sistemas diferentes foram considerados ataques. 2. necessitam de mais recursos para efetuar os treinamentos e geram muitos falsos positivos. Trabalhos Relacionados Os principais trabalhos relacionados com esta pesquisa s˜ ao os de [Portnoy et al. Ao final. 2005]. e uma t´ ecnica baseada em anomalia que vˆ em ´ a aprendizagem n˜ obtendo bons resultados e ao-supervisionada (unsupervised learning) que utiliza agrupamento de dados (data clustering). Assim os grupos resultantes recebem um r´ otulo de normalidade ou. os quais utilizaram algoritmos de agrupamento para fazer o treinamento no modo n˜ ao-supervisionado. No artigo de [Zhang et al. no trabalho de ˜ o de agrupa[Petrovi´ c 2006] os grupos compactos identificados por ´ ındices de validac ¸a 184 . tais como detectar ataques novos e obter baixos ´ ındices de falsos negativos. o m´ ´ apresentado na sec ˜ o 4 e os gia e ¸a etodo heur´ ıstico proposto e ¸a ˜ o 5.que monitoram. o IDS foi implementado e testado sobre um con˜ es HTTP (Hypertext Transfer Protocol) que foram coletadas de um serjunto de requisic ¸o vidor web. resultados dos experimentos realizados s˜ ao apresentados na sec ¸a ¸a s˜ ao feitas as conclus˜ oes e sugest˜ oes para trabalhos futuros. os outliers foram detectados atrav´ es de agentes distribu´ ıdos e analisados por um IDS central. 2003] e [Leung and Leckie 2005]. acabam resultando em aumento ˜ o de intrus˜ no n´ umero de falsos positivos durante a detecc ¸a ao.

1 Requisições da Partição X Seção 3. Por exemplo.7 e 5 Observação: as partições X ou Y representam uma das 20 partes da base de requisições utilizada neste trabalho. o modelo extra´ ˜ o P01 foi da partic ¸a ıdo do treinamento sobre a partic ¸a ˜ o de ataques na partic ˜ o P02 seguinte.4 Agrupamento de Dados Seções 3. e uma variac ¸a etodo de [Portnoy et al. Por ˜ o inspecionada foi detectada como normal ou como ataque e os resulfim.1). Para calcular a distˆ ancia entre as requisic ¸o ˜ o 3. que para a detecc ˜ o de ataques na partic ˜ o Y foi detecc ¸a ¸a ¸a ˜ o da pr´ ˜ o Y. o m´ de detecc ¸a ao (descritos na Sec ¸a etodo de [Portnoy et al. onde os algoritmos de agrupamento foram utilizados apenas como uma t´ ecnica de an´ alise complementar de suas arquiteturas. Metodologia ˜ o apresenta a metodologia que foi aplicada para realizar os experimentos. os grupos resultantes foram avaliados e rotulados de acordo com trˆ es m´ etodos heur´ ısticos ˜ o 3. uma a uma as requisic ¸o ˜ o 3. Na fase de treinamento. assim los de detecc ¸a ¸a ¸o ¸a ˜ es foram ilustra o fluxograma da figura 1. Cada m´ etodo resultou em modelos que foram utiliza˜ o de intrus˜ dos na fase de detecc ¸a ao.4) foi aplicado e as requisic ˜ es um algoritmo de agrupamento de ligac ¸a ¸a ¸o ˜ es foi utilizada a similares foram agrupadas. 3.6 Seções 3. 2001]. 2009].3.5): o m´ (Sec ¸a etodo de [Portnoy et al.3 e 3. ˆ Figura 1. [Robertson et al.1 Seção 3. 2007]. as foi subdividida em 20 partic ¸o ¸a ˜ es de uma partic ˜ o X foram utilizadas durante o treinamento e resultou em moderequisic ¸o ¸a ˜ o para serem utilizados na inspec ˜ o das requisic ˜ es de uma partic ˜ o Y. 2001]. ˜ o baseada em anomalia em servic Entre os trabalhos que trataram de detecc ¸a ¸ os web e HTTP podem ser encontrados os de [Criscione et al. Ent˜ utilizado um modelo de detecc ¸a opria partic ¸a ao foram testados trˆ es m´ etodos ˜ o de intrus˜ ˜ o 3. o ˜ o do m´ m´ etodo de [Zhong et al.2 Seção 3. 2001]. Ap´ medida de similaridade euclidiana que est´ a descrita na Sec ¸a os o agrupamento. Assim normalizadas para que pudessem ser comparadas uma com as outras (Sec ¸a ˜ o simples (Sec ˜ o 3. Fluxograma . 185 .6). taxa de falsos positivos e ´ Sec ¸a ¸a ındice de medida-F.5 e 4 Avaliação dos Grupos Modelos de Detecção DETECÇÃO Requisições da Partição Y Normalização das Requisições Detecção de Intrusão Resultados Seção 3. 2007] e o m´ etodo proposto neste trabalho. Para executar os testes. 2007].mento foram considerados ataques em massa.2). 2010] e [Corona and Giacinto 2010]. e o modelo extra´ utilizado para a detecc ¸a ¸a ıdo da ˜ o P02 foi utilizado na partic ˜ o P03 e assim sucessivamente.sequencia aplicada nos testes ˜ o de intrus˜ ˜ o Y foi utilizado o modelo de detecc ˜o Para a detecc ¸a ao em uma partic ¸a ¸a ˜ o X. Exceto no m´ partic ¸a ¸a etodo de ˜ o descrito por [Zhong et al. o m´ etodo de [Zhong et al.2 Normalização das Requisições Seções 3.7): taxa de detecc ˜ o de ataques. Um Esta sec ¸a ˜ es HTTP que ambiente de testes foi preparado com uma base de 5 milh˜ oes de requisic ¸o ˜ es (detalhes na Sec ˜ o 3. TREINAMENTO Seção 3. cada requisic ¸a ˜ o (descritas na tados foram totalizados e apresentados conforme as medidas de comparac ¸a ˜ o 3.

Particionamento do Conjunto de Requisic ¸ oes ˜ o Ataques Adicionados Anomalias Normais Partic ¸a Total P00 4 0 318 249678 250000 P01 29 0 410 249561 250000 a P02 5 6570 1124 242301 250000 P03 51 2690b 2647 244612 250000 P04 50 0 1685 248265 250000 P05 8 0 868 249124 250000 P06 17 0 1237 248746 250000 P07 95 0 1001 248904 250000 P08 21 0 770 249209 250000 c P09 91 85570 891 163448 250000 P10 10 27228c 510 222252 250000 P11 49 0 1365 248586 250000 P12 83 0 1272 248645 250000 P13 111 3888d 2311 243690 250000 P14 14 0 1301 248685 250000 P15 246 0 2611 247143 250000 P16 39 0 2707 247254 250000 P17 129 0 3669 246202 250000 P18 157 0 2192 247651 250000 P19 39 1398a 847 247716 250000 Total 1248 127344 29736 4841672 5000000 Os ataques adicionados da base [iCTF 2008] s˜ ao das ferramentas: a . b .[Nessus 2011].[Nikto 2011]. Base Rotulada Nos testes realizados no trabalho de [Portnoy et al. ataques adicionados da base [iCTF 2008]. requisic ¸o ˜ Tabela 1. nesta pesquisa foi criada uma base pr´ opria onde um servidor web dispon´ ıvel na Internet foi monitorado e seus acessos foram coletados. No total ˜ es HTTP entre as 19:00 do dia foram coletadas aproximadamente 5 milh˜ oes de requisic ¸o 16/12/2010 e as 18:00 do dia 28/12/2010 (GMT). Os ataques [iCTF 2008] que foram adicionados nesta base foram gerados por fer- 186 . No trabalho de [Zhong et al. c . onde mais de 100 mil registros foram usados nos testes. Ap´ os a an´ alise foram identificados e rotulados mais de mil ataques e aproximadamente 30 mil anomalias. analisados e rotulados. a base rotulada [KDD 1999] foi subdividida em 10 partes e os experimentos foram realizados sobre quatro dessas partes. 2001]. Nas duas bases existem aproximadamente 5 milh˜ oes de registros de ˜ es coletadas de uma rede que foi utilizada para avaliac ˜ o de IDSs. anomalias e as demais ˜ es rotuladas como normais. Para aumentar o n´ umero de ataques sem gerar um incidente de seguranc ¸ a. informac ¸o ¸a Visto que as bases utilizadas nos trabalhos relacionados datam h´ a mais de 10 anos.3. foram adicionados a esta base mais de 127 mil ataques gerados por 4 ferramentas de ataques web que foram extra´ ıdos da ˜ o [iCTF 2008].[Acunetix 2011]. 2007] foi utilizada a base rotulada [DARPA 1998] (a base ´ uma vers˜ [KDD 1999] e ao dessa mesma base).1. A tabela 1 apresenta as 20 partic ˜ es com a quantidade base da competic ¸a ¸o de ataques rotulados.[DirBuster 2011] e d .

Cookie . Assim cada campo de uma requisic ˜ o foi comparado requisic ¸a ¸a ¸a ˜ o usando a medida de distˆ com o campo correspondente da outra requisic ¸a ancia eucli˜ o 3.2. e Content . caracteres num´ ericos (0-9) e caracteres n˜ ao-alfanum´ ericos. 2001] normalizou os dados de cada atributo subtraindo o valor da m´ edia e dividindo pelo desvio padr˜ ao. a distˆ serviram como base na comparac ¸a ancia (d) entre ˜ es foi o resultado do somat´ as requisic ¸o orio da distˆ ancia euclidiana entre os sete campos ˜ es. Por exemplo.1). e de maneira um pouco mais elaborada a ferramenta [Acunetix 2011] tentava ˜ es de s´ extrair informac ¸o ıtios web incluindo ataques atrav´ es do m´ etodo POST. Assim as 3 dimens˜ oes (m=3) de quantidade de caracteres descritas na sec ¸a ˜ o entre esses campos. 2 para num´ ericos e 2 para ˜ o teve seus 7 campos normalizados onde cada n˜ ao-alfanum´ ericos. J´ a os ataques adicionados da ferramenta [Nikto 2011] procuravam identificar vulnerabilidades em s´ ıtios web. 2007] levaram em conta 41 atributos extra´ ıdos de sess˜ oes TCP.caminho do recurso na URL. e no trabalho de [Zhong et al. [Portnoy et al. ˜ es do tipo texto e que est˜ Como se trata de informac ¸o ao ofuscadas.URL de referˆ encia. Apesar dos ataques adicionados da ferramenta [DirBuster 2011] serem massivos. Referer . mas nesta base foram adicionados apenas os ataques diversos protocolos e aplicac ¸o que tentaram identificar vulnerabilidades de servidores HTTP e de s´ ıtios web. E dentre os ataques que realmente ocorreram ao servidor web foram identificados diversos tipos: tentativas de ˜ o de c´ injec ¸a odigo SQL. (n=7) dessas requisic ¸o 187 . 2007] as medidas eram utilizadas de acordo com o algoritmo de agrupamento. Host dom´ ınio ou enderec ¸ o IP do requisitado. 2001] e [Zhong et al. as quais tentaram encontrar vulnerabilidades conhecidas em servidores e s´ ıtios web. cada requisic ¸a campo ficou com 3 dimens˜ oes (alfab´ eticos. o texto “Mozilla/5. 2001] a medida de similaridade utilizada foi a distˆ ancia euclidiana. 3. s˜ ao apenas ataques que tentaram buscar por p´ aginas ou arquivos que deveriam estar ocultos ou protegidos ˜ es do servidor/s´ mas que poderiam revelar informac ¸o ıtio atacado.dados de sess˜ ao do usu´ ario. o conte´ udo de cada campo foi normalizado apenas contabilizando a quantidade de caracteres alfab´ eticos (a-z e A-Z).2 diana. Sendo assim foram utilizados apenas 7 campos de cada requisic ˜ o: requisic ¸o ¸a UPath . 2007] foram utilizadas 105 dimens˜ oes de caracter´ ısticas das instˆ ancias coletadas da base e foram normalizadas para valores entre zero e um (0. A ferramenta [Nessus 2011] realiza ataques para ˜ es. Diferentemente desses trabalhos. Normalizac ¸a As bases utilizadas por [Portnoy et al.3. Por fim.consulta ao recurso na URL. J´ a em [Zhong et al. a base utilizada nesta pesquisa cont´ em ˜ es HTTP. User-agent . ˜ o 1 para calcular a distˆ Neste trabalho foi utilizada a equac ¸a ancia (d) entre uma ˜ o a e uma requisic ˜ o b. Esses campos foram escolhidos por terem relac ¸a realizados via HTTP. sendo a distˆ ancia euclidiana ou de Mahalanobis.conte´ udo do ˜ o com a maioria dos ataques corpo HTTP. travessia de caminho. inclus˜ ao remota de arquivos. busca forc ¸ ada. num´ ericos e n˜ ao-alfanum´ ericos).ramentas de varredura por vulnerabilidade. abuso de proxy e at´ e mesmo ataques de malwares.agente navegador do usu´ ario. Medida de Similaridade No trabalho de [Portnoy et al. Ao final. ˜ o dos Dados 3. UQuery .0” resultaria em 7 para caracteres alfab´ eticos.

˜ o com seu grupo mais pr´ • Associar cada requisic ¸a oximo desde que n˜ ao ultrapasse ´ a distˆ o limite de distˆ ancia W pr´ e-definido.5. Avaliac ¸a Ap´ os realizar os agrupamentos. e para isso os autores testaram diversos ˜o algoritmos baseados em centr´ oides. similar ao utilizado no algoritmo de agrupamento de ligac ¸a trabalho de [Portnoy et al. que e passos: • Ordenar os grupos por quantidade de instˆ ancias. 2001]. [Zhong et al. ˜ o mais detalhada O m´ etodo heur´ ıstico proposto neste trabalho realiza uma avaliac ¸a visando reduzir o ´ ındice de falsos positivos. ˜ es em seus grupos mais • Repetir o passo anterior para reorganizar as requisic ¸o pr´ oximos. Se n˜ m´ axima que as requisic ¸o ao houver um grupo ˜ o atual ser´ correspondente. rotular como normal e definir como o centr´ oide µ0 . 188 .n m d(a. que e ´ realizado com os seguintes passos: “self-labeling”.4. 2007] o objetivo era testar a eficiˆ encia de diferentes algo˜ o de intrus˜ ritmos de agrupamento na detecc ¸a ao. • Selecionar um percentual η de instˆ ancias e rotular como normal. O m´ etodo heur´ ıstico proposto por ´ apresentado como “labeling clusters”. O limite de distˆ ancia W e ancia (d) ˜ es podem estar de seu grupo. os grupos resultantes foram avaliados e rotulados para ˜ o de intrus˜ serem utilizados como modelo de detecc ¸a ao. • Selecionar um percentual N dos grupos maiores em n´ umero de instˆ ancias e rotular como normais. e os passos s˜ ao os seguintes: • Calcular um ´ ındice de popularidade para cada grupo. e fazer o mesmo procedimento com todas as instˆ ancias. e • Selecionar o grupo com o maior n´ umero de instˆ ancias. ˜ o dos Grupos 3. consiste nos seguintes [Portnoy et al. 2007]. Agrupamento de Dados No trabalho de [Zhong et al. 2001]. a requisic ¸a a um novo grupo. J´ a neste trabalho o objetivo foi fazer uma comparac ¸a ˜ o de r´ entre os m´ etodos utilizados para atribuic ¸a otulos. 2007] define η como percentual de instˆ ancias normais. ´ apresentado como O m´ etodo heur´ ıstico proposto por [Zhong et al. por isso foi utilizado apenas um ˜ o simples (single-linkage). • Rotular os grupos restantes como ataques. mas em ou´ definido como percentual de tra parte de seu trabalho o mesmo parˆ ametro tamb´ em e instˆ ancias que s˜ ao ataques. • Rotular as demais instˆ ancias como ataques.b) = i=1 j =1 (aij − bij )2 (1) 3. • Ordenar todos os grupos de acordo com sua distˆ ancia ao centr´ oide µ0 . O algoritmo consiste nos seguintes passos: • Iniciar um conjunto de grupos vazios.

• Extrair um modelo de grupos rotulados de uma partic ¸a ˜ o Y comparando com os grupos rotulados da • Inspecionar cada instˆ ancia da partic ¸a ˜ o X (sendo a partic ˜ o Y subsequente a ` partic ˜ o X). Medidas de Comparac ¸a ˜ o de intrus˜ Ap´ os realizar todos os testes de detecc ¸a ao os resultados foram contabilizados como verdadeiros positivos (VP). cada instˆ ancia da partic ¸a ao mesmo r´ otulo do grupo X mais pr´ oximo desde que o limite de distˆ ancia W n˜ ao seja extrapolado. ˜o 3. ˜ o dada a soma ponderada do ´ • Calcular um ´ ındice de reputac ¸a ındice de popularidade com o ´ ındice de confiabilidade. as anomalias rotuladas que foram detectadas ou n˜ ao. 2001] os ataques foram detectados da seguinte maneira (m´ etodo referenciado como D1): ˜ o X da base. ˜ o 4. Para simplificar os c´ alculos. falsos negativos (FN ) e verdadeiros negativos (VN ). 189 . partic ¸a ¸a ¸a ˜ o Y receber´ • Ap´ os comparar com todos os grupos. no caso do m´ etodo proposto. receber´ a uma reputac ¸a p´ essima.• Encontrar hosts que tornaram grupos populares e atribuir uma confiabilidade. tiveram seus resultados ignorados. cada instˆ ancia da partic ¸a ao mesmo r´ otulo do grupo X mais pr´ oximo. partic ¸a ¸a ¸a ˜ o Y receber´ • Ap´ os comparar com todos os grupos. No trabalho de [Portnoy et al. ˜ o de intrus˜ Neste trabalho tamb´ em foi testada a detecc ¸a ao levando em conta o limite de distˆ ancia W utilizado durante o agrupamento (m´ etodo referenciado como D3): ˜ o X da base. Detalhes sobre essas medidas podem ser encontradas em [Fawcett 2003]. ruim ou p´ emp´ ırica: excelente. 2007] o m´ etodo de detecc ¸a (m´ etodo referenciado como D2): ˜ o de r´ ˜ o Y da base somente ap´ • Realizar a atribuic ¸a otulos nas instˆ ancias da partic ¸a os ˜ o ao centr´ ordenar cada instˆ ancia de acordo com sua distˆ ancia em relac ¸a oide µ0 . ˜ o utilizado foi o seguinte No trabalho de [Zhong et al. Detalhes do m´ etodo proposto s˜ ao apresentados na sec ¸a ˜ o de Intrus˜ 3. ˜ o Y rotuladas como ataques dado um percentual η ser˜ • Instˆ ancias na partic ¸a ao consideradas como tal. Caso n˜ ao haja correspondˆ encia com grupo algum.6. a instˆ ancia ser´ a ˜o considerada um ataque ou. os mesmos foram utilizados na tomada de decis˜ ao durante ˜ o de intrus˜ a detecc ¸a ao. relacionando o ´ ındice de reputac ¸a ´ tima. Os resultados foram calculados ˜ o de ataques (TDA) ou revis˜ utilizando as seguintes f´ ormulas: taxa de detecc ¸a ao (inglˆ es: recall). taxa de falsos positivos (TFP).7. ˜ o com uma escala • Atribuir um r´ otulo ao grupo. • Calcular um ´ ındice de confiabilidade para cada grupo de acordo com os hosts que o acessaram. o essima. boa. Detecc ¸a ao Ap´ os obter os grupos rotulados. regular. falsos positivos (FP). precis˜ ao (inglˆ es: precision) e a medida-F (inglˆ es: F-measure). • Extrair um modelo de grupos rotulados de uma partic ¸a ˜ o Y comparando com os grupos rotulados da • Inspecionar cada instˆ ancia da partic ¸a ˜ o X (sendo a partic ˜ o Y subsequente a ` partic ˜ o X).

Primeira Etapa: Indice de Popularidade dos Grupos ´ determinar o quanto um grupo est´ O objetivo de calcular o ´ ındice de popularidade p e a ˜ o a diversidade de hosts que o acessaram.j) apresentada na equac ¸a ´ a quantidade 3 representa uma instˆ ancia de acesso do host i ao grupo j. 190 . j´ ˜o ques na base de requisic ¸o a foi implementado e descrito anteriormente na dissertac ¸a ˜ es das de [Pereira 2011]. etapas que s˜ ao apresentadas nesta sec ¸a ´ 4. Assim as informac ¸o ser agrupadas. A linha de corte l e ametro definido antes de calcular p com o intuito de evitar que hosts que realizaram muitos acessos colaborem com o aumento de p de um grupo.4. O algoritmo 1 apresenta uma proposta simples para que a linha de corte (l) possa funcionar conforme o que foi proposto. Para isso utiliza˜ o 3. esses ´ ındices foram combinados ˜ o.2. Durante essa an´ alise foi poss´ ıvel observar que as informac ¸o ˜ es que eram mais comuns (ou populares) tinham uma chance menor de serequisic ¸o rem consideradas ataques. e atrav´ es de c´ alculos emp´ ıricos determinar um ´ ındice de popularidade e um ´ ındice de confiabilidade para cada grupo. Assim o quanto mais o valor de l for pr´ oximo de zero. O valor de i identifica o host e o valor de m identifica a quantidade total de acessos efetuados ao grupo. mais hosts ser˜ ao necess´ arios para tornar um grupo popular. e que aquelas que n˜ ao eram comuns podiam ser consideradas ˜ es poderiam confi´ aveis se o host de origem tamb´ em fosse confi´ avel. Segunda Etapa: Confiabilidade dos Hosts Nesta etapa os hosts que popularizaram os grupos dever˜ ao receber um grau de confianc ¸ a. portanto. detalhado na equac ¸a 1 n n p= a onde i=1 a = 0. e est´ o´ ındice de popularidade (p) e a ˜ o 2. A vari´ avel z e ˜ o enquanto houver algum valor de qi zerado. se qi = 0 a = 1. e a vari´ avel m e total de grupos no agrupamento. ´ calculado de acordo com os valores obtidos de q. Outra estrutura de repetic ¸a dos os acessos realizados pelos hosts de 1 at´ e n sejam analisados. J´ a a vari´ avel qi representa o percentual de ´ booleana e serve para manter acessos efetuados pelo host i dentro do grupo. o qual ser´ a utilizado como base para calcular a confiabilidade dos grupos. se qi > 0 (2) 4. e o processo todo resultou em um m´ para calcular um ´ ındice de reputac ¸a etodo heur´ ıstico ˜ o para os grupos. Ao final.1. o valor de mi representa o total de acessos do host i dentro do grupo. A tupla (i. Este m´ para atribuir r´ otulos de reputac ¸a etodo foi subdividido em quatro ˜ o. Ao final do algoritmo. O valor de p deve ficar entre 0 (zero) e 1 (um). isso significa que o ´ o lac ¸ o de repetic ¸a ındice ´ ltima iterac ˜ o nenhum host ultrapassar o de popularidade s´ o pode ser calculado se na u ¸a ˜ o faz com que topercentual estabelecido na linha de corte. M´ etodo Heur´ ıstico Proposto ˜ es experimentais durante a verificac ˜ o de ataEste m´ etodo foi criado a partir de observac ¸o ¸a ˜ es. onde para cada host (i) e ´ feito o somat´ se a equac ¸a orio (vi ) de todos os ´ ındices de ˜o popularidade (pj ) dos grupos que esse host acessou. Isso significa que quanto equilibrado em relac ¸a ˜ o dos acessos realizados pelos hosts melhor ser´ melhor for a distribuic ¸a ao´ ındice de po´ um parˆ pularidade.

3. se (i.Algoritmo 1 C´ alculo do ´ ındice de popularidade qi = ∅ z = true while z do z = false for i = 1. Para calcular este ´ ındice. i ≤ n. Nestas equac ˜ es a vari´ equac ¸o ¸o avel u representa o somat´ orio de todos os ´ ˜ o 5 a vari´ ındices de popularidade (p).mi z = true end if end for end while ˜ o 2) Calcular p dado q (equac ¸a m vi = j =1 a onde a = 0. i = i + 1 do if qi > 0 or qi = ∅ then qi = mi / m end if if qi > l then qi = 0 m = m .j) se ∃ (i. pode ser visualizado na equac ¸a 1 h h c= wi i=1 (7) 191 . a = pj . basta somar a confiabilidade wi dos hosts e dividir pela quantidade h de hosts que participaram desse grupo. e na equac ¸a com os valores obtidos de g e de u. Esse c´ alculo ˜ o 7. Terceira Etapa: Indice de Confiabilidade dos Grupos ˜ o da confiabilidade de cada host e ´ poss´ Ap´ os a identificac ¸a ıvel calcular o ´ ındice de confiabilidade (c) de cada grupo. Na equac ¸a avel g representa o ´ ındice do host mais ˜o 6 e ´ calculada para todos os hosts a sua confiabilidade de acordo confi´ avel. m u= j =1 pj vi u (4) g = max wi = (5) (6) vi g·u ´ 4.j) e qij > 0 (3) Ent˜ ao a confiabilidade dos hosts (wi ) dever´ a ser maximizada calculando as trˆ es ˜ es: 4. 5 e 6.

de detecc ¸a ¸o ¸o 192 . com 3 m´ etodos de avaliac ¸o ˜ es de parˆ [Zhong et al.1 a 1. Ap´ os aplicar o m´ etodo heur´ ıstico proposto.23. Ao final.15. regular (1. 2001]. considerando a confiabilidade do grupo mais importante do que a popularidade.0) ou p´ reputac ¸a essima (menor que 0.2 grupos. os valores utilizados para N foram 0. 100 e 120.7. 2007] referenciado como D2. l=0. η =0. N =0. que s˜ ao os mesmos utilizados em [Portnoy et al. Experimentos ˜ o s˜ Nesta sec ¸a ao apresentados os resultados dos experimentos onde o treinamento foi realizado com agrupamentos variando o valor de W para 80. O valor de W para ˜ o de agrupamento durante 120 foi utilizado pois resultou em melhores ´ ındices de validac ¸a os testes preliminares. 0. [Zhong et al. e o m´ etodo que leva em conta o valor de W.0575.0).4. respectivamente. no m´ etodo proposto. 5. 0. Como e ıvel observar nas etapas an´ mais custoso ao ´ teriores. 222. ruim (0. ˜ o (r) tamb´ Consequentemente o resultado do ´ ındice de reputac ¸a em ficar´ a na escala de zero ´ utilizar esta escala emp´ ˜ o: (0) a quatro (4) e uma sugest˜ ao e ırica para definir uma reputac ¸a ´ tima (2. que s˜ ao respectivamente a metade e o dobro. 10 e 5 hosts necess´ arios para tornar um grupo popular.2). ˜ es de grupos ([Portnoy et al. 2007] e o Proposto).0) p´ essima (0. 100 e 120 geraram em m´ edia. No m´ etodo proposto.115 para representar o percentual de ataques na base em que foi testado.1 e 0. 2007]: 100 e 200 grupos. foram ponderados os valores de yp = 1 e yc = 3. o e excelente (3.5).07 e N =0. calcula˜ o (r) estipulando os fatores de ponderac ˜ o (equac ˜ o 8). com 3 variac ¸o ametros (N =0.5 e 77.0 a 4. Al´ em disso.05. Quarta Etapa: Indice de Reputac ¸a Uma vez que se obt´ em os ´ ındices de popularidade e de confiabilidade dos grupos.0 a 0. o m´ ınimo de 20. D2 e D3) aplicados nas 19 partic ˜ es da base de requisic ˜ es.0).0575 e de 0. η =0. mas nestes experimentos al´ em desse percentual tamb´ em foram testados os valores de 0.1 e l=0. No total foram realizados 1539 testes utilizando 3 agrupamentos (W =80. 2001] referenciado como D1.0 a 3. No trabalho de [Zhong et al. ˜ o dos m´ ˜ o de r´ Para a execuc ¸a etodos heur´ ısticos de atribuic ¸a otulos. Tamb´ em foram realizados testes com cada um ˜ o de intrus˜ dos m´ etodos de detecc ¸a ao: [Portnoy et al.05.1 e 1. J´ a os valores de W para 80 e 100 foram selecionados pois resultaram em n´ umero de grupos aproximados aos utilizados no trabalho de [Zhong et al.1) foram considerados ata˜ o de intrus˜ ques durante a detecc ¸a ao. W =100 e W =120). referenciado como D3.15.23. 2007] o valor utilizado para η foi de 0. juntamente com 3 m´ etodos ˜ o (D1. e ındice de confiabilidade atingir valores pr´ oximos de 1 (um). Ap´ os executar os agrupamentos os valores de W para 80. r = yp · p + yc · c (8) ˜ o est´ A ideia em aplicar uma escala de 0 (zero) a 4 (quatro) para ponderac ¸a a em ˆ nfase a um ´ ´ poss´ dar e ındice mais do que ao outro. os valores selecionados para l foram 0.2 que respectivamente representam.115 e η =0.07 e 0. por exemplo.02.0).0 a 1.´ ˜ o dos Grupos 4.1).02. 125.5 a 2. 2001]. os grupos receber˜ ao seus r´ otulos e poder˜ ao ser utilizados ˜ o de intrus˜ como modelo na detecc ¸a ao. boa (1. os grupos rotulados com uma ˜ o ruim (entre 0. l=0. desde que se o ´ ındice de reputac ¸a ¸a ¸a a soma de yp e yc seja igual a 4.

F: apresenta o ´ ındice de medida-F que foi alcanc ¸ ado.9307 0.0116 Zhong(W =80.0575.0566 P03 Proposto(W =100.15. a quantidade de alertas falsos de ataques.0007 0.l=0.D2) 28 2699 22 0.8916 0.5142 0. a quantidade de ataques detectados.9759 0.D1) 85067 20083 594 0.05.N =0.07.9329 0.D3) 3579 1212 2996 0.23. a quantidade de ataques que n˜ ao foram detectados.N =0.0750 0.D3) 92 1891 85569 0.D1) 9 4127 5 0.0004 0.D1) 1437 43794 0 1. partic ¸o Tabela 2.1677 Proposto(W =100.l=0.D3) 90 910 1347 0.D2) 46 25174 4 0.5600 0.1612 Zhong(W =80.η =0.0166 Portnoy(W =120.1978 0.0004 0.9440 0.0738 0.D3) 3 27 47 0.9985 0.η =0.l=0.0037 Portnoy(W =100.8571 0.1980 0.0470 * Proposto(W=40.D1) 7 52 7 0.0050 Portnoy(W =100.D3) 13 1121 27225 0.N =0.3475 0.0050 Zhong(W =120.4508 Proposto(W =80.15.0163 0.115.1.0616 A medida-F foi utilizada para identificar o m´ etodo que obteve melhor resultado em cada particionamento. agrupamento.0011 0.0036 0.3584 0.0515 P10 Portnoy(W =100.0459 * Proposto(W=40.0604 Zhong(W =120.2.3143 0.D3) 739 10516 698 0.23.l=0.l=0.N =0.l=0.3930 0.D3) 16 57059 27222 0.0005 Zhong(W =120.0462 P19 Zhong(W =120.D1) 1437 11635 0 1.D2) 35 7499 85626 0.1917 0.05. parˆ ametros e m´ etodo de detecc ¸a VP: verdadeiros positivos.0626 0.3355 0.D1) 2551 7690 190 0.N =0.D3) 27238 100182 0 1.η =0.0600 0.0001 * Proposto(W=100.η =0.1.0000 0.0109 Portnoy(W =80.0424 Proposto(W =80.D3) 6565 39064 10 0.0314 Portnoy(W =120.9200 0.D1) 2557 9418 184 0.02.0575.9427 0.η =0.1014 P09 Portnoy(W =120.2.2. FP: falsos positivos.l=0.9661 0.0068 Zhong(W =100.0575.l=0. P: partic ¸a ¸o ˜ o. FN: falsos negativos.7031 0.0671 Zhong(W =120.0202 0.D1) 2648 129 93 0.15.07.1768 ˜ o da base que teve as requisic ˜ es inspecionadas.0044 0.D3) 14 1702 0 1.D3) 43550 27422 42111 0. TFP: apresenta a taxa de falsos positivos.9422 0.9931 0.05.2. ˜ TDA: apresenta a taxa de detecc ¸ ao de ataques.0006 0.l=0.6429 0.07.2515 0.0020 0.3523 0.D2) 3775 14729 224 0.l=0.0575. P P02 F 0.η =0.0021 0. As partic ¸o relevantes para discuss˜ ao s˜ ao apresentados nesta tabela.D3) 41 16650 9 0.9598 0.0000 0.D1) 3768 2951 231 0.D2) 3770 16219 229 0.D1) 12 11495 2 0.8200 0.0000 0.0005 0.5443 0.3386 0.0002 * Proposto(W=100.η =0.0385 P04 Proposto(W =120.15.2.2567 P13 Proposto(W =120.5083 0.η =0.0010 0.0575.0121 Portnoy(W =120.0666 P14 Proposto(W =120.l=0.l=0.N =0.8144 0.2.0000 0.1229 * Proposto(W=40. os demais resultados das outras ˜ es foram suprimidos.1164 0. Essa medida faz uma m´ edia harmˆ onica entre a precis˜ ao e a re- 193 .N =0.D3) 26582 11452 656 0.D2) 2226 13709 4349 0.2.0050 0.N =0. M´ etodo: m´ etodo heur´ ıstico aplicado.Cada linha da tabela 2 apresenta os melhores resultados obtidos durantes os expe˜ es nas quais os resultados foram rimentos de um m´ etodo heur´ ıstico espec´ ıfico.l=0.5000 0. Melhores resultados obtidos M´ etodo VP FP FN TDA TFP Proposto(W =100.6297 0.1.

˜ o mas vis˜ ao. Discuss˜ ao sobre os resultados obtidos com o m´ etodo proposto: ˜ es o m´ • Na maioria das partic ¸o etodo proposto obteve melhores resultados nas taxas ˜o de falsos positivos (conforme o gr´ afico na figura 2).Taxas de Falsos Positivos Discuss˜ ao sobre os resultados obtidos com o m´ etodo de [Zhong et al. 2001]: ˜ es o m´ • Na maioria das partic ¸o etodo heur´ ıstico de [Portnoy et al. 2001]. onde o modelo obtido • Uma excec ¸a ¸a ˜ o na partic ˜ o P19. tolerado e ıvel aproximar das melhores taxas de detecc ¸a ˜ es P04 e P14 as linhas cujas as primeiras colunas est˜ nas partic ¸o ao marcadas com ˜ o. ˜ o P09 com treinamento • O melhor resultado de [Portnoy et al. Para comprovar. pois se o n´ umero de falsos positivos for ´ poss´ ˜ o. por´ em suas taxas de detecc ¸a de ataques n˜ ao foram t˜ ao significativas quanto as de [Portnoy et al. onde o n´ realizado na partic ¸a umero de falsos positivos n˜ ao foi significante ˜ o ao n´ em comparac ¸a umero de ataques da ferramenta DirBuster que foram detectados. 2001] resultou nas ˜ o de ataques. 2007] n˜ ao obteve bons resulta˜ es de grupos dos. a qual continha com esse m´ etodo resultou em melhor detecc ¸a ¸a diversos ataques da ferramenta Nessus. ˜ o foi o treinamento realizado na partic ˜ o P18. um asterisco (*) est˜ ao os testes que obtiveram melhores taxas de detecc ¸a ˜ es P09 e P10 este m´ • Nas partic ¸o etodo obteve p´ essimos resultados. mas que estavam distante com quantidade consider´ avel de requisic ¸o do centr´ oide principal e acabaram resultando no aumento de alertas de falsos positivos. o m´ bre as 19 partic ¸o etodo heur´ ıstico proposto obteve melhores resultados de medida-F ˜ es e na maioria dos testes as taxas de falsos positivos n˜ em 16 partic ¸o ao ultrapassaram de 1% conforme pode ser visualizado no gr´ afico da figura 2. considerando mais importante os testes que obtiveram boas taxas de detecc ¸a tamb´ em que geraram poucos falsos positivos. Isso ocorre devido ao c´ alculo de medida-F. Grafico . Partições da base de requisições ´ Figura 2. Por´ melhores taxas de detecc ¸a em esse bom resultado foi penalizado pela grande quantidade de falsos positivos. 2001] foi na partic ¸a ˜ o P08. foi poss´ ıvel observar que dentro da base haviam concentrac ¸o ˜ es normais. Discuss˜ ao sobre os resultados obtidos com o m´ etodo de [Portnoy et al. Assim com os experimentos realizados so˜ es. isso se d´ a aos ataques realizados pela ferramenta DirBuster que durante o agrupamento gerou 194 . 2007]: • Ao investigar o motivo pelo qual [Zhong et al.

tanto as implementac ¸o ¸o disponibilizadas para o p´ ublico em [Celepar-Dataset 2011]. o m´ etodo heur´ ıstico proposto tamb´ em precisar´ a de mais estudos. Web Applications and Databases. Criscione.. A Geometric Framework for Unsupervised Anomaly Detection: Detecting Intrusions in Unlabeled Data. mesmo sabendo que se trata de um IDS que foi treinado sem supervis˜ ao. O resultado pode ser visualizado nas linhas ˜ es P09. OWASP DirBuster Project (https://www. Celepar-Dataset (2011).Proceedings Track.html . (2002). E. and Stolfo. por outro lado. IEEE Computer Society. Maggi.Dataset with web attacks for intrusion detection research (http://ids.ll... Na maioria dos testes as taxas de detecc ¸a ao foram superiores aos dos outros m´ etodos. Como complemento deste trabalho tamb´ em poder˜ ao ser feitos testes do IDS no modo de aprendizagem cont´ ınua (active learning).acunetix. (2010). S. DirBuster (2011). L. pages 37–45. o m´ de uma base de requisic ¸o etodo proposto obteve melhores resultados em 16 ˜ o de ataques n˜ delas.br/dataset)..˜o grupos densos e pr´ oximos aos grupos considerados como normais (uma situac ¸a ˜ o P19).acesso em 10/07/2011). ˜ es como a base de requisic ˜ es foram Para trabalhos futuros. USA. (2009). EC2ND ’09. 11:160–166. pois o baixo n´ ultrapassou de 1%.. Al´ em disso. I. Portnoy. Journal of Machine Learning Research . Dois trabalhos relacionados foram implementados e seus resultados foram comparados com os resultados obtidos com o m´ etodo proposto. Integrated Detection of Attacks Against Browsers. C. F. Washington.. Detection of Server-side Web Attacks.pr.mit. Corona. 195 . onde o limite de distˆ ancia W =40 foi utilizado com o intuito de criar mais grupos. Isso demonstra que este m´ etodo e umero de alertas falsos permite que um analista de seguranc ¸ a inspecione os resultados de maneira eficiente. A. e poder˜ ao ser utilizadas para fins de pesquisa. Eskin.gov. DC. and Giacinto. P10 e P19. em diversos testes a taxa de falsos positivos n˜ ao ´ promissor. Esse c´ alculo foi suficiente para obter bons resultados neste trabalho. and Zanero. DARPA (1998). Acunetix Web Security Scanner (http://www. Conclus˜ ao ˜ o de r´ Este trabalho apresentou uma proposta de m´ etodo heur´ ıstico para atribuic ¸a otulos ˜ o de intrus˜ em grupos que resultou em modelos de detecc ¸a ao para um IDS baseado em anomalia. mas dependendo do ambiente do treinamento poder´ a n˜ ao ser o ideal para se obter os melhores ´ ındices.celepar. In Applications of Data Mining in Computer Security. destacadas por um asterisco (*) nas partic ¸o 6. Salvaneschi. Das 19 partes testadas ˜ es web.org/index.acesso em 10/07/2011).. Referˆ encias Acunetix (2011).edu/mission/communications/ist/corpora/ ideval/data/1998data.com/ acesso em 10/07/2011). G. Celepar . 1998 DARPA Intrusion Detection Evaluation Data Set (http: //www. S. G. php/Category:OWASP_DirBuster_Project . In Proceedings of the 2009 European Conference on Computer Network Defense. Prerau. Para melhorar a detecc ˜ o nessa situac ˜o parecida ocorreu com a partic ¸a ¸a ¸a um teste adicional foi realizado. pois o ´ ındice de confiabilidade dos ´ calculado de acordo com o host que e ´ considerado o mais confi´ hosts e avel.owasp. M. Arnold.

and Stolfo.org/ NET/tfawcett/papers/ROC101. Quality and Safety Engineering. In Proceedings of the Network and Distributed System Security Symposium (NDSS). G. (2005).ics. Fiot. Khoshgoftaar. C.PR. A. K. Inc. Zhang. M. S. The 2008 iCTF Data (http://ictf. FL. (2010). (2001). ACSC ’05.. Masseglia. 4.. Australia.. Singh.ucsb..purl. Kruegel..acesso em 10/07/2011). Mining Common Outliers for Intrusion Detection. Nessus (2011). pages 217–234.acesso em 10/07/2011)..-F. and Seliya. Tech Report HPL-2003-4. Mahoney. E. International Journal of Reliability. (2009). A. (2007). G.. and Poncelet. Y. Australia.cs. Effective Anomaly Detection with Scarce Training Data..acesso em 10/07/2011). Xiong. T. Available: http://www. iCTF (2008). (2003). and Belacel. 4:2379–2383 Vol. V. S..acesso em 10/07/2011).org/ . Florida Institute of Technology. HP Laboratories. Australian Computer Society. 2005. W. A Comparison Between the Silhouette Index and the Davies-Bouldin Index in Labelling IDS Clusters. Nessus Vulnerability Scanner (http://www. Nikto (2011). pages 53–64. Proceedings of 2005 International Conference on. A. and Arshad.nessus. (2003). and Vigna. In Proceedings of the Twenty-eighth Australasian conference on Computer Science . Chan. K. Nikto Open Source web server scanner (http://www. C. and Leckie. 14(2):169–187.-Q. Distributed Intrusion Detection based on Clustering.net/ nikto2 . F. N. Marascu.edu/data/ ictf2008/ . Petrovi´ c. Robertson.-Y. Z. Clustering-based Network Intrusion Detection. 196 . (2005). Master’s thesis. Y-means: A Clustering Method for Intrusion Detection. S. Portnoy. CA. Zhong. pages 333–342.Volume 38. Curitiba . PUCPR. A Machine Learning Approach to Anomaly Detection. (2011).. (2003). Guan.edu/ databases/kddcup99/kddcup99. Darlinghurst. N. Maggi. Proceedings of the 11th Nordic Workshop of Secure IT. San Diego. H. Technical Report CS-2003-06. P. Unsupervised Anomaly Detection in Network Intrusion Detection using Clusters. and Wang.. pages 1083–1086. H. Sistema de Detecc ¸a ao para Servic ¸ os Web baseado em Anomalias. KDD Cup 1999 databases (http://kdd. T. Eskin... P. ROC Graphs: Notes and Practical Considerations for Researchers.uci. Machine Learning and Cybernetics..Fawcett. KDD (1999).pdf. M..html . X. (2006). F.cirt. L. C. In EGC (best of volume). Melbourne. ˜ o de Intrus˜ Pereira.. In Proceedings of ACM Workshop on Data Mining Applied to Security. Department of Computer Science. In Proceedings of Canadian Conference on Electrical and Computer Engineering. Intrusion Detection with Unlabeled Data Using clustering. Y.. Ghorbani. Leung.

observase um interesse na literatura em aumentar a taxa de detecção de anomalia através do uso de combinação de classificadores. a set of k-NN generated through Random Subspaces Method is employed. mais especificamente conjunto de k-NNs gerados através do método subespaços aleatórios (RSM). Such an ensemble of classifiers method is compared to the hybrid technique TANN (Triangle Area based Nearest Neighbor). redes neurais artificiais. porém.esouto.ufam. dentre outros. published recently in the literature. Several studies have been proposed in the literature to deal with Internet anomaly detection by using machine learning techniques. Naive Bayes.emsantos}@dcc.edu. publicada recentemente na literatura. Artificial Neural Networks. Decision Tree. AM – Brasil {henke. SVM (Support Vector Machines). Este trabalho propõe o uso de conjunto de classificadores. em um curto espaço de tempo. quanto em termos de redução de falsos alarmes. Infelizmente. k-means. Introdução Atualmente a grande preocupação quando se fala em Internet é a questão segurança. Diversos estudos apresentam propostas para detecção de anomalia na Internet empregando técnicas de aprendizagem de máquina. Resumo. tanto em termos de aumento da precisão de classificação. árvores de decisão.Detecção de Intrusos usando Conjunto de k-NN gerado por Subespaços Aleatórios Márcia Henke. among others. 1. de apenas um meio de comunicação para uma poderosa ferramenta de negócios. Os resultados alcançados pelo conjunto de k-NNs foram superiores aos obtidos com TANN. However. Support Vector Machines (SVM). visto que a rede mundial de computadores passou. a set of classifiers. para aumentar a taxa de detecção de anomalias em redes de computadores. Results obtained using ensemble of k-NNs were superior to those obtained with TANN in terms of classification accuracy as well as false alarm reduction rate. more precisely. os sistemas atuais para segurança na Internet não conseguem atender a total demanda de 197 . Segurança na Internet tem sido alvo de muitas pesquisas no âmbito mundial. k-means. Eulanda M. the literature has recently focused on applying classifier combination in order to increase detection rate.br Abstract. Recentemente. dos Santos. O método é comparado à técnica híbrida Triangle Area based Nearest Neighbor (TANN). Most of these works use individual classifiers such as k-NN (k-Nearest Neighbor). Naive Bayes.ccosta. Eduardo Souto Instituto de Computação Universidade Federal do Amazonas (UFAM) – Amazonas. A maioria desses trabalhos utiliza classificadores individuais como: k-Nearest Neighbor (k-NN). In this paper. Celso Costa.

Tais atividades podem ser consideradas uma pandemia cujas conseqüências são refletidas no crescimento dos prejuízos financeiros dos usuários da Internet [Feitosa. é baseada na construção de perfis de comportamento para padrões considerados como atividade normal. que se propagam na rede mundial de computadores de maneira agressiva e progressiva. A detecção de anomalias tem sido tratada na literatura através de diversas propostas de sistemas para detecção de intrusão que utilizam técnicas de aprendizagem de máquina. pharmimg. São inúmeras as vítimas de ataques originados através de atividades fraudulentas.novos ataques. 2007]. botnets. Por outro lado. Desta forma. tais como: redes neurais artificiais [Souza e Monteiro 2009] [Xia. Souto e Sadok 2008]. reduzindo substancialmente sua efetividade. Técnicas híbridas são cooperações de dois ou mais classificadores. Para tentar minimizar tais ameaças. Essas técnicas têm sido usadas como classificadores individuais cuja função é detectar eventos inesperados que podem indicar possíveis ataques em redes de computadores. superando o desempenho de classificadores individuais. No segundo nível. A combinação de classificadores (classifier ensembles) é baseada na hipótese de que combinar a decisão de um conjunto de classificadores pode aumentar a taxa de detecção correta. k-means [Tian e Jianwen 2009]. Entretanto. atividades maliciosas e intrusas. Os métodos 198 . detecção de anomalias. técnicas híbridas e combinação de classificadores têm recentemente atraído a atenção dos pesquisadores em diversas áreas de aplicação. mensagens eletrônicas não desejadas (spam). Além da aplicação de classificadores individuais. diferentes abordagens de detecção de intrusão em redes de computadores foram propostas. ataques conhecidos são detectados com bastante rapidez e com baixa taxa erro. A segunda classe de detecção de intrusão. em novos dados que servem de entrada para outro classificador. e 2) detecção de anomalias (“anomaly detection”). entre outras. inclusive em segurança de redes para detecção de intrusão. entre outras. o espaço de características original. phishing. ou seja. Um exemplo da primeira classe de abordagens de detecção são as ferramentas antivirais baseadas em uma lista contendo “assinaturas” de vírus e worms conhecidos. k-NN [Tsai e Lin 2010] e SVM (Support Vector Machines) [Xiao et al. Na tentativa de evitar que atividades com potencial malicioso sejam autorizadas. como por exemplo. worms. trojan horses. muitos sistemas emitem uma taxa elevada de alarmes falsos. Desvios da normalidade são então tratados como ameaças. a abordagem TANN (Triangle Area based Nearest Neighbor) [Tsai e Lin 2010]. bad applets. o classificador k-NN é utilizado para definir a classificação final das amostras. é difícil saber o que procurar quando atividades não autorizadas sob um sistema assumem diferentes formas ou mesmo imitam atividades legítimas. TANN é um método para detecção de anomalias que utiliza em um primeiro nível a técnica de agrupamento k-means para transformar dados primários. como. Yang e Li 2010]. a principal limitação dessas ferramentas é que elas não podem detectar novas formas de códigos maliciosos que não sejam compatíveis com as assinaturas existentes. vírus. as quais podem ser classificadas em duas categorias [Anderson 1995] [Rhodes. Mahaffey e Cannady 2000]: 1) detecção de abuso (“misuse detection”).

a literatura mostra que SVM apresenta normalmente desempenho superior ao k-NN. Os membros do conjunto não são gerados nem por bagging e nem por subespaço aleatórios. Na Seção 2 é apresentada uma visão geral dos trabalhos mais recentes na área de detecção de intrusos em redes de computadores que utilizam técnicas de aprendizagem de máquina. Eles utilizam k-means e k-NN. o fato de muitos desses sistemas terem sido desenvolvidos com base na utilização de diferentes técnicas de aprendizagem de máquina e mineração de dados. 2. Uma vez criados. Os experimentos foram realizados na base de dados KDD Cup 99 [KDD Cup 1999].. o protocolo experimental e os resultados obtidos são apresentados. os métodos mais bem sucedidos são os classificadores híbridos. Na Seção 4.RSM) e o método híbrido proposto em [Tsai e Lin 2010]. seguidos de métodos do tipo conjunto de classificadores e por último. Na Seção 3 são descritas as técnicas de aprendizagem de máquina comparadas neste trabalho. [Tsai et al. Finalizando na Seção 5. este trabalho também fornece um estudo comparativo de métodos de classificação com o objetivo de mostrar a superioridade do conjunto de classificadores sobre outras técnicas mais clássicas de classificação. De acordo com os autores. através de uma estratégia que envolve uma adaptação de ambos os métodos. aplicados aos dados de entrada para proporcionar diversidade aos membros do conjunto. 2009] apresentam uma revisão de literatura que investiga a aplicação de técnicas de aprendizagem de máquina em problemas de detecção de intrusão em trabalhos publicados entre os anos 2000 e 2007. não supera a combinação de classificadores proposta neste trabalho. Em [Xiao et al. classificadores individuais. Os métodos comparados são: o conjunto de k-NNs gerados com o método de subespaços aleatórios (Random Subspace Method . O restante deste artigo está organizado como segue. conforme mencionado anteriormente. Porém. Os resultados obtidos demonstram que a troca de classificador ocasiona um aumento na taxa de classificação do método TANN. este trabalho também apresenta uma alteração no método de classificação proposto por [Tsai e Lin 2010].mais comuns para a geração de conjuntos de classificadores são bagging [Breiman 1996] e subespaços aleatórios [Ho 1998]. Este artigo propõe o emprego da combinação de classificadores para melhorar o processo de detecção de anomalias em redes de computadores. 2007] é proposta a utilização de um conjunto de SVMs para detecção de anomalias. Trata-se de um conjunto de k-NNs gerados por subespaços aleatórios. neste trabalho k-NN será substituído pelo classificador SVM. que é uma base de dados muito utilizada para a experimentação de soluções de detecção de intrusão de rede. Esses autores propõem o uso de classificadores híbridos. Fora isso. os membros do conjunto devem ter suas opiniões combinadas em uma única decisão. com conclusões e trabalhos futuros. Devido a esse fato. e sim. A regra do voto majoritário é a função mais popular de combinação de conjuntos de classificadores. 199 . Trabalhos Relacionados Diversas abordagens têm sido propostas para sistemas de detecção de intrusão. Porém. Destacase na literatura da área. Essa estratégia envolve processos de seleção de características e de amostras. Além disso.

A combinação da decisão do conjunto é obtida através de uma função de voto ponderado.Ainda segundo [Tsai et al. é feita uma seleção de amostras. Classificadores Híbridos [Tsai e Lin.3. FRCM integra a vantagem do conjunto de teoria fuzzy e a técnica k-means para melhorar a tarefa de detecção de intrusão. Com relação a bases de dados investigadas. Scan e R2L (Remote to Local)/Normal. que utiliza redes neurais de Kohonen e SVM. sem alterações. Worm. Inicialmente. 2009]. k-means é utilizado para agrupar as amostras da base de dados. 2008] propõem um sistema multicamadas. [Lee et al. é calculada e então. Classificadores Individuais [Chimphlee et al. O resultado dessa etapa são os centróides (ponto central) de cada grupo formado pelas amostras. como a base mais usada dentre as três bases mais citadas. A área do triângulo formado entre a amostra e os centróides. Conjunto de Classificadores [Xiao et al. A base de dados usada também foi a KDD Cup 1999. que elimina as características irrelevantes. apenas um grupo escolhido das características originais é utilizado durante o treinamento. juntamente com cada amostra da base de dados. como normalmente é feito com classificadores individuais. enquanto que Manimax Probability Machine (MPM) é aplicado como classificador.2. são projetados no espaço de característica. os referidos autores destacam a base KDD Cup 99 [KDD Cup 1999]. chamado POLVO – IIDS. [Mafra et al. A segunda camada é responsável pela detecção de intrusão propriamente dita. 2002] usaram em sua abordagem k-NN. O segundo classificador é treinado com os dados originais submetidos a um processo de seleção de características. 2007] propõem uma abordagem híbrida para sistemas de detecção de intrusos em redes de tempo real. as 200 . os que têm sido referenciados e testados de forma mais ampla são os métodos SVM e k-NN. ambos apresentando elevado desempenho de classificação com relação à precisão. Com o classificador k-NN. mostraram que o método supera os resultados obtidos com k-means unicamente. os centróides. A primeira camada analisa o tráfego da rede e a classifica em quatro categorias: DoS (Denial of Service). É feita uma seleção de características usando o método Florestas Aleatórias (Random Forest). [Lião e Vemuri. Os resultados experimentais obtidos na base de dados KDD Cup 99. ou seja. combinados em pares. o último SVM é treinado com apenas uma parte dos dados de entrada. Os trabalhos relacionados nesta seção são organizados a partir da divisão definida em [Tsai et al. 2. dentre os classificadores simples. A base de dados investigada foi a KDD Cup 1999. O primeiro classificador é treinado com os dados originais. 2006] aplicam a idéia de Fuzzy Rough C-means (FRCM). 2. para classificar comportamento de programas como normal ou intrusivo. A base de dados utilizada nos experimentos foi a DARPA.1. Por fim. Em seguida. isto é.. 2009]. é usada como entrada para o classificador k-NN que definirá a classe da amostra. utilizada nos experimentos deste artigo. 2007] utilizam um conjunto de três SVMs. método individual baseado em agrupamento. 2. 2010] propõem o método TANN que transforma o espaço de características original em um novo espaço de características. falso alarme e taxa de detecção. incluindo DARPA 1998 e DARPA 1999 [Darpa 1999].

Os autores concluíram que SVM atinge um melhor desempenho em relação às redes neurais. • Aplicação de um método proposto para redução de dimensionalidade de características para o problema de reconhecimento de dígitos [Ho 1998]. pelo classificador SVM. a literatura indica que a combinação de classificadores produz resultados superiores aos resultados obtidos por classificadores individuais. pois se configuram como um guia indicando aspectos promissores e relevantes na área de detecção de intrusos utilizando aprendizagem de máquina. Utilizando base de dados DARPA 1998 foi demonstrado que o classificador k-NN pode efetivamente detectar ataques intrusivos e atingir as mais baixas taxas de falso positivo. Porém dentre estes os dois principais artigos são os artigos de [Ho 1998] e [Tsai e Lin. que tratam a dimensionalidade de espaço de características de uma forma diferenciada com problemas de bases muito grandes. duas abordagens que usam combinação de classificadores são comparadas neste trabalho. [Chen et al. 2009]. O objetivo de usar redes neurais e SVM para detecção de ataques foi desenvolver uma capacidade de generalização de dados de treino limitado. Já [Tsai e Lin.freqüências de chamadas ao sistema são usadas para descrever o comportamento do programa. 3. Esses experimentos foram baseados na base DARPA 1998. Técnicas de categorização de texto são adotadas para converter cada execução de programa para um vetor e calcular a similaridade entre duas atividades de programas. Esta seção apresenta essas abordagens. Como mencionado anteriormente [Ho 1998] reduz essa dimensionalidade com um subespaço aleatório de características (de 41 características para 20) procurando combinar suas diversas visões do problema e finalizando com o voto majoritário. 2010] se utiliza da redução desse espaço de características reduzindo as 41 características. com a proposta de uma área triangular. Todos os trabalhos mencionados nesta seção influenciaram de alguma forma os experimentos apresentados neste artigo. enquanto que a segunda propõe uma alteração no classificador híbrido proposto por [Tsai e Lin. 2010]. em um problema de detecção de intrusão. 201 . Por essa razão. 2005] realizaram um estudo comparativo entre SVM e redes neurais artificiais. A primeira propõe a utilização de conjunto de classificadores k-NN treinados em diferentes subespaços aleatórios. Abordagens Aplicadas Conforme mencionado na seção anterior. Na próxima seção. os métodos comparados neste artigo são descritos com mais detalhes. 2010]. conforme indicado na literatura como um classificador de ótimo desempenho para detecção de intrusão [Tsai et al. para 10 características. 2010]. Desta forma o presente artigo apresenta as seguintes contribuições: • Substituição do classificador k-NN.. no conjunto de classificadores híbridos proposto por [Tsai e Lin..

e representa toda a base de dados D a partir de cada subespaço escolhido.. Depois de treinados... xl ] ∈ R l .. x l x1 . Este último é um dos maiores problemas com o método de classificação k-NN. x = [ x1. Segundo a autora. sendo que cada representação é utilizada para o treinamento de um classificador ci. um conjunto de k-NNs gerado por RSM tem a vantagem de prover elevada taxa de classificação ao mesmo tempo em que reduz a dimensão de entrada dos dados. cada nova representação da base Di é utilizada para treinar um classificador individual ci . . Posteriormente.wc}. São escolhidos aleatoriamente j características dentre as l características originais... RSM escolhe aleatoriamente n subespaços diferentes. pois trabalha da seguinte forma. Então.. a classe vencedora é escolhida aleatoriamente ou uma estratégia de rejeição deve ser aplicada. 202 .... Considerando o conjunto de n classificadores. w₂. A base de dados D é representada por cada subespaço escolhido.. x l • D= Base de dados x1 . com dimensão j cada. A Figura 1 apresenta uma visão geral do funcionamento de RSM. as decisões dos n classificadores gerados por RSM são combinadas pela regra do voto majoritário. Dada uma base de dados D.3. x 2 . Inicialmente o método foi testado usando-se classificadores do tipo Árvores de Decisão. [Ho... em que R l é chamado espaço de características e cada eixo corresponde a uma característica original dos dados. k i =1 n (1) Quando ocorre um empate em números de votos. x2 .... Essa função de combinação é a mais simples e a mais popular na literatura de conjunto de classificadores. x1 . cn } Figura 1. É considerada uma abordagem baseada em seleção de características. 2004]. 1998]. Conjunto de KNNs gerado por subespaços aleatórios O método de subespaços aleatórios (RSM) para classificação k-NN foi proposto em [Ho. sendo que j<l. x 2 . c2 . 1998]. cada amostra x que compõe a base é representada por características que são organizadas em um vetor com l dimensões. a partir do espaço de características original R l .. e o problema da classificação com o seguinte conjunto de rótulos Ω = {w₁. A definição apresentada na equação 1 é também chamada de Plurality vote [Kuncheva. x l RSM C = {c1. yᵢ como o rótulo da classe de saída do i-ézimo classificador..... o método foi aplicado com classificadores do tipo k-NN [Ho. em que j < l . x 2 .1995] propôs o método RSM para criar diversidade de opiniões entre os classificadores treinados com os diferentes subespaços e também como forma de minimizar os problemas ocasionados pela alta dimensão dos dados de entrada..1. Visão geral do método RSM. voto majoritário para a amostra x é calculada como: vm( x) = max c k =1 ∑ y i .

+ ( an − bn ) = 2 ∑(a − b ) i i 2 (2) 203 . Formação da área triangular. an ) e B = (b1 . Por serem cinco classes. Fonte: [Tsai e Lin 2010].. No segundo estágio. determinando o ponto de dado Xi (i =1. No primeiro estágio. b2 . D. ∆X i AC . ∆X i BD .. dez áreas são obtidas para formar um novo vetor de caracteríticas para o ponto de dado (Xi): ∆X i AB . o método de aprendizagem de máquina baseado em conjunto de classificadores é aplicado neste artigo ao problema de detecção de intrusão através do RSM. ∆X i BC .Diante das razões e definições descritas acima. Portanto. bn ) AB = no espaço de n características.. k-NN é treinado e usado para classificar as amostras desconhecidas. para a base KDD-Cup.2.. e (3) treino e teste do classificador. B.. sendo utilizado o voto majoritário para combinar as decisões dos k-NNs.. todas as amostras da base de dados são projetadas no espaço de características original para que o algoritmo não-supervisionado k-means seja aplicado a fim de agrupar as amostras de acordo com o número de classes do problema. são considerados três pontos de dados: dois centróides obtidos por k-means e uma amostra da base de dados. Os classificadores membros foram k-NNs.. e calcular os centróides de cada grupo. (2) formação de uma nova base de dados. um novo espaço de características é gerado através do cálculo de área triangular (descrito com detalhes a seguir). k-means é direcionado a encontrar cinco centróides. Figura 2. Sendo a distância Euclidiana entre dois pontos A = (a1 . Por fim. ∆X i CE e ∆X i DE . ∆X i AE . ∆X iCD .. a2 . Os autores utilizaram a mesma base de dados investigada neste artigo. que é composta por amostras de cinco classes. E) e um ponto de dado (Xi). isto é KDD Cup 99. C.. ∆X i BE . m. Em seguida é calculado o perímetro de cada triângulo através da distância Euclidiana. Para calcular a área triangular.. 3. Classificadores Híbridos Esta abordagem proposta por [Tsai e Lin 2010] é dividida em três estágios: (1) extração de centróides das amostras. onde m é o total do número de amostras). definida pela equação 2. A Figura 2 mostra um exemplo dos cinco grupos e seus respectivos centróides (A.. das quais uma é do tipo tráfego normal e as quatro restantes do tipo ataque. 2 2 ( a1 − b1 ) + ( a2 − b2 ) + .... ∆X i AD .

iii)R2L (Remote to Local) – acesso não autorizado de uma máquina remota. 10 triângulos. 2010] . 2009]. Base de dados Os métodos investigados usam “10% do KDD-Cup 99” e “Corrected KDD-Cup (Test)” [KDD 1999]. T₁₋T₁₀ são identificados para cada Xi e são usados para formar os novos dados. iv) U2L (User to Root) – acesso não autorizado a privilégio de super usuário. a detecção dos centróides e o cálculo da área triangular permanecem inalterados. a distância entre A e B. A modificação sugerida ocorre no terceiro estágio do método. respectivamente. TANN original (com o classificador k-NN) e TANN modificado (com classificador SVM). Em todos os experimentos (classificadores híbridos e conjunto de classificadores) a base de dados foi dividida em 40% para treino e 60% para teste. B e Xi. Experimentos Esta seção descreve os experimentos realizados para avaliar as abordagens investigadas. Depois de obter o perímetro dos triângulos para cada amostra. este artigo propõe uma modificação no método TANN. Cada padrão do conjunto de dados é rotulado como pertencente a uma de cinco classes. como bases de treino/teste e validação. A proposta envolve a troca de k-NN por SVM. onde a = AB . na classificação final. Devido a esse fato. Essa descrição apresenta a composição da base de dados. respectivamente. a literatura de detecção de intrusão mostra que SVM é um classificador que alcança taxas de detecção melhores quando comparado a k-NN [Tsai et al. exatamente como na proposta de [Tsai e Lin. Porém. isto é.1. a fórmula de Heron é calculada. 2 Portanto. b = BX i e c = AX i . Essa estratégia é 204 . as métricas utilizadas e sua relevância ao problema de detecção de intrusão. ii) DoS (Denial of Service) – ataques de negação de serviço. T = S ( S − a )(S − b)( S − c) (3) Onde o S = G é o semi perímetro de ∆X i AB . Esses dois conjuntos de dados descrevem a conexão em uma rede de trabalho representada por um vetor de 41 características. distribuídas da seguinte forma: 9 características do tipo intrínsecas. 4. Na próxima seção são apresentados os resultados obtidos com o conjunto de kNN gerado por RSM. Esses novos dados são então usados para treinar e testar o classificador k-NN. 4. e A e Xi. A nova representação dos dados será usada para o treinamento de um classificador do tipo SVM. isto é.O perímetro do triângulo ∆X i AB é definido como G = a + b + c . A equação 3 exibe a fórmula de Heron. Portanto. das quais uma é do tipo tráfego normal e as quatro restantes do tipo ataque como segue: i) Probing – vigilância e sondagem de sistema. 13 do tipo conteúdo e as restantes do tipo de tráfego.

01% 0.593 4.68% 0.020 (%) 19.número de ataques devidamente classificados como ataque. Amostras por Classe 92.24% 0.83% 79. não havendo necessidade de serem tratadas através de validação cruzada.número de ataques classificados como normal e TN (Verdadeiro Negativo) . Essas medidas podem ser obtidas por: Precisão = TP + TN TP + TN + FP + FN Taxa de detecção = Alarme Falso TP TP + FN = FP FP + TN 205 .727 311. A tabela 1 demonstra a distribuição das bases usadas nos experimentos em treino/teste e validação.03% 4. A base foi dividida em bases de treino e de teste por ser uma base com muitas amostras. FP (Falso Positivo) . FN (Falso Negativo) .40% 1.2. Amostras por Classe 60.277 4.23% 100% Conjunto de Dados para Validação Qta. Distribuição do Conjunto de Dados para Treino/Teste e Validação Classes Normal Probe DoS U2R R2L Total Conjunto de Dados Treino/Teste Qta. São medidas que podem ser calculadas pela matriz de confusão mostrada na Tabela 2. Segundo a literatura.458 52 1. considerando as seguintes legendas: TP (Verdadeiro Positivo) .40% 0.029 (%) 19. Tabela 1.166 231.455 88 14. Atual Normal Intrusão Previsto Normal TN FN Intrusão FP TP As métricas utilizadas para comparar os métodos de classificação investigados são taxa de precisão. Matriz de confusão utilizada como base para o cálculo das medidas de desempenho.número de tráfego normal devidamente classificado como normal.conhecida na literatura de aprendizagem de máquina como holdout validation [Kohavi 1995].33% 74.número de tráfego normal classificado como ataque.126 494. de detecção e de falso alarme.107 391. Tabela 2. conforme Tabela1.73% 100% 4. Medidas de desempenho As medidas de desempenho adotadas neste artigo seguem o padrão de métricas encontrado na literatura para detecção de anomalia. bases que contêm muitas amostras são bastante representativas.

Conforme destacado na seção 3. para que o desempenho geral dos métodos investigados seja comparado. posteriormente. A Tabela 3 exibe a matriz de confusão obtida com este método. sobre a base de teste. Tabela 4.2. Portanto. Neste artigo. Essa alteração na abordagem TANN é chamada aqui de TANN modificado.2.79%. O único parâmetro que deve ser definido para k-NN é o número k de vizinhos mais próximos. Tabela 3. respectivamente. Classificadores Híbridos Conforme mencionado na seção 3. Os melhores resultados foram obtidos com o kernel RBF (Radial Basis Function). através de um quadro comparativo e de gráficos.56% e 99. e fator de penalização C=1 e γ=0.3. o tamanho recomendado para os subespaços aleatórios deve ser aproximadamente igual à metade da quantidade de características originais.86%.5. k=17. Matriz de confusão produzida pelo método TANN original (kNN) Normal Normal Ataque 58. o método TANN foi replicado neste artigo de acordo com a descrição apresentada em [Tsai e Lin 2010]. Segundo a autora do método RSM [Ho 1998]. Dependendo da função kernel escolhida.74%. isto é.725 Com relação à taxa de detecção.078 321 Ataque 288 237. A tabela 4 exibe a matriz de confusão obtida com aplicação de TANN modificado.4. neste artigo ocorre a troca do classificador kNN pelo classificador SVM. respectivamente. Resultados Os resultados obtidos por cada técnica são apresentados separadamente. 4. os valores obtidos foram: 99. O valor desse parâmetro foi o mesmo atribuído pelos autores do método. a base de validação foi utilizada para a definição desses parâmetros. considerando que a base investigada neste artigo contém 206 .3.038 618 Ataque 328 237. o tipo de função kernel e o parâmetro de regularização C.1.3. falso alarme e precisão obtidos com TANN original foram: 99. k-NNs gerados por RSM Dois parâmetros devem ser definidos para que RSM seja aplicado: dimensão dos subespaços aleatórios e quantidade de membros do conjunto de classificadores.49% e 99. 0. 0. as áreas triangulares foram calculadas e utilizadas como entrada para o treinamento do classificador k-NN. como por exemplo. que é considerado um método que apresenta desempenho superior à k-NN. outros parâmetros devem ser definidos. 4. K-means foi aplicado para agrupar os dados originais.428 As taxas de detecção. o grau do polinômio para o kernel polinomial. falso alarme e precisão para TANN modificado.66%. Dois parâmetros iniciais precisam ser definidos pelo usuário para SVM. Matriz de confusão produzida pelo método TANN modificado (SVM) Normal Normal Ataque 58.2.

865 0. Observando-se que as classes R2L e U2R.. O valor utilizado nos experimentos foi k=1. 4. o valor de k também precisou ser definido. Essa escolha foi baseada nos resultados obtidos por [Ho 1998] que mostraram que normalmente não há necessidade de utilização de muitos classificadores membros do conjunto. 99. Tabela 6. Resultados comparativos A Tabela 6 compara os resultados obtidos pelos três métodos investigados neste artigo. devido a pouca representatividade dessas classes no conjunto de dados exibido na tabela 1.3. Tabela 5.971 0.019%.973 TANN original (k-NN) 99. 207 . O RSM/k-NN produziu maior taxa de precisão e de detecção.493 99.355 69 Ataque 11 237. Matriz de confusão produzida pelo método RSM/kNN Normal Normal Ataque 58.3. não foram generalizadas pelo classificador. A Figura 4 mostra a precisão média por classe. Em termos de quantidade de classificadores.97% e 0.561 99. taxa de detecção e falso alarme da combinação de classificadores são 99. o método TANN modificado não superou o conjunto de k-NNs gerados por RSM. 20 características foram escolhidas aleatoriamente para compor cada subespaço.97%. 2009]. A Tabela 5 exibe a matriz de confusão obtida pelo conjunto de 15 kNNs gerados por RSM. embora a escolha desse parâmetro dependa muito do problema de aplicação. A Figura 3 compara os métodos RSM/k-NN. o conjunto criado para os experimentos é composto por 15 k-NNs. híbrido original e híbrido modificado em termos de taxa de falsos alarmes.794 Conjunto de Classificadores RSM/k-NN 99. É importante destacar que esses valores foram calculados na base de teste. Os resultados indicam que o método RSM/k-NN apresentou melhor desempenho no problema de detecção de intrusão na base KDD Cup. Porém.740 0.0188 99. incluindo a classe normal e as quatro diferentes classes de ataque. e ao mesmo tempo menor taxa de falso alarme. Comparação dos Resultados Obtidos Classificador Híbrido TANN modificado (SVM) Taxa Detecção Falso Alarme Precisão 99.originalmente 41 características.977 A taxa de precisão. Esses resultados confirmam a literatura na área de detecção de intrusão que mostra que SVM é um classificador que alcança taxas de detecção melhores quando comparado a kNN [Tsai et al. uma vez que a literatura [Ho 1998] mostra que conjuntos de k-NNs gerados por RSM apresentam normalmente elevada taxa de precisão quando k=1. obtida por cada método. Como os classificadores membros do conjunto são k-NNs. respectivamente.68 Os resultados também mostram que a modificação proposta neste trabalho para a estratégia TANN produziu melhores resultados quando comparada à TANN original.

5620 0.98 99. proposta neste trabalho para melhorar a taxa de classificação da estratégia original. Comparação entre os métodos investigados em relação à precisão média por classe.12 22 99.92 96. a combinação de conjuntos de kNNs (RSM/k-NN) atingiu um desempenho superior a ambos os métodos de classificação 208 .51 97.4000 0. Logo.63 84. Conclusões e Trabalhos Futuros Este artigo apresentou os resultados de um estudo experimental envolvendo a aplicação do método de subespaço aleatório na geração de um conjunto de classificadores do tipo k-NN aplicado ao problema de detecção de anomalias em redes de computadores.0189 0. a taxa de falsos alarmes deve ser minimizada no intuito de aumentar a efetividade dos sistemas de detecção de anomalias.47 94.93 Normal R2L U2R 0 DoS Probe Figura 4.64 96.3588 R2L U2R TANN Original (kNN) TANN Modificado (SVM) DoS 0.49343796 0. tanto como ataques quanto como normais. O objetivo é contribuir com pesquisas e experimentos que auxiliem a comunidade de pesquisadores na formulação de melhores soluções.17 53. O método foi comparado à estratégia híbrida TANN.2000 Probe 0. A principal tarefa de um sistema de classificação de intrusão é filtrar potenciais ataques e permitir acesso a uma conexão normal. Portanto.1857 0. Como conseqüência.44 99. RSM . deve ser elevada.83 93. Embora o método híbrido modificado tenha superado o método original em termos de taxa de detecção correta e de falsos alarmes.0000 0. é importante destacar que os resultados apresentados neste trabalho não têm o objetivo de sanar todas as lacunas existentes em um problema de detecção de intrusão.Normal 0. e à uma versão modificada de TANN.82 99.kNN 0. 5. a taxa de detecção correta de conexões.6000 Figura 3.0757 0. Entretanto.0000 0.2576 0.0189 0. Comparação entre os métodos investigados em relação à taxa de falsos alarmes.1427 RSM . os resultados obtidos neste artigo mostram a superioridade de RSM/k-NN sobre as demais técnicas investigadas.98 99.kNN TANN original (kNN) TANN modificado (SVM) 99.

1..). . Anomaly detection in IP networks with principal component analysis. Annals of Statistics. (2005).. D.html KDD repository. Segundo. N. An overtraining-resistant stochastic modeling method for pattern recognition. E. Ho T. 1 (1990) 207-239.edu/mission/communications/ist/corpora/ideval/data/index. Random Decision Forests. (1998). (1995). 123140. L.. Lecture Notes in Computer Science. Srinoy S. Porto Alegre: UFRGS. É também importante destacar a redução na taxa de falsos alarmes obtida por RSM/k-NN. 17-30. demonstrar o desempenho de conjuntos de SVMs gerados por subespaços aleatórios. volume 1451/1998. (Org. 640-648.M. K.M. cross-site scripting. Para trabalhos futuros algumas questões podem ser consideradas. Caracterização e Soluções. (2009)..html Feitosa. 6 (1996) 2319-2349. Document Analysis and Recognition. http://www. Application of SVM and ANN for intrusion detection. Hsu S. Abdullah A.Volume 01 DARPA Intrusion Detection Data Sets 1999.ics. 1996. Volume 32..híbrida. 1998... Issariyapat C. Proceedings of the Third International Conference on Ho T. E. Chimphlee S.. In: Computer & Operations Research. entre outros. Esse fato indica que conjuntos de classificadores podem ser ferramentas fundamentais no desenvolvimento de soluções efetivas para a detecção de anomalias na Internet. como bagging e conjuntos heterogêneos poderiam ser investigados. AnomalyBased Intrusion Detection using Fuzzy Rough Clustering. v. p. Kleinberg. Chen W. (1996).ll. 209 . Souto. Pages 2617-2634 Chimphlee W. 1995. Nearest Neighbors in Random Subspaces. In: SBC. UCI http://kdd. 4. In: ICHIT '06 Proceedings of the 2006 International Conference on Hybrid Information Technology . Bagging Predictors. 2008. spam. (1990). Breiman. Livro-Texto de Minicurso do VIII Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais. (2006). (1996). Annals of Mathematic and Artificial Intelligence. Advances in Pattern Recognition. . outros métodos de geração de conjuntos de classificadores. Além disso.. Referências Anderson. Tráfego Internet não Desejado: Conceitos... Cyber Systems e Technology. Issue 10. An introduction to neural networks. L. Machine Learning. Primeiro. KDD Cup 1999 Dataset. Proceedings of the 9th international conference on Communications and information technologies 1229-1234.. (1995). October 2005. Sadok. seria interessante avaliar a proposta deste artigo em uma base de dados de ataques recentes dos tipos phishing. H.. Stochastic discrimination. K. E.. Cambridge: MIT Press. Kleinberg. J.Sap M. Shen H. (2008) .uci.edu/databases/kddcup99/kddcup99. E.mit. Fukuda K. volume 24 (2)..

Fraga S. Kim S.. (2000).WGRS. Hong F.. P. (2010). (2007).. Research on Network Intrusion Detection System Based on Improved K-means Clustering Algorithm.. (2007). e Jianwen W. J. e Li. Lin W. Combining Pattern Classifiers: Methods and Algorithms. e Park S. Estudo Sobre Sistema de Detecção de Intrusão por Anomalias. A (2008). e Cannady J. Volume 21. (2009). e Liao J. Mahaffey J. e Monteiro J. G. D. Issue 5. A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection. (2007). A.. MD. J. (2009). Baltimore. Internacional Forum on Computer Science – Technology and Applications. Intrusion Detection Using Ensemble of SVM Classifier. Pages 439448 Mafra M.. POLVO-IIDS: Um Sistema de Detecção de Intrusão Inteligente Baseado em Anomalias. USA. Tian L. Intrusion detection system based on principal component analysis and grey neural networks.. C. Sociedade Brasileira de Redes de Computadores – SBRC. John Wiley & Sons. XIV Workshop de Gerência e Operação de Redes e Serviços . Nguyen T.. (1995)... IEEE Computer Science. Expert Systems with Applications 36 11004-12000. P. Liao Y. Zhang Z. LTD... S (2009). A Hybrid Approach for Real-Time Network Intrusion Detection Systems. VIII Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais.T. Santin O. Use of K-Nearest Neighbor classifier for intrusion detection.I. Centre for Advanced Internet Architectures. Xia. IEEE Computer Society. and Vemuri V. Lin C. 2004. 210 . Intrusion detection by machine learning: A review.. Multiple self-organizing maps for intrusion detection. Moll V. Pattern Recognition 43 222-229. The 2nd International Conference on Networks Security Wireless Communications and Trusted Computing 142-145. Appear in the International Joint Conference on Artificial Intelligence (IJCAI). A triangle area based nearest neighbors approach to intrusion detection. D.. Xiao H.. Souza E.T. In Paper presented at the proceedings of the 23rd national information systems security conference. R. (2002). (2010).Kohavi R.. S. H. Lee M.. 1 October 2002. S. International Conference on Computational Intelligence and Security. uma Abordagem Utilizando Redes Neurais. X. Fourth International Conference on Fuzzy Systems and Knowledge Discovery (FKSD 2007). IEEE Communication Surveys and Tutorials. Lin C. e Armitage G. Melbourne.. Yang. Kuncheva L. Tsai C. In: Computer & Security. Rhodes B. Hsu Y. Australia. A Survey of Techniques for Internet Traffic Classification using Machine Learning. Tsai C. Swinburne University of Technology.

integridade e disponibilidade das informações.unifor. tornado necessária. garantindo alguns princípios de segurança 211 . Este trabalho propõe um modelo de detecção em três níveis. Os mecanismos de prevenção. existe também o aumento das vulnerabilidades que podem comprometêlas. The last level consists of an ensemble of ensembles. classification algorithms are applied and their results are combined in the later level. Resumo. que tenta viabilizar uma maior precisão na detecção.br Abstract. Na medida em que as redes se desenvolvem. 1. dependendo de seu tipo e intensidade. Os ataques podem corromper os dados de uma aplicação e. A cada instante novos tipos de ataque surgem. cnogueira@unifor. Neste contexto. a criação de mecanismos de defesa mais sofisticados. várias medidas vêm sendo criadas para garantir a segurança contra ataques.lacerda@edu. This paper proposes a model of detection in three levels. The literature contains many papers that use ensemble of machine learning algorithms to solve detection problems. Em cada nível são aplicados classificadores gerados por um mesmo algoritmo base e seus resultados são combinados nos níveis posteriores.Combinando Algoritmos de Classificação para Detecção de Intrusão em Redes de Computadores Alex L. Detecção de intrusão é o processo de monitorar e analisar eventos que ocorrem em uma rede em busca de sinais de intrusão. Os resultados apresentados demonstram que o modelo proposto apresenta melhor desempenho em relação a outros trabalhos encontrados na literatura. Ramos1. Com o rápido desenvolvimento da tecnologia baseada na Internet e a dependência de negócios críticos aos sistemas de informação. Com isso. são a primeira linha de defesa em uma rede. which aims to improve the precision of intrusion detection. A literatura apresenta inúmeros trabalhos que utilizam técnicas de comitês de classificadores para resolver problemas de detecção. novos domínios de aplicação em redes de computadores vêm surgindo [Stallings 2005]. a segurança da informação torna-se essencial para garantir a proteção dos dados que trafegam nestas redes. O ultimo nível de classificação forma um comitê de comitês. Intrusion Detection is the process of monitoring events occurring in a network and analyzing them for signs of intrusion. The results show that the use of three-level ensemble performs better than other systems proposed in the literature. Introdução Segurança de redes é definida como a proteção de sistemas de computadores contra ameaças à confidencialidade. podem até mesmo levar o sistema a um colapso. dos Santos1 1 Mestrado em Informática Aplicada – Universidade de Fortaleza (Unifor) Fortaleza – CE – Brasil alex. tais como criptografia e autenticação. At each level.br. Cícero N.

O desenvolvimento dessas técnicas obedece a duas fases distintas: treinamento e classificação. No segundo nível. enquanto a detecção por anomalia compara os dados coletados com registros de atividades consideradas normais no sistema. classificadores são gerados usando algoritmos simples. Métodos de comitê visam melhorar o desempenho da classificação construindo uma combinação da saída de vários classificadores. A detecção por assinatura exige atualização frequente dos registros para garantir uma boa detecção. Porém. faz-se necessário um segundo mecanismo de segurança. propomos neste trabalho um modelo de comitê de classificadores que segue uma estratégia de classificação em três níveis. Deste modo. Um desvio significativo da normalidade é considerado uma ameaça. Desta forma. técnicas de comitê trazem uma diminuição significativa das taxas de falsos positivos na detecção de intrusão. A detecção por assinatura compara o tráfego com uma base de dados de ataques conhecidos (assinaturas). 2008] ainda apresentam consideráveis taxas de falsos positivos. Várias abordagens têm sido propostas neste sentido. No entanto. A Seção 3 212 . O restante do artigo está organizado como segue. O principal propósito do trabalho é abordar a questão da acurácia e da taxa de alarmes falsos em um IDS. A Seção 2 discute os trabalhos relacionados à detecção de intrusão que utilizam técnicas de comitê. Por esse motivo. Uma técnica conhecida como Comitê de Classificadores [Witten e Frank 2005] vem sendo utilizada nos trabalhos relacionados à detecção de intrusão que utilizam algoritmos de aprendizado de máquina. Entre elas. um IDS analisa o tráfego de rede tentando reconhecer um comportamento ou uma ação intrusiva para alertar o administrador ou automaticamente disparar contramedidas. Ambas as abordagens possuem várias desvantagens. formando assim um comitê de comitês. O resultado da combinação é melhor do que o resultado de qualquer classificador base individual pertencente à combinação. quando estas medidas não são suficientes para lidar com todos os tipos de ataque. que não usam estratégias de comitês. estratégias baseadas em técnicas de aprendizado de máquina tais como Redes Neurais e Máquinas de Vetor Suporte [Mukkamala et al. ao invés de aplicar um único modelo. 2000]. com o intuito de explorar melhor todo o potencial desta técnica. Os modelos de classificação gerados no nível dois são então combinados em um terceiro nível. os Sistemas de Detecção de Intrusos (Intrusion Detection System . De modo geral. são usadas estratégias de comitê tomando como algoritmos base os que aparecem no primeiro nível. No primeiro nível. 2005].como confidencialidade e integridade [Stallings 2005]. distinguindo atividades normais de possíveis ameaças. trazendo tanto uma boa detecção quanto uma baixa taxa de falsos alarmes. Na fase de treinamento o IDS aprende o funcionamento do sistema formando um modelo que é utilizado na fase de classificação para classificar o tráfego de rede.IDS) [Debar et al. o desafio é encontrar uma solução que resolva estes dois problemas. enquanto a detecção por anomalia sofre de uma alta taxa de falsos positivos. os Sistemas de Detecção de Intrusão baseados em Comitês de classificadores propostos recentemente [Chou et al. 2009] [Zainal et al. As técnicas utilizadas para detectar intrusões normalmente são classificadas em dois tipos: assinatura e anomalia. além de aumentarem a acurácia da detecção [Witten e Frank 2005].

os autores propuseram um conjunto de classificadores onde cada um usa diferentes paradigmas de aprendizagem. tais como DR (Detection Rate – Taxa de Detecção) e FPR (False Positive Rate – Taxa de Falsos Positivos). neste trabalho. então nenhuma melhoria significativa pode ser obtida por meio da utilização de comitês. dependendo somente das conexões que foram selecionadas para compor as bases de treino e teste. Porém é importante entender que os algoritmos combinados devem ser independentes entre si. foram propostas três variantes de Redes Neurais. Average Rule e Majority Voting [Kuncheva 2004]. para identificação de diferentes tipos intrusões em redes.1999] para classificar suas conexões em cinco classes (Normal. além de ter realizado somente um experimento em uma base com registros selecionados aleatoriamente. A Seção 6 discute os resultados. O trabalho de [Borji 2007] é outro exemplo do uso de técnicas comitê. Trabalhos Relacionados Várias abordagens baseadas em aprendizado de máquina como Redes Neurais Artificiais (ANNs). eles realizaram experimentos em uma base com dados selecionados aleatoriamente a partir da base de dados original e os resultados apresentados foram coletados de apenas um experimento. Adaptative Neural Fuzzy Inference System (ANFIS) e Random Forest (RF). o que torna a classificação enviesada. é apresentada em [Lazarevic et al. foram propostas na literatura para realizar detecção de intrusão. os autores também demonstraram a capacidade de sua estrutura de comitê em modelar um IDS baseado em programação genética. 2008]. Em [Zainal et al. ele não apresentou DR e FPR em cada uma das cinco classes. 2009]. Primeiramente. como o Polvo-IIDS que realiza detecções através da utilização de um sistema multi-camadas baseado em redes neurais e SVM [Mafra et al. As técnicas utilizadas no modelo de comitê são: Linear Genetic Programming (LGP). Uma revisão a fundo de várias técnicas de detecção baseada em anomalia. Esta abordagem de comitê demonstrou melhor desempenho quando comparado à abordagem de um classificador único. 2007]. ele utilizou quatro classificadores base (Redes Neurais. Entretanto. A partir dos resultados obtidos por 213 . Na Seção 5. Porém. a Seção 7 apresenta as conclusões do trabalho. Na proposta de [Abraham et al. No entanto. Na Seção 4. Ele usou o KDDCUP’99 [Lee et al. 2008]. os algoritmos utilizados nos experimentos são descritos. 2005]. SVM e MARS como componentes de seu IDS. Sistemas de Inferência Fuzzy e SVM (Support Vector Machine). Portanto. Por fim. 2. No trabalho descrito por [Mukkamala et al. a diversificação dos classificadores base é crítica para efetividade dos métodos de comitê [Chou et al. Probe. DoS. Se os classificadores base apresentarem métodos de classificação similares. U2R e R2L). apenas a acurácia da classificação foi apresentada. a base de dados utilizada é apresentada. A literatura sugere que a combinação de múltiplos classificadores pode melhorar a acurácia da detecção.apresenta a abordagem proposta. SVM. K-NN e Árvores de Decisão) para realizar a classificação individualmente e então combinou suas inferências usando três estratégias de comitê: Belief Function. desconsiderando-se importantes medidas padrão para avaliação. 2003].

treino. tornando os resultados enviesados. Isto é. Observe que. no qual cada conexão é classificada como sendo normal ou pertencendo a algum tipo de ataque. primeiramente são aplicados três classificadores em cada um dos três grupos diferentes de atributos da base de dados escolhida. somente um experimento foi realizado nos dados selecionados aleatoriamente. Outra questão. os resultados do nível 2 são combinados por um segundo algoritmo de comitê. a 214 . 3. A principal proposta do trabalho é verificar se comitês de comitês podem produzir melhores sistemas de detecção de intrusão em redes de computadores. O presente trabalho difere dos citados anteriormente em dois aspectos principais: (a) neste trabalho. é que não apresentaram um modelo sistemático que possa justificar a escolha dos pesos utilizados na regra de combinação. Primeiramente. No entanto. Apesar de essa estratégia ter apresentado uma melhoria na acurácia da detecção. a detecção de ataques é realizada a partir da classificação dos registros de uma base de dados de conexões TCP/IP. em cada nível. os resultados de classificadores do nível anterior são combinados para gerar uma classificação mais precisa. 2009]. um algoritmo de aprendizado de máquina é aplicado em uma base de dados (fase de treinamento) para gerar um modelo capaz de classificar os registros de uma segunda base (fase de classificação). Também não especificam como realizaram a seleção das conexões que compõem a amostra utilizada nos experimentos. gerando um comitê de comitês. a amostra utilizada não possui a mesma distribuição de classes da base original. 10%. um algoritmo de comitê é aplicado a vários modelos do classificador do nível 1. Eles apresentam um multi-classificador com hierarquia de três camadas. sendo que o terceiro nível gera um comitê de comitês. Outro exemplo da utilização de técnicas de comitê na detecção de intrusão é o trabalho de [Chou et al. para cada grupo de atributos.estes classificadores. Finalmente no nível 3. Em sua proposta. os autores não deixam claro qual versão da base de dados KDDCUP’99 (completa. Neste trabalho. (2) de acordo com os experimentos realizados. A Figura 1 ilustra o modelo proposto. Na segunda camada. os resultados das combinações de cada grupo são reunidos para produzir uma conclusão final na terceira camada. (b) este trabalho propõe um modelo de comitê em que as técnicas de classificação são aplicadas em três níveis. a amostra da base de dados KDDCUP’99 que eles utilizaram para realizar os experimentos não mantém a mesma proporção das classes de ataque da base original. teste) foi utilizada. um mesmo algoritmo base é utilizado para gerar os diferentes classificadores. Por fim. a classificação é realizada por modelos gerados por um mesmo algoritmo base. Abordagem Proposta Tarefas de classificação são realizadas em duas etapas conhecidas como fase de treinamento e fase de classificação. Este trabalho apresenta uma proposta de detecção de ataques que usa três níveis de classificação. A escolha por três níveis deu-se por três motivos: (1) para formar um comitê de comitês. a equação de combinação foi formulada. No nível 2. as inferências obtidas pelos diferentes classificadores são combinadas. precisa-se de pelo menos três níveis. Além disso. No nível 1.

apenas o resultado dos três níveis propostos são apresentados neste artigo. Algoritmos avaliados em cada configuração de comitê Configuração 1 Nível 1 Nível 2 Nível 3 Random Tree Random Forest Random Committee J48 Configuração 2 Configuração 3 Naive Bayes Dagging MultiBoostAB Bagging AdaBoost. Algoritmos de Aprendizado de Máquina Aplicados à Detecção de Intrusão Para avaliar a abordagem proposta. Os algoritmos selecionados foram os que apresentaram melhores desempenhos em relação a outros algoritmos do mesmo paradigma de aprendizado. chega até a reduzi-lo e (3) o custo computacional da adição de um quarto nível seria muito grande. Por exemplo.M1 215 . Tabela 1. 2006] apresentou o melhor desempenho em relação a outros algoritmos base que utilizam árvores de decisão. Com o objetivo de analisar o desempenho de vários algoritmos com paradigmas de aprendizado distintos. pelo contrário. foram testadas três configurações de comitês de classificadores. o algoritmo base Random Tree [Geurts et al.utilização de mais de três níveis não apresenta melhorias no desempenho da detecção. Com isso. Figura 1. Abordagem de Classificação em três níveis 4. Da mesma forma. cada configuração utiliza três algoritmos diferentes. Naive Bayes apresentou o melhor desempenho em relação a outros algoritmos que utilizam o Teorema de Bayes [John e Langlay 1995]. como apresentado na Tabela 1.

Algoritmo base: J48 – este algoritmo é uma implementação em Java. Algoritmo base: Random Tree – este classificador é uma árvore de decisão que considera apenas alguns atributos escolhidos aleatoriamente para cada nó da árvore.A ferramenta WEKA (Waikato Environment for Knowledge Analysis) [Hall et al. combina os classificadores produzidos pelo algoritmo base em um classificador único composto. O algoritmo C4. os modelos gerados a partir de cada nova base são combinados por votação.5 usa estratégia de dividir e conquistar. duplicando alguns registros e excluindo outros. Este classificador funciona executando repetidamente um determinado algoritmo base em várias distribuições sobre a base de treino e. 2010].1. 4. de forma a destacar suas principais diferenças. A seguir. 2. Então. por restrições de espaço. Configuração 2 Os algoritmos utilizados nesta configuração são os seguintes: 1. 2009]. Cada modelo de classificação gerado é construído usando uma semente de número aleatório diferente (mas baseado nos mesmos dados). Cada árvore dá um voto que indica sua decisão sobre a classe do objeto. 2.6. 4. ele gera várias outras bases a partir da inicial. Algoritmo de comitê de comitês: Random Committee [Lira et al. então. na ferramenta WEKA. A classe com o maior número de votos é escolhida para o objeto. Algoritmo de comitê: Bagging – o Bootstrap aggregating [Breiman 1996] pode ser descrito da seguinte maneira: dado uma base de dados. os algoritmos utilizados em cada configuração são descritos com mais detalhes. descritos a seguir: 1. Algoritmo de comitê: Random Forest [Breiman 2001] – este algoritmo de comitê é um conjunto de árvores de classificação. 2007] – ele utiliza classificadores que tem funcionamento aleatório como base. foi utilizada para aplicação dos algoritmos. deste modo. 3.3. 216 .2. Visto que. a classe mais votada é escolhida.M1 – ele é uma das versões do algoritmo AdaBoost [Freund e Schapire 1996]. A previsão final é uma média das previsões geradas pelos modelos base individuais. Escolhemos essa ferramenta por ser amplamente utilizada em atividades de aprendizado de máquina [Zaian et al. para cada registro a ser classificado.5 [Quinlan 1993]. não é possível discuti-los minunciosamente. Configuração 1 Essa configuração foi criada utilizando apenas algoritmos randômicos. Ele gera árvores de decisão usando uma metodologia de informação teórica. Algoritmo de comitê de comitês: AdaBoost. versão 3. do classificador C4. 3.

S. ela é a base mais utilizada para testar Sistemas de Detecção de Intrusão baseados em anomalia (Anomalybased Intrusion Detection Systems) [Tavallaee et al. Base de Dados para Detecção de Intrusão A base de dados escolhida para aplicação dos algoritmos de classificação foi a DARPA KDDCUP’99. Algoritmo base: Naive Bayes – este classificador é baseado na teoria da probabilidade condicional para executar a decisão de um problema de classificação. ele utiliza a técnica de disjunção. Ex. os ataques se caracterizam por varrer a rede automaticamente a procura informações ou vulnerabilidades a serem exploradas. como mostrado em [Elkan 2000]. dado uma classe. Ex. 3. Algoritmo de comitê de comitês: MultiBoostAB [Webb 2000] – ele é uma extensão à técnica AdaBoost para a formação de comitês de decisão. devido a questões de legalidade. porém ao invés de utilizar a técnica de bootstrapping. mas sendo bombardeada por uma sequência de múltiplos ataques. Ela é uma das poucas bases de dados de tráfego de rede disponíveis publicamente. Ele tem a capacidade de tirar proveito tanto do forte viés do AdaBoost quanto da redução de variância do Wagging. Os tipos de ataque desta base de dados são agrupados nas seguintes categorias: • Probe: Nessa classe. Este algoritmo pode ser visto como a combinação entre AdaBoost e Wagging [Webb 2000]. Configuração 3 A última configuração avaliada é formada pelos seguintes algoritmos: 1. A rede foi operada em um ambiente real. o que pressupõe que.3.: ataques buffer overflow. Apesar de ter sido criada a mais de dez anos. 2. Ela foi concebida através da simulação de um ambiente de uma rede militar da força aérea dos Estados Unidos (U. As previsões são feitas via Majority Voting. Para cada conexão (sequência de pacotes TCP) foram extraídos 41 atributos adicionados de um rótulo que identifica se a conexão é do tipo normal ou um tipo de ataque. Ele usa o Teorema de Bayes com suposições de independência.: port scanning e port sweep.4. como discutido em [Paxson 2007]. Este algoritmo é bastante parecido com o Bagging. Algoritmo de comitê: Dagging [Ting e Witten 1997] – ele cria um número de partes estratificadas disjuntas a partir dos dados de entrada e alimenta cada bloco de dados com uma cópia do classificador base fornecido. Ex. U2R (User to root): Essa classe de ataques se caracteriza por iniciar o ataque como um usuário normal no sistema e explorar vulnerabilidades para ganhar acesso de usuário root. DoS (Denial of Service): Também chamado de ataque de negação de serviço.: ping-ofdeath e SYN flood. • • 217 . privacidade e segurança. 2009]. conjuntos de características são condicionalmente independentes uns dos outros. 5. Air Force). Isso permite que nossa proposta seja comparada a outros trabalhos. se caracteriza por deixar um serviço ou rede parada ou muito lenta. alimentada por conexões TCP dump.

Em seguida. Esta alteração foi realizada por trazer diferenças significativas aos resultados deste classificador. 2 para Probe. Primeiramente. Os valores de parâmetros padrão da ferramenta WEKA são utilizados para configuração de cada algoritmo. 6. A base de dados utilizada corresponde a 10% da base KDDCUP’99. os classificadores são construídos utilizando a base de treino.832 redundantes Com registros 7. A Tabela 2 apresenta a quantidade de registros por classe após o pré-processamento realizado.) foram mapeados para uma das cinco classes possíveis (0 para Normal. 11. A única exceção é o algoritmo Naive Bayes.200 aleatórios Um número de 6. Porém. 4 para U2R). 2005]. como descrito em [Mukkamala et al.890 registros da base total (11. como descrito em [Elkan 2000]. ao invés de uma distribuição normal. Por fim. etc.021 145.126 999 82 Total 494. tipos de ataque (como buffer overflow.586 11. Resultados e Discussão Os experimentos consistem em várias sessões de treinamento e teste. 2009]. O desempenho da tarefa de detecção de intrusão foi avaliado por meio de medidas padrão. 1 para DoS. Tabela 2. Na fase de treinamento. 2005]. guessing password.572 4.982 registros foram selecionados aleatoriamente para compor as bases de treino e teste [Mukkamala et al.• R2L (Remote to Local): Chamado de ataque de usuário remoto. essa classe se caracteriza pelo envio de pacotes a uma máquina de uma rede. Em seguida. foram removidos os registros redundantes. As alterações são semelhantes às realizadas por [Borji 2007]. os dados de teste são introduzidos em cada classificador treinado. que foi configurado para utilizar Kernel Estimator para atributos numéricos. gerando uma classificação para cada fluxo de teste. que são uma das maiores deficiências desta base de dados por tornarem os algoritmos de classificação enviesados em relação aos registros frequentes [Tavallaee et al. tais como a taxa de detecção (DR – Detection Rate) e a taxa de falsos 218 .107 2.982) foi selecionado aleatoriamente para formar a base de teste e o resto (5. Quantidade de registros por classe Base Original (10%) Normal 97.278 Probe 4.: guessing password.131 175 DoS 391. com exceção da classe U2L que foi completamente incluída.458 54. alguns ajustes foram feitos. a partir daí são exploradas vulnerabilidades da máquina para ganhar acesso ilegal de usuário local.473 52 52 52 U2R R2L 1. de modo que a tarefa de classificação pudesse ser realizada.092) foi utilizado como base de treino.982 Sem registros 87. 3 para R2L. O número de registros selecionados de cada classe é proporcional ao seu tamanho na base sem registros redundantes. Ex.

09 Naive Bayes DR 99. como é o caso do KDDCUP’99. possuindo a maior taxa de detecção (DR) e a menor taxa de falsos positivos (FPR). É importante ressaltar que todos os algoritmos apresentaram desvios padrão inferiores a 0.11 DR J48 FPR 1.88 99.16 0.28 97. Mais detalhes sobre essas medidas podem ser encontradas em [Osareh e Shadgar 2008].41 99.61 99.07 0. estando bastante distante dos outros algoritmos. Devido à seleção aleatória dos registros das bases de dados testadas.31 99.00 3.66 70.10 0.44 0. capaz de obter bons resultados em uma base com uma grande quantidade de atributos. Isso minimiza o fator de imprecisão e variação dos resultados obtidos nos experimentos. dez iterações de treino-teste foram executadas para cada algoritmo.19 0. Tabela 3. Estas medidas são calculadas com as seguintes equações: DR = TP × 100% TP + FN (1) FPR = FP × 100% FP + TN (2) Onde.36 FPR 0.26 0.10 0.58 89.94 81. TP (True Positive) é a quantidade de conexões classificadas como ataques que realmente são ataques. FN (False Negative) é a quantidade de conexões classificadas como normais. Isso se deve ao fato de que o Random Tree se trata de uma árvore com base aleatória. Isso ocorre porque essas classes possuem mais registros. TN (True Negative) é a quantidade de conexões classificadas como normais que são realmente normais.65 0. Isso provavelmente se deve ao fato deste algoritmo não ser adequado para bases com grande quantidade de atributos devido à sua suposição de independência (independence assumption) [Rish 2001].58 Ainda na Tabela 3.10 0.08 0. portanto fornecem mais informações durante a formação do modelo de 219 . A Tabela 3 apresenta o desempenho dos três algoritmos do nível 1. pode-se observar que todos os algoritmos obtém melhores resultados nas classes Normal.20 47. FP (False Positive) é a quantidade de conexões normais que são classificadas como ataque.63 64. quando na verdade são ataques. visto que os valores de DR e FPR variam entre zero e 100.positivos (FPR – False Positive Rate).07 0. aplicados individualmente na base de dados. os quais podem ser considerados pequenos.69 25. Probe e DoS.5 para DR e FPR.31 76. Para cada algoritmo o resultado apresentado é a média dos resultados obtidos nas dez iterações.87 0. Os resultados mostram que o algoritmo Random Tree apresenta o melhor desempenho. O classificador Naive Bayes obteve os piores resultados. Isso nos permite concluir que a média é bastante representativa em relação aos resultados obtidos.25 41.70 99.25 0.82 FPR 5.73 97.12 0.53 91. Desempenho dos classificadores do nível 1 Random Tree Classes Normal Probe DoS U2R R2L Total DR 99.

09 0.44 Bagging DR 99.07 0.71 91.02 0.00 0. melhoraram os resultados do nível dois. O algoritmo Random Forest apresenta o melhor desempenho para ambas as DR e FPR.04 99.26 99.10 53.88 93.31 AdaBoost. Nota-se ainda que.cada algoritmo.11 55.16 99.00 0.30 FPR 1. É possível observar que o algoritmo Random Committee obteve o melhor desempenho.03 0.66 0.M1 DR 99.86 87.43 220 .43 60.01 46.03 FPR 4.39 82.01 0.06 0.04 0.83 97.70 FPR 0.66 26. todos os algoritmos do nível 3.53 0.46 99. Committee Classes Normal Probe DoS U2R R2L Total DR 99.64 FPR 0.24 99. Tabela 5. portanto os atributos do KDDCUP’99 não favorecem a classificação destes dois tipos de ataque [Lee et al. Tabela 4. Isto acontece.05 0.59 FPR 0. pois a aleatoriedade gerada pelos classificadores de comitê para cada modelo os torna significantemente diferentes uns dos outros [Witten e Frank 2005].90 95.72 98. porém foi capaz de reduzir a taxa de falsos positivos consideravelmente.00 0.89 80.59 0. é difícil definir características que identifiquem bem os ataques do tipo U2R e R2L.69 Dagging DR 98.1999].96 97. Já o algoritmo Dagging não foi capaz de prover uma melhora significativa na taxa de detecção do Naive Bayes.08 0.36 MultiBoostAB DR 98.81 85.07 0.82 97. Observe que todos os algoritmos de comitê apresentam melhores resultados do que os algoritmos do nível 1.62 2.95 Na Tabela 5.57 97. Estes resultados sugerem que algoritmos de comitê são a melhor abordagem para prover alta taxa de detecção e baixa taxa de falsos positivos.47 FPR 3. como mostrado na Tabela 1.62 69.39 0.07 0.13 0.06 0. Desempenho dos três classificadores do nível 3 Rand.75 2. cada um usando um algoritmo base diferente. A Tabela 4 apresenta o desempenho dos classificadores no nível 2.03 0. temos o resultado dos algoritmos do nível 3 (aplicados aos algoritmos do nível 2).04 0.02 0.06 99.18 0.89 79.48 0. Além disso.47 0.68 99.50 99.68 63. devido à função complementar de cada modelo utilizado no comitê. mostrando que é interessante acrescentar mais um nível de comitê à classificação.02 0.81 0.95 82.57 76. Desempenho dos três classificadores do nível 2 Random Forest Classes Normal Probe DoS U2R R2L Total DR 99.

o algoritmo Random Forest apresentou os melhores índices de melhoria (aumento de 0. principalmente em relação à taxa de falsos positivos.60 % 0.64 0.47 99.63 % No entanto. Comparativo com resultados obtidos por [Borji 2007] Classificação em três níveis Medida Random Committee AdaBoost.83% em relação ao nível 2). Tabela 6. as detecções seguintes são realizadas de maneira mais rápida. com tempo de processamento próximo ao dos outros níveis.31 99. a utilização do terceiro nível traz uma desvantagem em relação ao custo computacional. Na Tabela 7.A Tabela 6 apresenta o percentual de melhoria (aumento para DR e queda para FPR) alcançado após a aplicação dos classificadores de comitê.03 % 17. após o modelo de detecção ter sido criado na fase de treinamento.03 99. pois seu tempo de treinamento é maior do que nos outros dois níveis. a fase de treinamento é realizada apenas na parte inicial da tarefa de detecção.20 99. Entre todos os métodos utilizados. demonstrando que utilizar um comitê de comitês é bastante vantajoso para a tarefa em questão.11 % 29. o algoritmo Random Committee. com uma diferença elevada apenas no MultiBoostAB que mesmo melhorando o desempenho do Naive Bayes. é apresentado um comparativo entre os algoritmos de comitê abordados neste trabalho e os métodos de combinação apresentados na proposta de [Borji 2007].45 % 17.34% para DR e queda de 27. Portanto. M1 MultiBoost AB 0. não foi capaz de mostrar resultados comparáveis aos demais algoritmos.80 % 0.48 % 0. apresentou o melhor desempenho. Percentual de melhoria no desempenho total em cada nível de comitês em relação ao anterior Nível 2 Medida DR – Taxa de aumento FPR – Taxa de queda Random Forest Bagging Dagging Random Committee Nível 3 AdaBoost.36 97.68 0. M1 MultiBoost AB Majority Voting Borji Bayesian Average Belief Function DR FPR 99. esse custo adicional pode ser compensado para sistemas em que a segurança é crítica.70 0. visto que 221 . o algoritmo MultiBoostAB foi o que mais aperfeiçoou a taxa de detecção (aumento 0. Entretanto.1 foi o que obteve melhor ganho em relação à taxa de falsos positivos (queda de 47.87% para FPR em relação ao nível 1).18 1. Além disso. abordado neste trabalho.14 % 5.55 % 0. O desempenho dos métodos abordados por [Borji 2007] são próximos aos obtidos neste trabalho. obtendo resultados melhores que o método Belief Function.34 % 47. os resultados obtidos neste trabalho são mais precisos.83 % 0.33 1.34 % 27. No nível 2. Tabela 7. Já no nível 3.87 Apesar da taxa de detecção do método Belief Function estar bastante próxima do Random Committee. Observe ainda que o nível 3 apresentou os melhores índices de melhoria.47 2.45% em relação ao nível 2) e o AdaBoostM.

aumentando o tempo para realizar a classificação. Observe que as propostas dos outros autores não apresentam DR e FPR para a detecção da base de dados total.29 0. Isso pode tornar o modelo inviável para bases de dados muito grandes. 2008]. 2008] se baseiam em apenas um experimento. O Random Committee apresenta melhor DR para as classes normal e DoS.80 43.71 99. Os trabalhos recentes de detecção apresentam a importância da utilização de comitês de classificadores para aumentar o desempenho da detecção de intrusão.90 91.43 88. portanto não podem ser comparadas. Este trabalho apresenta um modelo de classificação em três níveis. No trabalho de [Borji 2007] não é especificado se foi realizado mais de um experimento com bases aleatórias diferentes ou se apenas uma foi utilizada. portanto. Entretanto. apenas para cada classe.00 0.07 0. Quando comparado com outras propostas. Os experimentos realizados demonstram que esse modelo em três níveis apresenta melhores resultados do que (1) a aplicação individual de algoritmos e (2) aplicação de apenas um nível de comitê.58 FPR 0.14 97.26 FPR 0. É importante ressaltar que os resultados apresentados por [Abraham et al. Além disso. de modo a diminuir a chance de se utilizar uma base de dados enviesada. Também não foram apresentadas DR e FPR para cada classe de detecção.00 0. as taxas de falsos positivos de [Abraham et al. que realiza um comitê de comitês de classificadores.47 0. 222 . de maneira muito mais rápida e precisa. 2008] apresenta melhor FPR.24 99. tornado o sistema capaz de analisar o tráfego de redes em busca de ataques. é importante notar que a aplicação de um terceiro nível de classificação exige uma maior quantidade de processamento. o modelo mostrou-se superior em vários aspectos. Já a proposta de [Zainal et al.90 95.02 Normal Probe DoS U2R R2L 7. Tabela 8. A Tabela 8 mostra o desempenho do melhor resultado obtido pelo modelo em três níveis comparado aos melhores resultados dos trabalhos de [Abraham et al.00 98. o modelo é adequado para sistemas que requerem alto nível de precisão na detecção ou que possuem uma quantidade média de dados a serem analisados.86 87.00 0. 2007] não são mostradas porque ele as calculou utilizando uma outra fórmula.00 0. 2007] e [Zainal et al. diferente da nossa proposta.00 DR 99. sendo.90 FPR - Zainal et al. No entanto.foram calculados a partir da média de dez experimentos. Comparativo de detecção com outras propostas Rand.03 0. Considerações Finais A utilização de técnicas automáticas de detecção por anomalia reduz ou elimina a necessidade de intervenção humana.70 98. Committee Classes Abraham et al. mais confiável.60 99. DR 99.95 82. DR 99. que foi baseada em dez experimentos. 2007] e [Zainal et al.

Elkan. Bagging Predictors. Referências Abraham. Vol. M. Breiman. P. A. Frank. Geurts. Kumar. Pfahringer. Grosan.. pages 532.. J. In International Journal of Network Security. In Thirteenth International Conference on Machine Learning. G.A Revised Taxonomy for Intrusion Detection Systems. (2009). H. (2000). and Srivastava. J. John Wiley & Sons. A Data Mining Framework for Building Intrusion Detection Models. (1995). H. 120-132. In Proceedings of the Third SIAM Conference on Data Mining. (2006). Extremely randomized trees. S.. Lazarevic. pages 39763980. Ozgur. A. and Wespi. (2007). In Machine Learning 24(3).. Combining Pattern Classifiers: Methods and Algorithms. (1996). L. Hall. pages 338-345. pages 328-339. pages 123–140.. Freund. C. Stolfo. Vol. como sugerido por [Paxson 2007]. P. 63. (1999). Reutemann. V. Debar. In Lecture Notes in Computer Science. In Journal of Machine Learning. . Ertoz. A. In SIGKDD Explorations. pages 254-260. M. and Makki. (1996). G. L. Evolutionary Design of Intrusion Detection Programs. I. K. Fan. Volume 11. visto que os tipos de ataque de hoje diferem dos existentes na base KDDKUP’99. M. Issue 1. Chou.. H. and Mok. B. Random Forests. L. A. C. and Wehenkel.. Springer. John. é interessante investigar um modelo capaz de melhorar o desempenho da detecção para as classes de ataque R2L e U2L. J. L. In Eleventh Conference on Uncertainty in Artificial Intelligence. Ensemble of machine learning algorithms for intrusion detection. ACM SIGKDD. pages 3-42. In IEEE Symposium on Security and Privacy. (2009). Estimating Continuous Distributions in Bayesian Classifiers. (2004). Annals of Telecommunications. Man and Cybernetic. (2001). Results of the KDD’99 Classifier Learning. Holmes. (2007). and Vide. Dacier. Volume 4846. In Machine Learning.Como trabalhos futuros. I.. (2000). pages 361-378. A. Combining Heterogeneous Classifiers for Network Intrusion Detection. K. P. T. Inc. L. S. pages 148-156. D. W. In Systems.. 223 . Y. E. Também é importante testar a metodologia proposta em outras bases de dados para avaliar a sua robustez ou até mesmo em uma base de dados gerada a partir de tráfego real. A comparative study of anomaly detection schemes in network intrusion detection.. pages. Lee.45. C. Borji. R. Kuncheva. (2003). and Schapire.. E. Kluwer Academic. Netherland. Ernst. The WEKA Data Mining Software: An Update. In SIGKDD Explorations. Fan. Breiman. and Witten.. W. Experiments with a new boosting algorithm. and Langley.

Lira. O. In Fourteenth international Conference on Machine Learning.A. B. R.11. Quinlan. M. and Shadgar. I. Prentice Hall. K. Keynote. An empirical study of the naive Bayes classifier. S. R. In Journal of Network and Computer Applications. Fraga..8 No. pages 2863 . CA. and Rong-ming.2). (1993). (2005). da S. Witten.pages 53-58. M. W. Tavallaee. Bin. (2005). VOL.. de Aquino. A. (2000). Neto. Combining Multiple Artificial Neural Networks Using Random Committee to Decide upon Electrical Disturbance Classification.. Ferreira. R. Z. Stacking Bagged and Dagged Models. (2007). A Detailed Analysis of the KDD CUP 99 Data Set. O. E. Polvo-IIDS: Um Sistema de Detecção de Intrusão Inteligente Baseado em Anomalias. (2008). A WSRFenabled Distributed Data Mining Approach to Clustering WEKA4WS-Based. In Proceedings of the Second IEEE Symposium on Computational Intelligence in Security and Defense Applications. 2th Edition. Carvalho. A.. W... and Santos. S. Webb.Intrusion Detection in Computer Networks based on Machine Learning Algorithms. Data Mining: Pratical Machine Learning Tools and Techniques.. and Abraham. M. pages 180185. Lu. (2005). In workshop on Empirical Methods in AI. A. 4th edition. Ting. M. In International Joint Conference on Neural Networks. Rish. and Ghorbani. P. N. H. Morgan Kaufmann Publishers. G. and Witten. B. G. pages 61-72..2868. Mukkamala. (2009). I. and Vulnerability Assessment (DIMVA). (2010). M. pages 367-375. M. 28. pages 167-182. C4. (2008). (2001). A. J. W. Vol. Hung. A. A. A.. In Proceedings of IEEE Second Symposium on Web Society (SWS). Zainal. Moll. pages 219-226. Bagheri. and Frank. (1997).H. E.. In VIII Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais (SBSEG'08). A. Machine Learning. 224 . In Proceedings of Fourth International Conference on Information Assurance and Security. MultiBoosting: A Technique for Combining Boosting and Wagging. M. Santin. R. S. Shamsuddin.M. and Abraham.. Fourth GI International Conference on Detection of Intrusions & Malware. A. Mafra. Paxson V.. Zai-an. pages 15-23. H. Ensemble of One-class Classifiers for Network Intrusion Detection System. Cryptography and Network Security Principles and Practices.40(No. S. Shi-ming." Osareh. M.. V..5: Programs for Machine Learning. Zhuang. San Mateo. (2007). I. A. Stallings. (2008). Considerations and Pitfalls for Conducting Intrusion Detection Research. In International Journal of Computer Science and Network Security. S.. Vol. A. Intrusion Detection Using an Ensemble of Intelligent Paradigms. I. Morgan Kaufmann Publishers. M. Maarof.

a harmless information.2 million assembly instructions in 19. crackers are able to circumvent the address randomization mechanism. as long as they can have access to an internal program address. 2003.fpereira}@dcc. However. as they are popularly called. The Internet Worm of 1988. in which confidential data is first stored in memory. in principle. Antˆ onio Carlos. that consists in loading some key areas of a process at random locations in its address space. overwriting other program data. To prevent buffer overflows exploits. Every day we hear about new strategies that are invented to attack sensitive software. Our current implementation reduces by more than 14 times the number of sensitive operations that a developer would have to inspect in order to find address leaks manually. or crackers. We have implemented our analysis into the LLVM compiler and have used it to report 204 warnings in a test suite that contains over 1. Buffer overflows are a very well known technique that untrusted code uses to compromise other programs. and includes traditional benchmarks such as SPEC CPU 2006. Its basic principle consists in writing on an array a quantity of data large enough to go past the array’s upper bound. however. typically used in modern operating systems to hinder buffer overflow attacks.7 seconds! 1. for instance. hence.br 1 Departamento Abstract. the attacker cannot calculate precisely the target addresses that must be used to take control of the vulnerable program. and every day we hear about new security mechanisms that are engineered to protect these systems. A cracker can discover an internal program address in 225 . Introduction There seems to exist an “arms race” between program developers and malicious users.Static Detection of Address Leaks Gabriel Quadros Silva and Fernando Magno Quint˜ ao Pereira ˜ o – UFMG de Ciˆ encia da Computac ¸a Av. malicious users can estimate the exact base address of the functions available to the executing program.3 million lines of C code. exploited a buffer overflow in the fingerd daemon [Rochlis and Eichin 1989]. 6627 – 31.270-010 – Belo Horizonte – MG – Brazil {gabrielquadros. it gives a malicious user the means to circumvent a protection mechanism known as address space layout randomization. Taint analysis is a form of program analysis that determines if values produced by unsafe sources might flow into sensitive functions. our analysis is remarkably efficient: it has been able to process more than 8. We depart from previous taint analyses because we also track indirect information leaks. Shacham et al. In this way. operating system engineers have invented a technique called address space layout randomization [Bhatkar et al. an information that gives them a vast suite of possibilities to compromise this program [Levy 1996]. In this paper we use taint analysis to establish if an adversary might discover the address of any program variable at runtime. The knowledge of an internal program address seems.ufmg. Furthermore. probably the most famous case of viral spreading of malicious software in the Internet. Armed with this knowledge. 2004]. from where it flows into some sensitive operation.

An indirect leak consists in storing sensitive information in memory. By using the correct flags. Section 6 concludes the paper. In addition to exploring a new use of taint analysis.com/research/BHDC2010/BHDC-2010-Paper. then the attacker may obtain this address by simply printing the object’s hash code. http://mariano-graziano. Our technique is a type of taint analysis [Rimsa et al. are possible. as a quick glance at blogs related to computer security would reveal 1 .3 million lines of code. In some object oriented systems the hash code of an object is a function of the object’s address.pdf http://www. In Section 2 we explain in more details why address leaks enable malicious users to successfully attack programs.llab.semantiscope.it/docs/stsi2010. The objective of this paper is to describe a static code analysis that detects the possibility of an address information leaking from a program. We have manually inspected 16 reports taken from the 16 largest programs in our benchmark suite.155. by relying on a context insensitive interprocedural analysis we claim to provide an acceptable tradeoff between efficiency and precision. a well known member of SPEC CPU 2006. our implementation takes 2.com/group/comp.62 seconds. If the hash-function admits an inverse function. we deal with indirect leaks. of course. and a set of sink operations.many different ways. the attacker may easily activate this dumping. and have used it on a collection of C programs comprising over 1. many applications contain debugging code that dumps runtime information. in spite of the importance of this problem. with 1. the leaking of address information is a problem well known among software engineers. For instance.pdf http://vreugdenhilresearch. we remark that our analysis reduced by 14 times the number of sensitive statements that a developer would have to verify in order to find address leaks.083 assembly instructions. We differ from previous works in two ways: first. The rest of this paper is organized in five other sections. we extend the information flow technology with a method to track indirect leaks. We have implemented our analysis on top of the LLVM compiler [Lattner and Adve 2004].pdf 2 http://groups. As recently discussed in the USENET 2 . In Section 3 we introduce our solution and discuss its limitations. it finds a flow of information from any source to any sink. Section 5 discusses several works that are related to ours. As an example. Our implementation has reported 204 potential address leaks.google. Fancier strategies. second.7 seconds to process our entire test suite – a collection of programs having over 8. that is. and then reading this information back into local program variables whose contents eventually reach a sink operation. Our implementation is very efficient: it takes about 19. developers and theoreticians alike avoid having to track information through the memory heap because it tends to be very costly in terms of processing time. we are proposing a novel use of taint analysis. This test suite includes well-known benchmarks such as SPEC CPU 2006. and have been able to recover 2 actual program addresses. as we can infer from a lack of publications in the field. Finally.compilers/browse thread/thread/ 1eb71c1177e2c741 1 226 . We show experimental results in Section 4. However. Concerning the first difference.26 million assembly instructions. given a set of source operations. and this inverse is known. Nevertheless. the research community has not yet pointed its batteries at it. Shootout and MediaBench.nl/Pwn2Own-2010-Windows7-InternetExplorer8. Although this number seems low. in order to analyze gcc. including variable addresses. 2011].

... motivated by efficiency [Stroustrup 2007]. C or C++ do not check array bounds. diverting execution to another code area. Some programming languages. The first buffer overflow attacks included the code that should be executed in the input array [Levy 1996]. } . Program Stack void function(char* str) { char buffer[16]. The return address of function is diverted by a maliciously crafted input to another procedure. which means that they only allow combinations of operations and operands that preserve the type declaration of these operands. the program resumes its execution from this return address. .. such as C or C++. runtime constants. Frame pointer Return address Figure 1. } void main() { . strcpy(buffer. which are weakly typed. In particular. However. After the function returns. There are other languages. This decision. that outlive the lifespan of the functions where they were created are placed on the heap. by carefully crafting this input string.. evil_str: Hand crafted malicious input str Function Parameters buffer .. once a function is called. . Data structures created at runtime. As an example. An schematic example of a stack overflow. Filling garbage Evil args <sensitive function> ... also called an array or vector. 2003]. Python and JavaScript are strongly typed.. In the stack overflow scenario.. and any other data known at compile time usually stays in the static allocation area.. It can happen in the stack or in the heap. for instance. modern operating systems mark writable memory addresses as non-executable – a protection mechanism 227 . one can overwrite the return address in a function’s activation record.. Thus. is a contiguous sequence of elements stored in memory. A buffer overflow consists in writing in a buffer a quantity of data large enough to go past the buffer’s upper bound. . Local variables: Code Segment .. are allocated on the stack. such as Java. hence. function(evil_str). Programming languages normally use three types of memory allocation regions: static.. They allow the use of variables in ways not predicted by the original type declaration of these variables. The activation records of functions. local variables and return address. is the reason behind an uncountable number of worms and viruses that spread on the Internet [Bhatkar et al. parameters.str). overwriting other program or user data. all these languages provide arrays as built-in data structures... one can declare an array with n cells in any of these languages. for instance. thus. Global variables.2. and they verify if indexes are within the declared bounds of these arrays. . its return address is written in a specific position of its activation record. heap and stack. <main> push evil_str call <function> . and then read the cell at position n + 1. Background A buffer. which contain. .

but 228 . The best known defense mechanism is address obfuscation [Bhatkar et al. This type of attack is called return to libc [Shacham et al. among other things. Secondly.known as Read⊕Write [Shacham et al. It is this very type of bug that we try to detect in this paper. Loads to and stores from memory are modeled by ldmem and stmem. p. In the words of the original designers of the technique [Bhatkar et al. We explain in more details each of these steps in this section. If a binary program is large enough. Program expressions that do not include any memory address are modeled via the constraint simop. 2003]. 2008] have generalized this method to RISC machines. 2003. nevertheless. then “the attacker can craft an attack that succeeds deterministically”. 2004. we define a simple constraint language. then it is likely to contain many bit sequences that encode valid instructions. Attackers can call functions from libc. This constraint models not only ordinary printing operations. if possible. we perform a depth-first search on this dependence graph to report leaks. Therefore. Firstly. Shacham et al. Hovav Shacham [Shacham 2007] has shown how to derive a Turing complete language from these sequences in a CISC machine. There exist ways to prevent these types of “return-to-known-code” attacks. In order to represent the five different types of constraints that we take into consideration. Return to libc attacks have been further generalized to a type of attack called return-oriented-programming (ROP) [Shacham 2007]. Figure 1 illustrates an example of buffer overflow. Converting the Source Program to a Normal Form We use a constraint system to detect address leaks. calloc or realloc. however.1. Finally.115]. Finally. attackers tend to divert execution to operating system functions such as chmod or sh. in which every language construct that is interesting to us is converted to a few constraints. we use print to denote any instruction that gives information away to an external user. p. [Buchanan et al. we convert the program to a suitable normal form. Address obfuscation is not. for instance. We produce these constraints out of actual C or C++ programs. 3. as the table in Figure 3 illustrates. the ultimate defense mechanism. we build a dependence graph out of the constraints previously defined. 2004]. allows users to fork processes and to send packets over a network. [Shacham et al. 3. A buffer overflow vulnerability gives crackers control over the compromised program even when the operating system does not allow function calls outside the memory segments allocated to that program. or the operating system can randomize the virtual address of shared libraries. The Proposed Solution We detect address leaks via a three steps process. We use getad to model language constructs that read the address of a variable. This library. Usually the malicious string contains also the arguments that the cracker wants to pass to the sensitive function. and Buchanan et al. if “the program has a bug which allows an attacker to read the memory contents”. A compiler can randomize the location of functions inside the binary program. 2004] have shown that these methods are susceptible to brute force attacks. a short name for simple operation. address obfuscation slows down the propagation rate of worms that rely on buffer overflow vulnerabilities substantially. namely the ampersand (&) operator and memory allocation functions such as malloc. which is share-loaded in every UNIX system.299]. whose syntax is given in Figure 2.

where v4 is fresh stmem(v. . 1991] in which each variable name is defined only once. v3 ) Figure 3.e. which would allow a malicious JavaScript file to obtain an internal address from the interpreter.} getad(v1 . where v3 is fresh simop(v4 . the compiler on top of which we have implemented our algorithms. i. i. v2 . v0 ) stmem(v0 . not only inside the scope where that variable exists. . v2 . v0 ) print(v ) Figure 2. v1 = &v2 v1 = (int*)malloc(sizeof(int)) getad(v1 . v2 ) getad(v1 . {v1 }) getad(v4 . Because we provide an interprocedural analysis. vn }) stmem(v0 . . This is a classic compiler intermediate representation [Cytron et al. . {v1 . In practice we obtain global SSA form by prefixing each variable name with the name of the function where that variable is defined. we assume global SSA form. In other words. simop(v2 . the fact that each variable name is unique across the entire program. where v2 is fresh stmem(v1 . The single static assignment property. 229 . int* v4). We have designed our analysis to work on programs in Static Single Assignment form. {v1 . . including Java HotSpot [Team 2006]. each variable name is unique in the entire program. Virtually every modern compiler today uses the SSA form to represent programs internally. v4 ) f(v1. Examples of mappings between actual program syntax and constraints. . v3 }).. v0 ). v2 ) v = v1 + v2 + v3 *v = v1 + &v2 simop(v. &v3). {v1 . we analyze whole programs. v1 ) ldmem(v2 . is essential to allow us to bind to each variable the state of being trusted or untrusted. .e. v1 ) ldmem(v1 . gcc [Gough 2005] and LLVM [Lattner and Adve 2004]. for instance.(Variables) (Constraints) – (Assign variable address) – (Simple variable assignment) – (Store into memory) – (Load from memory) – (Print the variable’s value) ::= ::= {v1 . v3 }) getad(v3 . where f is declared as f(int v2. also native function interfaces.. v2 ). The syntax of our constraint system. v2 ) simop(v. v2 ) where v2 is a fresh memory location v1 = *v0 *v0 = v1 *v1 = *v0 ldmem(v1 .

The only constraint that produces edges pointing to address nodes is getad. Pt ) = {sink → val(v )} [S IMOP ] proc con(simop(v. . 3. From a quick glance at Figure 4 it is easy to see that sink will have in-degree zero. which we represent by addr(v ) ∈ V . if v1 is defined by an instruction that reads the value of v2 . More formally. given a set C of constraints that follow the syntax in Figure 2. Building the Memory Dependence Graph Once we extract constraints from the target C program. Pt ) = {val(v ) → val(vi ) 1 ≤ i ≤ n} [S TMEM ] proc con(stmem(v0 . Recursive definition of the edges in the memory dependence graph. recursively. we proceed to build a memory dependence graph. then for each variable v ∈ P we define two vertices: a value vertex. or. Pt ) = {val(v1 ) → val(v ) v0 ↦ v ∈ Pt } Figure 4. If v1 is defined by an instruction that reads the address of variable v2 . v1 ). . which we denote by val(v ) ∈ V and an address vertex. which we call sink. Pt ) = ∅ [E DGES ] build edges(C. shown in Figure 4. Pt ) = {val(v ) → val(v1 ) v0 ↦ v ∈ Pt } [L DMEM ] proc con(ldmem(v1 . v2 ). v0 ). We say that location v1 depends on location v0 if v0 is necessary to build the value of v1 . then we insert an edge val(v1 ) → val(v2 ) into our memory dependence graph. This – directed – graph is a data structure that represents the patterns of dependences between variables. . 230 . In other words. E ) is P ’s dependence graph. then we insert an edge val(v1 ) → addr(v2 ) into E . Pt ) = {val(v1 ) → addr(v2 ))} [P RINT ] proc con(print(v ).2.[E MPTY ] build edges(∅. Pt ) = E proc con(c. and G = (V. . v0 denotes a value used in an instruction that defines a variable v2 such that v1 depends upon v2 . as we show in Rule G ETAD in Figure 4. we define the memory dependence graph via the function build edges. The memory dependence graph has a special node. Rule S IMOP determines that we generate an edge from the value node that represents the variable defined by a simple operation towards the value node representing every variable that is used in this operation. In actual programs such dependences happen any time v0 denotes a value used in an instruction that defines v1 . Pt ) = E ∪ Eι [G ETAD ] proc con(getad(v1 . Edges leaving sink towards value nodes are created by Rule P RINT. vn }). {v1 . Pt ) = E ′ build edges(C ∪ {c}. If P is a target program.

E ) = B ∪ {val(v1 ) → addr(v2 )} [A DDR ] val(v1 ) → addr(v2 ) ∈ E dfs(v. The problem of conservatively estimating the points-to relations in a C-like program has been exhaustively studied in the compiler literature [Andersen 1994.[L EAK ] build edges(C. then. The processing of load and store constraints is more complicated. contains the main elements that will allows us to 231 . for each variable v ∈ V .4. The ldmem constraint works in the opposite direction. An Example of our Analysis in Action We illustrate the concepts introduced in this section via the C program shown in Figure 6. we assume that we start the process of building the memory dependence graph with a map Pt ∶ V ↦ PowerSet (V ) that tells. 3. Steensgaard 1996]. According to Rule S TMEM.e. i. from sink to an address node. 3. and we will not describe them further.. whenever we store a variable v1 into the address pointed by variable v0 . then. VAL and A DDR. E ) = B dfs(sink. E ) = B [VAL ] val(v ) → val(v ′ ) ∈ E dfs(v ′ . for each variable v that might be pointed-to by v0 we add an edge from the value node of v1 to the value node of v . E ) = B find leak(C. and E contains a path B . for each variable v pointed by v0 we create an edge from the value node of v towards the value node of v0 . Traversing the Memory Dependence Graph to Find Address Leaks Figure 5 defines a system of inference rules to characterize programs with address leaks. E ) = B dfs(v. Pt ) = E dfs(sink. We say that a variable v1 points to a variable v2 if the value of v1 holds the address of v2 . Pt ) = B [S INK ] sink → val(v ) ∈ E dfs(v. plus a set of points-to facts Pt describes at least one address leak if the memory dependence graph built from C and Pt has a set of edges E . This definition also gives a declarative algorithm to find a path B in the memory dependence graph describing the address leak. v1 = *v0. This program. Recursive definition of an address leak. as one can readily infer from the Rules S INK. Rule L EAK tells us that a constraint system C .. Pereira and Berlin 2009. what is the subset of variables V ′ ⊆ V such that v points to every element v ′ ∈ V ′ . E ) = {val(v1 ) → addr(v2 )} Figure 5.e. These rules are self explanatory. in the C jargon: *v0 = v1.3. we use the dfs predicate. i. which describes a depth-first search along E . Hardekopf and Lin 2007. because it demands points-to information. To denote this last statement. Therefore. Whenever we load the value stored in the address pointed by v0 into a variable v1 . although very artificial.

which represents the sink. The problematic path is sink → val(t1 ) → val(m2 ) → val(v2 ) → addr(m3). We chose to use a particular notation to represent the nodes. val(v ) and addr(v ). according to the rules in Figure 4 from Section 3. The program in Figure 6 contains an address leak. We perform this last step using the rules in Figure 5. again. 5 *v0 = t0. created in line 2 of Figure 6. hence. 14 } 15 } // getad(v0. v0) v1) m3) v0) v2) Figure 6. e. the next step is to traverse it. 4 *t0 = 1. illustrate our analysis. 9 printf("%d\n". denoting the value node. we must build its memory dependence graph. as explained in Section 3. A C program that contains an address leak: variable t1 might contain the address of the memory region allocated at line 10. contains the name of the variable it represents. created in line 10 of our example. m1) // getad(t0. as explained in Section 3. 13 p--. reporting unsafe paths. and Figure 7(b) re-states the points-to facts that are known before we start our analysis. In order to see why this output is an address leak. 3 int* t0 = (int*)malloc(4). this path corresponds to printing the value of t1. Figure 7(a) shows. is the address of the memory location pointed by v2. as we have explained in Section 3. the constraint set C that we must process for the example in Figure 6. 12 *t2 = (int)v2. by any standard alias analysis implementation. **v0 and *t2 might represent the same value. 6 while (p > 1) { 7 int* v1 = *v0. for the sake of this example. print(t1) getad(v2. The first. which. We also assume that variables v1 and t2 point to a memory region m2. stmem(t2. Each variable v gives origin to two vertices. 8 int t1 = *v1. one for each variable defined in the target program. that variable v0 points to a memory region m1.3. depicted as a black diamond (◆). Going back to Figure 6. 10 int* v2 = (int*)malloc(4). whereas the second box – containing an @ – represents this variable’s address. plus a special node. t1).1. notice that t1. as we see in line 12 of our example. t0) // // // // // // ldmem(v1.1 int g(int p) { 2 int** v0 = (int**)malloc(8). These points-to facts are computed beforehand. Once we have converted the target program to a normal form.2. 232 . 11 int* t2 = *v0. Let’s assume. *v1. are given as comments on the right side of Figure 6. ldmem(t1. which is easy to find in the graph from Figure 7.g. Once we have built the memory dependence graph. each vertex in our graph is represented as the juxtaposition of two boxes. Our example graph contains nine such nodes. m2) // stmem(v0. Figure 7(c) shows the graph that we build for this example. The constraints that we derive from the program.2. ldmem(t2.

As a future work. v0) stmem(t2. and v3 is printed. records and arrays as single locations. we have analyzed 8. represent innocuous program patterns. even though these variables are never related in the actual program semantics. our analysis is context insensitive. such as objects. The assignment in line 7 marks the whole variable s1 as tainted. we issue a warning. 4. v0) ldmem(t1.5. Our analysis is interprocedural. or that. such as those based on probabilistic calling contexts [Bond and McKinley 2007] or shallow heap cloning [Lattner et al. First it is context insensitive. hence. In total. The operating system is Ubuntu 11. m3) ldmem(t2. even the innocuous printing statement at line 9 is flagged as a possible leak. it is field and array insensitive. (c) The memory dependence graph built from the constraints and points-to facts.(a) getad(v0. 2007].20GHz clock.04. t0) ldmem(v1. and have tested it in an Intel Core 2 Duo Processor with a 2. (b) Points-to facts. in other words. Second. v2) (b) v0 → {m1} v1 → {m2} t2 → {m2} (c) v1 @ v0 m1 @ @ t2 @ t0 m2 @ @ m3 @ v2 @ t1 @ Figure 7. m1) getad(t0. we plan to improve our framework with light-weighted context sensitive methods. Therefore. However. the program in Figure 8 does not contain an address leak. v1) print(t1) getad(v2. which means that we cannot distinguish two different calls from the same function. the function calls at lines 9 and 13 leads us to link the contents of v0 to v3.034 233 . As a future work. We have tested our algorithm on a collection of 426 programs written in C that we got from the LLVM test suite. which means that we can track the flow of information across function calls. computed beforehand via Andersen’s analysis [Andersen 1994]. Experimental Results We have implemented our algorithm on top of the LLVM compiler [Lattner and Adve 2004].427. Nevertheless. Because v0 contains a program address. and 2 GB of main memory on a 667 MHz DDR2 bus. These limitations lead us to report warnings that are false positives. Figure 9 contains an example of a bug free program that causes us to issue a warning. records and arrays are treated as a single memory unit. As an example. m2) stmem(v0. objects.’s [Pearce et al. that is. We treat programming language constructs. we intend to extend our analysis with Pearce et al. we cannot distinguish different invocations of the same procedure. Our second limitation is a lack of field sensitiveness. 2004] field sensitive constraint system. Limitations The current implementation of our analysis has two main limitations. 3. (a) The constraint system derived from the Program in Figure 6.

2 to track the flow of information through memory. We will present results for SPEC CPU 2006 only. simop(v3. print(v3) v0). v1 = addSizeInt(v0). indivisible unit. s1. assembly instructions. The second approach – MDG – uses the Memory Dependence Graph that we have described in Section 3. int* v1. m1) // // // // // // simop(n0. it only reports the propagation of information through local program variables.harmless = (int)&s1. } // simop(n1. s1. print(v5) simop(n0. Our tool can be configured to check these functions by marking (i) return statements and (ii) assignments to parameters passed as references. The lack of field sensitiveness in our analysis cause us to report a false positive for this program. int v2 = 0.dang). printf("%d\n". s1) // print(s1) Figure 9. Without loss of generality. which we call Direct. stmem(v1. Table 1 gives details about each of the 17 programs in the SPEC collection. the third method – Blob – assumes that the whole program memory is a single. we are seeking for dependence chains that cause an internal program address to be printed by a printf function. n1) v4) v1) v2). simop(v1. v5). v3 = 1. n1) Figure 8. printf("%d\n". ldmem(v5. } // getad(s1.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 int addSizeInt(int n0) { int n1 = n0 + sizeof(int). int dang. which is our largest benchmark suite. MDG and Blob. *v1 = v4. any operation that stores the value of an address into memory 234 .h header. printf("%d\n". v4 = 1. Finally. } int main() { int* v0 = (int*) malloc(2 * sizeof(int)). for these experiments we qualify as sensitive sinks the standard printf operation from the stdio. n0) // getad(v0. There exist other functions that may lead to address leaking. In other words. as sink operations. v3 = addSizeInt(v2). In this case. int main() { struct S s1. int v5 = *v1. s1. The lack of context sensitiveness in our analysis will cause us to report a false positive for this program. }. return n1. v3). The first approach does not track information through memory. 1 2 3 4 5 6 7 8 9 10 struct S { int harmless. That is.dangerous = 0. We will compare three different configurations of our address leak detector.

contain over 7. However. and omits many false positives.504 msecs.will contaminate the whole heap and stack. A manual inspection of the first warning reported by MDG for each benchmark gave us a 1/8 false positive rate. Blog took 18. from the LLVM test suite plus SPEC CPU 2006. a substantial number of warnings that it reports are actually innocuous.26 million assembly instructions! The three analyses show a linear complexity behavior in practice. Furthermore. which we are working to overcome.147 msecs to process SPEC CPU 2006.180 msecs. The false positives are caused by the limitations described in Section 3. 235 . These 38 programs.64 million assembly instructions. contains too many false positives. for each benchmark and tracking method.000 assembly instructions. on average. that is. The table reveals a wide contrast between the Direct and Blob approaches. and MDG 11. we will issue a warning. a benchmark collection that gives us over 8. on the other hand. Summary of main experimental results for SPEC CPU 2006. In the former case. the direct method misses many leaks that the other two approaches are able to point out. Precision: Table 1 shows the number of warnings that our tool has reported per program in SPEC CPU 2006. MDG is a compromise: it finds every true positive pointed by blob. Running time: The three versions of the address leak analysis are very fast. the number of printf statements that a developer would have to verify in order to find potential address leaks. The blob technique.5. showing. If any information from the tainted memory posteriorly flows into a sink. the percentage of printing statements that are flagged as potential address leaks. The direct approach took 5.7 seconds to analyze the entire LLVM test suite plus SPEC CPU 2006. Nevertheless. Benchmark Program mcf lbm libquantum astar bzip2 sjeng milc hmmer soplex namd h264ref omnetpp gobmk perlbench dealII gcc xalancbm Number of Instructions 4005 5522 11422 14228 24881 34474 35357 98150 119616 121065 176652 199934 222071 388436 934844 1155083 1428459 Number of printf’s 12 8 30 14 21 88 191 52 0 18 53 20 64 0 3 16 8 Warnings MDG Direct 0 0 0 0 5 0 8 0 5 0 0 0 16 0 0 0 0 0 0 0 1 0 5 1 2 0 0 0 0 0 0 0 1 1 Time (msec) Blob MDG Direct 36 12 8 16 12 1 168 56 16 64 64 20 220 88 28 704 52 44 1200 252 48 508 184 120 172 260 176 344 196 128 932 320 220 624 604 308 2792 696 316 576 760 500 1680 2128 1476 2628 2252 1632 5516 3568 106 Blob 8 2 28 8 21 40 86 17 0 10 19 7 19 0 0 3 7 Table 1. The charts in Figure 11 shows MDG’s processing time for programs in our benchmark collection having more than 20. The chart in Figure 10 puts this number in perspective. MDG reduces by 14x. every warning turns out to be a true positive that allows us to recover an internal program address. MDG took 19.

Sagiv et al.7 12 30 29 37 489 92 . The algorithm that we propose to detect address leaks is a type of tainted flow analysis. (" '#$" '" &#$" &" %#$" %" !#$" !" !#)*!!" '#)*!$" +#)*!$" .. 2011. X axis: number of instructions. Rimsa et al. whereas in shape analysis one such 236 =1 . None of these previous works handle indirect information flows through memory. Size Vs Time: each dot represents a benchmark program. none of them track address leaking. 5. Wassermann and Su 2007. A program address is the information that we want to track. Pistoia et al. ) . However. Similar analysis have been proposed in the literature before. Xie and Aiken 2006]. :* * 2: 95 ) ) *. 2006. Instead. A visual inspection of the chart indicates that the processing time grows linearly with the program size. these analyses uncover vulnerabilities to exploits such as SQL injection or cross site scripting attacks. 2005. like we do. We have also observed this tendency in the smaller programs. The chart on the right is a close up of the gray area on the chart in the left.$ :< 4< 21 >9 AB C" ?" " " " >" 9= " 7" $" @@" " " " " " .- D.<-"EFG" HIC"EFG" I.#)*!$" %#)*!+" &#)*!+" !#'" !#&" !#%" !#$" !" !#()!!" *#()!+" $#()!+" %#()!+" Figure 11. Furthermore.- ) ) /0 7. 1998.<) 12 *) -6 . and the program is deemed safe if this information cannot flow into an output operation. . ?" . Related Works The problem that we deal with in this paper – the leaking of an internal program address – fits in the information flow framework proposed by Denning and Denning [Denning and Denning 1977].59*3"EFG" Figure 10.#()!+" ) . Y axis: time to analyze using MDG (msec). for instance. 2002].100 (" 80 !#'" 60 !#&" 40 !#%" !#$" 20 !" 0 " &% 59 +" 14 31 5 79 5.) . Our memory dependence graph is similar to the shape graphs used in shape analysis [Sagiv et al. Percentage of printf statements flagged as potential address leaks. to detect.* ) *+ 1. if malicious data that a user feeds to some input function can flow into some sensitive program operation [Jovanovic et al.

Ferrante. pages 121–133. i. Commun. J. Ghiya and Hendren [Ghiya and Hendren 1998] have proposed an algorithm that relies on points-to information to infer disjoint data-structures. Escape analysis: Correctness proof. N. E. and Savage. Still concerning the representation of memory locations. E. (2003). (1994). Program Analysis and Specialization for the C Programming Language. and Hendren. and Sekar. (2007). pages 97–112. use their technique to track information leaks through memory location. (1998). 237 . Efficiently computing static single assignment form and the control dependence graph. L. Wegman. R.graph is built for each program point. which conservatively estimates the set of memory locations that outlive the function in which these locations have been created. K. In POPL. and McKinley.. Buchanan. because we track the flow of addresses inside or across functions. pages 105–120. In CCS. University of Copenhagen. Duvarney. We have been able to discover actual address leaks in some of these programs. Cytron. ACM.. L. (2008). J. for we can track different memory cells used inside the same data-structure. Putting pointer analysis to work. S. We have implemented our algorithms on top of LLVM. When good instructions go bad: generalizing return-oriented programming to RISC. 13(4):451–490. shape analysis gives the compiler much more precise knowledge about the memory layout of the program. causes it to be prohibitively expensive to be used in practice. both in time and space. ACM. we use only one graph for the whole program. ACM. H. pages 27–38. R. E. implementation and experimental results. pages 25–37. J. D. the region between two consecutive assembly instructions. (1991). but it would be more conservative than our current approach. TOPLAS. DIKU. (1977). P. The address leaking problem is more general.. Address obfuscation: an efficient approach to combat a broad range of memory error exploits. Currently we are working to reduce the number of false positives reported by our implementation.. R. Therefore. Probabilistic calling context.. M. References Andersen. 20:504–513. In OOPSLA. its high cost. (1998). Denning.e.3 million lines of C code. ACM. Rosen. Certification of programs for secure information flow. D. B. In USENIX Security. F. We could. 6.. We plan to do it by adding context and field sensitiveness to our tool as a future work. K. however. Bhatkar. ACM. K. M. Our problem is also related to escape analysis [Blanchet 1998]. B.. O. Blanchet. Shacham. S.. Roemer. Bond. R. and have used it to process a collection of programs with more than 1. In POPL. Conclusion This paper has presented a static analysis tool that checks if an adversary can obtain the knowledge of an internal program address. D. in principle. Ghiya. and Denning. an industrial strength compiler.. PhD thesis. This is a necessary step in order to circumvent a program protection mechanism known as address space layout randomization. and Zadeck. C.

Phrack. pages 278–289. In ECOOP.. and Eichin. Shacham. ACM. Xie. S. (2009). ACM. Q. H. M. and Boneh. T. C. Rimsa. 238 . (2005). and Adve. R. Steensgaard.. Static detection of security vulnerabilities in scripting languages. pages 552–561. Technical Report Technical White Paper. Sun Microsystems. Parametric shape analysis via 3-valued logic. M. With microscope and tweezers: the worm from MIT’s perspective. Shacham. C. (2007). (2002).-J. N. C. P. Modadugu. (2007). Rochlis. pages 124–143. G. and Wilhelm. In PLDI.. and Hankin. Sagiv. M. ACM. E. D’Amorim. (2007). LLVM: A compilation framework for lifelong program analysis & transformation. Kelly. and Adve. Making context-sensitive points-to analysis with heap cloning practical for the real world. In PLDI. E. Pistoia. pages 298–307. Network Theory Ltd. T. and Wilhelm... Points-to analysis in almost linear time. R. Reps. Pereira. ACM. F. Tainted flow analysis on e-SSA-form programs. pages 362– 386. V. B. V. (2005). Kruegel. B. Reps. and Su.. In CCS. Wassermann. pages 32–41. Wave propagation and deep propagation for pointer analysis. J. M. 20(1):1–50. Lenharth. In CGO. pages 32–41. 24:217–298. An Introduction to GCC. pages 1–59. J. and Lin. Lattner. C. Smashing the stack for fun and profit. A. In CSS. H.. In CGO. In USENIX-SS.. USENIX Association. pages 290–299. A. Evolving a language in and for the real world: C++ 1991-2006. H. J. pages 258–263. Commun.. V. Goh. 1st edition.. D. ACM. Solving shape-analysis problems in languages with destructive updating. IEEE.. J. (1996). Sagiv.. R.. A. and Sreedhar. and Berlin. M. E. (1996). F.. (2004). Koved. In POPL. pages 126–135. (1989). C. (1998). In PLDI. B. D. J. The geometry of innocent flesh on the bone: return-into-libc without function calls (on the x86). ACM..Gough. (2011). A. Page. ACM. (2004). In PASTE. Interprocedural analysis for privileged code placement and tainted variable detection. (2006). D. J. (2007).. W. C. 7(49). L. In CC. The java HotSpot virtual machine. Team. The ant and the grasshopper: fast and accurate pointer analysis for millions of lines of code. and Pereira. and Aiken. Lattner. Stroustrup. Efficient field-sensitive pointer analysis for C. TOPLAS. (2006). Q.. N. M. In Symposium on Security and Privacy. and Kirda. 32:689–698. A. pages 37–42. (2007). On the effectiveness of address-space randomization.. Flynn. IEEE. (2004). Z. M. Levy. B. Pixy: A static analysis tool for detecting web application vulnerabilities (short paper). Jovanovic. pages 75–88. Hardekopf. (2006). Pearce. B. Y.. S. Springer. IEEE. In HOPL. Pfaff. Sound and precise analysis of web applications for injection vulnerabilities.. TOPLAS. M.

Para lidar com es˜ es. a mobilidade e a escassez de recursos dos dispositivos (n´ os). Network operation services in MANETs. detectando mais de 80% da participac ¸a os de m´ a-conduta nas operac ¸o ¸a ˜ o de n´ ˜ es de replicac ˜ o. Resumo. esses sistemas s˜ ao vulner´ aveis a n´ os ego´ ıstas e maliciosos. and nodes are independent to exclude misbehaving nodes. per´ auto-organizado e distribu´ mitindo uma autonomia na exclus˜ ao de n´ os de m´ a-conduta. aldri}@inf. que podem ser obtidas pela replicac ¸a ˜o de dados atrav´ es de sistemas de qu´ oruns. que n˜ ao colaboram com suas operac ¸o ˜ es ou modificam as informac ¸o ¸ os da rede. Aldri Santos 1 N´ ucleo de Redes Sem-Fio e Redes Avanc ¸ adas (NR2) Universidade Federal do Paran´ a – Curitiba – Brasil {elisam. caracter´ ısticas peculiares das MANETs. The reliability and availability of these services can be assured by replication techniques. Resultados de simulac ¸o ˜ es mostram um aumento de at´ e 87% na confiabilidade dos sistemas de qu´ orum. detecting more than 80% of misbehaving nodes participating in replication operations. como a localizac ˜o de recursos. this paper proposes QS 2 . como as aplicac ¸o ˜ es relacionadas a ` seguranc ¸ a nas rodovias. Esses servic de disponibilidade e de confiabilidade. precisam lidar com a mobilidade e a falta de recursos dos dispositivos a fim de suportar as aplicac ¸o ¸ os necessitam de garantias ˜ es.ufpr. Ele e ´ inspirado nos mecanismos biol´ ogicos de sensoriamento em qu´ oruns e de selec ¸a ˜ o por parentesco encontrados em bact´ erias. However. Os servic ¸ os de operac ¸a ¸a ˜ o das redes em MANETs. Simulation results show that QS 2 increases 87% the reliability of a quorum system for MANETs. In order to handle these issues. such as quorum systems. Differently from existing works on the literature. It is inspired in quorum sensing and kin selection. that either intentionally do not collaborate with replication operations or spread malicious data while participating in data replication. Contudo.` m´ Um esquema bio-inspirado para a tolerˆ ancia a a-conduta em sistemas de qu´ orum para MANETs Elisa Mannes. Diferentemente dos 2 sistemas existentes na literatura. esse artigo prop˜ oe QS . QS 2 is distributed and self-organized. these systems are vulnerable to selfish and malicious nodes. podem ocasionar o particionamento da 239 . such as resource location. a operacionalizac ¸a ˜o de v´ arias aplicac ¸o ˜ es cr´ ıticas.br Abstract. a bio-inspired scheme to tolerate selfish and malicious nodes in replication operation of quorum systems. o QS e ıdo. um esquema bio-inspirado para a tolerˆ ancia de n´ os de m´ a-conduta em sistemas de qu´ orum. Michele Nogueira. michele. negando os servic 2 sas vulnerabilidades. Por´ em. ˜o 1. Introduc ¸a Devido aos recentes avanc ¸ os das tecnologias de comunicac ¸a ˜ o sem fio. deal with node mobility and lack of resources to support applications. both biological mechanisms resident in bacteria. a ` seguranc ¸ a militar e ao apoio a situac ¸o ˜ es de emergˆ encia podem ser mediadas pelas redes ad hoc m´ ovel (MANETs).

um esquema inspirado nos mecanismos biol´ ogicos encontrados em bact´ erias. e assim. tais sistemas assumem a existˆ encia de uma infraestrutura fixa e canais de comunicac ¸a ˜ o confi´ aveis. pois diminuem o uso de recursos e tornam a replicac ¸a ˜ o mais dinˆ amica [Luo et al. a maioria deles divulga a recomendac ¸a ˜ o sobre um n´ o para todos na rede. est˜ ao a economia de recursos computacionais e de comunicac ¸a ˜ o. atributos que n˜ ao s˜ ao encontrados em uma MANET e que tornam invi´ avel o uso de tais sistemas nesse tipo de rede. os sistemas de qu´ orum probabil´ ısticos propostos para MANETs apresentam vulnerabilidades que resultam em uma perda na confiabilidade dos dados diante de n´ os ego´ ıstas e n´ os maliciosos nas operac ¸o ˜ es de replicac ¸a ˜ o [Mannes et al. 2002. e as consequˆ encias da falta de informac ¸a ˜ o ou de informac ¸o ˜ es desatualizadas podem inutilizar a rede. gerando uma sobrecarga de mensagens. Os resultados de simulac ¸a ˜ o mostram que 2 o QS garante pelo menos 80% de confiabilidade dos dados em um sistema de qu´ orum probabil´ ıstico para MANETs diante de n´ os maliciosos em operac ¸o ˜ es de escrita. Zhu et al. Al´ em disso. 2003]. Diferente de outras propostas encontradas na literatura.rede. os sistemas de qu´ orum precisam evitar que os n´ os de m´ a-conduta interfiram em seu funcionamento. preferencialmente de forma descentralizada e com o uso de poucos recursos. e detecta 240 . Os n´ os ego´ ıstas buscam a economia de seus recursos e assim n˜ ao colaboram com as operac ¸o ˜ es. Apesar de existirem sistemas de qu´ orum tolerantes a n´ os de m´ a-conduta [Malkhi and Reiter 1997]. e ´ necess´ ario proporcionar a tolerˆ ancia a n´ os de m´ a-conduta nos sistemas de qu´ orum. para a tolerˆ ancia de n´ os de m´ a-conduta nas operac ¸o ˜ es de sistemas de qu´ orum em MANETs. Para serem empregados de forma confi´ avel no apoio aos servic ¸ os de operac ¸a ˜ o de rede. Dentre as t´ ecnicas de replicac ¸a ˜ o para garantir a disponibilidade dos dados e a tolerˆ ancia a falhas em MANETs destacam-se os sistemas de qu´ orum. Entre as vantagens de seu uso. Este trabalho prop˜ oe o QS 2 (quorum systems + quorum sensing). Dessa forma. a confiabilidade da rede e ´ comprometida. Uma forma de auxiliar os sistemas de qu´ orum a evitar a interac ¸a ˜ o com os n´ os de m´ a-conduta e ´ por meio do uso de sistemas de detecc ¸a ˜ o de n´ os de m´ a-conduta [Yang et al. Os sistemas de qu´ orum consistem em conjuntos de n´ os que se intersectam. 2007]. Os sistemas de qu´ orum que se baseiam na construc ¸a ˜ o probabil´ ıstica da intersecc ¸a ˜ o dos qu´ oruns s˜ ao os mais adequados a ` s MANETs. Uma das formas de tolerar as falhas causadas pelas caracter´ ısticas da rede e ´ por meio da redundˆ ancia das informac ¸o ˜ es. a dependˆ encia na colaborac ¸a ˜ o dos n´ os pode tornar as aplicac ¸o ˜ es indispon´ ıveis ou resultar em informac ¸o ˜ es desatualizadas [Zhang et al. Essas caracter´ ısticas s˜ ao naturalmente encontradas em diversos sistemas biol´ ogicos. garantindo tanto a consistˆ encia quanto a disponibilidade dos dados. projetar soluc ¸o ˜ es inspiradas neles facilita a inclus˜ ao de caracter´ ısticas como a descentralizac ¸a ˜ o e a autonomia necess´ arias em MANETs. e de forma auto-organizada evita que eles fac ¸ am parte da replicac ¸a ˜ o dos dados. Por´ em. e cada operac ¸a ˜ o de leitura e de escrita acontece em apenas um dos conjuntos (qu´ oruns) [Malkhi and Reiter 1997]. ou utiliza entidades centralizadas. que n˜ ao s˜ ao adequadas para as MANETs. Contudo. o que torna esses sistemas atraentes a ` s MANETs. injetando dados falsos ou modificando o comportamento da replicac ¸a ˜ o. Desta maneira. 2008]. obtida atrav´ es das t´ ecnicas de replicac ¸a ˜ o dos dados [Derhab and Badache 2009]. 2009]. comparado com outros modelos de replicac ¸a ˜ o. Estes sistemas s˜ ao uma forma efetiva de replicac ¸a ˜ o. o QS 2 detecta n´ os ego´ ıstas e n´ os maliciosos por meio da an´ alise autˆ onoma do comportamento de cada n´ o. enquanto que os n´ os maliciosos tˆ em como objetivo a negac ¸a ˜ o do servic ¸ o da rede.

Esses sistemas requerem que a quantidade de n´ os bons sobreponha a quantidade de n´ os de m´ a conduta a fim de evitar que eles prejudiquem a replicac ¸a ˜ o. seus m´ odulos e suas func ¸o ˜ es. apesar de existirem sistemas de qu´ orum probabil´ ıstico tolerantes aos n´ os de m´ a-conduta [Malkhi et al. Estes sistemas tendem a diminuir a quantidade de recursos de processamento e de comunicac ¸a ˜ o usados na replicac ¸a ˜ o [Malkhi and Reiter 1997]. Abordagens para a detecc ¸a ˜ o de injec ¸a ˜ o de dados falsos [Zhu et al. A Sec ¸a ˜ o 2 apresenta os trabalhos relacionados. como os sistemas de reputac ¸a ˜ o [Salmon et al. esses sistemas trocam v´ arias mensagens entre os n´ os para a conclus˜ ao de uma operac ¸a ˜ o. Devido a ` s suas caracter´ ısticas. Por estas raz˜ oes.mais de 80% da ac ¸a ˜ o desses n´ os com uma taxa de falsos positivos inferior a 2%. 2. o que pode ser aceit´ avel para alguns tipos de rede. as MANETS 241 . em que t e ´ a quantidade de n´ os de m´ a-conduta presente na rede [Malkhi and Reiter 1997]. 2010] Contudo. Al´ em disso. obtidos por meio de simulac ¸a ˜ o. esses sistemas possuem os mesmos requisitos que os sistemas cl´ assicos. Por´ em. A confi2 abilidade garantida pelo QS e ´ aceit´ avel para a replicac ¸a ˜ o de dados em aplicac ¸o ˜ es cujo o requisito por disponibilidade sobrep˜ oe o custo de lidar com eventuais inconsistˆ encias. 2007] est˜ ao consolidadas na replicac ¸a ˜ o de dados em redes de sensores sem fio. A Sec ¸a ˜ o 5 apresenta os resultados do desempenho e da eficiˆ encia do QS 2 . visto que estas redes n˜ ao conseguem garantir os requisitos b´ asicos para o funcionamento correto da tolerˆ ancia a falhas necess´ arios a esse tipo de replicac ¸a ˜ o. mas trazem limitac ¸o ˜ es para redes descentralizadas como as MANETs. como a garantia de entrega das mensagens. Trabalhos Relacionados Os sistemas cl´ assicos de replicac ¸a ˜ o de dados [Saito and Shapiro 2005] tˆ em como caracter´ ıstica comum o uso de servidores est´ aticos. Os sistemas de replicac ¸a ˜ o para MANETs [Bellavista et al. 2003]. o que pode ser explorado por n´ os de m´ a-conduta atrav´ es do envio de informac ¸o ˜ es falsas. nenhuma soluc ¸a ˜o e ´ capaz de mitigar n´ os ego´ ıstas e maliciosos isoladamente. A Sec ¸a ˜ o 6 conclui o artigo e apresenta os trabalhos futuros. Entretanto. A tolerˆ ancia de n´ os de m´ a-conduta nesses sistemas e ´ garantida pela validac ¸a ˜ o das operac ¸o ˜ es por pelo menos t + 1 n´ os. A Sec ¸a ˜ o 3 define o modelo do sistema e as asserc ¸o ˜ es consi2 deradas no esquema proposto. esses sistemas cl´ assicos n˜ ao s˜ ao aplic´ aveis em MANETs. A validac ¸a ˜ o dos dados geralmente ocorre por meio de criptografia. o que gera uma sobrecarga na rede. muitos desses sistemas dependem da confianc ¸ a entre os n´ os para a troca de mensagens de detecc ¸a ˜ o. descentralizac ¸a ˜ o e uso de poucos recursos. esses sistemas utilizam entidades centrais. O restante do artigo est´ a organizado como descrito a seguir. devido ao foco que essas redes mant´ em na coleta de dados. Al´ em disso. 1998]. A replicac ¸a ˜ o por sistemas de qu´ orum e ´ a mais adequada para ambientes dinˆ amicos como as MANETs. A Sec ¸a ˜ o 4 descreve o esquema QS . Apesar dos sistemas de detecc ¸a ˜ o de n´ os de m´ a-conduta apresentarem separadamente caracter´ ısticas de autonomia. 2005] geralmente tratam da seguranc ¸ a com o aux´ ılio de mecanismos de detecc ¸a ˜ o de m´ a-conduta. da verificac ¸a ˜o dos dados por uma determinada quantidade de n´ os ou ainda pelo uso de firewalls. Os sistemas de qu´ orum espec´ ıficos para as MANETs diminuem ainda mais o uso de recursos atrav´ es da escolha probabil´ ıstica dos qu´ oruns [Luo et al. a garantia de entrega e a ordenac ¸a ˜ o das mensagens de replicac ¸a ˜ o. nenhum deles as compreende na mesma soluc ¸a ˜ o. sendo que as caracter´ ısticas das MANETs tornam esse modo de tolerˆ ancia a falhas invi´ avel para o uso na replicac ¸a ˜ o de servic ¸ os.

Essas caracter´ ısticas s˜ ao encontradas em v´ arias soluc ¸o ˜ es bio-inspiradas. o tempo de transmiss˜ ao e ´ vari´ avel e desconhecido. Modelo do sistema Esta sec ¸a ˜ o descreve as suposic ¸o ˜ es e os modelos assumidos para a definic ¸a ˜ o do esquema proposto.. Eles se comunicam atrav´ es de um canal sem fio. ambos selecionados aleatoriamente. 2010]. Assim. Modelo de rede Assume-se que a rede e ´ formada por um conjunto P composto por n n´ os identificados por {s0 . compartilham as mesmas caracter´ ısticas. Sistema de qu´ orum probabil´ ıstico para MANETs O sistema de qu´ orum probabil´ ıstico e ´ caracterizado pela escolha probabil´ ıstica dos qu´ oruns. O canal de comunicac ¸a ˜ o n˜ ao e ´ confi´ avel. Por fim.1. Sup˜ oe-se que o roteamento e as camadas inferiores n˜ ao sofram interferˆ encias de n´ os de m´ a-conduta. Tamb´ em s˜ ao definidos o modelo de rede empregado e o modelo de m´ a-conduta que pode afetar esses sistemas. em que um n´ o envia as escritas para o qu´ orum de escrita com a ajuda dos outros n´ os. as mensagens precisam ser roteadas por n´ os intermedi´ arios at´ e o destino. Os n´ os n˜ ao possuem conex˜ ao com todos os outros. de forma a aproveitar as vantagens oferecidas por esses sistemas. e portanto. e est´ a sujeito a ` perda de pacotes devido a colis˜ oes ou a ` entrada e sa´ ıda de n´ os. o esquema proposto e ´ inspirado nos sistemas biol´ ogicos. o PAN (probabilistic quorum system for ad hoc networks) [Luo et al. pois prop˜ oe o uso de um n´ umero reduzido de mensagens para a replicac ¸a ˜ o ao introduzir o conceito de qu´ oruns assim´ etricos. e deste modo.necessitam que atributos como a auto-organizac ¸a ˜ o. enquanto que os qu´ oruns de escrita s˜ ao acessados por meio do protocolo Gossip. sn }. assume-se que a rede fornece um esquema de assinatura para a autenticac ¸a ˜ o de informac ¸o ˜ es importantes enviadas pelo QS 2 . assume-se que as mensagens contendo os dados replicados s˜ ao relativamente pequenas e enviadas em pacotes u ´ nicos. que tamb´ em pode causar a partic ¸a ˜ o da rede. que s˜ ao utilizados como inspirac ¸a ˜ o para o esquema. o acesso ao qu´ orum de leitura e ´ realizado por mensagens unicast. s˜ ao descritos os conceitos de sensoriamento em qu´ orum e selec ¸a ˜ o por parentesco. Tulone 2007. sendo que cada n´ o sn ∈ P tem um enderec ¸ o f´ ısico e um identificador u ´ nico. 3. cujo raio de transmiss˜ ao e ´ igual para todos. Nesse caso. isto e ´.. al´ em de acessar os qu´ oruns de leitura e de escrita de forma distinta. a autonomia e o uso de poucos recursos estejam incorporados nessas soluc ¸o ˜ es. que s˜ ao conjuntos de n´ os que realizam a replicac ¸a ˜ o. Os n´ os s˜ ao similares quanto ao poder de processamento e a quantidade de energia dispon´ ıvel. s1 . 3. Al´ em disso. enderec ¸ ada para cada n´ o do qu´ orum de leitura. Considera-se que a comunicac ¸a ˜ o entre os n´ os e ´ ass´ ıncrona. o sistema garante que qu´ oruns de leitura e de escrita. 242 . os sistemas de qu´ orum para MANETs [Luo et al. Da mesma forma. 2003] foi escolhido neste estudo para representar os sistemas de qu´ orum probabil´ ısticos para MANETs. Gramoli and Raynal 2007] tˆ em seu fundamento nos qu´ oruns probabil´ ısticos. Apesar de existirem v´ arios sistemas de qu´ orum para as MANETs. se intersectem com uma dada probabilidade. Primeiramente s˜ ao apresentados os sistemas de qu´ orum probabil´ ısticos para MANETs. como protocolos de roteamento inspirados em colˆ onias de formigas. sn−1 . ou sistemas de detecc ¸a ˜ o de ataques inspirados no sistema imunol´ ogico humano [Meisel et al. 2003. No PAN. Em geral. 3.2.

Al´ em disso. as bact´ erias ego´ ıstas e maliciosas s˜ ao exclu´ ıdas do processo de sensoriamento. Esses n´ os de m´ a-conduta s˜ ao intrusos e conhecem o funcionamento da rede. e tem maiores chances de se comportar corretamente. tendo permiss˜ ao e acesso a ` chaves criptogr´ aficas para participar das operac ¸o ˜ es. que n˜ ao desejam ter o custo metab´ olico da produc ¸a ˜ o de autoindutores. Uma das teorias aceitas para a sobrevivˆ encia do sensoriamento em qu´ orum ao ataque de tais bact´ erias e ´ pela selec ¸a ˜o por parentesco. 2 Diferente dos sistemas de detecc ¸a ˜ o propostos. utilizado para a replicac ¸a ˜ o dos dados dos servic ¸ os de operac ¸a ˜ o de rede. Assume-se dois tipos de n´ os de m´ a-conduta: os n´ os ego´ ıstas e os n´ os maliciosos.4. 3. Um n´ o pode ser ego´ ısta ou malicioso. Modelo de m´ a-conduta Considera-se que os n´ os de m´ a-conduta tˆ em como objetivo afetar as propriedades de disponibilidade e de integridade dos dados em um sistema de replicac ¸a ˜ o por qu´ oruns. Por´ em. QS 2 . e permite que elas desenvolvam um comportamento vantajoso para o grupo. O m´ odulo de selec ¸a os e ´ respons´ avel pela classificac ¸a ˜ o dos n´ os como bons ˜ o de n´ ou de m´ a-conduta. Sensoriamento em qu´ orum e selec ¸a Na Biologia. Os autoindutores agem como um sinalizador da quantidade de bact´ erias presentes no ambiente. os n´ os ego´ ıstas e maliciosos agem sempre que forem consultados por algum outro n´ o do sistema. Assume-se que um n´ o de m´ a-conduta se comporta de modo ego´ ısta ou malicioso durante toda a sua participac ¸a ˜o na rede. ou apresentar ambos os comportamentos ao mesmo tempo. dependente da quantidade de bact´ erias no ambiente [Ng and Bassler 2009]. ou ainda atrasa a propagac ¸a ˜ o dos dados. conforme ilustra a Figura 1. o sensoriamento em qu´ orum e a selec ¸a ˜ o por parentesco formam uma soluc ¸a ˜ o dinˆ amica e independente. Em conjunto. tais como informac ¸o ˜ es de localizac ¸a ˜ o e de mobilidade. e s˜ ao a base para o esquema proposto. e n˜ ao troca informac ¸o ˜ es de reputac ¸a ˜ o entre os n´ os. tanto nas operac ¸o ˜ es de leitura como de escrita.O esquema proposto e ´ aplicado em sistemas de qu´ orum do tipo probabil´ ıstico para MANETs. o sensoriamento em qu´ orum e ´ um mecanismo biol´ ogico de comunicac ¸a ˜o entre bact´ erias fundamentado na produc ¸a ˜ o e na detecc ¸a ˜ o de produtos qu´ ımicos extracelulares chamados de autoindutores. e n˜ ao depende de informac ¸o ˜ es adquiridas de outros n´ os. 4. O esquema e ´ composto por dois m´ odulos: o m´ odulo de selec ¸a ˜ o de n´ os e o m´ odulo de decis˜ ao. ˜ o por parentesco 3. Esse m´ odulo e ´ subdividido em dois componentes: a contagem de 243 . permitindo que as bact´ erias deem preferˆ encia a interagir com aquelas que compartilham o mesmo material gen´ etico.3. Um n´ o malicioso modifica ou injeta dados maliciosos no sistema de replicac ¸a ˜ o. A selec ¸a ˜ o de n´ os participantes tem como base a observac ¸a ˜ o individual da quantidade de operac ¸o ˜ es de escritas de dados e de encaminhamentos de escritas realizadas. Dessa forma. o QS e ´ autˆ onomo e auto-organizado. ou prejudicam o sensoriamento enviando autoindutores modificados.esquema bio-inspirado para tolerˆ ancia a n´ os de m´ a-conduta O esquema QS 2 (quorum system + quorum sensing) tem como objetivo auxiliar os sistemas de qu´ orum para MANETs a excluir os n´ os de m´ a-conduta das operac ¸o ˜ es de replicac ¸a ˜ o. todas as vezes em que for consultado. Um n´ o ego´ ısta n˜ ao colabora com as operac ¸o ˜ es de replicac ¸a ˜ o. construindo qu´ oruns com participantes que n˜ ao prejudiquem as operac ¸o ˜ es. esse mecanismo e ´ vulner´ avel a bact´ erias ego´ ıstas e maliciosas.

O m´ odulo de decis˜ ao de cooperac ¸a oruns determina a relac ¸a ˜ o de ˜ o em qu´ cooperac ¸a ˜ o entre dois n´ os. Ao encaminhar o dado.D . da determinac ¸a ˜ o do gene do n´ o e da decis˜ ao de cooperac ¸a ˜ o do esquema QS 2 . ego´ ıstas (C) ou maliciosos (M ). 4. que possui um contador de autoindutores para cada n´ o na rede.E . que podem classificar um n´ o como de m´ a-conduta e mesmo assim decidir interagir com ele. Os autoindutores para o QS 2 s˜ ao as escritas (AI-W ) e os encaminhamentos de dados realizados (AI-F ) por cada n´ o na rede. o n´ o H inicia a escrita de um dado na rede. n´ os cujo comportamento e ´ colaborativo. e dessa forma. Essa rota e ´ assinada por cada n´ o que a comp˜ oe. As subsec ¸o ˜ es seguintes detalham as etapas de contagem de autoindutores. os n´ os s˜ ao escolhidos de acordo com a semelhanc ¸ a de parentesco com o n´ o seletor. enviando junto o seu identificador para dois n´ os. de modo que n˜ ao seja poss´ ıvel forjar a rota ou induzir que n´ os bons sejam exclu´ ıdos por outros ao retirar suas participac ¸o ˜ es na rota. A determinac ¸a ˜ o dos genes classifica os n´ os em um dos trˆ es estados: bons.Figura 1. os m´ odulos de selec ¸a ˜ o e de decis˜ ao de cooperac ¸a ˜ o determinam quais n´ os s˜ ao bons.1. O n´ o A incrementa a quantidade de AI-W para o n´ o H. 244 . Depois de classificados. Arquitetura do esquema QS 2 autoindutores e a determinac ¸a ˜ o dos genes do n´ o. D e C. os n´ os incluem o seu identificador na rota. A contagem de autoindutores quantifica os autoindutores enviados por cada n´ o da rede. isto e ´ . Esse m´ odulo permite uma flexibilizac ¸a ˜ o na interac ¸a ˜ o entre os n´ os. e ´ poss´ ıvel incrementar o contador de AI-F para cada n´ o presente na rota de disseminac ¸a ˜o e o contador de AI-W para o n´ o de origem da escrita.C. que encaminharam esse dado at´ e ele. Essa contabilizac ¸a ˜ o acontece no momento em que o n´ o recebe uma requisic ¸a ˜ o de escrita de um dado. Os n´ os enviam junto com o dado a rota por onde o dado trafegou. Isso depende da contagem de autoindutores de cada n´ o e dos limites dos autoindutores que caracterizam um bom comportamento. a origem do dado. para que essa colaborac ¸a ˜ o seja contabilizada pelos pr´ oximos n´ os. e a quantidade de AI-F para os n´ os E. Em conjunto. A tabela exemplifica a contagem de autoindutores AI-W e AI-F pelo n´ o A. A Figura 2 ilustra a contagem dos autoindutores no QS 2 . Nela. Contagem de autoindutores A contagem dos autoindutores AI-W e AI-F e ´ realizada individualmente por cada n´ o presente no sistema. Tais n´ os s˜ ao posteriormente escolhidos para a participac ¸a ˜ o em qu´ oruns de escrita e de leitura. que recebe essa escrita a partir da rota H .

conforme demonstra a tabela do n´ o. o esquema QS pode considerar outras func ¸o ˜ es de distribuic ¸a ˜ o. kenv λkenvmax × e−λ kenvmax ! kenc δ (1) λkencmin × e−λ kencmin ! γ (2) A Figura 3 ilustra a determinac ¸a ˜ o dos genes dos n´ os de acordo com a contagem de autoindutores pelo n´ o A. Contagem de autoindutores no QS 2 ˜ o dos genes dos n´ 4. e de encaminhamento. Os n´ os contabilizam os autoindutores a medida que ocorrem as operac ¸o ˜ es de escrita. considerados normais para os n´ os. Al´ em disso. determina-se os limites de envio para os autoindutores AI-W e AI-F. Determinac ¸a os Na identificac ¸a ˜ o dos genes dos n´ os. L e M como ego´ ıstas (C) por estarem abaixo do esperado. devido a ` adequac ¸a ˜ o dessa distribuic ¸a ˜ o ao comportamento desses servic ¸ os 2 [Luo et al. assume-se que a taxa de envio de escritas e ´ definida por uma distribuic ¸a ˜o de Poisson. 2003]. o n´ o B tamb´ em e ´ classificado como um n´ o malicioso (M ). Para isso. e n˜ ao respeitam as taxas kenvmax e kencmin definidas pelo esquema. em que δ representa a probabilidade do envio de escritas ser menor do que o kenvmax estimado. portanto. A taxa m´ axima de envio de escritas kenvmax para um n´ o bom e ´ calculada pela Equac ¸a ˜ o 1. conforme mostra a tabela.Figura 2. A quantidade m´ ınima de encaminhamentos para um n´ oe ´ calculada pela Equac ¸a ˜ o 2. Os n´ os ego´ ıstas e maliciosos possuem taxas kenv e kenc arbitr´ arias. Com esse cen´ ario. Essa taxa pode ser estimada de acordo com o comportamento de escritas dos dados replicados. Qualquer n´ o que esteja al´ em desses limites e ´ identificado como um n´ o de m´ a-conduta. o n´ oA classifica os n´ os B. o esquema QS 2 verifica a contagem de autoindutores enviada pelos n´ os e a compara com uma quantia identificada como aceit´ avel para a rede. Dessa forma. kencmin . denominada kenc . G. em que γ representa a probabilidade dos n´ os encaminharem menos de kencmin .2. calcula-se os limites de envio de escrita. estima-se a taxa esperada de escritas enviadas por um n´ o. denominada kenv . Um n´ oe ´ malicioso se ultrapassar o limite m´ aximo permitido de escritas durante um determinado per´ ıodo de tempo. Contudo. kenvmax . pois enviou mais escritas do que o esperado nesse per´ ıodo de tempo. considerando a m´ edia λ de escritas enviadas por cada n´ o. e a taxa de encaminhamentos de escritas. o 245 . e e ´ ego´ ısta se n˜ ao atingir e sustentar um limite m´ ınimo de escritas encaminhadas. Ambas as taxas s˜ ao calculadas em func ¸a ˜ o de um determinado per´ ıodo de tempo. I. A partir dessas taxas. Este trabalho foca na distribuic ¸a ˜ o de dados de servic ¸ os de operac ¸a ˜ o de rede e. Supondo que os limites max min kenv = 5 escritas por segundo e kenc = 2 encaminhamentos por segundo.

enquanto que o n´ o J escolhe os n´ os H e K para realizar uma operac ¸a ˜ o de escrita. F e G para realizar uma operac ¸a ˜ o de leitura. porque o n´ o D pode completar a requisic ¸a ˜ o de leitura corretamente mesmo que o n´ o G omita ou modifique essa requisic ¸a ˜ o. J´ a o n´ o J escolhe somente n´ os bons para as escritas. Decis˜ ao de cooperac ¸a O m´ odulo de decis˜ ao de cooperac ¸a ˜ o seleciona os n´ os que podem participar das operac ¸o ˜ es do sistema de qu´ orum. Determinac ¸ ao ˜o 4. isso n˜ ao e ´ poss´ ıvel em uma operac ¸a ˜ o de escrita. O n´ o D escolhe os n´ os E. pode admitir a escolha de um n´ o ego´ ısta para compor o qu´ orum de leitura. Isso porque a leitura conta com mais n´ os em um qu´ orum e a m´ aconduta ego´ ısta de um componente n˜ ao prejudica de forma acentuada o andamento da operac ¸a ˜ o. ˜ de cooperac ˜ no QS 2 Figura 4. Decisao ¸ ao ˜ o do esquema QS 2 5. A operac ¸a ˜ o de leitura. Avaliac ¸a O esquema QS 2 foi implementado no simulador de redes NS vers˜ ao 2. ˜ dos genes no QS 2 Figura 3.33 e adicionado ao c´ odigo de um sistema de qu´ orum probabil´ ıstico para MANETs. pois a escrita n˜ ao suporta a interac ¸a ˜ o de nenhum tipo de n´ o de m´ a-conduta. pois s˜ ao considerados bons. sendo chamado 246 . Essa decis˜ ao tem como base os genes identificados pela etapa de determinac ¸a ˜ o dos genes do n´ o e pelo tipo de operac ¸a ˜ o que o n´ o deseja realizar. A Figura 4 ilustra a execuc ¸a ˜ o da decis˜ ao de cooperac ¸a ˜ o em operac ¸o ˜ es de escrita e de leitura. Por´ em. o PAN. em que um n´ o ego´ ısta compromete por completo a propagac ¸a ˜ o de um dado.n´ o A seleciona os n´ os D e C para participar da replicac ¸a ˜ o. o n´ o D escolhe o n´ o G.3. apesar de ser identificado como ego´ ısta. Supondo que a tabela apresentada e ´ a mesma para o n´ o D e J. devido a ` s caracter´ ısticas dos sistemas de qu´ oruns. por exemplo.

15 encaminhamentos por segundo. Desta forma. 2009]. na forma de ataques de falta de cooperac ¸a ˜ o. os n´ os ego´ ıstas n˜ ao colaboram com as operac ¸o ˜ es de replicac ¸a ˜ o.de P AN + QS 2 . A quantidade de n´ os de m´ a-conduta (f ) e ´ igual a 20%. 40s e 80s. A primeira delas. 7 e 9 n´ os. seguindo o modelo de propagac ¸a ˜ o TwoRayGround e movimentam-se de acordo com o modelo de movimentac ¸a ˜ o Random Waypoint. a quantidade m´ axima de escritas permitidas para cada n´ oe ´ de kenvmax = 0. 5m/s. o grau de confiabilidade (Gc ). 28% e 36%. que corresponde a 5. O ambiente de rede simulado e ´ composto por 50 n´ os. 10m/s e 20m/s. temporizac ¸a ˜ o e injec ¸a ˜ o de dados. ˜o 5. em uma a ´ rea de 1000m x 1000m. Ela e ´ calculada de acordo com a Equac ¸a ˜ o 4. O Gc e ´ definido conforme a Equac ¸a ˜ o 3 em que Cr representa as leituras que obtiveram resultados corretos e R a quantidade total de requisic ¸o ˜ es de leituras emitidas pelos clientes. com um tempo de pausa de 10s. No ataque de temporizac ¸a ˜ o. M´ etricas de avaliac ¸a Foram empregadas quatro m´ etricas para a avaliac ¸a ˜ o do QS 2 diante de n´ os de m´ a-conduta. com um intervalo de confianc ¸ a de 95%. O qu´ orum de leitura (Qr ) e ´ composto por quatro servidores e o qu´ orum de escrita (Qw ) e ´ formado por todos os n´ os que recebem a escrita de um dado. Todos os n´ os que eventualmente apresentem taxas que n˜ ao correspondem ao especificado s˜ ao considerados n´ os de m´ a-conduta. Nos ataques de falta de cooperac ¸a ˜ o. S˜ ao consideradas corretas as leituras que obt´ em um resultado correspondente a uma escrita previamente realizada no sistema ou a uma escrita ainda em progresso no momento da leitura.1. em que A representa o conjunto de todas as interac ¸o ˜ es de n´ os 247 . a Taxa de detecc ¸a os de m´ a-conduta ˜ o (T xdet ) representa a quantidade de vezes em que os n´ foram detectados em raz˜ ao da quantidade de consultas a eles. O protocolo de roteamento empregado e ´ o AODV. A T xdet e ´ contabilizada para os ataques de falta de cooperac ¸a ˜ o e injec ¸a ˜ o de dados nas escritas. 20s. e representa a quantidade de leituras corretas obtidas pelos n´ os. e nos ataques de injec ¸a ˜ o de dados eles injetam dados falsos no sistema. com λ = 100 para as escritas e λ = 36 para as leituras. Os n´ os ego´ ıstas e maliciosos agem sempre que s˜ ao consultados por outros n´ os. o intervalo de envio de escritas e leituras de cada n´ oe ´ modelado seguindo a distribuic ¸a ˜ o de Poisson. Nas simulac ¸o ˜ es. As escrita s˜ ao disseminadas a cada T = 200ms. Deste modo. quantifica o desempenho do QS 2 . J´ a a quantidade m´ ınima kencmin de encaminhamento esperado para cada n´ oe ´ kencmin = 0. Gc = Cr |R| (3) As pr´ oximas m´ etricas buscam aferir a eficiˆ encia de detecc ¸a ˜ o do QS 2 . avaliado em [Mannes et al. o raio de alcance dos n´ os e ´ de 250m e a velocidade m´ axima dos n´ os varia de 2m/s. e dessa forma sua interac ¸a ˜ o com o sistema e a quantidade de pacotes descartados ou injetados e ´ probabil´ ıstica. e cada n´ o dissemina os dados para dois servidores. 018 escritas por segundo. sendo que metade deles replica os dados entre si e s˜ ao escolhidos aleatoriamente no in´ ıcio da simulac ¸a ˜ o. os n´ os maliciosos atrasam a propagac ¸a ˜ o da escrita. Os resultados apresentados s˜ ao as m´ edias de 35 simulac ¸o ˜ es de 1500s cada uma. Os n´ os se comunicam por um canal sem fio. Os resultados obtidos pelo P AN + QS 2 s˜ ao comparados com os resultados do PAN diante desses mesmos ataques. O esquema foi avaliado considerando a interferˆ encia de n´ os de m´ aconduta nas operac ¸o ˜ es de leitura e de escrita.

em que d e ´ o resultado da detecc ¸a ˜o 2 realizada pelo QS e a e ´ a verdadeira condic ¸a ˜ o do n´ o i. J´ a o ataque de temporizac ¸a ˜ o n˜ ao apresenta um grande impacto no PAN. dado na forma de A(d. A variac ¸a ˜ o entre o Gc obtido com n´ os a 2m/s e com 20m/s e ´ menor que 2%. De fato. Essa caracter´ ıstica e ´ importante. 248 . do que sem a soluc ¸a ˜ o. E a velocidade e a quantidade de n´ os de m´ a-conduta na rede tˆ em uma influˆ encia menor no P AN + QS 2 . A T xf p e ´ calculada de acordo com a Equac ¸a ˜ o 6.2. T xdet = Di ∀i ∈ A onde Di = |A| 1 0 se se di = ai di = ai (4) A taxa de falsos negativos (T xf n ) apresenta a quantidade de vezes em que n´ os ego´ ıstas ou maliciosos foram identificados como n´ os bons em raz˜ ao da quantidade de interac ¸a ˜ o dos n´ os de m´ a-conduta. T xf n = Di ∀i ∈ A onde Di = |A| 1 se 0 se di = ai di = ai (5) A taxa de falsos positivos (T xf p ) representa a quantidade de vezes que os n´ os consideraram um n´ o como malicioso ou ego´ ısta em raz˜ ao da quantidade de interac ¸a ˜o dos n´ os bons no sistema. em que A e ´ o conjunto de todas as interac ¸o ˜ es de n´ os de m´ a-conduta no sistema e os respectivos resultados obtidos pelo QS 2 . em que d e ´ o resultado da detecc ¸a ˜ o do QS 2 e a e ´ a verdadeira condic ¸a ˜ o do n´ o i. onde d representa o valor da detecc ¸a ˜ o realizada pelo QS 2 e a e ´ a condic ¸a ˜ o real do n´ o. o uso do esquema QS representa um aumento de at´ e 14% em relac ¸a ˜ o ao Gc obtido pelo PAN sem o QS 2 . onde a = 1 representa um n´ o de m´ a-conduta e a = 0 representa um n´ o bom. mesmo considerando a ac ¸a ˜ o ego´ ısta de 36% dos n´ os. a). sendo que a confiabilidade dos dados em cen´ arios com ataques nas escritas e ´ acima de 95% e para ataques nas leituras e ´ acima ´ interessante observar que de 98%. apresentada na Figura 5(a). Essa m´ etrica e ´ calculada pela Equac ¸a ˜ o 5. Por´ em. em que B representa o conjunto de interac ¸o ˜ es de n´ os bons no sistema. na forma de B = (d. que s˜ ao considerados ego´ ıstas como consequˆ encia do seu comportamento na rede. Isso tamb´ em e ´ influenciado pelo fato de que o QS 2 n˜ ao identifica especificamente os n´ os que atrasam a propagac ¸a ˜ o. e por isso.de m´ a-conduta e os respectivos resultados obtidos pelo QS 2 . e contabilizem as escritas e os encaminhamentos de diferentes n´ os. mostrada na Figura 6(a). o QS n˜ ao apresenta um aumento significativo nos resultados. 5. a mobilidade garante que os n´ os recebam dados por rotas diferentes. a classificac ¸a ˜ o deles como n´ os ego´ ıstas e ´ demorada. a). 2 Nos ataques de falta de cooperac ¸a ˜ o. temporizac ¸a ˜ o e injec ¸a ˜ o de dados. Desempenho As Figuras 5 e 6 comparam os resultados para a m´ etrica Gc obtidos pelo PAN e pelo 2 P AN + QS diante dos ataques de falta de cooperac ¸a ˜ o. T xf p = Di ∀i ∈ B |B | onde Di = 1 se 0 se di = ai di = ai (6) As subsec ¸o ˜ es seguintes apresentam os resultados da avaliac ¸a ˜ o de desempenho e de eficiˆ encia do QS 2 obtidas atrav´ es de simulac ¸o ˜ es. a). como 2 ilustra a Figura 5(b). dado na forma de A(d. pois a velocidade dos n´ os n˜ ao interfere no funcionamento do QS 2 .

Neste caso. 249 . o Gc possui um comportamento diferente dos ataques de falta de cooperac ¸a ˜ o e temporizac ¸a ˜ o. as escritas em todos os cen´ arios mant´ em o Gc acima de 80%. o Gc obtido est´ a acima de 95%. aproximadamente 1. facilitando uma posterior consulta pelos clientes. o QS 2 apresenta um ganho mais acentuado do Gc . J´ a os ataques de injec ¸a ˜ o de dados representam a maior vulnerabilidade do PAN. apresentado na Figura 6(b). que tamb´ em podem ser considerados ego´ ıstas. em todos os cen´ arios. 2 Logo. Gc do PAN diante de ataques (a) Falta de cooperação 100 90 80 70 (b) Temporização 100 90 80 70 60 50 40 30 20 10 (c) Injeção de dados f=9 100 90 80 70 60 50 40 30 20 10 Leitura Escrita f=5 f=7 Leitura Escrita Gc (%) 60 50 40 30 20 10 0 5 7 9 5 7 9 5 7 9 5 7 9 0 4 8 30 4 8 30 4 8 30 4 8 30 0 5 7 9 5 7 9 5 7 9 5 7 9 2m/s 5m/s 10m/s 20m/s 2m/s 5m/s 10m/s 20m/s 2m/s 5m/s 10m/s 20m/s Velocidade máxima Velocidade máxima Velocidade máxima Figura 6. aproximadamente 0. devido a ` dificuldade na entrega de pacotes em geral. que obteve um aumento de at´ e 87% na confiabilidade. Nesses cen´ arios. Mesmo assim. inclusive de pacotes falsos injetados pelos n´ os maliciosos. sendo que o Gc e ´ maior para as leituras. como mostra a Figura 5(c). a confiabilidade dos dados e ´ inferior a 30%. Ainda no ataque de injec ¸a ˜ o de dados falsos. o uso do QS diante desses ataques resultou em um ganho significativo para o PAN.42%. A perda de pacotes tamb´ em influencia na detecc ¸a ˜ o de n´ os que estejam com dificuldade de comunicac ¸a ˜ o. e acontece porque nesse tipo de ataque os n´ os maliciosos perdem sua efic´ acia em velocidades maiores. Esse comportamento tamb´ em e ´ observado no PAN diante de ataques. Mesmo assim. Conforme os n´ os de m´ a-conduta aumentam o atraso das propagac ¸o ˜ es. Elas fazem com que o P AN + QS 2 obtenha n´ ıveis mais altos de Gc com velocidades maiores. Por´ em essa variac ¸a ˜o e ´ pequena. como ilustrado na Figura 6(c). Gc do P AN + QS 2 diante de ataques sendo que em alguns cen´ arios o Gc obtido pelo P AN + QS 2 e ´ ligeiramente inferior do que no PAN. Esse comportamento ocorre tanto nos ataques nas escritas como nas leituras. j´ a que as escritas comprometem de forma mais eficaz a replicac ¸a ˜ o.8% em cen´ arios com atraso de 800ms e 2% com T = 3000ms. o QS 2 ajuda o sistema a manter os dados em n´ os cuja conectividade e ´ boa.(a) Falta de cooperação 100 90 80 70 (b) Temporização 100 90 80 70 60 50 40 30 20 10 (c) Injeção de dados f=9 100 90 80 70 60 50 40 30 20 10 Leitura Escrita f=5 f=7 Leitura Escrita Gc (%) 60 50 40 30 20 10 0 5 7 9 5 7 9 5 7 9 5 7 9 0 4 8 30 4 8 30 4 8 30 4 8 30 0 5 7 9 5 7 9 5 7 9 5 7 9 2m/s 5m/s 10m/s 20m/s 2m/s 5m/s 10m/s 20m/s 2m/s 5m/s 10m/s 20m/s Velocidade máxima Velocidade máxima Velocidade máxima Figura 5. ocasionado pelas pr´ oprias caracter´ ısticas da rede.

Os ataques considerados s˜ ao os de falta de cooperac ¸a ˜ o nas leituras e nas escritas. Isso mostra que poucos n´ os ego´ ıstas n˜ ao s˜ ao detectados quando selecionados. foi simulado um cen´ ario em que os n´ os iniciam os trˆ es tipos de ataques considerados. por´ em enquanto a quantidade de n´ os de m´ a-conduta e ´ a mesma. Isso se deve a ` caracter´ ıstica do QS 2 . temporizac ¸a ˜ o (T =3000) e injec ¸a ˜ o de dados na leitura e na escrita. Essa taxa de detecc ¸a ˜ o se mant´ em para todas as velocidades e quantidade de n´ os de m´ a-conduta presentes no ambiente. mesmo diante de mais de 50% dos n´ os comprometidos. referente aos cen´ arios de simulac ¸a ˜ o utilizados para a validac ¸a ˜ o do P AN + 2 2 QS . apresentado na Figura 8(b). A falha na detecc ¸a ˜ o de um n´ o ego´ ısta pode acontecer devido a autonomia na detecc ¸a ˜ o. Foram simulados cen´ arios com f igual a 5. Para os n´ os ego´ ıstas. um n´ o s´ oe ´ considerado bom novamente se cooperar com os demais. que permite que os n´ os contem individualmente os autoindutores. a taxa de detecc ¸a ˜ o obtida pelo QS e ´ superior a 98. Essa variac ¸a ˜ o. j´ a que os n´ os das MANETs 2 podem variar a velocidade e o P AN + QS mant´ em a confiabilidade acima de 92% para todos os cen´ arios simulados. em todos os cen´ arios de diferentes quantidades de n´ os de m´ a-conduta. Esse comportamento representa uma vantagem ao sistema. a variac ¸a ˜ o do Gc de acordo com a velocidade e ´ pequena. Observa-se que conforme a quantidade de n´ os de m´ a-conduta aumenta. 100 99 98 97 96 Gc (%) 95 94 93 92 91 90 −1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Velocidade máxima (m/s) f=20% f=40% f=60% ´ ego´ Figura 7. A velocidade m´ edia dos n´ os varia de 0m/s a 20m/s. conforme ilustrado na Figura 9(a).5%. diminuindo a interac ¸a ˜ o deles com o sistema. a taxa de detecc ¸a ˜o e ´ em m´ edia de 80%. em que uma vez identificado como ego´ ısta. e com o passar do tempo.Para verificar o desempenho do QS 2 diante dos v´ arios tipos de ataque em conjunto. Os demais parˆ ametros s˜ ao os mesmos utilizados na avaliac ¸a ˜ o do P AN + QS 2 A Figura 7 apresenta os resultados obtidos com esses cen´ arios. os n´ os maliciosos n˜ ao s˜ ao mais contatados. e ´ inferior a 2%.3. como ilustra a Figura 8(a). Gc com nos ıstas e maliciosos em conjunto 5. ocasionando os n´ os bons a interagir novamente com eles. o que evidencia que a soluc ¸a ˜ o tende a manter um mesmo n´ ıvel de leituras corretamente conclu´ ıdas. T xf n e T xf p para n´ os ego´ ıstas e maliciosos. o Gc diminui. 250 . Eficiˆ encia As Figuras 8 e 9 apresentam os resultados de T xdet . e ´ de aproximadamente 1%. Para os n´ os maliciosos. independente da velocidade. Os falsos negativos obtidos pelo QS 2 na detecc ¸a ˜ o de n´ os ego´ ıstas. 10 e 15. Essa diferenc ¸ a de detecc ¸a ˜ o entre os n´ os ego´ ıstas e 2 maliciosos ocorre porque o QS identifica os n´ os maliciosos pelo comportamento em um determinado intervalo de tempo. sendo que cada ataque e ´ desempenhado por 20% do total de n´ os maliciosos. Isso resulta na normalizac ¸a ˜ o do n´ ıvel de autoindutores relativo ao n´ o malicioso nos demais n´ os do sistema.

Al´ em disso. ilustrada na Figura 9(c). ou se um n´ o faz muitas escritas cont´ ınuas para o mesmo grupo de n´ os. Esse aumento de falsos negativos no ataque de injec ¸a ˜ o de dados acontece pela normalizac ¸a ˜ o dos autoindutores de escrita. Os resultados obtidos mostram que o QS 2 aumentou a confiabilidade de um sis- 251 . Eficiencia na detecc ¸ ao ıstas (a) Taxa de detecção 100 90 80 70 100 90 80 70 (b) Falsos negativos 100 90 80 70 (c) Falsos positivos f=5 f=7 f=9 Txdet (%) Txfn (%) 50 40 30 20 10 0 2m/s 5m/s 10m/s 20m/s 50 40 30 20 10 0 2m/s 5m/s 10m/s 20m/s Txfp (%) 60 60 60 50 40 30 20 10 0 2m/s 5m/s 10m/s 20m/s Velocidade máxima Velocidade máxima Velocidade máxima ˆ ˜ de nos ´ maliciosos Figura 9. os falsos negativos s˜ ao de aproximadamente 20%. quanto de n´ os maliciosos. O QS 2 e ´ inspirado nos mecanismos de sensoriamento em qu´ orum e de selec ¸a ˜ o por parentesco. 6. sendo menor em cen´ arios com menos n´ os de m´ a-conduta participando na rede. alguns n´ os podem demorar a identificar determinados n´ os como ego´ ıstas. ambos encontrados em bact´ erias.(a) Taxa de detecção 100 90 80 70 100 90 80 70 (b) Falsos negativos 100 90 80 70 (c) Falsos positivos f=5 f=7 f=9 Txdet (%) Txfn (%) 50 40 30 20 10 0 2m/s 5m/s 10m/s 20m/s 50 40 30 20 10 0 2m/s 5m/s 10m/s 20m/s Txfp (%) 60 60 60 50 40 30 20 10 0 2m/s 5m/s 10m/s 20m/s Velocidade máxima Velocidade máxima Velocidade máxima ˆ ˜ de nos ´ ego´ Figura 8. momentaneamente eles s˜ ao considerados n´ os de m´ a-conduta. Eficiencia na detecc ¸ ao e dessa forma. o que n˜ ao gera maiores custos de comunicac ¸a ˜ o para os n´ os da rede. Ele identifica os n´ os de m´ a-conduta de forma independente atrav´ es da quantidade de escritas e encaminhamentos enviados por outros n´ os e n˜ ao requer a troca de informac ¸o ˜ es de reputac ¸a ˜ o entre eles. A taxa de falsos positivos obtidos pelo QS 2 . Para os n´ os maliciosos. conforme apresentado pela Figura 9(b). um esquema para a exclus˜ ao de n´ os ego´ ıstas e maliciosos das operac ¸o ˜ es de escrita e de leitura em um sistema de qu´ orum para MANETs. tanto na detecc ¸a ˜ o de n´ os ego´ ıstas. ilustrada na Figura 8(c). Deste modo. eventualmente eles s˜ ao identificados como n´ os bons. esse esquema utiliza a pr´ opria troca de mensagens de escrita para a detecc ¸a ˜ o dos n´ os de m´ a-conduta. Conclus˜ ao Este artigo propˆ os QS 2 . Algumas detecc ¸o ˜ es equivocadas s˜ ao esperadas e podem acontecer se um n´ o est´ a muito distante na rede e apresenta dificuldade em interagir com o restante da rede. e ´ inferior a 2%. j´ a explicada anteriormente. por´ em conforme ocorre a movimentac ¸a ˜ o e a interac ¸a ˜ o dos n´ os.

Saito. V. E. P. ACM Computer Survey. In Proceedings of the 27th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM ’08). N.5% com uma taxa de falsos positivos menor que 2%.tema de qu´ orum para MANETs em at´ e 87% diante de ataques de injec ¸a ˜ o de dados nas escritas. In Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing. 43(1):197–222. Rodrigues. In Anais do IX Simp´ osio Brasileiro em Seguranc ¸a da Informac ¸a ˜ o e de Sistemas Computacionais (SBSeg ’09). pages 1–12. S. and Wright. R. (2005). Ad Hoc Networks. Como trabalhos futuros. e a detecc ¸a ˜ o de n´ os maliciosos obteve uma efic´ acia de 80%. and Lu. and Bassler. Pirmez.. A. (2003). L. Pervasive Mobile Computing. PODC ’98. variando parˆ ametros como velocidade. Delicato. A. Ensuring strong data guarantees in highly mobile ad hoc networks via quorum systems. J. 252 . (2009). pages 11–20. D. H. Annual Review of Genetics. Zhu. Yang. pages 569–578. Mannes. In Proceedings of the 4th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc ’03). Tan. P. (2002). M. E. 5(8):1251–1271. Computer Networks. and Eugster. com uma taxa de falsos positivos inferior a 1%. L.. pages 269–282. W. pages 457–465. Corradi.. and Badache. X.. E. da Silva.. Rossetto. pretende-se testar o uso do QS 2 em outros cen´ arios de MANETs. L. F. Tulone. Sistema de detecc ¸a ˜ o de intrus˜ ao imuno-inspirado customizado para redes de sensores sem fio. Y. Meng. P.. Malkhi. quantidade de n´ os e quantidade de n´ os de m´ a-conduta presente na rede. Pappas. Z. Modeling secure connectivity of self-organized wireless ad hoc networks. and Zhu.. M. Derhab. and Shapiro... Optimistic replication. Timed Quorum Systems for Large-Scale and Dynamic Environments. L.. C. volume 4773. T. B. H. A. and Magistretti. and Raynal. In Managing Next Generation Networks and Services. Byzantine quorum systems. IEEE Communications Surveys and Tutorials. P. and Fang. Pirmez.. Probabilistic byzantine quorum systems. Bacterial quorum-sensing network architectures. J. M. In Proceedings of the 1st ACM workshop on Wireless security (WiSE ’02). D. L. and Zhang.. (2009). A detecc ¸a ˜ o de n´ os ego´ ıstas apresentou uma efic´ acia de 98.. Wool. (2007). pages 71–84. Gramoli. Luo. S.. R. Zhang. (2007). D. Self-organized network-layer security in mobile ad hoc networks. (2007). An effective secure routing for false data injection attack in wireless sensor network. C. pages 321–322. In Proceedings of the 29th Annual ACM Symposium on Theory of Computing (STOC ’97). A.. C. Malkhi. Y.-L. Referˆ encias Bellavista. (1998). Q.. V.. In Simp´ osio Brasileiro em Seguranc ¸a da Informac ¸a ˜ o e de Sistemas Computacionais (SBSeg ’10).. (2005). pages 429–442. A taxonomy of biologically inspired research in computer networking. 54:901–916. L. (2009). N. M.. Redman: An optimistic replication middleware for read-only resources in dense manets.. (1997). F.. 37:42–81.. A. Y. and Carmo. (2010). M. H. Reiter. Meisel. Data replication protocols for mobile ad-hoc networks: a survey and taxonomy. (2010). PAN: Providing reliable storage in mobile ad hoc networks with probabilistic quorum systems. Hubaux. (2008). Song. 1:279–310. Salmon. Analisando o desempenho de um sistema de qu´ oruns probabil´ ıstico para manets diante de ataques maliciosos. 11:33–51.. M. Miceli. and Reiter.-P.. Ng. and dos Santos.

Introduc ¸a ˜ o de hash MD6 foi apresentada em outubro de 2008 por [Rivest et al.˜ o aos ataques Aumentando a seguranc ¸ a do MD6 em relac ¸a diferenciais Valdson S. 253 . O que torna o MD6 significativamente mais lento que os outros competidores nas ´ o n´ ˜ o de compress˜ plataformas de referˆ encia e umero de rodadas da func ¸a ao que teve que ser adotado justamente para torn´ a-lo demonstravelmente resistente a ataques diferenciais. Cleto1 . em julho de 2009 Ron Rivest emitiu um comunicado (http: //groups. rt@ime. Ent˜ mendava que o MD6 passasse para a segunda fase da competic ¸a ao o MD6 n˜ ao ` segunda fase. um candidato a SHA-3 precisaria ser no m´ ınimo t˜ ao r´ apido quanto o SHA-2 em plataformas de referˆ encia.mit. Routo Terada1 1 Instituto de Matem´ atica e Estat´ ıstica – Universidade de S˜ ao Paulo (USP) S˜ ao Paulo – SP – Brazil vcleto@gmail. 2008] como A func ¸a ˜ o organizada pelo instituto norte-americano NIST (Natiuma candidata para a competic ¸a onal Institute of Standards and Technology) para a escolha de um novo algoritmo de hash ´ o SHA-2). apareceu na lista dos candidatos que passaram a O NIST estabeleceu que.br Abstract. Este artigo prop˜ oe uma modificac ¸a ¸a ao da ˜ o na func ˜ o de compress˜ func ¸a ¸ a da func ¸a ¸a ˜ o de hash MD6 para aumentar a seguranc ˜ o em relac ˜ o aos ataques diferenciais. Embora o MD6 ´ bem seja muito r´ apido em sistemas multiprocessados. que receber´ a o t´ ıtulo de SHA-3 (o algoritmo padr˜ ao de hash atual e Por´ em.com. Such modification enables a reduction of up to 28% in the number of rounds needed to demonstrate the strength of the MD6 compression function against differential attacks. ˜o visto que foi o poder surpreendente dos ataques diferenciais que estimulou a competic ¸a para escolha do SHA-3. para ser competitivo. nas plataformas de referˆ encia ele e mais lento que o SHA-2.usp.txt) informando que naquele momento o MD6 n˜ ao atenderia os requisitos de velocidade necess´ arios para um candidato a SHA-3 e portanto n˜ ao reco˜ o. Tal modificac ¸a ¸a e 28% no ˜ o possibilita uma reduc ˜ o de at´ n´ umero de rodadas necess´ arias para a demonstrac ¸a encia da func ¸a ˜ o da resistˆ ˜o de compress˜ ao do MD6 aos ataques diferenciais.edu/cis/md6/OFFICIAL_COMMENT_MD6_ 2009-07-01. padr˜ ao. Resumo.csail. ˜o 1. ˜ o que o algoritmo de SHA-3 que Ron Rivest alertou os organizadores da competic ¸a viesse a ser escolhido deveria ser demonstravelmente resistente a ataques diferenciais. This paper proposes a modification on the compression function of the MD6 hash function that increases the security of the function regarding the differential attacks.

˜ o de compress˜ Algoritmo 1 Func ¸a ao Entrada: A[0 · · · 88] de A[0 · · · 16r + 88] para i = 89 a 16r + 88 : x = Si ⊕ A[i − 17] ⊕ A[i − 89] ⊕ (A[i − 18] ∧ A[i − 21]) ⊕ (A[i − 31] ∧ A[i − 67]) x = x ⊕ (x >> ri ) A[i] = x ⊕ (x << li ) retorne A[16r + 73 · · · 16r + 88] ´ o vetor com as 89 palavras de entrada.˜ o da resistˆ ´ apresentada na A demonstrac ¸a encia do MD6 a ataques diferenciais e ˜ o 6. Cada palavra e ´ ltima rodada s˜ ˜ o de compress˜ no vetor. 2008]. sec ¸a a apresentada uma vis˜ ao geral dessa demonstrac ¸a ˜o e ´ feita uma an´ ˜ o de compress˜ Para a demonstrac ¸a alise da resistˆ encia da func ¸a ao ˜ o de hash. o que resulta na possibilidade de ˜ o. 31 e 67 visam otimizar a difus˜ ao. O resultado da investigac ¸a ˜ o na func ˜ o de compress˜ possibilidades foi a descoberta de uma modificac ¸a ¸a ao do MD6 ˜ o da resistˆ que permite que a demonstrac ¸a encia do MD6 a ataques diferencias seja feita ˜ o de at´ com uma reduc ¸a e 28% no n´ umero de rodadas. A[0. ˜ o da resistˆ ˜ o de compress˜ Para a demonstrac ¸a encia da func ¸a ao a ataques diferenciais. A cada rodada s˜ ao calculadas c = 16 novas palavras. 2008] na sec ¸a ˜ o ser´ ˜ o. antes de mais nada deve-se estabelecer uma forma de medir a diferenc ¸ a entre duas ˜ es envolvidas na func ˜o mensagens e esta forma pode variar de acordo com as operac ¸o ¸a 254 . As escolhas dos ´ ındices relativos 17. aumentar a velocidade de processamento do MD6 praticamente nesta mesma proporc ¸a ˜ o da resistencia do MD6 a ataques diferenciais 2. As constantes Si mudam ao final de cada rodada. Ao final dessa sec ˜ o s˜ sec ¸a ¸a ao sugeridas algumas possibi˜ o para se tentar demonstrar a resistˆ lidades de investigac ¸a encia do MD6 a ataques dife˜ o de uma dessas rencias com um n´ umero menor de rodadas.88] e umero ´o de rodadas. As 16 palavras calculadas na u ao a sa´ ıda da func ¸a ao. ent˜ ao calculando-se o resumo das mensagens de uma quantidade suficiente de pares de mensagens de entrada pode-se encontrar uma colis˜ ao. A[0. Nesta do MD6 a ataques diferenciais apresentada em [Rivest et al. Demonstrac ¸a ˜ o apresentada nesse artigo foi feita a partir da demonstrac ˜ o da resistˆ A investigac ¸a ¸a encia ˜ o 6.9 em [Rivest et al. ˜ o de compress˜ A func ¸a ao do MD6 pode ser representada pelo algoritmo 1. Se a pro´ desprez´ babilidade de se encontrar esse par de mensagens n˜ ao e ıvel. Esdo MD6 a ataques diferenciais que buscam encontrar uma colis˜ ao na func ¸a tes ataques consistem em se escolher pares de mensagens de entrada com determinadas diferenc ¸ as tentando-se encontrar um par tal que o par de resumo da mensagem na sa´ ıda ˜ o de hash n˜ da func ¸a ao tenha diferenc ¸ a.16r + 88] e vetor completo com as 89 palavras de entrada mais as t = 16r palavras calculadas nas r ´ calculada a partir das 89 palavras imediatamente anteriores a ela rodadas. que tamb´ em visa a ¸a difus˜ ao m´ axima. r e ´ o n´ No algoritmo 1... As quantidades de deslocamento de bits ` obtenc ˜ o da se repetem a cada rodada e s˜ ao definidas pela tabela 1. o que significa encontrar uma colis˜ ao. 18.9. 21.

. dado que o par de entrada satisfaz a diferenc ¸ a especificada pelo caminho diferencial. • Chamamos de porta AND “ativa” quando ∆x = 1 ou ∆y = 1 e portanto temos que Pr[∆z = 0] = Pr[∆z = 1] = 1/2 255 . . cada uma das 3 diferentes operac ¸o ˜ es de deslocamentos de bits. Se os bits de entrada de cada porta AND forem x e y e a sa´ ıda for z . demonstrac ¸a ´ um conjunto de diferenc Um caminho diferencial e ¸ as entre o par de entradas. Para o MD6 podemos expressar um caminho diferencial como: ∆Ai para i = 0. Em A propriedade diferencial da operac ¸a termos do peso de Hamming. pi . todos os estados intermedi´ arios e o par de sa´ ıdas. ˜ es da func ˜ o de compress˜ 2. An´ alise das propriedades diferencias das operac ¸o ¸a ao ˜ o de compress˜ ´ composta por 16 passos e em cada passo Cada rodada da func ¸a ao do MD6 e ´ calculada Para a an´ uma nova palavra de 64 bits e alise das propriedades diferenciais de ˜ es contidas em cada passo: XOR. ser´ ˜ o: que representa as operac ¸o a adotada a seguinte notac ¸a • • • • X. e em todos os passos.Tabela 1. ´ a sua probablidade A propriedade mais importante de um caminho diferencial e ´ associada. para um caminho seja. DY . DY ) ≤ DZ ≤ DX + DY . . . p.1. A forma de medida mais utilizada e ˜ o. t + n − 1. ∆x e ∆y . ou ao. DY ) − min(DX . Z para as entradas e sa´ ıdas de w bits ∆X. Definimos Di como o peso de Hamming de uma determinada diferenc ¸ a ∆Ai . . o comportamento diferencial da porta AND depende das diferenc ¸ as nas entradas. se for assumido que o c´ alculo dos passos s˜ ao independentes entre si. ˜ o AND entre duas paravras de w bits pode ser vista como um conUma operac ¸a junto de w portas AND independentes. ∆Z para as diferenc ¸ as DX . ∆Z = ∆X ⊕ ∆Y . . z para um bit de palavras de w bits ˜ o XOR e ´ direta. e definida como a probabilidade de que o par de sa´ ıda do passo siga o caminho diferencial. ´ o produto das probabilidade A probabilidade total de um caminho diferencial. o n´ umero de bits diferentes entre Ai e Ai . AND e o operador g . Y. ∆Y. Quantidade de deslocamento de bits ri li 0 1 10 5 11 24 2 13 9 3 4 10 11 16 15 5 12 9 6 7 8 2 7 14 27 15 6 9 10 15 7 2 29 11 13 8 12 13 11 7 15 5 14 6 31 15 12 9 ´ o ou-exclusivo. ou Di = |∆Ai |. . Consideramos estes dois casos: • Chamamos de porta AND “inativa” quando ∆x = ∆y = 0 e portanto temos que Pr[∆z = 0] = 1. A probabilidade de um determinado passo i de um caminho diferencial. Ent˜ diferencial {∆Ai } definimos um caminho diferencial de padr˜ ao de peso como {Di }. y. . t + n − 1. ´ f´ ´ um caminho onde ∆Ai = 0 E acil notar que um caminho diferencial de colis˜ ao e para i = t + n − c. ou seja. temos que: max(DX . DZ para os pesos de Hamming x. e e ´ a forma utilizada nessa de hash.

sendo impossivel conseguir um caminho onde todos os pesos s˜ ao no m´ aximo 1. ent˜ ao ∆Z = gr. Uma porta AND ativa (AAG) sempre contribui com um probabilidade igual a 1/2 para a probabilidade total do caminho diferencial. (5) Focando no peso de Hamming ao inv´ es de se focar no real valor das diferenc ¸ as ˜ o de ter que analizar como as perde-se certa precis˜ ao na an´ alise. ´ necess´ Ou seja. j´ a que ´au ´ nica operac ˜ o n˜ esta e ¸a ao trivial em termos de probabilidades diferenciais. 256 . n˜ ao importa qual seja a diferenc ¸ a de sa´ ıda da porta AND. ˜ o de um deslocamento e um XOR pode no m´ A combinac ¸a aximo dobrar o n´ umero ˜ es de operac ˜ es (uma com deslocade diferenc ¸ as. Di−t5 ) k=1 Di−tk . al´ diferenc ¸ as de bit individualmente podem se alinhar de um operac ¸a em de possibilitar a busca de caminhos diferenciais de padr˜ oes de peso v´ alidos atrav´ es de uma busca auxiliada por um programa computacional. Isto foi projetado desta forma para impedir ˜ o de diferenc ˜ o de caminhos difea propagac ¸a ¸ as de apenas um bit. (2) (3) ˜ o podemos derivar limiUsando as desigualdadas apresentadas para cada operac ¸a tes superior e inferior para DX : 5 DX ≤ U BX = k=0 Di−tk . Cada par de quantidade de deslocamentos (r. Di−t5 ) − min(Di−t0 . O n´ umero total de portas AND ativas em um caminho diferencial est´ a diretamente ` probabilidade total do caminho. ou AAG’s. 4 (4) DX ≥ LBX = max(Di−t0 .l faz um espalhamento dos bits dentro de uma palavra. como s˜ ao realizadas duas combinac ¸o ¸o mento pra direita e outra com deslocamento pra esquerda) temos que: DZ ≤ 4DX . Se DX > 4 ent˜ ao DZ > 0.l (X ). ser˜ ao funda˜ o da carga de trabalho m´ mentais na demonstrac ¸a ınima de um ataque diferencial. para que a diferenc ¸ a na sa´ ıda seja de apenas um bit e ario que a diferenc ¸ a na entrada seja de 5 ou mais bits. mas evita-se a complicac ¸a ˜ o para outra. Active AND Gates. l) foi escolhido de forma que se 0 < DX ≤ 4 ent˜ ao DZ ≥ 2.Em termos do peso de Hamming. j´ a que se existem diferenc ¸ as na entrada devem existir diferenc ¸ as na sa´ ıda. temos que: 0 ≤ DZ ≤ DX + DY (1) As portas AND ativas.l (∆X ). relacionado a O operador gr. ˜ es executadas em um passo: Vamos agora combinar em duas partes as operac ¸o X = Ai−t0 ⊕ Ai−t5 ⊕ (Ai−t1 ∧ Ai−t2 ) ⊕ (Ai−t3 ∧ Ai−t4 ). Sabemos que se Z = gr. dificultando a obtenc ¸a renciais com pesos de Hamming muito baixos. do inglˆ es. Ai = g (X ).

Em alguns at´ e 4 portas AND em 4 passos distintos. cada porta AND ativa em um caminho diferencial contribui com a probabilidade de 1/2. uma para cada posic ¸a casos uma diferenc ¸ a de bit pode n˜ ao ativar as 4 portas AND. Di > 4U BX 3. t2 . podemos eliminar os seguintes valores de Di em um dades mostradas para a func ¸a determinado passo i: 1. e estes casos devem ser ˜ o para n˜ levados em considerac ¸a ao contarmos portas AND ativas a mais: • Se duas diferenc ¸ as de bit ativam a mesma porta AND. a probabilidade associada a este caminho ser´ a no m´ aximo 2−d/2 . que e orico do paradoxo do anivers´ ario. Di = 1 e U BX < 5 A tabela 2 mostra o resultado apresentado em [Rivest et al. Cada diferenc ¸ a de bit em um caminho diferencial de padr˜ oes de peso pode ativar ˜ o t1 . S´ o contamos as portas AND ativas que tem as duas entradas dentro do limite de rodadas em que est´ a sendo feita a busca.2. Carga m´ ınima de trabalho de um ataque diferencial padr˜ ao ´ provar que ataques diferenciais padr˜ O objetivo agora e ao contra o MD6 s˜ ao menos eficientes para encontrar colis˜ oes do que o ataque pelo paradoxo de anivers´ ario. Ou seja. Di = 0 e LBX > 0 2.2. onde AAGx e umero m´ ınimo de portas AND ativas em x rodadas (AAG = Active AND Gate). Antes disso deve-se tomar o cuidado de deixar uma margem de seguranc ¸ a. ent˜ ao se o n´ umero de portas AND ativas em um caminho diferen´ no m´ cial v´ alido do MD6 e ınimo d/2. ˜ de peso de Tabela 2. • Se duas portas AND s˜ ao ativadas no mesmo passo. o que significa dizer que a ´ no m´ ´ o limite te´ carga de trabalho de um ataque diferencial padr˜ ao e ınimo 2d/2 . 26) podem ser utilizados para expandir o resultado a um n´ umero r qualquer de rodadas atrav´ es da f´ ormula: AAGr ≥ AAGs × ´ o n´ r/s . t3 e t4 . porque ˜ o pode conseguir penetrar algumas rodadas no comec algu´ em que tente atacar a func ¸a ¸ o do 257 . Utilizando (4) e (5) e as desigual˜ o g . 2008]. precisamos provar que a probabilidade de se encontrar qualquer caminho diferencial de ˜ o de compress˜ ´ no m´ colis˜ ao na func ¸a ao do MD6 e aximo 2−d/2 . Para fazer a busca de caminhos diferenciais de padr˜ oes de peso poss´ ıveis desejamos eliminar o m´ aximo poss´ ıvel de padr˜ oes inv´ alidos. obtido atrav´ es de um programa computacional para buscar a n´ umero m´ ınimo de portas AND ativas em qualquer padr˜ ao de peso de caminho diferencial de at´ e s rodadas. • Se uma porta AND est´ a al´ em do limite de rodadas. Como vimos. Numero ´ m´ ınimo de portas AND ativas em qualquer padrao ´ s rodadas caminho diferencial de ate s ≤5 6 N´ umero m´ ınimo de portas AND ativas 0 3 7 8 4 4 9 4 10 11 4 7 12 13 13 14 19 20 15 26 Os valores encontrados na tabela 2 (principalmente o valor do n´ umero m´ ınimo de portas AND ativas em s = 15 rodadas.

ao analisarmos como esses cami- 258 . Resultado apresentado em [Rivest et al. 2008] para a carga de traba˜ ao MD6 (LB e ´ a carga de trabalho lho m´ ınima de um ataque diferencial padrao ´ a carga de trabalho de um ataque pelo paradoxo do aniversario) ´ m´ ınima e BB e d 40 80 128 160 224 256 384 512 r 50 60 72 80 96 104 136 168 r − 15 35 45 57 65 81 89 121 153 r−15 15 2 3 3 4 5 5 8 10 AAGr−15 ≥ 52 78 78 104 130 150 208 260 LB ≥ 252 278 278 2104 2130 2150 2208 2260 BB 220 240 264 280 2112 2128 2192 2256 ˜ o do numero ˜ o da ´ 3. 2008] s˜ Ao final da sec ¸a ao apresentadas algumas possi˜ o para se tentar demonstrar que o n´ bilidades de investigac ¸a umero m´ ınimo de portas AND ´ maior do que o encontrado. que e Tabela 3. substitui-se na f´ ormula o n´ umero de rodadas r por r − 15. 2008] para a carga de trabalho m´ ınima de um ataque diferencial padr˜ ao ao MD6 comparada com a carga de trabalho de um ataque pelo paradoxo do anivers´ ario. Encontramos caminhos diferenciais v´ alidos e. mostrando que a carga de trabalho ´ maior que a carga de trabalho de um ataque pelo paradoxo do de um ataque diferencial e ´ o que se desejava demonstrar. ou seja. ˜ o 6.4 de [Rivest et al. O n´ umero de rodadas deve garantir uma quantidade m´ ınima de portas AND ˜ o da func ˜ o de compress˜ ativas na execuc ¸a ¸a ao pois a resistˆ encia a um ataque diferencial est´ a diretamente relacionada a essa quantidade. Para isso.3.c´ alculo do hash manipulando as entradas e influenciando o comportamento do caminho diferencial. Estabeleceu-se uma margem de seguranc ¸ a conservadora de 15 rodadas. Ent˜ ˜o resultados apresentados na sec ¸a ao. 2008]. mostramos que ela e umero de rodadas utilizado na func ¸a compress˜ ao. Reduc ¸a de rodadas necess´ arias para a demonstrac ¸a resistˆ encia a ataques diferenciais ˜ o mosAt´ e aqui mostramos os resultados apresentados em [Rivest et al. traremos os resultados de nossa investigac ¸a ˜ o da seguranc Ao apresentar a demonstrac ¸a ¸ a do MD6 contra ataques diferenciais ´ dependente do n´ ˜ o de padr˜ ao. implementamos um algoritmo para realizar a busca por padr˜ oes de peso de caminho diferencial de forma a obtermos os mesmos ˜ o anterior. nesta sec ¸a ˜ o. Uma dessas ativas em um n´ umero reduzido de rodadas s e possibilidades diz que podem n˜ ao existir caminhos diferenciais v´ alidos para alguns dos padr˜ oes de peso de caminho diferencial encontrados.9. A tabela 3 mostra o resultado apresentado em [Rivest et al. anivers´ ario. Investigamos a existˆ encia de caminhos diferenciais v´ alidos para cada padr˜ ao de peso de caminho diferencial encontrado. acrescentamos a essa implementac ¸a um c´ odigo para a busca por caminhos diferenciais v´ alidos para um dado padr˜ ao de peso de caminho diferencial.

um valor diferencial que aparec de deslocamento de bits. Para este padr˜ ao de peso de caminho diferencial: D28 = 2. A172 = 0x8001 (valores em hexadecimal).1. D71 = 2. Por isso. Caso nenhum caminho diferencial seja encontrado a busca por diferencial e um padr˜ ao de peso de caminho diferencial continua enquanto n˜ ao for encontrado um caminho diferencial v´ alido que corresponda a um dado padr˜ ao de peso de caminho diferencial. Esse modificac ˜o de bits utilizado pelos autores do MD6 para a definic ¸a ¸a foi feita para que a busca procurasse por tabelas sem as caracter´ ısticas que identificamos ˜ o dos caminhos diferenciais v´ como as respons´ aveis pela formac ¸a alidos para os padr˜ oes de peso de caminho diferencial com n´ umero m´ ınimo de portas AND antivas. 3. Verificando a existˆ encia de caminhos diferenciais v´ alidos O padr˜ ao de peso de caminho diferencial encontrado que resulta no n´ umero m´ ınimo de portas AND ativas em s rodadas pode n˜ ao corresponder a nenhum caminho diferencial v´ alido. uma nova tabela de acordo com essa restric ¸a ˜ o. n˜ ao existe caminho diferencial v´ alido. as posic ¸o ¸ a na 259 . como mostrado na tabela de deslocamento de bits 1: 11 bits para a direita e 15 bits para a esquerda. D83 = 1. A diferenc ¸ a entre as ˜ es t0 e t5 m´ ´ igual a 8 (89 . A100 = 0x8001. locamento de bits (tabela 1) que possibilitavam a formac ¸a Ent˜ ao. 72 m´ ´ igual a ` posic ¸o odulo 16 e odulo 16 = 8). vimos que o n´ umero m´ ınimo de portas AND ativas e programa deve procurar algum caminho diferencial v´ alido correspondente ao padr˜ ao de peso de caminho diferencial encontrado. modificamos o programa de busca da tabela de quantidade de deslocamento ˜ o da tabela 1.1 na p´ agina 3. A83 = 0x1. Assim. D100 = 2. Para buscar um caminho diferencial v´ alido testamos todas as possibilidades de valores diferenciais poss´ ıveis para cada valor de peso do padr˜ ao de peso de caminho dife˜ es da func ˜ o de compress˜ rencial e utilizamos as propriedades de cada uma das operac ¸o ¸a ao conforme mostrado em 2. A83 = 0x1. Nosso Para 15 rodadas. A172 = 0x8001) vemos que a formac ¸a poss´ ıvel porque os valores de deslocamento de bits no passo 4 de uma rodada s˜ ao iguais aos valores de deslocamento de bits do passo 12. Os resultados ser˜ ao apresentados nesta sec ¸a 3. ou a qualquer outro padr˜ ao de peso de caminho diferencial com 26 portas AND ativas. An´ alise dos caminhos diferenciais v´ alidos encontrados Analisando o caminho diferencial com 26 portas AND ativas em 15 rodadas (A28 = ˜ o dele e ´ 0x8001. D143 = 2.2. descobrimos que para o primeiro padr˜ ao de peso de caminho diferencial encontrado para s = 15 com 26 portas AND ativas (D54 = 1. Encontramos ˜ o. adicionamos ao programa de busca de padr˜ oes de peso de caminho diferencial a busca por um caminho diferencial v´ alido quando um padr˜ ao de peso de caminho ´ encontrado. e ˜ es da tabela de deslocamento de bits que cont´ diferenc ¸ a entre as posic ¸o em o mesmo valor ˜ es 4 e 12.nhos se formavam.17 = 72. Com este programa. A100 = 0x8001. e encontrou um que tem um respectivo caminho diferencial v´ alido. D232 = 2). D172 = 2 existe um caminho diferencial v´ alido: A28 = 0x8001. Mas o programa encontrou outros padr˜ oes de peso de caminho diferencial com 26 portas AND ativas. ou seja. ´ 26. identificamos algumas caracter´ ısticas da tabela de quantidade de des˜ o desses caminhos diferenciais.

No passo ˜ o t5 e o valor diferencial 189. e a este valor diferencial ser´ a aplicado o mesmo deslocamento de bits. e 172 m´ ´ igual a 4. Eliminamos todas as caracter´ cobrindo novas restric ¸o ısticas ˜ o de caminhos diferenda tabela de deslocamento de bits que contribuiam para a formac ¸a ciais com 26 portas AND ativas em 15 rodadas. respectivamente. li ) deve ser escolhido tal que uma sa´ ıda com peso de hamming igual a 1 n˜ ao possa ser gerado por uma palavra de entrada de peso menor que cinco. notamos que outras condic ¸o ˜ o de alguns caminhos diferenres da tabela de deslocamento de bits para evitar a formac ¸a ˜ es ciais com baixos valores de peso de hamming. dadas ˜ es t0 a t5 e estabelecidas algumas exigˆ as posic ¸o encias na escolha dos valores de deslocamento. Conclu´ ımos que esta coincidˆ encia de valores da tabela de deslocamento de bits ˜ es t0 e t5 no m´ 1 a uma distˆ ancia que coincide com a diferenc ¸ a entre as posic ¸o odulo 16 ´ uma falha na escolha dos valores de deslocamento de bits. ri e lj n˜ ao podem ser m´ ultiplos um do outro para qualquer j tal que (i − j ) ∈ t0 . necessariamente aparecer´ a na posic ¸a em um passo 12 ou 4 no m´ odulo 16. o valor diferencial gerado no passo 100 estar´ a na posic ¸a ˜ o t0 . procurando novas tabelas. Investigando uma nova tabela de deslocamento de bits A escolha da tabela de deslocamento de bits 1 foi feita atrav´ es de um programa computacional disponibilizado pelos autores do MD6. ocorre um alinhamento das diferenc ¸ as e elas s˜ ao anuladas. testando a nova tabela encontrada e des˜ es que poderiam ser impostas. deve ser no m´ aximo w/2 (32) e ri e li n˜ ao devem ser m´ ultiplos um do outro. o valor ˜ o t0 do passo 100. Fomos ent˜ ao adicionando novas restric ¸o aos valores da tabela. Para a escolha da tabela de deslocamento de bits original do MD6 foram testadas 1 milh˜ ao de tabelas. Para cada tabela gerada aleatoriamente de acordo ˜ es descritas e ´ medido um valor para que as tabelas possam ser comparadas com as restric ¸o de forma que seja escolhida a tabela que garanta o efeito avalanche mais r´ apido entre as tabelas testadas. verificando como a func ¸a ˜o se comporta com esta alterac ¸a 3. Al´ em disso. Ainda assim. ˜ es poderiam ser impostas aos valoComo mostramos. Como eles s˜ do passo 172 estar´ a na posic ¸a ao iguais. resultando no alinhamento e cancelamento destes valores diferenciais em um passo posterior. nenhuma tabela de des˜ o desse caminho. Seria interessante tentar e ˜o escolher uma outra tabela onde esta coincidˆ encia n˜ ao ocorra. t5 − t0 (todos os ´ ındices no m´ odulo ´ ltimas condic ˜ es ajudam a garantir que um deslocamento a ` esquerda em c = 16). No caminho diferencial encontrado. mas esse caminho n˜ ao depende de nenhuma caracter´ ıstica especial da tabela de deslocamento de bits. Portanto nos passos 100 e 172 obtemos o mesmo valor diferencial por que e nesse passos o mesmo delocamento de bits ao valor diferencial do passo 83. existe caminho diferencial com 26 portas AND ativas em 15 rodadas. locamento de bits evitaria a formac ¸a ˜ es adicionais que descobrimos que devem ser impostas para que a taAs restric ¸o 260 . Este programa procura uma tabela de deslocamento tentando maximizar a taxa de difus˜ ao dos bits dentro das palavras.3. E em o valor diferencial na posic ¸a odulo 16 e ´ aplicado 12. e 100 m´ ´ igual a diferencial do passo 83 aparece na posic ¸a odulo 16 e ´ tamb´ ˜ o t5 do passo 172.˜ o t0 em um passo 4 ou 12 no m´ ˜ o t5 posic ¸a odulo 16. Cada valor de deslocamento n˜ ao pode ser zero. t5 . ou seja. Cada par de valores (ri . Estas u ¸o ` direita pela mesma quantidade (ou uma rodada n˜ ao ser´ a seguido por um deslocamento a um m´ ultiplo) em uma rodada posterior.

os valores das sementes que geram ˜ es no c´ ˜ es adicionais as melhores tabelas e as alterac ¸o odigo que implementam as restric ¸o ´ a tabela 4. Ele comec ¸ a a busca com a semente 0. ˜ es foram implementadas na func ˜ o que gera tabelas aleat´ Essas restric ¸o ¸a orias de ˜ o faz parte do c´ deslocamento de bits. foi encontrada uma tabela melhor do que a tabela original do MD6 de acordo com essa medida da taxa de difus˜ ao de bits (e que ainda atende ` s restric ˜ es que adicionamos). Os resultado obtidos podem ser rapidamente verificados com o programa fornecido pelos autores do MD6 (shiftopt. Ent˜ ao. Mas.4. Continuando a busca. a semente utilizada para a gerac ¸a ´ ltima tabela e ´ igual a 999. a ¸o ˜ o de uma tabela de desO programa de busca utiliza uma semente para a gerac ¸a locamento de bits aleat´ oria. com qualquer tabela de deslocamento 261 . Esta func ¸a odigo fornecido pelos autores do MD6 que foi utilizado para a busca da tabela de deslocamento de bits original do MD6. ent˜ ao: li deve ser diferente de lj se ri > li e ri deve ser diferente de rj se lj > rj e li > 2ri . A tabela de deslocamento de bits que encontramos e Tabela 4. D100 = 2. ri li 0 1 13 13 4 9 2 7 23 3 4 8 11 10 5 5 9 21 6 7 8 10 4 11 13 18 12 9 10 14 2 3 27 11 12 7 12 13 11 8 15 17 14 6 23 15 12 5 3. encontramos a melhor tabela ao testar a semente 939. o primeiro padr˜ ao de peso de caminho diferencial com 26 portas AND ativas em 15 rodadas que possui um caminho ´: diferencial v´ alido correspondente encontrado pelo programa de busca e D28 = 2.421. (6) Com a nova tabela de deslocamento de bits n˜ ao existe um caminho diferencial v´ alido para este padr˜ ao de peso de caminho diferencial. a melhor tabela encontrada e um pouco pior do que a tabela original do MD6. ent˜ ao: li deve ser diferente de lj e ri deve ser diferente de rj se lj > rj e li > ri . Executando o programa de busca da tabela de deslocamento de bits com essas ˜ es adicionais e testando a mesma quantidade de tabelas que foram testadas para restric ¸o ´ a escolha da tabela original do MD6. A tabela original do MD6 foi gerada com a semente da u ˜ es adicionais. que e ´ uma medida da taxa de difus˜ comparac ¸a ao dos bits dentro das palavras obtida pela tabela. para 1 milh˜ ao de tabelas testadas.999. Resultados obtidos com a nova tabela de deslocamento de bits Com a tabela de deslocamento de bits original do MD6.c).˜ o de alguns dos caminhos diferenbela de deslocamento de bits n˜ ao possibilite a formac ¸a ciais com 26 portas AND ativas em 15 rodadas est˜ ao descritas a seguir: 1. Com as restric ¸o n´ umero 1. D172 = 2. de acordo com a medida usada para a ˜ o das tabelas. D83 = 1. Nova tabela de deslocamento de bits encontrada: melhor taxa de di˜ de bits em relac ˜ a ` tabela original do MD6 e atende as ` restric ˜ fusao ¸ ao ¸ oes adicio˜ de alguns dos caminhos diferenciais com 26 portas nais para impedir a formac ¸ ao AND ativas em 15 rodadas. descritas acima. 1 milh˜ ao de tabelas.812.663. Se i − j = t5 m´ odulo c. 2. Se i − j = t5 − t0 m´ odulo c. e vai incrementando ˜o esse valor.

da posic ¸a a no c´ alculo do valor diferencial da posic ¸a ˜ o 261 est´ Mas. Sendo assim. portanto a posic ¸a a al´ em do c´ alculo de 16 rodadas. Esse deslocamento de 12 posic ¸o ´ adicionada ao c´ (6) e (7) faz muita diferenc ¸ a quando 1 rodada e alculo. ao valor diferencial da posic ¸a A vantagem da nova tabela de deslocamento de bits aparece quando buscamos ˜ es entre caminhos diferenciais v´ alidos em 16 rodadas. ˜ es. O que possibilita a existˆ estando apenas deslocados de 12 posic ¸o encia de um caminho diferencial v´ alido correspondente ao padr˜ ao de peso de caminho diferencial (7). inde´ o fato do ´ pendente da tabela de deslocamento de bits usada. de portas AND ativas neste caminho e A busca por padr˜ oes de peso de caminho diferencial com 26 portas AND ativas ´ bem demorada. o valor diferencial da posic ¸a ao depende apenas do valor diferencial da posic ¸a ˜ o 88 pode ser igual mas tamb´ em de um valor desconhecido. D88 = 2. Pelo que temos observado dos resultados da busca com˜ o de caminhos putacional e pelo que conseguimos analisar das possibilidades de formac ¸a diferenciais v´ alidos. No padr˜ ao de ˜o peso de caminho diferencial (6). J´ renciais nas posic ¸o a no padr˜ ao de peso de caminho diferencial (7). D160 = 2. D88 = 2. 262 . J´ a o valor diferencial da ˜ o 160 em (7) aparecer´ ˜ o 249 (160 + 89). e portanto o valor diferencial desta posic ¸a ´ anterior ao valor diferencial da um valor diferencial que n˜ ao faz parte do caminho. comprovamos a existˆ encia de um caminho diferencial v´ alido para o seguinte padr˜ ao de peso de caminho diferencial: D16 = 2. o valor diferencial da posic ¸a diferencial desconhecido que consideramos que possa ser qualquer valor. em 16 rodadas temos 256 passos. (7) Podemos observar que estes dois padr˜ oes de peso de caminho diferencial s˜ ao semelhantes. parece improv´ avel que exista um caminho diferencial v´ alido com menos do que 38 portas AND ativas em 16 rodadas quando utilizada a nova tabela de deslocamento de bits. O valor diferencial ˜ o 172 em (6) aparecer´ ˜ o 261 (172+89). que e ˜ o de ´ ˜ o 88 depende de um valor posic ¸a ındice 0. (8) ´ uma extens˜ Este padr˜ ao de peso de caminho diferencial e ao a 16 rodadas de (7). D71 = 1. D249 = 4. e ario que o valor diferencial da posic ¸a ˜ es 100 e 172.de bits. existe um outro padr˜ ao de peso de caminho diferencial com 26 portas AND ativas em 15 rodadas que possui um correspondente caminho diferencial v´ alido: D16 = 2. com a tabela de deslocamento de bits original do MD6. D71 = 1. posic ¸a a no c´ alculo do valor diferencial da posic ¸a que est´ a dentro do c´ alculo de 16 rodadas. At´ ou mais e e o momento conseguimos comprovar que com a nova tabela n˜ ao existem caminhos diferenciais v´ alidos com at´ e 27 portas AND ativas. Desta forma. para que os valores diferenciais se anulem na posic ¸a ´ necess´ ˜ o 83 resulte nos mesmos valores dife189. o mesmo caminho diferencial com 26 portas AND ativas em 15 rodadas correspondente ao padr˜ ao ´ v´ de peso de caminho diferencial (6) e alido para 16 rodadas. N˜ ao conseguimos comprovar a inexistˆ encia de caminhos diferenciais v´ alidos com mais de 27 e menos do que 38 portas AND ativas. como ˜ o 88 n˜ ˜ o 71. O n´ umero ´ 38. D160 = 2. Executando o programa de busca para 16 rodadas com a nova tabela de deslocamento de bits. o valor diferencial da posic ¸a ˜ o 160 independente da tabela de deslocamento de bits usada. e ındice 88 fazer parte das ˜ o depende de primeiras 89 palavras do caminho.

˜ o de compress˜ quantas rodadas seriam necess´ arias para garantir a seguranc ¸ a da func ¸a ao do MD6 contra um ataque diferencial padr˜ ao. As 132 rodadas necess´ arias quando a tabela de deslocamento de bits original ´ utilizada foi calculada da mesma forma. mas considerando que nesse caso o do MD6 e ´ 26. Ent˜ ao. Somando as 15 rodadas da margem de seguranc ¸ a. Ao anunciar que o MD6 n˜ ao atenderia aos requisitos estabelecidos pelo NIST ˜ o de escolha do SHA-3. Ron Rivest alertou que seria extremamente para a competic ¸a importante que o algoritmo de SHA-3 que viesse a ser escolhido fosse demonstravelmente resistente a ataques diferenciais. quando a tabela de deslocamento de bits original do MD6 e Tabela 5. ent˜ ao em 5 conjuntos de 16 rodadas mais 1 conjunto de 6 rodadas teremos no m´ ınimo 5 × 38 + 3 = 193 portas AND ativas. ˜ o do NIST para escolha do SHA-3 ela n˜ mas nas plataformas de referˆ encia da competic ¸a ao ´ suficiente para torn´ e a-la competitiva. Numero ´ m´ ınimo de rodadas r para cada valor de d quando a tabela ori´ utilizada e portanto existe um caminho diferencial com 26 portas ginal do MD6 e AND ativas em 16 rodadas. e precisa ser relativamente alto para a demonstrac ¸a 263 . Conclus˜ ao ´ excelente em sistemas com m´ A eficiˆ encia do MD6 e ultiplas unidades de processamento. 4. d 40 80 128 160 224 256 384 512 min AAGs 20 40 64 80 112 128 192 256 r min original 29 43 57 66 87 90 132 165 r min com nova tabela 29 37 46 55 63 76 101 127 ˜o reduc ¸a 0% 14% 19% 17% 28% 16% 23% 23% Segue um exemplo de como foram calculados os n´ umeros de rodadas na tabela 5: precisamos de 5 conjuntos de 16 rodadas mais 1 conjunto de 6 rodadas para garantir que haver´ a no m´ ınimo m´ ınimo 192 portas AND ativas para quando o comprimento do resumo ´ de 384 bits. considerando a possibilidade de que o n´ umero m´ ınimo de portas AND ativas em 16 rodadas com a nova tabela de deslocamento de bits seja 38. e compara essa quantidade de rodadas com a quantidade de rodadas necess´ arias ´ utilizada. para cada valor de comprimento do resumo da mensagem d.A tabela 5 mostra. chegamos em 101 rodadas. comparado ao numero ´ m´ ınimo de rodadas considerando a possibilidade de que o numero ´ m´ ınimo de portas AND ativas em 16 rodadas seja 38 quando utilizada a nova tabela de deslocamento de bits (numero ´ ´ somado a ` margem de seguranc m´ ınimo de rodadas ja ¸ a de 15 rodadas). o n´ umero m´ ınimo de rodadas dever´ a ser 5 × 16 + 6 = 86. e n˜ n´ umero m´ ınimo de portas AND ativas em 16 rodadas e ao 38. pois se cada conjunto de 16 rodadas tem no m´ da mensagem e ınimo 38 portas AND ativas e um conjunto de 6 rodadas tem no m´ ınomo 3 portas AND ativas (tabela 2). ˜ o de compress˜ O n´ umero de rodadas da func ¸a ao do MD6 tem um impacto direto ˜ o da na velocidade de processamento.

Agre. Com a nova tabela s´ o conseguimos encontrar um caminho diferencial v´ alido em 16 rodadas com 38 portas AND ativas. mostramos nesse trabalho que e ıvel demons˜ o de compress˜ trar a resistˆ encia da func ¸a ao a ataques diferenciais com um n´ umero menor de rodadas. Seguindo inicialmente as sugest˜ oes apresentadas ´ poss´ em [Rivest et al. R. o que identificamos ser uma falha na escolha dos valores da tabela original. Bailey.. mostrando que o n´ umero m´ ınimo de portas AND ativas em 16 rodadas pode ˜ o de compress˜ ser maior se utilizada na func ¸a ao uma nova tabela de deslocamento de bits (4).˜ o da resistˆ resistˆ encia do MD6 a ataques diferenciais. The MD6 hash function A proposal to NIST for SHA-3. Krishnamurthy. A. Fleming. et al. Lin. 2008] na p´ agina 111. D. Se confirmado que 38 e umero m´ ınimo de portas AND ativas em 16 rodadas. mas. O uso desta nova tabela n˜ ao aumenta o n´ umero m´ ınimo de portas AND ativas em ˜o at´ e 15 rodadas. Reyzin. Submission to NIST. Crutchfield. a ˜ o da resistˆ nova tabela de deslocamento de bits torna poss´ ıvel a demonstrac ¸a encia do MD6 a ataques diferenciais com um n´ umero de rodadas reduzido de acordo com os resultados apresentados na tabela 5... Referˆ encias Rivest. que foi o n´ umero de rodadas analisado originalmente na demonstrac ¸a da resistˆ encia do MD6 a ataques diferencias. 264 . que n˜ ao possui as falhas identificadas na tabela original e nem outras poss´ ıveis falhas ´ melhor para a taxa encontradas em outras tabelas durante o processo de busca. A demonstrac ¸a encia a ataques dife˜ o de que em um determinado n´ renciais exige a comprovac ¸a umero de rodadas haver´ a um n´ umero m´ ınimo de portas AND ativas..... Buscamos por uma nova tabela de deslocamento de bits e encontramos a tabela (4).. K. e j´ a comprovamos que n˜ ao existem caminhos v´ alidos com at´ e 27 portas AND ´ o n´ ativas. analisando esses caminhos diferenciais descobrimos que alguns deles s´ o existiam devido a determinadas caracter´ ısticas da tabela de deslocamento de bits original do MD6 (1). L. Khan. Constatamos que esses caminhos diferenciais v´ alidos existiam para alguns padr˜ oes de peso de caminho diferencial. Y. que foi o crit´ erio usado para a escolha da tabela original. Quando a tabela original do MD6 e ´ usada. J. (2008). C. Verificamos se existiam caminhos diferenciais v´ alidos correspondentes aos padr˜ oes de peso de caminho diferencial encontrados na busca do limite inferior de portas AND ativas em at´ e 15 rodadas. existe um c´ alculo e caminho diferencial v´ alido com 26 portas AND ativas em 16 rodadas. Y.. Dodis.. mas a nova tabela faz diferenc ¸ a quando o ´ feito para 16 rodadas. e ainda e de difus˜ ao de bits. B.

2008/06189-0. Por outro lado. conhecido como certificateless. in which an authority is able to generate system parameters with shortcuts to session key recovery. sem a necessidade de distribuic ˜ o de certificados digitais e com n´ ıvel de seguranc ¸ a maior que o alcanc ¸ ado por protocolos baseados em identidade. o modelo de Al-Riyami e Paterson simplifica os validac ¸a ¸a processos. pois preveem a existˆ encia de um advers´ ario capaz de substituir arbitrariamente as chaves p´ ublicas dos usu´ arios. ˜ o de chaves de sess˜ Apresentamos um protocolo que e ´ mostrado seguro nesse modelo estendido. ˜o 1. A ˜ o da chave p´ ˜ o dos protocolos. com eficiˆ encia equivalente a de protocolos anteriores. rt}@ime. we introduce an enhanced security model that is resistant to malicious authority attacks. por´ em ˜ o de Chaves ou KGC (Key Generation a autoridade do sistema. fornece a cada usu´ ario registrado uma chave secreta parcial. Resumo. Routo Terada 1 ˜ o – Universidade de S˜ Departamento de Ciˆ encia da Computac ¸a ao Paulo – Brasil {dhgoya. Introduc ¸a Em 2003. In this work. chamada Centro de Gerac ¸a Center). Neste artigo. calculada a partir ´ da identidade do usu´ ario e da chave secreta mestra do KGC. requer uma infraestrutura mais simples e potencialmente reduz custos operacionais.br Abstract. We present a new protocol that is proved secure in this extended security model and has equivalent performance to previous ones. ∗ † O autor recebeu apoio financeiro da Fapesp. os algoritmos sob esse modelo tendem a ser mais complexos. cada usu´ ario cria um par de chaves (p´ ublica e privada. que gera parˆ ametros do sistema de forma a criar atalhos para recuperac ¸a ao. Al-Riyami e Paterson propuseram um modelo alternativo de chave p´ ublica que dispensa a necessidade de certificados digitais e de uma infraestrutura de chaves p´ ublicas (ICP) [Al-Riyami e Paterson 2003]. parado ao modelo convencional em que e ¸a ¸a ˜ o e revogac ˜ o de certificados. Nesse modelo.Acordo de Chave Seguro contra Autoridade Mal Intencionada Denise Goya∗. Certificateless key agreement protocols allow authenticated key establishment without the need of digital certificate distribution and with security level higher than the one reached by identity-based key agreement protocols. 265 . Dionathan Nakamura†. propomos a extens˜ ao do modelo de seguranc ¸ a. O autor recebeu apoio financeiro do CNPq. Essa chave secreta parcial e um componente da chave secreta e estabelece um v´ ınculo entre o usu´ ario e o sistema. distribuic ˜ o. Protocolos de acordo de chaves no modelo de criptografia de chave p´ ublica sem certificado permitem o estabelecimento de chaves secretas com autenticac ¸a ¸a ˜ o. tornando-o resistente a ataques de uma autoridade mal intencionada.usp. Comcertificac ¸a ublica ocorre implicitamente com a execuc ¸a ´ requerida uma ICP para gerac ˜ o. tal qual no modelo convencional). nakamura.

Na Sec ¸a ˜ o 5. Nos dois casos. ˜ o do Trabalho Organizac ¸a ˜ o 2. 2009] e apresentam demonstrac ¸a a hip´ otese de dificuldade do problema Diffie-Hellman Computacional Lacunar (Gap-DH). cerca de 50% mais velozes. Os autores refinam a descric ¸a ˜ o sob de seguranc ¸ a dado inicialmente em [Lippold et al. participantes em uma ˜ o podem se autenticar mutuamente e estabelecer chaves de sess˜ comunicac ¸a ao sem verificar certificados de chave p´ ublica. Protocolos CL-AKA s˜ ao mais seguros que os baseados em identidade [Chen et al. 2009]. 2007]. tornando-o mais forte que o de [Lippold et al. Boyd e Gonz´ alez Nieto (LBG) aprimoram o modelo de Swanson e Jao e apresentam o primeiro protocolo CL-AKA demonstrado seguro sob um modelo forte de seguranc ¸ a [Lippold et al. 2010]. Na Sec ¸a ˜ o de seguranc ˜o lha na demonstrac ¸a ¸ a do protocolo de [Yang e Tan 2011]. Yang e Tan propuseram protocolo CL-AKA que n˜ ao requer ˜ o do modelo emparelhamento bilinear [Yang e Tan 2011]. apresentamos conceitos necess´ Na Sec ¸a arios para a compreens˜ ao dos protocolos ci˜ o 3. Por fim. ˜ es: Neste trabalho. 2009] para prevenir ataques contra KGC mal intencionado. Mais recentemente. um estudo realizado por Swanson e Jao mostra que todos os protocolos existentes at´ e ent˜ ao s˜ ao inseguros sob um modelo de seguranc ¸ a adequado ao caso sem certificados [Swanson e Jao 2009]. No entanto. que gera parˆ ametros do sistema de forma a criar atalhos para forjar assinaturas ou decifrar textos de usu´ arios predeterminados ´ de nosso conhecimento nenhum modelo ou protocolo para CL[Au et al. os autores afirmam que vers˜ oes simplificadas. Ambos protocolos. na Sec ¸a 266 . s˜ ao seguras sob a hip´ otese de dificuldade do problema Diffie-Hellman Bilinear Lacunar (Gap-BDH). 2007]. N˜ ao e AKA que tenham sido propostos para seguranc ¸ a contra KGC mal intencionado. uma vers˜ ao otimizada do antecessor LBG [Goya et al. Na Sec ¸a ao do modelo de seguranc ¸ a para captura de ˜ o 4. Um problema acerca dos proto´ a carˆ ˜ es computacionalmente eficientes que s˜ colos CL-AKA e encia de opc ¸o ao ao mesmo tempo seguras sob forte modelo de seguranc ¸ a. propomos um novo protocolo que e ´ ataques de um KGC mal intencionado.˜ o no moNo caso particular dos protocolos de acordo de chaves com autenticac ¸a delo de criptografia de chave p´ ublica sem certificados (CL-AKA). Um grande n´ umero de protocolos CL-AKA pode ser encontrado na literatura. ˜ o de seguranc • apontamos que existem falhas na demonstrac ¸a ¸ a do protocolo de [Yang e Tan 2011]. apresentamos as seguintes contribuic ¸o • estendemos o modelo de seguranc ¸ a para CL-AKA. ˜ o de seguranc • apresentamos um novo protocolo e respectiva demonstrac ¸a ¸ a sob esse modelo estendido. LBG e GOT. Lippold. s˜ ao seguros sob a hip´ otese de dificuldade do problema Diffie-Hellman Bilinear (BDH). temos conhecimento ter sido demonstrado seguro sob o mesmo modelo e Okida e Terada (GOT). apontamos fademonstrado seguro no modelo estendido (no Apˆ endice A). Alguns protocolos de assinatura e de cifragem no modelo sem certificado s˜ ao vulner´ aveis ao ataque do KGC mal intencionado. Um segundo protocolo CL-AKA de que ´ o de Goya. pois as consequˆ encias do comprometimento da chave ´ menos dependente do n´ mestra secreta s˜ ao atenuadas e a seguranc ¸a e ıvel de confianc ¸ a que os usu´ arios precisam depositar na autoridade do sistema. descrevemos uma extens˜ tados. por´ em s˜ ao lentos e pouco vi´ aveis para uso pr´ atico. de modo que nada se pode afirmar sobre sua seguranc ¸ a.

a seguranc ¸ a no futuro completa-fraca (wPFS. 2009]. Por exemplo. sobre o participante A. com G e GT grupos de ordem prima q [Boneh e Franklin 2003]. P )abc .1. calcular e(P. bP. • revelar o segredo tempor´ ario de uma dada sess˜ ao ou escolhˆ e-lo ativamente. bP. A principal diferenc ¸ a entre os modelos propostos em [Swanson e Jao 2009] e em 267 . S˜ ao supostos dif´ ıceis: BDH. ou Weak Perfect Forward Secrecy). ´ desejado tamb´ Krawczyk 2005]. Um protocolo CL-AKA demonstrado seguro no modelo de [Lippold et al. c ∈ Zq . P )abc . • revelar o valor tempor´ ario de sess˜ ao rA . No caso especial sem certificado. aP. cP . T . iniciando sess˜ oes ou registrando novos usu´ arios arbitrariamente. ou Keye a ataques de personificac ¸a Compromise Impersonation). cP. a resistˆ encia a ataques de compartilhamento desconhecido de chave (UKS. • revelar a chave secreta parcial de determinados usu´ arios ou revelar a chave mestra secreta do KGC.˜ es com o novo protocolo proposto. Problema de Decis˜ ao Diffie-Hellman Bilinear: dados aP. Seja P ∈ G um gerador de G e valores aleat´ orios a. 2. Sec ¸a 2. que denotamos por A e B . Problema Diffie-Hellman Bilinear Lacunar: dados P. cP . Gap-BDH. ou Unknown Key-Share) e a resistˆ encia ao vazamento de segredos tempor´ arios ou do estado da sess˜ ao [LaMacchia et al. e em seguranc ¸ a no futuro perante o KGC (KGC Forward Secrecy) e resistˆ encia ao vazamento de segredos ´ ltimas propriedades s˜ tempor´ arios para o KGC. Essas duas u ao tratadas no modelo formalmente descrito em [Lippold et al. seguidas das conclus˜ 6 realizamos comparac ¸o oes na ˜ o 7. aP. • revelar a chave secreta parcial dA ou revelar a chave mestra secreta. decidir se abc ? e(P. 2007. Todos os demais usu´ arios podem ser integralmente corrompidos pelo advers´ ario. com a ajuda de um or´ aculo de decis˜ ao DBDH. no m´ aximo. 2007]. calcular e(P. Conceitos Preliminares Os protocolos aqui discutidos fazem uso de um emparelhamento bilinear admiss´ ıvel e : G × G → GT . duas das trˆ es linhas abaixo: • revelar o valor secreto xA ou substituir a chave p´ ublica de A. 2009] se mant´ em seguro ainda que o advers´ ario corrompa no m´ aximo dois dos trˆ es componentes de cada um dos participantes da sess˜ ao de Teste. ´ Esse modelo e uma variante do Canetti-Krawczyk estendido [LaMacchia et al. Propriedades de Seguranc ¸ a para CL-AKA Dentre as propriedades de seguranc ¸ a mais importantes e requeridas nos protocolos de ˜ o est˜ ˜ o b´ acordo de chaves com autenticac ¸a ao a resistˆ encia a ataques de personificac ¸a asicos ˜ o pelo comprometimento de chave secreta (KCI. que permite um advers´ ario: • substituir a chave p´ ublica de um dado usu´ ario ou revelar o valor secreto corres` chave p´ pondente a ublica de um usu´ ario. a seguranc ¸ a de chave conhecida. b. DBDH. P ) = T . bP. o advers´ ario pode efetuar. • revelar a chave secreta de uma dada sess˜ ao. Problema Diffie-Hellman Bilinear: dados P. • interagir de forma adaptativa com o protocolo.

Por esse motivo. a chave mestra secreta fica em poder exclusivo do advers´ ario. 268 . No trabalho de Lippold et al. 2009] est´ a no tratamento do or´ aculo que revela para o advers´ ario a chave de uma dada sess˜ ao. Extens˜ ao do Modelo de Seguranc ¸a ˜ o. nesse caso. limitac ¸o 3. O atacante interno (Tipo II) conhece a chave mestra secreta e modela o KGC ou um advers´ ario que corrompeu o principal segredo do sistema. o advers´ ario tem as mes˜ es que as de [Zhang et al. 2010]. at´ e mesmo o usu´ ario dono passa a usar a nova chave ´ equivalente a ` existente nos modelos p´ ublica escolhida pelo advers´ ario. Para capturar um comportamento indesej´ avel do KGC em gerar parˆ ametros de forma desonesta. No trabalho de Swanson e Jao. o usu´ ario continua a usar seu pr´ oprio par original de chaves p´ ublica e secreta no c´ alculo da chave de sess˜ ao.[Lippold et al. desabilitamos para o advers´ ario interno a consulta aos or´ aculos que revelam a chave mestra ou a chave parcial de um dado usu´ ario. No entanto. Esse atacante interno mal intencionado pode substituir chaves p´ ublicas e revelar segredos tempor´ arios de sess˜ ao. se o advers´ ario substituir uma chave p´ ublica. Tomamos como ponto de partida o modelo de Lippold et al.. alterac ¸o O modelo de Lippold et al. mesmo que o advers´ ario tenha substitu´ ıdo a chave p´ ublica. sob total controle do advers´ nestos. um atacante ex˜ es relacionadas ao atacante externo terno e outro interno. o advers´ ario informa o valor da chave secreta parcial. Com essas ˜ es. Nada mudamos nas definic ¸o ´ aquele que desconhece a chave mestra secreta. impedir que um atacante externo revele a chave parcial de um dos participantes da sess˜ ao de Teste e n˜ ao permitir que um advers´ ario interno substitua a chave p´ ublica de um dos participantes do ˜ es. isto e ao seguros no primeiro tamb´ em ´ que o advers´ o s˜ ao no segundo. pode substituir chaves p´ ves parciais de entidades a ublicas ou revelar segredos tempor´ arios de sess˜ ao.. mas ˜ es similares podem ser feitas sobre o modelo de [Swanson e Jao 2009]. O modelo Strong e ´ . mas que pode revelar cha(Tipo I). al´ mas restric ¸o em de n˜ ao poder revelar chaves de sess˜ ao para os casos em que um dos participantes tenha a chave p´ ublica substitu´ ıda. permitimos que o advers´ ario interno escolha arbitrariamente todos os parˆ ametros do sistema e os entregue ao simulador do sistema. Nesse modelo mais fraco. protocolos que s˜ Teste. trata-se de um modelo mais fraco que restringe os poderes do advers´ ario. descrevemos informalmente o modelo de seguranc Nesta sec ¸a ¸ a que previne ataques do KGC mal intencionado. Com essas limitac ¸o ao demonstrados seguros sob o modelo de Zhang et al. Esta diferenc ¸a e ´ estritaStrong e Weak para cifragem sem certificado [Dent 2008]. o modelo fica mais fraco que o de Swanson e Jao. especifica dois tipos de advers´ ario. Outro modelo de seguranc ¸ a que sabemos ter sido desenvolvido para protocolos CL-AKA foi apresentado em [Zhang et al. por exemplo. isto e ario). ´ preciso modificar o comportamento do or´ Tamb´ em e aculo que cria novos usu´ arios (deso´ . 2010]. al´ em da identidade e chave p´ ublica do usu´ ario. Outra diferenc ¸ a no modelo de Swanson e Jao e ario que conhece a chave mestra secreta n˜ ao pode substituir chaves p´ ublicas. os protocolos que s˜ mente mais forte que o Weak. s˜ ao eficientes. os demais usu´ arios calculam a chave de sess˜ ao usando a chave p´ ublica substitu´ ıda. nesse caso. Lippold e Gonz´ alez Nieto apresentaram uma vers˜ ao mais fraca de modelo ˜ o geral de CL-AKA para mostrar a seguranc ¸ a no modelo padr˜ ao de uma construc ¸a [Lippold e Gonz´ alez Nieto 2010]. por´ em na pr´ atica n˜ ao s˜ ao resistentes a ataques do tipo KCI. como. que e ` sua escolha.

externo ou interno mal intencionado. rB sP + dB1 ) L = e(rA P + QA2 . sobre uma sess˜ ao necessariamente fresh. A vantagem do advers´ ario e ancia entre 0. 4.1. rB ∈ Zq . L. o simulador joga uma moeda n˜ ao viciada para escolher se entrega a verdadeira chave da sess˜ ao de Teste ou um n´ umero aleat´ orio.Duas sess˜ oes s˜ ao consideradas com matching se: (1) envolvem os mesmos parti´ o emissor e o outro o receptor. ent˜ cipantes. Z ) 4. xA sP ) Z = (xA xB P. tem vantagem negligenci´ avel sob o parˆ ametro de seguranc ¸ a. rA sP + dA1 ) L = e(rB P + QB2 . calculada a partir da chave mestra secreta s do KGC. Ent˜ ao trocam as seguintes mensagens A → B : EA = (rA P. rB xA P. al´ em da chave mestra p´ ublica sP . K. que e forma segura. B. 1}∗ → G e H2 : {0. 269 . Novo Protocolo CL-AKA Seguro no Modelo Estendido Passamos a descrever um novo protocolo CL-AKA que pode ser demonstrado seguro no ˜ o 3. O advers´ ario vence o jogo contra o simulador se puder advinhar qual foi o ´ definida como a distˆ resultado da moeda jogada.5 e a probabilidade dele vencer o jogo. (2) se na primeira sess˜ ao um participante e ao na segunda sess˜ ao os participantes devem inverter os pap´ eis e (3) as mensagens de sa´ ıda ` s de entrada na outra e vice-versa. L. possui um valor p´ ublico (QA1 = H1 (A). um par para chave ´ calculado e entregue pelo KGC de secreta parcial (dA1 = sQA1 . • n˜ ao existe sess˜ ao com matchingque tenha tido sua chave secreta revelada. dA1 ) · e(QB1 . dois usu´ arios A e B escolhem seus valores secretos tempor´ arios. trˆ es func ¸o aficas H : {0. EA . ´ nica consulta ao or´ O advers´ ario pode realizar uma u aculo de Teste. xB P ) Ao receberem a mensagem do parceiro. M. xA P ) B → A : EB = (rB P. descrito na Sec ¸a ametros do sistema incluem um emparelha˜ es de hash criptogr´ mento bilinear e : G×G → GT . EB . M. 1}k H1 : {0. xB rA P ) SK = H (A. rB sP + dB2 ) M = e(xA P. • nenhum de seus participantes teve mais que dois segredos corrompidos. QA2 = H2 (A)). um valor secreto xA e a correspondente chave p´ ublica xA P . rA rB P. ´ dito seguro se qualquer advers´ Um protocolo CL-AKA e ario. verificam a pertinˆ encia a G2 e: A calcula: K = e(rB P + QB1 . Seguranc ¸ a do Novo Protocolo ˜ o do problema DiffiePara a seguranc ¸ a do protocolo proposto. xA rB P. xB sP ) Z = (xB xA P. 2007]. rA sP + dA2 ) M = e(xB P. digamos A. K. apresentamos uma reduc ¸a Hellman Bilinear Lacunar (Gap-BDH) para o problema de se construir um algoritmo que diferencie um n´ umero aleat´ orio de uma chave secreta calculada pelo protocolo proposto. Os parˆ modelo estendido. rA xB P ) SK = H (A. Para estabelecerem uma chave secreta em comum. 1}∗ → {0. e calculam rA P e rB P . Um usu´ ario identificado por sua identidade. respectivamente rA . 1}∗ → G. B. Para responder esse or´ aculo. rB rA P. ˜ A descric ¸ ao formal desses conceitos e modelo segue [Bellare e Rogaway 1993a] e [LaMacchia et al. EA . Uma sess˜ ´ considerada de uma sess˜ ao s˜ ao iguais a ao e fresh se: • ela se encerrou e o advers´ ario n˜ ao revelou a chave de sess˜ ao. dB1 ) · e(QA1 . dA2 = sQA2 ). EB . Z ) B calcula: K = e(rA P + QA1 .

432 Novo 4 0 1 6 4 est.062 0. ent˜ ao o protocolo CL-AKA Novo e ´ seguro.019 0. mas que envolvem seus ˜ es (por exemplo participantes e que possuem matching com outra sess˜ ao. GOT [Goya et al. O protocolo de ´ menos eficiente no uso do canal de comunicac ˜ o. apresen˜ o sob o modelo de or´ tamos sua demonstrac ¸a aculo aleat´ orio [Bellare e Rogaway 1993b]. A seguir. os autores n˜ ao tratam corretamente os casos em que o advers´ ario revela chaves de sess˜ oes diferentes da de Teste. e ˜ es 6. 0. A Tabela 1 mostra os protocolos LBG no modelo estendido apresentado na Sec ¸a ˜ o 4). Comparac ¸o O protocolo novo tem desempenho computacional similar aos anteriores.033 0. Comparac ¸ ao Emparelhamentos ˜ es em GT Exponenciac ¸o ˜ es em GT Multiplicac ¸o ˜ es em G Multiplicac ¸o ˜ es em G Adic ¸o Modelo de seguranc ¸a Tempo (s) B-271 B-1223 Normal LBG-Gap GOT-Gap 4 4 2 0 2 1 5 7 0 2 Lippold et al.504 3.955 1. Por esse motivo. 0.061 3.769 270 .062 3. dependendo do esquema de assinatura escolhido. contando-se o tempo desde a escolha do valor secreto tempor´ ario rP at´ e o c´ alculo da chave de sess˜ ao SK . 2009].442 ˜o Pr´ e-computac ¸a LBG-Gap GOT-Gap Novo 1 1 2 1 0 0 1 0 0 4 5 5 0 2 4 Lippold et al. 2009]. isto e ario ˜ o [Yang e Tan 2011]. na prova de seguranc ¸ a. Revis˜ ao do Protocolo de Yang e Tan ˜ es na especificac ˜ o formal do modelo de Yang e Tan propuseram pequenas modificac ¸o ¸a seguranc ¸ a de [Lippold et al. sob o modelo de advers´ ario estendido da Sec ¸a ao existe algoritmo de tempo polinomial que resolve o Gap-BDH. 2010] e o novo (descrito na Sec ¸a n´ ıvel de seguranc ¸ a para o problema Gap-BDH. a simulac ˜ o pode ser abortada e o simulador n˜ no caso (1f ) da demonstrac ¸a ¸a ao poder´ a aproveitar a vantagem do advers´ ario. no apˆ endice A. n˜ ao se pode afirmar que o protocolo ´ seguro no modelo prometido. enunciamos o teorema que relaciona a vantagem do advers´ ario com a do solucionador do Gap-BDH. se as func ¸o ˜ es H. como ´ .˜ o indica que se houver um advers´ A reduc ¸a ario com vantagem n˜ ao negligenci´ avel contra ˜ o 3. em dois cen´ arios diferentes.019 0. por´ em sem alterar as propriedades essenciais. No entanto. Nessas situac ¸o ˜ o). por´ em apresenta ˜ o a um advers´ n´ ıvel de seguranc ¸ a maior com relac ¸a ario interno. todos no [Lippold et al. Os autosecreto dos envolvidos em uma sess˜ ao de comunicac ¸a res propuseram um protocolo CL-AKA sem emparelhamento bilinear e apresentaram ˜ o de seguranc demonstrac ¸a ¸ a sob a hip´ otese de dificuldade do Gap-DH. H1 e H2 s˜ ao modeladas como or´ aculos aleat´ orios. 0. est. ent˜ o protocolo. que pode escolher arbitrariamente o valor do tempor´ permitir advers´ ario ativo. Teorema 1 Sob a hip´ otese de dificuldade do problema Gap-BDH.992 0. por´ Yang e Tan e ¸a em tende a ser mais eficiente computacionalmente. O cen´ ario normal exibe os protocolos da maneira como eles s˜ ao definidos. 5. pois foi mostrado seguro ˜ o 3. ˜ dos protocolos seguros sob o problema Gap-BDH Tabela 1.

Essas curvas apresentam n´ ıvel de seguranc ¸ a m´ ınimo ˜ o dos protocode 70 bits e 128 bits respectivamente. O ambiente de testes para simulac ¸a los inclui um computador com processador Intel Core 2 Duo T5450 (1. S. tornando-o resistente a ´ ataques de uma autoridade mal intencionada. apresenta falhas na demonstrac ˜ o de seguranc para implementac ¸o ¸a ¸ a. sugerimos a busca por protocolos que sejam mostrados seguros no modelo padr˜ ao. volume 2894 of LNCS. J. F. C. Conclus˜ oes Estendemos o modelo de seguranc ¸ a mais forte dentre os existentes para protocolos de acordo de chave no modelo de chave p´ ublica sem certificado. Os tempos da Tabela 1 foram obtidos com essa configurac ¸a Com base nos resultados apresentados na Tabela 1. e Gouvˆ ea. K. Estamos ˜ es sobre o protocolo aqui proposto. assim do ponto de vista do usu´ ario A. G. Au. Aranha. observa-se que em uso nor˜ o..2.google. Mu. e Paterson. S. Apresentamos um novo protocolo que e seguro nesse modelo estendido. J´ mal os protocolos possuem aproximadamente os mesmos tempos de execuc ¸a a com ˜ o. que e ¸a ` s execuc ˜ es empregando as curvas bin´ apresenta dois tempos que se referem a ¸o arias B-271 e B-1223 presentes na biblioteca. uma para garantir n´ trabalhando em duas variac ¸o ıvel de seguranc ¸ a maior com o problema computacional BDH (melhor que Gap-BDH) e outra para maior eficiˆ encia com modelo de seguranc ¸ a melhorado de Swanson e Jao. Apesar do processador ter 2 n´ ucleos. M. P. Liu. o novo protocolo n˜ pr´ e-computac ¸a ao obt´ em vantagem de tempo. bastando apenas serem armaze´ importante notar os valores pr´ nados.com/p/relic-toolkit/.. sem or´ aculos aleat´ orios. E e-calculados derivados da chave secreta devem ser armazenados de forma segura. Os protocolos foram codificados com a biblioteca criptogr´ afica Relic (vers˜ ao ´ escrita em linguagem de programac ˜ o C. G. Os programas s˜ programas s˜ ao executados em apenas uma u ao compilados e ˜ o. Malicious kgc attacks in certificateless cryptography. sob a hip´ otese de dificuldade do problema Gap-BDH. pois apresentam n´ ıvel de seguranc ¸ a inferior. O protocolo proposto tem desempenho equivalente a ˜ es similares. NY. S. Apontamos que o protocolo de Yang e Tan. (2003). H..˜o e ´ considerado quando um usu´ O cen´ ario com pr´ e-computac ¸a ario A se comunica frequentemente com um usu´ ario B . J. New York. alguns valores referentes a B n˜ ao precisam ser computados novamente. http: //code. Como trabalho futuro. Certificateless public key cryptography. mas ocupa um patamar de outros que foram mostrados seguros em condic ¸o seguranc ¸ a mais elevado. no modelo de or´ aculos aleat´ orios. Referˆ encias Al-Riyami. K. (2007). os ´ nica thread. ACM. D. pages 302–311. 7. D. e Yang. Na tabela n˜ ao foram inclu´ ıdos os protocolos que s˜ ao seguros sob outros modelos. USA.3) [Aranha e Gouvˆ ea ]. L. Springer. In ASIACRYPT 2003. Chen. In Proceedings of the 2nd ACM symposium on Information. Wong. RELIC is an Efficient LIbrary for Cryptography. ASIACCS ’07. 271 . Y. computer and communications security. que tem potencial ˜ es eficientes. A Tabela 1 0. executados em 64 bits..66Ghz e 2MB de cache L2) e sistema operacional Ubuntu 11.04.

P. USA. N. In LNCS CRYPTO’93. NY.Bellare. Identity-based encryption from the weil pairing. M. Inf. page 546566. SIAM J. Int. Lippold. Berlin. pages 57–71. e Rogaway. D. e Terada. L. A. In ProvSec’07: Proceedings of the 1st international conference on Provable security. cP ) referente a um desafio BDH e gera como resposta o valor e(cP. (2009). Vamos mostrar como construir um algoritmo S que recebe como entrada uma qu´ adrupla (P. e Gonz´ alez Nieto. USA. Springer-Verlag. K. ACM. Inc. Stronger security of authenticated key exchange. (2010). In Advances in Cryptology. Fairfax. (2005). C.. (1993b). D. Heidelberg. Sci. A two-party certificateless authenticated key agreement protocol. Boyd. M. Secur. W. Zhang. Strongly secure certificateless key exchange without pairing. e Domingo-Ferrer. LNCS 3621. J. In Proceedings of the Eighth Australasian Conference on Information Security – volume 105. e Jao. Lauter. e Franklin. pages 1–16. Swanson. ASIACCS ’11. Berlin. G. AISC ’10. S simula uma execuc ¸a ario 272 . G. Hmqv: a high-performance secure diffie-hellman protocol. J. In First ACM Conference on Computer and Communications Security. Sociedade Brasileira de Computac ¸a Krawczyk. Bellare. R. abP ) com a ajuda de um or´ aculo de ˜ o real do protocolo e interage com o advers´ decis˜ ao DBDH. In INDOCRYPT ’09: Proceedings of the 10th International Conference on Cryptology in India. 6(4):213–241. J. pages 232–249. Cheng. Heidelberg. (2003). P. Z. Identity-based key agreement protocols from pairings. Dent. pages 75–85. bP. B.. 7(5):349–377. Heidelberg. Q. In Pairing ’09: Proceedings of the 3rd International Conference Palo Alto on Pairing-Based Cryptography. Random oracles are practical: A paradigm for designing efficient protocols. A study of two-party certificateless authenticated keyagreement protocols. LaMacchia. (2008). G. que existe um algoritmo A de tempo polinomial probabil´ ıstico com vantagem n˜ ao negligenci´ avel em quebrar o protocolo. Inf. F. Okida. (2010). Goya. pages 71–79. (2007). e Tan. H. Australian Computer Society. pages 206–230.. (2007). 32(3):586–615. CRYPTO 2005.. Berlin. New York. Zhang.. Springer-Verlag. C. C. volume 5922 of LNCS. (2009).773. e Rogaway. D. C. (1993a). Secur. e Gonz´ alez Nieto. e Mityagin. Computer and Communications Security. J. pages 62–73. Lippold. L. M.. In Proceedings of the 6th ACM Symposium on Information.-H. Entity authentication and key distribution. Strongly secure certificateless key agreement. A. 180:1020–1030. por absurdo. aP. ACM. Springer Berlin.. Boneh.. P. (2011). In SBSeg 2010 X Simp´ osio Brasileiro de Seguranc ¸ a da Informac ¸a ˜o ˜ o. e de Sistemas Computacionais.. ˜ o do Teorema 1 A. J. Demonstrac ¸a Suponha. A survey of certificateless encryption schemes and security models. Comput. Virginia. Inf. e Smart. (2010). v.. volume 4784 of LNCS. Chen. Wu. Certificateless key agreement in the standard model. volume 5671 of LNCS. Simulatable certificateless two-party authenticated key agreement protocol. Int. Springer-Verlag. Yang.

o jogo ser´ a abortado em algum momento. Para mostrar que o advers´ ario n˜ ao e colher parˆ ametros de forma mal intencionada. S seleciona os parˆ sentam aqueles em que o advers´ ario e ametros do sistema e define mpk = aP . que equivalem respectivamente a ´ quem inicia a sess˜ ´ quem responde. ˜ o n˜ ´ Por outro lado. ent˜ ao. . Na Tabela 2. O simulador tenta advinhar qual desses nove casos o advers´ ario explorar´ a para quebrar o protocolo. S ainda estabelece que xA P = aP (casos 1 e 3). Casos validos de corrompimento dos participantes da sessao Advers´ ario 1 2 3 4 5 6 7 8 9 consulta A B A B A B A B A B A B A B A B A RevealPartial ou r r r r KGC mal intenc. Em outras palavras. 2 ´ maior que 1/(q0 q1 A probabilidade de S fazer escolhas corretas e ). S inicia. . com n ≤ q1 . O simulador escolhe I. se o advers´ ario realizar alguma operac ¸a ao permitida. xA P = cP (caso 6) e xB P = cP (caso 5). Sem perda de generalidade. Se 2 acertar. A prossegue at´ e o final e obt´ em vantagem contra o protocolo. . Se o jogo n˜ ampliac ¸o ¸a ao for abortado. com I = J . . n}. . Un }. se A apresenta vantagem n˜ ao negligenci´ avel. Os casos 5 a 9 repre´ externo. Se S fizer escolhas incorretas. onde t ∈ {1. e e e e e e e e RevealSV ou r r r r r r r r r r r ReplacePK e e e e e e e e e e e RevealEph ou r r r r r r r r r r r ´ ativo r advers´ ario e e r e r e r e r e r Advers´ ario pode revelar(r) ou escolher(e)/modificar valor do componente secreto B r e r e A. . A entrega para o simulador os parˆ ametros gerados junto com a chave mestra p´ ublica mpk e n˜ ao revela a chave mestra secreta msk . S permite que A selecione arbitrariamente os parˆ ametros do sistema. S tenta advinhar qual ser´ a a sess˜ ao sobre a qual A realizar´ a a consulta de Teste e quem ser˜ ao os participantes dessa sess˜ ao. No entanto. e ˜ o de seguranc a consulta de Teste sobre uma sess˜ ao fresh. xi . . a resposta ao desafio BDH. ent˜ ao a probabilidade de S completar o jogo ser´ a maior que 1/(9q0 q1 ). s˜ ao listadas as possibilidades que o advers´ ario possui para revelar ou ` sess˜ modificar valores secretos associados a ao de Teste e seus participantes. Antes do in´ ıcio do jogo entre o simulador S e o advers´ ario A. e a sess˜ ao Πt I. xi P ). . J ∈ {1. considere que A e ao e B e Os casos 1 a 4 representam aqueles em que o advers´ ario pode ser a pr´ opria autori˜ o de chaves que. . 2009] com as ˜ es descritas na Sec ˜ o 3. ` s identidades IDI e IDJ . Considere um conjunto de usu´ arios honestos previamente estabelecidos U = {U1 . Os participantes da sess˜ ao de Teste s˜ ao denotados por A e B . ent˜ ao. que e avel answer. o advers´ ario revela (ou modifica) no m´ aximo dois dos trˆ es componentes secretos associados a cada participante da sess˜ ao de Teste.´ ˜ de Teste Tabela 2. respeitando a definic ¸a ¸ a. nos moldes do jogo descrito no modelo de seguranc ¸ a de [Lippold et al. e uma lista correspondente com valores (IDi . a 273 . . . quando for o caso. ser´ a obrigado a abortar o jogo em algum momento. S faz xA =⊥ ou xB =⊥. na situac ˜ o mais cr´ ´ um KCG que gera os parˆ dade de gerac ¸a ¸a ıtica. sem corromper integralmente a sess˜ ao. Se S errar na escolha. o jogo tamb´ em e ´ porque realiza abortado por S . Nesses casos. xB P = bP (casos 1 e 4). . q0 }. e ametros ´ capaz de tirar vantagem em esde forma desonesta.J . O simulador usa os passos do advers´ ario para ´ armazenada na vari´ calcular.

RevealPartialKey(IDi ). atualiza o estado da sess˜ ao e entrega ri P ao advers´ ario. yA .1. QA1 e ´ definido como bP • casos 6 e 8: H1 (B ) = bP . 4 ou 5. ou seja. aborta. S cria uma sess˜ ao para onwner IDi e Send(Πs . RevealSecretValue(IDi ).j e ´ sess˜ (nos casos 2 e 4) ou ri P = cP (no caso 8). yB . Nos demais casos. Os demais or´ aculos s˜ ao tratados como segue: H1 (IDi ). Πs ao de Teste i. di2 = pi aP ). Se S est´ a simulando os casos 5 a 9. ent˜ ao define ri P = aP i. S embute convenientemente as entradas do desafio BDH: ´ definido como bP • casos 5. isto e H2 (B ) = yB P − zcP . por´ em S sorteia z. Caso contr´ ario. xi P ). Nos casos 5 a 9. aborta. responde o valor secreto xi . 274 .j e com papel de receptor. ou seja. EstablishParty(IDi . Caso contr´ ario. S escolhe pi ∈ Zq ao acaso e responde pi P . simulac ¸a Respostas aos Or´ aculos ` s consultas realizadas pelo adUma vez iniciado o jogo. Se IDi = B e S est´ a tratando os casos 6. S registra a chave p´ ublica xi P . que respectivamente calcula e revela a chave de sess˜ ao. extraindo rB P de m quando necess´ ario. eles ser˜ ao descritos mais detalhadamente no Apˆ endice A. An´ alogo a H1 . m ) . aborta. Se S est´ a tratando os casos 1 a 4.j i. ou seja. RequestPublicKey(IDi ). define xi =⊥. ent˜ ao define ri P = bP (nos casos 2 e 3) ou ri P = cP (no caso 7). QB1 e ´ definido como cP • caso 9: H1 (B ) = cP .j peer IDj . 7 ou 9. Se IDi = A e S est´ a tratando os casos 5. entrega ao advers´ ario a chave secreta parcial (di1 = li aP. 8 ou 9.˜ o. Se IDi = A e S est´ a tratando os casos 1. s ainda n˜ ao existe. Se m = λ e Πs ao de Teste. Os or´ aculos H e RevealSessionKey. Por esse motivo. Se a sess˜ a o Π i. Todas as respostas e os valores pi s˜ ao armazenados em uma lista. ou seja. S responde xi P . s˜ ao os mais cr´ ıticos a serem tratados pelo simulador. QB2 = yB P − zQB1 Para os demais participantes nos casos 5 a 9 e para os casos 1 a 4. O comportamento do simulador para tratar essas consultas varia de acordo com cada um dos nove casos. H2 (IDi ). 7 e 9: H1 (A) = bP . ou seja. aborta. nos casos 1 a 4. QB2 e ´ . caso ainda n˜ ao exista. QB1 e Para os demais participantes nos casos 5 a 9 e para os casos 1 a 4. Se IDi = B e S est´ a tratando os casos 1. 3 ou 6. S executa o protocolo. H2 . QA2 = yA P − zQA1 e • caso 9: H2 (A) = yA P − zbP . Todas as respostas e os valores li s˜ ao armazenados em uma lista. responde a chave secreta parcial (di1 = li aP. com estado indefinido e com o papel de emissor (se m = λ) ou receptor ´ sess˜ (em caso contr´ ario). Se xi =⊥. y ∈ Zq (ou z. aborta. para o caso 9) e define: ´ definido como yP − zQA1 • casos 5 e 7: H2 (A) = yP − zbP . ou seja. S recebe a chave secreta parcial ` consulta ao or´ como entrada a aculo e a armazena. di2 = pi aP ). o simulador deve responder a vers´ ario aos or´ aculos dispon´ ıveis. O simulador cria o usu´ ario desonesto com identificador (IDi ). S escolhe li ∈ Zq ao acaso e responde li P . chamando os or´ aculos H1 . QA2 e ´ definido como yP − zQB2 • casos 6 e 8: H2 (B ) = yP − zbP . Se m = λ. aborta. S escolhe ri ao acaso.

RevealEphemeral(Πs a tratando os casos 2. devolve a chave de sess˜ ao. M e Z .j . M. ˜ o do Jogo Finalizac ¸a Assim que A finaliza o jogo. conforme c´ alculos apresentados na sec ¸a ao S resolve o problema Gap-BDH em tempo polinomial em k . o advers´ ario detecta a incoerˆ encia e aborta o jogo. caso ela n˜ nas sess˜ oes que n˜ ao s˜ ao a de Teste e que envolvem os participantes A e/ou B do Teste. Ej . 1}. L. aborta. S e passamos a descrever como S procede de modo a ser sempre consistente. IDj . K.j ) for a sess˜ gue com os passos descritos no Apˆ endice A. Z ). ent˜ ´ P r[S ] ≥ P r[A]/(9q0 q1 e ao a probabilidade de sucesso de S e ). o que contradiz a hip´ otese de dificuldade do Gap-BDH. Caso contr´ ario. O simulador mant´ em uma lista H lst . Se RevealSessionKey e ao e todos os valores K. K. s ao de Teste. IDj . Como H e ¸a SK de chave de sess˜ ao para as mesmas entradas.j ).1. aborta. Nos casos 1 a 4. Caso contr´ ario. Ej . Caso contr´ ario. Ei . Se IDi = A e S est´ a tratando os casos 1.1. prosseRevealSessionKey(Πs i. Se IDi = B e S est´ a tratando os casos 1. S devolve answer. preechendo tanto quanto poss´ ıvel os valores corretos de K. S recebe a chave secreta parcial do participante IDi como entrada para a consulta. Ent˜ o valor e(cP. inicialmente vazia. . com entradas na forma ´ func ˜ o. A seguir. L. devolve o valor secreto ri da sess˜ ao. Se i. 3 ou 6.j ). A. Caso contr´ ario. S joga uma moeda b ∈ {0. Se IDi = A e S est´ IDi = B e S est´ a tratando os casos 2. abP ). . basta S calcular o valor da chave de sess˜ ao SK e ´ consultado antes e S n˜ ´ capaz de calcular atualizar a lista. Z . IDj . Se A consultar H antes de eventualmente solicitar RevealSessionKey. . Se a probabilidade de sucesso de A 2 ´ P r[A]. Nesse caso. Se isso ocorre. Z. Ei . L. 4 ou 5. Se (Πi. onde H e RevealSessionKey s˜ ao consultados sobre sess˜ oes que: (a) n˜ ao envolvem os participantes A e B da sess˜ ao de Teste e (b) envolvem o participante A e/ou B da sess˜ ao de Teste 275 . pois desconhece alguns valores secretos. SK ). 3 ou 7. o ´ capaz de calcular por si s´ simulador n˜ ao e o o valor da chave de sess˜ ao. answer cont´ em ˜ o A. S deve informar o s ao seja a sess˜ ao de Teste. ´ incapaz de aproveitar a vantagem de A para resolver Gap-BDH. S deve responder o mesmo valor (IDi . M.j n˜ ao e ao de Teste. ent˜ ao S sorteia SK e insere um novo registro na lista H lst com os valores (IDi . Em uma eventual consulta posterior a H referente a uma sess˜ ao lst com matching. Entretanto. L. vamos dividir a an´ alise em dois grandes casos. aborta. substitui a chave p´ ublica por xi P e define xi =⊥. M. s s ´ a sess˜ Test(Πi.1. 4 ou 8. Prossegue com os passos descritos no Apˆ endice A. Ei . . Se S informar valores diferentes de chave de sess˜ ao para duas sess˜ oes com matching. H(IDi .1. Z . Se Πi. valor da chave de uma dada sess˜ ao Πi. xi P ). aborta. SK ). Se b = 0. Por esse motivo. Or´ aculos H e RevealSessionKey ´ consultado pelo advers´ Quando o or´ aculo RevealSessionKey e ario. L. aborta. caso contr´ ario sorteia e devolve k um n´ umero aleat´ orio r ∈ {0. 1} para o advers´ ario.ReplacePublicKey(IDi . S atualiza H com os dados faltantes e responde o mesmo valor SK . Se A tem ´ vantagem n˜ ao negligenci´ avel em diferenciar um n´ umero aleat´ orio da chave de sess˜ ao e porque A consultou H com valores corretos de K. M. Ej . aborta.j ).

rj P ) = e(xi rj P. S n˜ ao tem acesso ao valor da chave mestra secreta. ´ incapaz de No pior dos casos. ambos ´ quem inicia a sess˜ diferentes de A. A consulta RevealSessionKey antes de consultar H e S e calcular os valores Z1 . P ) e se e(xi P. pois se trata de sess˜ ao com matching. xj P ) = e(xi xj P. Se ambas igualdades valem e demais entradas de H correspondem aos valores que S consegue calcular. sorteia nova chave. de modo a induzir o advers´ ario a realizar c´ alculos com esses valores. S n˜ ao conhece xi • A substitui a chave p´ ublica de IDj e. se A ativamente alterar ri P e entregar outro valor a IDj . mas mostraremos que ´ porque conhece elementos suficientes para se A apresenta vantagem n˜ ao negligenci´ avel. S n˜ ao conhece xj • A escolhe ativamente o valor tempor´ ario de IDj e. s˜ ao relacionadas as poss´ ıveis estrat´ egias que A pode empregar para quebrar a seguranc ¸ a do protocolo e ´ ltima linha da Tabela 3 indica as que chaves s˜ ao associadas aos valores do desafio. Observe que as vari´ aveis K e L do protocolo podem ser reescritas como indicado na Tabela 4. a chave p´ ublica mestra recebe o valor aP e. a n˜ ao ser nos seguintes casos: • A substitui a chave p´ ublica de IDi e. onde xi xj P e xi rj P s˜ ao informados por A. Quando S embute uma das entradas do desafio BDH em uma chave. 7 e 276 . S desconhece xA aP e ıdo como valor de chave p´ ublica de A. O simulador conhece as chaves secretas de IDi e de IDj . Por exemplo. suponha que IDi e ao.´ ´ ˜ do desafio BDH Tabela 3. Na Tabela 3. bP. portanto. (b) Sess˜ oes que Envolvem A ou B Alvos do Teste O simulador embute os valores do desafio em pontos estrat´ egicos do protocolo. ent˜ ao S responde a mesma chave SK . a resposta do desafio. S n˜ ao conhece rj Podemos supor que S conhece ri porque. Tais elementos s˜ que a soluc ¸a ao entregues ao simulador sempre que A realiza consultas ao or´ aculo H . abP ). Z2 . portanto. Casos validos para o adversario e inserc ¸ ao 1 Chave ID: Q1 PK: xP Eph: rP Desafio em: A x aP B x bP x Z1 A x x aP 2 B x x bP A x aP 3 B x x bP A x x aP Z4 4 B x bP x A bP x 5 B cP x A cP 6 B bP x x A bP x 7 B A 8 B bP x x A bP x 9 B cP x x K3 Z3 Z2 (aP. n˜ ao haver´ a sess˜ ao com matching (a n˜ ao ser com probabilidade negligenci´ avel). Em uma eventual consulta posterior de A a H . S verifica se ? ? e(xi P. automaticamente torna-se desconhecido o respectivo valor secreto. por isso. Obviamente S n˜ ao sabe calcular essa resposta. caso contr´ ario. quando ´ atribu´ ´ . B . e ˜ o seja calculada. A u vari´ aveis que ocorrem no protocolo e que capturam o c´ alculo de e(cP. S atualiza H lst conforme necess´ ario. ou seja. Quando QA1 = bP . O fatores de M e os componentes de Z tamb´ em s˜ ao nomeados para facilitar a leitura dos c´ alculos. cP )–desafio BDH x x cP cP mpk = aP M1 M2 K1 K2 (x)–simulador desconhece componente secreto (a) Sess˜ oes que N˜ ao Envolvem A e B Alvos do Teste Considere que A consulta H ou RevealSessionKey sobre participantes IDi e IDj . isto e por desconhecer a. Nos casos 5 a 9. xA P = aP . P ). nos casos 5. Sem perda de generalidade. portanto.

se n˜ ao houver sess˜ ao com matching. calcula K1 = K2 ·K M1 = M e for3 ·K4 2 nece aP. ´ embutido em M1 . EA . ∗. S responde SK . EB . dA1 ) · e(rB P. ˜ o de sess˜ De acordo com a definic ¸a ao fresh. rB P. pois n˜ ao sabe calcular ab. xA rB P . xB P ) = e(Z 1 . P ). ∗) em H lst . S verifica se j´ a foi calculada chave para a sess˜ ao em quest˜ ao ou uma com matching. answerBDH ← M1 . sorteia novo SK . xA sP ) M1 M2 Z = (xA xB P . Z1 ). M. Z2 . com um participante em que B se envolve em sess˜ oes integralmente corrompidas. B. Nomenclatura das variaveis K = e(rB P. S desconhece a chave parcial secreta dA1 = abP . P ) e se ? e(xA P. Z4 )). Z3 . ´ capaz e procura Se A consulta RevealSessionKey(A. ´ embutido em Z1 . EB . ´ embutido respectivamente em Z3 . participantes do Teste. bP. EB . EA . caso contr´ ario. dA1 ) · e(QB1 . L. (Z 1 . que mostramos serem equivalentes ao Gap-BDH. bP ) = e(P. cP. rB P ) = e(Z 2 . S calcula L1 = L2 ·L3 ·L4 e verifica se valem todas as −z seguintes igualdades: se L1 = e(rB P. answerBDH ← e(cP. bP. 8 e 9. Caso 1. 3 e 4. S procede como no caso (a) para manter H lst atualizada. Nos casos 5 a 9. s˜ ao indicados com “x” outros componentes secretos aos quais S n˜ ao tem acesso. o ˜ es receptor n˜ ao pode ser totalmente corrompido. EA . fazemos uso do or´ aculo de decis˜ ao BDH. AnalogaC desonesto. S˜ ao ´ permitido substituir a chave p´ os casos em que A e ublica ou escolher ativamente o valor tempor´ ario de sess˜ ao. em caso positivo. ∗. O desafio e ? Z3 . 6. (Z1 . (∗. B. M. no Apˆ endice A. M . Esse cen´ ario e mente. vamos analisar os nove casos sobre sess˜ oes que envolvem A e/ou B . SK ). O desafio e forma semelhante ao caso 1. se o or´ aculo responder positivamente. se e(xA P. bP. EB .2. ? ? 277 . M1 = M/M2 e submetendo aP. suposto existente no problema Gap-BDH. Se A consulta H (A. B. rA sP ) L1 L2 L3 L4 (=K4 ) M = e(xB P. S calcula as vari´ aveis de que e (A. rA sP ) K1 K2 K3 K4 L = e(rB P. Z ). B. Na Tabela 3. S verifica se e(aP. M1 ao or´ aculo DBDH. caso contr´ ario. No caso 9. 5. 4. ∗. rA sP ) · e(QB2 . Responde SK . Z4 ). Z2 e Z4 . K. Z 2 . cP. Z4 ). O desafio e Se A consulta H (A. L. K. desonesto. em caso positivo. dA2 ) · e(rB P. M1 ao or´ aculo DBDH. calculando M2 = e(dB1 . preservando ainda a caracter´ ıstica de sess˜ ao fresh e com matching. ∗. caso sim. usamos duas variantes do problema Gap-BDH. Z3 . S procede de Casos 2. S verifica se M1 cont´ em a resposta ao desafio. s). yaP ) · K1 . isto e ´ tratado como subcaso dos casos 1. S deve lidar corretamente com as sess˜ oes em que A interage com o participante C ˜o e ´ tratada como subcaso de todos os nove casos. xA P ). K. se encontrar registros na forma K M (A. Z1 ). rA xB P ) Z1 Z2 Z3 Z4 9. EA . K1 e aP. S precisa tratar corretamente as situac ¸o ´ . dA2 ) · e(QB2 . sorteia SK e cria novo registro em H lst . Caso 5.´ Tabela 4. B. dA1 ) · e(QB1 . essa situac ¸a Na sequˆ encia. rA sP ) · e(QB1 . se o or´ aculo responder L positivamente em ambas consultas. rA rB P . atualiza entradas incompletas no registro de H lst se for preciso. L.

xuP ). s). sP . rA P. M ao or´ aculo de decis˜ ao-BDH∗ . cP.2). b. S calcula K = K2 ·K4 L = L2L U1 = ·L4 A e( yz (rB P + yB P ) − yA cP − yB bP. yP. S fornece Caso 9. Se A consulta H . xyP ) · e(zP. Para ver que BDH ≤p BDH . bP. sorteia novo SK . S devolve T · e(vP. cP. Similar ao caso 5. xP )−u como soluc ¸a + + BDH =p BDH . bP. S procede de forma an´ aloga ao caso 5. se o K or´ aculo responder positivamente. S testa a consistˆ encia dos componentes de Z e ? ? testa se K = K1 · K2 · K3 · e(Z 3 . acP ). ´ embutido respectivamente em M2 . xc P. uxP ) · e(zP. zP. rc P. v ∈ Z∗ q . vP. yP. raP + abP ).2. S devolve T · e(xP.Se A consulta RevealSessionKey(A. zP ). C. s). abP ) · e(rP. calcular e(sP + cP. P gerador de G e valores aleat´ orios a. B. suponha que existe um algoritmo A que resolve o BDH+ . xP )−u · ˜ o. uxP + xyP ) = e(vP. Variantes do problema Gap-BDH Seja e : G × G → GT um emparelhamento bilinear admiss´ ıvel. vP. B. c ∈ Zq e r. suponha BDH =p BDH∗ . mas o desafio e aP. M1 ao or´ aculo DBDH. abP ) · e(rP. calcular e(sP + cP. sP . e(vP. xB P. K ao or´ aculo de decis˜ ao-BDH+ (ver Apˆ endice A. S testa K como acima e fornece aP. BDH+ : dados aP. zP. cP. escolhe u. s) ou (C. aP ). se o or´ aculo responder positivamente e K tamb´ em passar no teste. com ajuda de ? um or´ aculo de decis˜ ao-BDH∗ . v ∈ Z∗ q. T ) ∈ G5 × GT . cP. bP. Se A consulta RevealSessionKey para (A. S procede de forma an´ aloga e captura consistˆ encia fornecendo aP. E que existe um algoritmo A que resolve o BDH∗ . s ∈ Z∗ q . 7 e 8. s). xyP ) · e(uP. Gap-BDH∗ : dados aP. K1 e aP. aP ) 1+z U2 = [L ] z K3 = U1 · K e U2 answerBDH ← K3 . zP ) para A e recebe como resposta T = e(zP. se todas igualdades valem. calcular e(sP. para dados (xP. yP. S recebe como entrada (xP. Se A consulta RevealSessionKey(C. S procede de Casos 6. xzP ) = T . cP. yP. vamos construir um algoritmo S que resolve o BDH. vP ) para A e recebe como resposta T = e(vP + zP. Para ver que BDH ≤p BDH∗ . uP. −1 −1 1 1+z A. Dessas equivalˆ encias. xyP ) · ˜ o. rP. vamos construir um algoritmo S que resolve o BDH. s). raP + abP ). rB P. uP. rP. xA P. bP. caso contr´ ario. C. acP ). S responde SK . sP . Defina os seguintes problemas computacionais: BDH∗ : dados aP. cP. submete (xP. yP. segue que Gap-BDH∗ e Gap-BDH+ s˜ ao equivalentes a Gap-BDH. escolhe u. yP. B. bP. ´ embutido em K3 . BDH+ ≤p BDH segue de forma an´ e(vP. Gap-BDH+ : dados aP. calcular e(sP. que decide se e(vP. xP )−u como soluc ¸a aloga. xyP ) · e(vP. Os problemas BDH∗ e BDH+ s˜ ao equivalentes ao BDH: ´ imediato que BDH∗ ≤p BDH. caso contr´ ario. sorteia novo SK . sP . rP. 278 . submete (xP. uxP ). uP. S recebe como entrada (xP. rP. com G e GT grupos de ordem prima q . K1 e K2 . com ajuda de um or´ aculo de decis˜ ao-BDH+ . O desafio e forma semelhante ao caso 5. responde SK . bP. Se A consulta RevealSessionKey(A. aP ) e se L = L1 · L2 · L3 · e(Z 3 . yP. yP )−v · e(zP. zP ).

WTICG 279 .

as the vast majority of traffic over such systems is unencrypted (aside from GSM). Introduction SMS messages. GSM itself has also been compromised [Paget 2011]. especially for simple keywords. White1 . It will also multicast messages.ac. Jean. Despite the capabilities of Android mobile phones. We show our development strategy as well the evaluation process for our application. and will focus on implementing the steganographic methods used on the Android platform.Florian´ opolis . so sending sensitive messages could be dangerous. Malicious parties could detect high levels of encrypted traffic as a signal of unwanted activity. M. By tracking who a person is in communication with. so as to obscure the target of a particular message. Jean E. 1. Someone with the same application on their device who receives such a message will be able to extract the hidden data from the audio message. A user will be able to use our application to communicate securely and secretly with others in a way that seems innocuous to an observer with complete access to all data. Martina1.Brazil fredley@gmail.com. the application can be set up to erase all traces of usage from the device. Our project will build on the work done by Jenkins’s Steganography in Audio [Jenkins 2009]. Merely encrypting messages sometimes cannot be enough.CB3 0FD Universidade Federal de Santa Catarina Departamento de Inform´ atica e de Estat´ ıstica ˜o Laborat´ orio de Seguranc ¸ a em Computac ¸a Campus Universit´ ario . ∗ † Project Supervisor Supported by CAPES Foundation/Brazil on grant #4226-05-4 280 .Martina@cl. We build an application in which a user can perform steganography without any complex setup or configuration. Our objective is to produce an application that uses echo steganography to hide a short text message in an audio message recorded by the user. and MMS messages are easy to screen. Should there be a danger of the device being inspected.cam.uk 2 1 Abstract. compared in specification to personal computers a few years ago.2 ∗† Computer Laboratory University of Cambridge 15 JJ Thomson Avenue Cambridge . oppressive governments can identify and track social groups using social network analysis [Scott 2000].Mobile Steganography Embedder Thomas F. or specialist knowledge. few programs for applied steganography has been written for such devices.SC . and then share that message.UK .

[Gruhl et al. 2. and most have command-line interfaces.Ease of use for converting between uncompressed and compressed data. Apart from MP3Stego [MP3 Stego 2011]all use uncompressed audio to hold the hidden data. similar to the echoes present in a room. To overcome these problems we have used the following libraries. We used several libraries to provide the easiest way of performing each task. writing and testing each module as it is added to the project. We will take the implementation of echo steganography to our application. and to improve the readability of the code. Relevant Material Most existing steganography applications only make use of least-significant-bit encoding. 2.sound is not present in the stripped down version of Java available in Android. 281 . • javax.An open-source Fast Fourier Transform library necessary for extracting data. There is also no provision for recording uncompressed audio or transcoding. Design Decisions The audio manipulation package javax. First proposed in 1996 by Gruhl et al. and is used for exactly the kind of low-level audio manipulation required in this project • FourierTransform[Fast Fourier Transform at Code Log 2011] . All other functionality.1. There is a small cost in terms of the size of the application. Since the data is encoded in the actual audio itself rather than the bits of the file. Methodology and Planning We chose to use an Evolutionary Development Model while developing the application. The brain ignores these. 1996].1. This is ideal for a mobile application.sound. making the changes in the audio almost imperceptible. and 3rd-party code: • Rehearsal Assistant [Rehearsal Assistant Source 2011] . the idea behind echo steganography is to introduce tiny echoes into the audio. The steganography techniques explored in Jenkinss [Jenkins 2009] go beyond.we used some classes in order to record uncompressed audio data and store as a wave file. and the SDK provides no alternative. Later on in the development cycle versions of the application were released onto the Android Market. but this is not too large. Formal testing is done after each evolutionary cycle with unit tests to check each class behaves according to specification. and there are freely available tools which can be modified relatively simply to detect hidden messages reliably in this case [Steg Secret 2011]. such as encryption with AES and sharing mechanisms were available in the Android SDK.This package is present in the full JDK. where data connectivity is often slow and/or expensive. • Jcraft Jorbis Library[Jcraft Jorbis Project 2011] . this method is resistant to format changes. as it allows it to be built up in sections. at least going as far as making the problem computationally infeasible on a large scale [Meghanathan and Nayak 2010].sampled .1. providing methods which resistant to steganalysis.

not just from the stress of their job. • Compress this audio file into a file which is of an appropriate size for sharing. in which all usage data is wiped from the device. the application will need to perform: • Record audio from the microphone. • Share. This user would likely have the following characteristics and requirements: • • • • • Potentially low-powered device Potentially older versions of Android installed Ability to send via different mediums (e. the target audience must be considered. and that ‘. the creator of PGP points out in an article [Zimmerman 2011] after the 9/11 attacks on the US that he has ‘No regrets about developing PGP’.’.. This user would likely have the following characteristics and requirements: • Ability to multicast.1. Requirements Analysis With the goal of the project is to create a usable application.g. • Operate the application in a ‘paranoid mode’. and multicast via all available methods on the device being used. The actual work of the application is handled in other classes and calls to these are made from the Activity. to ensure plausible deniability. preferably publicly (broadcast) is essential • Plausible deniability is essential • Ability to receive messages from a variety of public sources It is worth noting at this point that there are a number of potential misuses of this technology. This has the advantage of making it easy to design applications in the Model-View-Controller (MVC) design pattern [Reenskaug 2011]. Bluetooth) Possible requirement for support of non-English character-sets Plausible deniability highly desirable Police agents working under cover are under a huge amount of pressure. • Open audio messages received by any method and extract hidden information... and everything is centred on the Activity class currently in focus [Android 2011b]. Phil Zimmerman. 2.2. 282 .2..strong cryptography does more good for a democratic society than harm. One notable method used by governments to control their people in times of unrest has been to severely clamp down on communication networks. Application Design Writing applications for Android encourages applications to be designed within certain constraints. Considering the user personas. Recently there has been a period of unrest in various countries. but from lack of communication with the outside world. and interaction with the UI is handled in Activities.1. This is of course true for any security application. and embed a short text message into it using echo steganography. UI layout is declared in xml files.

2.coding and decoding is a 2-way pipeline. The structure of the application is simple. but 283 . Extraction process Activity. Model .The application is not active. all interaction between the user and the rest of the application happens via the Activity classes.1. • Paused . All input from the user is managed by the active Activity.2.3. and has several idiosyncrasies. the lifecycle of an application is governed by the life-cycles of the Activities.Steganography Figure 1. most notably there is no concept of ’quitting’. 2. 2.When designing a security-centric application.User Interface The application needs to perform two basic tasks.2. in the cases of Settings and Multicast. Activities have four states: • Running . View .Device Interaction As previously stated. • Finished . Controller . and pressing the back key takes the user to the previous step. The series of operations that need to be performed for embedding and extracting are shown here on Figures 1 and 2. All views are managed by the StegDroid Figure 2. Embedding process There are two classes which handle the bulk of the work. but is partially obscured. since it requires stepping through a sequence of actions. or exits the application from the first step. encoding and decoding. attention must be paid to the lifecycle of the application. EchoStegFile and BitStream. On Android. Functionality can be delegated from the Activity. but still alive: it is retained in memory and maintains state. this is done automatically. • Stopped .The application is not in the foreground. Settings for paranoid mode and cryptographic keys are accessible via the menu key. as the process of en.2.The application is in the foreground and the user is able to interact. 2. Of these the more challenging from a UI design perspective is encoding.The application is not visible (’minimised’). except in the case of Settings and Multicast.

android. where x is the original signal.2. or vice-versa. These echo kernels correspond to 1 and 0. Extracting the data again requires performing Fourier Analysis on each sample in order to work out which echo was used. Audio Manipulation Android built in MediaRecorder class does provide access to the raw PCM data from the microphone. a smoothing period is applied between each window. EchoStegFile class deals with the steganographic process of inserting and retrieving bits from an audio file. It deals only with audio files in wave format.cam. y the output signal. The process of Echo Hiding convolves the raw audio signal with one of two echo kernels. and has an overall rating of 4. Android again provides no way to manipulate Wave files at a sample level. Embedding requires adding echoes to the audio. In order to prevent audible artefacts when switching between signals. 3. This library provides methods to transcode between Ogg Vorbis audio files and uncompressed Wave files. Class Organisation BitStream class deals with taking a String and returning a stream of bits. Transcoding is handled by Jcraft’s Jorbis library [Jcraft Jorbis Project 2011].3. The audio sample is split up into windows and the appropriate echo kernel is applied to each window. 3.com/details?id=uk.it must pass the instance of itself to every class it wishes to delegate to for use as a context. StegDroid has been downloaded almost 2000 times.tfmw2. Implementation In this section we will go through each stage of the steganography process and explain how we implemented it. Ogg Vorbis files are used by Android as ringtone files. A double back-forwards echo kernel is used. At time of writing. Steganography The processes of embedding and extracting data are very different. 3.1.1/5 stars on the Android Market rating system. It has the option of being passed a key-phrase and returning/decoding an encrypted stream of bits. This is shown in Figure 3. but provides no built in mechanism for creating usable Wave files. 1 https://market. 3.stegdroid 284 . so it is a relatively innocuous data type to share. which is relatively straightforward. a link1 and QR code are provided. α is the amplitude of the echo and d and e are the two delays used. with different delays. described by the equation y [n] = x[n] + α · x[n − d] + α · x[n + d] + α · x[n − de] + α · x[n + e]. when the signal from the previous bit is faded out and the signal for the next bit is faded in. Screenshots are provided in this document are of the finished application. StegDroid is available on the Android Market.ac.

and the above equation is equivalent to: y ˜[n] = x ˜1 [n] + x ˜2 [n] By comparing the cepstrum signal at the values for each of the 4 echoes.3. Windowing makes sure that the ends of the signal are continuous and prevents this spectral leakage. Encryption of messages is provided.1.3. A Hamming window is applied to the signal in the time domain. Figure 3. the cepstrum is calculated for each segment and the cepstrum for the echoes for 1 is compared against the cepstrum for the echoes for 0. y [n] = x1 [n] ∗ x2 [n] is transformed into the Fourier domain: Y (eiω ) = X1 (eiω )X2 (eiω ) The complex log of Y (eiω ) is then: logY (eiω ) = log (X1 (eiω )X2 (eiω )) = logX1 (eiω ) + logX2 (eiω ) The cepstrum of a signal x[n] is defined to be x ˜[n]. This is done by the function: 2πi timeDomain[i] = 0. The resulting data will show peaks corresponding to the echoes in the original signal. before it is transformed. x1 [n] and x2 [n]. As can be seen by examining the convolution of the equations being employed. First take two input signals. Their convolution. The larger value determines the bit sent to the output bit stream. Since the start and end of the signal are very unlikely to be continuous this will result in a lot of high-frequency noise in the result.46164cos( N ) −1 The Hamming window as transforming to the Fourier domain implies an infinitely repeating signal.53836 − 0. which is undesirable. Composition of signal with echo kernels The cepstrum of a signal is calculated by taking the complex logarithm of the Fourier transform of the signal and performing an inverse Fourier transform. the echo kernel used on that segment of data should have a higher values its two echoes than the echo kernel not used. The user can enter their passphrase in the settings 285 . using the AES/ECB/PKCS7Padding cipher suite with a pre-shared key. Extraction Using Fourier transforms.

In the first and final steps. sharing data via MMS is not possible because the application does not register to handle audio data.page of the application. and a SHA-256 hash of the passphrase is used as the key.All these sources indicate the application fulfils its stated purpose. 3. Below that are brief instructions for the page. No unit tests were written for the steganographic process.4. The Back and Next buttons are always at the very bottom. These were written in a separate test class which performed checks for the functionality it was testing. displaying the step the user is currently on. Across all of the screens there are status indicators at the top of the screen. displaying whether encryption or paranoid mode are enabled. If this is fixed in the future. When it is turned on. User Interface Care has been taken to create a user interface that guides the user through the process of encoding and decoding messagesAn example screen for the system is shown on Figure 4.6. all files created by the application are removed from the filesystem. this is all handled by Android by means of a mechanism call Intents. Back and Next buttons are displayed but are inactive. other buttons are disabled. it must be able to interact with other applications in order to send and receive messages. 3. Extraction 4. Figure 4. unit tests were used to confirm that parts of the application were working correctly. Luckily. While playing or recording is active. with one notable exception. We chose to use contact groups built into the Google contact manager as a convenient way to send a message to a group of recipients at once. including Android Market feedback. the application will then be able to share data in such a way. Sadly. Below that is a progress indicator. if paranoid mode is enabled. whenever the application is ‘Paused’ [Android 2011a]. and is reliable and easy to use. 286 .5. Evaluation Evaluation data has been collected from a variety of sources. Paranoid Mode This attempts to provide plausible deniability by removing all data created by its use from the device. For the application to actually be useful to process users. During implementation. 3. Multicast We investigated a number of different ways of implementing multicast with the application. that is to say minimised or ‘closed’ by the user.

At this level there is still the possibility of the occasional bit error. The parameters that can be modified to optimise these factors are Segmentation Length. Steganography Testing A variety of tests were done to optimise the steganography process. 4. Each variable was altered in turn keeping the others constant. Bit-rate can be calculated from the parameters chosen. tion Lenght 287 . The error rate is recorded. small errors are not a problem. Modification of SegmentaAs shown on Figure 5.4 is good. passing this BitStream through the steganographic process and measuring the number of bits that were wrong in the output. From these results. Transcoding Testing culated in the same manner as the previous test.2. but ease of detection is subjective. Given the purpose of the application.4. ( Figure 6) it seems that a value of 0. although if the application were adapted to send other kinds of data this would be necessary. A percentage error-rate was then calculated. reliability can be calculated by measuring the bit-rate with a series of trials. The overhead required to add an error-correction layer into BitStream would be too great. but during transcoding testing. These were encoded and decoded through the Vorbis decoder and the bit-error rate was calFigure 6. There are three factors to optimise: bit-rate.1. and the longer file size required at this stage is compensated for to some extent by the fact that better compression can be used. especially as users have the chance to test extraction of the message before sending it. Windows Size. 1024 as the Segmentation Lenght seems to be the optimum from this data. so a rough estimate will have to suffice. as is the compression rate as a percentage of the original size. Figure 5.Three files were taken that had scored 100% on the previous test. reliability (bit-error rate) and ease of detection. a Segmentation Lenght of 2048 proved much more reliable. performing as well as 2048 and above but with a higher bit-rate. Three trials were done with three different recordings. Volume Reducer and the four echo parameters. Transcoding Testing Tests were conducted to find the optimum quality to encode the Ogg Vorbis files to get good reliability and minimise size. Reliability was measured by creating a BitStream.

288 . • To make the application leave as little evidence of its use as possible. This criterion has been fulfilled. putting complex steganography within reach of many more people as a result. This criterion has been fully realised.3. with the mean results for the first 7 questions shown on Figure 7. embedding a text message and sharing that message. User Survey Most of the testing so far has focussed on the functionality of the application. evaluation of the usability was conducted with a survey of users. the application removes all data from the disk and memory that could show use of the application whenever it is closed. This criteria has also been realised. As part of the specification was to create a usable application. These are positive results. In paranoid mode. Conclusions The project proposal set out the following success criteria: • To create an Android application that makes use of audio steganography. and shown how to open and interact with applications. but can be extended to act as a container for any data.4. 4. which show that the interface we have created allows people with relatively little knowledge of Android phones to be able to use the Figure 7. with steganography classes that not only perform the function of the application.. as the whole point of using steganography on top of encryption is to prevent an attacker from even detecting potentially secretive communication. The survey was conducted with the participant using a Google Nexus S. Detection of the application is the main threat to be considered. The scores range from 0-5.4. They were given a list of tasks to complete with the application. The lower the better. to a reasonable extent. Threat Model Analysis Given that the application is designed for sharing potentially sensitive information. User Survey Result application easily. an analysis of potential attacks is critical. Once they had completed the tasks they were given a questionnaire to complete. Twenty participants were surveyed (University of Cambridge undergraduate students). the application guides users through the process of recording a voice message. They were given a brief tour of the Android operating system. in which there were asked to rate their experience of the application. 5. • To use audio steganography to embed a user’s text message in a voice message recorded on the device.

or with other protocols to exchange any type of data. http: //www. [Meghanathan and Nayak 2010] Meghanathan. L. Documentation on activities. and Nayak. [Steg Secret 2011] Steg Secret (2011). editor. University of Cambridge.android. 289 . [Reenskaug 2011] Reenskaug.html.jcraft. Steganography in audio. Echo hiding. sourceforge. N.sourceforge. J. com/jorbis. net.petitcolas. A. [Jcraft Jorbis Project 2011] Jcraft Jorbis Project (2011).compartmental. J.net/tools/minim/manual-fft. W.no/trygver/1979/mvc-2/1979-12-MVC. Lu. 2(1):43–55. audio and video cover media. In Anderson.Having implemented these steganographic tools on the Android platform. (2011). This would allow for a data channel between two people during a phone call. No regrets about developing pgp. [Zimmerman 2011] Zimmerman. pages 293–315. (2009). and Bender.net/fabien/ steganography/mp3stego. [Gruhl et al. [Jenkins 2009] Jenkins. Social network analysis: a handbook. [Paget 2011] Paget. ifi. D. Def con 18 talk. volume 1174 of Lecture Notes in Computer Science.com/guide/topics/fundamentals/ activities. Steganalysis algorithms for detecting the hidden information in image.defcon. android. http://code.org/ html/links/dc-archives/dc-18-archive.uio. (2011). 1996] Gruhl. [Fast Fourier Transform at Code Log 2011] Fast Fourier Transform at Code Log (2011). (2000).mit. http:// [Scott 2000] Scott. http://heim..html% #Lifecycle. References [Android 2011a] Android (2011a). http://www. SAGE Publications. R. Models . P. Springer. https://www. T. [Android 2011b] Android (2011b). http://stegsecret.views . Technical report.net/projects/rehearsalassist..html#Paget. (2010).com/guide/topics/fundamentals/activities.controllers. [Rehearsal Assistant Source 2011] Rehearsal Assistant Source (2011).. N. Information Hiding. http: //developer. International Journal of Network Security & Its Application (IJNSA). [MP3 Stego 2011] MP3 Stego (2011). C. (1996). they could potentially be used in a number of different ways. (2011).edu/fiprz/EN/essays/PRZResponseWashPost. One interesting use could be to use steganography on audio during a phone call. Activity lifecycle.pdf.html. http://developer. This could be used to exchange covert text messages as in our application. http://www.

carlamw}@inf.br Abstract. One of the biggest issues when users’ data are involved is privacy in the collection. Introduc ¸a ˜ o em nuvem e ´ a entrega de recursos computacionais compartilhados.Florian´ opolis – SC – Brasil {danielrs. [Takabi et al.ufsc. armazenamento e destruic ¸a ¸a ˜ o desses dados. torna-se necess´ ario investi˜ o de servic gar quest˜ oes de seguranc ¸ a que possam comprometer seu uso.Brasil 290 . O gerenciamento de identidades e ¸ a da informac ¸a ´ um campo da seguranc ˜ o que se preocupa com o gerenciamento de usu´ arios e seus dados. manipulation. authorization and attribute release. 2010] [Bertino and Takahashi 2011]. O gerenciamento de identidades cresce em importˆ ancia conforme crescem ˜ o e controle de acesso de usu´ os servic ¸ os que precisam utilizar autenticac ¸a arios ´ o caso de muitos servic [Angin et al. Uma das quest˜ vem dados de usu´ arios e ¸a ´ a privacidade na coleta. ˜o 1. involving authentication. processamento ou mesmo de software para usu´ arios atrav´ es da Internet. manipulac ˜ o. This paper presents a proposal for an identity management application with users’ privacy protection implemented in a cloud computing environment. Esse e ¸ os que executam em ambientes de nuvem e precisam estabelecer a identidade de seus usu´ arios ao mesmo tempo que devem proteger sua privacidade. storage and destruction of these data. Due to the continued growth in the use of cloud computing and the tendency to migrate services to this new paradigm. com destaque para a protec ¸a j´ a que dados sens´ ıveis passam a ficar sob a cust´ odia de terceiros [Pearson 2009].˜ o de privacidade no gerenciamento de Uma aplicac ¸a identidades em nuvem com uApprove Daniel Ricardo dos Santos1 ∗ . Carla Merkle Westphall1 1 Laborat´ orio de Redes e Gerˆ encia . it becomes necessary to investigate security issues that might compromise its use. Este trabalho tem como objetivo identificar problemas de privacidade no gerenci˜ o em nuvem e mostrar uma soluc ˜o amento de identidades em ambientes de computac ¸a ¸a ∗ Bolsista do CNPq . autorizac ˜o e liberac ¸a oes mais preocupantes quando se envol˜ o de atributos. Este trabalho apresenta uma proposta de aplicac ˜o de gerenciamento de identidades com protec ¸a arios im˜o a ` privacidade dos usu´ plementada em um ambiente de computac ¸a ˜ o em nuvem. sejam de Computac ¸a armazenamento. Identity Managament is an area in information security that is concerned with the management of users and their data. ´ importante para garantir o sucesso de ambientes de nuvem A seguranc ¸a e ˜o a ` privacidade. envolvendo autenticac ¸a ¸a ˜ o.Departamento de Inform´ atica e Estat´ ıstica Universidade Federal de Santa Catarina (UFSC) . Com o crescimento da computac ¸a encia de ˜ o em nuvem e a tendˆ migrac ¸a ¸ os para esse novo paradigma. 2010] [Grobauer et al. 2011]. Resumo.

Identity Provider) Fornece os servic ¸ os de gerenciamento de identidades necess´ arios para que o usu´ ario use o provedor de servic ¸ os. Os seguintes pap´ eis existem num sistema de gerenciamento de identidades [Bertino and Takahashi 2011]: ´ a entidade que possui uma identidade e utiliza os servic Usu´ ario E ¸ os tanto do provedor de identidades quanto do provedor de servic ¸ os. Provedor de Identidades (IdP . e na sec ¸a ao feitas as considerac ¸o 2. [Tancock et al. 2010]. ˜ o de pol´ O livro de [Bertino and Takahashi 2011] cita que a implantac ¸a ıticas de privacidade em sistemas de gerenciamento de identidades continua sendo um desafio. 2010] descreve uma extens˜ ao do uApprove chamado uApprove.1. O formato destes cen´ arios deve ser sucinto. Conceitos B´ asicos 3. da literatura [Goth 2011]. Um servic ¸ o de gerenciamento de identidades pode ˜ o.jp.Service Provider) Fornece os servic ¸ os que o usu´ ario efe˜o e tivamente deseja utilizar. [Bertino and Takahashi 2011]. 291 . breve e simples para que o usu´ ario saiba o que est´ a acontecendo [Goth 2011]. 2010]. 2010]. Esta estrutura comp˜ oe um provedor de identidade executado em uma m´ aquina virtual no ambiente de nuvem da Amazon [Amazon 2011]. Trabalhos Relacionados A privacidade est´ a sendo pesquisada em diversos trabalhos [Orawiwattanakul et al. Provedor de Servic ¸ os (SP . Identidade e Gerenciamento de Identidades ˜ es de dados que representam atributos ou caracter´ Identidades digitais s˜ ao colec ¸o ısticas de uma entidade [Windley 2005]. na sec ¸a ao descritos os conceitos b´ asicos sobre ˜ o em nuvem. de acordo com as pol´ ıticas de privacidade definidas. O provedor de servic ¸ os delega a autenticac ¸a ˜ o dos usu´ autorizac ¸a arios que acessam seus servic ¸ os a um IdP. 2010] e tamb´ em proteger dados de usu´ arios em provedores de servic ¸ o [Angin et al. 3.˜ o de uma estrutura de gerenciamento de idenpara esses problemas atrav´ es da implantac ¸a tidades que garanta a privacidade dos usu´ arios desses ambientes. O gerenciamento de ´ realizado pelo software Shibboleth [Internet2 2011a] fazendo uso combinado identidade e do plugin de privacidade uApprove [SWITCH 2011]. Provedores de servic ¸ o e desenvolvedores das interfaces que atuam em favor dos usu´ arios devem facilitar o entendimento. na sec ¸a ˜ o 7 s˜ ˜ es finais. 2010] e [Angin et al. ˜ o em nuvem a privacidade deve seguir as leis e os contratos feitos Na computac ¸a entre as partes [Tancock et al. na sec ¸a ao apresentadas a ˜o 6 e ´ descrito o desenvolvimento do trabalho proposta e as ferramentas utilizadas. O artigo [Orawiwattanakul et al. a sec ˜ o 4 aborda conceitos de gerenciamento de identidades e computac ¸a ¸a ˜ o 5 s˜ privacidade e desafios que existem no ambiente de nuvem. conciso. que permite ao usu´ ario individual do ambiente Shibboleth escolher quais ser˜ ao os atributos liberados pelo provedor de identidade para o provedor de servic ¸ o. gerenciamento e utilizac ˜ o de identidades de ser definido como “o processo de criac ¸a ¸a usu´ arios e a infraestrutura que suporta esse processo”[Lee et al. 2009]. ˜ o 2 comenta os O restante do artigo est´ a organizado da seguinte forma: a sec ¸a ˜ o 3 s˜ trabalhos cient´ ıficos relacionados.

2. et al. ˜o dinamicamente escal´ aveis. No modelo PaaS o vendedor do servic ¸ o oferece aos clientes uma plataforma de desenvolvimento de aplicativos. 2010]. tanto do software como de toda a estrutura necess´ aria para execut´ a-lo. ´ um aspecto cr´ A privacidade e ıtico da seguranc ¸ a em ambientes de nuvem [Mather et al. precisam saber onde e normas e regulamentos quando lidam com informac ¸o 292 . O usu´ ario deve ter o direito de saber ˜ es suas est˜ ˜ o dessas quais informac ¸o ao mantidas na nuvem e poder solicitar a remoc ¸a ˜ es. [Takabi et al. [Tancock et al. Trˆ es tipos diferentes de servic ¸ os s˜ ao mencionados quando se considera ˜ o em nuvem [Cloud Security Alliance 2010]: Software as a Service (SaaS). ´ uma garantia constitucional. alocados rapidamente. 2010] existem alguns aspectos que podem ser levantados quando se pesquisa privacidade em ambientes de nuvem. Nesse tipo de servic ¸ o geralmente o cliente tem controle sobre a m´ aquina atrav´ es de acesso remoto. ´ um conjunto de regras para O Fair Information Practice Principles (FIPS) e ˜ o de informac ˜ es com protec ˜o a ` privacidade criado pela Comiss˜ manipulac ¸a ¸o ¸a ao de ˜ es privadas nos Estados Unidos e Com´ ercio Americana que regula o uso de informac ¸o serve de base para regras de outros pa´ ıses [Federal Trade Comission 2011]. virtualizados e liberados com interac ¸a m´ ınima com o provedor de servic ¸ o”. 2011] define computac ¸a ˜ o onde os servic um modelo de servic ¸ o de tecnologia da informac ¸a ¸ os computacionais (ambos hardware e software) s˜ ao entregues sob demanda para os usu´ arios atrav´ es de uma rede ˜ o. De acordo com [Mather et al. computac ¸a Platform as a Service (PaaS) e Infrastructure as a Service (IaaS). [Angin et al. ˜ es privadas. [Bertino and Takahashi 2011]. a escolha significa que o usu´ ario deve ˜ o permite ao usu´ ˜ es ser˜ escolher como suas informac ¸o ao usadas. que o ˜ o do servic usu´ ario utiliza tanto no desenvolvimento quanto na posterior disponibilizac ¸a ¸ o. Privacidade ˜ es sobre A privacidade relaciona-se com a capacidade de um indiv´ ıduo proteger informac ¸o ´ um documento que expressa a si [Mather et al. 2010]. 2009]. J´ a os provedores de servic ¸ os de nuvem: precisam seguir leis. mas n˜ No Brasil. No modelo SaaS a empresa assina um servic ¸ o de uso do software que funciona como um aluguel. independente de dispositivo e de localizac ¸a necess´ arios para fornecer os diferentes n´ ıveis de qualidade de servic ¸ o s˜ ao compartilhados. Uma pol´ ıtica de privacidade e ˜ es de seus usu´ forma como uma entidade coleta. como ocorre em outros pa´ ıses [CulturaDigital 2011]. a privacidade e ao existe uma lei espec´ ıfica. ´ a pr´ ˜ o: poder No caso do IaaS o que o cliente procura e opria infra-estrutra de computac ¸a de processamento. 2010]. [Marcon Jr. [Pearson 2009]. 2010] e [Angin et al. Os FIPs definem cinco princ´ ıpios b´ asicos: a consciˆ encia significa que o usu´ ario deve ser avisado e ˜ es ser˜ entender como suas informac ¸o ao liberadas. 2009]. administra e libera informac ¸o arios. 4. deve tamb´ informac ¸o em ter garantias de que seus dados s˜ ao armazenados e transferidos de forma segura. [Goth 2011].˜ o em Nuvem 3. a participac ¸a ario acessar ˜ es. Computac ¸a ´ ˜ o em nuvem da seguinte forma: “E O trabalho de [Marston et al. Os recursos na forma de auto-atendimento. 2009]. capacidade de armazenamento e taxa de transmiss˜ ao. a integridade deve garantir que os dados dos usu´ e alterar suas informac ¸o arios estejam corretos e o cumprimento garante que os princ´ ıpios s˜ ao respeitados. utiliza.

devem ˜ o de dados na nuvem. devem garantir que c´ opias dos dados armazenados em outros locais ap´ os sua destruic ¸a est˜ ao cumprindo os requisitos de privacidade. em que e ıvel instanciar m´ aquinas virtuais a partir ´ poss´ de imagens de sistemas pr´ e-definidas ou pr´ oprias. O provedor de identidades pede a autenticac ¸a ario e acessa seus atributos em sua base de dados. mem´ oria e armazenamento. O EC2 provˆ e uma ´ poss´ Infraestrutura como um Servic ¸ o. seus dados passam por um plugin de privacidade. quem e 5. devem manter logs de acesso a dados. Diagrama geral da proposta Neste cen´ ario. O provedor ´ transparente para o de identidades est´ a executando em um ambiente de nuvem. Amazon EC2 O EC2 foi o provedor de servic ¸ os de nuvem utilizado no trabalho. ´ informado pelo usu´ que e ario e deve ter a confianc ¸ a do provedor de servic ¸ os. O provedor de servic ¸ os ent˜ ao redireciona o usu´ ario para o seu respectivo provedor de identidades. que agem como discos r´ ıgidos das m´ aquinas. Figura 1. o que e ˜ o do usu´ usu´ ario. ` s m´ No EC2 o usu´ ario pode atribuir enderec ¸ os IP est´ aticos a aquinas instanciadas e ˜ o de portas de acesso. ˜ o de privacidade ou vazamento de informac ˜ es deve-se saber caso haja um caso de violac ¸a ¸o ´ o culpado e como controlar o caso. devem garantir que n˜ manter pol´ ıticas que tratem da retenc ¸a ao h´ a ˜ o.1. 293 . A persistˆ ´ feita utilizando-se configurar a liberac ¸a encia dos dados e volumes Elastic Block Storage (EBS). iniciamente o usu´ ario acessa o provedor de servic ¸ os. Quando o usu´ ario est´ a autenticado e antes de ser novamente redirecionado para o provedor de servic ¸ os. e.como os dados privados s˜ ao armazenados e de que forma podem ser transmitidos. Proposta e Ferramentas Utilizadas ˜ o desenvolvida neste trabalho tem como objetivo implantar uma estrutura de A aplicac ¸a gerenciamento de identidade que garanta a privacidade dos usu´ arios autenticados em um ˜ ambiente de computac ¸ ao em nuvem para acessar provedores de servic ¸ o (Figura 1). momento no qual o usu´ ario fica ciente e deve consentir com a liberac ¸a 5. E ıvel configurar caracter´ ısticas da m´ aquina como capacidade de processamento. ˜ o de seus atributos.

O fluxo de ´ representado na Figura 2. optou-se pelo ` sua popularidade em ambientes acadˆ ˜ o. que testa se a ferramenta deve obter o consentimento do usu´ ario para a 294 . ´ dividido em trˆ ´ um filtro O uApprove e es componentes principais: o IdP plugin e do Shibboleth. No ´ redirecionado para o site. 5. No Passo 14 o SP recebe os atributos e os passa para o Resource Manager (RM).5. Nos Passos 6 e 7 o usu´ ario informa seus dados e no Passo 8 o componente HS verifica a validade dos seus dados. que se enconO Shibboleth e tram separados. Funcionamento do Shibboleth. O HS cria um handle para identificar o usu´ ario e registra-o no Attribute Authority (AA).3.2. onde ele deve informar qual o seu provedor de identidades. que e ´o Passo 4 o usu´ ario informa seu IdP e no Passo 5 ele e componente Handle Service (HS) do seu IdP. que no Passo 15 carrega o recurso [de Cordova 2006]. No Passo 11 o AR utiliza o handle para requisitar os atributos do usu´ ario ao IdP. funcionamento do Shibboleth e Figura 2. ´ formado por duas partes principais: o IdP e o SP. Uma ferramenta que implementa de escolha do usu´ ario quanto a liberac ¸a ´ o uApprove [SWITCH 2011]. No Passo 9 ˜ o do usu´ ´ verificado pelo Assertion esse handle confirma a autenticac ¸a ario. [de Cordova 2006] No Passo 1 o usu´ ario navega para o provedor de servic ¸ os para acessar um recurso protegido. um plugin de privacidade para o esses dois princ´ ıpios e Shibboleth que encontra-se na vers˜ ao 2.1. Shibboleth Entre os diversos sistemas de gerenciamento de identidades dispon´ ıveis.2. Shibboleth devido a emicos e boa documentac ¸a al´ em de ser um software de c´ odigo aberto. O handle e ´ Consumer Service (ACS) e transferido para o Attribute Requester (AR) e no Passo 10 e criada uma sess˜ ao. No passo 12 o IdP verifica se pode liberar os atributos e no Passo 13 o AA responde com os valores dos atributos. Nos Passos 2 e 3 o Shibboleth redireciona o usu´ ario para a p´ agina Where are you from? (WAYF). mas se comunicam para prover o acesso seguro aos servic ¸ os. uApprove ˜ o 4) os princ´ Nos FIPS (descritos na sec ¸a ıpios mais importantes da privacidade s˜ ao a consciˆ encia dos usu´ arios de que seus dados s˜ ao coletados e armazenados e a possibilidade ˜ o desses dados.

em caso afirmativo o Viewer e ˜ o. em caso negativo ˜ o. onde s´ cutando em modo de observac ¸a o registra os atributos que ser˜ ao liberados. uma lista de SPs nos quais o uApprove deve assumir automaticamente o consentimento do usu´ ario. foi fornecido. e o Reset ˜ es que j´ approvals permite que o usu´ ario reinicie as liberac ¸o a foram concedidas. que se refere aos atributos sendo requisitados pelo SP. uma mensagem enviada pelo ˜ es for SP para o IdP para iniciar uma sess˜ ao. Em caso afirmativo o fluxo segue para o Shibboleth IdP. ˜ do uApprove. Caso esteja nesse modo o fluxo segue para o Shibboleth IdP. Fluxograma de execuc ¸ ao ´ um objeto Java criado Primeiramente o plugin verifica se o LoginContext. Caso o LoginContext esteja correto e verificado se o Shibboleth Authentication Request (AuthN). Se o SP se encontrar na lista o fluxo segue para o Shibboleth IdP. sem interagir com o usu´ ario. Adaptado de: [SWITCH 2011] Figura 3. Na sequˆ encia. o identificador u ario.˜ o de seus atributos. Ent˜ segue para a pr´ oxima verificac ¸a ao verifica-se se o usu´ ario est´ a acessando o SP pela ´ invocado. e a usou o plugin). ˜ o do IdP plugin para decidir se o Viewer deve A Figura 3 mostra o fluxo de execuc ¸a ser invocado. sen˜ sido alterados desde o u ao o plugin continua. negativa a execuc ¸a ¸a ˜ es sejam positivas o plugin verifica se est´ Caso as duas primeiras verificac ¸o a exe˜ o. em caso negativo e ´ feita a u ´ ltima primeira vez. caso os termos de uso tenham ´ ltimo acesso o fluxo segue para o Viewer. Se o Principal for conhecido e tiver reiniciado seus consentimentos. o Viewer ser´ a invocado. Se o Principal for desconhecido (nunca utilizou o plugin). que e ˜o e ´ requisitada. ´ verificado se o usu´ ˜ o global para a liberac ˜ o de Depois e ario concedeu aprovac ¸a ¸a seus atributos. sen˜ ao o plugin continua seu fluxo. 295 . Se alguma dessas verificac ¸o ˜o e ´ cancelada e o processo de autenticac ˜ o terminado. Em caso negativo o plugin continua seu fluxo. o Viewer ser´ a invocado. est´ ´ quando uma autenticac ¸a a correto. Se eles tiverem sido verificac ¸a ´ invocado. sen˜ alterados o Viewer e ao o fluxo segue para o IdP. o Viewer apresenta ao usu´ liberac ¸a ario uma p´ agina web com os termos de uso que o usu´ ario deve aceitar quando utiliza o provedor de identidades. verificando se o SP se encontra na lista negra. sen˜ ao o plugin ´ nico de um usu´ ´ conhecido (j´ verifica se o Principal.

˜ o do provedor de identidades Shibboleth.com. para utilizar os metadados da federac ¸a ˜ o da liberac ˜ o de atributos do usu´ Na configurac ¸a ¸a ario foi usado o esquema brEdu˜ es brasileiras. dessas aplicac ¸o ˜ o JASIG CAS Server [JASIG 2011].10.2. Em todos os casos em que o Viewer for invocado. instalado em outra m´ aquina virtual. 296 . gerenciamento de identidades e o pluvem ser executadas as aplicac ¸o ¸a gin de privacidade. 3389 para acesso remoto.amazonaws. Desenvolvimento Pr´ atico Usando o Amazon EC2 foi instanciada uma m´ aquina virtual executando Windows Server ` m´ 2008 e atribu´ ıdo a aquina o IP est´ atico 50. informando o enderec ¸ o DNS e o certificado gerado.64. Para persistˆ encia dos dados utilizou-se um volume EBS de 30GB (Figura 4). executando Ubuntu Server 10.compute-1. o usu´ ario deve interagir e fornecer seu consentimento.3. Para utiliz´ a-la foi necess´ ario cadastrar o IdP. no qual deDepois foi instalado o servidor de aplicac ¸o ˜ es de autenticac ˜ o. Foi instalado o mecanismo de autenticac ¸a vers˜ ao 3. uma extens˜ ao do eduPerson para federac ¸o ˜ o do uApprove. com DNS p´ ublico ec2-50-19-10864. Person. O CAS foi configurado para procurar os usu´ arios em um diret´ orio LDAP.5. 8009 para uso do Shibboleth e 8080 para uso do Tomcat. configurando tamb´ em o Shibboleth ˜ o. Foi ent˜ ao configurado um proxy no Apache para repassar os pedidos ˜ es para o Tomcat. a federac ˜ o escolhida para Na instalac ¸a ¸a ser utilizada foi a TestShib [Internet2 2011b]. que autentica usu´ arios atrav´ es de login e senha e ent˜ ao repassa os usu´ arios autenticados para o Shibboleth. O Na m´ aquina instanciada e em execuc ¸a servidor aceita conex˜ oes n˜ ao-SSL (na porta 80) e conex˜ oes SSL (nas portas 443 e 8443). O plugin precisa armazenar informac ˜ es Seguiu-se para a instalac ¸a ¸o ˜ o de seus atributos e para isso foi utilizado sobre o consentimento dos usu´ arios e a liberac ¸a o MySQL. instalado na mesma m´ aquina do Shibboleth.22.108.˜ o do plugin Em todos os casos em que o fluxo for para o Shibboleth IdP a execuc ¸a ´ ignorada pelo usu´ e ario. vers˜ ao 5.19.2. 6. ˜ es Apache Tomcat 6. ˜ o foi instalado o servidor web Apache 2. ´ Figura 4.0. Maquinas virtuais instanciadas no EC2 As portas liberadas no firewall foram: 3306 para acesso ao MySQL.

com as ˜ es prontas. que s˜ autenticac ¸a ao buscados no LDAP.amazonaws. ˜ o o Shibboleth busca no diret´ Depois da autenticac ¸a orio os atributos que devem ˜ o e exibe uma p´ ser liberados. O restante dos componentes se encontram na m´ aquina virtual com o Windows Server 2008.org/ e informa o provedor de identidades https:// ec2-50-19-108-64. e agina de acesso protegido do provedor de servic ¸ os.10. 297 . Para realizar seu primeiro acesso ao SP o usu´ ario acessa o provedor de servic ¸ os em https://sp.compute-1. fornecida pelo CAS. HTTPS e as encaminha para o Tomcat. O diret´ orio LDAP se encontra na m´ aquina com o Ubuntu Server 10. criado um filtro para ativar o uso do IdP plugin com o Shibboleth.testshib. se concordar. Nesse momento o filtro do uApprove entra em ac ¸a agina contendo os termos de uso do IdP.Foi ent˜ ao gerado um arquivo que cont´ em um exemplo de Termos de Uso e. CAS Server Dentro do Tomcat existem trˆ es aplicac ¸o e uApprove. configurac ¸o ˜ o conclu´ ˜ o pode ser resumida Com a instalac ¸a ıda. para que sejam recebidas pela aplicac ¸a ˜ es sendo executadas: Shibboleth IdP.com/idp/shibboleth para ˜ o. que recebe as requisic ¸o ˜ o correta. Caso o usu´ ario aceite os termos de uso o plugin o redireciona para uma p´ agina que mostra os atributos que ser˜ ao liberados (Figura 6). que representa a vis˜ ao detalhada da parte do IdP da Figura 1. ´ novamente requisitado a aceitar a liberac ˜ o de seus atriO usu´ ario autenticado e ¸a ´ levado a ` p´ butos e. uma vis˜ ao detalhada da aplicac ¸a na Figura 5. ˜ detalhada da aplicac ˜ Figura 5. Visao ¸ ao ˜ es Como ponto de acesso temos o servidor web Apache. onde faz sua ser ent˜ ao redirecionado para a p´ agina de autenticac ¸a ˜ o por login e senha.

˜ o do trabalho foi a falta de referˆ A maior dificuldade para a realizac ¸a encias de ˜ es em ambientes de nuvem. Bertino. este vem p´ ublica. 298 . Ranchal.˜ liberados Figura 6. A proposta se mostrou vi´ usabilidade da aplicac ¸a avel e pˆ ode ser implantada em uma nu˜ o em federac ˜ es consolidadas. In IEEE SRDS. Technologies. Conclus˜ oes e trabalhos futuros Nesse trabalho foi poss´ ıvel tratar problemas espec´ ıficos de privacidade no gerenciamento ` de identidades em ambientes de nuvem: a falta de consciˆ encia dos usu´ arios quanto a ˜ o de seus atributos para provedores de servic ˜ o dos proliberac ¸a ¸ o e a falta de preocupac ¸a ` apresentac ˜ o de seus termos de uso. Isso e ´ importante. and Systems. http://aws. and Lilien. 2010] e contribui ˜ o 4. com a possibilidade de utilizac ¸a ¸o artigo tamb´ em contribui para um melhor entendimento do funcionamento do uApprove..amazon.. Cloud Security Alliance (2010).. N. Domain 12: Guidance for identity and access management v2. Ben Othmane. Singh. Amazon elastic compute cloud. Atributos que serao 7.1. (2010). E. K. L. and Takahashi. V´ implementac ¸o arios artigos apresentam modelos e pro˜ es reais. M. L. mosA proposta de soluc ¸a ´ poss´ trou que e ıvel resolver os dois problemas de maneira eficiente e sem comprometer a ˜ o. Automatizac ˜ o da postas. mas praticamente n˜ ao h´ a exemplos de implementac ¸o ¸a ˜ o de compatibilidade entre pol´ verificac ¸a ıticas de privacidade de provedores e de usu´ arios pode ser considerado um trabalho futuro.. pages 177 –183. Linderman.. Por fim. B. para tratar os aspectos citados na sec ¸a ˜ o. 2010. Identity Management: Concepts. An entity-centric approach for privacy and identity management in cloud computing. R. com o uso dos softwares Shibboleth e uApprove. P. vedores de identidades quanto a ¸a de acordo com [Goth 2011] [Bertino and Takahashi 2011] [Angin et al. Angin..com/ec2/. Bhargava. (2011). Referˆ encias Amazon (2011). Artech House.

and Ghalsasi. (2010). and Ahn. IEEE Security and Privacy. Fair information practice principles. SWITCH (2011).-J. 299 . S. and Jung.. Orawiwattanakul. Inc. (2011). C.. DC.˜ o de daCulturaDigital (2011). USA.edu/ about.jasig. Cloud computing – the business perspective. RS. (2010).. two. A.. Mather. Criteria for evaluating the privacy protection level of identity management services. A. (2010). TCC. I. D. S. Security and privacy challenges in cloud computing environments. Bandyopadhyay.gov/reports/privacy3/fairinfo.. Ciˆ encia da Computac ¸a Federal Trade Comission (2011). In Livro-texto de minicursos e privacidade em ambientes de computac ¸a do SBSeg 2010. IEEE. T. Z.html. S. Santin.shtm. The International Conference on. Marston. and Stocker.. Porto Alegre. Internet2 (2011a).testshib. A. H. S. T. http://www. M. 9:50–57. Jasig cas. Emerging Security Information. ftc. Os rumos da lei de protec ¸a dos.. Cloud Security and Privacy: An Enterprise Perspective on Risks and Compliance. Pearson. K. pages 53 –102. (2006).. A privacy impact assessment tool for cloud computing.switch. 51(1):176 – 189. (2011).. Inc. B. https://www..ch/aai/support/tools/ uApprove. http://www. Taking account of privacy when designing cloud computing services.. Zhang. A. and Charlesworth. Internet Computing. 2010. Walloschek... J. In Proc. T. Testshib testshib-two/index. S. Aspectos de seguranc ¸a ˜ o em nuvem. Kataoka. Grobauer. In 3PGCIC..br/dadospessoais/ os-rumos-da-lei-de-protecao-de-dados/. of the 2009 ICSE Workshop. uapprove. ˜ o pr´ de Cordova. J. Takabi. pages 44–52. B. Washington..org/cas. H. and Latif.html. (2009). G.jsp. Kumaraswamy.internet2. pages 243 –249. (2011). http://shibboleth. O’Reilly Media. http://www. IEEE Computer Society. M. Privacy gets a new round of prominence. dades. About shibboleth. (2005). pages 667 –676. Laureano. P. Internet2 (2011b). Marcon Jr.. Li. UNIVALI. (2009). Jeun. (2010). T. Nakamura.. Windley. A.org/ JASIG (2011).. volume 1. Digital Identity. H. CLOUD ’09. O’Reilly Media. S.. http://culturadigital. Yamaji. Tancock. Goth. User-controlled privacy protection with attribute-filter mechanism for a federated sso environment using shibboleth.. 15(1):13 –15. IEEE Security and Privacy. (2009).. N. 0:155–160. Systems. Pearson. and Technologies. Decision Support Systems. E.. and Sonehara. 8:24–31. Aplicac ¸a atica de um sistema de gerenciamento de identi˜ o. Understanding cloud computing vulnerabilities. G. 2010. Joshi. SBC. S. In IEEE CloudCom. Lee. and Maziero.

Com a finalidade de facilitar a análise das ações nocivas executadas por malware. i. we propose a visual and interactive tool to analyze malware behavior. muitas variantes de malware surgem a cada dia. apresenta-se uma ferramenta interativa e visual para análise de comportamento de código malicioso. isto é. André Ricardo Abed Grégio1. Neste artigo. A monitoração da execução deste tipo de programa provê uma grande quantidade de informações. Visualization techniques can be applied to these data to identify useful patterns and help in the analysis process. do acesso à links de páginas Web servindo conteúdo malicioso e do compartilhamento de mídias contaminadas. + . é necessário entender o comportamento destes programas. Malware attacks are a major threat to computer systems. mas geram muitos dados textuais que podem confundir o analista.gov.unicamp.br Abstract. Ataques por programas maliciosos constituem uma das principais ameaças aos sistemas computacionais atuais. worms. Também conhecidos como malware. but they generate a massive amount of data that can confuse the analyst. devido à quantidade.Análise Visual de Comportamento de Código Malicioso Alexandre Or Cansian Baruque1. Técnicas de visualização podem ser utilizadas na tentativa de se identificar padrões que sirvam no auxílio à análise. as ações realizadas nos alvos. Entretanto. que devem ser analisadas de forma a produzir resultados úteis que possam auxiliar na tomada de contra-medidas. paulo@las. é possível se aplicar técnicas de visualização. In this paper. esses programas englobam os vírus. To develop counter-measures. cavalos-de-tróia. Paulo Lício de Geus2 1 Centro de Tecnologia da Informação Renato Archer (CTI) 2 Universidade + Estadual de Campinas (Unicamp) Bolsista do CNPq — Brasil orcansian@gmail.2 .br. 1.2..ic. pode ser difícil encontrar rapidamente o que é realmente relevante para o tratamento de um incidente deste tipo. Para criar contra-medidas. Resumo. Dynamic analysis systems are used to trace malware behaviors.e. e podem infectar uma máquina através de arquivos anexos em mensagens de e-mail. it is necessary to understand the behavior presented by malware. As informações obtidas a partir das atividades efetuadas por um programa malicioso podem ser confusas para um analista e. argregio@cti. as quais podem permitir a observação de padrões e identificação de comportamentos de ataque de maneira mais intuitiva. Introdução Programas maliciosos constituem uma grande ameaça aos usuários de sistemas computacionais. the actions performed in the targets. Sistemas de análise dinâmica existem para traçar tais comportamentos. causando uma sobrecarga para os mecanismos de defesa e para os analistas de segurança.com. possibilitando a descoberta de informações úteis. é apresentada uma ferramenta interativa tridimensional para ajudar na análise 300 . Neste trabalho.

das atividades que um malware efetua durante a infecção de uma máquina-alvo. baseadas em ícones. Como visto. a qual foi desenvolvida e testada com exemplares reais coletados. onde é feita a demonstração visual dos dados. tornando o processo de engenharia reversa mais rápido. Existem diversas ferramentas que fazem uso da visualização para fins de análise voltada à segurança. • Apresentação. envolvendo a busca visual por tendências. Em seu trabalho. exceções ou estruturas visando a definição das hipóteses. de modo a permitir sua interpretação. 2. na qual não há uma hipótese definida sobre os fenômenos que podem ocorrer nos dados analisados. e 301 . Estas técnicas podem ser agrupadas por categorias. as ferramentas muitas vezes não são interativas ou intuitivas o suficiente. cada uma delas utilizando uma abordagem própria das técnicas. geométricas. fenômenos relacionados a estes ou hipóteses. [2] deselvolveram um sistema que facilita uma análise livre de contexto de arquivos de tipos diversos. fornecendo um rápido panorama do contexto e das estruturas internas dos arquivos. tridimensionais. • Confirmação. Trinius et al. com vantagens e desvantagens de acordo com a situação em que é utilizada. por meio de visualização. Muitas delas foram utilizadas em trabalhos voltadas à visualização de eventos de segurança. obtendo assim uma compreensão maior dos dados ao agregar mais informações extraídas de várias origens. Há muitas técnicas de visualização de dados. hierárquicas. Conceitos e Trabalhos Relacionados Visualização de dados pode ser utilizada para vários objetivos visando a análise [6]. VERA (Visualization of Executables for Reversing and Analysis). tais como: • Exploração. O framework DEViSE [9] (Data Exchange for Visualizing Security Events) permite ao analista um meio de passar dados de uma ferramenta para outra. O framework criado por eles. auxilia os analistas a terem um melhor entendimento do fluxo de execução de um executável. ou que se utilizam de mapas. Isto é especialmente útil em um ambiente de análise forense. é mostrado o uso de treemaps e thread graphs para mostrar as ações de um executável e classificar seu comportamento como malicioso. A principal limitação dos trabalhos nesta área é que parte da pesquisa não é aberta ao público. quando se analisa arquivos em formatos não documentados e busca-se por mensagens de texto ocultas em arquivos binários. pixels ou grafos. [10] apresentam de métodos visualização para aprimorar a compreensão do comportamento de malware. há também muita pesquisa na tentativa de superar as dificuldades causadas pela grande quantidade de dados presentes em dados de eventos de segurança. Quist e Liebrock [8] aplicaram técnicas de visualização para compreender o comportamento de executáveis compilados. as quais variam a complexidade e generalidade desde um simples gráfico de área até o fatiamento de volumes tridimensionais. que usa dados de natureza conhecida e hipóteses sobre os fenômenos relacionados de forma a confirmá-las ou rejeitá-las. Conti et al. como por exemplo.

a interpretação pode ser muito complexa. esta ferramenta visual permite a interpretação de uma grande quantidade de informações. destacam-se: 302 . a proposta deste artigo é visualizar apenas as ações que causam mudanças em um sistema alvo. foi proposto um gráfico de comportamento em espiral. Figura 1. representando todas essas atividades escolhidas de forma temporal e que pode ser aumentado. devido à forma ser em espiral. pequenas variações nas ações poderiam gerar gráficos bem diferentes para comportamentos muito similares. em um dos trabalhos já citados [10]. Um dos objetivos do trabalho proposto neste artigo é superar algumas destas limitações. Dentre as principais características da ferramenta. mostrando a frequência e distribuição das ações maliciosas capturadas. Caso a apresentação fosse bidimensional. sem o auxílio de software de análise específico. Descrição da ferramenta A ferramenta de visualização proposta tem como objetivo principal receber um arquivo de comportamento e exibir as informações contidas nele de uma forma interativa por meio de um gráfico em três dimensões no formato de uma espiral como visto na Figura 1. 3. Um outro ponto para a escolha visual é poder comparar rapidamente os padrões presentes em comportamentos distintos. Para resolver o problema do excesso de dados. ainda existe o excesso de dados e a falta de interatividade. Quanto a falta de interatividade. é proposta a visualização de comportamentos de malware através de treemaps. Estas características serão explicadas na seção a seguir. Visão geral do gráfico em espiral Nota-se que. o que seria muito mais difícil através da análise manual. Entretanto. tirando a vantagem trazida pela visualização. A visualização gráfica em espiral permite uma análise interativa e mais compreensível de dados complexos. provendo interatividade e utilizando técnicas de visualização tridimensionais e baseadas em ícones a fim de produzir um resultado mais compreensível. Por exemplo. o que é indesejável na análise de malware. com os ícones dispostos em uma matriz (como mostrado em [3]. rotacionado e ter ícones específicos selecionados de forma a detalhar a ação.

quanto uma explicação melhor a respeito das palavras-chave estão na Seção 3. 3. exibindo assim o gráfico para o usuário. Tanto o formato esperado de um arquivo de comportamento. • A flexibilidade em aceitar como entrada diversos tipos arquivos de entrada através da configuração adequada dos parâmetros. como por exemplo o raio da espiral. o usuário fornece as informações a respeito da formatação dos arquivos (logs) a serem analisados.1 3.2.1.3.• A capacidade de manipular livremente o ângulo de visão do gráfico para obter mais detalhes de uma de uma determinada área do gráfico. O usuário interage com o Módulo GUI. Interface gráfica criada pelo Módulo GUI Através do uso desta interface. Esta biblioteca foi escolhida por permitir um rápido desenvolvimento do Módulo. • A facilidade em personalizar características do gráfico criado. 3. Módulo Visualização O Módulo Visualização utiliza a biblioteca j3d do Java. conforme pode ser visto na Figura 2. pois somente serão visualizadas na espiral as formas geométricas e cores relacionadas às palavras-chave indicadas pelos usuário. 303 . Figura 2. proporcionando uma melhor filtragem da palavra-chave de interesse. A vantagem do uso deste Módulo está na flexibilidade da interpretação dos arquivos de logs genéricos. Arquitetura A arquitetura da ferramenta é dividida em dois módulos: Módulo GUI e o Módulo Visualização. que é responsável pela apresentação dos resultados. • A possibilidade de destacar pontos relevantes do gráfico.3. bem como determina qual será a representação gráfica das palavras-chave presentes nestes logs que serão criadas pelo Módulo Visualização. e também por facilitar a implementação da computação gráfica. que por sua vez gera o ambiente em 3D. e este por sua vez encaminha as escolhas do usuário para o Módulo Visualização. que foi criada através do uso da biblioteca Swing da linguagem Java. Módulo GUI O Módulo GUI é uma interface gráfica.

para tornar possível o uso de formas não nativas foram criados vários métodos que encapsulam a criação de formas complexas (tais como. também foi criado um método que encapsula a criação de um objeto “ponto” a partir de uma cor e uma forma geométrica definida. Exemplo de uma linha de um arquivo log válido Cada ponto no gráfico é composto simultaneamente por uma cor e uma forma geométrica. renderiza a cena e exibe a imagem do gráfico. processos) quando da atividade de um programa malicioso. no caso específico deste trabalho. 304 . %HOMEPATH%\desktop\malware.”. Adição de um ponto no gráfico da cena A biblioteca j3d possui algumas poucas fomas geométricas nativas. z) também estará definido. Com o intuito de facilitar o gerenciamento das informações pelo Módulo Visualização foi criado o objeto “ponto” mencionado. Estas palavras referem-se. remover) e os tipos de subsistema influenciados por estas (arquivo. seus tipos e os respectivos ícones (formas geométricas) e cores que representam tais informações.exe Figura 3. Portanto.2. no qual o caracter separador é o “. A coordenada “y” depende de dois fatores: a linha na qual o ponto corresponde e a constante “α ”. 3. Portanto. é necessário que cada linha do arquivo log contenha duas palavras-chave para que a composição gráfica seja feita corretamente.Ao ser iniciado. cria a cena.proc. o qual contém todas as informações relevantes a um ponto do gráfico.3. são as ações (criar. à cor e à forma geométrica. Além disso. A cor corresponde a uma palavra-chave e a forma a outra palavra-chave. A Tabela 1 mostra as ações.open. o resto do vetor posição (x. registros. y. Vale lembrar que a posição das palavras-chave e o caracter separador são escolhidas pelo usuário no Módulo GUI. As palavras-chave. open é a primeira palavra-chave e process a segunda. Estrutura do arquivo de entrada A Figura 3 exemplifica uma linha de um arquivo de entrada válido. y. o Módulo Visualização executa as seguintes tarefas: recebe os parâmetros do Módulo GUI. Para definir em qual posição (x. entre elas o cubo e a esfera. a pirâmide e o asterisco utilizados neste artigo) a partir da composição de retas e planos. 3.3.process. respectivamente. A seguir são detalhados os mecanismos que permitem a execução destas tarefas. tais como a cor. escrever.exe. a forma geométrica e a linha correspondente do arquivo de entrada. utilizam-se as fórmulas abaixo: x = cos(α y) z = sin(α y) Observa-se que uma vez definida a coordenada “y”. z) um ponto será inserido.1.

como já descrito na Seção 3. 3. e “n” é o número da linha a qual o ponto se refere. cada linha do arquivo de entrada é percorrida. Renderização da cena A renderização é o processamento das informações providas na cena para gerar. e tem como objetivo implementar a capacidade de se escrever texto sobre a camada do plano principal (canvas). isto é. são adicionados ao gráfico os detalhes. na qual “α ” é uma constante escolhida pelo usuário no Módulo GUI.3. Ações. tipos possíveis de visualização e ícones que as representam. a imagem visível ao usuário. Criação da cena Durante o método de criação da cena. Isto é feito para mostrar ao usuário informações adicionais sobre um ponto específico no gráfico.4. este adiciona um ponto correspondente no gráfico da cena.3. A classe CanvasOverlay estende a classe nativa Canvas. com exceção de duas classes customizadas: a classe CanvasOverlay e a classe MouseBehavior. Action / Type READ QUERY RECEIVE WRITE SEND CONNECT CREATE DISCONNECT DELETE TERMINATE RELEASE MUTEX FILE PROC REG NET Um ponto referente à enésima linha do arquivo possui a coordenada “y” definida n pela fórmula y = 10 α .Tabela 1. Em seguida. 3. Caso o método encontre um par de palavras-chave. conforme ilustrado na Figura 4.2.3.3. 305 . os eixos e a curva da espiral. de fato. A renderização é feita quase que integralmente pelos métodos nativos da biblioteca j3d.

a marcação correspondente ao ponto.Figura 4. desmarcando as outras. a família de worms anteriormente mencionada. Assim. Os arquivos com comportamentos foram utilizados na geração das espirais. supondo que o usuário deseje verificar apenas as atividades relacionadas à processos (criação e finalização). como a posição e o clique do mouse sobre o canvas. ou sub-famílias. conforme pode-se observar na Figura 5. conhecida como “Allaple” é bastante popular. 306 . contém dezenas de variantes e ainda está em atividade. 4. para os quais foram definidos cores e formas geométricas. É interessante notar que exemplares identificados pelo antivírus ClamAV [1] como pertencentes à família “Allaple” apresentam padrões similares. para que fossem extraídos os perfis comportamentais. As marcações são criadas por métodos implementados dentro da classe MouseBehavior. a análise dessas diferenças é um processo relevante na compreensão das atividades maliciosas. este deve escolher somente a caixa de seleção “process”. é possível filtrar as facetas do comportamento que se deseja visualizar. determinado pela cor verde na Figura 2. Por exemplo. alternadamente. permitindo uma análise mais detalhada. Isto pode ser observado na Figura 6. Testes e Resultados A representação de comportamentos maliciosos envolve diversas categorias de ações e tipos. Através do módulo GUI. Dado que mesmo uma família denominada por um mecanismo de antivírus pode ter variantes diversificadas em diferentes grupos internos. através da ferramenta desenvolvida apresentada neste artigo. Por exemplo. Com a classe MouseBehavior é possível controlar a câmera com o mouse e também criar marcações para destacar pontos do gráfico (Figura 4). quando for detectado um clique do mouse sobre algum ponto do gráfico. Isto faz com que a espiral produzida contenha apenas o tipo de informação selecionada. este método irá adicionar ou remover. Os exemplares se caracterizam por realizar atividades de varredura em redes visando atacar outros sistemas e se disseminar. Para fins de teste. Detalhes das marcações nos pontos (grade verde) e texto inserido através da classe CanvasOverlay A classe MouseBehavior estende a classe nativa Behavior e tem como objetivo adicionar ao Módulo Visualização a capacidade de reconhecer comandos do mouse diretamente sobre a tela. foram obtidos os comportamentos de mais de 400 exemplares de malware coletados pela arquitetura apresentada em [4]. Estes exemplares foram submetidos a um sistema de análise dinâmica de malware [5]. com a finalidade de facilitar sua identificação e representação (Tabela 1). mesmo quando o comportamento é incompleto.

o malware parou sua execução antes de gerar tráfego de rede. 5.Figura 5. É interessante notar que o comportamento do programa desconhecido contém mais ações do que as do identificado como um trojan. foi possível classificar um exemplar não identificado pela semelhança com a espiral de um cavalo-de-tróia conhecido (identificado pelo ClamAV como uma variante de Trojan. como sendo malicioso. Conclusão Devido ao problema causado pelos programas maliciosos em sistemas de computadores e redes.Agent). Na Figura 7 é mostrada uma variante de “Allaple” cujo comportamento difere visivelmente das variantes da Figura 6. representadas por esferas vermelhas e rosas. indicando uma possível sub-família. conforme mostrado na Figura 8. Espiral gerada através da seleção. Isto mostra que. de visualização filtrada por atividades relacionadas aos processos presentes no comportamento Figura 6. é necessário criar meios que facilitem a compreensão da atuação destes e a tomada 307 . Em (a). pode-se notar a presença de algum tráfego enquanto que em (c). Além disso. visualmente. Em um outro caso. em (b). inclusive atividades de rede diversas. Comportamento de três exemplares da família “Allaple”. respectivamente. no módulo GUI. pode-se notar uma alternância entre as atividade de conexão com a rede e criação de arquivos. podem haver mudanças no comportamento que levem à atividades mais sofisticadas. como downloads ou obtenção de informações sobre as máquinas sondadas em uma varredura. atividades de rede ocorreram em grande quantidade Entretanto. foi possível detectar um comportamento de um programa até então classificado como inofensivo por um mecanismo antivírus.

pois permitem a visualização de padrões que poderiam estar ocultos em uma massa muito grande de informações textuais. cujo comportamento inicial é similar ao de um cavalo-de-tróia da classe “Agent” (b) de medidas de proteção.Figura 7.Agent Figura 8. Técnicas de visualização podem ser aplicadas com sucesso no auxilio à análise de comportamento malicioso. (b) Trojan. Esta ferramenta utiliza-se de tecnologias tridimensionais providas por pacotes em Java e apresenta os dados dispostos sob a forma de uma espiral. Exemplar não identificado pelo antivírus ClamAV (a). cujo comportamento predominante envolve a alternância entre as atividades de conexões de rede (esferas vermelhas) e criação de arquivos (esferas rosas) (a) Exemplar não identificado. foi desenvolvida uma ferramenta para visualização de comportamento de execução de programas a qual é também interativa. permitindo a um usuário ou analista de segurança a verificação das atividades de forma detalhada e informativa. Com a finalidade de ajudar na análise de malware. Variante de exemplar de malware da família “Allaple”. 308 .

[7] Malicious Behavior Spiral. T. M. L. Liebrock. de Geus. IEEE Computer Graphics and Applications. 2009. padrões comuns em famílias (tornando possível seu agrupamento e classificação posterior). Holz. C. Eick. 11. In 23rd International Conference on Very Large Data Bases (VLDB ’97). vol. Visual Reverse Engineering of Binary and Data Files. 73440B-73440B-10. [2] G. http://www. 1997. Visitado em Agosto de 2011.br/~gregio/mbs [8] D. Proceedings of the 5th international workshop on Visualization for Computer Security(VizSec). Read. 2009. pp. R. vol. [5] D. Sumner. Visual analysis of malware behavior using treemaps and thread graphs.unicamp.pp.Para validar a ferramenta. D. J. C. pp. pp. International Workshop on Visualization for Cyber Security(VizSec). Keim. J. de Geus. 2008. dos Santos. Referências [1] Clam antivirus. A. M. M. Freiling. E. A fim de disseminar o conhecimento científico e prover transparência. http://www.ic. 2009. no. Dean.clamav. Presenting DEViSE: Data Exchange for Visualizing Security Events. Conti. foram feitos testes que produziram mais de 400 espirais de programas maliciosos e permitiram identificar. Blyth. Visual Data Mining. Oliveira. pp. Malware distributed collection and pre-classification system using honeypot technology. C. vol. 957-968. Sinda and B. [4] A. R. V. [9] H. Cansian and P. In IEEE Transactions on Software Engineering. bem como as figuras de todas as espirais geradas. R. 1-17. 1992. M.las. G. I. Afonso. L. Sangster. [6] D. Seesoft—A Tool for Visualizing Line Oriented Software Statistics. Jr. 7344. 29. dos Santos. 33-38. [10] P. [3] S. visualmente. Proceedings of the Workshop on Visualization for Cyber Security. S. Fernandes Filho. Anais do X Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais (SBSeg). 6-11. Visualizing Compiled Executables for Malware Analysis. Proceedings of SPIE . 311-324. 18. L. mostrouse que é possível associar programas maliciosos não identificados à malware que já é conhecido. 2009. A.net. 309 . 2010. Grégio. Gobel and F. E. Quist and L. propõe-se uma extensão que permita abrir e manipular diversos arquivos de comportamentos ao mesmo tempo. pp. Steffen and E. Além disso. K. D. L. R. Xynos and A. Trinius. uma versão “beta” da ferramenta está disponível em [7]. A. Tutorial. 27-32. Jino and P. possibilitando a comparação em paralelo mais rápida de várias instâncias de malware. Análise Comportamental de Código Malicioso através da Monitoração de Chamadas de Sistema e Tráfego de Rede. pp. Grégio. A. Como trabalho futuro.

Algoritmos de criptografia trabalham embaralhando informa¸ c˜ oes para as proteger de acesso indevido. maur. This work is the study of this technique. Maur´ ıcio Duarte1 Computer and Information Systems Research Lab (COMPSI) Centro Universit´ ario Eur´ ıpedes de Mar´ ılia (UNIVEM) – Mar´ ılia.br 1 Abstract. um dado usado pelo algoritmo para o embaralhamento das informa¸ c˜ oes e posterior restaura¸ c˜ ao dos mesmos atrav´ es da descriptografia. The distribution of cryptographic keys is a known problem in cryptography. ajustando seus pesos. a troca com antecedˆ encia e uso de chaves p´ ublicas.Troca de Chaves Criptogr´ aficas com Redes Neurais Artificiais Denis R.duarte@univem. Resumo. adjusting their weights. Fazer com que ambas as partes da comunica¸ ca ˜o possuam essa mesma chave ´ e um problema conhecido em criptografia. Esses algoritmos usam chaves criptogr´ aficas. SP – Brasil denis@piazentin. 1. Tendo em vista que redes neurais artificiais podem se sincronizar por aprendizado m´ utuo. it is possible to use this property of synchronization to solve the problem of exchanging cryptographic keys. Given that artificial neural networks can synchronize by mutual learning. ´ e poss´ ıvel usar essa propriedade de sincroniza¸ c˜ ao para solucionar o problema de troca de chaves criptogr´ aficas. Introdu¸ c˜ ao A criptografia usa algoritmos criptogr´ aficos para transformar texto plano em texto cifrado e utiliza um dado chamado chave criptogr´ afica para criptografar e descriptografar esses textos. Piazentin1 . a data used by a given algorithm for scrambling the information and subsequent restoration of these information through decryption. Este trabalho ´ e o estudo desta t´ ecnica. onde os pesos s˜ ao ajustados at´ e que convirjam e com a cria¸ c˜ ao de redes neurais com uma estrutura diferenciada onde h´ a uma sincroniza¸ c˜ ao muito mais r´ apida que o treinamento comum. A distribui¸ c˜ ao das chaves criptogr´ aficas ´ e um conhecido problema em criptografia. M.com. These algorithms use cryptographic keys. known as Neural Cryptography. foi poss´ ıvel propor um protocolo de troca de chaves que utiliza os pesos dessas redes sincronizadas como chaves criptogr´ aficas. A sincroniza¸ c˜ ao de redes neurais e o uso de seus pesos como chaves criptogr´ aficas ´ e uma alternativa ao problema de troca de chave. 310 . que j´ a teve propostas e implementadas solu¸ co ˜es como o uso de um terceiro confi´ avel. Com a descoberta da sincroniza¸ ca ˜o entre redes neurais por um processo conhecido como aprendizagem m´ utua. criando uma alternativa ao problema de troca de chave.edu. conhecida como Criptografia Neural. Encryption algorithms work by scrambling information to protected then from unauthorized access.

Este trabalho tem como objetivo prover uma revis˜ ao bibliogr´ afica e apresentar o uso da sincroniza¸ ca ˜o de redes neurais artificiais como protocolo de troca de chaves. Os algoritmos candidatos a AES foram analisados quanto a ` sua seguran¸ ca. O DES e todos os algoritmos conhecidos como de criptografia de chave sim´ etrica utilizam a mesma chave para criptografar e descriptografar [Terada 2008]. Triple DES. A partir dessa an´ alise. Para criptografar e descriptografar dados. Sucessor do DES. tamb´ em pode interceptar a mensagem com a chave que a descriptografa [Burnett e Paine 2001]. Na troca de chaves com antecedˆ encia. A criptografia ´ e usada para proteger a troca de informa¸ c˜ oes secretas. de criptografia sim´ etrica. o uso de um terceiro confi´ avel e a criptografia neural. enquanto que. Criptografia e Troca de Chaves Criptografar ´ e o ato de converter informa¸ c˜ oes sens´ ıveis em textos ileg´ ıveis. o processo inverso. O DES foi o primeiro algoritmo de criptografia de conhecimento p´ ublico e se tornou o padr˜ ao comercial em algoritmos criptogr´ aficos. chegando a ser 500 vezes mais lento em algumas compara¸ co ˜es [Burnett e Paine 2001]. em outubro de 2000. performance e tamanho [Burnett e Paine 2001]. cada usu´ ario possui seu par de chaves. converter textos ileg´ ıveis em informa¸ c˜ ao leg´ ıvel. Outras solu¸ co ˜es para o problema de troca de chaves s˜ ao a troca de chaves com antecedˆ encia. utilizam-se algoritmos criptogr´ aficos que. No DES e nos algoritmos p´ ublicos que se seguiram. o Advanced Encryption Standart (AES) e o RSA [Terada 2008]. publicado em 1978. o algoritmo Rijndael foi escolhido e adotado como AES [Terada 2008]. O algoritmo RSA. que ´ e usada por outro algoritmo. consiste do ato de descriptografar. por sua vez. o AES foi escolhido para ser o novo padr˜ ao comercial atrav´ es de uma competi¸ ca ˜o criada em 1998. privada. A criptografia de chave p´ ublica ´ e uma das solu¸ co ˜es para o problema de troca de chaves. O AES ´ e um algoritmo de chave sim´ etrica que utiliza chaves de 128. 2. mas para isso tamb´ em ´ e necess´ ario proteger as chaves que descriptografam essas informa¸ c˜ oes e. junto com sua variante. 192 ou 256 bits de comprimento [Terada 2008]. Nesse esquema. a chave p´ ublica. utilizam um dado conhecido como chave. as duas partes que desejam se comuni- 311 . a chave ´ e sempre um n´ umero ou um conjunto de n´ umeros [Burnett e Paine 2001]. Alguns algoritmos de criptografia mais conhecidos s˜ ao o Data Encryption Standart (DES). que ´ e usada pelo usu´ ario para descriptografar os dados [Burnett e Paine 2001]. utiliza o conceito de chaves p´ ublicas e privadas. a seguran¸ ca se baseia exclusivamente no conhecimento da chave secreta. O algoritmo RSA comumente ´ e utilizado para criptografar uma chave de sess˜ ao. que ´ e usada por terceiros para criptografar o conte´ udo e uma chave distinta. Na criptografia computadorizada. Isso ocorre porque algoritmos de chave p´ ublica como o RSA s˜ ao muito mais lentos que os de chave sim´ etrica. se um atacante pode interceptar a mensagem com o texto cifrado. para criptografar e descriptografar a mensagem em si [Burnett e Paine 2001]. tendo em vista que problemas encontrados em outros protocolos n˜ ao s˜ ao observ´ aveis aqui. A criptografia neural ´ e uma alternativa interessante. foram selecionados uma s´ erie de algoritmos que foram exaustivamente testados e.

´ e um simplifica¸ c˜ ao do neurˆ onio biol´ ogico. . com pesos acoplados w1 . . dendritos e axˆ onio. que armazena a chave de todas as outras partes e tem acesso a todas as mensagens [Burnett e Paine 2001].car devem se encontrar antes e compartilhar a chave que ser´ a usada para criptografar as mensagens atrav´ es de um meio de comunica¸ c˜ ao seguro [Burnett e Paine 2001]. O principal problema com esse protocolo ´ e a dificuldade na troca de chaves que surge quando as partes est˜ ao em locais geograficamente distantes ou quando muitas partes desejam se comunicar. conforme ilustrado na Figura 1. . . recebendo os valores x1 . e caso a TTP seja perdida ou comprometida de qualquer forma. x2 . No caso de terceiro confi´ avel. xn . os dendritos e o axˆ onio com seus terminais sin´ apticos. . com o efeito da sinapse i ent˜ ao sendo dado por xi wi no momento em que o neurˆ onio atinge seu limiar de excita¸ c˜ ao. 2007] [Russell e Norvig 2010]. . 3. . Modelo de neurˆ onio biol´ ogico com o corpo. que foi proposto em 1943 por McCulloch e Pitts. situa¸ c˜ oes em que ocorrem problemas de log´ ıstica que inviabilizam a troca [Burnett e Paine 2001]. ´ e necess´ ario obter outra TTP e reiniciar o processo de gera¸ ca ˜o de chaves para todas as partes. 312 . O modelo do neurˆ onio artificial ´ e representado na Figura 2. TTP). com o disparo sendo dado pela sa´ ıda y nos valores 1 ou 0 [Braga et al. Figura 1. O principal problema com esse protocolo ´ e que a confiabilidade da TTP ´ e extremamente cr´ ıtica. . o que pode ser muito custoso [Burnett e Paine 2001]. wn representando a for¸ ca das sinapses do neurˆ onio. 2007]. que ´ e dividido em corpo ou soma. Criptografia neural utiliza os pesos de redes neurais sincronizadas como chaves criptogr´ aficas [Kinzel e Kanter 2002]. dado pela somat´ oria dos valores xi wi e por uma fun¸ ca ˜o de ativa¸ ca ˜o f (u). O protocolo se baseia na propriedade de sincroniza¸ ca ˜o de certas redes neurais e no fato de que a sincroniza¸ c˜ ao ´ e muito mais r´ apida que o aprendizado de uma terceira rede neural de um atacante que esteja apenas monitorando a comunica¸ ca ˜o [Ruttor 2007]. w2 . O primeiro neurˆ onio artificial. Redes Neurais Artificiais Redes neurais artificiais (RNAs) s˜ ao sistemas paralelos distribu´ ıdos por unidades de processamento simples (neurˆ onios artificiais) que calculam determinadas fun¸ c˜ oes matem´ aticas [Braga et al. cada parte possui uma chave diferente compartilhada com uma terceira parte confi´ avel (trusted third party. Fonte: pr´ oprio autor O modelo de neurˆ onio artificial foi composto de n terminais de entrada.

por´ em redes neurais com uma estrutura espec´ ıfica. 2007]. wn . . Modelo matem´ atico de um neurˆ onio artificial. Para isso. xn . Nas redes neurais mais simples. . No treinamento n˜ ao supervisionado. que prop˜ oe que o peso deve ser ajustado caso haja sincronismo entre atividades de entrada e sa´ ıda. calculam suas sa´ ıdas e as comunicam uma para a outra. como os perceptrons. com sa´ ıdas da camada inferior alimentando entradas da camada superior [Braga et al. 2007]. as Tree Parity 313 . . 2007]. . h´ a um supervisor estimulando as entradas e ajustando os pesos para aproximar sua sa´ ıda da sa´ ıda desejada. a cada passo do processo de sincroniza¸ ca ˜o.Figura 2. w2 . uma das regras de aprendizado usadas na criptografia neural. ´ e classificada como n˜ ao supervisionada [Braga et al. No treinamento supervisionado. os pesos s˜ ao ajustados. x2 . Criptografia Neural A sincroniza¸ c˜ ao de redes neurais ´ e um caso especial de aprendizado onde duas redes neurais s˜ ao iniciadas com pesos escolhidos aleatoriamente e. . mas conjuntos de neurˆ onios organizados em forma de rede podem resolver problemas mais complexos [Braga et al. . Fonte: pr´ oprio autor Neurˆ onios individuais s˜ ao computacionalmente limitados. 2007]. O ajuste dos pesos ´ e dado por w(t + 1) = w(t) + ∆w(t). 2007] em que as entradas da rede s˜ ao alimentadas e. . se organizam redes de neurˆ onios artificiais com quantia de camadas variadas e com conex˜ ao entre si unidirecionais (feedforward ) ou recorrentes. 4. com as entradas x1 . A regra de aprendizado de Hebb. sa´ ıda y e corpo com a somat´ oria de xi wi e fun¸ c˜ ao de ativa¸ c˜ ao f (u). de acordo com o resultado. Caso o mapeamento entre a entrada atual e a sa´ ıda de ambas as redes n˜ ao seja igual. n˜ ao se observa diferen¸ ca significativa entre o tempo para a rede ser treinada por exemplos do tempo necess´ ario para sincronizar. As RNAs s˜ ao treinadas para aprender e melhorar sua performance na resolu¸ ca ˜o de um problema [Haykin 1999]. . recebem um vetor de entradas gerado publicamente. Esse treinamento consiste de um processo iterativo de ajuste dos pesos das conex˜ oes [Braga et al. O treinamento ou aprendizado pode ser supervisionado ou n˜ ao supervisionado. com w(t + 1) sendo o valor do peso no instante t + 1 e ∆w(t) o ajuste aplicado aos pesos. padr˜ oes s˜ ao apresentados continuamente a ` rede e as regularidades nos dados apresentados torna o aprendizado poss´ ıvel [Braga et al. os pesos da rede s˜ ao atualizados de acordo com uma das regras aplic´ aveis [Ruttor 2007]. pesos w1 .

2002] e pode ser vista na Figura 3: Figura 3. . tem-se tamb´ em que o estado de cada neurˆ onio ´ e dado pelo somat´ orio de xj wj . e essa diferen¸ ca de tempo ´ e usada pelo protocolo para resolver o problema de troca de chaves [Ruttor 2007]. N .Machines (TPM). Tem-se ent˜ ao que a sa´ ıda total y da TPM ´ e dado pelo produto (paridade) das unidades da camada oculta oi . A arquitetura da rede TPM foi apresentada no artigo Secure exchange of information by synchronization of neural networks [Kanter et al. com cada unidade possuindo N unidades da camada de entradas xj com peso associado wj . . respectivamente. . A camada oculta possui K unidades.j wi. . . com K = 3 e N = 4. L} (2) como em outras redes neurais.j ∈ {−1. −L + 1. . 1 1 hi = √ xi wi = √ N N N xi. representados na Figura 3 por oi onde i = 1. K . oi = sgn(hi ) (4) com o caso especial de hi = 0 sendo mapeado para −1 para garantir um valor de sa´ ıda bin´ ario. +L − 1. . wi. . . .j ∈ {−L. onde j = 1. tais que xi. A camada de sa´ ıda possui apenas uma unidade y . sincronizam muito mais r´ apido do que uma terceira rede que esteja escutando a comunica¸ c˜ ao precisa para aprender. Fonte: pr´ oprio autor A TPM ´ e composta por trˆ es camadas. a oculta e a de sa´ ıda. a de entrada. .j j =1 (3) com a sa´ ıda oi sendo definida pela fun¸ ca ˜o sinal de hi . +1} (1) e os pesos que definem o mapeamento de entradas para sa´ ıda s˜ ao n´ umeros discretos entre −L e +L. Tem-se que todos os valores de entradas s˜ ao bin´ arios. h´ a 2K −1 314 . a sa´ ıda y apenas indica se o n´ umero de unidades inativas da camada oculta ´ e par (y = +1) ou ´ ımpar(y = −1) e. K y= i=1 oi (5) De tal forma. Estrutura de uma Tree Parity Machine. consequentemente. .

em que as sa´ ıdas y e y s˜ ao calculadas [Ruttor 2007]. das K unidades ocultas de A e o peso correspondente wi Por´ em. ´ e gerada publicamente uma lista de valores aleat´ orios A B de tamanho K × N que alimenta as entradas A e B . 2010]: • Regra de aprendizado de Hebb: wi A/B (t + 1) = wi A/B (t) + xi y A/B Θ(y A/B oi A/B )Θ(y A y B ) (6) • Regra de aprendizado anti-Hebb: wi A/B (t + 1) = wi A/B (t) − xi oi Θ(y A/B oi A/B )Θ(y A y B ) (7) • Regra de aprendizado Passeio Aleat´ orio wi A/B (t + 1) = wi A/B (t) + xi Θ(y A/B oi A/B )Θ(y A y B ) (8) Onde Θ ´ e a fun¸ c˜ ao degrau. ok ) que resultam no mesmo valor de y [Ruttor 2007]. ´ e proposto que seja feito um teste cifrando uma mensagem pr´ e-determinada com um algoritmo criptogr´ afico usando como chave o estado dos pesos de A e B e comparando-os. As redes s˜ ao consideradas sincronizadas quando para cada peso wi B A B em B tem-se que wi = wi . o2 . n˜ ao relacionados e secretos. Para reduzir os custos de processamento desse algoritmo. Ap´ os isso.  0. apenas s˜ ao atualizadas as unidades onde oi = y A/B quando y A = y B . Essa restri¸ c˜ ao na atualiza¸ c˜ ao dos pesos ´ e especialmente u ´til. acrescenta-se a regra de que o teste de sincroniza¸ c˜ ao deve ser executado apenas caso a condi¸ c˜ ao A B y = y tenha ocorrido nos u ´ltimos M passos. Com os pesos das redes 315 . como as TPM A e B possuem pesos secretos. O processo de sincroniza¸ ca ˜o ´ e baseado na competi¸ ca ˜o entre for¸ cas aleat´ orias A A B atrativas e repulsivas. Os passos da sincroniza¸ c˜ ao devem ser repetidos at´ e que as duas redes estejam A sincronizadas. para cada passo da sincroniza¸ c˜ ao. que s˜ ao [Prabakaran e P. j´ a que torna imposs´ ıvel saber quais pesos foram atualizados sem conhecer os seus valores na camada oculta [Firmino Filho 2009]. . essa comunica¸ ca ˜o n˜ ao ´ e poss´ ıvel. Como alternativa para a detec¸ c˜ ao de sincroniza¸ ca ˜o entre as redes. O processo de sincroniza¸ ca ˜o tem in´ ıcio com os pesos das TPM A e B sendo inicializados com valores aleat´ orios. situa¸ ca ˜o onde os pesos de ambas as redes s˜ ao atualizados. ent˜ ao A e B est˜ ao sincronizados. de forma que se a mensagem cifrada mA seja igual ` a mB . x > 0 (9) dessa forma. . Um passo atrativo ocorre quando y = oi = oi = y B . x < 0 1 + sgn(x)  1 Θ(x) = = 2. . . x = 0  2  1. Caso y A = y B nenhuma a¸ ca ˜o ´ e tomada e caso y A = y B ´ e aplicada uma das regras de aprendizado.diferentes representa¸ co ˜es internas (o1 .

Para uma rede neural atacante. Ap´ os a corre¸ c˜ ao. exceto caso o valor de um dos pesos ultrapasse L. No ataque simples. de maioria e o gen´ etico. E treina uma terceira TPM com os vetores p´ ublicos x e com as sa´ ıdas y A . Para aumentar a eficiˆ encia e reduzir a correla¸ c˜ ao que surge entre as TPMs de E devido a `s atualiza¸ c˜ oes idˆ enticas. Caso y = y = y B . O principal problema para um atacante E ´ e que a representa¸ c˜ ao interna (o1 . . o2 . caso em que ´ e atribuido ao mesmo o valor limitante. Como as altera¸ c˜ oes nos pesos depende dos valores de oi . o atacante pode usar o ataque de maioria e o 316 . As m redes n˜ ao inicializadas com pesos aleat´ orios e quando a sa´ ıda de E A/B uma determinada rede yi for diferente de y . . A rede neural de E ´ e treinada por uma das seguintes equa¸ co ˜es: • Regra de aprendizado de Hebb: E E A B wi (t + 1) = wi (t) + xi y E Θ(y A oE i )Θ(y y ) (10) • Regra de aprendizado anti-Hebb: E E A B wi (t + 1) = wi (t) − xi oi Θ(y A oE i )Θ(y y ) (11) • Regra de aprendizado Passeio Aleat´ orio E E A B wi (t + 1) = wi (t) + xi Θ(y A oE i )Θ(y y ) (12) O ataque geom´ etrico ´ e similar ao ataque simples. H´ a quatro principais formas de ataque. o atacante tentar´ a corrigir sua representa¸ ca ˜o interna para obter a mesma sa´ ıda antes de atualizar seus pesos. at´ e que di = 0 [Firmino Filho 2009]. o que aumenta a distˆ ancia di = |wi − wi |. o que faz com que a distˆ ancia di diminua. pois para determinada TPM h´ a (2L + 1)KN diferentes configura¸ c˜ oes poss´ ıveis de pesos. . Ataques de for¸ ca bruta s˜ ao computacionalmente invi´ aveis contra o protocolo. o atacante usa m TPMs para melhorar sua capacidade de predi¸ c˜ ao. a distˆ ancia di = |wi − wi | n˜ ao ser´ a modificad