Segurança em redes locais IV:Protegendo-se de ataques por IP Spoofing

No ultimo artigo desta serie falamos de Time Based ACLs.

Em relação a ataques de IP Spoofing, tenho ouvido falar deles a cerca de 10 anos. Não se sabe exactamente a origem deste tipo de ataques. Ficaram conhecidos por terem sido supostamente usados pelo hacker assumido Kevin Mitnick, que com sucesso conseguiu invadir a rede do físico Americano Tsutomo Shimomura. De origem Japonesa, Tsutomo Shimomura foi aluno do excêntrico físico Americano/Judeu Richard Feynman. Além de ser físico, Shimomura era também um expert em segurança de redes, electrónica e computação, sendo aliás funcionário do centro de supercomputacao de San Diego (SDSC) e conhecido por muitos experts renomados como Bruce Schneier.

Mitnick sabia que tentar invadir a rede do SDSC directamente era demasiado arriscado,  por isso usou uma das redes de confiança do SDSC, provavelmente de um outro centro de investigação. Derrubando um desses computadores e assumindo a sua identidade de rede, Mitnick estava então em condições de estabelecer contacto directo com a rede do SDSC sob a egede de Shimomura, a qual atacou roubando documentos, senhas e software avaliado em milhões de dólares.

O impacto e a sofisticação do ataque reportado na altura por Shimomura foi tal que muita gente não acreditou nas suas palavras, preferiram mesmo ignora-lo. Shimomura deduzia que já outras redes haviam sido alvo de ataques por IP Spoofing. Foi só com a intervenção do jornalista J. Markoff do New York Times que mediatizou e publicou a historia que ela se espalhou e alguns provedores tomando conhecimento, começaram a reportar ataques semelhantes ao sofrido pelo SDSC. Com estes dados Shimomura pode então realizar uma perseguição implacável que resultou na prisão de Mitnick em 15 de Fevereiro de 1995, quase 3 meses após atacar a rede do SDSC.

Ja falamos aqui de spoofing, embora na camada 2 do modelo OSI. Em termos de IP Spoofing, estamos propriamente a nos localizar na camada 3 (rede) e na camada 4 (transporte) e um bocado tambem na camada de sessao. Elas jogam um papel preponderante nesse aspecto:

Pela figura acima, nota-se que não é anormal possuirmos uma relação de confiança com um qualquer dispositivo de rede numa rede não confiável como a Internet. Hoje em dia é mais difícil, mas não impossível realizar IP Spoofing. As redes privadas virtuais por exemplo necessitam de acordar um conjunto de parâmetros sem os quais a associação não é possível, daí que não se recomenda a criação de túneis GRE sem encriptação.

Para hackers experientes isso pode não ser um problema. Ele pode muito bem escrever software com raw sockets para spoofar datagramas IP ou cabeçalhos TCP bem como gerar cabeçalhos GRE. Além do mais existem ferramentas disponíveis como a API WinPcap o hping e sendip que facilitam e de que maneira o IP Spoofing. Geralmente um hacker precisa de terminar uma sessão dum host confiado, spoofar os datagramas IP, farejar números de sequência, gerar números de sequência e estabelecer sessão com o host alvo. O host alvo assumirá que o host confiado estava derrubado e voltou ao ar, sem saber que foi alvo dum ataque. Por isso geralmente ataques de IP Spoofing estão ligados a ataques DoS.

Não existe felizmente uma formula exacta para se realizar ip spoofing. Tudo depende da perícia do atacante. Contudo felizmente existem muitas formas de se defender. Uma delas é recomendação da Cisco:

Não permitir que qualquer pacote que contenha um endereço de rede dum dispositivo interno da rede seja um pacote na direcção reentrante (inbound) na rede. Na figura acima todos pacotes que venham da Internet para s0/0/0 e que contenham pelo menos um dos seguintes endereços abaixo devem ser impedidos:

– Qualquer endereço localhost (127.0.0.0/8).
– Qualquer endereço privado.
– Qualquer endereço IP multicast (224.0.0.0/4)

O seguinte conjunto de comandos deve ser aplicado na direcção inbound de s0/0/0:

#access-list 101 deny ip 0.0.0.0 0.255.255.255 any
#access-list 101 deny ip 10.0.0.0 0.255.255.255 any
#access-list 101 deny ip 172.16.0.0 0.15.255.255 any
#access-list 101 deny ip 192.168.0.0 0.0.255.255 any
#access-list 101 deny ip 127.0.0.0 0.255.255.255 any
#access-list 101 deny ip 224.0.0.0 15.255.255.255 any
#access-list 101 deny ip host 255.255.255.255 any

Em seguida em fa0/1 na direcção outbound:

#access-list 102 permit ip 192.168.1.0 0.0.0.255 any

Existem administradores de redes que recomendam técnicas mais avançadas. Pode ser um dos nossos tópicos em próximos posts, mas contudo, em redes de pequena e media dimensão o exemplo acima deve funcionar perfeitamente.

Bibliografia:

http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_10-4/104_ip-spoofing.html
http://www.takedown.com/timeline/index.html

Um pensamento sobre “Segurança em redes locais IV:Protegendo-se de ataques por IP Spoofing

  1. Pingback: Segurança em redes locais V:Protegendo-se de DHCP Spoofing usando DHCP Snooping « Switching News Network Angola (SNN Angola)

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s