• Nenhum resultado encontrado

Avalia¸c˜ao do PortKnocking

3.2 PORTKNOCKING

3.2.2 Avalia¸c˜ao do PortKnocking

Tomando o presente prot´otipo do PortKnocking como parˆametro de avalia¸c˜ao, pode-se elencar alguns aspectos positivos para o PortKnocking:

1. Fornecimento de uma camada de prote¸c˜ao adicional - o funcionamento do prot´otipo, bem como o conceito de PortKnocking, colabora para que seja adicionado ao sis- tema mais um n´ıvel de prote¸c˜ao. Em sistemas convencionais a seguran¸ca ´e man- tida apenas com o uso de Firewall e com a autentica¸c˜ao realizada pelas aplica¸c˜oes. Devido `as caracter´ısticas do PortKnocking, a sua utiliza¸c˜ao incrementa a segu- ran¸ca de sistemas convencionais;

2. Permite autentica¸c˜ao do cliente pelo processo do PortKnocking no servidor, antes de permitir acesso a um servi¸co;

3. Esconde os servi¸cos em execu¸c˜ao num servidor, j´a que todas as portas s˜ao man- tidas fechadas pelo Firewall, e aberta somente ap´os a autentica¸c˜ao do cliente; 4. Pode oferecer uma boa seguran¸ca se usada com criptografia e mecanismos anti-

repeti¸c˜ao, como o modo OTK ;

5. Invi´avel comprometer o processo do PortKnocking do servidor com a cria¸c˜ao de pacotes maliciosos. Como os dados de autentica¸c˜ao s˜ao transportados pela porta TCP/UDP, seria muito dif´ıcil para um atacante escrever algum pacote que possa tentar explorar alguma vulnerabilidade. Uma vez que os dados de autentica¸c˜ao s˜ao enviados pela numera¸c˜ao de portas, resta ao atacante o ataque aos protocolos TCP/UDP, de modo que a elabora¸c˜ao de um exploit que ataque o PortKnocking ´e invi´avel.

No entanto, h´a v´arios pontos n˜ao desej´aveis no PortKnocking. Esses aspectos negativos s˜ao apresentados a seguir:

1. Apresenta um mecanismo extremamente ruidoso, devido a necessidade do envio de v´arios pacotes para fornecer todos os dados de autentica¸c˜ao. Essa carac- ter´ıstica pode ser confundida como uma varredura de um port scanner. Sistemas de detect¸c˜ao de intrus˜ao (IDS - Intrusion Detection System) podem comprometer o funcionamento do PortKnocking;

2. S´o pode ser utilizado com o modo de criptografia habilitado. Do contr´ario, pode ser facilmente contornado com o uso de um sniffer6. Por´em o uso de criptogra- fia impacta no volume da informa¸c˜ao para autentica¸c˜ao, requerendo um n´umero maior de pacotes para o envio dos dados de autentica¸c˜ao (acima de 16 pacotes (KRZYWINSKI, 2003)). Esse aspecto torna o uso de criptografia assim´etrica impratic´avel, em virtude deste tipo de criptografia requerer chaves de maior ta- manho, e, consequentemente, em maior quantidade de informa¸c˜ao cifrada; 3. O checksum empregado ´e muito simples. A soma dos valores dos dados de auten-

tica¸c˜ao com a opera¸c˜ao de m´odulo 256 s´o permite verificar que os dados obedecem a uma regra de forma¸c˜ao, mas n˜ao oferece prote¸c˜ao de integridade. Tamb´em n˜ao ´e ´util para rastrear sequˆencia de portas j´a utilizadas, para proteger contra ataques de repeti¸c˜ao;

4. O PortKnocking n˜ao funciona se os pacotes chegarem fora de ordem no servidor. O servidor faz exatamente o processo inverso do cliente (mapeamento, decodi- fica¸c˜ao e decifragem). A chegada de algum pacote fora de ordem acarreta um embaralhamento da informa¸c˜ao de autentica¸c˜ao no servidor, o que implica na falha do processo de autentica¸c˜ao. Podem haver v´arias raz˜oes para que um pa- cote chegue fora de ordem, mas as principais s˜ao latˆencia e atraso na rede. Uma poss´ıvel solu¸c˜ao para contornar essa situa¸c˜ao ´e a configura¸c˜ao de um pequeno atraso (delay) no envio dos pacotes, o que pode diminuir os efeitos de latˆencia e atraso na rede;

5. O PortKnocking n˜ao funciona em ambientes com NAT. Em ambientes com NAT, o endere¸co IP de origem ´e alterado na borda da rede de origem por um endere¸co IP P´ublico (provavelmente o endere¸co do roteador de borda). Uma vez que nos dados de autentica¸c˜ao h´a o endere¸co IP do cliente, o processo PortKnocking do servidor verifica que o endere¸co de origem do pacote ´e diferente do endere¸co informado nos dados de autentica¸c˜ao e desqualifica o pedido de autentica¸c˜ao. Para que o PortKnocking funcione corretamente, o cliente deve ter um mecanismo para que saiba o seu endere¸co IP P´ublico. Por´em, ainda que se implemente tal mecanismo, surge outro problema: a abertura de regra no Firewall permite que todos os computadores que compartilham o mesmo endere¸co IP possam acessar o servi¸co solicitado, o que exp˜oe o servidor;

6

Sniffers s˜ao programas que “escutam” o trafego de uma rede (ULBRICH; VALLE, 2004). Um sniffer atua na camada de acesso ao meio do modelo TCP/IP, e, tem a capacidade de abrir v´arios protocolos das camadas superiores.

6. O PortKnocking n˜ao ´e capaz de detectar perda de pacotes. Se houver algum pacote da sequˆencia de portas perdido na rede, o PortKnocking n˜ao detecta e falha na autentica¸c˜ao;

7. A situa¸c˜ao multiusu´ario imp˜oe uma certa dificuldade na administra¸c˜ao de chaves no PortKnocking. Na vers˜ao de prot´otipo ´e previsto apenas uma chave secreta, de modo que, se houver mais de um usu´ario, todos compartilham a mesma chave. Tal caracter´ıstica n˜ao ´e segura, pois se um ´unico cliente for corrompido, pode comprometer todo o sistema de prote¸c˜ao do PortKnocking no servidor. Supondo que o PortKnocking n˜ao tivesse essa limita¸c˜ao e estivesse preparado para o am- biente multiusu´ario, tem-se ainda o problema de gerenciamento, distribui¸c˜ao e configura¸c˜ao das chaves;

8. Ausˆencia de associa¸c˜ao entre a autentica¸c˜ao e posterior conex˜ao. Uma vez que um cliente se autentica no processo do PortKnocking no servidor, a porta do servi¸co solicitado ´e aberta no Firewall, de modo que o cliente pode realizar a sua conex˜ao (conex˜ao subsequente). Entretanto, n˜ao h´a nada que “amarre” o processo de autentica¸c˜ao com a conex˜ao subsequente, o que pode ser explorado por um atacante. Uma vez que a autentica¸c˜ao ocorra, um atacante poderia anular o cliente, personific´a-lo com alguma t´ecnica de spoofing, e, se conectar ao servidor. Outra possibilidade ´e que um atacante sequestre a conex˜ao criada entre o cliente e o servidor (hijacking);

9. ´E suscept´ıvel `a ataques Man-in-the-Middle7 - os ataques Man-in-the-Middle s˜ao fact´ıveis devido ao fato das mensagens n˜ao serem autenticadas. Conforme visto, h´a somente um checksum para certificar que as mensagens foram enviadas corre- tamente, mas n˜ao atesta quanto `a integridade e autenticidade.

De forma geral, os aspectos negativos sobressaem em rela¸c˜ao aos benef´ıcios do PortK- nocking, o que pode explicar a relutˆancia para o seu uso. Todavia, a id´eia empregada no PortKnocking foi revelevante, e serviu como base e inspira¸c˜ao para a cria¸c˜ao de outras formas de autentica¸c˜ao na camada de rede, como o SPA que ser´a abordado na pr´oxima se¸c˜ao.

7

Ataque Man-in-the-Middle (MITM) ´e um tipo de ataque onde o atacante se posiciona entre as partes envolvidas na comunica¸c˜ao, intercepta as mensagens trocadas e as reenvia a cada uma das partes, podendo apenas verificar ou mesmo o conte´udo o conte´udo (STALLINGS,2008).

Documentos relacionados