universidade federal do rio de janeiro escola politécnica...

62
i Universidade Federal do Rio de Janeiro Escola Politécnica Departamento de Eletrônica e de Computação Segurança em IPv6 Autor: _________________________________________________ Leon Valentim Porto Trindade Orientador: _________________________________________________ Prof. Aloysio de Castro Pinto Pedroza, Dr. Orientador: _________________________________________________ Eng. Carlos Ribeiro da Cunha, Ph.D Examinador: _________________________________________________ Prof. Ricardo Rhomberg Martins, D.Sc. Examinador: _________________________________________________ Eng. Walderson João Rodrigues Vidal, M.Sc. DEL Fevereiro de 2014

Upload: dinhkhue

Post on 20-Jan-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

i

Universidade Federal do Rio de Janeiro

Escola Politécnica

Departamento de Eletrônica e de Computação

Segurança em IPv6

Autor:

_________________________________________________

Leon Valentim Porto Trindade

Orientador:

_________________________________________________

Prof. Aloysio de Castro Pinto Pedroza, Dr.

Orientador:

_________________________________________________

Eng. Carlos Ribeiro da Cunha, Ph.D

Examinador:

_________________________________________________

Prof. Ricardo Rhomberg Martins, D.Sc.

Examinador:

_________________________________________________

Eng. Walderson João Rodrigues Vidal, M.Sc.

DEL

Fevereiro de 2014

Page 2: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

ii

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

Escola Politécnica – Departamento de Eletrônica e de Computação

Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária

Rio de Janeiro – RJ CEP 21949-900

Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que

poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar

qualquer forma de arquivamento.

É permitida a menção, reprodução parcial ou integral e a transmissão entre

bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja

ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem

finalidade comercial e que seja feita a referência bibliográfica completa.

Os conceitos expressos neste trabalho são de responsabilidade do(s) autor (es) e

do(s) orientador (es).

Page 3: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

iii

DEDICATÓRIA

Dedico esse projeto a minha avó Aida Olart Porto (em memória) e a minha mãe

Mariolan Porto de Almeida.

Page 4: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

iv

AGRADECIMENTO

Primeiramente gostaria de agradecer ao professor Dr. Aloysio de Castro Pinto

Pedroza e ao Engenheiro Carlos Cunha pelas orientações e sugestões na elaboração do

projeto. Agradeço ao Engenheiro Walderson João Rodrigues Vidal pela participação na

banca e por toda ajuda que me foi dada na Embratel. Agradeço ao professor DSc.

Ricardo Rhomberg Martins pela participação na banca e pelo conhecimento repassado a

mim, em duas disciplinas na UFRJ.

Agradeço aos meus companheiros do Centro de Referência Tecnológica da

Embratel (CRT) pelo apoio dado na solução das dúvidas cotidianas e auxílio em

apresentações de rotina, em especial ao engenheiro Phelippe Rodrigues.

Agradeço aos meus amigos da eletrônica que sempre estiveram presentes e me

apoiaram durante a jornada na universidade, os quais enfrentaram os mesmos problemas

e dificuldades durante cinco anos de curso. Também aos professores do Departamento

de Engenharia Eletrônica da UFRJ, os quais contribuem diariamente para a educação do

nosso país.

Sou muito grato a minha namorada Mayli Silva de Souza e sua família que

sempre prestaram todo apoio e motivação para superar diversas dificuldades. Não

poderia deixar de citar a minha família, em especial a minha mãe Mariolan Porto de

Almeida, que muito fez para me educar e proporcionar uma excelente escolaridade.

Page 5: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

v

RESUMO

Este trabalho visa aprofundar o estudo do protocolo IPv6 no que diz respeito a

segurança, analisar seu funcionamento e comprovar a sua eficácia na prevenção de

ataques em um cenário de simulação composto por dois roteadores. Para comprovar o

desempenho do IPv6 foi planejada uma metodologia de teste na qual se verifica

throughput, ou seja, o valor real da carga de dados que passa entre os roteadores em

situações normais e de ataque. Além disso, visa compará-lo com o protocolo de versão

anterior, o IPv4.

O cenário escolhido é semelhante a dois roteadores de borda de rede (PE), os

quais serão configurados de modo a permitir tráfego HTTP. Para a simulação do

trabalho foi utilizado o instrumental IXIA, mais especificamente o software IxLoad

6.43, que injeta ataques no tráfego entre os dispositivos, a fim de observar como estes

comportam-se.

Com a finalidade de comparar o desempenho entre as diferentes versões do

protocolo IP, a metodologia aplicada assumirá que o protocolo IPv6 é mais apto na

prevenção dos ataques DDoS. Serão mostradas as diferenças entre os protocolos e quais

os fatores causadores da possível diferença de desempenho.

Palavras-Chave: IPv6, metodologia, ataques, DDoS.

Page 6: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

vi

ABSTRACT

This work aims to further the study the IPv6 protocol with regards to safety,

analyze its operation and demonstrate its effectiveness in preventing attacks in a

simulation scenario consisting of two routers. To confirm the performance of IPv6, it’s

designed a test methodology which verifies the throughput, ie, the actual value of the

load data passing between routers. It also seeks to compare it with the previous protocol

version, IPv4.

The scenario chosen is similar to two network border routers (PE), which are

configured to allow HTTP traffic. For the simulation work we used the testing

equipament IXIA, specifically IxLoad 6.43 software, injecting attacks in traffic between

the devices in order to observe how they behave.

In order to compare the performance between different versions of the IP

protocol, the methodology will be based on the assumption that IPv6 protocol fits in the

prevention of DDoS attacks. The differences between the protocols and the causative

factor of the performance difference can be shown.

Key-words: IPv6, throughput, attacks, IPSec, DDoS.

Page 7: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

vii

SIGLAS

AH - Authetication Header

ARPA - Advanced Research Projects Agency

ARPANET - Advanced Research Projects Agency Network

BB - Backbone

BGP - Border Gateway Protocol

CRT - Centro de Referência Tecnológica

DNS - Domain Name System

DDoS -DistributedDenialof Service

EMBRATEL - Empresa Brasileira de Telecomunicações

ESP - Escapsulating Security Protocol

FTP - File TransferProtocol

ICMP - Internet ControlMessageProtocol

ICMPv4 - Internet ControlMessageProtocolversion 4

ICMPv6 - Internet ControlMessageProtocolversion 6

IETF - The Internet Engineering Task Force

HMAC - Hash-based Message Authentication Code

HTTP - Hypertext Transfer Protocol

IMP - Interface Message Processor

IP - Internet Protocol

IPng -Internet Protocol next generation

IPsec - Internet Protocol security

IPv4 - Internet Protocol version 4

IPv6 - Internet Protocol version 6

ISP - Internet Service Provider

MTU - Maximum Transmission Unit

NCP - Network Control Protocol

OSI - Open System Interconnection

QoS - Quality of Service

RFC - Request for Comments

RSVP - Resource Reservation Protocol

SIP - Session Initiation Protocol

TCP - Transmission Control Protocol

ToS - Type of Service

TTL - Time to Live

UDP - User Datagram Protocol

VPN - Virtual Private Protocol

WAN - Wide Area Network

Page 8: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

viii

Sumário

1 Introdução 1

1.1 - Tema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 - Delimitação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.3 - Justificativa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.4 - Objetivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 - Metodologia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.6 - Descrição. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 O modelo TCP/IP 4

2.1 – A origem da Internet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 – O protocolo IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.1 – O funcionamento do IPv4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.2 – O cabeçalho IPv4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.3 – O endereçamento IPv4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.4 – Características. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.5 – O esgotamento de endereços. . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 – O protocolo IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.1 – O funcionamento do IPv6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3.2 – O cabeçalho IPv6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3.3 – O endereçamento IPv6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3.4 – Cabeçalhos de extensão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Page 9: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

ix

2.3.5 – Diferenças em relação ao IPv4. . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.4 – IPSec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4.1 – Protocolos de núcleo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.4.2 – Protocolos de suporte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.3 – Modos de operação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.5 – O protocolo TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5.1 – O cabeçalho TCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5.2 – O funcionamento TCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.6 – O protocolo UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.6.1 – O cabeçalho UDP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.6.2 – Comparação UDP versus TCP. . .. . . . . . . . . . . . . . . . . . . . . . . 24

2.7 – O protocolo ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.7.1 – O funcionamento do ICMP. . .. . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.7.2 – ICMPv4 versus ICMPv6. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.8 – DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.8.1 – O funcionamento do DNS. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.8.2 – Características. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.9 – Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3 Metodologia de teste 29

3.1 – Ataques DDoS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.1 – Syn Flood. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.2 – Teardrop Attack. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.3 – Smurf Attack. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.1.4 – UDP Flood. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Page 10: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

x

3.1.5 – DNS Flood. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2 – Arquitetura de teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2.1 – Topologia de teste. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2.2 – Equipamentos e Softwares. . .. . . . . . . . . . . . . . . . . . . . . . . 34

3.2.3 – Simulação. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3 – Considerações Finais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4 Resultados 38

4.1 - Testes IPv4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.1.1 – Syn Flood. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.1.2 – Teardrop Attack. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.1.3 – Smurf Attack. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1.4 – UDP Flood. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1.5 – DNS Flood. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2 - Testes IPv6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2.1 – Syn Flood. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2.2 – Teardrop Attack. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2.3 – Smurf Attack. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.2.4 – UDP Flood. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.2.5 – DNS Flood. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3 - Considerações Finais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5 Conclusão 45

5.1 – Trabalhos Futuros. . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Page 11: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

xi

Bibliografia 46

Anexos 47

Page 12: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

xii

Lista de Figuras

2.1 – IMP 5

2.2 – Cabeçalho IPv4 6

2.3 – Cabeçalho IPv6 11

2.4 – Quantidade de endereços 13

2.5 – Cabeçalho de extensão simples 14

2.6 – Cabeçalho de extensão incrementado 14

2.7 – IPSec 17

2.8 – Cabeçalho TCP 20

2.9 – Funcionamento do TCP 22

2.10 – Cabeçalho UDP 23

2.11 – Cabeçalho ICMP 25

3.1 – SYN Flood 29

3.2 – TeardropAttack 30

3.3 – SmurfAttack 31

3.4 – UDP Flood 32

3.5 – DNS Flood 33

3.6 – Topologia de teste 34

3.7 – IXIA XM12 35

3.8 – Cisco 1921 e 2951 36

3.9 – IxLoad 6.3 36

4.1 – Throughput HTTP IPv4 sem ataque 38

4.2 – Throughput HTTP IPv4 com SYN Flood 39

4.3 – Throughput HTTP IPv4 com Teardrop 39

4.4 – Throughput HTTP IPv4 com Smurf Attack 40

Page 13: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

xiii

4.5 – Throughput HTTP IPv4 com UDP Flood 40

4.6 – Throughput HTTP IPv4 com DNS Flood 41

4.7 – Throughput HTTP Ipv6 sem ataque 41

4.8 – Throughput HTTP Ipv6 com SYN Flood 42

4.9 – Throughput HTTP Ipv6 com Teardrop 42

4.10 – Throughput HTTP Ipv6 com Smurf Attack 43

4.11 – Throughput HTTP Ipv6 com UDP Flood 43

4.12 – Throughput HTTP Ipv6 com DNS Flood 44

Page 14: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

1

Capítulo 1

Introdução

1.1 – Tema

Este trabalho visa analisar ataques realizados em dois roteadores que utilizam os

protocolos de comunicação IPv6 e IPv4, estabelecendo uma comparação entre eles com

o foco em segurança, além de analisar a real capacidade do IPv6 na prevenção de

ataques.

Em função da constante migração de IPv4 para IPv6 surge a necessidade de

termos uma metodologia que consiga realizar testes em ambos os protocolos. Utilizou-

se um cenário simulando bordas de dois BB's.

1.2 – Delimitação

O objeto de estudo é o protocolo IPv6, sua aplicação no cotidiano de empresas

de telecomunicações e verificar os possíveis problemas relacionados a segurança. O

parâmetro de comparação é a versão anterior do protocolo IP, o IPv4. Por meio de testes

em ambiente controlado será verificada a eficácia da versão 6 do protocolo IP.

1.3 – Justificativa

Com o esgotamento dos blocos de endereços válidos IPv4, os ISP’s passaram a

se preocupar com o futuro. A tendência na sociedade é de crescimento dos dispositivos

conectados a Internet, com isso a necessidade de migrar para o IPv6 é inevitável. Além

disso, o IPv6 fornece funcionalidades não nativas no protocolo IPv4.

Page 15: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

2

Devido a essa migração, a preocupação com segurança é aumentada, uma vez

que é um protocolo novo em operação e com isso trará novas ameaças. Esse estudo visa

analisar a exposição dos futuros problemas que surgirão com essa migração.

1.4 – Objetivos

O objetivo geral é propor uma metodologia de testes capaz de comprovar a

segurança em uma rede IPv6 e expor problemas futuros após a transição completa para

a versão 6 do protocolo de Internet.

1.5 – Metodologia

Este trabalho consistirá de um estudo do protocolo IPv6 e um comparativo com

IPv4, evidenciando as diferenças básicas entre estas versões do protocolo IP. Esta

comparação enfatizará como os diferentes mecanismos de segurança do IPv4 e IPv6

reagem a ataques.

O trabalho também terá uma parte desenvolvida nas dependências da

EMBRATEL, especificamente em seu Centro de Referência Tecnológica, onde existe

uma rede de referência configurada comIPv6 para a realização dos testes.

1.6 – Descrição

Neste trabalho o tema foi segmentado em cinco capítulos sendo o primeiro uma

introdução da proposta de abordagem do tema.

No capítulo 2 será exposta a história da origem da Internet citando o surgimento

do TCP e o que aconteceu até o surgimento do IP, que possibilitou o crescimento da

Internet a proporções inesperadas na época.

Ainda no capitulo 2, serão abordados o funcionamento básico do IPv4 assim

como a estrutura de cabeçalho, endereçamento e as principais diferenças em relação

Page 16: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

3

aoIPv6. Além disso, neste capítulo também será apresentada uma visão geral dos

protocolos ICMP, UDP, TCP, IPSec.

Por fim, no capítulo 2 será apresentado o protocolo IPv6, sua estrutura de

cabeçalho e os campos nele presentes, tipos de endereços e algumas diferenças em

relação ao IPv4.

O cenário de teste proposto e todos os seus equipamentos e softwares

envolvidos, serão apresentados no capítulo 3. Nessa linha, também será detalhado o

funcionamento lógico da topologia usada e o papel de cada equipamento nela presente.

A metodologia de testes proposta será exposta no capítulo 3, onde após

conhecermos os ataques em si, serão apresentados detalhadamente tanto os

equipamentos de teste como o software a ser utilizado na simulação de ataques.

No capítulo 4 será então realizada a análise comparativa dos resultados obtidos

nos testes, tanto no sentido de avaliar funcionalidade como também de comparar o

desempenho do cenário de testes em IPv6 e IPv4.

Por fim no capítulo 5 teremos a conclusão dos principais pontos observados no

capitulo 4 levando em conta os conceitos apresentados.

Page 17: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

4

Capítulo 2

O modelo TCP/IP

2.1 – A origem da Internet

A Internet nasceu de um projeto de pesquisa militar (ARPA), no período da

guerra fria, no final dos anos cinquenta e início dos anos sessenta. Este projeto surgiu

como resposta do governo americano ao lançamento do Sputnik pela ex-

UniãoSoviética. Inicialmente a ideia era conectar os mais importantes

centrosuniversitários de pesquisa americanos com o Pentágono para permitir não só

atroca de informações rápidas e protegidas, mas também para instrumentalizar opaís

como uma tecnologia que possibilitasse a sobrevivência de canais deinformação no caso

de uma guerra nuclear.

A Internet surgiu a partir da ARPANET, que apareceu em 1969 e consistia em

minicomputadores chamados IMP's, conectados por linhas de transmissão de 56 kbps.

Para garantir sua alta confiabilidade, cada IMP seria conectado pelo menos a dois outros

IMPs. A sub-rede tinha de ser uma sub-rede de datagrama, de modo que, se algumas

linhas e alguns IMP's fossem destruídos, as mensagens pudessem ser roteadas

automaticamente para caminhos alternativos. Os IMP evoluíram para os roteadores

utilizados atualmente, a figura 2.1 mostra um IMP.

Page 18: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

5

Figura 2.1 – IMP

Para a comunicação na ARPANET, era utilizado um protocolo chamado NCP

que é o predecessor do TCP. Por motivos de falta de tratamento para erros de pacote e

de estabelecimento de conexão fim-a-fim, os pesquisadores estudaram novos protocolos

para conexão inter-redes até chegarem ao modelo TCP/IP que foi oficializado no dia 1º

de janeiro de 1983. Por ser confiável e relativamente simples, proporcionou o

crescimento da Internet, todavia essa concepção da época não tinha ideia da magnitude

que a Internet abrangeria.

2.2 – O protocolo IPv4

IP nasceu quando uma versão inicial do TCP, desenvolvido na década de 1970

para predecessores da Internet moderna, foi dividido em TCP na camada 4 e IP na

camada 3. O marco fundamental no desenvolvimento de IP foi a publicação do RFC

791, "Protocolo de Internet", em Setembro de 1981. Esta norma, a revisão do

semelhante RFC 760 do ano anterior, definiu a funcionalidade principal e as

características da versão de IP que tem sido usado em larga escala. A suíte TCP/IP

citada no capítulo anterior é fundamental para o entendimento do funcionamento da

internet.

Page 19: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

6

2.2.1 – O funcionamento do IPv4

O IP é um protocolo que opera na camada de rede do modelo OSI servindo

como fundação para o protocolo TCP. Falaremos mais tarde sobre o TCP, mas a

princípio um protocolo complementa o outro no que é conhecido como modelo TCP/IP.

2.2.2 – O cabeçalho IPv4

O cabeçalho IPv4 é composto por 12 campos fixos, que podem conter ou não

opções responsáveis por fazer com que o tamanho varie de 20 a 60 Bytes. Estes campos

são destinados a transmitir informações sobre a versão do protocolo, tamanho do

cabeçalho e dos dados, a fragmentação dos pacotes, o tipo dos dados sendo enviados,

tempo de vida do pacote, o protocolo da camada seguinte (TCP, UDP, ICMP), a

integridade dos dados, a origem e destino do pacote.

Figura 2.2 – Cabeçalho IPv4

Na figura 2.2, o campo na parte superior esquerda é o Versão que possui 4 bits e

indica a versão do protocolo, no caso é 4.

O campo Tamanho do cabeçalho possui 4 bits einforma ocomprimento do

cabeçalho Internet em palavras de 32 bits (4 octetos ou 4 bytes). O tamanhomínimo do

cabeçalho é de 5 palavras de 32 bits (20 octetos), e o tamanho máximo (o campo

Opções+ Complemento tem tamanho variável) é de 15 palavras de 32 bits (60 octetos).

Page 20: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

7

O campo Tipo de Serviço possui 8 bits e é utilizado para indicar o QoSdesejado.

Seus bits caracterizam os serviços escolhidos para seremconsiderados pelos gateways

para processar o pacote, como por exemplo, a precedência de umpacote. Um roteador

(pode ser chamado de gateway) pode em situações de grandecongestionamento, por

exemplo, aceitar somente pacotes com certo nível mínimo deprecedência. Geralmente,

deseja-se baixo atraso, alta confiabilidade e alto throughput (vazão).

O campo Tamanho total possui 16 bits e informa o comprimento do datagrama,

em octetos(bytes). O tamanho máximo do datagrama pode ser 65.535 octetos (64 Kb).

Esse tamanho de octetoé impraticável para a maior parte de hosts e redes. Todos os

hosts devem ser capazes de no mínimo aceitar datagramas de até 576 octetos,

fragmentados ou não. Esse número foi determinado,partindo-se do pressuposto que 512

octetos seriam um número razoável de dados a ser enviado,considerando-se mais 64

bytes de cabeçalho, sendo que o tamanho máximo do cabeçalho Internet éde 60 octetos,

mas o tamanho típico é de 20 octetos, dando-se margem para cabeçalhos de

outrascamadas. Recomenda-se que os hosts só enviem datagramas maiores que 576

bytes se houver acerteza que o endereço destino aceita receber a quantidade de dados

enviados.

O campo Identificação possui 16 bits e indica o número de identificação do

datagrama para permitir que odestino remonte os pacotes.O campo “Flags

(Sinalizadores)” possui 3 bits e estes bits identificam a transmissão de sinais de

controle.

O campo Deslocamento do Fragmento possui 13 bits e indica a posição

dessefragmento em relação ao do datagrama original. O valor desse campo é expresso

em unidades de 8octetos (64 bits), portanto o tamanho mínimo do campo de dados de

um fragmento é de 64 bits. Oprimeiro fragmento tem valor 0 nesse campo.

O campo Tempo de Vida possui 8 bits e indica o tempo máximo que o

datagrama podepermanecer na rede. Se o valor nesse campo for 0, o datagrama deve ser

destruído. A intençãodesse campo é não permitir que datagramas cujo destino seja

inalcançável fiquem eternamentecirculando pela rede.

O campo Protocolo possui 8 bits e indica o protocolo da camada superior que

está utilizando os serviçosda camada IP. Onúmero do TCP, por exemplo, é 6. Quando o

Page 21: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

8

IP estiver encapsulado em outra camada IP, como emuma VPN, por exemplo, o valor

desse campo é 4.

O campo Soma de Verificação do cabeçalho possui 16 bits e é calculadosomente

sobre o cabeçalho IP. Como alguns campos mudam frequentemente, como o TTL,

essevalor tem que ser recalculado. Para se calcular essa soma, faz-se o complemento

aum de cadapalavra de 16 bits do cabeçalho, somam-se elas e faz-se o complemento a

um da soma total. O campo Endereço de origem possui 32 bits e informa o endereço de

origem.

O campo Endereço de destino possui 32 bits e informa o endereço de destino.

Essainformação é utilizada pelos roteadores para o encaminhamento (roteamento) do

datagrama. Algunsequipamentos podem utilizar os campos IP de origem, de destino e

até mesmo informações deprotocolos de níveis superiores e o tipo de dado sendo

transmitido para realizar o roteamento depacotes e juntamente realizar algum tipo de

priorização ou QoS.

O campo Opções possui o tamanho variável entre 0 e 320 bits (40 octetos). O

que é opcional é atransmissão ou não desse campo, não a implementação. Todos os

roteadores e gateways devemimplementar meios de codificação/decodificação desse

campo. As opções servem, entre outras coisas, informar se o próprio campo Opções

deve ounão ser copiado para os fragmentos, caso o pacote venha a ser fragmentado,

para embutir um timestamp na rede, adicionar informações relativas ao nível de

segurança do pacote(confidencialidade) ou para especificar uma rota para um

determinado destino.O campo “Enchimento” possui tamanho variável, entre 0 e 31 bits

e serve apenas paraque o cabeçalho IP tenha um tamanho múltiplo de 32 bits. Só se faz

o enchimento(obrigatoriamente com 0), se o tamanho do campo Opções não for

múltiplo de 32 bits.

Page 22: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

9

2.2.3 – O endereçamento IPv4

O cabeçalho Ipv4 possui 32 bits, os quais são divididos em quatro grupos de 8

bits que são representados através de números decimais de 0 a 255, como

“200.155.66.20” ou “64.140.1.3”.

Inicialmente, estes endereços foram divididos em três classes principais de

tamanhos fixos, da seguinte forma:

Classe A: indicava o bit mais significativo como 0, utilizava os próximos 7 bits

restantes do primeiro octeto para referenciar a rede, e os 24 bits que sobraram para

identificar o host. Esses endereços utilizavam a faixa de 1.0.0.0 até 126.0.0.0;

Classe B: indicava os 2 bits mais significativos como 10, utilizava os próximos

14 bits seguintes para referenciar a rede, e os 16 bits que sobraram para identificar o

host. Esses endereços utilizavam a faixa de 128.1.0.0 até 191.254.0.0;

Classe C: indicava os 3 bits mais significativos como 110, utilizava os próximos

21 bits para referenciar a rede, e os 8 bits que sobravam para identificar o host. Esses

endereços utilizavam a faixa de 192.0.1.0 até 223.255.254.0;

Também existem classes D e E, porém essas são reservadas para multicast e para

uso de teste do IETF. Vale lembrar que em todas as classes há endereços reservados

para fins específicos.

2.2.4 – Características

O objetivo do IP é transportar os pacotes entre os hosts, e ao mesmo tempo

deixar a rede o menos sobrecarregada possível. O IP não tem preocupações nem ciência

sobre o tipo de comunicação contida dentro de um pacote. Esta responsabilidade é papel

de protocolos de camadas superiores. Estes podem decidir se a comunicação entre

serviços precisa de confiabilidade e se esta comunicação pode tolerar os requisitos de

confiabilidade do overhead, portanto dizemos que o IP trabalha com o serviço de

melhor esforço.

Page 23: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

10

Além disso, o IP realiza um serviço sem conexão, uma vez que ele não

estabelece nenhuma conexão antes do envio dos pacotes de dados. Se a entrega de

pacotes foi feita fora de ordem ou ocorreu a falta de pacotes, isso cria problemas para a

aplicação que usará os dados, os serviços das camadas superiores tem que resolver estas

questões.

A camada de rede também não fica sobrecarregada com as características do

meio físico em que os pacotes serão transportados. O IPv4 e o IPv6 operam

independentemente do meio físico que transporta os dados nas camadas inferiores da

pilha de protocolo.

2.2.5 – O esgotamento de endereços

No IPv4, o tamanho do campo do cabeçalho reservado a endereçamento(32 bits)

possibilita um máximo de 4.294.967.296(232) endereços distintos. Na época de seu

desenvolvimento, esta quantidade era considerada suficiente para identificar todos os

computadores na rede e suportar o surgimento de novas sub-redes. No entanto, com o

rápido crescimento da Internet, surgiu o problema da escassez dos endereços IPv4,

motivando a criação de uma nova versão do protocolo IP, o IPv6.

2.3 – O protocolo IPv6

Em 1993 o conceito de IPng foi criado, logo depois em 1994 foi dada a primeira

especificação e em 1998 a especificação atual. A criação do IPv6 foi causada pelo

previsível do esgotamento de endereços IPv4 em um futuro próximo para alguns países,

que já pode ser considerado uma realidade para outros. O IPv6 está sendo

implementado aos poucos, porque é inviável para a Internet como um todo a troca de

um protocolo que é crucial para seu funcionamento. Além disso, os custos necessários

para a substituição de equipamentos e treinamento de pessoas são enormes.

Page 24: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

11

2.3.1 – O funcionamento do Ipv6

O IPv6 atual na camada de rede e seu funcionamento básicoé semelhante ao

IPv4 nos quesitos já citados como serviços sem conexão, independência do meio e o

melhor esforço. Entretanto, a mudança na versão do protocolo IP não foi

exclusivamente pelo esgotamento dos endereços e sim também para implementar

características não nativas no protocolo Ipv4, alterando o funcionamento mais detalhado

do protocolo no que diz respeito à endereçamento, simplicidade de cabeçalho,

capacidade de identificar fluxos de dados, suporte à autenticação e privacidade, além da

implementação dos cabeçalhos de extensão. Cada característica será abordada de forma

detalhadamente ao longo do capítulo.

2.3.2 – O cabeçalho do IPv6

Algumas modificações foram implementadas no formato do cabeçalho base do

IPv6 de modo a torná-lo mais simples. O número de campos foi reduzido para apenas

oito e o tamanho fixado em 40 Bytes. Adicionalmente, ele ficou mais flexível e

eficiente com a adição de cabeçalhos de extensão que não precisam ser processados por

roteadores intermediários. Essas alterações permitiram que, mesmo com um espaço de

endereçamento quatro vezes maior que o do IPv4, o tamanho total do cabeçalho Ipv6

fosse apenas duas vezes. A figura 2.3 ilustra o cabeçalho IPv6:

Figura 2.3 – Cabeçalho IPv6

Page 25: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

12

O campo Versão possui 4 bits e indica a versão do protocolo IP, seu valor é 6. Já

o campo Classe de Tráfego possui 8 bits e esse campo ainda é experimental e pode vir a

sermodificado. Na primeira especificação doIPv6, RFC 1883, esse campo não existia.

Em seu lugarhavia um campo de 4 bits chamado Prioridade. A função desse campo é

permitirdiferenciação de tráfego (classes de tráfego) e mecanismos de prioridade, para

que os roteadorespossam prover tratamento apropriado em cada caso. Algumas ideiasdo

ToS e dos bits de precedência do IPv4 foram aproveitadas. Cabe à camada superior

informar a camada IPv6 qual a classe de tráfego a ser utilizada.

O campo Identificador de Fluxo possui 20 bits. Um fluxo é uma sequência de

pacotes enviados apartir de uma determinada origem, para um determinado destino,

requerendoum tratamento especial pelos roteadores, como QoS ou reserva de banda

(RSVP), por exemplo. O campo Identificador de Fluxo ainda é experimental e pode vir

a sermodificado, como já ocorreu desde a primeira especificação do IPv6, onde ele

possuía 24 bits. As mudanças dependem da identificação das características que forem

surgindo do tráfego na Internet.

O campo Tamanho dos Dados possui 16 bits e informa o comprimento dos

dados, emoctetos, encapsulados pela camada de rede, isto é, quantos bytes vêm depois

do cabeçalho IPv6 (oscampos de extensão são contabilizados). Caso esse campo seja 0,

indica que o comprimento dacarga (payload) é superior a 65.535 octetos e é informado

em um cabeçalho de extensão.

O campo Próximo Cabeçalho possui 8 bits e informa qual o protocolo da camada

superior que estáutilizando os serviços da camada IP. A numeração também segue o

RFC 1700. O UDP, porexemplo, é número 17. No IPv6, pode haver um campo opcional

após o cabeçalho. Nesse caso, ovalor de próximo cabeçalho informa qual o tipo de

extensão que vem após o cabeçalho IPv6.

O campo Limite de Hop possui 8 bits esemelhante ao TTL do IPv4, cada

unidade processadora depacotes (nó) decrementa esse valor de 1 unidade e quando esse

valor chegar a 0, o pacote édescartado.

O campo Endereço de Origem possui 128 bits e informa o endereço de origem,

já o campo Endereço de Destino também possui128 bits e informa o endereço de

destino.

Page 26: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

13

2.3.3 – O endereçamento do IPv6

O IPv6 possui um espaço para endereçamento de 128 bits, sendo possível obter

aproximadamente 79 octilhões de vezes a quantidade de endereços IPv4 é além disso,

mais de 56 octilhões de endereços por ser humano na Terra, considerando um

população de 6 bilhões de habitantes. Na figura 2.4 observamos uma ilustração do

número de endereços de cada versão do protocolo IP:

Figura 2.4 – Quantidade de endereços

A representação de um endereço IPv6, divide o endereço em oito grupos de 16

bits, separando-os por “.”, escritos com dígitos hexadecimais(0-F). Como podemos ver

a seguir:

2001:0EC4:AU2D:G5H6:345T:3345:HHH4:4456

Ao representar um endereço IPv6, é permitido tanto caracteres minúsculos

quanto maiúsculos. Além disso, podemos abreviar a escrita de alguns endereços muito

extensos, omitindo zeros a esquerda ou substituindo uma sequência longa de zeros por

"::".

O IPv6 possui três tipos de endereços que são o unicast, multicast e anycast. O

tipo broadcast foi excluído do IPv6, porém a envio de mensagens a todos os hosts

continua sendo feito através de artifícios do multicast. O unicaste o multicast já foram

explicados anteriormente, a diferença do anycast para eles é que um pacote

encaminhado a um endereço anycast é entregue a interface pertencente a este conjunto

Page 27: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

14

mais próxima da origem. Esta origem é devida de acordo com a medição realizada pelos

protocolos de roteamento.

2.3.4 – Cabeçalhos de extensão

O campo Cabeçalho de Extensão possui tamanho variável, mas sempre múltiplo

de 8octetos (64 bits). Além disso, pode haver mais de um cabeçalho de extensão e sua a

presença pode ser determinada pelo valor do campo Próximo Cabeçalho. Cada

cabeçalho de extensão tem um campoPróximo cabeçalhoinformando o próximo

protocolo.

Normalmente, somente o nó de destino irá processar os cabeçalhos de extensão.

Estes precisam ser processados exatamente na ordem em que eles aparecem. Uma

implementaçãocompleta do IPv6 tem ser capaz de reconhecer e processar os seguintes

tipos de cabeçalhos de extensão:

Hop-by-Hop Options (Opções Hop-a-Hop), Routing(Roteamento),

Fragmentation(Fragmentação), DestinationOptions (Opções de Destino), Authentication

(Autenticação) eEncapsulating Security Payload (Encapsulamento Carga de Segurança).

A figura abaixo ilustra como o encapsulamento dos cabeçalhos de extensão é feitos.

Figura 2.5 – Cabeçalho de extensão simples

Figura 2.6 – Cabeçalho de extensão incrementado

A criação dos cabeçalhos de extensão no IPv6 teve a finalidadede aumentar a

velocidade de processamento nos roteadores, visto que o único que deve ser processador

em cada roteador é o Hop-by-Hop, enquanto os demais são tratados apenas pelo nó

Page 28: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

15

destino. Também, novos cabeçalhos podem ser definidos no protocolo sem a

necessidadede alterar o cabeçalho base.

2.3.5 – Diferenças em relação ao IPv4

A diferença mais conhecida é a maior capacidade de endereços, tendo em vista

que no IPv6 o espaço para endereçamento aumenta de 32 bits para 128 bits, permitindo:

níveis mais específicos de agregação de endereços; identificar uma quantidade muito

maior de dispositivos na rede; e implementar mecanismos de autoconfiguração. A

escalabilidade do roteamento multicast também foi melhorada através da adição do

campo escopo no endereço multicast. E um novo tipo de endereço, o anycast, foi

definido.

A simplificação do formato do cabeçalho no IPv6, já que que alguns campos do

cabeçalho IPv4 foram removidos ou tornaram-se opcionais, com o objetivo de reduzir o

custo do processamento dos pacotes nos roteadores.

O suporte a cabeçalhos de extensão, uma vez que as opções não fazem mais

parte do cabeçalho base, permite um roteamento mais eficaz, limites menos rigorosos

em relação ao tamanho e a quantidade de opções, e uma maior flexibilidade para a

introdução de novas opções no futuro.

Suporte à autenticação e privacidade que é a mais importante mudança a ser

abordada nesse documento, pois foram especificados cabeçalhos de extensão capazes de

fornecer mecanismos de autenticação e garantir a integridade e a confidencialidade dos

dados transmitidos.

A Autoconfiguração e Renumeração facilitam a configuração automática de

hosts e renumeração dos endereços IP em redes e sub-redes, conforme necessário. A

técnica também existe para renumeração de roteadores e endereços.

Outra modificação é o apoio à QoS, o IPv6 inclui características de QoS que

permitem um melhor suporte para multimídia e outras aplicações que exigem essa

função.

Page 29: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

16

Já citado anteriormente, a exclusão do broadcast em detrimento a melhores

recursos dados ao multicast e a adição do anycast é de grande importância ao IPv6.

Desde o IPv4, o multicast foi prejudicado devido a falta de recursos em muitos

dispositivos de hardware, porém agora no IPv6 o suporte é obrigatório.

2.4 – IPSec

Quando o protocolo IPv4 foi criado definiu-se que os dados enviados em um

determinado pacote IP não receberiam, nesta camada qualquer tipo de ofuscamento ou

criptografia e, caso esta proteção fosse necessária, caberia à camada de aplicação esta

responsabilidade. Outro ponto, também não previsto na concepção do protocolo IP, é a

autenticidade do pacote, por exemplo, o endereço IP de origem contido no pacote pode

ser alterado ou falsificado e o dispositivo destino não terá como validar sua

autenticidade.

O IPsec é uma suíte de protocolos, uma extensão do protocolo IP, que tem como

objetivo prover serviços de segurança como autenticação, integridade e

confidencialidade. Os serviços são fornecidos na camada IP e oferecem proteção às

camadas superiores. A arquitetura do IPsec foi originalmente especificada na RFC2401

em 1998 e posteriormente atualizada pela RFC4301 em 2005. A figura 2.7 ilustra o

IPsec:

Page 30: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

17

Figura 2.7 - IPSec

2.4.1 – Protocolos de núcleo

O Authetication Header tem a função de proteger a integridade do pacote

enviado. Ou seja, se qualquer conteúdo do pacote original for modificado, por exemplo

endereço de origem, dados ou outros campo, o receptor será capaz de identificar que o

pacote foi alterado e por isto descartar o pacote. Se a comunicação entre dois

dispositivos estiver configurada para utilizar o AH e o pacote recebido não possuir este

cabeçalho a mensagem será tratado como sendo falsa e será descartada. Para realizar

esta autenticação é calculado o valor do campo HMAC através de uma senha secreta,

dos dados contidos no pacote e de todas as partes que devem chegar inalteradas ao

destino, por exemplo, os endereços IP. Campos que sofrem alteração durante o envio,

como o TTL, não são utilizados para o cálculo do HMAC.

O Encapsulating Security Payloadproporciona confidencialidade através de

criptografia dos dados a serem enviados. Ao utilizar o ESP os campos do AH são

inclusos gerando um único cabeçalho que mantém as características de integridade e

autenticaçãodo AH adicionando confidencialidade.

Page 31: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

18

2.4.2 – Protocolos de suporte

Encryption como o próprio nome sugere fornece a encriptação que atua em

conjunto com o Hashing, o qual fornece um algoritmo de Hash para garantir a

segurança dos dados. A partir desses dois parâmetros o HMAC é calculado.

Security policies juntamente com Security associations fornecem as políticas de

uso, descrevendo como duas ou mais entidades usarão os serviços de segurança em cada

fluxo, incluindo o tipo de autenticação e encriptação.

O IKE fornece a autenticação dos dispositivos no IPsec, também atua

negociando as securityassociations entre os dispositivos, além de estabelecer as chaves

de segurança do IPsec.

2.4.3 – Modos de operação

O IPsec possui dois modos de operação que são o Túnel e o Transporte. Ambos

são utilizados em topologias com características especificas e cada um possui melhor

desempenho no seu ambiente adequado.

O modo transporte tem a função de realizar IPsec somente entre dois pontos. A

configuração do IPsecnecessita ser feita em cada um dos dois dispositivos, e para cada

nova comunicação IPsec a ser criada, um novo par de configurações deve ser

implementado. Apesar de esta comunicação ser feita entre dois pontos, ela pode passar

por outros dispositivos de rede, como comutadores ou roteadores, até chegar à máquina

de destino.

O modo túnel tem a função de utilizar o IPsec para todo o tráfego que irá sair da

rede local e passar por locais onde pode ser alterado ou falsificado. A diferença prática

em relação ao modo transporte é que ao invés de configurar todos os dispositivos para

utilizar IPsec, esta configuração é feita somente nos roteadores de borda de rede. Os

roteadores encapsulam o pacote original, que é desencapsulado ao chegar aos

Page 32: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

19

roteadoresde borda do destino e encaminhado para a máquina de destino. Assim, todo o

tráfego inter-redes é protegido.

2.5 – O protocolo TCP

Surgiu da divisão do TCP em IP para a camada de rede e TCP para a camada de

transporte. O TCP é um dos protocolos fundamentais para a Internet, atua em conjunto

com o IP. É versátil e robusto, tornando-se adequado a rede global por algumas de suas

características como verificar o envio correto dos dados, na sequência apropriada e sem

erros, pela rede.

2.5.1 – Características do TCP

O protocolo TCP possui inúmeras características, algumas delas são explicadas

abaixo:

Orientado à conexão - A aplicação envia um pedido de conexão para o destino e

usa a "conexão" para transferir dados.

Ponto a ponto - uma conexão TCP é estabelecida sempre apenas entre dois

pontos.

Confiabilidade- O TCP usa várias técnicas para proporcionar uma entrega

confiável dos pacotes de dados, que é a grande vantagem que tem em relação ao UDP, e

motivo do seu uso extensivo nas redes de computadores. O TCP permite recuperar

pacotes perdidos, eliminar pacotes duplicados, recuperar dados corrompidos e pode

restabelecer a ligação em caso de problemas no sistema e na rede.

Full duplex - É possível a transferência simultânea em ambas as direções

(cliente-servidor) durante toda a sessão.

Handshake - Mecanismo de estabelecimento e finalização de conexão a três e

quatro tempos, respectivamente, o que permite a autenticação e encerramento de uma

Page 33: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

20

sessão completa. O TCP garante que, no final da conexão, todos os pacotes foram bem

recebidos.

Entrega ordenada - A aplicação faz a entrega ao TCP de blocos de dados com

um tamanho arbitrário num fluxo (ou stream) de dados, tipicamente em octetos. O TCP

parte estes dados em segmentos de tamanho especificado pelo valor MTU. Porém, a

circulação dos pacotes ao longo da rede (utilizando um protocolo de encaminhamento,

na camada inferior, como o IP) pode fazer com que os pacotes não cheguem ordenados.

O TCP garante a reconstrução do stream no destinatário mediante os números de

sequência.

Controle de fluxo - O TCP usa o campo janela ou window para controlar o

fluxo. O receptor, à medida que recebe os dados, envia mensagens ACK, confirmando a

recepção de um segmento; como funcionalidade extra, estas mensagens podem

especificar o tamanho máximo do buffer no campo (janela) do segmento TCP,

determinando a quantidade máxima de bytes aceita pelo receptor. O transmissor pode

transmitir segmentos com um número de bytes que deverá estar confinado ao tamanho

da janela permitido: o menor valor entre sua capacidade de envio e a capacidade

informada pelo receptor.

2.5.1 – O cabeçalho TCP

A figura 2.8 ilustra o cabeçalho do protocolo TCP:

Page 34: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

21

Figura 2.8 – Cabeçalho TCP

Os campos do cabeçalho TCP são:

Porta Fonte e Destino: estes campos no cabeçalho TCP contêm os números de

portas TCP que identificam os programas de aplicação dos extremos de uma conexão.

Número de sequência: identifica a posição no fluxo de bytes do segmento

enviado pelo transmissor. O número de sequência refere-se ao fluxo de dados que vai à

mesma direção do segmento.

Número de Reconhecimento: este campo identifica a posição do byte mais alto

(ou último byte) que a fonte recebeu. O número de reconhecimento refere-se ao fluxo de

dados na direção contrária ao segmento. Os reconhecimentos sempre especificam o

número do próximo byte que o receptor espera receber.

Tamanho do Cabeçalho: contém um inteiro que especifica o início da porção de

dados do segmento. Este campo é necessário já que o campo Opções varia em

comprimento dependendo de quais opções tenham sido incluídas. De modo que o

tamanho do cabeçalho TCP varia dependendo das opções selecionadas.

Tamanho de Janela: através deste campo o software TCP indica quantos dados

ele tem capacidade de receber em seu buffer.

Ponteiro de Urgência: TCP através deste campo permite que o transmissor

especifique que alguns dados são urgentes, isto significa que os dados serão expedidos

tão rápido quanto seja possível.

Opções: o software TCP usa este campo para se comunicar com o software do

outro extremo da conexão.

Soma de Verificação: é usado para verificar a integridade tanto do cabeçalho

como dos dados do segmento TCP.

Page 35: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

22

Os bits de controle no protocolo TCP são:

URG, Urgent bit: Quando ajustado para 1, indica que a função de transferência

de prioridade tem sido invocado para este segmento e que o campo ponteiro de urgência

é válido.

ACK, Acknowledgment bits: Quando ajustado para 1, indica que este segmento

leva um reconhecimento e o valor do campo número de confirmação é válido, levando a

próxima seqüência esperada a partir do destino deste segmento.

PSH, Push bit: O remetente deste segmento está solicitando que os dados neste

segmento sejam imediatamente empurrados para o aplicativo no dispositivo receptor.

RST, Reset bit: O remetente encontrou um problema e quer redefinir a conexão.

SYN, Synchronize bit: Este segmento é um pedido para sincronizar os números

de sequência e estabelecer uma conexão.

FIN,Finish bit: O remetente do segmento está solicitando que a conexão seja

fechada.

2.5.2 – O funcionamento do TCP

A figura 2.9 ilustra o funcionamento do TCP para uma abertura de conexão no

modelo cliente-servidor:

Page 36: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

23

Figura 2.9 – Funcionamento do TCP

Primeiramente o cliente manda um SYN para o servidor e espera um ACK. O

Servidor manda um SYN+ACK e espera um ACK, dessa vez do servidor. Esse processo

é conhecido como aperto da mão triplo e age com eficiência em diversas situações,

como por exemplo, congestionamento de dados.

2.6 – O protocolo UDP

O UDP é um protocolo simples da camada de transporte que permite que a

aplicação escreva um datagrama encapsulado pelo IPv4 ou IPv6, e então enviado ao

destino. Não há qualquer tipo de garantia de entrega do pacote.

O protocolo UDP não é confiável. Caso garantias sejam necessárias, é preciso

implementar uma série de estruturas de controle, tais como timeouts, retransmissões,

controle de fluxo e outras.Além disso, o UDP fornece os serviços de broadcast e

multicast, permitindo que um único cliente envie pacotes para vários outros na rede.

Page 37: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

24

2.6.1 – O cabeçalho UDP

O cabeçalho UDP é bem mais simples que o TCP, devido também às diferenças

no recursos proporcionados pelo segundo. Na figura 2.10 podemos observar o

cabeçalho UDP:

Figura 2.10 – Cabeçalho UDP

O campo Porta de origem e porta de destino indicam a origem e o destino

respectivamente, o campo tamanho indica o tamanho do cabeçalho. Soma de verificação

é o campo onde é realizada uma soma para verificar integridade dos dados. Para

terminar, o campo dados corresponde aos dados em si.

2.6.2 – Comparação UDP versus TCP

Os protocolos TCP e UDP apesar de pertencerem ambos a camada de transporte,

possuem grandes diferenças. O TCP é um protocolo confiável, com retransmissão, com

estabelecimento de conexão e outras características já citadas, já o UDP não é confiável,

sem conexão, sem detecção de mensagens perdidas, sem manipuladores para

congestionamento. Cada um é recomendado para um tipo de serviço, o UDP por

exemplo possui vantagens em aplicações em tempo real ou que necessitem multicast.

Page 38: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

25

Por outro lado quando são necessárias a segurança e a confiabilidade o uso do TCP é

altamente recomendado.

2.7 – O protocolo ICMP

O ICMP é um protocolo obrigatório da camada de rede daarquitetura TCP/IP e

serve para a transmissão de mensagens de erro, controle e obtenção de

outrasinformações relacionadas à rede. Apesar de o ICMP ser um protocolo da camada

de rede, ele utiliza osserviços do próprio IP para ser transmitido, sendo que no campo

Protocolo do IPv4, o valor é 1, que é o número do ICMP. Se uma mensagem ICMP não

pode ser enviada, não será gerada outra em seu lugar,evitando uma enchente de

mensagens ICMP.

2.7.1 – O cabeçalho do ICMP

O cabeçalho ICMP é representado na figura 2.11:

Figura 2.11 – Cabeçalho ICMP

O campo tipo especifica o tipo de mensagem ICMP. O campo código é uma

extensão do tipo, para especificar a descrição do agente causador da mensagem

apresentada. O campo Soma de Verificação da uma integridade aos dados e o campo

corpo da mensagem é a própria mensagem.

No ICMPv4 existem dois tipos de mensagem, a informativa e a de erro, sendo

bem mais simples que no ICMPv6, no qual foram adicionadas mais mensagens como a

as relacionadas a multicast, a descoberta do MTU, aos procedimentos de

autoconfiguração e suporte ao ipv6 móvel.

Page 39: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

26

2.7.2 – ICMPv4 versus ICMPv6

O ICMPv6 é mais robusto que o ICMPv4 e contém novas funcionalidades como

o ND para descobrir os endereços link-layer de vizinhos no mesmo link, localizar

roteadores, verificar quais vizinhos são alcançáveis, detectar endereços que mudaram. O

IPv6 tem um novo foco em autoconfiguração e o ICMPv6 é essencial para isso, além

disso o ICMPv6 também tem suporte a IPv6 móvel.

2.8 – DNS

O DNS é um sistema de gerenciamento de nomes hierárquico e distribuído

visando resolver nomes de domínios em endereços de rede (IP). Digitar

www.poli.ufrj.br é mais intuitivo do que decorar o endereço IP do servidor onde está

hospedado o site. O DNS é o responsável por proporcionar essa comodidade a memória

das pessoas, porque é muito mais fácil lembrar de um nome a uma sequência de

números.

2.8.1 – O funcionamento do DNS

O usuário não digita o nome diretamente no servidor e sim no computador que

está usando. Entre esses dois dispositivos há um intermediário muito importante

chamado Name System. Este é responsável por manipular o Name Space, Name

Registration e Name Resolution.

Name Space é chamado também de Name Architeture, descreve o conjunto de

regras de como os nomes são estruturados e utilizados. Além disso, define como o nome

de um dispositivo é relacionado com os demais em um sistema e garante que nomes

inválidos não causem problemas no sistema como um todo.

Name Registration é o processo de atribuir um nome específico a um

dispositivo. Para implementar um Name Sytem é necessário atribuir um nome a cada

dispositivo. Como em qualquer outro endereçamento, o nome não funciona

Page 40: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

27

corretamente caso ele não seja único no sistema. Sendo necessário um processo para

gerenciar essa atribuição de nomes.

Name Resolution é o processo no qual um nome simbólico de um dispositivo é

traduzido para seu endereço numérico.

2.8.2 – Características

O DNS possui várias características e estudos em relação a novos tipos de

registros nas zonas. O relevante para esse documento é a adição do registro AAAA

descrito pela RFC 1886 e, atualmente, pelo RFC 3596. Um registro no âmbito do DNS

serve para guardar os nomes em um banco de dados das zonas, as quais são um

subdomínio na hierarquia do DNS. Elas servem para mapear dois domínios, endereços

IP e outros recursos.

2.9 – Considerações finais

Nesse capítulo vimos uma abordagem geral dos fundamentos de redes desde o

IP ao DNS, passando pelo IPSec que é importante para segurança. Essa explicação

serve como base para entendimento dos ataques em si, os quais serão explicados no

capítulo seguinte.

Page 41: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

28

Capítulo 3

Metodologia de teste

3.1 – Ataques DDoS

Um ataque do tipo DDoS é uma maneira relativamente simples de derrubar

algum serviço. O objetivo aqui é unicamente o de tornar uma página ou processo

indisponível para o usuário final.

Para efetuar o processo, os hackers precisam criar uma rede zumbi (Botnet), que

inclui uma infinidade de computadores infectados de maneira que eles possam ser

controlados por um host “mestre”. Quando o hacker escolhe o alvo, ele envia o IP para

o mestre, que se encarrega de distribuí-lo por toda a rede zumbi. Essa rede pode incluir

milhares de computadores que são responsáveis por sobrecarregar o alvo até que ele se

torne indisponível.Por ter múltiplas fontes, o rastreamento e bloqueio desse tipo de

ataque são bastante complicados.

3.1.1 – Syn flood

A inundação SYN é um ataque contra um sistema com a finalidade de esgotar

recursos do sistema. Quando um atacante lança uma inundação SYN contra um sistema

de destino, tenta ocupar todos os recursos disponíveis utilizados para estabelecer

conexões TCP através do envio de vários segmentos SYN contendo endereços IP

incorretos. Note-se que o termo SYN refere-se a um tipo de estado de conexão que

ocorre durante o estabelecimento de uma conexão TCP / IP. Mais especificamente, uma

inundação SYN é projetada para encher uma fila de SYN. Uma fila de SYN é um

conjunto de conexões armazenados na tabela de conexão no estado SYN recebido,

como parte do padrão 3-way handshaking do TCP. Uma fila de SYN pode conter um

número máximo de conexões no estado SYN recebido. Conexões no estado SYN-

recebido são consideradas semiabertas e à espera de uma confirmação do cliente.

Page 42: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

29

Quando uma inundação SYN faz com que o número máximo de conexões permitidas no

estado SYN-recebido seja alcançado, a fila de SYN é dita completa, evitando assim o

sistema alvo de estabelecer outras conexões legítimas. Portanto, uma fila SYN cheia

resulta em conexões TCP parcialmente abertas para endereços IP que ou não existem ou

são inacessíveis. Nestes casos, as ligações devem chegar ao seu limite antes que o

servidor possa continuar cumprindo outras solicitações.

Figura 3.1 – SYN Flood

3.1.2 – Teardrop attack

Consiste em mandar pacotes inválidos (mangled packets) em taxas grandes,

fazendo com que interfira no campo Fragment Offset e gere possíveis falhas no sistema.

Uma vez que o offset de fragmentação é responsável por marcar o tamanho e a posição

Page 43: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

30

relativa aos pacotes anteriores à fragmentação. Quando a soma do offset com o tamanho

do pacote fragmentado difere do pacote seguinte, o servidor tenta reagrupar os pacotes

novamente. A figura abaixo ilustra um pacote usado no ataque Teardrop, note que o

primeiro pacote começa no 0 e possui 840 bytes de tamanho, já o offset do segundo está

preenchido com o valor 820, causando o ataque.

Figura 3.2 – TeardropAttack

3.1.3 – Smurf attack

Um ataque Smurf é um ataque de negação de serviços criado nos anos 90,

conhecido como um ataque de pingsdirecionadios e ofensivos. Na época, ele era

conhecido como o pior ataque de negação de serviço na internet. Em um ataque Smurf,

é utilizado um artifício conhecido como Spoof, na qual o IP é multiplicado/falsificado

no intuito de enganar alguma máquina e inúmeros pacotes ICMP com esse endereço

falsificado são mandados através da rede por broadcast. Isso transforma a rede em um

amplificador do ataque atacando o alvo com uma inundação de pacotes ICMP (ping),

consumindo rapidamente a banda e impedindo o tráfego de pacotes legítimos. A figura

3.3 ilustra um ataque Smurf:

Page 44: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

31

Figura 3.3 – Smurf Attack

3.1.4 – UDP flood

Utilizar ataque de negação de serviço com UDP não é tão simples como com

TCP. No entanto, um ataque de inundação UDP pode ser iniciado através do envio de

um grande número de pacotes UDP para portas aleatórias de um host remoto. Como

resultado a vítima irá verificar se a aplicação está em modo de escuta, vendo que

nenhuma aplicação está nesse modo, responderá com um pacote ICMP de destino

inacessível. Assim, para um grande número de pacotes UDP, o sistema vitimado será

forçado a enviar muitos pacotes ICMP e acabará tornando-se inalcançável por outros

clientes.

O atacante também pode utilizar o artifício já citado, conhecido como Spoof

para falsificar o endereço IP dos pacotes UDP, garantindo que a vítima mande inúmeros

pacotes e torne-se inalcançável. A figura 3.4 ilustra um ataque de inundação UDP, cada

seta representa uma porta diferente, pelas quais o atacante manda os pacotes UDP:

Page 45: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

32

Figura 3.4 – UDP Flood

3.1.5 – DNS flood

O DNS flood é um ataque muito poderoso no qual os atacantes inundam os

servidores de nomes de uma zona para perturbar a resolução de registros pertencentes a

essa zona e, consequentemente, qualquer um das suas subzonas. Em geral, os ataques de

inundação que visam negar atendimento aos clientes tirando partido da distribuição

assimétrica dessa funcionalidade entre clientes e servidores. No caso de DNS, o fato dos

servidores de nomes serem completamente responsáveis por servir os registros da zona

e, por sua vez, para o funcionamento de quaisquer subzonas implica que a sua

disponibilidade é crítica e torna-os um alvo atraente para ataques de inundação.

Quando o atacante faz inúmeras requisições DNS o servidor fica com lentidão,

pois ele fica com uma carga acima da qual consegue utilizar. Na especificação original

do DNS, os servidores oficiais tinham um limite de 512 bytes por mensagem, porém se

alguém quer um nome maior, consegue. A amplificação do ataque é basicamente

invadir um servidor oficial e colocar um texto grande em um registro, depois achar um

servidor DNS aberto e fazer uma requisição desse texto grande colocado. O servidor irá

Page 46: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

33

responder a requisição e salvar a resposta. É fácil achar milhares de servidores DNS

abertos, com isso uma botnet é criada.

O atacante multiplica e falsifica as requisições DNS fazendo com que o

endereço para resposta seja o da vítima, causando o dano. A figura 3.5 ilustra a

amplificação do ataque DNS flood:

Figura 3.5 – DNS Flood

A amplificação de ataque é uma técnica bastante utilizada atualmente, devido ao

seu poder de estrago. A figura acima explica os passos de uma amplificação de um

ataque DNS. O primeiro passo é o atacante adquirir a botnet e enviar uma requisição a

um servidor DNS primário de um usuário, este por sua vez tenta buscar essa requisição

nos servidores administradores e através do namespace, aumenta cada vez mais número

de servidores acessados, enviando a resposta exclusivamente para a vítima. Esse ataque

de DNS amplificado atualmente é o responsável pela maior banda de ataque já

registrada, algo em torno de 300Gbps.

Page 47: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

34

3.2 – Arquitetura de teste

O teste proposto é composto basicamente por simulações de cinco tipos de

ataques que são o SYN flood, Teardrop, Smurf, UDP flood e DNS flood. Esses ataques

foram escolhidos com base no relatório trimestral da empresa Prolexic, no qual faz uma

estatísticados ataques mais utilizados no mundo durante aquele determinado trimestre.

Para tal, foram utilizadas as dependências da Embratel no CRT.

3.2.1 – Topologia de teste

A topologia de teste é composta por dois roteadores da Cisco nos modelos 2951

e 1921, utilizando o protocolo de roteamento BGPv4, simulando a borda de dois

Backbones. A figura abaixo ilustra a topologia:

Figura 3.6 – Topologia de teste

3.2.2 – Equipamentos e softwares

Como citado anteriormente, as simulações foram realizadas utilizando dois

roteadores cisco modelos 2951 e 1921, o gerador de tráfego IXIA XM12 e o software

IxLoad versão 6.30.

Page 48: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

35

Os roteadores 2951 e 1921 são rotadores robustos da cisco, os quais foram

escolhidos por suportarem IPv6 .

O gerador de tráfego XM12 é um produto da IXIA e possui diversas

funcionalidades para testes na área de telecomunicações. Ele foi responsável por injetar

tanto o tráfego HTTP, considerado o tráfego legítimo da simulação, como também os

cinco tipos de ataques utilizados nos testes.

O software Ixload 6.30 faz parte da suíte de softwares da IXIA, sendo uma

referência em testes nos quais são necessários configurar parâmetros da camada de

aplicação, como tráfegos HTTP, FTP, SIP, Telnet, dentre outros. A foto do

equipamento XM12 pode ser vista a seguir:

Figura 3.7 – IXIA XM12

Page 49: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

36

Os roteadores utilizados podem ser vistos na figura a seguir:

Figura 3.8 – Cisco 1921(em cima) e 2951(embaixo)

3.2.3 – Simulação

A simulação consiste em aplicar um tráfego de 1000 Mbps em uma interface do

roteador 2951 e 1000 Mbps de ataque DDoS em outra interface do mesmo 2951. O qual

está diretamente conectado com o roteador 1921. O esquemático do teste pode ser visto

na figura a seguir:

Figura 3.9 – IxLoad 6.3

Page 50: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

37

Cada caixa verde do software é uma rede diferente e as linhas mostram as

interligações. Na figura acima podemos ver as redes ClientsIPv6, Servers IPv6 e

Ataques IPv6. Há uma outra parte da simulação, a qual é idêntica a essa, porém feita

para IPv4.

3.3 – Considerações finais

Nesse capítulo foram explicados os principais tipos de ataques utilizados no

segundo trimestre de 2013 de acordo com a Prolexic. Além disso foi mostrada a

topologia de teste montada no Centro de Referência Tecnológica da Embratel e a

apresentação dos equipamentos utilizados neste trabalho juntamente com suas fotos

para facilitar a análise dos gráficos de resultados que são mostrados no capítulo 4.

Page 51: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

38

Capítulo 4

Resultados

4.1 – Testes IPv4

Foram realizados um total de 6 casos IPv4, tendo como objetivo principal a

comparação do throughput entre a versão 4 e 6 do protocolo IP. Para evidenciar as

diferenças, além dos gráficos com ataques, é apresentado o gráfico do tráfego HTTP

sem nenhum ataque. Podemos observar na figura 4.1 que o tráfego HTTP funcionou

sem erros, em torno de 800mbps.

Figura 4.1 –Throughput HTTPIPv4 sem ataque

4.1.1 – Syn flood

Ao aplicar o ataque SynFlood, o protocolo TCP reage imediatamente, o TCP

comporta-se como dente de serra em situações de congestionamento. Ao detectar o

ataque, o TCP reage diminuindo o throughput até certo ponto, após essa reação o

gráfico sobe exponencialmente devido ao slow start do TCP, após um limiar o gráfico

cresce linearmente. A figura 4.2 ilustra o comportamento descrito acima:

Page 52: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

39

Figura 4.2 – Throughput HTTP IPv4 com SYN Flood

4.1.2 – Teardrop attack

O tearpdropattack é um tipo de ataque de fragmentação, no qual o campo

tamanho do fragmento é gerado de forma errada, a ponto de deixar a vítima sem

recursos para funcionar. O término do pacote é sobreposto ao início do próximo, isso

gera um gráfico totalmente irregular, porém como podemos observar na figura 4.3 o

IPv4 quase não foi afetado pelo TeardropAttack, mantendo um taxa elevada, porém

com algumas oscilações.

Figura 4.3 – Throughput HTTP IPv4 com Teardrop

Page 53: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

40

4.1.3 – Smurf attack

O envio de pacotes ICMP ininterruptamente é a característica do smurfattack,

observamos que o throughput nesse caso foi bem alterado, as oscilações começaram

desde o início na estabilização e permaneceram até o fim da simulação. A figura 4.4

ilustra o comportamento explicado acima.

Figura 4.4 – Throughput HTTP IPv4 com Smurf

4.1.4 – UDP flood

A simplicidade do UDP é totalmente contrário ao seu dano, por não oferecer a

segurança do TCP, é difícil bloquear seus ataques. Requisições são mandadas a porta

aleatórias fazendo com que o throughput oscile do início ao fim da simulação. A figura

4.5 ilustra a oscilação citada.

Figura 4.5 – Throughput HTTP IPv4 com UDP Flood

Page 54: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

41

4.1.5 – DNS flood

O DNS flood fez com que o throughput demorasse mais do que o habitual para

estabilizar e fosse alterado durante todo o tempo de simulação, a ponto de em momento

algum a taxa máxima do gráfico sem ataque fosse atingida. Demonstrando que o DNS

flood atinge de forma significativa roteadores com IPv4.

Figura 4.6 – Throughput HTTP IPv4 com DNS Flood

4.2 – Testes IPv6

Os testes IPv6 foram executados da mesma maneira que o IPv4, no mesmo

ambiente e sob as mesmas condições. De modo a não gerarem qualquer diferença por

razões externas. Apresentarei o resultado comparando ao resultado citado anteriormente

para os casos com IPv4. Assim como para o IPv4, o gráfico do throughput com IPv6

sem ataque pode ser visto na figura 4.7 e este comportou-se de forma idêntica ao IPv4.

Figura 4.7 – Throughput HTTP IPv6 sem ataque

Page 55: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

42

4.2.1 – Syn flood

Aplicando o Syn Flood podemos ver que o throughput comportou-se de forma

parecida com o IPv4, porém a oscilação do TCP foi maior, em diversos momentos o

slow start foi utilizado e assim como no IPv4, a vulnerabilidade permanece. A figura 4.8

mostra essas oscilações descritas acima.

Figura 4.8 – Throughput HTTP IPv6 com SYN Flood

4.2.2 – Teardrop attack

Diferentemente do caso com IPv4, o IPv4 foi totalmente afetado pelo

TeardropAttack. Na figura 4.9, observamos que o throughput não chega sequer a

metade do gráfico sem ataques e além disso oscila praticamente durante todo o tempo

de simulação. Isso é uma nítida desvantagem para o IPv6 que demonstra ser afetado por

um ataque de fragmentação.

Figura 4.9 – Throughput HTTP IPv6 com Teardrop

Page 56: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

43

4.2.3 – Smurf attack

Apesar do SmurfAttack ser devastador, devido a enxurrada de pacotes ICMP

que ele proporcionar a vítima, os roteadores configurados com IPv6 não foram afetados

por ele. Isso é explicado pela mudança no protocolo ICMP, conhecido agora como

ICMPv6. O ICMP é muito incorporado no IPv6 do que no IPv4, essa mudança refletiu

em uma melhora na defesa contra tipos de ataque ICMP.

Figura 4.10 – Throughput HTTP IPv6 com Smurf

4.2.4 – UDP flood

O UDP Flood comportou-se melhor no IPv6, porém longe de ser ideal. Bloquear

um ataque UDP é difícil e a figura 4.7 demonstra isso, sofrendo perturbações ao longo

de toda a simulação. Apesar da mudança e dos avanços no protocolo IP, este ainda é

vulnerável a ataques UDP.

Page 57: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

44

Figura 4.11 – Throughput HTTP IPv6 com UDP Flood

4.2.5 – DNS flood

Assim como no caso IPv4, o throughput foi totalmente influenciado pelo DNS

Flood, de modo a oscilar durante toda a simulação. A simulação realizada em ambos os

casos, não utilizou a técnica de amplificação e mesmo assim foi eficaz na queda do

throughput nos testes. A figura 4.12 ilustra um limiar em torno de 400 Mbps para o

tráfego HTTP, porém oscila repetidamente durante toda a execução, tornando o seu uso

impraticável em um ambiente comercial.

Figura 4.12 – Throughput HTTP IPv6 com DNS Flood

4.3 – Considerações finais

Nesse capítulo foram apresentados os resultados dos 10 casos de ataques

escolhidos, além dos casos sem ataque para comparação. A escolha de gráficos de

throughput foi feita para evidenciar as diferenças da forma mais clara possível. Notamos

que o IPv6 e o IPv4 não são muito diferentes em relação aos ataques mais utilizados

atualmente. Cada um tem suas deficiências em determinados tipos de ataques, um fato

que pode ser notado é a melhora do ICMP no IPv6, o qual bloqueou o SmurfAttack de

forma significativa.

Page 58: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

45

Capítulo 5

Conclusão

De um modo geral a metodologia utilizada neste trabalho analisou diferenças

entre o IPv6 e o IPv4 em termos de segurança. Entretanto, nesse projeto observamos os

futuros problemas que os administradores de redes terão com essa mudança a nível

global. O IPv6 representa uma ameaça iminente, uma vez que apesar do IPSec ser

considerado nativo no IPv6, não conseguimos observar nenhuma consequência disso na

prática.

O IPv6 trará algumas vantagens, como vimos no Smurf Attack, porém a nova

estrutura de cabeçalhos e sua extensão trarão novas formas de ataque e com isso a

preocupação tanto com o sigilo dos dados quanto na prevenção de ataques como DDoS.

Portanto, não há uma versão do protocolo IP mais segura que a outra e sim duas

inseguras pois ambas possuem falhas similares. A crença de que apenas configurando

roteadores com IPv6, a segurança seria garantida é desmistificada nesse trabalho.

5.1 – Trabalhos Futuros

Para continuação do trabalho, é interessante a maior abrangência no estudo das

vulnerabilidades, tais como outros tipos de protocolos e seus tratamentos junto ao IPv6.

Além disso, testar novas formas de proteção tais como Peakflow e formas de proteção

em hardware. Configuração do IPsec para novas topologias, agregando VPN, redes

WAN e outras configurações de modo a continuar a estudar comportamento do IPv6, no

quesito segurança.

Sugere-se seguirem os relatórios trimestrais de grandes empresas da área de

segurança, como a Prolexic para aumentar a diversidade de análises de ataques, estando

sempre a par de ataques mais recentes. Sugere-se, além disso, abordar outros aspectos

apresentados no próprio relatório da IXIA como latência, número de conexões perdidas

e falhas.

Page 59: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

46

Bibliografia

[1] TANENBAUM, A. S., Redes de Computadores 4ª edição, Editora Campus, 2003.

[2] MOREIRAS, M. A., DOS SANTOS, R. R., “Curso de Introdução ao IPv6”,

http://curso.ipv6.br/elearning/ipv6_mod5.htm, 2009, (Acesso em 10 Dezembro 2013).

[3] “IPv6”, http://en.wikipedia.org/wiki/IPv6, 2012, (Acesso em 10 Novembro 2013).

[4] “RFC 2544”, http://www.ietf.org/rfc/rfc2544, 1999, (Acesso em 10 Outubro 2013).

[5] Manual do IXIA.

[6] DAVIES, JOSEPH “Understanding IPv6 2nd Edition”, Microsoft Press, 2008.

[7] KOZIEROK, CHARLES M. “The TCP/IP Guide”, No starch Press, 2005.

[8] HAGEN, SILVIA. “IPv6 Essentials 2nd

Edition”, O’Reilly Media, 2006.

[9] “RFC 2460”, http://www.ietf.org/rfc/rfc2460, 1998, (Acesso em 15Novembro

2013).

[10] “RFC 2463”, http://www.ietf.org/rfc/rfc2563, 1999, (Acesso em 20Novembro

2013).

[11] “RFC 2545”, http://www.ietf.org/rfc/rfc2545, 1999, (Acesso em 15 Dezembro

2013).

Page 60: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

47

Anexos

Configuração do roteador Cisco 1921:

Current configuration : 1478 bytes

version 15.0

service timestamps debug datetimemsec

service timestamps log datetimemsec

no service password-encryption

hostname LEON-1921

boot-start-marker

boot-end-marker

noaaa new-model

ipv6 unicast-routing

ipv6cef

ip source-route

ipcef

multilink bundle-name authenticated

licenseudipid CISCO1921/K9 sn FTX1438003K

redundancy

interface GigabitEthernet0/0

ip address 192.168.13.2 255.255.255.0

load-interval 30

duplex full

speed 1000

ipv6 address FD00::3:14/112

ipv6 enable

interface GigabitEthernet0/1

ip address 192.168.12.1 255.255.255.0

load-interval 30

duplex full

speed 1000

ipv6 address FD00::2:12/112

ipv6 enable

routerbgp 10000

bgp log-neighbor-changes

neighbor 192.168.13.1 remote-as 20000

neighbor 192.168.13.1 ebgp-multihop 255

neighbor FD00::3:13 remote-as 20000

neighbor FD00::3:13 ebgp-multihop 255

address-family ipv4

no synchronization

redistribute connected

neighbor 192.168.13.1 activate

no neighbor FD00::3:13 activate

no auto-summary

exit-address-family

address-family ipv6

redistribute connected

Page 61: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

48

no synchronization

network FD00::2:0/112

neighbor FD00::3:13 activate

exit-address-family

ip forward-protocol nd

noip http server

noip http secure-server

control-plane

line con 0

line aux 0

linevty 0 4

login

scheduler allocate 20000 1000

end

Configuração do roteador Cisco 2951:

Current configuration : 1606 bytes

Last configuration change at 11:51:29 UTC Fri Jan 24 2014

version 15.0

service timestamps debug datetimemsec

service timestamps log datetimemsec

no service password-encryption

hostname LEON-2951

boot-start-marker

boot-end-marker

noaaa new-model

ipv6 unicast-routing

ipv6cef

ip source-route

ipcef

multilink bundle-name authenticated

licenseudipid CISCO2951/K9 sn FTX1423AJ9R

license boot module c2951 technology-package securityk9

license boot module c2951 technology-package uck9

license boot module c2951 technology-package datak9

interface GigabitEthernet0/0

ip address 192.168.13.1 255.255.255.0

load-interval 30

duplex full

speed 1000

ipv6 address FD00::3:13/112

ipv6 enable

interface GigabitEthernet0/1

ip address 192.168.10.1 255.255.255.0

load-interval 30

duplex full

speed 1000

ipv6 address FD00::1:10/112

ipv6 enable

Page 62: Universidade Federal do Rio de Janeiro Escola Politécnica ...monografias.poli.ufrj.br/monografias/monopoli10009720.pdf · No capítulo 2 será exposta a história da origem da Internet

49

interface GigabitEthernet0/2

ip address 192.168.14.1 255.255.255.0

duplex full

speed 1000

ipv6 address FD00::4:3/112

ipv6 enable

routerbgp 20000

synchronization

bgp log-neighbor-changes

redistribute connected

neighbor 192.168.13.2 remote-as 10000

neighbor 192.168.13.2 ebgp-multihop 255

neighbor FD00::3:14 remote-as 10000

neighbor FD00::3:14 ebgp-multihop 255

auto-summary

address-family ipv6

nosynchronization

network FD00::1:0/112

network FD00::4:0/112

neighbor FD00::3:14 activate

exit-address-family

ip forward-protocol nd

noip http server

noip http secure-server

control-plane

line con 0

line aux 0

linevty 0 4

login

scheduler allocate 20000 1000

end