Análise de Segurança de Conversores Serial-Ethernet e Microcontroladores Tibbo

September 3, 2017 | Autor: I. Gomes de Carva... | Categoria: Embedded Systems, Microcontrollers, Embedded Systems Security, Fault Injection, Attack Injection
Share Embed


Descrição do Produto

An´alise de Seguranc¸a de Conversores Serial-Ethernet e Microcontroladores Tibbo Ildomar Gomes de Carvalho Junior1 , Rafael R. Obelheiro1 1

Departamento de Ciˆencia da Computac¸a˜ o – Universidade do Estado de Santa Catarina (UDESC) Caixa Postal 631 – 89223-100 – Joinville – SC – Brazil [email protected], [email protected],

Abstract. Microcontrollers and serial-to-Ethernet converters are used in industrial control systems for communication and control of devices. The malfunctioning of these components can result in damage both in equipments and in the manufacturing process of products, bringing risks to the physical integrity of people who operate machines that depends of these embedded systems. The growing integration of microcontrollers and serial-to-Ethernet converters to the Internet and the increase of vulnerabilities involving industrial control systems make the security of these devices become a more and more important feature. This article presents the use of fault injection techniques through the network to evaluate the security of the TCP/IP stack of the microcontroller and serial-toEthernet converter Tibbo EM1206. The procedure followed for this evaluation can be used to conduct similar evaluations. Resumo. Microcontroladores e conversores serial-Ethernet s˜ao utilizados em sistemas de controle industrial para a comunicac¸a˜ o e controle de dispositivos. O funcionamento incorreto destes componentes pode acarretar danos tanto nos equipamentos como no processo de manufatura de produtos, trazendo riscos at´e mesmo para a integridade f´ısica de pessoas que operam m´aquinas que dependem desses sistemas embarcados. A crescente integrac¸a˜ o de microcontroladores e conversores a` Internet e o aumento de vulnerabilidades envolvendo sistemas de controle industriais fazem com que a seguranc¸a desses dispositivos se torne um atributo cada vez mais importante. Este artigo apresenta o uso de t´ecnicas de injec¸a˜ o de faltas atrav´es da rede para avaliar a seguranc¸a da pilha TCP/IP do microcontrolador e conversor serial-Ethernet Tibbo EM1206. O processo seguido nesta avaliac¸a˜ o pode ser utilizado para a conduc¸a˜ o de avaliac¸o˜ es similares.

1. Introduc¸a˜ o Sistema de Controle Industrial, ou SCI, e´ um termo que engloba diversos tipos de sistemas computacionais, como produc¸a˜ o e distribuic¸a˜ o de energia el´etrica, fornecimento e tratamento de a´ gua, produc¸a˜ o e distribuic¸a˜ o de petr´oleo e combust´ıveis e na telecomunicac¸a˜ o [Ralston et al. 2007]. Microcontroladores e conversores serial-Ethernet, s˜ao exemplos de dispositivos encontrados em SCIs. Um microcontrolador e´ um dispositivo que cont´em processador, mem´oria e dispositivos de entrada e sa´ıda em um u´ nico chip. E´ utilizado por exemplo para controle de

motores, monitoramento de equipamentos e rob´otica industrial [Brudna 2000]. J´a conversores serial-Ethernet s˜ao utilizados em equipamentos que s´o possuem comunicac¸a˜ o serial e precisam comunicar-se em rede, como por exemplo em servomotores. SCIs podem estar conectados a` Internet e por isso e´ necess´ario assegurar o n´ıvel de seguranc¸a dos seus dispositivos. Ataques via rede a estes sistemas podem causar defeito na fabricac¸a˜ o de produtos ou mesmo danos e at´e a perda completa de m´aquinas que s˜ao operadas por meio destes. Por exemplo, em um servomotor conectado a um destes dispositivos, o atacante poderia alterar os parˆametros de configurac¸a˜ o, enviar comandos n˜ao autorizados ou causar seu travamento. Visto que este tipo de motor e´ inserido em m´aquinas que necessitam de alta precis˜ao como m´aquinas CNC (Controle Num´erico Computarizado), erros e falhas podem levar a` perda do produto fabricado, da m´aquina na qual ele est´a inserido ou at´e oferecer riscos a` integridade f´ısica de quem a opera. Para fornecer um estudo de caso sobre os problemas encontrados em dispositivos comumente utilizados na ind´ustria, este trabalho analisou a robustez do microcontrolador e conversor serial-Ethernet EM1206 fabricado pela Tibbo1 , buscando vulnerabilidades que violem as propriedades de seguranc¸a, a saber, integridade, confidencialidade e disponibilidade [ISO/IEC 2008], por meio de injec¸a˜ o de ataques. A an´alise revelou que o dispositivo estudado e´ suscet´ıvel a travamentos provocados por tr´afego de rede, al´em de possuir algumas vulnerabilidades que podem permitir que usu´arios n˜ao autorizados o acessem de forma indevida. Al´em das vulnerabilidades em si, o artigo tamb´em descreve a metodologia usada na avaliac¸a˜ o, que pode servir de base para estudos similares. O texto est´a organizado em 5 sec¸o˜ es. Na sec¸a˜ o 2 ser´a dada uma introduc¸a˜ o sobre sistemas de controle industrial, ambiente onde os m´odulos Tibbo s˜ao utilizados. Na sec¸a˜ o 3 e´ apresentada a t´ecnica de injec¸a˜ o de faltas e ataques, utilizada neste trabalho. Na sec¸a˜ o 4 ser´a apresentado o ambiente de testes, a metodologia adotada e os resultados. Por fim, nas sec¸o˜ es 5 e 6 s˜ao apresentadas uma discuss˜ao dos resultados obtidos e conclus˜oes.

2. Sistemas de Controle Industrial

SCIs s˜ao sistemas computacionais usados em v´arios setores da ind´ustria para automatizar processos industriais [Melton et al. 2004], onde e´ necess´ario o constante monitoramento de dados atrav´es de sensores e correc¸a˜ o ou alterac¸a˜ o dos processos em execuc¸a˜ o atrav´es de seus atuadores. Dependendo da aplicac¸a˜ o em que um SCI e´ utilizado, pode ser necess´ario centralizar os dados de dispositivos que encontram-se distantes geograficamente. Visto que estas informac¸o˜ es ter˜ao de ser transmitidas atrav´es da Internet ou de uma rede privada, a preocupac¸a˜ o com a seguranc¸a destes dados e´ grande [Hart 2004]. A Figura 1 mostra um exemplo de SCI, onde e´ necess´aria a transmiss˜ao de dados pela Internet.

1

http://www.tibbo.com/

Figura 1. Exemplo de um SCI, adaptado de [Stouffer et al. 2007].

Por tratar-se de um microcontrolador e conversor serial-Ethernet, o EM1206 pode ser utilizado tanto para controle de atuadores, quanto para monitoramento de sensores. Por possuir comunicac¸a˜ o Ethernet, ele tamb´em pode ser utilizado em SCIs para transmiss˜ao de dados e comandos tanto em uma rede local quanto atrav´es da Internet, o que pode representar um problema caso um atacante explore suas vulnerabilidades.

3. Injec¸a˜ o de Faltas e Ataques Considerando que os m´odulos Tibbo s˜ao dispositivos dispon´ıveis comercialmente e que n˜ao se tem acesso ao seu c´odigo fonte, foi necess´ario conduzir um estudo experimental, atrav´es da t´ecnica de injec¸a˜ o de faltas. Esta e´ uma t´ecnica experimental que consiste em provocar faltas deliberadas em um sistema sob teste e observar se as faltas injetadas fazem com que o funcionamento do sistema desvie de sua especificac¸a˜ o [Arlat et al. 1990], [Clark and Pradhan 1995], [Hsueh et al. 1997]. O prop´osito da injec¸a˜ o de faltas e´ avaliar as propriedades de confianc¸a no funcionamento (dependability) [Avizienis et al. 2004] do sistema. Embora a confianc¸a no funcionamento tenha uma intersecc¸a˜ o significativa com a seguranc¸a [Avizienis et al. 2004], o uso de injec¸a˜ o de faltas estava inicialmente focado em propriedades de confiabilidade e disponibilidade, e n˜ao em integridade ou confidencialidade. Quando a injec¸a˜ o de faltas e´ aplicada em seguranc¸a, ela pode ser chamada de injec¸a˜ o de ataques [Antunes et al. 2005]. A injec¸a˜ o de faltas permite testar sistemas ap´os a fase de desenvolvimento, sejam sistemas em sua vers˜ao final ou prot´otipos [Arlat et al. 1990]. Seu uso permite complementar outras t´ecnicas, como modelagem anal´ıtica de confiabilidade, para obter uma validac¸a˜ o mais completa [Clark and Pradhan 1995]. A an´alise dos resultados observados em um estudo de injec¸a˜ o de faltas permite compreender o comportamento do sistema em situac¸o˜ es adversas e avaliar a efic´acia de seus mecanismos de protec¸a˜ o e recuperac¸a˜ o, al´em de ajudar a identificar eventuais deficiˆencias que permitam que o sistema falhe (o que e´ primordial para que se possa corrigi-las) [Clark and Pradhan 1995], [Hsueh et al. 1997]. Neste trabalho foram injetadas faltas nos dispositivos Tibbo atrav´es da rede, enviando tr´afego malicioso para avaliar a robustez e a seguranc¸a de sua pilha TCP/IP. A t´ecnica de injec¸a˜ o de faltas escolhida para este trabalho foi Fuzzing, a qual tem por objetivo expor falhas em aplicac¸o˜ es inserindo nelas entradas mistas de dados v´alidos e inv´alidos. Esta t´ecnica requer trˆes operac¸o˜ es b´asicas: gerar entradas aleat´orias, injetar essas entradas na aplicac¸a˜ o e, por fim, observar se esta entrada causou algum tipo de falha a` aplicac¸a˜ o [Banks et al. 2006]. Este fluxo e´ apresentado pela Figura 2.

´ ˜ Figura 2. Fluxograma basico das iterac¸oes de um fuzzer, adaptado de [Oehlert 2005].

As entradas exploradas neste trabalho foram a estrutura e os parˆametros dos protocolos de rede. Estes s˜ao especificados atrav´es das Request for Comments, ou RFCs, que s˜ao documentos considerados padr˜ao. Mesmo com estas especificac¸o˜ es dispon´ıveis na Internet, desenvolvedores podem cometer erros durante a codificac¸a˜ o da pilha TCP/IP, e e´ nestas poss´ıveis falhas que os fuzzers deste trabalho s˜ao focados, explorando um grande conjunto de poss´ıveis entradas inv´alidas ou semi-v´alidas, para descobrir quais delas produzem comportamentos indesejados [Gu et al. 2011].

4. Avaliac¸a˜ o Experimental 4.1. Ambiente de Testes Para o desenvolvimento dos testes deste trabalho, as seguintes ferramentas de busca de vulnerabilidades e de an´alise de pacotes de rede foram utilizadas: Nmap [Lyon snt], para varredura de portas e detecc¸a˜ o do sistema operacional; Scanner de vulnerabilidades Nessus [Anderson 2003]; Wireshark [Combs snt], para an´alise dos pacotes de rede; IP Stack Integrity Checker [Xiao and Frantzen snt], o qual e´ um conjunto de ferramentas para executar fuzzing na pilha TCP/IP. Suas ferramentas utilizadas foram o ESIC, que gera frames Ethernet; ISIC que gera pacotes IP; TCPSIC que gera pacotes TCP; e UDPSIC que gera datagramas UDP. 5. BED, ou Bruteforce Exploit Detector [Damaye 2012], para realizar testes fuzzing na aplicac¸a˜ o web de gerenciamento do m´odulo. 6. Scapy [Biondi 2007] para criar scripts para reproduzir as vulnerabilidades encontradas. 1. 2. 3. 4.

O ambiente de testes utilizado e´ o apresentado pela Figura 3 e o EM1206 estava trabalhando com a firmware de conversor serial-Ethernet.

´ Figura 3. Cenario utilizado nos testes deste trabalho.

4.2. Metodologia Adotada A metodologia adotada para este trabalho foi inspirada na metodologia proposta por Pothamsetty e Balinsky (2003), analistas da Cisco Systems, adotando as etapas:

1. Reconhecimento, usando t´ecnicas para identificar remotamente o sistema operacional e descobrir quais servic¸os de rede est˜ao ativos no sistema alvo; 2. An´alise por camadas, onde foram executadas injec¸a˜ o de pacotes malformados, ataques de negac¸a˜ o de servic¸o e pesquisa de vulnerabilidades com o software Nessus nos protocolos Ethernet, IP, UDP, TCP e HTTP; 4.3. Resultados Nas pr´oximas sec¸o˜ es s˜ao apresentados os resultados da etapa de reconhecimento e as vulnerabilidades encontradas nas camadas Ethernet, IP, UDP, TCP e de aplicac¸a˜ o. 4.3.1. Reconhecimento As t´ecnicas de reconhecimento tˆem por objetivo coletar informac¸o˜ es sobre o dispositivo atacado [Pothamsetty and Balinsky 2003]. Neste trabalho, as t´ecnicas de reconhecimento foram as de identificac¸a˜ o do sistema operacional e a de varredura da pilha TCP/IP. Ambas as t´ecnicas de reconhecimento citadas foram executadas pelo Nmap e o resultado mostrou que o Nmap n˜ao conseguiu reconhecer o sistema operacional. A varredura de portas mostra trˆes TCP portas abertas: porta 23 a qual, ao contr´ario do que o Nmap diz, n˜ao roda o servic¸o Telnet, mas uma aplicac¸a˜ o de gerenciamento do m´odulo [Tibbo 2013]; porta 80, a qual roda o servidor web, tamb´em usado para gerenciamento; e a porta 1001, que e´ a porta utilizada para convers˜ao serial-Ethernet. Esta u´ ltima pode ser alterada pelo usu´ario para que seja a porta TCP ou UDP que ele desejar. 4.3.2. Ethernet Foram realizados dois testes para realizar a busca de vulnerabilidades neste protocolo. O primeiro foi realizado com o software ESIC, onde este aplicou fuzzing em todos os campos poss´ıveis do cabec¸alho Ethernet, por´em o EM1206 n˜ao mostrou-se vulner´avel aos ataques fuzzing. O segundo teste foi executado pelo Nessus, o qual indicou que o EM1206 possui a vulnerabilidade Etherleak. A RFC 1042 [Postel 1988] especifica um tamanho m´ınimo para os quadros Ethernet. Caso o conte´udo do quadro n˜ao preencha este tamanho m´ınimo necess´ario, devem ser adicionados zeros a ele at´e que o quadro seja preenchido completamente. A vulnerabilidade chamada Etherleak acontece quando os dados que preenchem esse espac¸o restante vˆem de buffers do sistema [Arkin and Anderson 2003]. Foi verificado que, quando uma requisic¸a˜ o ARP e´ feita ao Tibbo, dados do buffer de rede s˜ao acrescentados ao quadro Ethernet. A partir da captura destas requisic¸o˜ es ARP, foi poss´ıvel obter a senha do conversor, que foi configurada como tst. A Figura 4 mostra em destaque o momento desta captura.

Figura 4. Captura da senha do EM1206, devido ao Etherleak.

4.3.3. IP e UDP Para testar a robustez da implementac¸a˜ o dos protocolos IP e UDP do m´odulo EM1206, foram utilizados separadamente os softwares ISIC e UDPSIC. O EM1206 n˜ao mostrouse vulner´avel aos ataques fuzzing, por´em o fluxo de dados injetado por cada ferramenta acabou causando um ataque flooding ao dispositivo. Notou-se tamb´em que, ap´os cessados os ataques, o dispositivo n˜ao voltou ao seu funcionamento normal, sendo necess´ario reinici´a-lo manualmente.

4.3.4. TCP Para detectar vulnerabilidades no protocolo TCP, trˆes testes foram executados. O primeiro foi feito com o software TCPSIC e o resultado foi similar ao encontrado na sec¸a˜ o anterior, onde o m´odulo e´ vulner´avel a flooding, por´em n˜ao e´ vulner´avel a fuzzing. O segundo teste foi feito para verificar o qu˜ao eficiente e´ o gerador de n´umeros iniciais de sequˆencia. Se um dispositivo em rede possui um gerador do n´umero inicial de sequˆencia com uma aleatoriedade fraca, e´ poss´ıvel injetar dados em uma conex˜ao TCP j´a estabelecida [Pothamsetty and Balinsky 2003]. Para avaliar o grau de aleatoriedade do gerador de ISN do EM1206, dois softwares foram utilizados: o Nmap e Nessus. O Nmap avaliou a aleatoriedade do EM1206 como forte, por´em o Nessus avaliou a aleatoriedade do gerador de ISN como fraca. Devido a esta divergˆencia entre os resultados, foi necess´ario fazer uma an´alise manual dos pacotes para descobrir qual est´a correto. Para isso foi criado um script com o Scapy que envia segmentos SYN para o EM1206 e imprime o n´umero de sequˆencia utilizado na resposta SYN-ACK. Atrav´es deste script foi constatado que o gerador de n´umeros iniciais de sequˆencia do EM1206 simplesmente incrementa seu valor em 64000 a cada 500 ms. Esse comportamento viola a RFC 6528 [Gont 2012], que especifica que os ISNs devem ser aleatorizados. Apesar de o resultado gerado pelo Nessus ser o correto, um ponto a ser destacado sobre a an´alise feita por este plugin do Nessus e´ que ele pode gerar falsos positivos. Conforme pode ser visto em seu c´odigo fonte [Deraison 2002], o Nessus envia dois segmentos SYN, captura o n´umero de sequˆencia das respostas SYN-ACK e os compara: se eles forem iguais a aleatoriedade e´ dada como fraca, caso contr´ario ela e´ dada como forte. O terceiro teste tamb´em foi feito pelo Nessus e encontrou uma vulnerabilidade onde e´ poss´ıvel encerrar uma conex˜ao j´a estabelecida entre o EM1206 e outro dispositivo enviando pacotes RST ileg´ıtimos (reset spoofing). Para confirmar esta vulnerabilidade, foi criado um script utilizando a ferramenta Scapy, o qual envia um pacote com as flags SYN e RST para uma conex˜ao TCP j´a estabelecida entre o Tibbo e um host, utilizando um n´umero de sequˆencia e um ACK com os valores errados. Para este teste havia uma conex˜ao TCP na porta 1001 do EM1206 entre este e o host A. A Figura 5 mostra a execuc¸a˜ o do script criado: o pacote 135 e os anteriores mostram o tr´afego normal entre o host A e o EM1206; o pacote 227 mostra o momento

em que o host B envia o segmento RST para o EM1206 (o n´umero de sequˆencia utilizado e´ 0), com seu IP alterado para que parecesse ser do host A; o pacote 274 mostra o momento em que o host A envia mais um pacote leg´ıtimo ao EM1206; e por fim, o pacote 275 mostra o momento em que o EM1206 finaliza a conex˜ao com o host A.

Figura 5. Captura do reset spoofing executado pelo script.

4.3.5. Aplicac¸a˜ o Na camada de aplicac¸a˜ o foram encontradas quatro vulnerabilidades. A primeira e´ quanto a` opc¸a˜ o autocompletar do campo senha, na aplicac¸a˜ o web do EM1206. N˜ao desabilitar o autocompletar oferece um risco de perda de confidencialidade. A segunda e´ uma vulnerabilidade descoberta atrav´es da ferramenta BED, a qual foi utilizada neste teste para avaliar o comportamento do servidor web embarcado do conversor EM1206 diante de ataques fuzzing na camada de aplicac¸a˜ o. O EM1206 n˜ao mostrou-se vulner´avel aos ataques fuzzing, por´em o fluxo de dados gerado pelo BED causou um ataque flooding. Um fato interessante e´ que este ataque flooding funcionou apenas com os parˆametros GET e POST, n˜ao tendo sido efetivo com as linhas de cabec¸alho HTTP. A terceira e´ uma vulnerabilidade ao roubo do cookie de uma sess˜ao estabelecida. Quando um usu´ario se autentica na p´agina web do EM1206, o conversor d´a a este usu´ario um cookie para identificar que ele est´a autenticado [Kurose and Ross 2006]. Este recurso traz consigo uma vulnerabilidade, pois caso um atacante consiga obter este cookie, ele pode us´a-lo para obter a senha de administrador do EM1206. Por fim, foi encontrada uma vulnerabilidade quanto ao envio n˜ao criptografado da senha do conversor. E´ poss´ıvel acessar e alterar as configurac¸o˜ es do conversor EM1206 da Tibbo de trˆes maneiras: atrav´es da sua p´agina web embarcada, do software DS Manager ou de uma aplicac¸a˜ o que roda na porta TCP 23, a qual n˜ao e´ o Telnet padr˜ao [Tibbo 2013]. Estes recursos possuem em comum uma mesma vulnerabilidade: eles enviam a senha pela rede de forma aberta, sem nenhum tipo de criptografia. O DS Manager possui uma falha ainda mais grave, pois a senha e´ enviada por broadcast pelas camadas de enlace e de rede.

5. Discuss˜ao dos resultados Diversas vulnerabilidades foram encontradas durante o desenvolvimento de trabalho, sendo que elas variam bastante em n´ıveis de gravidade ao sistema. A tabela 1 resume as vulnerabilidades apresentadas nas sec¸o˜ es 4.3.2 a 4.3.5, separadas por camadas. Dentre todas as vulnerabilidades encontradas, algumas merecem um destaque especial. Etherleak foi capaz de mostrar a senha do EM1206, al´em de ter o potencial de mostrar todas as configurac¸o˜ es do m´odulo atrav´es de simples requisic¸o˜ es ARP. Apesar

´ Tabela 1. Vulnerabilidades encontradas no modulo EM1206 da Tibbo.

Camada Ethernet IP UDP TCP HTTP

Problemas Encontrados Etherleak Flooding Flooding Flooding, Aleatoriedade Fraca do N´umero Inicial de Sequˆencia e Reset Spoofing Autocompletar Senha, Flooding, Roubo de Cookie e Transmiss˜ao de Senha N˜ao Criptografada

de o teste ser de f´acil execuc¸a˜ o, e´ muito dif´ıcil obter algum dado relevante atrav´es das requisic¸o˜ es ARP, visto que os dados s˜ao obtidos aleatoriamente do buffer de rede, por´em h´a sempre a possibilidade de o atacante obter algum dado relevante com poucas tentativas. Tamb´em foi descoberto que o EM1206 e´ vulner´avel a ataques flooding. Por um lado, os recursos em qualquer sistema s˜ao finitos, portanto todos os sistemas s˜ao vulner´aveis a ataques flooding, quanto mais sistemas embarcados. Por outro lado este dispositivo e´ normalmente utilizado embarcado em circuitos eletrˆonicos, o que faz com que na maioria das vezes ele esteja em m´aquinas fechadas, onde pode ser imposs´ıvel desligar e ligar apenas o EM1206, sendo necess´ario reiniciar o sistema inteiro. E´ importante que o administrador de rede leve isto em conta na hora de implementar o sistema. J´a na vulnerabilidade de aleatoriedade fraca do n´umero inicial de sequˆencia, vemos que o resultado errado fornecido pelo Nmap e a possibilidade de o Nessus gerar falsos positivos serve de alerta quanto a` confianc¸a cega nos resultados de ferramentas de testes, principalmente aquelas tidas como mais confi´aveis. E´ importante antes de afirmar que uma vulnerabilidade existe ou n˜ao, realizar diversos testes com diferentes ferramentas. Por fim, o uso do DS Manager mostrou-se a mais cr´ıtica de todas as vulnerabilidades encontradas. Este software e´ o primeiro a ser utilizado, pois e´ atrav´es dele que as primeiras configurac¸o˜ es no EM1206 s˜ao feitas. O problema deste software e´ que ele envia todos os dados em broadcast nas camadas de rede e de enlace. Sendo assim, todos os hosts da rede recebem estes dados, inclusive a senha do m´odulo.

6. Conclus˜ao Dispositivos embarcados como conversores serial-Ethernet e microcontroladores s˜ao bastante disseminados em sistemas de controle industrial modernos, especialmente em sistemas de controle distribu´ıdos. A crescente dependˆencia desse tipo de sistema para o controle de infraestruturas cr´ıticas e para o controle dos mais variados tipos de processos industriais torna os componentes com acesso a` rede alvos preferenciais de indiv´ıduos ou organizac¸o˜ es que queiram comprometer o bom funcionamento dessas infraestruturas e processos. Por conta disso, e´ importante que esses dispositivos operem de forma correta mesmo quando sujeitos a ataques. Com isso em mente, o objetivo deste trabalho foi avaliar a seguranc¸a contra ataques de rede de um dispositivo deste tipo, o m´odulo embarcado EM1206 da Tibbo. Para o desenvolvimento deste trabalho foi aplicada uma t´ecnica conhecida como Injec¸a˜ o de Faltas e a metodologia usada para garantir que um amplo espectro de faltas

fosse injetado foi baseada na proposta de Pothamsetty e Balinsky (2003), que tem por foco testar a robustez de implementac¸o˜ es da pilha TCP/IP. Esta metodologia adotada primeiramente prop˜oe que sejam executados testes fuzzing, que foram aplicados nas camadas Ethernet, UDP, TCP, IP e HTTP atrav´es das ferramentas ISIC e BED, por´em n˜ao foram descobertas vulnerabilidades. Apesar disso, o fluxo de dados gerado pelas mesmas causou um ataque flooding. Uma dificuldade encontrada durante o desenvolvimento deste trabalho foi achar materiais sobre testes de vulnerabilidades de rede especificamente em dispositivos embarcados e para contornar este problema, foi utilizado o scanner de vulnerabilidades Nessus que encontrou as seguintes vulnerabilidades: Etherleak, Aleatoriedade fraca do ISN, Reset Spoofing, Autocompletar Senha e Transmiss˜ao de Senha N˜ao Criptografada. Al´em destas, atrav´es da interpretac¸a˜ o do tr´afego do EM1206 pelos autores deste trabalho, foi detectada a vulnerabilidade quanto ao Roubo de Cookies. Estas duas t´ecnicas podem ser consideradas como uma contribuic¸a˜ o a` proposta de Pothamsetty e Balinsky. As vulnerabilidades descritas neste trabalho podem ser utilizadas para falsificar a identidade de usu´arios e revelar informac¸o˜ es confidenciais. Al´em disso, mostrou-se poss´ıvel causar a negac¸a˜ o do servic¸o. Estes problemas violam todas as propriedades de seguranc¸a, a saber, confidencialidade, integridade e disponibilidade [ISO/IEC 2008]. Levando em conta que o EM1206 pode estar inserido em sistemas cr´ıticos, pode-se dizer que o n´ıvel de seguranc¸a do m´odulo EM1206 e´ baixo. Contudo vale ressaltar que o microcontrolador EM1206 mostrou-se robusto diante dos ataques fuzzing executados. Este tipo de an´alise voltada a dispositivos com poder computacional reduzido, normalmente usados em aplicac¸o˜ es dedicadas e espec´ıficas, pode ser executada em outros equipamentos do mesmo gˆenero que possuem comunicac¸a˜ o em rede, para que os resultados possam ser comparados e, a partir destes, novas metodologias de testes sejam criadas. Alguns exemplos s˜ao os outros m´odulos embarcados fabricados pela Tibbo, o Raspberry Pi2 , o BeagleBone3 e o microcontrolador Arduino4 , que possui comunicac¸a˜ o em rede atrav´es do uso de shields espec´ıficos. Outra sugest˜ao e´ a criac¸a˜ o de uma metodologia para ataques fuzzing. A suite de ferramentas ISIC utilizada neste trabalho aplica fuzzing aleatoriamente nos pacotes de rede enviados. A criac¸a˜ o de uma metodologia quanto ao uso de fuzzing permite que este tipo de teste possa ser melhor guiado e mais seletivo. Al´em destes, poderiam ser criadas m´etricas para medir o qu˜ao robusto e´ um dispositivo deste gˆenero diante de ataques flooding. Estas informac¸o˜ es podem ser u´ teis para que os respons´aveis pela infraestrutura de rede onde estes equipamentos est˜ao inseridos possam tomar precauc¸o˜ es, com o objetivo de minimizar o impacto deste tipo de ataque.

Referˆencias Anderson, H. (2003). Introduction to Nessus. http://goo.gl/9lme1u. Antunes, J. a., Neves, N., Neves, R., Correia, M., and Ver´ıssimo, P. (2005). Diagn´ostico de Vulnerabilidades Atrav´es da Injec¸a˜ o de Ataques. Actas da 1a Conferˆencia Nacional Sobre Seguranc¸a Inform´atica nas Organizac¸o˜ es, Covilh˜a, Portugal. 2

http://www.raspberrypi.org/ http://www.beagleboard.org/Products/BeagleBone 4 http://www.arduino.cc/ 3

Arkin, O. and Anderson, J. (2003). Etherleak: Ethernet Frame Padding Information Leakage. http://goo.gl/6osJgP. Arlat, J., Aguera, M., Amat, L., Crouzet, Y., Fabre, J., Laprie, J., Martins, E., and Powell, D. (1990). Fault Injection for Dependability Validation: A Methodology and Some Applications. IEEE Transactions on Software Engineering, 16(2):166–182. Avizienis, A., Laprie, J., Randell, B., and Landwehr, C. (2004). Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE TDSC, 1(1):11–33. Banks, G., Cova, M., Felmetsger, V., Almeroth, K., Kemmerer, R., and Vigna, G. (2006). SNOOZE: Toward a Stateful NetwOrk prOtocol fuzZEr. Information Security, LNCS 4176, p. 343-358. Biondi, P. (2007). Scapy. http://goo.gl/8Hs7Sh. Brudna, C. (2000). Desenvolvimento de Sistemas de Automac¸a˜ o Industrial Baseados em Objetos Distribu´ıdos e no Barramento CAN. Dissertac¸a˜ o (Mestrado em Engenharia El´etrica) - Escola de Engenharia, Universidade Federal do Rio Grande do Sul. Clark, J. and Pradhan, D. (1995). Fault injection: A method for validating computer-system dependability. IEEE Computer, 28(6):47–56. Combs, G. (s.n.t.). About Wireshark. http://goo.gl/jnRRmW. Damaye, S. (2012). BED. http://goo.gl/RhgdgF. Deraison, R. (2002). Raptor Weak ISN. http://goo.gl/5vE55y. Gont, F. (2012). RFC 6528: Defending against sequence number attacks. Gu, S., Song, Y., Zhao, X., and Li, W. (2011). Fuzzing test data generation based on message matrix perturbation with keyword reference. In Military Communications Conference, (MILCOM 2011). IEEE. Hart, D. (2004). An Approach to Vulnerability Assessment for Navy Supervisory Control And Data Acquisition (SCADA) Systems. Storming Media. Hsueh, M., Tsai, T., and Iyer, R. (1997). Fault Injection Techniques and Tools. IEEE Computer, 30(4):75–82. ISO/IEC, I. L. (2008). ISO/IEC 27002:2005 information technology – security techniques – code of practice for information security management. Kurose, J. F. and Ross, K. W. (2006). Redes de Computadores e a Internet, Uma abordagem top-down. Pearson Education do Brasil, S˜ao Paulo, SP, Brasil. Lyon, G. F. (s.n.t.). Nmap Network Scanning. http://goo.gl/jPdt9J. Melton, R., Fletcher, T., and Earley, M. (2004). System Protection Profile - Industrial Control Systems. National Institute of Standards and Technology. Oehlert, P. (2005). Violating assumptions with fuzzing. IEEE Security & Privacy, 3(2):58-62. Postel, J. (1988). RFC 1042. A Standard For The Transmission Of IP Datagrams Over IEEE 802 Networks. http://goo.gl/KlwkgA. Pothamsetty, V. and Balinsky, A. (2003). A structured and practical methodology for security evaluation of a IP based stack (version 0.2). http://goo.gl/Y5QMAf. Ralston, P., Graham, J., and Hieb, J. (2007). Cyber security risk assessment for SCADA and DCS networks. ISA transactions, 46(4):583–594. Stouffer, K., Falco, J., and Scarfone, K. (2007). Guide to industrial control systems (ICS) security. NIST Special Publication 800-82. Tibbo (2013). Telnet TCP Programming. http://goo.gl/IvF2et. Xiao, S. and Frantzen, M. (s.n.t.). ISIC – IP stack integrity checker. http://goo.gl/hX5K8R.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.