Você está na página 1de 175

Segurana em Redes IP

Alexandre Fernandez Marques

Monografia submetida ao corpo


docente do ASIT como parte dos
requisitos para obter o certificado
de ps-graduao
Abril 2001

Apresentao
A evoluo da tecnologia da informao no curso das ltimas dcadas trouxe um
novo significado ao termo conectividade. As possibilidades de intercmbio de
dados entre computadores, que foram exploradas desde o incio de sua evoluo,
alcanam agora limites alm das mais ambiciosas expectativas, colocando nossa
disposio recursos e funcionalidades inditas. A notvel expanso da Internet
comps um espao virtual dinmico e anrquico, ao alcance de milhes de pessoas
ao redor do planeta, onde renovam-se a cada momento possibilidades de
descoberta, entretenimento e lucro. Nesse cenrio, surgiram novas formas de
produo e trabalho que privilegiam a interao entre agentes e instituem a
informao como bem preponderante.

claro que essa evoluo exigiu que uma interminvel sequncia de dificuldades
tcnicas fosse superada por algumas idias brilhantes e pelo trabalho rduo de
geraes de tcnicos e pesquisadores. Hoje, quando encaramos informao, valor e
poder como idias convergentes, o problema que se impe com maior urgncia a
questo da segurana da informao. A ela associam-se suposies, mitos e idias
pr-fabricadas, que intrigam e divertem, mas contribuem pouco para o
aperfeioamento de nossa compreenso sobre o assunto e muitas vezes retardam
solues e respostas.

Acredito que responsabilidade daqueles que esto envolvidos com tarefas de


gerncia, criao ou pesquisa na rea da Tecnologia da Informao conduzir uma
discusso objetiva sobre o problema, questionando situaes, revendo paradigmas
e propondo alternativas. Em outras palavras, cultivando a mesma atitude que nos
trouxe at aqui e que poder fazer a evoluo tecnolgica seguir seu curso, no
sentido de oferecer a todos servios mais eficientes e mais seguros.

Essa a motivao deste trabalho.

- II -

ndice

Apresentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

II

ndice

.............................................

III

Introduo

.............................................

Captulo 1 Arquitetura e operao do TCP/IP . . . . . . . . . . . . . . . .

Captulo 2 Sistemas operacionais de rede . . . . . . . . . . . . . . . . . . . .

49

Captulo 3 Violaes da segurana . . . . . . . . . . . . . . . . . . . . . . . . .

89

Captulo 4 Contramedidas . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .

124

Captulo 5 Poltica de segurana . . . . . . . . . . . . . . . . . . . . . . . . . . .

167

Captulo 6 Concluses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

171

Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . .

175

- III -

Introduo

-1-

Introduo

O problema da segurana da informao est irremediavelmente ligado tecnologia de


redes. De fato, a presena das redes de computadores em ambientes institucionais,
comerciais e mesmo domsticos aproxima essa tecnologia da vida cotidiana,
determinando sua participao em uma ampla gama de atividades. A existncia da
grande rede como espao intermedirio entre as outras redes torna toda informao
potencialmente acessvel a qualquer pessoa.

No cenrio atual espera-se que pessoas, rgos governamentais e instituies privadas


busquem condies de beneficiar-se dos recursos oferecidos por essa tecnologia,
encarando-os, conforme o caso, como objetos de interesse ou requisitos de sobrevivncia.

A Internet a referncia universal em termo de redes de computadores e todas as


vertentes tecnolgicas parecem convergir para seus padres. Dentre eles, destaca-se o
conjunto de protocolos TCP/IP como paradigma para o intercmbio de dados. Sua
aceitao como padro no formalizado confere tecnologia de redes de computadores
homogeneidade e consistncia e condiciona hoje a prpria evoluo dessa tecnologia.
Tenho por certo que nenhuma discusso mais profunda sobre segurana em redes de
computadores pode, atualmente, deixar os protocolos TCP/IP sua margem.

Foi assumido, desde a fase inicial desta, que o problema de segurana no admite
abordagens restritivas ou perspectivas compartimentadas. Ao contrrio, a complexidade
de implicaes e relacionamentos entre fatores e caractersticas recomenda um enfoque
abrangente. Esse enfoque obriga, inmeras vezes, ampliao da discusso para alm
dos limites restritos aos aspectos de segurana do conjunto de protocolos TCP/IP. As
falhas de segurana analisadas nem sempre esto diretamente relacionadas aos
protocolos TCP/IP e as contramedidas estudadas so, frequentemente, aplicveis a
outros tipos de redes. Quando necessrio, merecem abordagem tambm as
particularidades e o funcionamento de componentes que interagem com o IP, assim
como os efeitos que essas interaes podem trazer segurana de dados e servios.
-2-

Este trabalho est organizado em captulos.

No captulo 1 so descritas as caractersticas das redes TCP/IP, focalizando seus


aspectos arquiteturais e tcnicos com impacto possvel sobre a segurana da
comunicao e dos dados. O propsito dessa descrio estabelecer fundamentos para
as anlises e exposies que se seguiro, fornecendo um modelo detalhado do
funcionamento do protocolo. Todavia, procura-se enfatizar nesse modelo as funes cuja
relao com a segurana imediata, o que certamente produzir um resultado um tanto
distinto do habitual.

No captulo 2 elaborada uma apresentao bastante resumida dos sistemas


operacionais de uso mais comum em redes TCP/IP. De fato, o sistema operacional de
rede empregado ou, de acordo com a moderna tendncia de redes heterogneas, a
combinao de sistemas so fatores preponderantes na definio do modelo de
segurana. A hegemonia de UNIX e de Windows NT como plataformas para sistemas e
servios de rede est hoje firmemente estabelecida e constitui-se ela mesma num aspecto
relevante na discusso acerca da segurana de redes. Uma vez mais, busca-se destacar os
traos que podem ter significado na anlise da questo da segurana. Com isso, ampliase a descrio iniciada no captulo anterior, caracterizando o ambiente tpico em que os
problemas de segurana desenvolvem-se e onde devem ser tratados.

No captulo 3 apresentado um amplo conjunto de tcnicas usadas para violao e


comprometimento da segurana. Considera-se aqui que as tcnicas de explorao e
ataque mapeiam, numa base eminentemente prtica, as vulnerabilidades dos protocolos.
Portanto, a finalidade expressa dessa exposio no outra seno a de constituir uma
base para a compreenso e avaliao das solues que sero analisadas no captulo
seguinte.

No captulo 4, so feitas uma apresentao e uma avaliao de mtodos e contramedidas


que podem ser empregados com o propsito de prevenir incidentes e elevar o nvel de
segurana em redes que possuam as caractersticas delineadas nos captulos 1 e 2. As
contramedidas so expostas com base em seu funcionamento e aplicabilidade e avaliadas
quanto sua eficcia e limitaes.
-3-

O captulo 5 apresenta um rpido comentrio sobre a elaborao e a conduo de uma


poltica de segurana que dever apoiar e orientar procedimentos relativos
manuteno da segurana no ambiente institucional. As idias, bastante gerais, expostas
ali so livremente inspiradas na metodologia recomendada pela Mdulo Security
Solutions, empresa lder no mercado de segurana de informao, em treinamentos
oficiais. Esta por sua vez baseia-se em padres internacionais estabelecidos ou em
desenvolvimento, como a norma ISO/IEC 17799:2000.

No captulo 6 so estabelecidas concluses baseadas nos aspectos discutidos nos captulos


anteriores.

Em primeira instncia, este trabalho seguiu um enfoque no qual a classificao e o


estabelecimento de comparaes e similaridades tm importncia preponderante.
Contudo, as classificaes propostas aqui devem ser encaradas, em sua maioria, como
provisrias. Destinam-se essencialmente a facilitar a exposio de meus pontos de vista.
Uma base classificatria para as anlises que conduzi foi til, a meu ver, na medida em
que d alguma coeso a um tema que tende a ramificar-se em uma infinidade de
exemplos, casos particulares e aspectos correlatos.

Em segunda instncia, as anlises conduzidas direcionaram-se a uma avaliao de


prticas, modelos e tendncias. Aqui, a avaliao de produtos comerciais e solues
especficas foi deliberadamente evitada. A inteno foi a de desenvolver um pensamento
orientado observao e reconhecimento das variadas capacidades e limitaes que a
tecnologia de redes oferece e que afetam, de forma adversa ou no, a segurana da
informao. Acredita-se que essa abordagem capaz de fundamentar um mtodo de
julgamento e contribuir para que casos especficos possam vir a ser avaliados
posteriormente, fora do escopo deste trabalho.

-4-

Captulo 1

Arquitetura e operao do TCP/IP

-5-

Arquitetura e operao do TCP/IP

O contedo deste primeiro captulo consiste numa exposio particular da forma como o
conjunto de protocolos TCP/IP est estruturado e dos aspectos de seu funcionamento
com efeitos relevantes sobre a segurana do ambiente. Essa exposio concentra-se
portanto, em traos particulares, no devendo ser tomada como uma anlise completa
dos protocolos.

Os tpicos que sero desenvolvidos neste captulo so, pela ordem, os seguintes :

Modelos de camadas

Modelo DoD ( Department of Defense )

Modelo OSI ( Open Systems Interconnected )

Os protocolos do conjunto TCP/IP

O protocolo IP ( Internet Protocol )

O sistema de endereamento IP

O Datagrama IP

DNS Domain Name System

Roteamento

Fragmentao

Portas e soquetes

O cabealho TCP

A conexo TCP

O cabealho UDP

1. Modelos de camadas :

A comunicao de dados entre computadores conectados a uma rede, ou entre vrias


redes de computadores interconectadas entre si, feita por meio de um complexo
conjunto de tarefas ou funes, executadas por uma grande variedade de
componentes de hardware e software presentes em computadores e equipamentos de
conexo. A eficcia da comunicao depende em grande parte do fato de que esses
-6-

componentes, ainda que possam ser diferentes entre si, processem os dados segundo
regras comuns.

Os modelos de camadas so modelos conceituais que descrevem as funes


envolvidas na comunicao de dados nas redes de computadores, organizando-as em
grupos denominados camadas e relacionando-as entre si numa estrutura hierrquica
vertical. Embora sejam apenas construes tericas, os modelos de camadas
constituem-se numa orientao fundamental para o projeto e desenvolvimento do
hardware e software de rede.

Os modelos de camadas estabelecem que na transmisso de dados cada camada


recebe os dados da camada imediatamente superior, acrescenta-lhes um conjunto de
informaes de controle denominado cabealho e passa-os para a camada
imediatamente inferior. Essa camada tambm ir acrescentar um novo cabealho
relacionado s funes que lhe so prprias e passar o conjunto de dados recebidos
mais informaes de controle acrescentadas para outra camada um nvel abaixo e
assim, sucessivamente, at que os dados possam ser transmitidos ao meio fsico de
ligao da rede.

No host de destino, a camada de menor nvel ir interpretar as informaes que


constam do cabealho acrescentado pela camada inferior do host de origem. Essas
informaes determinam a forma como os dados sero processados na camada
inferior do host de destino e como essa camada ir pass-los para a camada
imediatamente superior nesse host. Os dados sero agora passados de uma camada a
outra, do nvel mais baixo para o nvel mais alto, at que os dados originais estejam
disponveis para utilizao. Em cada uma das camadas as informaes de controle
acrescentadas pela camada correspondente no host de origem so interpretadas de
modo a orientar a execuo das funes prprias daquela camada.

-7-

2. O modelo DoD ( Department of Defense ) :

Definido no mbito das pesquisas da ARPA (Advanced Research Projects Agency,


uma agncia do Departamento de Defesa norte-americano), o modelo DoD prev a
existncia de quatro camadas, dispostas conforme mostra a figura a seguir :

A camada de Aplicao inclui as funes prprias das aplicaes em uso na rede, tais
como browsers, emuladores de terminal e utilitrios. Essas funes conectam
processos em execuo nos hosts e estabelecem formatos compatveis para
apresentao dos dados.

A camada de Transporte, s vezes chamada da camada Host-to-Host, assegura o


transporte dos dados entre transmissor e receptor, gerenciando o estabelecimento, a
manuteno e o encerramento da conexo e controlando o fluxo dos dados. A
camada de Transporte verifica a entrega dos pacotes e a sua ordenao no host de
destino.

A camada de Internet, tambm referenciada como de Rede ou de Inter-redes,


engloba as funes relacionadas ao roteamento dos pacotes entre as vrias redes
envolvidas na comunicao, como a determinao e seleo de rotas preferenciais e
alternativas.

A camada Fsica ou de Interface de Rede e Hardware faz a interface entre os


componentes de hardware de rede e os elementos lgicos que trabalham

nas

camadas superiores, abrangendo tarefas relativas estrutura fsica da rede, s


-8-

especificaes eltricas e mecnicas da mdia de transmisso e codificao e


sincronizao dos bits transmitidos.

3. O modelo OSI ( Open Systems Interconnected ) :

Este modelo foi proposto em 1977 pelo CCITT Comitee Consultatif International
Telephonique et Telegraphique - e pela ISO International Standards Organization
como uma abordagem alternativa ao modelo DoD, proposto pela ARPA e suas
associadas.

Embora descreva as funes de rede de forma bastante semelhante ao modelo Dod, o


modelo OSI mai s detalhado, estabelecendo sete camadas, dispostas conforme
mostra a figura a seguir :

As camadas de Aplicao, de Apresentao e de Sesso do modelo OSI dividem entre


si as funes que no modelo DoD acham-se englobadas na camada de Aplicao.
Essas funes incluem a conexo de processos e servios entre os hosts, compresso e
converso de formato dos dados e criptografia.

A camada de Transporte desempenha basicamente as mesmas funes da camada de


Transporte do modelo DoD, estabelecendo e mantendo as conexes e executando

-9-

tarefas ligadas confirmao da entrega dos pacotes e sua correta reordenao no


host de destino.

A camada de Internet, a exemplo da camada homnima do modelo DoD, especifica


mtodos para a movimentao dos pacotes entre as vrias redes, definindo formas de
endereamento lgico dos hosts em vrias redes e determinando as rotas a serem
percorridas pelos pacotes.

A camada de Link de Dados organiza os bits recebidos da camada Fsica em grupos


lgicos, normalmente chamados frames, executando ainda funes relativas ao
controle de fluxo e identificao dos hosts dentro de um mesmo segmento de rede.

A camada Fsica engloba as funes relacionadas ao hardware de rede e mdia de


transmisso, de forma anloga camada do modelo DoD.

4. Os protocolos do conjunto TCP/IP :

Protocolos so implementaes de software que executam as funes necessrias


comunicao de dados conforme definidas nos modelos de camadas. A estrutura
vertical dos modelos de camadas levou ao desenvolvimento de conjuntos de
protocolos. Cada um dos protocolos de um conjunto executa tarefas que se
relacionam, de forma mais ou menos direta, a uma camadas especfica do modelo. Os
conjuntos de protocolos receberam o nome de pilhas. A pilha de protocolos TCP/IP
, portanto, um conjunto composto por diversos protocolos, dentre eles o TCP
(Transmission Control Protocol ) e o IP ( Internet Protocol ).

Apresentamos a seguir uma descrio sucinta de alguns dos protocolos que compe a
pilha TCP/IP. O TCP (Transmission Control Protocol ), o UDP ( User Datagram
Protocol ) e o IP ( Internet Protocol ), por sua importncia nas questes que esse
trabalho aborda, merecero uma anlise detalhada mais adiante.

- 10 -

IP ( Internet Protocol ) :
o protocolo responsvel pelo roteamento de pacotes de dados entre as redes.
Atua na camada de Internet e pode ser considerado o protocolo central do
conjunto. As unidades de transferncia de dados geradas pelo IP so
denominadas datagramas.
ICMP ( Internet Control Message Protocol ) :
O ICMP o protocolo utilizado para a transmisso de mensagens de erro no
processamento de datagramas IP. As unidades de transferncia de dados
geradas pelo ICMP so denominadas mensagens ICMP.
ARP ( Address Resolution Protocol ) :
O ARP usado para mapear os endereos IP para endereos de hardware (
tambm chamados endereos fsicos ou endereos MAC ), que so utilizados
para a localizao de hosts no mbito de cada rede local. Seu funcionamento
consiste basicamente na converso dos endereos IP, que constam no
cabealho dos datagramas que chegam rede local como endereos de hosts
de destino, em endereos de hardware, o que possibilita a entrega dos
datagramas ao host correto.

Para fazer essa resoluo, ARP baseia-se em consultas por meio de broadcasts
e na utilizao de uma tabela atualizada dinamicamente, que contm os
mapeamentos j definidos a partir de consultas anteriores.
O ARP descrito na RFC 826.
RARP ( Reverse Address Resolution Protocol ) :
O RARP realiza uma resoluo em sentido reverso ao daquela executada pelo
ARP, ou seja, converte endereos de hardware em endereos IP. Essa funo
til em circunstncias especiais, como por exemplo em redes onde existam
- 11 -

estaes sem disco rgido. Essas estaes conhecem seus endereos de


hardware, que registrado no firmware dos adaptadores de rede. Contudo, as
estaes no conhecem o endereo IP que lhes for atribudo, uma vez que no
tem como armazenar essa configurao. Assim, deve ser mantida uma base de
dados num servidor da rede, onde constem mapeamentos entre os endereos
de hardware das estaes e os endereos IP atribudos a elas. O RARP
utilizado para consultar essa base de dados e obter o endereo IP que deve ser
utilizado pela estao.
Os pacotes RARP tm estrutura muito semelhante dos pacotes ARP, com
pequenas diferenas no cabealho.

O RARP descrito na RFC 903.


BOOTP ( Bootstrap Protocol ) :
O BOOTP executa funes anlogas quelas desempenhadas pelo RARP,
provendo a resoluo de endereos de hardware em endereos IP a partir de
uma base de dados preestabelecida e armazenada em um servidor da rede.
Isso permite a inicializao de hosts com uma pilha IP reduzida, solicitando
atravs do BOOTP o endereo IP que ser utilizado e outras configuraes
adicionais como o endereo de gateway. O BOOTP oferece uma
funcionalidade extra em relao ao RARP : a possibilidade de ter seus pacotes
encaminhados atravs de roteadores, permitindo assim que um servidor
BOOTP atenda solicitaes originadas em redes distintas daquela em que est
localizado.

Protocolos de roteamento

Os protocolos de roteamento do suporte s comunicaes entre roteadores e


outros dispositivos. Por meio de mensagens desses protocolos feito o
compartilhamento e a sincronizao das informaes utilizadas em tarefas de
roteamento. O RIP Routing Information Protocol o OSPF Open
Shortest Path First e os protocolos de roteamento externos so objeto de
- 12 -

comentrios mais detalhados na seo deste trabalho que trata do


roteamento.

TCP (Transmission Control Protocol ) :

um dos protocolos da camada de Transporte. Foi projetado para oferecer


s camadas superiores servios confiveis e orientados conexo. O TCP
gerencia conexes ponto a ponto, isto , com origem e destino perfeitamente
definidos, e garante que os pacotes enviados tenham sido recebidos em ordem
correta pelo host de destino, providenciando sua retransmisso quando
requerido.

O TCP descrito na RFC 793.

UDP ( User Datagram Protocol ) :

O UDP outro protocolo da camada de Transporte que diferencia-se do TCP


pela caracterstica de no ser orientado conexo. Ao contrrio do TCP, ele
no oferece garantia de entrega de pacotes, nem recursos de recuperao de
erros ou de controle de fluxo.

O UDP funciona como uma simples interface para o protocolo IP, provendo o
correto direcionamento dos datagramas entre processos em execuo nos
hosts de origem e destino. O mecanismo de soquetes e portas, que ser
descrito posteriormente, possibilita esse direcionamento.

As funcionalidades limitadas do UDP em relao ao TCP implicam, em


contrapartida, em uma sobrecarga ou overhead consideravelmente menor na
comunicao. Isso recomenda seu emprego em situaes nas quais a
confiabilidade na entrega dos dados no crtica, como aplicaes de udio e
vdeo, e na transmisso de informaes sem endereos de destino definidos.

O UDP descrito na RFC 768.


- 13 -

Protocolos da camada de Aplicao :

Os protocolos dessa camada executam tarefas que compreendem desde a


compatibilizao de formatos de dados at o fornecimento ao usurio de
comandos e interfaces.

Eles relacionam-se de maneira direta com as aplicaes e so freqentemente


implementados como parte integrante delas. Isso conduz no s a uma grande
diversidade de protocolos mas tambm ocorrncia de implementaes
diferentes de um mesmo protocolo. Alguns protocolos da camada de
Aplicao, entretanto, obedecem a padres bastante estveis e tm seu uso
amplamente difundido. A seguir oferecemos uma breve descrio dos mais
importantes :
HTTP ( Hypertext Transfer Protocol ) :
O HTTP o protocolo utilizado para o acesso e apresentao de
documentos em ambientes de intranets e Internet, como pginas web por
exemplo. Ele define mtodos de solicitao e resposta que permitem a uma
aplicao cliente, geralmente um browser, conectar-se a uma aplicao
servidor e executar tarefas simples de pesquisa e recuperao. O HTTP
usado tambm como um protocolo genrico de comunicao por agentes e
gateways que utilizam protocolos diferentes de TCP/IP.

O HTTP descrito na RFC 1945.


SMTP ( Simple Mail Transfer Protocol ) :
O SMTP empregado na troca de mensagens de correio eletrnico entre
servidores de correio e para o envio de mensagens a partir de estaes de
trabalho. As funes do SMTP so limitadas ao roteamento das mensagens
entre os hosts, no abrangendo a definio de interfaces locais para a

- 14 -

apresentao das mensagens. Para essa tarefa comumente empregado


outro protocolo, o POP3.

A RFC 821 apresenta as especificaes vlidas para o SMTP.


FTP ( File Transfer Protocol ) :
As funes principais do FTP envolvem a cpia e transferncia de
arquivos entre hosts. Ele oferece ainda um nmero considervel de
funcionalidades adicionais, como inspeo de diretrio, autenticao do
usurio, manipulao de arquivos e outras. O FTP requer que os
protocolos da camada de Transporte ofeream um servio confivel para
que ele possa estabelecer um circuito virtual entre os hosts. Tipicamente,
o TCP fornece esses servios. Em situaes nas quais a confiabilidade no
representa um requisito crtico, como aquelas em que a autenticao do
usurio no ser exigida, pode ser empregado o TFTP Trivial File
Transfer Protocol. O TFTP aceita o UDP como protocolo de Transporte.

O FTP tem suas especificaes apresentadas na RFC 959 e atualizadas na


RFC 2228. O TFTP descrito na RFC 1350.
SNMP ( Simple Network Management Protocol ) :
O SNMP um protocolo utilizado especificamente na comunicao
relacionada a tarefas de gerenciamento de redes.

Essas tarefas so

executadas por meio de mtodos e objetos especificados na SMI


Structure and Information of Management Information descrita na RFC
1155.

Entre esses objetos esto as NMS Network Management Stations e os


MA Management Agents. Os MA, usualmente chamados de agentes
SNMP, so executados em elementos da rede tais como hosts, servidores e
gateways. Eles monitoram eventos e parmetros da rede e armazenam o
- 15 -

resultado de suas observaes em bases de dados chamadas MIBs Management Information Bases. Os valores contidos nas MIBs podem ser
comunicados s NMS. As NMS, freqentemente chamadas de estaes ou
consoles de gerenciamento podem, por sua vez, solicitar informaes aos
agentes ou mesmo executar reconfiguraes limitadas. A troca de
informaes entre as consoles de gerenciamento e os agentes feita por
meio de cinco tipos bsicos de mensagens SNMP :

GetRequest uma mensagem enviada pela console de


gerenciamento para recuperar um determinado valor da base de
dados do agente.

GetNextRequest recupera o valor seguinte na base de dados.

SetRequest enviada pela console a fim de alterar valores na base


de dados do agente.

GetResponse enviada pelo agente em resposta a uma das


mensagens anteriores.

Trap enviada pelo agente para notificar a console de eventos


especficos, tais como a inicializao do agente, falhas de conexo
etc.

A verso dois do SNMP admite outros tipos de mensagens que


estendem as funcionalidades dos tipos bsicos mencionados acima.

Os agentes e as consoles so vinculados a grupos denominados


comunidades SNMP. As comunidades so empregadas para organizar
a troca de informaes de gerenciamento e controle, garantindo-lhes
acesso controlado e confidencialidade por meio de mecanismos de
autenticao prprios.
- 16 -

O SNMP descrito na RFC 1157.


MIB-II ( Management Information Base Protocol ) :
Analogamente ao SNMP, o MIB-II tambm um protocolo utilizado em
gerenciamento de redes.

O MIB-II descrito na RFC 1213.

5. O protocolo IP ( Internet Protocol ) :

O protocolo IP o protocolo que atua na camada de Internet, provendo as funes


necessrias ao roteamento da informao entre vrias redes interconectadas. Por
atuar logo acima da camada fsica, o IP que define a imagem virtual ou lgica da
rede.

O IP responsvel pela troca de pacotes numa base de menor esforo, ou seja, ele
no oferece nenhum servio adicional alm do roteamento, exceto por alguns
recursos bastante simples que permitem verificar a entrega dos pacotes e a
integridade dos dados recebidos. Outras tarefas, como o estabelecimento de conexes
entre os hosts envolvidos na comunicao, o controle do fluxo de dados entre eles, so
deixadas para os protocolos das camadas superiores.

As primeiras especificaes do protocolo IP priorizavam a necessidade estabelecida


pelo DoD de manter a comunicao, mesmo na eventualidade de que algumas das
redes interconectadas deixassem de operar. Com algumas das redes do sistema
indisponveis, o protocolo da camada de Internet deveria ser capaz de encontrar
rapidamente rotas alternativas entre as redes remanescentes, reorientando os
pacotes de uma forma to automtica quanto possvel. Isso s seria possvel se as
funes da camada de Internet viessem a ser definidas segundo modelos nohierrquicos, eliminando a dependncia de elementos de controle que poderiam
falhar, e se fosse suprimido nessa camada o emprego de servios orientados
conexo, permitindo assim reconfiguraes rpidas das rotas. Essas necesidades
- 17 -

foram determinantes das caractersticas atuais do protocolo e delinearam as


deficincias em termos de segurana que o IP apresentaria ao ser empregado num
ambiente comercial e aberto.

As especificaes do protocolo IP constam das RFC 791, 919, 922 e 950, com
atualizaes na RFC 1349.

6. O Datagrama IP :

As unidades de transferncia de dados gerenciadas pelo protocolo IP so chamadas


datagramas. Um datagrama formado pelos dados recebidos das camadas
superiores, includas a as informaes de controle acrescentadas naquelas camadas,
e pelo cabealho IP. O cabealho IP contm as informaes de controle
acrescentadas na camada de Internet que o protocolo IP registra ou interpreta ao
executar suas funes.

O formato do cabealho IP ilustrado no esquema que se segue :

VERS

IHL

Tipo de Servio

ID

Comprimento total
FLG

TTL

Nmero do protocolo

Fragment offset

Checksum

Endereo IP de origem
Endereo IP de destino
Opes IP

Padding

Dados ...........

Os campos que compe o cabealho IP so descritos a seguir :

VERS Indica a verso do protocolo IP, na maioria dos casos a verso 4,


atualmente em uso.

- 18 -

IHL Internet Header Length Informa o comprimento do cabealho IP em


unidades de 32 bits.

Tipo de servio Indica a qualidade do servio requerida pelo datagrama. A


qualidade do servio expressa atravs de um conjunto de trs valores. O
primeiro, denominado Prioridade, indica a precedncia que deve ser dada ao
datagrama. O segundo, denominado TOS, ou Type of Service, fornece
informaes adicionais acerca do tratamento que deve ser dado ao
datagrama. O terceiro valor, denominado MBZ, tem uso exclusivamente
experimental. A RFC 1349 oferece uma descrio detalhada das informaes
includas nesse campo do cabealho IP.

Comprimento Total Informa o comprimento total do datagrama em bytes,


incluindo o cabealho IP e os dados.

Identificao ( ID ) um nmero nico, registrado no cabealho IP do


datagrama pelo host de origem com o propsito de orientar a recomposio
pelo host de destino de datagramas fragmentados.

Flags Este campo contm trs flags cujos valores indicam atributos do
datagrama relativos fragmentao. O primeiro flag de uso reservado e
deve ser zero em todos os casos. O segundo flag, denominado DF ( Dont
fragment ) indica quando tiver valor 1 que o datagrama no deve ser
fragmentado. O terceiro flag, denominado MF ( More fragments ), indica
quando tiver valor 0 que o datagrama no um fragmento ou que o ltimo
fragmento de um datagrama maior. Se tiver valor 1, indica que devem seguirse mais fragmentos do datagrama original.

Fragment offset ( deslocamento do fragmento ) Este campo informa, em


unidades de 8 bytes, o deslocamento do bloco de dados contido no datagrama
em relao ao incio do bloco de dados do datagrama original. Se o datagrama
no fragmentado ou se o datagrama o primeiro fragmento de um
- 19 -

datagrama maior, o valor indicado dever ser zero. Os cabealhos dos


datagramas no so computados no deslocamento.

TTL ( Tempo de vida ) o tempo em segundos durante o qual um


datagrama permanece vlido, antes de ser descartado. O valor inicial deste
campo estabelecido na criao do datagrama por um protocolo de camada
superior, o TCP ou o UDP, por exemplo. Cada roteador por onde o
datagrama passa subtrai um segundo do valor registrado nesse campo.
Quando o valor chegar a zero o datagrama descartado, baseado na
suposio de que ele est sendo transmitido em crculos pela rede sem
condies de alcanar o host de destino. Essa tcnica visa evitar que
datagramas permaneam circulando indefinidamente pela rede, ocasionando
trfego desnecessrio. Os roteadores so capazes de encaminhar um
datagrama em menos de um segundo, mas sempre decrementam o valor do
campo TTL em uma unidade a cada processamento dado ao datagrama.
Embora o valor seja teoricamente expresso em segundos, na prtica ele indica
uma mtrica de saltos de roteador a roteador, em lugar de uma mtrica de
tempo.

Nmero do protocolo Indica o protocolo de camada superior para o qual os


dados contidos no datagrama devem ser passados. As indicaes so feitas em
valores numricos, cada um deles correspondendo por conveno a um
determinado protocolo. A STD 2 Nmeros Internet Designados relaciona
os nmeros de protocolos empregados neste campo.

Checksum do cabealho A finalidade deste campo permitir a verificao


da integridade do cabealho IP a nvel de bit. Contm um valor obtido a
partir de uma seqncia de operaes lgicas efetuadas sobre os bits que
compe o cabealho. Cada vez que o cabealho processado o valor do
checksum recalculado. Se for obtido um valor diferente daquele que consta
neste campo assume-se que pelo menos um bit do cabealho foi alterado
indevidamente e todo o datagrama descartado.

- 20 -

Endereo IP de origem Este campo contm os 32 bits que correspondem ao


endereo IP do host de origem.

Endereo IP de destino - Este campo contm os 32 bits que correspondem ao


endereo IP do host de destino.

Opes Este campo utilizado para a configurao de opes relacionadas


com funes de controle, de indicao de erros e de teste. O campo tem
tamanho varivel e pode discriminar vrias opes simultaneamente ou
mesmo no apresentar nenhuma opo registrada.

Padding Este campo preenchido com zeros de modo a garantir que o


comprimento total do cabealho seja um mltiplo de 32 bits.

7. O sistema de endereamento IP:

No sistema de endereamento definido pelo protocolo IP atribudo a cada host ou a


cada interface de rede um endereo nico. O endereo IP um nmero composto de
32 bits, divididos em quatro conjuntos de oito bits ou octetos. Uma primeira parte
desses bits usada para identificar a rede qual o host est conectado e a parte
restante usada para identificar o host na rede.
Os endereos IP foram divididos em cinco classes, definidas pelos bits iniciais do
endereo, conforme mostra a tabela a seguir :

Classe A

10

Classe B

110

Classe C

1110

Multicast

1111

Reservado

Existem ainda trs faixas de endereos reservados para finalidades especiais. Esses
endereos so ignorados pelas funes de roteamento executadas em roteadores e
gateways, tendo assim sua utilizao restrita a circunstncias especiais. Os endereos
- 21 -

reservados, referenciados tambm como IPs falsos, internos ou privados, so os


seguintes :

de 10.0.0.0 10.255.255.255

(classe A)

de 172.16.0.0 172.31.0.0

(classe B)

de 192.168.0.0 192.168.255.255

(classe C)

O nmero de bits usados para definir a rede e o host variam conforme a classe.
Exemplificando, num endereo classe A, os oito bits do primeiro octeto so utilizados
para definir a rede, restando vinte e quatro bits para identificar o host. Em um
endereo classe B a rede identificada pelos bits do primeiro e do segundo octeto,
num total de dezesseis bits, permanecendo outros dezesseis bits reservados para a
identificao do host. Nos endereos de classe C os trs primeiros octetos so usados
para identificar a rede, restando apenas oito bits para a designao do host. Os
endereos de classe D so utilizados para multicast e os endereos de classe E so
reservados para uso futuro ou experimental.

Naturalmente, uma rede que utilize endereos de classe A ir dispor de mais bits
para identificar os hosts, podendo portanto abrigar um nmero maior de hosts do
que uma rede classe C, na qual apenas oito bits esto disponveis para a identificao
dos hosts. Note-se, entretanto, que o sistema de endereamento permite um nmero
maior de redes classe C, cada uma delas com um nmero relativamente menor de
hosts, do que redes classe A, que permitem um nmero maior de hosts. A tabela da
pgina seguinte ilustra esse fato, comparando o nmero de redes e o nmero de hosts
por rede possveis em cada classe.

Redes

Hosts

Classe A

256

16.777.214

Classe B

65536

65534

Classe C

16.777.216

254

possvel notar que os endereos de classe A permitem o estabelecimento de redes


com poucas sub-redes e com um nmero elevado de hosts, sendo dessa forma
- 22 -

adequados a grandes organizaes. Em contrapartida, a partir de endereos classe C


podem ser criadas redes apropriadas a organizaes de menor porte, com um
nmero reduzido de estaes de trabalho.

A cada endereo IP associado um segundo nmero, tambm no formato de 32 bits


divididos em quatro octetos, que define quantos bits do endereo designam a rede e
quantos bits designam o host. Esse nmero denominado mscara de sub-rede. Ele
a base de uma tcnica denominada subnetting, atravs da qual se consegue um nvel
adicional de flexibilidade na atribuio de endereos IP.

Por meio de subnetting podemos especificar para a identificao da rede um nmero


de bits diferente dos valores padro 8, 16 ou 24, destinando parte de um dos octetos
que originalmente identificariam o host para compor a identificao da rede
juntamente com os bits dos octetos precedentes. Por exemplo, um endereo classe C,
que permitiria em sua configurao padro a identificao de uma nica rede com
um mximo de 254 hosts pode vir a possibilitar a criao de seis sub-redes, se
associado a uma mscara de sub-rede que adicione mais trs bits identificao da
rede. Note-se, entretanto, que cada uma dessas redes comportar um nmero menor
de hosts, no mximo trinta neste caso, uma vez que haver menos bits disponveis
para identific-los.

Os roteadores executam uma operao lgica denominada AND entre o endereo IP


e a mscara de sub-rede. Em seguida, executam a mesma operao entre o segundo
endereo IP e a mscara de sub-rede. Por fim, comparam bit a bit os resultados de
ambas as operaes. Caso os resultados sejam coincidentes, fica determinado que
ambos os hosts esto localizados na mesma sub-rede.

Alm dos endereos reservados, mencionados anteriormente, existem ainda casos


especficos de endereamento associados identificao de redes e hosts. Os
chamados endereos especiais so os seguintes :

O endereo de broadcast, representado pela atribuio de valor 1 a todos


os bits que compe a identificao de host, usado para identificar a um
- 23 -

s tempo todas as mquinas da rede, permitindo o envio de mensagens


simultneas a todas elas.

O endereo de rede, representado pela atribuio de valor 0 a todos os bits


que compe a identificao de host, identifica toda a rede e no uma
interface especfica.

O endereo de loopback, representado por 127.0.0.1, identifica a prpria


mquina. Este endereo pode ser usado em comunicaes entre processos
executados na prpria mquina ou em testes de configurao.

O sistema de endereamento IP encerra assim uma razovel flexibilidade,


possibilitando a alocao de endereos para hosts e a composio de sub-redes que
podem ser dimensionadas para atender maioria das necessidades comuns.

Alm disso, os endereos IP oferecem caractersticas que facilitam as funes de


roteamento, possibilitando a identificao da classe do endereo pelo simples exame
dos primeiros bits ou a determinao da sub-rede em que se encontra um
determinado host por meio de operaes lgicas de execuo muito rpida.

Contudo, algumas limitaes desse sistema devem ser assinaladas. A mais evidente
delas representada pela escassez de endereos. O nmero de endereos possveis j
no atende demanda verificada com a expanso da Internet, que vem superando
nos ltimos anos todas as projees da fase de projeto do protocolo.

A escassez de endereos IP agravada pelo desperdcio que decorre da


circunstncia, at certo ponto inevitvel, na qual um endereo classe A atribudo a
uma organizao que no ir utilizar todos os endereos de hosts permitidos. Os
endereos de host vinculados quele endereo que no forem aproveitados pela
organizao no podero ser redistribudos para outra rede, uma vez que a
identificao da rede qual pertencem feita como parte do prprio endereo.

- 24 -

Outra limitao decorre da caracterstica de que os endereos IP no so


hierrquicos. Eles no se prestam a refletir as topologias organizacionais das
instituies que os utilizam ou a localizao geogrfica das redes. Isso dificulta o
suporte a tcnicas de localizao.

Do ponto de vista da segurana, que interessa mais diretamente a esse trabalho,


nota-se que o sistema de endereamento atualmente em uso no integra recursos de
segurana prprios, relegando a outras camadas, como a camada de Aplicao, o
tratamento dessa questo.

8. DNS Domain Name System :

Domain Name System um sistema de endereamento de que converte nomes de


host para endereos IP a partir de informaes de uma base de dados. Ele descrito
pelas RFCs 1034 e 1035. O DNS consiste numa evoluo de um mtodo anterior para
resoluo de nomes de hosts em endereos IP. Esse mtodo, ainda empregado
opcionalmente, utiliza um arquivo texto denominado HOSTS, que continha uma
lista de nomes de hosts associados a seus respectivos endereos IP.

A funo mais facilmente compreendida do DNS permitir que um host seja


localizado na Internet, ou em uma rede privada de caractersticas afins, por meio de
um nome mais amigvel e fcil de lembrar que um endereo IP. Na verdade, outras
funes ainda mais importantes so executadas pelo DNS. Discutiremos duas delas
nos pargrafos seguintes.

Como dissemos, o sistema de endereamento IP no hierrquico e a essa


caracterstica correspondem diversas limitaes. O DNS fornece um mtodo para
identificar hosts e servios associando a cada endereo IP um ou mais nomes
especficos, compostos segundo as regras de uma estrutura hierarquizada em nveis.
Essa estrutura prev a existncia de domnios organizados em vrios nveis a partir
de uma raiz que considerada o primeiro nvel da estrutura. Os domnios podem ser
associados a localizaes geogrficas ou a atividades especficas, possibilitando a
implementao de mtodos avanados de localizao.
- 25 -

Os nomes com que o DNS designa hosts e outros recursos so denominados URLs
Uniform Resource Locators. Eles so compostos de acordo com a posio do recurso
na estrutura do DNS e refletem essa localizao, alm de informar outras
caractersticas suas, como o tipo de servio fornecido. Um URL tpico seria :

www.esquadra.mar.mil.br

Este URL identifica o servio web, indicado por www , disponvel no servidor
denominado esquadra , que faz parte do domnio mar destinado Marinha,
que por sua vez integra um domnio de nvel superior identificado por mil e
reservado s Foras Armadas no mbito do domnio br , que corresponde ao
Brasil. Assim, o servio identificado, em meio a todos os outros existentes na
Internet, a partir de um caminho composto por domnios e sub-domnios.

A base de dados usada pelo DNS para converter URLs pode conter mais de uma
entrada associando URLs diferentes a um mesmo endereo IP. Isso atende a duas
necessidades. Uma delas diz respeito situao, bastante usual, em que diversos
servios so oferecidos por uma mesma mquina operando com um nico endereo
IP. Nesse caso, cada entrada identifica um servio diferente, e poderamos ter as
seguintes URLs :

www.esquadra.mar.mil.br
ftp.esquadra.mar.mil.br

A outra necessidade relaciona-se ao interesse de determinadas instituies em


facilitar a localizao de um mesmo recurso a partir de vrios URLs semelhantes,
como as seguintes :

www.bancodeminas.com.br
www.bancodeminasgerais.com.br
www.bmg.com.br

- 26 -

Vrias entradas na base de dados do DNS, cada uma delas associando um dos URL
acima com o endereo IP do servidor em questo, permitiria que a solicitao de
qualquer desses URLs fosse resolvida da mesma forma, fazendo com que o cliente
pudesse localizar o recurso desejado.

DNS implementado no mbito de uma rede como um servio disponibilizado em


servidores que passam a executar, dentre outras, as seguintes tarefas de interesse :

manter uma base de dados com os nomes do seu domnio.

responder a consultas dos clientes, resolvendo nomes de seu domnio em


endereos IP.

encaminhar consultas a servidores de nomes em domnios de nvel


superior a fim de permitir a resoluo de nomes que no constam de sua
base de dados.

compartilhar contedo e atualizaes da base de dados com outros


servidores.

9. Roteamento :

Roteamento um conjunto de mtodos e funes destinados a prover o


encaminhamento correto dos datagramas entre redes interconectadas.

O roteamento executado por dispositivos, como roteadores, comutadores e bridges,


inseridos entre duas ou mais redes locais. Os dispositivos de roteamento so dotados
de mltiplas interfaces de rede, cada uma delas conectada a uma rede diferente.

O problema geral do roteamento consiste em obter e manter disponveis informaes


sobre a localizao de cada rede ou host de destino, de modo que, ao receber um
pacote, o dispositivo de roteamento seja capaz de decidir acertadamente a qual das
LANs adjacentes ir encaminh-lo, transmitindo-o pela interface de rede
- 27 -

correspondente. Cada itinerrio capaz de viabilizar a comunicao de dados entre


dois endereos conhecidos define uma rota. Na eventualidade de uma rota tornar-se
indisponvel, o dispositivo deve ser capaz de descobrir uma rota alternativa.
Adicionalmente, na presena de vrias alternativas para encaminhar o pacote,
desejvel que o dispositivo possa determinar qual a rota mais econmica. Essas
decises sero tomadas confrontando o endereo de destino que consta do cabealho
do frame ou do datagrama com as informaes contidas em uma tabela, denominada
tabela de roteamento, elaborada e mantida pelo dispositivo. A tabela de roteamento
contm, basicamente, as seguintes informaes :

Endereo IP ou nome da rede de destino,

Mscara de sub-rede,

Endereo IP ou nome associado ao gateway capaz de rotear pacotes para a


rede de destino.

Eventualmente, o custo em saltos ou hops para alcanar a rede de destino,


estabelecido por meio de uma mtrica que considera cada segmento de
rede ou roteador ao longo do percurso como um hop.

As informaes de roteamento so organizadas em entradas. Um grupo de entradas


tpico em uma tabela de roteamento teria o seguinte formato :

Network Address

Subnet mask

Gateway

131.107.24.0

255.255.255.0

131.107.16.2

Network_1

255.255.0.0

Router A

Network_2

255.255.0.0

Router B

Quando as tabelas de roteamento so elaboradas e atualizadas manualmente, diz-se


que o roteamento esttico. Quando os roteadores trocam informaes entre si para
subsidiar a montagem e atualizao de suas tabelas de roteamento, diz-se que o
roteamento dinmico.

O roteamento esttico oferece uma simplicidade maior em redes de pequeno porte,


dispensando o uso de protocolos de roteamento para suporte comunicao entre
- 28 -

roteadores dinmicos. Ele permite tambm que rotas preferenciais ou obrigatrias


sejam definidas de acordo com as necessidades de gerenciamento da rede, evitando
que elas sejam alteradas automaticamente. Contudo, sua utilizao torna-se menos
prtica na medida em que o ambiente da rede cresce em complexidade porque o
nmero de rotas a serem registradas manualmente pode aumentar demais. Outra
limitao do roteamento esttico diz respeito necessidade de reconfigurao
manual caso rotas registradas venham a se tornar invlidas pela falha de links ou
roteadores.

O roteamento dinmico, por sua vez, mais adequado a ambientes de redes


interconectadas, porque a atualizao das tabelas de roteamento realizada de
forma automtica, a partir de informaes trocadas entre os roteadores e de mtodos
de manipulao dessas informaes. Alteraes em rotas so registradas
automaticamente, reduzindo ou eliminando a necessidade de reconfigurao manual
e preservando a capacidade de comunicao.

Veremos a seguir alguns dos mtodos pelos quais as funes do roteamento dinmico
so implementadas.

Roteamento de origem :

O roteamento de origem um mtodo de roteamento dinmico freqentemente


empregado em redes token ring por dispositivos denominados bridges de
roteamento de origem. Na verdade, ele emprega informaes de controle da
camada fsica, situando-se assim no limite entre o roteamento e a comutao de
pacotes.

Neste trabalho iremos considerar o roteamento de origem como um mtodo de


roteamento pelas suas implicaes potenciais na vulnerabilidade de certos
sistemas, como ser discutido mais tarde. Segundo este mtodo, as informaes
de roteamento so obtidas a partir de frames recebidos dos hosts nas redes
adjacentes. As informaes de controle contidas nos cabealhos da camada fsica,
ou cabealhos MAC, desses frames so utilizadas na montagem de tabelas
- 29 -

dinmicas, normalmente armazenadas em RAM. As entradas da tabela so


mantidas enquanto o dispositivo permanecer ativo, a menos que venham a ser
redefinidas por uma nova informao sobre a rota ou sobrescritas quando a
capacidade limite da tabela for atingida.

Roteamento por vetor de distncia :

O roteamento por vetor de distncia caracteriza-se pela troca de informaes de


roteamento entre roteadores adjacentes, isto , localizados nos limites de uma
mesma LAN. A tabela de roteamento em cada roteador montada a partir das
informaes recebidas dos outros roteadores. Os custos de encaminhamento so
recalculados tambm a partir dessas informaes, incrementando-se o nmero de
hops de modo a representar o custo acrescentado pela rede adjacente. Aps
recalcular completamente sua tabela de roteamento, o roteador registra as rotas
para cada destino conhecido com base na opo de menor custo e divulga sua
nova tabela para os roteadores adjacentes.

As entradas adicionadas tabela de roteamento de cada roteador so mantidas


pelo recebimento de confirmaes ou atualizaes a cada comunicao com os
roteadores adjacentes. Se uma entrada no for confirmada ou atualizada dentro
de um determinado intervalo de tempo, ela ser descartada pela suposio de
haver se tornado indisponvel.

Este mtodo de roteamento envolve comunicao entre os roteadores. Essa


comunicao suportada por protocolos especficos, dos quais o mais
amplamente utilizado o RIP Routing Information Protocol que possui
implementaes para IP e IPX. Os pacotes RIP

podem ser de dois tipos :

solicitao e resposta. Eles so transportados em datagramas UDP/IP,


normalmente em broadcast. O RIP est disponvel em duas verses para uso com
o Ipv4: RIP, definida na RFC 1058, e RIP-2, uma verso aperfeioada descrita na
RFC 1723. Est definido tambm o RIPng, para uso exclusivo em roteadores
Ipv6. A RFC 2080 descreve esse novo protocolo.

- 30 -

O roteamento por vetor de distncia utiliza algoritmos simples e resistentes. O


overhead gerado por esse mtodo bastante baixo, no importando em custos
significativos em termos de processamento ou utilizao da banda passante.

Em contrapartida o roteamento por vetor de distncia apresenta falhas


potenciais que limitam sua confiabilidade. O perodo de convergncia, ou seja, o
tempo necessrio para que todos os roteadores divulguem e atualizem suas
tabelas, representa um deles. Durante o perodo de convergncia as funes de
roteamento ficam sujeitas a falhas, dando margem perda de pacotes. O perodo
de convergncia aumenta na razo direta do nmero de roteadores envolvidos,
podendo ser inaceitavelmente alto em redes de grande complexidade. Em casos
raros, redes com muitos roteadores podem sofrer tambm com problemas de
consumo excessivo da banda, como conseqncia do grande volume de
informao trocada entre os roteadores de vetor de distncia.

Outra falha relacionada ao roteamento por vetor de distncia o problema da


contagem infinita. Ele ocorre quando uma alterao inesperada na topologia da
rede, ocasionada pela desativao de links ou de roteadores por exemplo, faz com
que uma LAN torne-se inatingvel para um determinado roteador. Caso esse
roteador receba atualizaes de tabela de roteamento de outro roteador
adjacente das quais ainda conste a LAN inatingvel, ele est sujeito a um erro de
julgamento que o levar a manter a LAN como um destino vlido em sua tabela
de roteamento. Nesse caso, ele provavelmente registrar um novo custo de acesso
quela LAN e divulgar sua tabela para os demais roteadores. Estes, por sua vez,
iro registrar a rota invlida, incrementando em um salto o custo para atingir a
LAN de destino. Quando o primeiro roteador receber essas atualizaes, ele ir
atualizar uma vez mais sua tabela, incrementando tambm o custo para alcanar
a rede inatingvel. Esse processo ocorre tendendo ao infinito, sendo limitado na
prtica pelo limite definido na implementao para o incremento do custo de
acesso. Normalmente o nmero mximo de saltos que possvel registrar de
dezesseis. Ao atingir esse valor, o destino considerado inalcanvel e o
roteamento para ele falha.

- 31 -

A ocorrncia do problema do vetor de distncia pode ser controlada por


algoritmos especiais que criticam a origem das atualizaes recebidas,
condicionando a montagem da tabela de roteamento.

Roteamento de estado de link :

O roteamento de estado de link, s vezes chamado de estado de enlace, outro


mtodo de roteamento, funcionando com base na comunicao entre os
roteadores por meio de pacotes especiais, denominados LSP Link State Packets.
Cada roteador de estado de link gera mensagens denominadas link-state
advertisements - anncios do estado do enlace - contendo informaes sobre as
redes s quais o roteador est conectado. Os link-state advertisements so
transmitidos em pacotes LSP para os roteadores adjacentes, que os encaminham
s redes conectadas a eles, sem contudo retransmitirem para a rede de onde
foram recebidos. Assim, as informaes de roteamento so propagadas atravs de
todas as redes interconectadas, permitindo a montagem de tabelas de roteamento
mais completas. A seleo de rotas feita com base nos menores custos.

Alm de uma maior abrangncia, as informaes de roteamento usadas em


estado de link tendem a oferecer maior confiabilidade do que aquelas
manipuladas pelos roteadores de vetor de distncia, uma vez que no so
definidas de forma indireta, referindo-se em sua origem a LANs adjacentes, cujos
parmetros so bem conhecidos pelo roteador. O mtodo apresenta um tempo de
convergncia menor e possibilita tambm o emprego de mtricas de custo mais
sofisticadas, nas quais podem ser considerados fatores adicionais, como a
velocidade dos links. Alm disso, o problema de contagem infinita no ocorre
com o roteamento de estado de link.

O roteamento de estado de link utiliza protocolos especficos como o NLSP


Netware Link Services Protocol, que usado em redes IPX, e o OSPF Open
Shortest Path First, para uso com IP.

- 32 -

O OSPF definido no mbito da RFC 2328. A RFC 1812 Requirements for


Ipv4 Routers confere-lhe o status de nico protocolo de roteamento dinmico
obrigatrio. As RFCs 1245, 1246, 1247 e 1253 tambm fazem referncia ao OSPF.

O OSPF foi projetado para suportar de maneira eficiente as funes de


roteamento em ambientes de rede de mdio e grande porte. Como tal, ele
incorporou uma srie de funcionalidades adicionais que o distinguem dos demais
protocolos de roteamento. Eis algumas delas :

OSPF define um ambiente de roteamento organizado, estabelecendo reas


ou AS Autonomous Systems, em funo de limites geogrficos ou de
necessidades administrativas. No interior de um AS os roteadores
compartilham e sincronizam informaes de roteamento entre si. Alguns
roteadores do AS so designados como roteadores de fronteira ou ASBRs
Autonomous System Border Routers. A eles cabe a tarefa de comunicarse com roteadores em outros AS com o propsito de obter, quando
necessrio, informaes de roteamento externas.

Essa estrutura responsvel por um significativo ganho de eficincia nas


tarefas de roteamento. Os roteadores OSPF no interior de um AS
gerenciam um conjunto reduzido de informaes de roteamento,
manipulando e armazenando tabelas menores, o que diminui requisitos de
hardware e custos de processamento. O trfego necessrio troca de
informaes entre os roteadores e o tempo de convergncia tambm so
reduzidos.

O protocolo possibilita a implementao de balanceamento de carga,


distribuindo o trfego entre as diversas rotas disponveis para um mesmo
destino.

OSPF permite o uso de autenticao na troca de informaes entre os


roteadores.
- 33 -

Ele capaz tambm de importar rotas definidas por meio de outros


protocolos, como RIP e EGP, para suas tabelas de roteamento.

Mscaras de sub-rede de comprimento varivel e ToS - Type of Service


so suportados.

Como afirmamos acima, alguns roteadores de um AS podem solicitar


informaes a roteadores localizados em AS diferentes com o propsito de
determinar localizao e rotas para redes remotas. Os roteadores designados
para executar essa tarefa so denominados ASBRs Autonomous System Border
Routers.

A troca de informaes entre ASBRs suportada por protocolos especficos,


conhecidos genericamente como protocolos de roteamento externo, em oposio
aos protocolos de roteamento interno, como o RIP e o OSPF, que suportam a
comunicao entre roteadores no interior de um mesmo AS. Dois dos protocolos
de roteamento externo so o EGP Exterior Gateway Protocol, definido na RFC
904 e o BGP-4 Border Gateway Protocol, descrito pela RFC 1771, que
incorpora diversos aperfeioamentos em relao ao EGP, reduzindo as
informaes necessrias ao roteamento em prol de uma maior eficincia do
processo.

O roteamento constitui-se na principal funo do protocolo IP. A expanso dos


ambientes de redes interconectadas atribui graus de complexidade crescentes s
tarefas de roteamento. Sua importncia cresce conforme essa mesma tendncia.
A comunicao de sistemas em rede depende diretamente do roteamento.
Deficincias de segurana associadas a esses dispositivos podem dar margem a
comprometimentos muito amplos, afetando a um s tempo um grande nmero de
sistemas e redes.

- 34 -

10. Fragmentao :

O tipo de mdia utilizado na transmisso de dados numa rede e outras caractersticas


do meio fsico definem um parmetro conhecido como MTU Maximum
Transmission Unit. Ele indica o tamanho mximo do frame que pode ser transmitido
atravs daquela rede.

Embora um datagrama IP possa ter um comprimento de at 65.535 bytes, possvel


que, ao percorrer o caminho entre o host de origem e o host de destino, ele tenha de
passar por redes em que a MTU seja menor que seu tamanho original.

O protocolo IP exige que todas as redes ou enlaces ao longo dos quais os datagramas
sero roteados tenham uma MTU mnima de 68 bytes, valor que corresponde ao
tamanho mximo do cabealho IP, que de 60 bytes, acrescido de 8 bytes como
comprimento mnimo dos dados. Essa exigncia explica-se pela impossibilidade de
dividir o cabealho do datagrama original sem perda de sua funcionalidade na
camada. Se uma rota apresentar uma MTU abaixo de 68 bytes, o problema ser
tratado pela camada Fsica atravs de um processo anlogo de fragmentao de
frames. Se a MTU for maior que 68 bytes e menor que o comprimento total do
datagrama, este dever ser fragmentado.

A fragmentao consiste portanto na diviso de um datagrama em dois ou mais


datagramas menores a fim de que eles possam ser roteados atravs de redes cuja
MTU seja menor que seu tamanho original. Na fragmentao do datagrama so
executadas as seguintes alteraes :

O bit correspondente ao flag DF verificado. Se estiver definido, indicando


que o datagrama no deve ser fragmentado, o datagrama ser descartado e
uma mensagem de erro ser gerada.

O campo de dados do datagrama dividido com base no valor da MTU em


duas ou mais partes. exigido que cada uma dessas partes, com exceo da
ltima, tenha um comprimento mltiplo de 8 bytes.
- 35 -

So gerados novos datagramas, cada um deles contendo uma parcela de dados


resultante da diviso do datagrama original.

O bit MF definido em todos os novos datagrams, com exceo do que


corresponde ao ltimo fragmento

O campo Fragment Offset preenchido com o valor apropriado para cada


fragmento, indicando, em unidades de 8 bytes, o deslocamento da poro de
dados contida naquele fragmento em relao ao incio dos dados no
datagrama original.

O campo Opes de cada fragmento preenchido conforme as informaes


registradas nesse campo no cabealho do datagrama original. Algumas opes
devem ser copiadas em todos os fragmentos, outras podem ser reproduzidas
apenas no primeiro fragmento.

O campo IHL ( Comprimento do Cabealho ) recebe o valor referente ao


cabealho do fragmento.

O campo Comprimento Total recebem o valor referente ao comprimento do


fragmento.

O valor do campo Checksum recalculado.

O valor do campo ID do datagrama original mantido em todos os


fragmentos, de modo a identific-los como pertencentes a um mesmo
datagrama quando forem reagrupados.

O encaminhamento dos novos datagramas gerados pela fragmentao feito de


forma independente. Cada novo datagrama pode ser encaminhado atravs de rotas
diferentes e podem sofrer novas fragmentaes se necessrio.
- 36 -

No host de destino os fragmentos so armazenados em um buffer especfico, definido


com a chegada do primeiro fragmento. O valor do campo Fragment Offset orienta a
cpia dos dados na posio correta, permitindo a recomposio do datagrama
original.

11. O protocolo TCP ( Transmission Control Protocol ) :

O TCP o protocolo da camada de Transporte capaz de gerenciar o estabelecimento,


a

manuteno e o encerramento de conexes entre dois hosts, assegurando a

confiabilidade da comunicao por meio de mecanismos de controle de fluxo e de


recuperao de erros. Assim, quando uma aplicao comunica-se com um host
remoto transmitindo e recebendo dados, o TCP gerencia o estabelecimento da
conexo, ligando os processos que esto em execuo no host local aos processos
correspondentes no host remoto. Alm disso, o TCP ir controlar o fluxo dos dados
transmitidos por cada um dos hosts estabelecendo uma taxa de transmisso
adequada s caractersticas de cada host e dos meios de ligao em uso. Como ainda
assim existe a possibilidade de que ocorram falhas na comunicao, como a perda de
pacotes ou a chegada ao destino fora da ordem em que foram transmitidos, o TCP
confirmar

recepo

de

cada

pacote

transmitido,

reordenando-os

convenientemente no host de destino e cuidando da retransmisso dos pacotes


perdidos.

As funes executadas pelo TCP simplificam o funcionamento dos protocolos da


camada inferior, tipicamente o IP, permitindo que sua atuao seja limitada
entrega dos dados e conferindo-lhe assim maior velocidade e flexibilidade.
Simultaneamente, o TCP dispensa os protocolos da camada superior de tarefas
relacionadas recuperao de erros ocorridos na comunicao, facilitando as
implementaes na camada de Aplicao e estabelecendo um mtodo uniforme para
o controle das conexes. Com a utilizao do TCP como protocolo de transport, cabe
s aplicaes apenas fornecer um fluxo contnuo de bytes a serem transmitidos.

O TCP descrito na RFC 793.

- 37 -

12.

Portas e Soquetes :

A comunicao entre computadores em rede freqentemente estabelece casos nos


quais uma nica aplicao em execuo num host precisa atender a conexes
simultneas de vrios clientes. Um servidor web exemplifica bem essa situao.
Existe ainda a possibilidade de que cada um de vrios processos em execuo num
host deva comunicar-se com um determinado processo em outro host. As
diferenas verificadas na forma como sistemas operacionais distintos identificam
os processos ampliam essas dificuldades. O mecanismo de portas e soquetes oferece
uma soluo adequada ao problema.

As portas so nmeros de 16 bits que permitem ao protocolo de Transporte


identificar um processo, que pode ser na prtica uma aplicao ou outro protocolo
de nvel superior, como o destinatrio correto dos dados que devem ser entregues.
Processos padronizados identificam-se por nmeros na faixa de 1 a 1023. Essas
portas so chamadas por isso de portas bem conhecidas. As portas de 1024 a 65535
so denominadas portas efmeras e destinam-se a identificar processos no
padronizados.

A designao das portas efmeras feita de maneira dinmica pelo TCP/IP. O


processo que inicia a comunicao solicita ao conjunto uma porta disponvel e o
valor fornecido informado no cabealho dos segmentos TCP ou dos datagramas
UDP que so enviados.

Os

soquetes

constituem uma

interface

de

programao genrica para

comunicao. Eles foram introduzidos com o UNIX BSD 4.2 e tiveram ampla
aceitao. Um soquete define um endereo de soquete, s vezes chamado de
endereo de transporte ou simplesmente de soquete, do qual fazem parte trs
elementos:

O protocolo de transporte utilizado.

O endereo do host local.

O processo em comunicao, identificado por uma porta.


- 38 -

Um exemplo de soquete para uma conexo sobre TCP/IP seria :

tcp, 200.244.203.37, 80

Quando uma conversao entre dois hosts estabelecida, cria-se uma associao
entre os soquetes de cada host. Como ambos os hosts devem utilizar o mesmo
protocolo de transporte, a associao inclui cinco elementos:

O protocolo de transporte utilizado.

O endereo do host local.

O processo em comunicao no host local, identificado por uma porta.

O endereo do host remoto.

O processo em comunicao no host remoto, identificado por uma


porta.

Um exemplo de associao para uma conexo sobre TCP/IP seria :

tcp, 200.244.203.37, 80, 200.244.203.65, 2016,

Dessa forma, uma conexo lgica entre dois processos em hosts distintos pode ser
perfeitamente identificada, a partir dos soquetes que correspondem aos aplicativos
que se comunicam de cada lado da conexo. Se houver a necessidade de
estabelecerem-se conexes simultneas entre os dois hosts, o mecanismo de portas e
soquetes dar suporte s mltiplas conexes, identificando os processos envolvidos e
permitindo seu controle pelos protocolos da camada de Transporte. A comunicao
interprocessual entre os hosts feita por meios de vrias conexes nicas, conferindo
s conversaes sobre TCP/IP caractersticas de multiplexao.

- 39 -

13. O cabealho TCP :

As unidades de transferncia de dados gerenciadas pelo protocolo TCP so


chamadas segmentos. O cabealho TCP contm informaes necessrias ao
gerenciamento das conexes lgicas controladas pelo protocolo, incluindo-se as
relacionadas ao controle do fluxo de dados transmitidos, reordenao dos dados no
destino e recuperao de erros. A forma pela qual essas informaes so utilizadas
ser objeto de uma exposio detalhada na descrio do mecanismo de
estabelecimento da conexo TCP, que se segue descrio dos campos do cabealho.

O formato do cabealho TCP ilustrado no esquema que se segue :

Porta de Origem

Porta de Destino

Nmero Seqencial
Nmero de Reconhecimento
U
Deslocamento
dos dados

Reservado

I Janela

G K H T

Checksum

Ponteiro Urgente

Opes

Preenchimento

Dados ...........

Porta de Origem Neste campo registrado o nmero da porta no host de


origem que ser usada na conexo.

Porta de Destino - Neste campo registrado o nmero da porta no host de


destino que ser usada na conexo.

Sequence Number Indica o nmero seqencial atribudo ao primeiro byte dos


dados enviados neste segmento. No caso de o segmento ser o primeiro de uma
conexo, o sequence number determinado por um processo que envolve
variveis aleatrias e denominado ISN - Initial Sequence Number. O sequence
- 40 -

number atribudo ao primeiro byte de dados deste segmento ser igual ao valor
do ISN mais um.

Nmero de Reconhecimento Indica o nmero seqencial que o receptor espera


receber no prximo segmento.

Deslocamento dos Dados Este campo indica a posio no segmento onde acaba
o cabealho TCP e comeam os dados, informando o nmero de palavras ou
grupos de 32 bits contidos no cabealho.

Reservado Este campo acha-se reservado para uso futuro. Os seis bits que o
compe devem ser configurados com valor zero.

Bits de Controle Este campo composto por seis bits. Conforme o valor
atribudo a eles, os bits de controle sinalizam eventos relacionados abertura da
conexo, sincronizao dos dados transmitidos e recebidos e ao encerramento
da conexo. exposta, a seguir, a funo de cada um deles :

URG Quando este bit tiver valor 1 indicar que o contedo do campo Ponteiro
Urgente deve ser considerado. Se valer zero, o Ponteiro Urgente ser ignorado.

ACK - Quando este bit estiver definido indicar que o Nmero de


Reconhecimento significativo. Caso valha zero, o contedo do campo no ser
considerado.

PSH Quando estiver configurado com valor 1 iniciar uma funo de descarga
(push).

RST Este bit, quando definido, provocar a reinicializao da conexo.

SYN Quando estiver definido este bit ir forar a sincronizao dos nmeros
seqenciais, tipicamente no incio de uma conexo.
- 41 -

FIN Indica, quando definido, que no h mais dados a serem transmitidos pelo
host de origem, encerrando a conexo.

Janela Informa, nos segmentos ACK, o nmero de bytes que o host est em
condies de receber.

Checksum Este campo contm um valor usado para verificar a integridade do


cabealho TCP e detectar falhas na comunicao. O valor obtido a partir de
uma operao de soma em complemento dos valores dos campos do cabealho
TCP, dos dados do segmento e dos campos que compe o chamado pseudocabealho. O pseudo-cabealho composto pelos seguintes campos : Endereo IP
de Origem, Endereo IP de Destino, Nmero do Protocolo e Comprimento do
Segmento TCP. O pseudo-cabealho tem a nica finalidade de servir ao clculo
do checksum, no sendo registrado ou transmitido com o segmento. Contudo, ele
torna a verificao mais ampla incluindo no clculo valores do datagrama IP.
Os valores dos campos checksum e padding do cabealho TCP no so
considerados para o clculo do checksum.

Ponteiro urgente Este campo, considerado apenas quando o bit de controle


URG estiver definido, informa o nmero seqencial do primeiro byte que se
segue a um conjunto de dados classificados como urgentes.

Opes De forma similar ao campo Opes do cabealho IP, este campo


apresenta um conjunto de valores que indicam opes no obrigatrias, relativas
ao controle de fluxo e recuperao de erros.

Padding - Este campo preenchido com zeros de modo a garantir que o


comprimento total do cabealho seja um mltiplo de 32 bits.

14. A conexo TCP :

O TCP estabelece conexes unidirecionais e ponto a ponto, ou seja, a origem e o


destino da conexo devem ser perfeitamente definidos e os dados seguem sempre na
- 42 -

mesma direo. A condio de host de origem no pode ser acumulada, na mesma


conexo, com a condio de host de destino. Quando dois hosts comunicam-se
atravs de uma conexo TCP transmitindo e recebendo dados, so estabelecidas na
verdade duas conexes, uma em cada sentido. Atravs de uma delas um host
transmite dados e , portanto, o host de origem. Atravs da outra o mesmo host
recebe dados, representando ento o host de destino. Como as duas conexes so
operadas simultaneamente, estabelece-se um canal full-duplex, em que a
comunicao feita ao mesmo tempo em dois sentidos, como ilustrado abaixo :

Conexo TCP full duplex.


A conexo TCP estabelecida por meio de um processo conhecido como three-way
handshake. Quando uma aplicao, por meio de uma API como WinSock, por
exemplo, solicita comunicao com um host remoto gerado um segmento TCP com
o bit SYN ligado em seu cabealho. Esse segmento, que passaremos a chamar
simplesmente de SYN, contm ainda um valor inicial para o sequence number e o
tamanho atual da janela. Essas informaes de controle tero seu uso esclarecido
mais adiante.

Ao receber o segmento SYN, o host de destino envia um segmento com o propsito


de participar o reconhecimento do pedido de conexo. O cabealho desse segmento
tem os bits SYN e ACK definidos, pelo que passaremos a nos referir a ele como
SYN/ACK. O host de origem recebe o segmento SYN/ACK e responde com um
segmento em cujo cabealho o bit ACK est definido.
Este terceiro passo conclui o estabelecimento da conexo, ficando ambos os hosts em
condies de intercambiarem dados por meio dela. As trs etapas desse processo so
esquematizadas na ilustrao a seguir :

- 43 -

SYN
SYN/ACK
ACK
Estabelecimento conexo TCP ( three-way handshake ).

No decorrer do processo de comunicao dos hosts, os protocolos da camada de


Aplicao iro fornecer ao TCP um fluxo contnuo de bytes a serem transmitidos,
sem qualquer diviso ou formatao especfica para a camada de Transporte.
responsabilidade do TCP dividir esse fluxo de dados em segmentos de tamanho
adequado comunicao, considerando a capacidade do host de destino para
receb-los sem erros. Na verdade, no host de destino os dados recebidos da rede so
armazenados em um buffer para reordenamento e verificao antes de serem
passados camada de Aplicao. A capacidade desse buffer, associada a outros
fatores como congestionamentos em redes intermedirias ou erros na ordem em que
os segmentos so recebidos, ir determinar um volume adequado de dados que o
host de destino pode receber. Esse valor ser estabelecido como o tamanho da janela
ou seja, a quantidade de bytes que o host de origem pode enviar de uma s vez sem
criar um fluxo excessivo de dados que leve a falhas de comunicao. O tamanho da
janela informado pelo host de destino quando do estabelecimento da conexo, no
cabealho do segmento SYN/ACK.

Os bytes que precisam ser transmitidos pelo host de origem so armazenados


tambm num buffer de sada, e a janela indica quantos desses bytes podem ser
transmitidos pela conexo nas condies atuais. O host de origem pode agrupar
todos os bytes contidos na janela em segmentos e transmiti-los antes que o host de
destino confirme o seu recebimento, mas somente poder transmitir os bytes
seguintes aps obter essa confirmao.

- 44 -

Enquanto permanecem ordenados no buffer de sada aguardando a transmisso,


cada um dos bytes recebe um sequence number, a partir do nmero consecutivo (
n+1 ) ao sequence number inicial, que foi informado pelo host de origem no
cabealho do segmento SYN ao estabelecer-se a conexo. Como cada byte recebe um
sequence number, mas os dados so transmitidos em segmentos que renem vrios
bytes, o sequence number informado no cabealho TCP o sequence number
atribudo ao primeiro dos bytes de dados contidos no segmento. medida em que os
segmentos vo sendo transmitidos, eles permanecem armazenados no buffer e
ativado para cada um deles um contador de tempo de retransmisso no host de
origem. Quando esse contador chega a zero o segmento retransmitido.

Quando o host de destino recebe um determinado nmero de segmentos, usualmente


dois, ele envia um segmento ACK no cabealho do qual informa o como nmero de
reconhecimento o sequence number do prximo segmento que espera receber,
considerando o sequence number do ltimo segmento recebido e o tamanho dos
segmentos. Exemplificando, se o sequence number do ltimo segmento recebido foi
2048 e o tamanho dos segmentos de 512 bytes, o valor informado no campo
nmero de reconhecimento do segmento ACK ser 2560. Caso o host de destino no
receba um dos segmentos transmitidos, ele ser capaz de detectar o erro pelo exame
do sequence number dos segmentos que recebeu e continuar informando o
sequence number do segmento que falta no campo nmero de reconhecimento dos
segmentos ACK que enviar ao host de origem, at que venha a receb-lo.

Quando o host de origem recebe um ACK referente ao primeiro dos segmentos


includos no buffer de sada ele desliza a janela para adiante, de modo a incluir o
prximo segmento, que poder agora ser transmitido. Ao fim da comunicao, o
fechamento da conexo executado de forma similar ao estabelecimento da mesma.
Um segmento com o bit FIN definido em seu cabealho enviado pelo host de origem
e a conexo encerrada.

- 45 -

15. O cabealho UDP :

As unidades de transferncia de dados gerenciadas pelo protocolo UDP so


chamadas datagramas. Uma vez que o protocolo no estabelece conexes como o
TCP, funcionando apenas como uma interface para o protocolo IP, seu cabealho
consideravelmente mais simples, o que contribui para reduzir a sobrecarga que as
informaes de controle trazem comunicao. Em contrapartida, o UDP no
capaz de oferecer a confiabilidade e os recursos de controle de fluxo e recuperao
de erros obtidos por meio da utilizao do TCP. O UDP limita-se a direcionar, por
meio do mecanismo de soquetes e portas, os datagramas trocados entre processos nos
hosts de origem e destino.

O formato do cabealho UDP apresentado a seguir :

Porta de Origem

Porta de Destino

Comprimento

Checksum

Dados .........

Porta de Origem Neste campo registrado o nmero da porta no host de


origem que ser usada na conexo.

Porta de Destino -

Neste campo registrado o nmero da porta no host de

destino que ser usada na conexo.

Comprimento - Este campo informa o comprimento total do datagrama em


bytes, incluindo o cabealho.

Checksum Da mesma forma que no cabealho TCP, este campo utilizado para
verificao de integridade. O valor registrado aqui obtido pelo mesmo mtodo
empregado no TCP, inclusive com o uso dos valores dos campos do pseudocabealho.

- 46 -

Captulo 2

Sistemas Operacionais de Rede

- 47 -

Sistemas Operacionais de Rede


Neste captulo so descritos os sistemas operacionais de emprego mais freqente em
redes IP. Uma caracterizao completa de cada um deles est alm de nossos propsitos.
Sua descrio traada em termos de aspectos gerais e focalizada no que possa ter
implicaes sobre a segurana de dados e servios, seja representando capacidades, seja
condicionando vulnerabilidades. Cabe lembrar que os roteadores e outros dispositivos
de rede executam, por vezes, sistemas operacionais proprietrios, que podem ser
sensveis s mesmas vulnerabilidades que os sistemas aqui descritos ou ainda a
vulnerabilidades especficas. Pela particularidade representada por esses casos, o
presente trabalho no se ocupa da sua descrio.

Sero descritos os seguintes sistemas operacionais de rede :

UNIX e LINUX

Microsoft Windows NT

Novell Netware

1. UNIX e LINUX :

O UNIX tem sua origem mais remota no Multics, um sistema operacional


desenvolvido no mbito de um projeto conjunto da Bell Labs, subsidiria da AT&T,
do Massachussets Institute of Technology e da General Electric. Ao final da dcada
de sessenta, o projeto sofreu uma descontinuidade. Movido pela necessidade de
continuar utilizando aplicaes criadas para o Multics, Ken Thompson, um dos
programadores envolvidos no projeto, deu incio ao desenvolvimento de um sistema
operacional de caractersticas semelhantes. Como as modestas ambies de Ken
Thompson apontavam, ento, para um sistema mono-usurio, o sistema, surgido
dessa iniciativa pessoal foi chamado de UNIX, por oposio ao Multics.

A capacidade de suporte a mltiplos usurios foi um dos primeiros aperfeioamentos


incorporados ao UNIX. Em 1973 o sistema foi recodificado em C. Essa etapa
- 48 -

representou um momento extremamente importante no desenvolvimento do sistema.


C era uma linguagem de alto nvel em evoluo e seu aperfeioamento em paralelo
com a recodificao do UNIX durante esse perodo veio trazer grande consistncia e
flexibilidade a ambos.

Verses do UNIX e da linguagem C foram oferecidos comunidade acadmica para


uso e pesquisa. Isso acelerou a evoluo do sistema operacional e provocou o
surgimento de verses trazidas ao mercado por empresas como a IBM, que criou o
AIX, a Hewlett-Packard, que desenvolveu o HP-UX e a Sun, com o Solaris.
Curiosamente, o UNIX, concebido como um sistema mono-usurio e de uso restrito,
assumia uma tendncia de diversificao contnua que resistiria a todas as iniciativas
de padronizao.

O LINUX pode ser considerado uma das verses de UNIX mais recentes e
revolucionrias. Diretamente associado aos conceitos de software aberto e gratuito,
seu lanamento obteve grande repercusso, num momento em que o monoplio da
Microsoft no negcio de sistemas operacionais enfrenta contestaes generalizadas.
Em 1991, Linus Torvalds, ento estudante da Universidade de Helsinki, deu incio ao
desenvolvimento de um sistema operacional baseado no UNIX. sua iniciativa
pessoal juntaram-se colaboradores de todo o mundo, num esforo cooperativo
conduzido majoritariamente por meio da Internet. O sistema beneficia-se de
caractersticas herdadas do UNIX e da condio de ser gratuito para expandir seu
emprego em ambientes diversos, como empresas, instituies educacionais e entre
usurios domsticos. Assim como aconteceu com o UNIX, o suporte eficiente a
servios de rede tem levado o LINUX a ser adotado como plataforma para
servidores web, roteadores baseados em software e outras aplicaes.

As diferenas entre os dialetos UNIX e as distribuies LINUX podem,


eventualmente, tornar menos precisa a apresentao feita aqui. No entanto, a bem da
objetividade, fiz opo por no explorar essas diferenas e descrever os sistemas com
base em suas caractersticas comuns.

- 49 -

Algumas das principais caractersticas compartilhadas pelo UNIX e pelo LINUX so


descritas a seguir :
Portabilidade :
UNIX um sistema aberto e flexvel. Suas caractersticas conferem-lhe grande
capacidade de adaptao, podendo ser executado sobre plataformas de hardware
to diversas quanto Intel, RISC, SPARC, Alpha e outras.
Arquitetura modular e flexvel :
A arquitetura do UNIX e do LINUX apresenta um ncleo do sistema operacional,
denominado kernel, ao qual podem ser associados mdulos e aplicativos em uma
variedade praticamente ilimitada. O kernel responsvel pela definio e
controle de um ambiente bsico de execuo para processos e tarefas,
gerenciando as funes de processamento e as interaes entre software e
hardware.

Uma segunda camada na arquitetura do sistema representada pelo shell. O


shell executa funes de interpretao de comandos, permitindo a interao dos
usurios com o software instalado. O shell de UNIX/LINUX incorpora uma
linguagem de programao bsica, por meio da qual podem ser gerados scripts
para simplificao de comandos e automatizao de tarefas. H duas verses de
shell usadas na maioria das verses e distribuies de UNIX/LINUX, o Bourne
Shell, desenvolvido pela Bell Labs e o C Shell, originado na Berkeley University.
As verses apresentam pequenas diferenas entre os comandos disponveis em
uma e outra e oferecem funcionalidades bastante similares.

A arquitetura do UNIX/LINUX completa-se com uma terceira camada, qual


pertencem os aplicativos e utilitrios.

O acesso ao cdigo do sistema permite que ambos os sistemas sejam adaptados a


necessidades especficas de cada forma de utilizao. No caso do LINUX
- 50 -

possvel recompilar o sistema de modo a adequ-lo a determinado ambiente ou a


uma funo particular.

A flexibilidade oferecida por UNIX/LINUX constitui-se, com toda certeza, em um


dos maiores atrativos dos sistemas, possibilitando-lhe oferecer funcionalidades
bastante diversas e permitindo seu emprego em uma ampla gama de funes e
tarefas. Do ponto de vista da manuteno da segurana, todavia, ela motiva
grandes preocupaes. O controle sobre configuraes e recursos deve ser
exercido com elevado grau de detalhamento. A investigao de falhas e
comprometimentos deve ser contnua e abrangente, incluindo a prpria estrutura
do sistema, os arquivos de configurao e as alteraes em mdulos e aplicativos.
Verses e dialetos :
Como foi mencionado anteriormente, o desenvolvimento de verses proprietrias
do UNIX levou existncia de um grande nmero de implementaes que,
embora compartilhem muitas caractersticas comuns, guardam entre si
diferenas

importantes

revelam,

com

freqncia,

limitaes

interoperabilidade.

De uma forma semelhante, o LINUX apresentado em pacotes organizados que


contm, alm do ncleo do sistema, conjuntos especficos de aplicaes, interfaces
e mdulos de apoio. Esses pacotes, usualmente chamados de distribuies,
apresentam tambm caractersticas que os diferenciam um dos outros,
constituindo-se dessa forma em similares das verses comerciais do UNIX.

A existncia desses dialetos ou sabores do UNIX, como so chamados, e das


vrias distribuies do LINUX, torna as tarefas de administrao desses sistemas
bastante complexas e especializadas. Mtodos especficos de segurana podem ser
adequados a uma verso e revelar-se ineficientes em outra. Diferentemente do
que ocorre com sistemas operacionais padronizados, acompanhar a descoberta de
novas vulnerabilidades em um sistema aberto como UNIX/LINUX, verificar sua
ocorrncia nos hosts sob nossa responsabilidade e treinar pessoal de apoio e
- 51 -

usurios para corrigir ou evitar essas falhas envolve um esforo contnuo e exige
alto nvel de qualificao. Os custos desse processo tendem a ser mais altos do que
o verificado em sistemas padronizados e precisam ser considerados em tempo de
planejamento e organizao.
Suporte avanado a servios de rede :
O UNIX oferece a possibilidade de execuo de processos em ambiente de
multitarefa, ou seja, capaz de gerenciar a execuo simultnea de vrias tarefas
por um mesmo processador. O suporte a ambiente multitarefa e multiusurio
tambm incorporado ao kernel do LINUX. Em ambos os sistemas esse suporte
estende-se possibilidade de que cada uma das tarefas em execuo seja
controlada por um usurio diferente. Essa caracterstica tem recomendado a
utilizao do UNIX/LINUX em servidores de grande porte, em detrimento de
outros sistemas operacionais de rede que oferecem a mesma capacidade em grau
mais limitado, como o Windows NT.

Como decorrncia disso, servios de rede so integrados ao sistema operacional


de forma estreita e eficiente. UNIX/LINUX oferece a possibilidade de que um
usurio remoto conecte-se ao sistema e a partir da seja capaz de executar tarefas
e acessar recursos como se estivesse operando localmente. Diz-se nesse caso que o
usurio remoto utiliza um shell do sistema em questo. O enorme ganho
funcional representado por essa possibilidade implica em condies de segurana
menos restritivas. Isso explica a abordagem de McClure e Scambray segundo a
qual um usurio somente deve ser considerado como usurio remoto enquanto
no tem acesso a um shell do sistema. Esse usurio pode ser considerado local a
partir do momento em que obteve um shell, tendo sua disposio o mesmo
conjunto de comandos e interfaces que usaria se tivesse acesso fsico mquina.
A obteno de um shell um passo intermedirio importante na maioria das
tcnicas de ataque orientadas a UNIX/LINUX.

- 52 -

Contas de usurio :
Qualquer ao ou tarefa executada em uma mquina UNIX/LINUX, mesmo uma
tarefa executada localmente, dependente de uma conta de usurio. Isso coloca
as contas de usurio numa posio central no modelo de segurana desses
sistemas. Nomes de usurio com contas vlidas e senhas so informaes crticas
em qualquer sistema operacional, mas em UNIX/LINUX representam um alvo
prioritrio para atacantes e invasores. A segurana de login deve ser, portanto,
objeto da maior ateno por parte dos administradores, uma vez que seu
comprometimento pode levar a danos de grande monta.

As contas de usurio so criadas como entradas no arquivo /etc/passwd. Cada


entrada discrimina o nome do usurio e a senha a ser utilizada em seu login, alm
de informaes sobre participao em grupos e diretrio padro do usurio. O
arquivo composto em modo texto e pode ser aberto ou editado por qualquer
editor de textos comum. Alm disso, ele deve ser legvel para qualquer usurio.
Evidentemente isso representa uma vulnerabilidade importante, ainda que as
senhas sejam registradas em /etc/passwd sob forma criptografada. Para controlar
essa vulnerabilidade adotada por quase todas as verses e distribuies de
UNIX/LINUX a tcnica de sombreamento (shadowing). O sombreamento consiste
na substituio das entradas no arquivo /etc/passwd por outras entradas que
contm apenas ndices para entradas reais contidas em outro arquivo,
/etc/shadow, protegido por restries de acesso.

Quando da sua criao, cada conta de usurio associada a um grupo. Embora


seja possvel indicar manualmente a que grupo o usurio que est sendo criado
deve ser adicionado, existem procedimentos padro que so seguidos na falta de
indicaes especficas. Em algumas verses criado um grupo exclusivo para
cada usurio acrescentado ao sistema. Em outras, todos os usurios so includos
em um grupo padro.

Todas as verses e distribuies de UNIX/LINUX utilizam uma conta padro


com direitos irrestritos sobre o sistema. Essa conta, denominada Root, criada
- 53 -

no processo de instalao e confere a quem a utiliza a possibilidade de executar


qualquer ao, incluindo a criao de usurios e a alterao de direitos e
permisses.

UNIX/LINUX, em suas vrias verses ou distribuies, apresentam contas de


usurio padro, que utilizam senhas default ou, em alguns casos, no exigem
sequer o uso de senha para conectar-se ao sistema. Algumas dessas contas so
criadas na instalao do sistema operacional. Outras so criadas pela instalao
de pacotes de aplicativos. Em qualquer caso, importante adotar medidas de
controle como desabilitar as contas desnecessrias ou alterar as senhas padro, a
fim de evitar que invasores aproveitem-se dessa facilidade para obter acesso a
dados ou, o que mais freqente, a informaes sobre o sistema.

Outro aspecto a considerar a utilizao dos usurios confiveis. Essa prtica


simplifica o processo de autenticao de usurios, exigindo apenas um login para
que o usurio possa ter acesso a todos os hosts de uma rede que tiverem
estabelecido relaes de confiana com o host onde ele est operando. As
implicaes desse mtodo sobre a segurana da rede so evidentes e exigem um
estrito controle sobre as relaes de confiana configuradas.
NFS - Network File System :
O NFS um sistema de arquivos desenvolvido pela Sun Microsystems, Inc., que
permite aos usurios de estaes de trabalho acessar arquivos e diretrios
remotos de uma rede como se fossem arquivos e diretrios locais. Embora no
seja o nico sistema de arquivos usado em UNIX/LINUX, o NFS est presente na
maioria dos dialetos e distribuies.

O NFS define uma estrutura hierrquica de diretrios que inclui vrios


componentes padro. A estrutura tem seu nvel mais elevado na raiz ou root,
representado por /. A organizao do sistema de arquivos registrada em um
arquivo especial denominado Diretrio. O esquema a seguir ilustra uma
estrutura tpica de sistema de arquivos em UNIX.
- 54 -

.......................................

/kernel

.............................

root - raiz do sistema de arquivos


kernel ncleo do sistema operacional

/bin

..................................

arquivos executveis

/dev

.................................

dispositivos

/etc

....................................

/usr

.................................

/usr/bin

..........................

arquivos de configurao
aplicativos
outros executveis

/tmp

................................

arquivos temporrios

/var

.................................

arquivos de log e outros

/opt

.................................

pacotes de software

/export/home

.................

diretrios de usurios

O acesso a recursos do sistema baseado no acesso aos arquivos executveis ou


aos arquivos de configurao correspondentes a esses recursos. Em termos
prticos, para utilizar um recurso, um usurio precisar ter o direito de executar
programas ou aplicativos associados a esse recurso. Para alterar configuraes
desse recurso, o usurio precisar ter o direito de editar o arquivo de
configurao que define suas formas de utilizao. Dessa forma, em
UNIX/LINUX as restries que podem ser estabelecidas sobre recursos do
sistema relacionam-se diretamente aos mtodos de controle de acesso a arquivos.

UNIX/LINUX controla o acesso a arquivos com base em um conjunto de


permisses associadas a cada arquivo.

H trs tipos de permisso aplicveis a arquivos :

r permite a leitura do arquivo ou diretrio.

w permite a gravao ou alterao do arquivo ou diretrio.

- 55 -

x permite a execuo de um arquivo ou o exame de contedo de um


diretrio.

Essas permisses podem ser associadas a trs tipos de usurios :

u indica o usurio definido como proprietrio do arquivo ou diretrio.

g indica usurios membros do grupo ao qual o proprietrio do arquivo ou


diretrio pertence.

o indica todos os demais usurios do sistema.

Assim, as permisses de acesso so expressas sob a forma de uma string onde


cada seqncia de trs caracteres refere-se a um tipo de usurio ou grupo, na
ordem em que foram apresentados acima. As permisses no concedidas so
representadas por um trao na posio correspondente. Exemplificando, uma
string como a representada abaixo indica que o proprietrio do arquivo tem
direitos de leitura, gravao e execuo sobre o arquivo. O grupo ao qual o
usurio est vinculado tem direito de leitura e gravao e os demais usurios tm
apenas o direito de leitura.

rwx

rw- r- permisses de todos

permisses do grupo

permisses do usurio

As permisses de acesso podem tambm ser expressas sob a forma de um nmero


de trs algarismos, composto de acordo com a seguinte conveno :

- 56 -

0 = Sem acesso
1 = Permisso de execuo
2 = Permisso de gravao
3 = Permisso de gravao e execuo
4 = Permisso de leitura
5 = Permisso de leitura e execuo
6 = Permisso de leitura e gravao
7 = Permisso de leitura, gravao e execuo

Assim, um arquivo marcado com o nmero 754 tem associado a si as seguintes


permisses :
o proprietrio do arquivo pode ler, alterar e executar o arquivo ( 7 )
o grupo pode ler e executar o arquivo ( 5 )
todos os usurios podem apenas ler o arquivo ( 4 )
Alm das permisses descritas acima, existem duas permisses especiais,
conhecidas como SUID e SGID. Essas permisses fazem com que um arquivo
sempre seja executado com os direitos do proprietrio ou do grupo,
respectivamente, mesmo que o usurio que o executa no tenha privilgios
especiais. Um arquivo com SUID de root ser executado por qualquer usurio
como se este fosse root.. fcil perceber que as permisses SUID e SGID devem
ser usadas com cuidado para evitar sua explorao em prejuzo da segurana.

Alm dos fatos que se referem a permisses de arquivos, o NFS est associado a
diversas vulnerabilidades prprias, que incluem desde condies de buffer
overflow a partir de comandos especficos at a possibilidade de exportar total ou
parcialmente o sistema de arquivos de um host UNIX para um host remoto. Esse
resultado permitiria ao atacante examinar o contedo dos arquivos em busca de
dados confidenciais ou informaes crticas do sistema.

- 57 -

Arquivos de configurao :
Como mencionamos anteriormente, UNIX/LINUX registra informaes de
configurao em arquivos especficos. Esses arquivos tm grande importncia no
gerenciamento de recursos do sistema. Eles devem ser editados com cautela e as
permisses de acesso devem ser configuradas em bases to restritivas quanto
possvel. Alm disso, recomendvel que eles sejam objeto de procedimentos
regulares de verificao e auditoria.

Ainda que possam ocorrer algumas diferenas de nomenclatura e localizao


conforme a verso de UNIX ou distribuio LINUX considerada, enumeramos a
seguir alguns dos arquivos de configurao mais importantes :

rhosts e hosts.equiv - Localizados em root (/) e em /etc respectivamente,


estes arquivos relacionam os hosts com os quais a mquina local tem um
relacionamento de confiana estabelecido.

inittab Localizado em /etc, este arquivo contm regras que orientam a


inicializao do sistema. Ele interpretado pelo programa init que carrega
programas, executa scripts e define nveis de execuo do sistema.

inetd.conf e services Localizados em /etc, estes arquivos contm


informaes sobre a configurao de interfaces de rede, vinculaes de
protocolos e inicializao dos servios, conhecidos como daemons em
ambiente UNIX/LINUX.

resolv.conf Localizado em /etc, este arquivo informa o servidor de nomes


que deve ser utilizado para resoluo de endereos.

hosts Localizado em /etc, este arquivo usado para a resoluo de nomes


de hosts em endereos IP correspondentes. A entradas em hosts podem
conter, alm do endereo IP e do nome do host, alias opcionais para
- 58 -

facilitar sua localizao na rede local ou simplificar o acesso via web. Uma
entrada tpica no arquivo hosts seria

193.107.65.11 server1.apollo.com.br server1

www.apollo.com.br

hosts.deny Localizado em /etc, este arquivo contm entradas compostas


por pares de hosts e servios.

Quando listado aqui, o servio no

permitir a conexo do host especificado na mesma entrada. Uma entrada


tpica em hosts.deny seria

ftp : host_A

significando que o daemon ftp no deve aceitar conexes de host_A.

hosts.allow Localizado em /etc, este arquivo complementa as


configuraes registradas no arquivo hosts.deny, mantendo entradas
similares que definem pares de daemons e hosts clientes que podem ser
conectados. A incluso de uma entrada neste arquivo apenas permite a
conexo, mas no a estabelece. Permanecem vlidas outras restries de
acesso associadas a cada servio especfico, como autenticao em servios
ftp. Tanto hosts.deny quanto hosts.allow aceitam os parmetros ALL e
EXCEPT para, respectivamente, designar qualquer host e excluir um
determinado host da restrio configurada.

exports Localizado em /etc, este arquivo contm entradas que definem as


configuraes de compartilhamento de diretrios na rede, indicando
permisses e nveis de acesso. Uma entrada tpica em exports seria

/home/planilhas

contab*.finanas (rw)

significando que todo host cujo nome comece com a string contab e
pertena ao domnio finanas tem acesso de leitura e gravao (rw) ao
diretrio /home/planilhas.
- 59 -

Servios de acesso remoto :


Muitas caractersticas do UNIX derivaram naturalmente do seu emprego como
plataforma

para

servidores

em

ambientes

onde

as

necessidades

de

compartilhamento de informaes so acentuadas, como universidades ou


grandes empresas. Uma dessas caractersticas foi a incorporao pelo sistema de
uma srie de servios de acesso remoto. Tais servios tm como um de seus
principais objetivos facilitar a conexo de usurios para consulta ou recuperao
de arquivos. So exemplos o telnetd, o ftpd e os chamados servios r , rlogin,
rsh e rexec.

Os servios r em especial so responsveis por falhas de segurana diversas. A


dispensa de uma autenticao completa em determinadas circunstncias uma
dessas falhas. A possibilidade de conceder acesso com direitos de root a um
invasor mediante a simples insero de comandos outra ainda mais grave,
embora de ocorrncia menos freqente.

Na extensa lista de vulnerabilidades associadas a esses servios notamos que


muitas delas afetam as diversas verses ou distribuies de UNIX/LINUX em
graus diferenciados. Desabilitar os servios vulnerveis uma recomendao
sensata, mas que nem sempre pode ser cumprida. Uma alternativa para prevenir
ou controlar os efeitos dessas vulnerabilidades uso de SSH Secure Shell, um
protocolo de autenticao para sesses remotas que emprega criptografia forte.

2. Microsoft Windows NT:

Microsoft Windows NT o sistema operacional desenvolvido e comercializado pela


Microsoft para uso corporativo. Sua primeira verso comercial, a verso 3.1, foi
distribuda a partir de 1993. Em 2000, a verso que substituiu o Windows NT 4.0 foi
trazida ao pblico com a denominao de Windows 2000. Windows 2000 incorporou
diversos aperfeioamentos em relao ao Windows NT 4.0, mas devido s
semelhanas acentuadas entre as duas verses do Windows NT, nos referimos a

- 60 -

ambas como Windows NT, indicando a verso 4.0 ou Windows 2000 apenas quando
for necessrio apontar caractersticas especficas de uma delas.

Beneficiando-se de caractersticas como interfaces grficas bem elaboradas e uma


interao simples e eficiente com aplicaes desktop, e apoiado ainda pelo sucesso
comercial da Microsoft, o Windows NT conta atualmente com uma ampla base
instalada, tendo presena marcante em ambientes corporativos e competindo com o
UNIX pela hegemonia como plataforma para aplicaes de rede. Neste campo, a
Microsoft oferece produtos que se integram de maneira muito eficiente com o
Windows NT, como o servidor web Internet Information Server e o servidor de
correio Microsoft Exchange.

Comercialmente, o Windows NT apresentado como dois produtos distintos : o


Windows NT Server, usado em servidores e o Windows NT Workstation, para uso
em estaes de trabalho. Com o lanamento do Windows 2000, esses produtos
recebram as denominaes Windows 2000 Server e Windows 2000 Professional,
respectivamente. Os dois produtos tm em comum algumas de suas principais
caractersticas, dentre elas o compartilhamento de recursos, a portabilidade para
vrias plataformas de hardware e a execuo de processos em ambiente multitarefa.
Embora o Windows NT Server possua funcionalidades mais amplas e venha a
diferenciar-se do Workstation por traos como o suporte a mltiplas conexes
simultneas e a possibilidade de ser usado como plataforma para aplicaes e
servios, eles so em essncia o mesmo sistema operacional.

Dentre as caractersticas do Windows NT, as seguintes interessam diretamente a este


trabalho :

Estrutura de Domnios :

As redes compostas por hosts Windows NT podem ser organizadas em dois tipos
de estrutura lgica, os workgroups, ou grupos de trabalho, e os domnios.

- 61 -

Os domnios so estruturas hierrquicas, nas quais o acesso aos recursos


compartilhados controlado de forma centralizada por um servidor que detm o
status de PDC - Primary Domain Controller, apoiado por um nmero varivel de
servidores designados como BDCs - Backup Domain Controllers. Na verdade, o
emprego de BDCs no obrigatrio. O nico requisito indispensvel para a
criao de um domnio a existncia de um PDC. O PDC do domnio mantm um
banco de dados de informaes de segurana denominado SAM Security
Accounts Manager. O SAM contm informaes e regras referentes s contas de
usurios e de grupos. Esse banco de dados periodicamente replicado a partir do
PDC para os BDCs do mesmo domnio.

O processo de login, que denominado logon na documentao da Microsoft,


conduzido com base nas informaes que constam do SAM. Quando um usurio
faz logon num domnio, sua solicitao recebida pelo PDC ou por um dos BDCs
disponveis, que dever autentic-lo. A possibilidade de autenticar um usurio
confere aos BDCs uma utilidade adicional, alm de simplesmente oferecer
redundncia. De fato, a carga representada pelo processo de logon dos usurios
pode ser balanceada pela distribuio conveniente de vrios BDCs na rede.

Pela natureza crtica das informaes que contm, o SAM o alvo de diversos
ataques conhecidos. Embora seja vantajosa sobre muitos aspectos, a replicao
do SAM para os BDCs pode contribuir para aumentar a exposio desse
componente.

Alm do controle centralizado, que contribui para um modelo de segurana mais


consistente, a estrutura de domnios oferece outras vantagens, tais como maior
escalabilidade, possibilidade de refletir estruturas organizacionais ou limites
geogrficos e flexibilidade administrativa.

Os workgroups, por sua vez, so formados por hosts reunidos em uma estrutura
mais simples, no hierrquica, na qual cada host controla isoladamente o acesso
aos seus prprios recursos. Sua estrutura reflete o modelo de rede ponto-a-ponto,
onde cada n pode atuar a um s tempo como cliente e servidor. Num
- 62 -

workgroup, cada host tem seu prprio banco de dados de segurana,


autenticando localmente os usurios. Os workgroups exigem um esforo
administrativo consideravelmente menor que os domnios e podem ser uma
escolha adequada para redes de pequeno porte. Contudo, o controle
descentralizado eventualmente implica em uma segurana mais frgil.

Relacionamentos de confiana :

Diversos domnios podem ser vinculados entre si por meio de relaes de


confiana. As relaes de confiana so configuradas entre domnios diferentes
para permitir que usurios autenticados por um domnio confivel possam
acessar recursos em um domnio confiante sem a necessidade de uma conta
especfica ou de um novo login.

Cada

relacionamento

de confiana

configurado

como

uma

relao

unidirecional, no recproca e no transitiva. Isto significa que o fato de um


domnio A estar configurado para confiar em um domnio B no implica que o
domnio B ir confiar no domnio A. Tal condio exigiria a configurao de um
segundo relacionamento de confiana, no qual os papis fossem invertidos, isto ,
o domnio B confiasse explicitamente no domnio A. Da mesma forma, o
relacionamento de confiana estabelecido entre dois domnios no estendido a
outros domnios pelo fato de haverem relacionamentos de confiana adicionais.
Assim, se o domnio A confia em B e B confia em um terceiro domnio C, no ser
estabelecido com isso que o domnio A confia em C. Isso s aconteceria se fosse
criado um relacionamento de confiana entre os domnios A e C.

O Active Directory, recurso incorporado ao Windows 2000, altera esse quadro,


estabelecendo novas caractersticas para os relacionamentos de confiana, como
veremos adiante.

Os relacionamentos de confiana simplificam o gerenciamento de contas e


direitos de acesso em redes complexas, proporcionando uma estrutura mais
escalvel e possibilitando o emprego de mtodos de administrao distribuda.
- 63 -

Contudo, eles representam uma vulnerabilidade potencial, uma vez que uma
explorao bem conduzida dessa caracterstica pode deixar um atacante em
condies de acessar recursos num domnio confiante.

Sistema de arquivos NTFS :

Embora reconhea e possa operar em unidades e parties formatadas por


sistemas de arquivos tradicionais como FAT e HPFS, Windows NT dispe de um
sistema de arquivos prprio, denominado NTFS NT File System. O NTFS foi
desenvolvido especialmente para uso com este sistema operacional. Ele um
sistema de arquivos sofisticado e seguro, que incorpora mecanismos avanados
de controle e recuperao de erros.

No NTFS, a estrutura da MFT Master File Table, que corresponde FAT


File Allocation Table de outros sistemas de arquivos, foi definida de modo a
orientar com facilidade o acesso a arquivos e diretrios. O sistema mantm uma
cpia de segurana da MFT em uma rea do disco fisicamente afastada da
localizao da MFT original. Isso diminui os riscos de perda da MFT. As
operaes de gravao no NTFS tambm so mais seguras em razo de um
mecanismo de controle baseado em logs de transao. Esse mecanismo faz com
que cada operao seja registrada antes de sua execuo, permanecendo o
registro em aberto at que a operao seja concluda. Caso haja uma falha
inesperada, decorrente de corte da energia eltrica ou outra causa fortuita, e a
transao seja interrompida, ela poder ser retomada com base nas informaes
do log, garantindo assim a integridade dos dados.

Naturalmente,

complexidade

dessas

funes

implica

num

overhead

relativamente alto. A Microsoft recomenda uma anlise da viabilidade do


emprego do NTFS baseada em caractersticas de hardware para sistemas cujos
recursos sejam limitados, a fim de preservar uma performance adequada.

Contudo, no que diz respeito segurana de dados, a caracterstica mais


importante do NTFS a possibilidade de estabelecer restries de acesso a nvel
- 64 -

de arquivo. Essas restries so definidas pelas chamadas permisses NTFS, cujo


emprego detalhado a seguir. Na prtica, as permisses NTFS atribudas sobre
um arquivo ou diretrio constituem-se em atributos especiais ou propriedades
dos arquivos.

Restries de acesso :

As restries de acesso no Windows NT so implementadas em dois nveis :


compartilhamentos e sistema de arquivos.

No primeiro nvel, Windows NT permite a atribuio de permisses de


compartilhamento, que definem o grau de acesso que um determinado usurio ou
grupo ter sobre um recurso compartilhado quando acess-lo atravs da rede. As
permisses de compartilhamento aplicam-se a recursos compartilhados, tais
como diretrios e impressoras de rede. Elas no podem ser aplicadas a arquivos
individuais. Elas especificam que operaes o usurio ou grupo poder executar
com o recurso em questo. Essas operaes variam conforme o recurso
considerado. Assim, para arquivos e diretrios existem as seguintes permisses :

No access ( Sem acesso )

Read ( Leitura )

Write ( Gravao )

Full Control ( Controle Total )

J para impressoras compartilhadas as permisses so as seguintes :

No access ( Sem acesso )

Print ( Imprimir )

Manage documents ( Gerenciar documentos )

Full Control ( Controle Total )

As restries impostas pelas permisses de compartilhamento limitam


exclusivamente o acesso atravs da rede, ou seja, no fornecem controle efetivo
quando o recurso acessado localmente.
- 65 -

As restries de sistema de arquivos so estabelecidas por meio de permisses


NTFS, assim chamadas por serem suportadas por esse sistema de arquivos, sendo
sua implementao possvel apenas em parties formatadas com NTFS. As
permisses NTFS oferecem controle sobre arquivo individuais e diretrios,
inclusive para acesso local a esses recursos.

O conjunto de permisses NTFS mais elaborado que o das permisses de


compartilhamento, combinando um certo nmero de permisses padro em
permisses aplicveis a diretrios, permisses individuais para arquivos e
permisses de acesso especial.

As permisses NTFS padro so as seguintes :

Read ( R ) - Leitura

Execute ( X ) - Execuo

Write ( W ) - Escrita ou gravao

Delete ( D ) - Excluso

Change permissions ( P ) Alterar permisses

Take ownership ( O ) Tomar posse

As tabelas apresentadas a seguir demonstram como as permisses NTFS padro


so combinadas em permisses mais complexas, restringindo a execuo de
operaes sobre diretrios e arquivos :

Permisses para pastas ou diretrios


Tipo

Combinao

Aes permitidas

Sem acesso

Nenhuma.

Listar

Examinar
subdiretrios

diretrio,

seus

e ter acesso aos

nomes dos arquivos neles contidos.

- 66 -

Permisses para pastas ou diretrios ( cont. )


Leitura

R+X

Ler o contedo de arquivos e


executar programas.

Adio

W+X

Inserir novos arquivos no diretrio,


sem ler seu contedo ou alter-los.

Adio

e R+W+X

Inserir novos arquivos no diretrio,

leitura
Alterao

ler seu contedo e alter-los.


R+W+X+D

Inserir novos arquivos no diretrio,


ler seu contedo, alter-los e exclulos.

Controle total R + W + X + D + O

Inserir novos arquivos no diretrio,


ler seu contedo, alter-los, exclulos, tomar posse deles e alterar as
permisses de acesso estabelecidas.

Permisses para arquivos


Tipo

Combinao

Aes permitidas

Sem acesso

Nenhuma.

Leitura

R+X

Ler o contedo do arquivo e, se for


um programa, execut-lo.

Alterao

R+W+X+D

Ler o contedo do arquivo, alterlo e exclu-lo.

Controle total R + W + X + D + O

Ler o contedo do arquivo, alterlo, exclu-lo, tomar posse dele e


alterar as permisses de acesso
estabelecidas.

As permisses especiais sobre arquivos ou pastas so obtidas a partir da


associao das permisses padro em combinaes diferentes das mencionadas
nas tabelas acima. Elas fornecem graus de controle adicionais sobre o acesso a
arquivos e pastas.
- 67 -

As permisses NTFS podem ser combinadas ainda com as permisses de


compartilhamento, prevalecendo em cada caso a combinao de direitos mais
restritiva. Esse amplo conjunto de possibilidades faz com que o Windows NT seja
capaz de oferecer grande preciso e flexibilidade no controle de acesso sobre
pastas, arquivos e outros recursos. Entretanto, a relativa complexidade de
configurao de direitos, decorrente sobretudo do grande nmero de opes e dos
mtodos usados para combin-las em permisses efetivas, exige uma
administrao metdica e cuidadosa. A situao exposta a seguir exemplifica essa
necessidade.

Quando um recurso compartilhado, Windows NT por padro atribui sobre ele


a permisso Full Control para o grupo Everyone. Como este grupo inclui todos os
usurios, isto significa que na prtica so concedidos direitos irrestritos a
qualquer usurio sobre o compartilhamento recm-criado. Supostamente, essa
caracterstica existe para prevenir que um recurso torne-se inacessvel, caso no
haja nenhum usurio ou grupo com direitos suficientes para controlar o acesso a
ele. Contudo, isso sempre obriga o administrador a reconfigurar o acesso
definido automaticamente pelo sistema operacional, removendo os direitos
concedidos ao grupo Everyone e atribuindo outros conforme as exigncias da
situao. Fica estabelecida com isso uma condio insegura, desde que uma falha
nesse procedimento poder deixar um compartilhamento aberto ao acesso de
qualquer usurio.

Como vimos, o acesso a recursos da rede pode ser controlado pela configurao
de restries de acesso baseada em permisses de compartilhamento e permisses
NTFS. Alm dessa possibilidade, Windows NT fornece meios que podem ser
usados para restringir o acesso do usurio a informaes crticas e at mesmo ao
uso de programas e interfaces de configurao em suas estaes de trabalho. As
diretivas de contas, as diretivas de sistemas ou policies e os perfis de usurio
renem uma grande variedade de opes por meio das quais possvel
estabelecer uma poltica eficaz de manuteno e renovao de senhas, padronizar
interfaces, definindo um ambiente de trabalho consistente com as necessidades de
segurana, e controlar as aes dos usurios a nvel de desktop. A profuso de
- 68 -

detalhes envolvidos no seu uso leva-me a optar por no descrever aqui esses
mtodos. Cumpre assinalar, entretanto, que eles devem ser considerados como
um recurso efetivo para a manuteno da segurana.

Suporte a mltiplos protocolos :

O Windows NT oferece suporte nativo a uma grande variedade de protocolos,


dentre eles o TCP/IP, o NetBEUI e IPX/SPX, este ltimo distribudo no Windows
NT com o nome de NWLink. Esta caracterstica empresta grande versatilidade ao
sistema operacional, possibilitando seu uso em ambientes heterogneos e sua
integrao com sistemas diversos.

Cabe mencionar aqui que a utilizao de mltiplos protocolos em sistemas


Windows NT deve seguir um planejamento cuidadoso, em que se considere no s
as necessidades de comunicao, mas tambm as implicaes sobre a segurana
que isso poder trazer. Uma vez mais vlida a recomendao no sentido de que
no sejam habilitados protocolos ou servios que no sero utilizados, a fim de
restringir as possibilidades de explorao.

As funes de roteamento que podem ser implementadas em servidores NT com a


habilitao do RIP devem ser tambm cuidadosamente analisadas sob a
perspectiva dos efeitos na segurana do host e das redes conectadas a ele. O
protocolo RIP serve de base para tcnicas de ataque ao roteamento mencionadas
no captulo 3.

Alm disso, os protocolos suportados pelo Windows NT para uso em conexes de


longa distncia, como o PPP e o SLIP apresentam caractersticas de segurana
prprias. importante conhec-las a fim de avaliar os efeitos de sua utilizao.

O SLIP Serial Line Protocol - um protocolo de WAN utilizado pelo Windows


NT apenas para conexo como cliente de hosts UNIX. Um servidor NT no aceita
conexes baseadas em SLIP. Essa limitao reduz o risco decorrente das
deficincias de segurana desse protocolo, que no suporta criptografia na
- 69 -

autenticao de usurios. Entretanto, seu emprego num ambiente de rede


heterogneo pode ainda representar uma vulnerabilidade importante, na medida
em que expe senhas em texto claro na rede .

J o PPP Point-to-Point Protocol constitui-se no protocolo padro do Windows


NT para suporte a conexes remotas. Ele traz diversas vantagens sobre o SLIP,
das quais a mais relevante no que toca segurana da rede o suporte
autenticao por meio de senhas criptografadas.

NetBIOS e WINS :

O NetBIOS foi criado em 1983 no mbito de um projeto da IBM para desenvolver


um protocolo capaz de viabilizar a comunicao entre aplicaes executadas em
diversos hosts conectados. O NetBIOS um protocolo no rotevel, simples e
rpido, com overhead muito baixo. Por essa razo, utilizado pelo Windows NT
para suporte a funes bsicas, como acesso remoto a arquivos, transferncia de
dados e impresso em rede.

O NetBIOS engloba uma API Application Programming Interface - e um


protocolo de controle de sesso. A interface de programao disponibiliza um
conjunto de funes e comandos, permitindo que aplicaes utilizem uma conexo
existente para transmitir e receber dados. As funes do NetBIOS so dessa forma
implementadas sobre conexes gerenciadas pelos protocolos das camadas
inferiores. Quando o protocolo da camada de transporte que fornece ao NetBIOS
os servios de conexo o TCP/IP, emprega-se o termo NetBIOS sobre TCP/IP.

NetBIOS define um sistema de nomeao plano ou no hierrquico, no qual cada


host recebe um nome nico com extenso de at dezesseis bytes. Os nomes
NetBIOS podem ser usados para a localizao de recursos em uma rede de
propores limitadas. Numa rede mais ampla ou num sistema de redes
interconectadas, as possibilidades do NetBIOS so consideravelmente reduzidas.
Como o sistema de nomeao NetBIOS no hierrquico, todos os hosts detm
status equivalente. Embora seja possvel implementar um nvel elementar de
- 70 -

organizao de espao de nomes, reunindo hosts em grupos denominados escopos


NetBIOS, no possvel o estabelecimento de estruturas organizadas em nveis que
facilitem a localizao e o gerenciamento.

NetBIOS utiliza broadcasts para registrar nomes de host e para localizar


computadores na rede. Em condies usuais, os broadcasts tm seu alcance
limitado ao segmento de rede local, no ultrapassando a fronteira representada
pelos roteadores que ligam a rede local a outras redes. Quando um computador
necessita localizar e estabelecer conexo com outro host baseado em seu nome
NetBIOS, ele envia um broadcast de consulta que respondido pelo host de destino
com seu endereo IP.

A resoluo de nomes NetBIOS, ou seja, sua converso em endereos IP pode ser


feita tambm por meio de arquivos de texto contendo entradas que vinculem em
pares os nomes NetBIOS aos endereos IP correspondentes. Esses arquivos,
disponveis em cada host, devem obedecer aos padres de denominao e
localizao estabelecidos pelo sistema operacional. No caso do Windows NT, o
arquivo de resoluo de nomes NetBIOS denominado LMHOST e localiza-se em
WINNT\SYSTEM32\DRIVERS\ETC.

O emprego de arquivos de nomes possibilita que hosts posicionados em redes


remotas sejam localizados por seus nomes NetBIOS. Nesses casos, o host de origem
no depender de broadcasts limitados rede local para obter o endereo IP do
host de destino. Ele examinar o contedo do arquivo LMHOSTS. Havendo ali
uma entrada que associe o nome NetBIOS do host de destino a um endereo IP, o
host de origem ter a informao necessria para solicitar a abertura de uma
conexo.

Um benefcio adicional do emprego de arquivos de texto como LMHOSTS para a


resoluo de nomes NetBIOS a reduo de trfego na rede, uma vez que substitui
o mtodo de resoluo baseado em broadcasts. Existem, porm, alguns problemas
relacionados ao seu uso. A mais importante delas decorre do fato de que os
arquivos LMHOSTS so estticos, havendo a necessidade de atualizao manual a
- 71 -

cada alterao ocorrida no ambiente, como a incluso de novos hosts, por exemplo.
Em uma rede com grande nmero de hosts, isso pode representar um encargo
administrativo difcil de gerenciar.

A utilizao de um servidor de nomes outra forma de estender o alcance do


NetBIOS, possibilitando sua utilizao em ambientes com mais de um segmento de
rede. Havendo a disponibilidade de um NBNS NetBIOS Name Server , o host de
origem enviar sua consulta em um pacote unicast direcionado ao servidor de
nomes. Caso disponha da informao necessria resoluo solicitada, o servidor
de nomes responder enviando tambm um pacote unicast ao host de origem.
Sendo assim, o emprego de servidor de nomes NetBIOS tambm contribui para
limitar a sobrecarga de trfego na rede, reduzindo a ocorrncia de consultas em
broadcasts.

Windows NT utiliza uma implementao de servidor de nomes NetBIOS


denominada WINS Windows Internet Name Service. WINS instalado em
servidores NT como um servio adicional. Os clientes da rede devem ser
configurados ento para utilizarem WINS como um mtodo de resoluo de nomes
NetBIOS. Como parte dessa configurao, especificado tambm o servidor WINS
que cada cliente dever consultar. Ao inicializar, o cliente registra seu nome
NetBIOS junto ao servidor WINS configurado. A base de dados do WINS assim
atualizada dinamicamente, restringindo a possibilidade de erros e simplificando a
administrao.

A principal vulnerabilidade associada ao emprego do WINS como mtodo de


resoluo de nomes decorre do fato de que o registro do nome NetBIOS de um host
na base de dados do servidor feito sem qualquer tipo de autenticao ou
verificao, favorecendo dessa forma a ocorrncia de ataques de personificao
como IP spoofing, que apresentado no Captulo 3 deste trabalho. Num ataque de
IP spoofing, um host configurado com um nome NetBIOS falso poder registrar
esse nome junto ao WINS, disponibilizando essa informao para os demais hosts
da rede. WINS possui mtodos para tratar nomes duplicados, mas eles limitam-se
a evitar que um host registre um nome j utilizado por outro host. Naturalmente, o
- 72 -

atacante interessado em simular a identidade de outro host pode at mesmo evitar


essa situao aproveitando-se de uma interrupo normal de funcionamento do
host personificado ou mantendo o host fora do ar mediante o uso de uma tcnica
de negao de servio. A utilizao de entradas fixas, inseridas manualmente na
base de dados WINS representa uma forma de exercer algum controle sobre essa
vulnerabilidade. Ela pode ser aplicada para hosts que executem funes crticas na
rede, mas dificilmente um administrador cogitaria em utilizar entradas fixas para
todos os hosts da rede, j que estaria abrindo mo assim da atualizao dinmica
da base de dados, uma das principais funcionalidades do WINS.

Servios de acesso remoto :

O Windows NT fornece um servio que permite a conexo de clientes remotos a um


servidor Windows

NT Server atravs de links de longa distncia, como linhas

discadas e conexes ISDN ou X.25. O RAS Remote Access Services instalado


como um servio em um Windows NT Server. Aps a instalao, o servio deve ser
vinculado a um ou mais protocolos. O RAS suporta os protocolos TCP/IP, NWLink e
NetBEUI.

Quando conectados a um servidor RAS, os clientes remotos podem ter acesso a


recursos no somente nesse servidor, mas em outros hosts da rede local. Por atuar na
ligao da rede local com ns remotos, o RAS impe requisitos de segurana
compatveis com os riscos que sua utilizao importa. O servio conta com recursos
prprios de segurana e controle, que descrevemos a seguir.

O processo de autenticao de usurios que se conectam rede por meio do


RAS permite o emprego opcional de senhas criptografadas. Trs
configuraes esto disponveis e devem ser selecionadas conforme a situao:

1. Aceitar qualquer autenticao inclusive texto claro Esta configurao


determina que sejam utilizadas senhas no criptografadas. Ela
recomendvel apenas quando a segurana de logon no um requisito

- 73 -

ou quando os hosts envolvidos no suportam qualquer mtodo de


autenticao criptografada.

2. Aceitar somente autenticao criptografada Esta configurao utiliza


padres no proprietrios para a criptografia das senhas. Deve ser
usada quando h necessidade de preservar a confidencialidade das
senhas, mas um dos hosts envolvidos um servidor ou cliente noMicrosoft.

3. Aceitar somente autenticao criptografada Microsoft Esta


configurao emprega o MS-CHAP Microsoft Challenge Handshake
Authentication Protocol e exige que ambos os hosts envolvidos sejam
servidores ou clientes Microsoft.

As restries e diretivas de segurana implementadas no domnio para contas


de usurios e de grupos permanecem funcionais quando um usurio faz logon
no domnio por meio de um servidor RAS. Como o servio RAS executa uma
autenticao do usurio remoto baseada no SAM do servidor NT e em
permisses de discagem configuradas para aquele usurio, o conjunto de
restries e privilgios associado conta do usurio mantm sua consistncia.
Esse modelo de logon em rede nica, como referenciado na documentao da
Microsoft, simplifica a administrao e incrementa a segurana do processo.

RAS oferece a possibilidade de configurar verificaes de segurana


aplicveis s chamadas recebidas. Quando configuradas, essas verificaes
funcionam interrompendo a conexo logo aps o recebimento da chamada,
discando de volta para o nmero que executou a chamada ou para outro
nmero predefinido. Esse mecanismo de callback, como chamado, assegura
que a conexo est sendo feita de um local conhecido ou confivel.

RAS permite a utilizao de um host de segurana intermedirio, posicionado


entre o cliente remoto e o servidor RAS. Esse host ir executar uma
autenticao adicional do cliente antes que a conexo com o servidor RAS
- 74 -

possa ser feita. A utilizao de um host de segurana intermedirio no


elimina a necessidade de autenticao imposta pelo servidor RAS, mas
acrescenta um nvel de segurana extra conexo.

As autenticaes via RAS geram informaes passveis de serem registradas


em logs de auditoria. O mecanismo de auditoria do Windows NT descrito
em detalhes mais adiante neste captulo.

Um servidor RAS dotado de uma conexo contnua com a Internet pode ser
configurado para utilizar o PPTP Point-to-Point Tunelling Protocol
encapsulando os pacotes TCP/IP, IPX ou NetBEUI enviados para a grande
rede em pacotes desse protocolo. O PPTP criptografa os dados transmitidos,
assegurando sua integridade e confidencialidade. Os pacotes recebidos so
filtrados no adaptador de rede conectado Internet. O adaptador aceitar
apenas os pacotes PPTP destinados rede local ou interna. Pacotes de outros
protocolos sero descartados. Essa tcnica a base das VPNs Virtual
Private Networks-, uma soluo bastante difundida e eficaz, capaz de fornecer
um intercmbio seguro de dados pela Internet, alm da reduo dos custos de
comunicao. As VPNs so descritas no captulo 4.

Auditoria :

Windows NT dispe de uma ferramenta de auditoria integrada ao sistema


operacional, por meio da qual possvel observar a ocorrncia de determinados
eventos, registrando informaes em um arquivo de log para anlise posterior.

A auditoria do Windows NT definida para um domnio como uma diretiva que


especifica quais os eventos que devero ser auditados e como eles sero
registrados. Os eventos que podem ser auditados pelo servio de auditoria do
Windows NT so os seguintes :

Acesso e alteraes em diretrios e arquivos

Acesso e alteraes em impressoras


- 75 -

Logon e logoff de usurios

Desligamentos e reinicializaes do sistema

Alteraes em contas de usurios e grupos

Alteraes em diretivas de segurana

A auditoria aplicada sobre arquivos e diretrios requer que os mesmos estejam


em uma partio NTFS.

A auditoria ir registrar cada evento em um arquivo denominado log de


segurana, informando a ao executada, o xito ou falha da ao, o usurio que
a executou ou tentou executar e a data e hora em que isso ocorreu. O exame do
log se segurana pode ser facilitado pela utilizao de mecanismos de filtragem
que separam eventos especficos em meio a um grande nmero de outros eventos.
Os filtros disponveis permitem separar eventos por intervalo de tempo, por tipo,
por usurio e por vrias outras categorias.

O log de segurana armazenado localmente, o que representa uma limitao


importante, especialmente quando comparado com o syslog do UNIX. Caso o
host venha a sofrer um comprometimento de segurana e um atacante obtenha
acesso ao sistema com direitos apropriados, o log poder ser alterado de modo a
encobrir a invaso.

Como dissemos, cada evento pode ser auditado em bases de xito ou falha, isto ,
o administrador pode optar por registrar no log de segurana as aes executadas
com sucesso ou aquelas que consistem em tentativas de acesso a recursos
bloqueadas pelas restries vigentes. Este segundo tipo de registro de grande
auxlio na observao das tentativas de acesso no autorizado.

Alm de permitir o acompanhamento de ocorrncias relacionadas segurana do


sistema, o que geralmente feito auditando-se eventos que resultam em falhas, a
auditoria do Windows NT til tambm para monitorar tendncias de utilizao
de recursos. Nesse caso, devem ser observadas as aes que tm xito e analisadas
sua origem e freqncia, registradas ao longo de um perodo representativo.
- 76 -

Deve-se sempre ter em mente que, a par de sua grande utilidade, a auditoria
envolve custos, representados pela sobrecarga imposta ao sistema para registrar
continuamente os eventos relacionados na diretiva da auditoria, alm do
esperado crescimento do arquivo de log. Esse crescimento pode ser exagerado
quando registrado o xito de eventos, normalmente muito mais freqente do
que as falhas, ou quando a auditoria realizada sobre um nmero muito grande
de eventos. Essas so algumas das razes pelas quais a configurao de auditorias
no permitida a usurios comuns, constituindo-se num privilgio concedido aos
administradores do sistema.

Ainda assim, a auditoria representa um recurso extremamente valioso no


planejamento e conduo de uma poltica de segurana.

Por meio dela o

administrador de rede pode obter informaes detalhadas sobre a utilizao de


recursos e detectar tentativas de acesso no autorizado. A utilidade dessas
informaes muito ampla, podendo servir tanto para subsidiar aes
antecipadas capazes de evitar futuras violaes da segurana quanto para definir
responsabilidades administrativas sobre uso indevido de recursos e outras
ocorrncias dessa natureza.

Necessidade de atualizaes :

A descoberta de vulnerabilidades e a distribuio peridica de correes e


atualizaes constituem-se em eventos normais no ciclo de utilizao de qualquer
sistema operacional de rede. No caso do Windows NT esta necessidade tem sido
particularmente marcante. Desde a primeira verso foram observadas diversas
falhas de segurana, algumas de considervel gravidade. Esses problemas
mereceram correes por parte da Microsoft, a maioria delas oportunas e
eficazes. A Microsoft tem distribudo correes em pacotes denominados Service
Packs.

surpreendentemente

comum,

entretanto,

ocorrncia

de

comprometimentos como resultado da aplicao inadequada, ou mesmo da no


aplicao,

dessas

correes.

Todo

administrador

que

tenha

sob

sua

responsabilidade sistemas baseados em Windows NT deve dedicar especial


- 77 -

ateno ao cumprimento da regra geral que recomenda manter servidores e


estaes de trabalho sempre atualizados com as ltimas correes disponveis.

Active Directory :

O Active Directory um servio de diretrio oferecido como parte do Windows


2000. Ele prev interoperabilidade com outros sistemas operacionais e suporte a
funes avanadas como distribuio automatizada de software e suporte a
certificados digitais.

As interaes entre o Active Directory e diretrios em outras redes so


gerenciadas pelo LDAP Lightweight Directory Access Protocol, um conjunto de
protocolos de padro aberto projetado para dar suporte troca de informaes
entre bancos de dados de diretrio em sistemas operacionais diferentes ou no. O
Active Directory prev a possibilidade de apoiar as interaes entre diretrios
com o emprego de conexes seguras baseadas em SSL - Secure Sockets Layer. O
uso de mecanismos especiais de autenticao, como uma implementao do
Kerberos, pode tambm ser configurado para fornecer nveis de segurana
adicionais, uma exigncia frequente em operaes de e-commerce, por exemplo.

O Active Directory representa uma iniciativa da Microsoft para estabelecer um


novo modelo de gerenciamento integrado de recursos, distinto e aperfeioado em
relao quele oferecido pelo Windows NT 4.0, que dependia de relaes de
confiana para a integrao de domnios. Com o Active Directory os
relacionamentos de confiana so substitudos por uma representao unificada
do conjunto de recursos disponveis em vrios domnios. Embora beneficie a
administrao, o Active Directory apresenta vulnerabilidades relevantes. Em
ambientes onde convivem servidores Windows NT 4.0 e Windows 2000 o
diretrio consultado pelos servidores NT 4.0 com RAS instalado a fim de
determinar as restries vigentes para o acesso remoto. A instalao do Active
Directory prev essa possibilidade e configura o servio para aceitar consultas
remotas. Essa possibilidade pode ser explorada por um usurio remoto para a

- 78 -

obteno de informaes crticas do sistema. Pode ser usado para isso um


utilitrio denominado ldp, capaz de examinar o contedo do diretrio.

3. Novell Netware:

NetWare um sistema operacional de rede desenvolvido e comercializado pela


Novell Inc. a partir de 1981. Sua origem remonta ao incio da dcada de oitenta.
Nessa poca, as mdias de armazenamento fixas eram caras e de capacidade limitada.
Os custos envolvidos no armazenamento de dados eram consideravelmente altos e,
dependendo do porte da organizao,

a necessidade de dotar cada estao de

trabalho de um disco rgido prprio podia representar gastos de milhares de dlares.


O compartilhamento de um nico disco rgido por vrios computadores
interconectados surgiu como uma alternativa atraente para fornecer capacidade de
armazenamento com custos reduzidos. A Novell Data Systems, que se dedicava ento
produo de computadores em Utah, nos Estados Unidos, deu incio ao
desenvolvimento de um sistema que permitisse que um disco rgido fosse utilizado
por mais de um usurio ao mesmo tempo. O sistema, criado por uma equipe que
contava com a participao de Drew Major e Dale Neibaur entre outros, obteve
excelentes resultados, alcanando extraordinrio sucesso comercial e incorporando
subseqentemente novos aperfeioamentos e funcionalidades. A verso 2.0 do
sistema, lanada em 1985 trazia otimizaes que lhe permitiam alto rendimento com
processadores 80286, os mais avanados da poca. O NetWare rapidamente imps-se
como o sistema operacional de rede mais utilizado na rea empresarial e deu
Novell a hegemonia do mercado, com uma antecedncia de quase dez anos em
relao s suas concorrentes mais significativas. A verso 4.11 recebeu o nome
comercial de intraNetWare.

Uma srie de equvocos comerciais que se tornaram histricos e a presso de


concorrentes como o Windows NT e, mais recentemente, o Linux, foram
responsveis pela perda dessa posio. Atualmente, o emprego do NetWare como
sistema operacional de rede apresenta uma forte tendncia decrescente. Contudo,
sua anlise no corpo deste trabalho justifica-se por duas circunstncias. Em primeiro
lugar porque o sistema oferece um modelo de gerenciamento extremamente
- 79 -

consistente e avanadas funes de segurana. Essas caractersticas, alm de garantir


ao NetWare a reputao de sistema confivel e seguro, vieram a orientar o
aperfeioamento de tcnicas de controle e segurana empregadas em outros sistemas
operacionais. Em segundo lugar, a ampla base instalada do NetWare, sobretudo em
grandes corporaes e rgos pblicos, coloca-o ainda como um dos sistemas
operacionais de rede mais utilizados, no obstante sua presena no mercado
diminuir a cada dia.

As circunstncias que deram origem ao NetWare condicionaram a evoluo do


sistema por um longo perodo e, em muitos aspectos, fazem sentir-se ainda hoje. Elas
determinaram caractersticas que fizeram do NetWare um sistema operacional
confivel e seguro. Expomos a seguir algumas dessas caractersticas :
Arquitetura cliente servidor :
Uma rede NetWare marcada pela definio das funes de cliente e servidor de
maneira

acentuada.

De

fato,

NetWare

limita

as

possibilidades

de

compartilhamento de recursos a nvel de estao de trabalho e centraliza nos


servidores as funes de controle de acesso.

Essa caracterstica restringe a flexibilidade do sistema operacional, impedindo


que muitos recursos das estaes de trabalho, como arquivos e diretrios, sejam
compartilhados na rede. Em contrapartida, o modelo de segurana determinado
pelo sistema operacional apresenta grande consistncia e contribui para o
estabelecimento de condies de segurana muito slidas. A concentrao de
recursos e funes nos servidores permite ao administrador de uma rede
NetWare focalizar esforos, com consequncias favorveis sobre o controle e a
segurana. A criao de pontos nicos de falha satisfatoriamente compensada
pela estabilidade do sistema e por mecanismos de redundncia que sero
mencionados adiante.

- 80 -

Novell Directory Services :


At a verso 3.12, o NetWare gerenciava recursos a partir de uma base de dados
denominada bindery, instalada com o sistema operacional em cada servidor. O
bindery controlava apenas os recursos disponveis no servidor NetWare em que
estava instalado. Num cenrio de mltiplos servidores, era necessrio que os
usurios mantivessem uma conta em cada servidor para ter acesso aos recursos
de todos eles. Evidentemente esse era um mtodo pouco vantajoso, complicando a
administrao da rede e limitando sua escalabilidade. Com a verso 4.1 do
sistema foi introduzido o NDS, um servio que compunha uma base de dados,
denominada Diretrio, muito mais ampla que o bindery, capaz de conjugar
informaes sobre vrios servidores em uma estrutura lgica e hierrquica
denominada rvore. O NDS expandiu de forma significativa a capacidade do
NetWare

para

suportar

grandes

redes,

centralizando

as

funes

de

gerenciamento em um servio diretrios altamente integrado.

O NDS compatvel com o padro X.500 para servios de diretrios. Ele permite
acesso lgico a recursos independente de sua localizao fsica e fornece
interoperabilidade com outros tipos de rede. Ele foi responsvel tambm por
ganhos importantes de eficincia e estabilidade.

O NDS representa cada recurso da rede como um objeto ao qual so associadas


propriedades especficas. Uma conta de usurio, por exemplo, representada por
um objeto Usurio, com propriedades como restries de senha e scripts de login.
Uma impressora compartilhada representada por um objeto Impressora, com
propriedades como tipo de impressora e endereo de rede. O NDS autentica
usurios e controla o acesso a recursos com base na identificao dos objetos que
os representam e em suas propriedades.

O acesso aos recursos controlado no NetWare por meio de designaes de


trustees. Um trustee um objeto ao qual so atribudos direitos sobre outro
objeto. Assim, para acessar um diretrio compartilhado num servidor NetWare,
um objeto Usurio deve ser designado como trustee daquele diretrio, com os
- 81 -

direitos apropriados. A cada solicitao de acesso, o sistema verifica a base de


dados e, examinando as propriedades do objeto que representa o recurso,
determina se os direitos configurados permitem o acesso. Esse mtodo garante
um controle consistente e eficaz, a partir de uma base de dados unificada que
congrega todas as informaes necessrias a essa funo. O NDS permite ainda a
reunio de usurios em grupos, tambm representados por um objeto no NDS, a
propagao dos direitos atribudos ao longo da estrutura da rvore conforme
regras de herana e a aplicao de filtros denominados IRFs Inherited Rights
Filters, para controlar essa propagao.

O NDS mantm uma cpia principal de sua base de dados em um servidor


determinado, que normalmente o primeiro servidor instalado na rvore,
embora isso possa ser alterado. Essa cpia principal denominada rplica master
do Diretrio. Rplicas do diretrio so criadas automaticamente no segundo e
terceiro servidores instalados na rvore. Se necessrio, outras rplicas podem ser
criadas em servidores instalados subsequentemente. Essas novas rplicas tm
caractersticas diferentes da rplica master, sendo classificadas, conforme essas
caractersticas, em rplicas read-write ou rplicas read-only. Existe ainda um
quarto tipo de rplica, denominada referncia subordinada, com finalidades
especiais que no sero abordadas aqui.

O acesso a recursos pode ser autorizado pela consulta s informaes do


Diretrio que constam das rplicas, mas as alteraes nas propriedades dos
objetos devem ser requisitadas rplica master, que as autoriza e registra.
Periodicamente, o servidor que mantm a rplica master replica as alteraes do
Diretrio para os outros servidores que contenham rplicas. A funo de
replicao preserva a integridade do Diretrio e acelera o acesso a recursos,
permitindo que rplicas do Diretrio sejam distribudas estrategicamente na rede
e posicionadas prximas aos recursos ou aos usurios que os acessam.

O xito do NDS em prover gerenciamento a redes de grande porte, aliado a suas


caractersticas de interoperabilidade, levaram-no a ser portado para outras
plataformas e vendido pela Novell como um produto separado.
- 82 -

Suporte limitado aos protocolos TCP/IP :


At sua verso 4.12 o NetWare no oferecia suporte nativo aos protocolos
TCP/IP. Os protocolos das camadas de Internet e Transporte padro do sistema
eram respectivamente o IPX Internetwork Packet Exchange e o SPX
Sequenced Packet Exchange. Embora o IPX seja um protocolo rotevel e
bastante eficiente em vrias funes, ele no to eficiente quanto o TCP/IP para
dar suporte comunicao num ambiente complexo de redes interconectadas. A
integrao de uma rede exclusivamente IPX com redes TCP/IP era possvel pela
instalao nos servidores NetWare de um servio especial, denominado IPX
Gateway, que fazia a traduo de pacotes IPX em pacotes TCP/IP e vice-versa.
Esse modelo funcionava bem em redes pequenas e mdias, contribuindo inclusive
para que as redes que operavam exclusivamente o IPX estivessem de certa forma
preservadas de vulnerabilidades especficas do TCP/IP. Contudo, medida que
as redes expandiam-se e que o trfego inter-redes crescia, a necessidade de
suporte mais amplo ao TCP/IP acabou por impor-se. A partir da verso 5.0, o
NetWare passou a fornecer uma implementao prpria do TCP/IP.
Plataforma para aplicaes avanadas :
As verses mais recentes do NetWare, alm de oferecerem amplo suporte ao
TCP/IP, funcionam como plataforma para aplicaes e servios avanados.
Dentre eles esto o servidor de aplicativos IBM Websphere Application Server, o
software de gerenciamento remoto de desktops Z.E.N.works, a ferramenta de
groupware Novell GroupWise e outros.

Dentre as aplicaes que utilizam o NetWare como plataforma, destaca-se o


Novell Border Manager. O Border Manager uma sute de aplicativos orientada
segurana. Estreitamente integrado com o NDS, ele prov um conjunto
bastante amplo de servios que podem ser gerenciados de maneira unificada.
Dentre eles temos :

- 83 -

servios de proxy e firewall, capazes de controlar o acesso de usurios


externos a recursos da rede local, bem como o acesso de usurios
internos a redes remotas e Internet.

servios de autenticao compatveis com vrios mtodos de login,


como senhas, tokens, certificados digitais e processos biomtricos.

servios de suporte a VPN, que possibilitam a montagem de redes


privadas virtuais interligando redes remotas.

Novell Border Manager oferece ainda recursos como cache de contedo web e
servios de acesso para usurios remotos.

- 84 -

Captulo 3

Violaes da segurana

- 85 -

Violaes da segurana
O desenvolvimento de tcnicas destinadas a comprometer servios nas redes
baseadas em TCP/IP ou a fornecer acesso no autorizado a dados manipulados no
mbito dessas redes vem acompanhando o crescimento exponencial da Internet e das
redes corporativas que utilizam essa tecnologia.

Julguei oportuno descrever alguns desses mtodos no pela engenhosidade que


eventualmente revelam, nem tampouco pela srie de outras razes menos
justificveis que j estimulou a criao de inmeros textos sobre o tema. Na verdade,
as tcnicas de ataque concebidas para utilizao em redes TCP/IP consideram e
exploram falhas de segurana, eventuais ou intrnsecas, do conjunto de protocolos
mais usado na comunicao de computadores em rede. Por isso, pareceu-me que
investigar seu funcionamento, suas formas de emprego e, quando possvel, os
conceitos

que

orientaram

seu

desenvolvimento

corresponderia

analisar

possibilidades e limitaes dos protocolos sob uma perspectiva eminentemente


prtica.

Naturalmente no pretendo elaborar um inventrio das tcnicas disponveis no dia


de hoje, inclusive porque amanh certamente j existiro outras. Tambm no meu
propsito apresentar as tcnicas mais utilizadas ou as mais eficientes. Procuro
descrever aqui aquelas que me pareceram mais representativas das falhas de
segurana associadas aos protocolos TCP/IP,

procurando focalizar as maneiras

pelas quais as caractersticas dos protocolos so aproveitadas no comprometimento


da segurana.

Deve ser entendido que algumas dessas tcnicas no tm seu uso restrito ao ambiente
de redes TCP/IP, podendo ser empregadas em outros tipos de rede. Da mesma
forma, tcnicas que se apoiam em protocolos e funes da camada superior so
tambm mencionadas, por sua associao freqente com as redes IP.

- 86 -

Categorizar mtodos e tcnicas de ataque , a meu ver, uma tarefa difcil e quase
sempre

destinada

produzir

resultados

incompletos

ou

imprecisos.

desenvolvimento contnuo de novas tcnicas, o aperfeioamento e adaptao das


tcnicas existentes e a combinao de diversas tcnicas em mtodos de ataque mais
complexos fazem com que toda classificao tenha sua preciso e abrangncia
rapidamente comprometida. Contudo, descrever as tcnicas de ataque com base em
suas caractersticas similares constitui-se numa forma til de esclarecer seu
funcionamento, expor os conceitos envolvidos em sua criao e avaliar os mtodos de
preveno e reao que podem ser opostos a elas. A classificao proposta neste
trabalho simples e orientada ao objetivo genrico que cada uma das tcnicas busca
alcanar. Sendo assim, procuro organizar as tcnicas de ataque com base nos efeitos
pretendidos a partir de seu emprego, estabelecendo trs grandes categorias :

Tcnicas para obteno de informaes

Tcnicas para negao de servios

Tcnicas para obteno de acesso no autorizado

Algumas tcnicas, entretanto, acham seus aspectos mais marcantes no nos efeitos
pretendidos, que podem ser bastante variados, mas na natureza do sistema ou subsistema a que se direcionam. Para melhor caracteriz-las foram criadas trs categorias
especiais :

Ataques contra roteadores

Ataques baseados em CGI

Ataques baseados em browsers

1. Tcnicas para obteno de informaes :

Reuni nessa categoria as tcnicas e procedimentos que podem ser usados para a
obteno de informaes crticas sobre a rede ou o host alvo. Tipicamente, essas
informaes sero usadas a posteriori na orientao de outros ataques. Conforme o
critrio de classificao proposto aqui, a principal finalidade dessas tcnicas obter
informaes sobre sistemas. O acesso a dados comunicados pela rede ou armazenados
- 87 -

em hosts conectados no constitui-se em seu objetivo prioritrio, embora algumas delas


possam fornecer isso, cumulativamente ou num segundo momento.

Dentre as

informaes mais freqentemente procuradas esto :

Nome do host alvo

Endereo IP do host alvo

Topologias fsica ou lgica da rede

Sistema operacional executado no alvo

Aplicaes em execuo no alvo

Atualizaes ou patches de correo instalados

Servios disponveis no alvo

Portas em estado de escuta ( listening )

Senhas de usurios ou administradores do sistema

Algumas das tcnicas mais conhecidas desta categoria, descritas nos sub-tpicos a
seguir, so as seguintes :

Cracking de senhas

Varredura de portas

Emprego de utilitrios

1. Cracking de senhas :

As senhas constituem-se em uma informao crtica sobre o sistema na


medida em que podem permitir o acesso a funes, recursos e dados.
O cracking ou quebra de senhas , na verdade, um extenso conjunto de
mtodos e tcnicas por meio dos quais procura-se recuperar as senhas que so
usadas por usurios e administradores do sistema alvo a partir dos arquivos
onde so registradas ou dos datagramas que as transportam ao longo da rede.
Esse processo envolve, na maioria dos casos, as seguintes exigncias :

necessrio obter a senha em texto claro, de modo que possa ser


reproduzida para utilizao.
- 88 -

necessrio que a senha obtida seja associada a uma identificao de


usurio vlida, uma vez que o processo de login exige a identificao do
usurio juntamente com a informao da senha.

Nos casos em que se procura obter a senha a partir de arquivos,


necessrio obter acesso aos arquivos. A possibilidade de cpia desses
arquivos para um ambiente controlado, isento do efeito de
contramedidas, favorece o xito das tcnicas aplicadas.

Nos casos em que se procura obter a senha a partir de datagramas


interceptados durante seu trnsito pela rede, necessrio capturar e
armazenar esses datagramas, conferindo-lhes a estabilidade necessria
aplicao da tcnica escolhida.

A fim de que essas exigncias possam ser atendidas, as tcnicas para quebra
de senhas costumam ser empregadas em conjunto com outras tcnicas, como
o sniffing passivo, que ser detalhado mais adiante, ainda no mbito desta
categoria.

As tcnicas para quebra de senhas so desenvolvidas com base em dois


mtodos genricos, que chamaremos de mtodo de fora bruta e de mtodo do
dicionrio.

O mtodo de fora bruta um mtodo de tentativa e erro, envolvendo o teste


de todas as combinaes possveis de caracteres que podem ser usados como
senha, at que uma combinao funcione. Este mtodo pouco eficiente, em
especial quando so usadas senhas longas ou quando as senhas so compostas
com uma grande variedade de caracteres alfabticos, numricos e especiais.

O mtodo do dicionrio emprega uma lista previamente elaborada de


palavras ou combinaes de caracteres, que so testados um a um como
possvel senha, at que uma combinao produza um resultado positivo. Este
- 89 -

mtodo reduz o espao amostral das combinaes possveis, porm de forma


arbitrria. , em geral, mais rpido e eficiente que o mtodo de fora bruta,
salvo nos casos em que as senhas so geradas aleatoriamente, no
correspondendo a palavras de uso comum ou outras combinaes conhecidas.
Uma variante desse mtodo consiste em testar como possveis senhas certas
palavras ou combinaes que sejam, por alguma razo, relacionadas ao
usurio cuja senha pretende-se obter. Um pequeno dicionrio pessoal pode
ser elaborado com o prprio nome do usurio, a data de seu nascimento,
outra senha do usurio que j seja conhecida e informaes

similares,

ajudando a reduzir o tempo necessrio para obter-se um resultado positivo.

Esses mtodos so implementados em uma grande variedade de ferramentas


especficas para a quebra de senhas. O funcionamento dessas ferramentas
baseado num processo contnuo de gerao e teste de alternativas, com um
elevado custo em termos de tempo e capacidade de processamento. A
vulnerabilidade de um sistema ao cracking de senhas no deve ser avaliada
pela possibilidade ou impossibilidade em obter-se a senha correta.
Teoricamente, qualquer senha pode ser quebrada. A avaliao deve levar em
conta esse custo e os limites prticos que ele impe ao atacante.

Todos os sistemas operacionais oferecem mecanismos para a utilizao e


gerenciamento seguros das senhas. Esses mecanismos podem apresentar
nveis variados de sofisticao e eficincia, mas quase sempre envolvem
criptografia em algum nvel, controle sobre o tempo de validade de cada
senha, bloqueio de acesso aps tentativas de login frustradas e crtica e
rejeio de senhas bvias ou demasiado curtas, as chamadas senhas fracas. O
mau uso desses recursos ou a excessiva confiana neles so apontados
consensualmente como as principais vulnerabilidades dos sistemas a essa
tcnica. Administradores e usurios costumam utilizar ou permitir o uso de
senhas demasiado curtas, que facilitam o trabalho de cracking por exigirem
um nmero relativamente pequeno de tentativas para serem descobertas. A
confiana no fato de que o sistema no permitir ataques diretos, bloqueando
o acesso a uma conta quando forem verificadas vrias tentativas de login
- 90 -

incorretas, ou a idia de que a criptografia aplicada s senhas totalmente


eficaz podem dar margem a uma proteo inadequada aos arquivos que as
contm ou negligncia quanto possibilidade de que senhas criptografadas
possam ser capturadas na rede. Nesses casos, deixado ao atacante o recurso
de testar alternativas criptografando-as com algoritmos conhecidos e
comparando o resultado com a senha criptografada a que teve acesso.

2. Varredura de portas :
A varredura de portas, ou port scanning, consiste em testar as portas de um
host, ou mesmo de um grupo de hosts, a fim de determinar quais dessas
portas esto em condies de aceitar conexes. Eventualmente, a varredura de
portas capaz de revelar outras informaes de interesse, tais como o sistema
operacional em execuo, a partir da anlise de como o alvo reage aos eventos
gerados na varredura.

A varredura de portas feita pelo uso de software especficos, capazes de


enviar pacotes com destino s portas do host alvo, monitorar as respostas
emitidas pelo alvo e gerar relatrios de anlise.

Um software precursor dentre os port scanners o SATAN, ou System


Administrator Tool for Analyzing Networks. Ele foi criado por Dan Farmer e
Wietse Venema como uma ferramenta de anlise para uso de administradores
de redes. SATAN capaz de analisar um host especfico ou um grupo de hosts
indicados,

procurando

por

ocorrncias

de

uma

extensa

srie

de

vulnerabilidades conhecidas, identificando-as e gerando relatrios detalhados.


Ironicamente, essas funcionalidades podem ser to teis para a preveno de
ataques e falhas quanto para a identificao de alvos compensadores.
Podem ocorrer ligeiras diferenas na forma como o port scanner executa a
varredura. Teramos, assim, os seguintes tipos de varreduras de portas :

Varredura padro nesses casos a varredura iniciada com o envio de


um pacote TCP SYN para o alvo. O three-way handshake executado
- 91 -

de forma completa e a conexo entre o host que executa o port scanner


e o alvo estabelecida. Isso possibilita a obteno de informaes mais
abrangentes, mas tem o inconveniente de facilitar que a varredura seja
percebida e sua origem determinada.

Varredura TCP SYN nesses casos a varredura tambm iniciada


com o envio de um pacote TCP SYN para o alvo, mas a conexo no
completada. Quando o alvo responde solicitao de abertura da
conexo com um pacote TCP ACK ou TCP RST, o port scanner j
capaz de avaliar se a porta est em estado de escuta e interrompe o
processo de conexo com aquela porta. Por essa razo, essa
modalidade referenciada s vezes como varredura semi-aberta. O
mtodo dificulta a deteco da varredura.

Stealth scanning nessa modalidade o processo iniciado no com um


pacote TCP SYN, mas com um pacote que simula uma conexo j
existente. A forma como o alvo responde a esse pacote pode no s
revelar o estado da porta mas tambm fornecer informaes adicionais
sobre o alvo. Este tipo de varredura foi desenvolvido com o propsito
de evitar que filtros de pacotes configurados para bloquear apenas
pacotes TCP SYN inviabilizem a varredura.

A varredura de portas uma tcnica de ataque que se aproveita do fato de


que o TCP/IP gerencia as conexes de forma automatizada e com um nvel de
crtica muito elementar. Na maioria dos casos, um host procura responder a
toda e qualquer solicitao de abertura de conexo endereada a suas portas,
sem avaliar a origem do pedido. O uso de portas conhecidas associadas a
servios padro outra caracterstica explorada por essa tcnica.

3. Emprego de utilitrios :

Esta tcnica apoia-se no emprego de ferramentas padro de gerenciamento da


rede com o objetivo de obter informaes sobre o alvo. Se por um lado oferece
- 92 -

resultados mais limitados que as demais tcnicas nesta categoria, por outro o
emprego de utilitrios de execuo simples e rpida, dispensando, em alguns
casos, a utilizao de software especfico, uma vez que vrios dos utilitrios
que do suporte tcnica fazem parte dos conjuntos TCP/IP padro.

Uma configurao cuidadosa de servios nos hosts que representam alvos


potenciais, associada a outras medidas preventivas, pode limitar muito a
eficcia desta tcnica. Contudo, a experincia comprova que o emprego de
utilitrios ainda um mtodo eficaz de obteno de informaes sobre
sistemas e ambientes.

Dentre uma grande variedade de utilitrios que podem ser empregados,


citamos os seguintes :

Ping um utilitrio utilizado para verificar se um determinado host


est em condies de ser conectado. Ping funciona enviando uma
mensagem ICMP_ECHO a um determinado host, especificado por seu
nome ou pelo seu endereo IP. O host receber a mensagem e
responder automaticamente com uma mensagem ICMP_REPLY,
informando seu endereo IP ou seu nome e o tempo de ida e volta das
mensagens. Ping um dos utilitrios mais simples dentre aqueles que
encontramos associados ao TCP/IP e est disponvel em praticamente
todas as suas implementaes.

Traceroute um utilitrio que pode ser usado para determinar a rota


que um datagrama dever percorrer para atingir um determinado
host. Traceroute envia ao host de destino um datagrama com TTL
igual a 1. Ao ser descartado pelo primeiro roteador no caminho, uma
mensagem ICMP gerada e endereada ao host de origem, que repete
o envio do datagrama incrementando o TTL at que o host de destino
seja alcanado. Isso permite que todos os roteadores intermedirios
sejam identificados.
- 93 -

Netstat e nbtstat o netstat um utilitrio presente na maioria das


implementaes TCP/IP. O nbtstat utilizado em implementaes que
utilizam

protocolo

NetBIOS

sobre

TCP/IP,

como

as

implementaes TCP/IP da Microsoft. Estes utilitrios so capazes de


fornecer informaes sobre portas, interfaces de rede e tabelas de
roteamento, entre outras.

Finger o finger constitui-se em outro exemplo de utilitrio padro do


TCP/IP que pode ser utilizado para a obteno de informaes sobre o
sistema alvo. A utilizao do finger pode revelar detalhes como nomes
de usurios conectados ao sistema. A utilizao do finger depende de
que o servio correspondente esteja habilitado no host alvo.

4. Sniffing passivo :

Esta tcnica consiste na utilizao de sniffers, que so

componentes de

software capazes de capturar os pacotes que trafegam por uma rede. Os


sniffers incluem drivers que permitem que as interfaces de rede passem a
operar em modo promscuo, isto , escutando todos os pacotes que circulam
pelo meio fsico ao qual esto conectadas e no apenas aqueles que so
destinados a elas. Os sniffers podem filtrar os pacotes recebidos, capturando
somente os que atenderem a determinados critrios de interesse prconfigurados. Aps capturados, os pacotes podem ser armazenados para uma
posterior anlise de suas caractersticas ou das informaes neles contidas.

O emprego de sniffing passivo exige algum tipo de acesso a um host da rede


local, onde o sniffer ser instalado. Por essa razo, a tcnica mais
freqentemente empregada por usurios internos da rede ou por usurios
remotos aps o prvio comprometimento de um host local.
Apesar dessas exigncias, nem sempre fceis de atender, sniffing passivo
uma tcnica muito eficaz e seu emprego pode representar uma ameaa
considervel confidencialidade de informaes crticas, como senhas por
- 94 -

exemplo. Na verdade, as possibilidades do sniffing passivo estendem-se alm


da obteno de informaes relativas ao funcionamento dos sistemas, criando
condies para que seja obtido tambm acesso no autorizado aos dados que
trafegam na rede.

O emprego de sniffers d margem ainda a uma extenso da tcnica com


objetivos mais amplos que a simples obteno de informaes. Os pacotes
capturados pelos sniffers podem vir a ser alterados e retransmitidos, num
procedimento denominado sniffing ativo ou active sniffing.

As ferramentas empregadas em sniffing so variadas e de fcil obteno. A


maioria executa sobre UNIX ou Windows NT. Boa parte delas so de uso
comercial, constituindo-se em mdulos de software de gerenciamento ou de
anlise de trfego de rede. O Network Monitor, desenvolvido pela Microsoft
para uso com Windows NT, um bom exemplo disso.

Sniffing uma tcnica de ataque que oferece elevado potencial de risco. Por
isso, as contramedidas indicadas para prevenir ou controlar o seu emprego
so altamente recomendadas, ainda que envolvam alguma complexidade.
Dentre essas contramedidas, citamos as seguintes :

Criptografia de dados e de parmetros a aplicao de criptografia


sobre os dados transmitidos na rede, bem como sobre parmetros
contidos nos cabealhos de camadas superiores, reduz o impacto desta
tcnica, dificultando o acesso do atacante s informaes capturadas.

Emprego de uma topologia segura para capturar pacotes em


trnsito, o sniffer exige mdia compartilhada, isto , requer que o
adaptador de rede colocado em modo promscuo seja conectado
diretamente a um segmento de rede. Nessas condies, os pacotes
capturados sero exclusivamente os que trafegam por aquele
segmento. A organizao fsica da rede em segmentos distintos,
conectados entre si por roteadores, switches ou bridges, ir contribuir
- 95 -

para reduzir as amostras de dados capturados, limitando a eficcia


desta tcnica. Uma topologia segura deve tambm reduzir os riscos de
que dispositivos estranhos sejam anexados mdia.

Deteco de sniffers em atividade a deteco de sniffers em uma rede


uma operao difcil. De incio, os sniffers so passivos, limitando-se a
ouvir o trfego na rede sem emitir sinais de sua presena. Existem
software desenvolvidos com a finalidade de detectar sniffers, mas seu
emprego complexo e limitado a determinados sistemas operacionais.
A verificao em cada host pode ser uma alternativa mais eficiente,
sobretudo em redes pequenas ou mdias. Recursos de hardware ou
software que detectem e informem alteraes na topologia da rede,
como a incluso indevida de um novo host, podem contribuir
circunstancialmente para a deteco de um sniffer instalado.

2. Tcnicas para negao de servios :

Esta categoria engloba um conjunto de tcnicas freqentemente citadas sob a


denominao genrica de DoS, do ingls Denial of Services. Seu propsito comum o de
tornar hosts e servios da rede inoperantes ou, pelo menos, degradar seu funcionamento
a um ponto em que sua utilizao torne-se invivel ou no compensadora.
A maioria dessas tcnicas busca esgotar os recursos do sistema alvo, forando uma
interrupo total ou parcial dos servios. Capacidade de processamento, largura de
banda e capacidade de armazenamento de dados so alguns dos recursos visados pelas
tcnicas de negao de servios. Falhas de implementao, bugs e outras peculiaridades
dos

sistemas

operacionais

dos

aplicativos

so

tambm

considerados

no

desenvolvimento dessas tcnicas, na medida em que podem oferecer oportunidades para


comprometer o funcionamento do sistema, a partir de sua incapacidade de tratar
convenientemente erros ou eventos especficos.
Embora existam tcnicas de negao de servios destinadas a atacar estaes de
trabalho e computadores pessoais, como o clebre WinNuke, que explorava falhas de
implementao nas primeiras verses do Windows 95 para causar quedas de conexo e
- 96 -

travamentos, a maioria dos ataques parece ser orientada contra sistemas de maior porte,
que oferecem servios a um grande nmero de usurios, como o caso de servidores
web, ou que desempenham funes crticas para o funcionamento de redes e sistemas
distribudos. Roteadores, servidores DNS e firewalls costumam ser os alvos preferenciais
desses ataques.

interessante notar que as tcnicas de negao de servios so freqentemente


aplicadas como uma etapa intermediria de mtodos de ataque mais complexos,
servindo, por exemplo, para deixar um host fora do ar a fim de que outro host assuma
sua identidade ou interrompendo o funcionamento de um sistema que execute funes
de segurana e controle da rede.

Sero citadas as seguintes tcnicas de negao de servios :

SYN Flood

LAND

Ataques baseados em ICMP

Teardrop

Ping oDeath

Ataques de dessincronizao

DDoS Distributed Denial of Services

1. SYN Flood :

Esta tcnica consiste no envio de uma grande seqncia de pacotes TCP SYN
para o host alvo. Esses pacotes so interpretados como solicitaes de
estabelecimento de conexo e, como tais, so armazenadas em uma fila de
conexes em andamento. Os pacotes TCP SYN/ACK enviados pelo alvo em
resposta aos falsos pedidos de conexo no so respondidos, normalmente
porque as solicitaes so geradas com um endereo IP falso ou invlido no
lugar do endereo da mquina que originou o ataque. Assim, a fila de
conexes em andamento atinge rapidamente seu limite configurado e passa a
- 97 -

descartar novas solicitaes de conexo, o que na prtica torna indisponveis


os servios residentes no host alvo.

claro que o alvo no ir manter os pedidos de conexo em andamento


indefinidamente. Ele os eliminar num intervalo de tempo pr-definido.
Contudo, enquanto o envio de falsas solicitaes de conexo for contnuo, a
efetividade do ataque ser mantida.

A vulnerabilidade de um sistema a este tipo de ataque pode ser reduzida se


forem adotadas configuraes especiais que aumentem a capacidade da fila,
permitindo que um nmero maior de conexes permaneam aguardando, ou
que reduzam o limite de tempo aps o qual uma conexo solicitada e no
estabelecida eliminada. O emprego de software especfico para monitorar os
pedidos de conexo em andamento constitui-se em uma contramedida ainda
mais eficaz.
2. LAND :

LAND baseia-se no efeito que o recebimento de um datagrama IP no qual os


endereos de origem e destino so iguais pode ter sobre determinados
sistemas. Em certos casos, o processamento desse datagrama no alvo ir
produzir um loop que pode esgotar os recursos da mquina, causando sensvel
queda de desempenho ou at o travamento do sistema.

Variaes desta tcnica prevem alteraes em outros campos no cabealho


IP do datagrama invlido, como as portas ou os bits de controle, por exemplo.
Essas alteraes so capazes de produzir no host alvo efeitos semelhantes aos
do LAND original.

Os datagramas invlidos so enviados pelo atacante mediante o uso de


software especfico que permite a gerao do datagrama e a adulterao dos
campos conforme sua necessidade.

- 98 -

3. Ataques baseados em ICMP :


Este conjunto de tcnicas aproveita-se das funcionalidades do ICMP
Internet Control Message Protocol, para criar eventos capazes de afetar o
funcionamento de alvos especficos. Como vimos, o ICMP empregado em
tarefas de controle e verificao das comunicaes entre hosts e roteadores.
Ele utiliza mensagens padronizadas que so enviadas com o propsito de
checar a possibilidade de comunicar-se com um host de destino. Por exemplo,
o utilitrio ping, bastante conhecido, permite o envio de mensagens ICMP a
um host especificado a fim de verificar se esse host alcanvel. As
implementaes padro do TCP/IP iro reagir automaticamente s
mensagens ICMP recebidas, executando as aes apropriadas a cada caso.
Elas respondero a pedidos de ICMP_ECHO ou podero encerrar conexes
estabelecidas a partir do recebimento de mensagens do tipo Destination
Unreachable ou Time to Live Exceeded.

Normalmente, no ser executada qualquer modalidade de autenticao dos


pedidos ou de crtica de caractersticas especiais, como repeties excessivas.

Uma das modalidades mais simples de ataque baseado em ICMP o


PingFlood. Nessa modalidade uma seqncia ininterrupta de mensagens
ICMP enviada ao host alvo, que ocupa-se em responder a todas elas,
consumindo desnecessariamente seus recursos.

Por sua vez, o ataque denominado Pong envia mensagens ICMP a um grande
nmero de hosts, normalmente endereando-as a um endereo de broadcast.
Nas mensagens, o endereo de resposta informado o endereo do alvo.
Quando todos os hosts respondem, o alvo recebe uma grande quantidade de
mensagens ICMP simultaneamente, tendo com isso suas comunicaes
afetadas ou interrompidas.

A tcnica denominada SMURF constitui-se num aperfeioamento do Pong,


ampliando o nmero de hosts que enviaro mensagens ICMP ao alvo pelo
- 99 -

envio da requisio falsa no apenas a um mas a vrios endereos de


broadcast. Uma variao dessa tcnica, que foi denominada FRAGGLE,
utiliza como protocolo de transporte o UDP em lugar do TCP.
4. Teardrop :

Esta tcnica explora o processo de remontagem de um datagrama IP


fragmentado, adulterando informaes no cabealho IP de forma a produzir
uma situao que o alvo no consiga processar adequadamente, causando
instabilidades ou falhas.

5. Ping ODeath :

Apesar do nome, o Ping O'Death no um ataque baseado em ICMP, embora


suas primeiras verses tenham sido baseadas em uma modificao do
utilitrio ping capaz de gerar os datagramas invlidos empregados neste
ataque. Na verdade, a tcnica consiste basicamente no envio ao host alvo de
um datagrama com tamanho alm do limite de 65535 bytes. Como um
datagrama com essas caractersticas no pode ser roteado, ele fragmentado
na origem e chega ao alvo sob a forma de vrios datagramas contendo os
fragmentos do datagrama original. Quando o alvo procede a remontagem do
datagrama a partir desses fragmentos, ele experimenta efeitos que podem
variar, conforme o sistema operacional em uso, da exibio de mensagens de
erro at a completa paralisao do sistema.

6. Ataque de dessincronizao :

A interferncia nos estgios iniciais da conexo TCP a base desta tcnica. O


atacante monitora o envio de pedidos de abertura de conexo de um host a
outro. Quando o host B reconhece o pedido de abertura de conexo, enviando
ao host A um segmento SYN/ACK, o atacante envia-lhe um segmento RST
com o endereo IP e a porta utilizados pelo host A. Isso leva o host B a
finalizar prematuramente a conexo. Imediatamente, o atacante envia ao host
- 100 -

B um segmento SYN, solicitando a abertura de uma nova conexo. Esse


segmento tambm leva o endereo IP e a porta utilizados pelo host A. O host
B aceita o pedido e abre uma segunda conexo. Como o host A no tem
conhecimento da finalizao da primeira conexo provocada pelo atacante,
ele mantm a porta utilizada em estado de conexo estabelecida. O host B
tambm manter sua porta correspondente em estado de conexo
estabelecida, pois acredita que a nova conexo estabelecida com o host A
vlida. O resultado desse processo que os dois hosts tero estabelecido uma
conexo dessincronizada, que no pode ser usada para a transferncia de
dados mas que consome recursos de ambas as mquinas.

As figuras abaixo ilustram as duas fases desse processo :

Host A

Host B
SYN (1)
SYN/ACK (1)

RST
SYN (2)

Atacante
Ataque de dessincronizao ( primeira fase ).

- 101 -

Host A

Host B
SYN/ACK (2)
ACK (1)

Ataque de dessincronizao ( segunda fase ).

7. DDoS Distributed Denial of Services :

Esta tcnica ganhou grande notoriedade a partir da srie de ataques bem


sucedidos empreendidos contra sites famosos no incio do ano 2000. Ela
potencializa os danos causados por outras tcnicas de negao de servios,
como SYN Flood por exemplo, fazendo com que um grande nmero de hosts
lancem o ataque, de forma automatizada e simultnea, contra um alvo
escolhido.

O ataque deve ser previamente organizado e para isso so empregados


software especficos como o TFN, o Stacheldraht e o Trinoo.

Essas

ferramentas so instaladas em alguns hosts, deixando-os em condies de


atuar como servidores ou masters. Paralelamente, um grande nmero de
outros hosts recebe tambm componentes de software, passando por sua vez a
representar o papel de clientes ou slaves. Tanto a instalao de servidores
quanto a distribuio dos mdulos clientes so feitas de forma no autorizada,
com os componentes embutidos em outros programas supostamente
inofensivos ou aproveitando-se de conhecidas falhas de segurana dos
sistemas operacionais.

- 102 -

A comando do atacante, os servidores comunicam-se com os clientes,


determinando o incio do ataque. Em resposta, os hosts que executam o
mdulo cliente lanam, a um s tempo, uma srie de ataques contra o alvo ou
os alvos especificados no comando inicial. A efetividade dos ataques
aumentada pela participao simultnea de um elevado nmero de hosts. O
atacante goza da vantagem adicional representada pela dificuldade em
determinar a origem do ataque, que em sua etapa final desencadeado a
partir de diversos pontos, normalmente sem a interveno dos responsveis
pelos hosts que o executam.

As ferramentas utilizadas em DDoS apresentam um alto nvel de sofisticao,


integrando recursos avanados que vo desde mecanismos de distribuio
automatizada dos mdulos clientes at comunicaes criptografadas entre os
servidores e os clientes.

Distributed Denial of Service merece ateno no apenas pela sua eficcia,


mas principalmente por estabelecer um novo modelo de ataque distribudo.
Entretanto, as verses conhecidas do ataque exploram as mesmas brechas
exploradas por outras tcnicas de negao de servios, no tendo contribudo
at o momento para revelar novas falhas de segurana, mas apenas novos
graus de comprometimento a partir de vulnerabilidades conhecidas.

3. Tcnicas para obteno de acesso no autorizado :


A caracterstica comum entre as tcnicas de ataque agrupadas nesta categoria a de
terem como propsito principal oferecer ao atacante acesso no autorizado a dados ou
servios dos sistemas alvo. Uma vez mais, os efeitos obtidos a partir da aplicao destas
tcnicas podem mesclar-se. Ao utilizar uma delas para transferir dados sem autorizao
a partir de um sistema remoto, um atacante pode, eventualmente, obter acesso a
informaes crticas do alvo, como um arquivo de senhas, por exemplo. Numa outra
situao igualmente plausvel, se um atacante assume o endereo IP de um determinado
host a fim de obter para si o acesso a recursos normalmente concedido a esse host, os
servios fornecidos pelo host personificado ficaro inacessveis enquanto durar o ataque.
- 103 -

Deve-se ter em mente que o acesso no autorizado pode envolver riscos mais amplos do
que simplesmente fornecer conhecimento sobre a informao representada nos dados.
Dependendo do grau de acesso obtido, o atacante pode ver-se em condies de alterar o
contedo dos dados sem que isso seja percebido. Os dados adulterados podem ser
reenviados ao destino ou mantidos na sua localizao original sem alteraes aparentes.

Os efeitos dessa ameaa potencial podem ser, em determinadas circunstncias, ainda


mais agudos que a simples quebra da confidencialidade dos dados.

Sero descritas a seguir as seguintes tcnicas de ataque :


Spoofing
Active sniffing
Buffer overflow
Explorao de relacionamentos de confiana
Ataques de fragmentao
Ataques baseados em sequence numbers
Trojans

1. Spoofing

O spoofing o ataque de personificao tpico, consistindo na utilizao de


um endereo IP falso por parte do atacante, normalmente com o propsito de
simular ou personificar outro host. Isso pode ser feito mediante alteraes no
cabealho IP dos pacotes transmitidos ou, quando possvel, configurando com
um endereo IP falso o host de onde ser lanado o ataque.

O spoofing usado freqentemente para explorar uma relao de confiana


ou um mecanismo de autenticao baseados unicamente em endereo IP. De
fato, existem vrios servios que concedem acesso a endereos IP
especificados, como o NFS e o servios de proxy do MS Windows NT.
- 104 -

O spoofing ter sua execuo mais fcil se o atacante puder abrir a conexo
usando o IP falso, em lugar de inserir-se em uma conexo j existente. Na
verdade, as tcnicas que envolvem a personificao de um host no curso de
uma conexo estabelecida apresentam diferenciais de complexidade to
apreciveis que so consideradas tcnicas parte, como terei oportunidade de
expor mais adiante.

Para que o atacante encontre condies de abrir a

conexo simulando ser um outro host, necessrio que o outro host no esteja
ativo no momento. Isso pode ser conseguido aproveitando uma ocasio em
que o host esteja efetivamente desligado, o que pode ser verificado ou mesmo
previsto por uma criteriosa coleta de informaes sobre os alvos. Caso o host
que ser personificado ache-se em atividade, a aplicao de uma tcnica de
negao de servios pode tir-lo do ar, fornecendo ao atacante a oportunidade
de assumir seu endereo IP.

A prtica do spoofing simplificada quando aplicada sobre UDP. Nesse caso,


a simplicidade relativa do protocolo favorece o emprego da tcnica. Em
contrapartida, em conexes TCP o atacante estaria s voltas com o problema
representado pelos sequence numbers que acompanham cada pacote
transmitido e que precisariam tambm ser corretamente simulados, sob pena
de que a conexo fosse interrompida.

Uma situao que seria extremamente favorvel ao atacante aquela na qual


o host de onde o ataque lanado encontra-se na mesma rede local que o host
a ser personificado. Nesses casos, roteadores e firewalls no seriam capazes de
perceber a simulao, uma vez que o endereo IP coerente com a localizao
do host. Porm, se o atacante tenta simular um endereo IP a partir de uma
rede remota, o que representa uma situao mais usual, um firewall bem
configurado poder perceber que os pacotes transmitidos pelo atacante no se
originam da rede local ou interna como deveriam. Espera-se, nessas
circunstncias, que o firewall filtre os pacotes e anule o ataque.

- 105 -

Outro aspecto a ser considerado que o emprego desta tcnica poder ter
algum impacto sobre a segurana dos sistemas ainda que o atacante no se
coloque em condies de receber os pacotes enviados pelos hosts iludidos em
resposta s suas solicitaes. Isso depender do propsito do ataque. Caso esse
propsito esteja limitado a obter acesso para acrescentar dados ou arquivos,
como um cavalo de tria por exemplo, no sistema alvo, pouco importar se os
pacotes de resposta se perdem ou so enviados ao host personificado.

Um caso particular de spoofing digno de meno o spoofing por meio de


DNS. Nesse caso, o atacante altera a base de dados um servidor DNS de modo
a associar seu endereo IP a uma determinada URL. As requisies feitas
quele servidor envolvendo a URL alterada sero resolvidas com o
fornecimento do endereo IP do atacante. Isso ir direcionar o acesso de
clientes ao host do atacante em lugar do host ou servio pretendido. Se o host
do atacante oferecer um servio similar ao solicitado pelo cliente, como uma
pgina web forjada por exemplo, possvel que o engano nem seja percebido
e que o cliente fornea informaes ou recupere dados no ntegros ou no
autnticos.

2. Active sniffing

Active sniffing uma variao da tcnica passive sniffing, mencionada


anteriormente, que consiste na captura de pacotes em trnsito pela rede. O
active sniffing ocorrer quando o atacante, alm de capturar os pacotes,
puder alterar seu contedo e reenvi-los, comprometendo sua integridade ou
confidencialidade sem interromper as comunicaes. Os mtodos e
ferramentas usados em active sniffing so, de maneira geral, os mesmos que
suportam o passive sniffing. Da mesma forma, as contramedidas indicadas
para prevenir a aplicao com xito de uma tcnica sero igualmente teis
contra a outra.

- 106 -

3. Buffer overflow

Esta denominao designa um conjunto de aes e mtodos destinados a


explorar uma classe de vulnerabilidades que afeta grande nmero de sistemas
operacionais e aplicativos. Embora ligeiramente diversificados, esses mtodos
compartilham um princpio comum e buscam um nico objetivo genrico.

O princpio comum baseia-se no fato de que alguns processos executados em


um host so, usualmente, controlados por contas de sistema. Essas contas
possuem direitos muito amplos, normalmente equivalentes aos direitos de
administrador ou root. o caso da conta SYSTEM no MS Windows NT ou da
conta HTTPD em UNIX, para citar apenas dois exemplos. Compreendendo
essa caracterstica possvel imaginar que a execuo de comandos
arbitrrios no mbito de um processo originalmente conduzido por uma conta
de sistema poder ter efeitos crticos, uma vez que no estar sujeita s
restries de acesso impostas aos usurios comuns. O problema consiste em
criar uma condio especial na qual os comandos inseridos pelo atacante
sejam executados como parte do processo afetado. Essa condio criada pelo
chamado buffer overflow, ou estouro de buffer. O buffer overflow
desencadeado pela entrada de dados com extenso ou formato que o processo
no seja capaz de tratar, provocando uma sobrecarga no espao de memria
alocado para a aplicao. Essa sobrecarga ir possibilitar a execuo
subsequente de cdigo arbitrrio, a partir de comandos que o atacante poder
inserir remotamente. Neste ponto, conforme a aplicao ou sistema visado, o
atacante estar apto a acessar arquivos, obter um shell ou alterar
configuraes.

O objetivo genrico dos ataques de buffer overflow obter acesso privilegiado


a um sistema, dando ao atacante a possibilidade de executar remotamente
tarefas que, em condies normais, seriam restritas.

O buffer overflow decorre de falhas na implementao de software. A


ausncia de rotinas de crtica aos dados de entrada uma das mais comuns. A
- 107 -

identificao de vulnerabilidades que exponham um software especfico a esta


tcnica de ataque costuma levar ao desenvolvimento e distribuio gratuita
de patches e atualizaes. A aplicao criteriosa dessas correes uma
contramedida simples mas eficaz para o tratamento do problema.

4. Explorao de relacionamentos de confiana

Relacionamentos de confiana so um recurso disponvel em sistemas como


UNIX e MS Windows NT que visa estender os direitos de acesso concedidos a
um usurio do sistema a outros sistemas, simplificando e flexibilizando a
administrao. No MS Windows NT os relacionamentos de confiana so
estabelecidos entre domnios. No UNIX, podem ser estabelecidos entre hosts.
Em qualquer caso, a essncia do recurso a de que um host ou domnio
declarado ou configurado como confivel passa a ter acesso automtico a
recursos do domnio ou host confiante, normalmente sem que se faa
necessrio realizar autenticaes ou validaes adicionais.

Em que pese sua utilidade, mais sensvel em ambientes de rede complexos, os


relacionamentos de confiana representam uma ameaa potencial
segurana. Sua explorao pode ser feita a partir do emprego de tcnicas
como o spoofing, de modo que o atacante venha a personificar um host
confivel para obter acesso no autorizado. Existem, contudo, outras formas
de explorao desse recurso. No caso especfico do UNIX, os arquivos
/etc/hosts.equiv e ~/.rhosts so usados para listar os hosts e usurios
considerados confiveis. Um atacante que venha a ter acesso a esses arquivos
pode incluir entradas de modo a atribuir o status de usurio confivel a si
prprio, ou de host confivel mquina que lhe for conveniente.

5. Ataques de fragmentao

Os ataques de fragmentao so conduzidos para explorar determinadas


limitaes das funes de filtragem de pacotes que so implementadas em
roteadores e outros dispositivos da rede. Essas funes, em muitos casos,
- 108 -

verificam apenas pacotes de abertura de conexo. Se o primeiro fragmento de


um pacote recebido no contiver um bit SYN definido, o filtro assume que o
pacote no um pacote de abertura de conexo e permite sua passagem.

O ataque consiste na manipulao e envio de datagramas fragmentados de


forma que o bit SYN esteja definido no no primeiro fragmento, mas num dos
fragmentos subsequentes. Espera-se com isso que o filtro de pacotes aceite
todos os fragmentos, permitindo que eles alcancem o alvo, normalmente um
host de destino na rede interna. No alvo, o datagrama ser remontado e,
eventualmente, o pedido de conexo ser reconhecido.

6. Ataques baseados em sequence numbers

Os ataques baseados em sequence numbers so tcnicas de grande


complexidade que permitem ao atacante forar sua participao em uma
conexo personificando um dos hosts envolvidos. O fundamento desta tcnica
a previso de sequence numbers.

Os sequence numbers, como vimos no captulo 1, so parmetros usados para


manter a conexo baseada em TCP, sendo incrementados a partir de um
valor inicial, denominado ISN Initial Sequence Number - e transmitidos por
um host ao outro a cada mensagem enviada ou recebida. Os sequence
numbers orientam a reordenao dos segmentos que chegam ao host de
destino e seu correto recebimento sinaliza para cada host que seu interlocutor
continua participando da conexo.

A cada pedido de conexo recebido informado um ISN. As regras para a


gerao do ISN envolvem uma varivel aleatria e um incremento fixo e
padronizado, que ser aplicado em uma frequncia determinada sobre essa
varivel para definir cada novo ISN gerado. Como as caractersticas do
incremento padro podem ser conhecidas, a previso do ISN feita a partir
de um ou mais pedidos de conexo ao alvo e da observao dos ISNs
informados.
- 109 -

Como descrito por Bellovin em Security Problems in the TCP/IP Protocol


Suite, fatores como o incremento padro utiizado, o clock da CPU do alvo e
mesmo a velocidade da rede podem contribuir para a o acerto da previso.
Curiosamente, CPUs e redes mais rpidas tendem a tornar as previses mais
apuradas.

Duas classes de contramedidas so recomendveis na preveno de ataques


baseados em sequence numbers. A primeira diz respeito a alteraes no
incremento padro, adotando incrementos menores ou frequncias de
aplicao maiores. Valores aleatrios para o incremento so tambm
considerados. Naturalmente isso exige que as implementaes do TCP sejam
alteradas.

Uma contramedida mais ao alcance do administrador consiste em observar e


registrar a ocorrncia de pedidos de conexo no completados. Esses pedidos
podem indicar a fase inicial de um ataque.

7. Trojans

Cavalos de Tria, Trojan horses, ou simplesmente Trojans so programas


inseridos em um sistema para executar automaticamente funes diversas,
como captura de dados, alteraes de caractersticas e configuraes ou
suporte a acesso remoto numa base cliente servidor. Trojans podem afetar
redes de qualquer tipo, no estando vinculados a vulnerabilidades especficas
dos protocolos TCP/IP. Contudo, devido ampla utilizao de TCP/IP em
redes corporativas e sobretudo na Internet, a maioria dos Trojans que
oferecem funes de comunicao baseia-nas em TCP/IP.

Trojans so instalados no sistema alvo por mtodos muito variados.


Tipicamente esto ocultos em meio ao cdigo de outro programa ou so
inseridos por meio de acesso no autorizado. No primeiro caso, reproduzem

- 110 -

alguns dos mtodos de insero ou contgio empregados pelos vrus de


computador.

O uso de software especfico para detectar e remover Trojans pode ser uma
medida eficiente contra variantes cujo cdigo seja conhecido. Controles de
acesso eficientes e padronizao de ambientes e de configuraes so
contramedidas menos focalizadas, mas que podem fornecer uma proteo
mais abrangente.
4. Ataques contra roteadores :

Como vimos anteriormente, as funes de roteamento desempenham uma misso


crtica em ambientes de redes interconectadas. Sob essa perspectiva, os ataques
dirigidos contra os roteadores assumem enorme importncia. Afetando os servios
de roteamento, podem comprometer a comunicao entre computadores de vrias
redes simultaneamente. Adulterando informaes relativas localizao de redes e
hosts, podem servir de ponto de partida para ataques de personificao e como
medida de apoio a ataques de outros tipos.

Tratamos neste tpico das tcnicas que tm como alvos especficos os roteadores e
outros dispositivos de roteamento. Cumpre notar, todavia, que os roteadores podem
ser vulnerveis a outras tcnicas de ataque de aplicao genrica, como tcnicas de
cracking de senhas ou de negao de servios. Isso ainda mais provvel nos casos
em que o roteador implementado sobre uma plataforma no-dedicada, como um
servidor UNIX ou Windows NT. Nesses casos, alm das vulnerabilidades especficas
das funes de roteamento, precisam ser consideradas aquelas relacionadas ao
sistema operacional em uso.

Algumas das formas mais caractersticas de ataque contra roteadores so as


seguintes :

Ataques baseados em roteamento de origem.

Ataques baseados no protocolo RIP


- 111 -

Ataques baseados nos protocolos de roteamento externo

Ataques baseados em ICMP

Ataques baseados em SNMP

1. Ataques baseados em roteamento de origem :

Essa tcnica abrange ataques contra dispositivos que empregam o roteamento


de origem. Segundo esse mtodo, um roteador procurar encaminhar os
pacotes destinados a um determinado host utilizando a mesma rota
percorrida pelos pacotes recebidos daquele host. Embora a idia seja bastante
coerente, na medida em que garante a transmisso de pacotes por rotas
funcionais, ela implica numa falha de segurana evidente e de difcil controle.
Um atacante que envie mensagens usando como IP de origem o endereo IP
de outra mquina passaria a receber os pacotes destinados quele host,
ganhando acesso s informaes que eles transportam. Nos casos em que o
host personificado tenha recebido direitos de acesso com base em seu
endereo IP, o atacante estaria em condies de usar desses mesmos direitos.

A contramedida mais eficaz contra essa tcnica de ataque consiste no


emprego de firewalls. Os firewalls devem ser configurados para detectar e
filtrar os pacotes originados de redes externas que contenham endereos de
origem pertencentes rede interna, evento que indicaria a tentativa de um
host remoto de se fazer passar por um host local a fim de obter seus direitos e
privilgios. Entretanto, em situaes que envolvam relacionamentos de
confiana estabelecidos entre redes diferentes, pode ser necessria a aplicao
de procedimentos mais complexos, como ser discutido no captulo 4, que
trata das contramedidas e de seu emprego.

2. Ataques baseados no protocolo RIP :

Os pacotes RIP so trocados entre os roteadores para o compartilhamento e


sincronizao das tabelas de roteamento. A primeira verso do protocolo RIP
- 112 -

no suporta qualquer modalidade de autenticao. A verso 2, assim como o


protocolo OSPF, permite o uso de procedimentos elementares de
autenticao.

Os ataques baseados em RIP consistem no emprego de pacotes RIP forjados


com o intuito de passar informaes adulteradas aos roteadores, induzindo-os
a encaminhar dados a endereos de destino falsos, conforme a convenincia
do atacante. O endereo de destino falso pode ser de uma rede ou de um host
isolado, embora o segundo caso seja mais comum, pelo fato de que a
adulterao de informaes de roteamento pode ser mais facilmente detectada
quando se referem a redes inteiras.

A eficcia dessa tcnica depende de que RIPv1 esteja habilitado nos


roteadores. O emprego alternativo de RIPv2 ou OSPF, especialmente nos
roteadores de fronteira, e a utilizao dos mecanismos de autenticao
oferecidos por esses protocolos representam uma contramedida eficiente,
desde que o roteador que se autentica e fornece a informao no tenha
sofrido, por sua vez, algum comprometimento. Na verdade, existe sempre o
risco de que o efeito dos ataques baseados em protocolos de roteamento possa
ser ampliado se as informaes falsas forem propagadas a partir de um
roteador comprometido para um grande nmero de dispositivos de
roteamento.

Quando possvel, a implementao nos roteadores de funes de crtica das


informaes relativas s redes diretamente conectadas tambm pode
contribuir para evitar ataques desse tipo.

3. Ataques baseados nos protocolos de roteamento externo :

Os ataques baseados em protocolos de roteamento externo buscam, em geral,


efeitos similares aos obtidos pelo emprego de outras tcnicas de ataque contra
o roteamento. A insero de informaes de roteamento falsas com o
- 113 -

propsito de personificar um host ou uma rede, causando com isso um


redirecionamento do trfego destinado a eles, seu objetivo mais comum.
Contudo, a implementao desses ataques consideravelmente mais difcil,
principalmente porque os protocolos de roteamento externo utilizam o TCP
como protocolo de transporte. O trfego de mensagens entre os roteadores
feito, portanto, por meio de conexes confiveis e de mensagens sequenciadas.
Alm disso, existe uma rotina de comunicao que restringe o envio de
mensagens no solicitadas entre os roteadores de sistemas autnomos
diferentes. Normalmente, esses roteadores apenas respondem a solicitaes de
outros

roteadores

externos,

no

encaminhando

espontaneamente

as

atualizaes de suas tabelas ou, pelo menos, encaminhando-as somente em


momentos bem definidos. Isso limita as oportunidades dadas ao intruso de
divulgar uma informao de roteamento falsa, uma vez que elas dependero
de solicitaes dos roteadores alvo. possvel, entretanto, que o atacante
consiga

personificar um roteador externo, talvez aps interromper seus

servios mediante um ataque DoS. Isso o deixaria em condies de receber as


solicitaes enviadas por roteadores de outros sistemas autnomos e
responder-lhes com informaes adulteradas.

4. Ataques baseados em ICMP :

O Internet Control Message Protocol usado por roteadores para divulgar


rotas mais eficientes em um determinado momento. Atravs de mensagens
Redirect o encaminhamento de pacotes pode ser corrigido de modo a utilizar
uma rota alternativa com melhores resultados. Naturalmente, essa
funcionalidade pode ser explorada por meio de mensagens Redirect geradas
com o propsito de desviar o trfego roteado para um novo itinerrio. Isso s
ser possvel, todavia, no mbito de uma conexo em particular. Outra
limitao desta tcnica decorre do fato de que os roteadores s enviam
mensagens Redirect para hosts localizados nas redes diretamente conectadas
a eles.

- 114 -

5. Ataques baseados em SNMP :

Os dispositivos de roteamento implementam funes de gerenciamento e


controle que permitem aos administradores obter informaes sobre seu
funcionamento e executar reconfiguraes por meio de acesso remoto. O
protocolo SNMP d suporte comunicao entre os agentes e as consoles de
gerenciamento,

A estrutura de gerenciamento estabelecida pelo SNMP pode ser usada como


base para ataques contra roteadores e outros dispositivos da rede.
Aproveitando-se de contas padro que foram deixadas habilitadas ou de
prticas de autenticao pouco seguras, um atacante pode obter informaes
sobre a rede tomada como alvo e empreg-las em outras tcnicas de ataque.

A preveno desse comprometimento deve incluir, antes de tudo, o


cancelamento de contas padro nos dispositivos da rede e o emprego de
autenticao segura entre as consoles e os agentes SNMP. A organizao das
consoles e agentes em comunidades especficas recomendada. O
monitoramento de tentativas de acesso mal sucedidas s bases de dados dos
agentes complementa essas medidas, podendo fornecer indcios consistentes
de que um ataque est sendo preparado.

5. Ataques baseados em CGI

Os ataques baseados em CGI utilizam protocolos da camada de aplicao e no esto


vinculados diretamente aos protocolos IP, TCP ou UDP. Contudo, como as
aplicaes que do margem a esses ataques so amplamente utilizadas nos ambientes
tpicos de redes IP, como a Internet ou as intranets corporativas, optei por
mencion-los aqui.

Os programas CGI so empregados com finalidades variadas, mas sobretudo para


permitir que usurios remotos possam enviar ou recuperar dados de um
computador remoto, tipicamente um servidor web, usando como interface uma
- 115 -

pgina exibida em browser. Em termos simplificados, o servidor web recebe os


comandos enviados pelo browser e executa um programa CGI para processar os
dados recebidos ou solicitados.

A tcnica de ataque baseado em CGI engloba uma variedade de procedimentos que


exploram a possibilidade oferecida pelos programas CGI para que seja executado
cdigo em um servidor a partir de comandos enviados de um host remoto. Um
programa executado no servidor pode ser usado para produzir efeitos nocivos,
dentre os quais a sobrecarga de processamento o mais provvel e fcil de obter.
Outros objetivos, contudo, podem ser alcanados, como a interferncia nas
comunicaes ou o acesso no autorizado a dados e informaes do sistema. Essa
possibilidade,

longe

de

ser

meramente

terica,

pode

concretizar-se

pelo

aproveitamento de recursos das linguagens de programao empregadas na


codificao dos programas CGI. Scripts feitos em Perl, por exemplo, podem permitir
que um atacante passe ao servidor comandos a serem executados em lugar de strings
de dados. Ainda que exija conhecimento tcnico e envolva considervel
complexidade, o risco deve ser considerado.

Se for dado ao atacante a possibilidade de incluir um programa no servidor e


execut-lo em seguida, esse risco consideravelmente aumentado, uma vez que nesse
caso o atacante contar com a vantagem adicional de poder utilizar o programa que
for mais conveniente ao seu propsito. Por isso, necessrio que seja mantido um
controle rgido sobre os programas disponveis para execuo no servidor, sobre sua
localizao na estrutura de arquivos, sobre a adio de novos programas ao conjunto
e sobre que usurios podem execut-los.

6. Ataques contra navegadores :

Com o propsito de acrescentar funcionalidades mais amplas s pginas web, os


modernos navegadores ou browsers vm sendo dotados da possibilidade de executar
cdigo embutido em componentes das pginas, como scripts e applets Java ou Active
X. Essa possibilidade d margem ao desenvolvimento de todo um conjunto de

- 116 -

tcnicas que podem ser usadas para negao de servios, para o levantamento de
informaes do sistema alvo ou para obter acesso no autorizado a dados.

A execuo de cdigo a partir de componentes de pginas web delineia um problema


de segurana. Em tese, um componente recebido como contedo de uma pgina web
no deve ser capaz de executar determinadas aes no host cliente. Gravar no
sistema de arquivos e registrar informaes de configurao do host so algumas
delas. desejvel ainda que os applets no possam provocar sobrecarga na mquina
gerando processos que consumam demasiados recursos. Para atender a essas
restries, os applets ou miniaplicativos esto sujeitos a dois tipos de mecanismos de
segurana : os controles impostos pela prpria linguagem e as configuraes de
segurana do browser. Discutiremos brevemente cada um deles.

Em se tratando de controles impostos pela linguagem, podemos considerar Java


como sendo mais seguro que Active X. De fato, Java dispe de recursos como a
Sandbox, um ambiente de execuo isolado e gerenciado por uma classe Java
especfica, denominada SecurityManager, que restringe severamente as aes que o
applet pode executar. J o Active X contrape sua versatilidade um nvel de
controle bem inferior e encerra um potencial para explorao que muitos
consideram alarmante.

Funcionando nesse caso como uma segunda linha de defesa, os browsers dispe de
recursos para limitar as aes que podem ser executadas por miniaplicativos. Essas
configuraes devem ser ajustadas pelo usurio, considerando tanto quanto possvel
o grau de confiabilidade das pginas por ele visitadas. No sendo possvel determinar
esse grau, o uso de configuraes restritivas recomendado.

Outro problema que afeta os browsers diz respeito aos plug-ins. Os plug-ins so
componentes de software adicionados aos browsers para a execuo de tarefas
especiais, como a exibio do contedo de determinados tipos de arquivo.
Usualmente os plug-ins so baixados e instalados automaticamnete durante a
navegao, quando se fazem necessrios. H, portanto, o risco potencial de que um

- 117 -

plug-in seja adulterado de modo a incluir Trojans ou vrus e permitir a sua


instalao na mquina cliente de forma inadvertida.

Os melhores programas anti-vrus so capazes de detectar e impedir a ao de boa


parte dos componentes de pginas web que contm cdigo malicioso, sejam eles
miniaplicativos hostis ou plug-ins que tenham sofrido adulterao e incluam Trojans
ou vrus.

- 118 -

Captulo 4

Contramedidas

- 119 -

Contramedidas

Este captulo apresenta algumas contramedidas que podem ser empregadas para evitar
ou controlar violaes da segurana em redes IP. A descrio no est vinculada a
implementaes ou produtos especficos, mas rene as contramedidas em tipos ou
categorias genricos, oferecendo uma conceituao simples, uma breve descrio do seu
funcionamento e uma rpida anlise de suas possibilidades e limitaes. As
contramedidas apresentadas aqui foram selecionadas por seu potencial de eficincia ou
por terem sido desenvolvidas a partir de conceitos cuja importncia e validade
tornaram-se fundamentais.

Os tipos de contramedidas descritos so as seguintes :

VPNs - Virtual Private Networks

Firewalls

Intrusion Detection Systems

Protocolos seguros

1. VPNs - Virtual Private Networks :

As VPNs Virtual Private Networks so redes virtuais estabelecidas entre hosts remotos
de modo que a comunicao entre eles sofra um estrito controle, resultando em
garantias efetivas da autenticidade, confidencialidade e integridade dos dados
transmitidos e recebidos.

Aplicabilidade :

A tecnologia das Virtual Private Networks tem encontrado grande aceitao no


mercado e vem sendo adotada por empresas e instituies que encontram a
necessidade, bastante usual alis, de conectar sua rede local a redes remotas ou a
hosts operando isoladamente fora dos limites fsicos da rede local. Uma situao
- 120 -

tpica em que a VPN pode ser de grande utilidade representada pela empresa que
mantm uma rede em sua matriz e necessita estabelecer conexo com as redes de
uma ou mais filiais situadas em outras cidades. Outra circunstncia tpica de
emprego de VPN aquela em que um host isolado, como o notebook usado por um
agente de vendas, precisa ter acesso rede corporativa utilizando uma conexo
discada a partir de localizaes que variam dia a dia. Naturalmente deseja-se que
esse acesso seja possvel sem comprometimentos da segurana.

A comunicao por meio de uma VPN beneficia-se de uma srie de funes


implementadas pelos protocolos de comunicao sobre os quais a rede virtual
estabelecida. Alguns dos benefcios oferecidos pelas VPNs so :

Possibilidade de utilizar a Internet ou outra rede pblica como um link de


longa distncia entre as redes ou hosts remotos. Essa possibilidade implica em
reduo de custos, uma vez que dispensa o estabelecimento de uma infraestrutura de comunicao prpria. Esta , possivelmente, a justificativa mais
comum para o emprego de VPNs.

Possibilidade de comunicar dados de forma segura, com o apoio de recursos


de criptografia e autenticao, por meio de uma ou vrias redes supostamente
inseguras.

Possibilidade de comunicar dados atravs de vrias redes heterogneas. Esta


possibilidade dispensa a adoo de um padro nico e confere grande
flexibilidade aos projetos de expanso ou integrao de redes.

Conceito de funcionamento :

O funcionamento de uma VPN baseia-se, em seu nvel mais elementar, na


possibilidade de inserir ou encapsular qualquer tipo de pacotes em outros pacotes,
controlados por um protocolo que suporte funes de roteamento, criptografia e
autenticao. Por serem roteveis, esses pacotes podem ser transmitidos entre hosts
localizados em redes distintas atravs de um ambiente de inter-redes, tipicamente
- 121 -

atravs da Internet, ainda que os pacotes encapsulados no sejam roteveis. Por


serem criptografados, os pacotes mantm-se seguros enquanto trafegam pelas redes
inseguras. Por serem trocados atravs de uma conexo estabelecida mediante
autenticao, fica assegurada a autenticidade dos dados a partir de uma origem
conhecida.

Descrio da Virtual Private Network :

As VPNs tm seu funcionamento vinculado ao uso de protocolos especiais. Dois dos


protocolos mais utilizados na implementao de VPNs so o PPTP Point-to-Point
Tunneling Protocol e o L2FTP Layer 2 Tunneling Protocol. Ambos tm sido objeto
de um esforo deliberado de desenvolvedores e fabricantes de software no sentido de
obter interoperabilidade a partir da convergncia de suas especificaes. Em funo
disso e em benefcio da objetividade, focalizo a descrio da tecnologia de VPNs no
protocolo PPTP, por considerar que essa abordagem, ainda que restritiva,
adequada profundidade da anlise conduzida aqui.

O PPTP um protocolo de encapsulamento ponto a ponto, constituindo-se num


padro industrial aberto. O PPTP foi projetado com base no PPP - Point-to-Point
Protocol - e no protocolo IP. O PPTP fornece recursos de autenticao e compresso
de dados. O IP confere as capacidades de roteamento que permitem o trfego
orientado do PPTP pela Internet ou por redes similares.

O PPTP realiza o encapsulamento dos pacotes de uma sesso PPP em pacotes IP por
meio de um protocolo de encapsulamento denominado GRE - Generic Routing
Encapsulation. Adicionalmente, ele prov criptografia para os dados contidos nos
pacotes.

Como decorrncia desse processo, a estrutura de um pacote PPTP pode ser


representada como mostrado a seguir :

Cabealhos da camada Fsica

Cabealho IP

- 122 -

GRE

PPP

Dados ......

Nesta representao, devem ser entendido como Dados os pacotes encaminhados a


partir da rede interna, incluindo-se seus cabealhos, sejam eles quais forem. Esse
tratamento permite que protocolos diversos sejam encaminhados atravs de uma
conexo PPTP, ainda que no apresentem caractersticas compatveis com a rede
intermediria por onde estabelecida a conexo.

O PPTP utiliza dois tipos de mensagens : as mensagens de dados e as mensagens de


controle. O trfego dessas mensagens define dois canais separados, cada um deles
com caractersticas prprias. O canal de dados baseia-se na utilizao de um
protocolo de transporte no confivel, como o UDP. Por ele so conduzidas as
mensagens de dados, que contm os frames PPP encapsulados pelo PPTP. O canal
de controle, por sua vez, formado a partir de em uma conexo confivel
gerenciada pelo prprio PPTP. Por esse canal trafegam mensagens de controle
utilizadas para estabelecer, manter e finalizar a conexo lgica conhecida como
tnel. O tnel composto pelos canais de controle e de dados e pelas sesses
estabelecidas atravs deles. A autenticao uma das funes envolvidas no
estabelecimento do tnel e suportada por um protocolo especfico como o MSCHAP ou similar. A utilizao de sequence numbers outra caracterstica das
mensagens de controle que tem influncia direta na segurana, restringindo as
chances de montagem de um ataque de personificao bem sucedido contra a
conexo que gerenciada por seu intermdio.

Num cenrio bastante simplificado, uma VPN pode ser estabelecida entre dois
computadores conectados a uma rede compartilhada, como a Internet por exmplo.
A rede dita compartilhada porque outros hosts esto conectados a ela, alm
daqueles que iro comunicar-se por meio da VPN. A figura a seguir ilustra esse
cenrio :

- 123 -

Host B

Host A

Internet
VPN Cenrio anterior ao estabelecimento.

Em cada um dos hosts habilitado o protocolo PPTP de modo a que os datagramas


trocados entre eles sejam encapsulados e que um canal de controle garanta a
conexo direta entre ambos. A rede virtual privada estabelecida funcionar como
um tnel ligando os hosts atravs da Internet.

Host B

Host A

Internet
VPN Estabelecimento do tnel atravs da rede compartilhada .

Expandindo essa idia, considere-se que os dois hosts conectados pela VPN bsica
do exemplo anterior sejam servidores integrantes de redes locais diferentes. Esses
servidores devem ter a capacidade de estabelecer uma conexo ponto a ponto entre
si e reencaminhar pacotes recebidos de suas redes internas atravs dessa conexo.
- 124 -

Essa capacidade normalmente fornecida pela implementao de servios de


roteamento.

A estrutura topolgica resultante da implementao da VPN nessas condies


ilustrada na figura que se segue :

Servidor 1

Servidor 1

Internet

Rede A

Rede B

VPN estabelecida entre duas redes .

Nessa situao, os pacotes enviados por hosts da rede A para hosts de destino da
rede B sero encapsulados pelo PPTP no Servidor 1 e transmitidos atravs da
Internet at o Servidor 2, onde tero seus cabealhos IP externos descartados antes
de serem encaminhados a seu destino na rede B.

Essa soluo nos permite atender s necessidades da empresa fictcia, descritas no


incio deste tpico. A comunicao entre as redes A e B ser suportada pela infraestrutura pblica. Os custos de implementao de infra-estrutura prpria so
suprimidos. Podem ser eliminados tambm custos relativos s tarifas de ligaes
interurbanas ou utilizao de links de longa distncia.

Ainda que as redes internas empreguem protocolos incompatveis com o ambiente


da Internet, como IPX ou NetBEUI, a comunicao ser possvel, j que os pacotes
so encapsulados em datagramas IP. A forma como hosts e recursos esto
- 125 -

identificados tampouco ir requerer alterao, podendo ser mantidos os padres


habituais, normalmente associados aos protocolos em uso. O endereamento dos
protocolos internos tambm ser oculto no encapsulamento.

O trnsito dos pacotes pela web no implica em uma vulnerabilidade, na medida em


que a criptografia aplicada aos dados pode preservar sua confidencialidade.
Parmetros e informaes de sistema contidos nos cabealhos dos protocolos
internos podem ser tambm criptografados, negando aos eventuais atacantes a
possibilidade de acesso a eles.

Avaliao crtica :

As Virtual Private Networks impuseram-se como uma soluo eficaz, capaz de


atender a necessidades que freqentemente so conflitantes entre si, como o
estabelecimento de uma estrutura de comunicaes segura e a limitao de custos.

Uma descrio sumria dessa tecnologia, como a que empreendo aqui, pode
ratificar a noo comum de que a maior contribuio das VPNs para a manuteno
da segurana baseia-se na criptografia de dados. Essa concluso correta apenas
parcialmente. Alm de preservar a confidencialidade e integridade dos dados pelo
uso de recursos criptogrficos, o emprego de VPNs vantajoso por outras razes
que merecem ser mencionadas.

Os procedimentos de autenticao envolvidos no estabelecimento do tnel


constituem-se numa medida efetiva para evitar ataques de personificao e para
garantir que os agentes envolvidos na comunicao so realmente quem afirmam
ser.

O emprego de VPN oferece ao administrador ou designer de rede alternativas no


sentido de implementar ou manter redes baseadas em protocolos diferentes de
TCP/IP. A possibilidade de emprego da Internet como rede intermediria entre
redes no IP evidentemente afasta, ainda que no elimine, todo um conjunto de
ameaas segurana especificamente relacionadas a esse protocolo. Em
- 126 -

determinadas situaes, esse pode ser um fator de deciso a ser considerado no


projeto de uma nova rede, ou de parte de uma rede que apresente requisitos
especiais.

Num cenrio em que o problema envolva a interligao de redes existentes baseadas


em outros protocolos, poder manter o modelo correntemente em uso sem a
substituio de protocolos e outras medidas associadas pode estender a validade de
rotinas e mtodos de manuteno da segurana. Essas condies contribuiro para
reduzir a necessidade de reconfiguraes e os custos de administrao das redes,
tendo um impacto aprecivel, ainda que indireto, sobre a segurana.

As limitaes e vulnerabilidades apresentadas pelas VPNs esto associadas, em sua


maioria, a deficincias dos recursos criptogrficos utilizados nas implementaes
dos protocolos de encapsulamento. A divulgao de fraquezas nos mtodos de
criptografia implementados com o PPTP da Microsoft teve grande repercusso e
exemplifica bem essa classe de falhas. A descrio dessas brechas pode ser obtida em
http://www.counterpane.com/pptp-faq.html.

Outras falhas, entretanto, podem ser observadas. A vulnerabilidade do canal de


controle a ataques de negao de servios uma das mais relevantes, no s por seus
efeitos diretos, mas tambm pelo potencial de emprego como etapa intermediria
em um ataque mais complexo.

Segundo algumas estimativas, as vulnerabilidades do canal de controle devem


suceder as fraquezas de criptografia como foco de interesse no desenvolvimento de
tcnicas de ataque orientadas violao da segurana em VPNs. As possibilidades,
ainda bastante tericas, de obteno de informaes crticas e de personificao de
hosts a partir do monitoramento e interferncia nas comunicaes desse canal
certamente sero exploradas no futuro.

- 127 -

2. Firewalls :

Um firewall uma combinao de componentes de hardware e software utilizado para


controlar trfego e acesso entre duas redes, uma delas de interesse privado e
considerada segura e outra pblica e supostamente insegura. Como exemplo de rede
insegura podemos tomar a Internet ou um setor da rede corporativa onde os requisitos
de segurana so mais baixos.

Aplicabilidade :
Um cenrio tpico de emprego proveitoso de um firewall representado pela situao
de uma empresa cujas atividades envolvem tanto a disponibilizao de dados e
servios a usurios externos atravs da Internet quanto o fornecimento de acesso
controlado Internet e a outras redes remotas para os usurios de sua rede interna.

Conceito de funcionamento :
A modalidade mais simples de firewall seria constituda de um computador dotado
de duas interfaces de rede, uma delas conectada rede interna ou segura e outra
conectada rede externa ou insegura. Habilitando-se no computador um conjunto
de funes de roteamento e mecanismos de controle do trfego seria possvel
encaminhar pacotes nos dois sentidos entre as redes interna e externa e administrar
o trfego que passa por este firewall elementar, filtrando-o ou bloqueando-o
conforme regras predefinidas.

Firewall
Rede insegura
(Internet)

Rede segura

Firewall composto por um computador com duas interfaces de rede- .

- 128 -

claro que na prtica a implementao e operao de firewalls pode envolver uma


complexidade muito maior do que a apresentada por este modelo conceitual.
Conforme o caso, um firewall pode ser constitudo por uma combinao de diversos
equipamentos e componentes de software, reunidos num nico componente de
hardware ou organizados numa estrutura topolgica adequada ao desempenho de
suas funes.

Descrio de Firewalls :

Existem componentes de firewall tpicos que se distinguem por suas funes e por
seu mtodo de funcionamento. A seguir discutiremos brevemente os roteadores de
filtragem de pacotes, os gateways de nvel de aplicativo, tambm conhecidos como
proxies, e os gateways de nvel de circuito:
a. Roteador de filtragem de pacotes :
Uma implementao simples de firewall construda sobre um roteador capaz
de examinar os parmetros presentes nos cabealhos dos pacotes que recebe e,
baseado em regras preestabelecidas, decidir pelo encaminhamento desse pacote
rede de destino, interna ou externa, ou pela eliminao do pacote.
As regras observadas por um roteador de filtragem de pacotes baseiam-se em
informaes que podem ser obtidas a partir dos cabealhos dos pacotes
recebidos.
Essas informaes normalmente incluem :

Endereo IP de origem

Endereo IP de destino

Porta TCP ou UDP de origem

Porta TCP ou UDP de destino

Tipo de mensagem ICMP

Informaes sobre o protocolo de camada superior

- 129 -

Baseado nesse conjunto de informaes possvel definir regras de filtragem,


que poderiam ser enquadradas em trs categorias genricas :

Filtragem baseada em origem e destino - a informao sobre os


endereos IP de origem e destino fornece indicaes sobre os hosts que
esto envolvidos na comunicao. A partir dessa informao, possvel
estabelecer regras que autorizem ou neguem o acesso a determinados
hosts, conforme as necessidades de segurana.

Filtragem baseada em servio a informao sobre as portas de


origem e destino fornece indicaes sobre qual servio est sendo
conectado. A partir dessa informao, pode ser implementada uma
regra que negue a utilizao de determinados servios considerados
inseguros ou indesejveis.

Filtragem avanada as regras de filtragem avanada podem


combinar informaes referentes a origem, destino e servios ou ainda
incluir verificaes especiais como integridade de datagramas IP ou
numerao de fragmentos.

H um nmero considervel de limitaes para a tcnica de filtragem de


pacotes. Por exemplo, os servios que usam portas diferentes em cada conexo,
como o caso do NFS e de servios baseados em UDP, no podem ser filtrados
convenientemente.

Outra limitao diz respeito dificuldade em definir regras de filtragem


baseadas em parmetros relativos s camadas superiores, como a camada de
aplicao. As informaes dessas camadas que podem ser observadas na
filtragem de pacotes so reduzidas e isso restringe a funcionalidade desse
mtodo. H uma possibilidade que exemplifica claramente essa limitao. Um
atacante posicionado em uma rede externa pode pretender inserir numa
mquina da rede interna um applet ou outro programa que possa ser executado
mais tarde, causando danos ao sistema alvo. Isso possvel porque o roteador de
- 130 -

filtragem de pacotes no ser capaz de analisar o contedo dos dados recebidos


e identificar o componente nocivo que est sendo enviado rede interna.

b. Gateway de nvel de aplicativo ou proxy :

Um proxy oferece uma proteo bem mais sofisticada e eficaz que um roteador
de filtragem de pacotes. O contedo referente camada de aplicao pode ser
observado e interpretado, permitindo a implementao de regras de bloqueio e
acesso mais completas.

Um proxy normalmente um servio executado em um servidor posicionado


entre as redes interna e externa. Cada conexo solicitada entre hosts dessas duas
redes estabelecida como duas conexes separadas, de cada um dos hosts com o
proxy.

O roteamento de pacotes IP normalmente desabilitado no proxy, que no


reencaminha pacotes entre as duas redes, mas gera pacotes de acordo com as
necessidades de cada conexo. Os hosts interno e externo no chegam sequer a
conhecer os endereos IP um do outro. Para cada um deles a conexo
estabelecida com o endereo IP da interface de rede correspondente no servidor
proxy. Isso muito conveniente porque permite ocultar endereos IP na rede
interna da observao externa.

Como cada host deve conectar-se a uma porta no proxy para comunicar-se com
o host da outra rede, possvel implementar mecanismos de autenticao que
acrescentam um nvel adicional de segurana.

Os proxies representam uma soluo eficiente e flexvel e, relativamente,


apresentam poucas limitaes. Uma delas consiste num eventual atraso na
comunicao, que passa a depender de um processo intermedirio mais
complexo e demorado. Esse atraso pode gerar falhas decorrentes de time out ou
dificultar o uso de aplicaes especficas, sobretudo se o servidor sobre o qual o
proxy executado no estiver em condies de lidar com a sobrecarga
- 131 -

produzida pelo servio. Outra limitao representada pela necessidade de


reconfigurao de clientes para acessar a rede externa via proxy. Alm de
significar um encargo administrativo adicional, em determinadas topologias
existe a possibilidade de que alguns clientes sejam reconfigurados para acessar a
rede externa diretamente, com o comprometimento da segurana.

c. Gateway de nvel de circuito :

Gateways de nvel de circuito funcionam como proxies simplificados,


intermediando conexes entre as redes interna e externa com funes de
controle reduzidas. Essas funes geralmente limitam-se autenticao do
usurio.

A exemplo dos proxies, os gateways de nvel de circuito normalmente so


implementados como servios em execuo em um servidor de rede. Um
exemplo clssico o servio SOCKS,

amplamente utilizado em servidores

UNIX.

A par das limitaes inerentes simplicidade de seus mtodos de


funcionamento, as gateways de nvel de circuito oferecem grande flexibilidade,
tendo seu uso indicado em situaes nas quais os requisitos de controle so
reduzidos ou quando necessrio o suporte a servios baseados em UDP.
O planejamento de um firewall deve procurar combinar os componentes descritos acima
numa estrutura adequada s necessidades de controle e segurana da rede. Um
problema comum consiste em estabelecer condies de restrio de acesso eficazes sem
que os limites impostos para o acesso a recursos da rede interna ou da Internet sejam
superdimensionados.

- 132 -

Embora os componentes de um firewall possam ser arranjados de formas bastante


diversas, h quatro modelos genricos cujas caractersticas iremos descrever. So eles :

a. Firewall de filtragem de pacotes


b. Firewall de gateway dual-homed
c. Firewall de host encoberto
d. Firewall de sub-rede encoberta

a. Firewall de filtragem de pacotes :

o mais simples dos modelos apresentados aqui. Consiste apenas em um roteador de


filtragem de pacotes posicionado entre as redes interna e externa, como mostra o
esquema abaixo :

Roteador
Rede externa
(Internet)

Rede interna

Firewall de filtragem de pacotes .

Este modelo tambm o que prov o menor nvel de segurana e as funcionalidades


mais limitadas. Um firewall de filtragem de pacotes possibilita apenas o controle de
acesso baseado em origem e destino dos pacotes e nos servios acessados. Funes de
controle adicionais, como autenticao de usurios, devem ser implementadas em
cada host da rede interna.

- 133 -

b. Firewall de gateway multi-homed :

Este modelo composto de um roteador e de um host multi-homed dispostos


conforme ilustrado abaixo :

Host multi-homed

Roteador
Rede externa
(Internet)

Rede interna

Firewall de filtragem de pacotes .

O roteador no executa qualquer filtragem de pacotes. Todo o trfego recebido da


rede externa reencaminhado sem restries. O host multi-homed um host dotado
de duas ou mais interfaces de rede. A cada interface de rede associado um
endereo IP diferente. Os servios que fornecem roteamento de datagramas IP so
desabilitados no host, bloqueando o trfego entre as redes interconectadas, que
passa a ser condicionado pela aplicao das regras estabelecidas por um servio de
proxy ou de gateway em nvel de circuito.

O modelo define uma rea da rede local, situada entre o host multi-homed e o
roteador, na qual as restries ao acesso externo no so aplicveis. Nessa rea
podem ser posicionados hosts que oferecem servios com baixos requisitos de
segurana e que devam receber requisies frequentes de fora da rede local, como
um servidor web, por exemplo. Tal arranjo liberaria os servios de proxy

- 134 -

executados no host multi-homed da sobrecarga associada ao controle do acesso


externo a esses hosts.

O nvel de segurana oferecido por esse modelo deve ser satisfatrio para a maioria
das situaes. Ele oferece ainda a flexibilidade adicional de posicionar hosts em uma
rea de acesso facilitado.

c. Firewall de host encoberto :

Este modelo rene um roteador de filtragem de pacotes e um host multi-homed,


usualmente denominado servidor proxy ou ainda bastion host, no qual so
executados servios de proxy ou de gateway de nvel de circuitos. A figura abaixo
exemplifica o modelo :

Roteador

Proxy

Rede externa
(Internet)

Rede interna

servidor web

Firewall de host encoberto (1) .

O roteador configurado para encaminhar os pacotes originados da rede externa


para o servidor proxy ou, conforme o caso, para hosts situados na rea
intermediria da rede, como um servidor web destinado a ser acessado por
usurios externos, por exemplo.

O modelo admite uma variao em que o host multi-homed substitudo por um


host de uma s interface de rede, conforme ilustrado na figura a seguir :

- 135 -

Roteador
Rede externa
(Internet)

Proxy

servidor web

Rede interna

Firewall de host encoberto (2) .

Neste caso o acesso de usurios internos rede externa pode ser feito diretamente
atravs do roteador ou usando os servios do servidor proxy. As configuraes de
cada cliente e as regras de filtragem implementadas no roteador iro combinar-se
para determinar, em cada caso, qual alternativa ser efetivada.

O modelo oferece a vantagem de compor as funcionalidades da filtragem de


pacotes com as do servio de proxy, provendo um nvel superior de segurana.
Mantendo o servidor proxy encoberto pelo roteador, sua exposio a
investigaes e ataques reduzida, o que contribui tambm para tornar mais
robusta a soluo.

Em sua segunda variao, o modelo apresenta ainda a

flexibilidade de permitir formas diferenciadas de acesso rede externa para os


clientes da rede interna, o que possibilita maior rapidez de fluxo e balanceamento
da carga imposta aos servios de proxy.

d. Firewall de sub-rede encoberta:

Este modelo emprega um proxy situado entre dois roteadores de filtragem de


pacotes, conforme representado na ilustrao a seguir :
- 136 -

Roteador 1

Roteador 2
DMZ

Rede externa
(Internet)

Proxy

servidor web

Rede interna

Firewall de sub-rede encoberta .


O modelo define uma rea entre os roteadores que usualmente chamada de
DMZ Demilitarized Zone. Nessa rea estabelecido um nvel de segurana
intermedirio, dependente apenas da filtragem de pacotes realizada pelo roteador
externo. Isso torna a DMZ uma localizao adequada para recursos com previso
de acesso externo frequente, como servidores de acesso remoto e servidores web.

O firewall de sub-rede encoberta prov o mais elevado nvel de segurana dentre


os modelos descritos aqui. O estabelecimento de regras de filtragem nos
roteadores que canalizem para o servidor proxy tanto o trfego proveniente da
rede interna quanto o que se origina na rede interna empresta grande
consistncia ao modelo. A existncia da DMZ como uma rea bem definida impe
uma dificuldade considervel para obter acesso no autorizado entre as redes
interna e externa. Apesar disso, o modelo flexvel o bastante para permitir que
hosts especficos sejam acessados sem a intermediao do servidor proxy,
possibilitando economia de recursos e comunicao mais rpida.

- 137 -

Avaliao crtica :

Alm das limitaes e possibilidades especficas de cada modelo genrico de firewall,


mencionadas no mbito das descries empreendidas anteriormente, existem outras
capacidades e fatos concernentes ao funcionamento e emprego dos firewalls que
devem ser mencionados.

Um deles diz respeito opo entre firewalls integrados e firewalls montados a


partir de componentes autnomos. Segundo minha anlise, os firewalls integrados,
que em alguns casos so representados por hardware e software dedicados reunidos
em uma nica caixa, podem ser capazes de fornecer um conjunto mais consistente de
recursos e mtodos, o que deve implicar em um nvel superior de segurana. Em
contrapartida, o emprego isolado desse tipo de soluo conduz normalmente ao
estabelecimento de um ponto nico de falha, deixando a segurana da rede, e em
certas circunstncias a sua prpria funcionalidade, na dependncia da solidez e
estabilidade da soluo adotada. Os firewalls compostos por elementos agregados
como roteadores e servidores representam uma alternativa que pode oferecer maior
resilincia e flexibilidade, apesar de apresentar custos potencialmente mais altos.

Outro aspecto a ser considerado refere-se implementao de firewalls baseados em


servios executados sobre plataformas comerciais no dedicadas, o que alguns
autores chamaram de OS Shields. A reduo de custos tem sido uma justificativa
habitual para essa escolha. O Microsoft Proxy Server sobre Windows NT e o ISA (
Internet Security and Acceleration ) Server sobre Windows 2000 exemplificam
perfeitamente a situao a que me refiro. Nesses casos as vulnerabilidades do sistema
operacional representam um risco potencial segurana do firewall e, por extenso,
de toda a rede. Essas vulnerabilidades podem ser ampliadas se, em nome ainda da
reduo de custos, optar-se por executar outros servios num host que detenha a
responsabilidade por servios associados ao funcionamento do firewall.

Mais uma caracterstica dos firewalls que precisa ser analisada em uma avaliao a
disponibilidade de funes complementares. O registro de eventos como eliminao
de pacotes e tentativas de acesso no autorizado em geral de grande utilidade para
- 138 -

a deteco de um ataque em preparao ou andamento. A capacidade de gerar


relatrios claros e consistentes a partir desses registros complementa sua utilidade.
Ferramentas de auditoria integradas ao software do firewall so um recurso
altamente desejvel, que valoriza qualquer soluo ou produto.

Podemos obsevar ainda se o firewall detm a capacidade de reagir a determinados


eventos, oferecendo resposta a uma ameaa em tempo hbil de neutraliz-la sem que
sua funcionalidade ou o conjunto de funcionalidades da rede sejam afetados. Tal
capacidade pode depender de funes avanadas ou da redundncia de recursos e
pode ser obtida como parte integrante de determinadas solues ou ser
implementada a partir da adoo de uma arquitetura especfica para o sistema que
ir constituir o firewall.

O primeiro caso pode ser exemplificado pelas configuraes de alarme disponveis


em diversas solues de firewall. Essas configuraes permitem definir limites para
eventos especficos em termos de intervalo de tempo ou nmero de ocorrncias. Se
um evento como uma varredura de portas for observado pelo firewall uma nica vez,
no haver reao desnecessria que consuma recursos ou fornea ao atacante
indcios sobre a existncia e atividade do firewall. Porm, se o evento repetir-se
vrias vezes e o limite configurado for atingido, sua ocorrncia ser notificada pelos
mecanismos de alarme existentes.

O segundo caso ilustrado pela utilizao de um array de proxies formado por


vrios servidores associados entre si. Caso um desses servidores seja atingido por um
ataque de negao de servio e venha a tornar-se inoperante, os demais servidores
integrantes do array sero capazes de redistribuir entre si as solicitaes de conexo
e outras tarefas, mantendo a disponibilidade do conjunto.

As solues de firewall evoluem no sentido de tornarem-se sistemas mais completos,


incorporando capacidades que lhes permitam reagir automaticamente a falhas e
ameaas. Dispensando a interveno direta de operadores, o tempo de resposta a
eventos dessa natureza reduzido, contribuindo para tornar ineficazes muitas
tcnicas de ataque e para assegurar aos servios da rede um alto grau de
- 139 -

disponibilidade e confiana. Essa evoluo aproxima os firewalls de um conceito


mais amplo de sistema ao qual pode ser conferida a responsabilidade de detectar,
analisar e impedir invases e ataques rede, de forma rpida e automatizada . Essa
classe de sistemas, que mereceu a designao de IDS Intrusion Detection System,
j conta com representantes em uso efetivo. Ela ser analisada no prximo tpico
deste trabalho.

O emprego de um firewall pode ser suficiente para garantir a segurana do


permetro da rede, mas certamente no ser capaz de impedir que ameaas
originadas dentro do permetro alcancem efetividade. Ameaas internas so
historicamente mais frequentes do que ataques lanados de fora para dentro e
costumam encontrar condies favorveis para atingir no s hosts comuns na rede
local, mas tambm firewalls cujas configuraes refletem uma preocupao exclusiva
com as ameaas exteriores.

Finalmente, deve ser lembrado que um firewall poderoso e bem configurado no


mais do que um dos componentes do sistema de defesa da rede. indispensvel
associar a utilizao do firewall a outras contramedidas de carter tcnico e
administrativo, a fim de estabelecer condies slidas de segurana.

3. Intrusion Detection Syatems :

A deteco de invaso melhor compreendida como uma capacidade,


no como uma nica ferramenta.
Stephen Northcutt

Os IDS Intrusion Detection System surgiram da necessidade de uma soluo integrada


capaz de monitorar e avaliar a diversidade de eventos que podem estar relacionados ao
comprometimento da segurana de uma rede. Iniciativas pioneiras de desenvolvimento e
utilizao de IDS foram tomadas pela Marinha dos Estados Unidos e outros rgos
governamentais daquele pas. Cada uma dessas iniciativas levou a resultados que

- 140 -

incorporavam mtodos e recursos prprios. Assim, a possibilidade de padronizao


dessa tecnologia foi comprometida logo nos estgios iniciais de seu desenvolvimento.

O interesse do setor governamental americano em solues desse tipo

de pronto

correspondeu, como em outras ocasies, a um esforo de centros de pesquisa no sentido


de aperfeio-las. Logo chegaram ao mercado solues comerciais que colocavam
disposio de empresas e instituies privadas recursos de deteco e anlise adequados
aos ambientes de rede padronizados.

Atualmente os IDS so uma das solues mais valorizadas no mercado, porque


suportam o conceito, j amplamente aceito, de integrao de medidas na manuteno da
segurana.

Aplicabilidade :

A variedade de solues IDS disponveis atualmente corresponde um espectro de


utilizao que transcende o tpico ambiente institucional ou corporativo onde essa
tecnologia originou-se. Na verdade, os IDS tm aplicao til e vantajosa em
praticamente todos os ambientes em que exista uma rede conectada a outras redes. O
porte da rede, seus requisitos de segurana, seus perfis de utilizao e as tendncias
de expanso futura so caractersticas que devem ser levadas em conta na seleo do
sistema adequado.

Conceito de funcionamento :

Um IDS consiste, em termos conceituais, num sistema integrado capaz de detectar


tentativas de comprometimento ou de acesso indevido a uma rede ou seus recursos a
partir da execuo de trs tipos de funes :
Monitoramento e registro de eventos
Anlise dos eventos registrados
Execuo de medidas ou procedimentos de resposta automtica
- 141 -

Essas funes genricas guardam entre si relaes de dependncia e sequencialidade.


Medidas de resposta automtica precisam ser desencadeadas e orientadas a partir da
anlise dos eventos registrados. Esta, por sua vez, ser to eficiente quanto tiver sido
o monitoramento dos eventos.

verdade que as solues mais simples limitam-se a executar uma ou duas dessas
funes. Podemos comear a avaliar a capacidade de um IDS e sua adequao a um
problema de segurana real questionando quais das funes acima ele capaz de
executar.

Descrio de Intrusion Detection Systems :

Pelo que j dissemos a respeito da variedade de caractersticas que pode ser


observada nos IDS disponveis atualmente, difcil elaborar uma descrio desses
sistemas que seja perfeitamente aplicvel a cada um deles, sem incorrer em exageros
ou omisses. Por isso, expomos aqui um conjunto de mtodos e funcionalidades que
tornam claro como funcionam os IDS e podem ser encontrados nas maioria deles,
ainda que em graus muito variados de aperfeioamento.

Um IDS executa o monitoramento de eventos a partir de sensores ou agentes. Estes


so componentes de software instalados em computadores e equipamentos de
conexo. Normalmente, um agente capaz de observar a ocorrncia de eventos
especficos, como solicitaes de conexo e recebimento de datagramas, registrando
informaes de interesse sobre cada um desses eventos. So informaes de interesse
usualmente coletadas os endereos de origem de solicitaes de conexo e certos
parmetros dos cabealhos IP dos datagramas recebidos. Os agentes costumam
armazenar as informaes coletadas por um perodo de tempo determinado. Ao final
desse perodo, ou quando forem solicitados a faz-lo, os agentes enviam as
informaes coletadas a uma entidade central de gerenciamento. comum o uso de
canais seguros para o envio dessas informaes.

Na entidade central de gerenciamento ou console de gerenciamento as informaes


coletadas pelos agentes so registradas em uma base de dados para efeito de
- 142 -

comparao e anlise. O formato dessa base de dados e os mecanismos utilizados em


seu gerenciamento na console tero impacto decisivo na capacidade do IDS para
processar as informaes recebidas, associando eventos correlacionados e
identificando tentativas de ataque e comprometimentos da segurana. A console deve
ser capaz de gerar relatrios ordenados dos eventos, facilitando sua interpretao
pelos analistas de segurana. A eficincia da console em produzir tais relatrios ir
contribuir para a elaborao de anlises rpidas e precisas.

Por fim, nos casos em que a anlise dos dados indicar uma quebra da segurana
consumada ou em andamento, podem ser emitidas instrues a agentes especficos
para que sejam tomadas providncias destinadas a neutralizar a ameaa ou a evitar
seu agravamento. Dentre essas providncias podem figurar desde uma nova coleta de
informaes em bases mais detalhadas at o bloqueio das solicitaes originadas de
um ou mais endereos IP ou a completa desativao de servios supostamente
comprometidos. Em sistemas mais sofisticados, esses procedimentos de resposta
podem ser desencadeados de forma automtica, baseado em critrios de avaliao
preestabelecidos. Isso dispensa a interveno direta de um analista, iniciando
medidas reativas num tempo mais curto.

O funcionamento dos IDS, aqui descrito de forma esquemtica, admite muitas


variaes. Essas variaes podem ser melhor compreendidas a partir de uma
classificao simples, que discrimina os IDS com base nos pontos ou setores da rede
que ele observa e ainda nos mtodos utilizados para identificar eventos de interesse.
Assim, no que diz respeito forma de monitoramento, teremos os seguintes tipos de
IDS :

host based um IDS deste tipo tem agentes instalados em hosts especficos e
observa os eventos que envolvem esse host diretamente. Ele no considera o
fluxo de dados na rede, concentrando-se exclusivamente no n sob sua
responsabilidade.

network based por oposio ao tipo anterior, os sistemas network based


monitoram o trfego da rede, registrando eventos relacionados rede como
- 143 -

um todo, sem concentrar-se em hosts determinados. Um sistema deste tipo em


geral exige diversos agentes distribudos pela rede. Esses agentes devem
reportar inclusive a ocorrncia de eventos que, se tomados isoladamente,
podem no indicar claramente uma falha de segurana. Solicitaes de
conexo a determinados hosts ou a portas especficas so um bom exemplo.
Caber console combinar as informaes enviadas pelos agentes e verificar
se elas revelam uma ameaa efetiva.

J quanto ao mtodo de identificao de eventos, podemos classificar os IDS da


seguinte forma :

signature based este tipo de IDS identifica os eventos de interesse por meio
de caractersticas bem conhecidas das tcnicas de ataque, as chamadas
assinaturas. A assinaturas constam de uma base que deve ser atualizada
periodicamente. Sistemas comerciais costumam dispor de atualizaes
distribudas por seus fabricantes.

traffic based os IDS baseados em trfego, por sua vez, identificam eventos a
partir de alteraes e anomalias no trfego da rede.

Em qualquer desses casos, h um certo nmero de fatores que condicionam o


funcionamento do sistema. A seguir analisamos alguns deles :
quantidade de agentes fcil entender que um sistema, sobretudo um sistema
baseado em rede, que disponha de um nmero maior de agentes estar em
condies de observar mais eventos, aumentando com isso a possibilidade de
detectar uma intruso. A redundncia de meios oferecida por mltilos agentes
tambm uma caracterstica desejvel num IDS. Deve ser considerado entretanto
que um nmero excessivo de agentes pode produzir uma quantidade de
informaes alm da capacidade de anlise do sistema, prejudicando seu
funcionamento.

- 144 -

posicionamento dos agentes a capacidade dos agentes em obsevar eventos


afetada diretamente por seu posicionamento na rede. Espera-se que a maioria
das tentativas de intruso incida inicialmente sobre roteadores e hosts situados
no permetro da rede. A DMZ tambm uma rea onde os eventos de interesse
sero observados com mais frequncia.
capacidade de crtica nem todos os eventos observados pelos agentes podem ser
considerados anomalias ou indcios de invaso. Muitos deles, como solicitaes de
conexo e recebimento de mensagens ICMP, ocorrem regularmente como parte
do funcionamento normal da rede. Quando o sistema interpreta um evento
normal como uma violao da segurana temos um falso positivo. Se a cada falso
positivo for acionado um alarme ou procedimento de resposta, o sistema pode ser
levado a condies de funcionamento insustentveis. O IDS deve ser capaz de
distinguir entre a ocorrncia normal dos eventos e as circunstncias em que eles
indicam uma invaso ou um ataque de negao de servios. Essa crtica pode ser
feita com base no s na natureza dos eventos, mas tambm pela sua origem, pela
frequncia com que ocorrem e por uma srie de outras caractersticas. Como
regra geral, quanto mais sofisticada for a capacidade de crtica do sistema, mais
eficiente ele ser.
capacidade de convergncia como uma extenso da capacidade de crtica, a
capacidade de convergir informaes recebidas de vrios agentes e de analis-las
sob uma perspectiva de conjunto possibilta ao IDS detectar uma variedade maior
de tentativas de intruso e com maior antecedncia.
recursos de resposta automtica em muitos sistemas esto disponveis recursos
que permitem acionar automaticamente certos procedimentos de defesa quando
uma ameaa segurana for identificada. O acionamento desses procedimentos
executado aps uma anlise positiva das informaes, indicando um efetivo
comprometimento. Normalmente feita tambm uma comparao das
ocorrncias verificadas com limites de tolerncia pr-configurados, a fim de
evitar os efeitos de falsos positivos.
Entre os procedimentos de defesa que podem ser acionados pelo IDS esto :
- 145 -

interrupo temporria de conexes, por meio de mensagens RST.

interrupo permanente de conexes determinadas, mediante o


bloqueio de endereos de origem suspeitos.

interrupo permanente de conexes, mediante a desativao de hosts


ou servios.

reconfigurao de rotas, com o propsito de desviar o ataque para


honeypots ou para sistemas alternativos.

ativao de dispositivos especiais como sniffers ou ferramentas de


anlise.

Os recursos de resposta automtica no so capazes de oferecer um grau elevado de


preciso e no substituem em absoluto a anlise cuidadosa que pode ser executada
por analistas de segurana devidamente qualificados e familiarizados com o
ambiente. Contudo eles contribuem para a manuteno da segurana, possibilitando
uma vigilncia proativa e contnua e reduzindo o tempo de reao a ameaas.

Avaliao crtica :

Cada tipo de IDS revela uma abordagem especfica, qual correspondem vantagens
e desvantagens. Comparando a atuao dos sistemas host based e network based
somos levados a concluir que os primeiros tm um foco mais definido e a capacidade
potencial de gerar e analisar informaes com maior rapidez e detalhamento. So
por isso mais adequados ao emprego em ns de misso crtica, como servidores e
roteadores. J os sistemas network based fornecem um controle mais amplo, com
abrangncia sobre toda a rede, ficando em condies de detectar ameaas que
incidem sobre vrios hosts de forma sequencial ou simultnea. Isso os coloca em
condio de comparar dados e estabelecer relaes para detectar tentativas de
intruso em seus estgios iniciais, quando normalmente o atacante executa uma
- 146 -

sondagem em vrios pontos da rede, buscando um alvo adequado. A essa capacidade


contrape-se a desvantagem de gerar um volume maior de dados que em redes
grandes pode tornar-se difcil de analisar.

Da comparao entre os sistemas baseados em trfego com os que utilizam


assinaturas possvel notar que os primeiros esto em condies de detectar, ou pelo
menos de fornecer indcios de uma gama mais ampla de sondagens, invases e
comprometimentos, oferecendo ainda um grau de antecipao mais elevado. Exigem
porm um esforo maior de anlise de dados, o que pode impor uma demora
indesejada obteno de resultados.

J os sistemas signature based so capazes de resultados mais rpidos e precisos, em


decorrncia de sua forma de atuao mais direta. Sofrem contudo da dependncia de
uma base de assinaturas abrangente e atualizada, numa situao anloga que
experimentam os programas anti-vrus.

Uma forma de compensar as limitaes de cada tipo de sistema consiste no emprego


combinado de ferramentas de vrios tipos. Essa alternativa s alcanar uma
eficcia significativamente maior se as ferramentas combinadas forem capaz de
atuar em conjunto, compartilhando informaes e resultados de anlise e
desencadeando procedimentos automticos de resposta de uma forma coordenada.

A falta de padronizao e a limitada interoperabilidade entre os sistemas de deteco


representam, nesse caso, um srio obstculo. Uma iniciativa importante no sentido
de super-lo o desenvolvimento do CIDF Common Intrusion Detection
Framework e da CISL - Common Intrusion Specification Language.

O CIDF estabelece padres para a arquitetura dos IDS, definindo elementos, funes
e estruturas genricas. Conforme o CIDF, um sistema de deteco deve ser composto
pelos seguintes elementos :

E boxes representam os componentes capazes de observar eventos


de interesse. Esto naturalmente associados aos agentes.
- 147 -

A boxes so os componentes encarregados de receber informaes


de eventos, conduzir anlises e gerar relatrios. Correspondem s
consoles de gerenciamento .

D boxes so componentes de banco de dados, responsveis pelo


armazenamento e anlises avanadas das informaes de eventos.

R boxes so componentes capazes de gerenciar o acionamento e a


conduo de procedimentos de resposta, em base automtica ou manual.

A CISL consiste numa linguagem empregada no intercmbio de informaes entre os


componentes do IDS, dando suporte comunicao e interpretao de informaes
brutas de evento, resultados de anlise e instrues para procedimentos de resposta.

O desenvolvimento do CIDF e da CISL est a cargo do IDWG Intrusion Detection


Working Group, subordinado IETF. Embora o padro ainda no tenha sido
homologado, espera-se que no futuro seu aperfeioamento e adoo pelo mercado leve
ao desenvolvimento de uma gerao de IDS interoperveis e mais eficientes.

Um novo modelo de Intrusion Detection System :

A arquitetura de sistemas de deteco proposta no mbito do CIDF aponta no


sentido da modularidade como uma forma de organizar funes e permitir a
interoperabilidade de sistemas distintos. A mesma caracterstica aproveitada como
fundamento de uma idia ainda mais inovadora : o desenvolvimento de sistemas de
deteco constitudos por agentes autnomos.

Os sistemas de deteco de agentes autnomos comeam sua transio do campo


experimental para o terreno ocupado por implementaes funcionais. Essa evoluo
ganhou impulso recentemente pela liberao do AAFID Autonomous Agents For
Intrusion Detection - um sistema desenvolvido pelo COAST Computer Operations
Audit and Security Technology, da Purdue University.
- 148 -

O modelo proposto para os sistema de deteco de agentes autnomos baseia-se no


emprego de um maior nmero de agentes, cada um deles funcionando com um alto
nvel de especializao e orientado a categorias especficas de eventos. Eles so
capazes de estabelecer rotinas de cooperao com os outros agentes em ao no
sistema, comunicando a estes a observao de eventos de interesse. Dependendo do
grau de importncia dos eventos observados, outros agentes autnomos com funes
especializadas podem executar observaes mais detalhadas ou tomar decises que
levem notificao do evento. Esse mtodo pretende otimizar o processo de anlise,
convergindo informaes numa etapa anterior notificao, o que contribui para
um controle de erros mais eficaz.

prevista tambm a mobilidade dos agentes, que podem ser redistribudos


automaticamente a partir de servidores de agentes, conforme as necessidades
geradas pelos incidentes detectados. Tcnicas avanadas como o emprego de
algoritmos genticos podem contribuir para a criao de agentes autnomos
inteligentes, capazes de aprender com a observao de eventos ou a partir do
resultado de anlises e do acompanhamento de tendncias.

Nesta linha de pensamento inserem-se os trabalhos conduzidos no Instituto de


Cincias Matemticas e de Computao da Universidade de So Paulo por Francisco
Gomes Milagres e Mauro Csar Bernardes. Esses trabalhos avaliam possibilidades e
especificam mtodos para o uso de agentes autnomos em sistemas de deteco. O
trabalho de Bernardes, particularmente, estabelece um modelo para comunicao e
tomada de decises entre agentes autnomos. Esse modelo baseado em camadas
conforme esquematizado na ilustrao :

- 149 -

Por meio de mecanismos de troca de mensagens, os agentes que operam em uma


camada podem informar agentes em uma camada superior, acionando funes
especficas num grau crescente de atividade. Em certas circunstncias, os agentes de
uma camada superior podem acionar agentes da camada inferior, determinando a
execuo de tarefas de apoio ou complementares.

A proposta dos sistemas de deteco de agentes autnomos reduz ou elimina a


necessidade de uma entidade central de gerenciamento, distribuindo suas
responsabilidades entre os agentes especializados. Alm do potencial aumento de
eficincia que essa radical alterao pode trazer, outros benefcios so esperados. Eis
alguns deles :

Flexibilidade como o sistema abandona a estrutura integrada ou monoltica,


adotada pela maioria dos IDS atuais, em favor de uma estrutura modular, fica
facilitada a adequao s necessidades especficas de cada ambiente ou
circunstncia. A adio ou remoo de agentes ajusta as funes do sistema s
exigncias correntes.

Facilidade de manuteno a diviso do sistema em mdulos, relativamente simples


se comparados aos sistemas integrados, reduz a complexidade das tarefas de
manuteno a ele associadas. A configurao, substituio ou atualizao de agentes
tendem a ser mais fceis e econmicas que as mesmas operaes executadas sobre
partes de um sistema integrado.

Escalabilidade - os sistemas de deteco de agentes autnomos oferecem maior


escalabilidade que os sistemas integrados, porque a ativao de novos agentes e o
estabelecimento de compatibilidade entre esses novos agentes e os agentes existentes
mais simples. Essa caracterstica facilita o atendimento s necessidades de
expanso e diversificao do sistema.

- 150 -

Tolerncia a falhas ao eliminar as entidades centrais de gerenciamento, os sistemas


de deteco de agentes autnomos eliminam tambm um importante ponto nico de
falha, reduzindo a possibilidade de quebra da segurana como um todo a partir do
comprometimento do mdulo central do sistema.

4. Protocolos seguros :

Os protocolos seguros so componentes de software projetados para trabalhar em


conjunto com os demais protocolos, provendo funes adicionais de segurana, como
autenticao, verificao de integridade de dados e datagramas, manuteno da
confidencialidade e outras.

Aplicabilidade :

O emprego de protocolos seguros depende fundamentalmente da camada em que


esses protocolos iro atuar. Atuando na camada de Transporte ou de Aplicao, os
protocolos seguros oferecem proteo aos dados, mas no so capazes de proteger as
informaes e parmetros contidos nos cabealhos das camadas de Internet e Fsica.
Isso implica numa limitao importante, uma vez que esses parmetros afetam
diretamente as comunicaes em rede.

O problema bsico da aplicao de criptografia aos protocolos das camadas Fsica ou


de Internet reside no fato de que isso obrigaria cada roteador ou dispositivo de
conexo que opera nessas camadas a executar uma operao de decriptao, a fim de
examinar o cabealho do datagrama ou frame, e em seguida uma operao de
encriptao antes de encaminh-lo. Alm da sobrecarga extraordinria de
processamento que essa prtica viria impor aos dispositivos, possivelmente
inviabilizando seu funcionamento, haveria ainda a vulnerabilidade representada
pelo processamento em claro dos pacotes em cada dispositivo.

Conceito de funcionamento :
O funcionamento dos protocolos seguros envolve processos complexos, que podem
variar caso a caso. Existem algumas tcnicas e princpios, entretanto, que so
- 151 -

aplicadas em quase todas as implementaes de protocolos seguros e podem


esclarecer em termos genricos o seu funcionamento. Faremos uma breve descrio
de duas delas :

Encapsulamento o encapsulamento consiste na reformatao de pacotes pela


aplicao de um cabealho extra com novos parmetros. O encapsulamento permite
alterar a forma como os pacotes so processados nos dispositivos da rede sem que
seu contedo original seja alterado. Ao alcanar seu destino, o cabealho do
encapsulamento removido e o pacote original processado.

Criptografia um conjunto de mtodos e processos que se destinam a alterar o


formato de dados, tornando-os incompreensveis. O processo de criptografia deve ser
reversvel, permitindo que os dados sejam reconstitudos ao seu formato original em
condies controladas.

A criptografia emprega algoritmos e chaves. Os algoritmos so regras ou funes


matemticas para a alterao dos dados. As chaves so parmetros ou variveis
utilizadas pelos algoritmos para criptografar os dados. Uma vez que os algoritmos
dependem das chaves para criptografar, eles podem ser de conhecimento pblico,
ficando o requisito de sigilo restrito s chaves.

Existem algoritmos padronizados de emprego muito difundido em tcnicas


criptogrficas. So exemplos o RSA Rivest Shamir Adleman , o DES Data
Encryption Standard e o Blowfish.

O nmero de bits que compe a chave criptogrfica impe maior ou menor


dificuldade quebra e define o mtodo de criptografia como forte ou fraco. Aceita-se
que chaves com mais de 40 bits so necessrias para suportar criptografia forte.

O uso de chaves criptogrficas associadas aos algoritmos permite que um


destinatrio escolhido, com conhecimento da chave usada para criptografar os
dados, possa decriptograf-los, tendo acesso ao seu formato original. Esse processo

- 152 -

garante confidencialidade aos dados, evitando que destinatrios no autorizados


tenham acesso a eles.

Quando uma nica chave usada, diz-se que a criptografia simtrica. Uma
variao desse modelo chamada de criptografia assimtrica. Os mtodos de
criptografia assimtrica empregam um par de chaves, uma delas pblica e outra
privada. As chaves pblica e privada so geradas simultaneamente e guardam uma
relao entre si. A chave pblica distribuda para os remetentes potenciais da
mensagem. A chave privada permanece de posse exclusiva do destinatrio. O
remetente pode usar a chave pblica de um destinatrio escolhido para criptografar
a mensagem. Essa mensagem s poder ser decriptografada com a chave privada do
destinatrio. Isso garante que apenas esse destinatrio ter acesso ao contedo da
mensagem criptografada por esse mtodo.

Descrio de protocolos seguros :

Sero descritos aqui os seguintes protocolos :


a. IPSec IP Security
b. SSL Secure Socket Layer
c. HTTP-S
d. SSH - Secure Shell

a. IPSec IP Security :

O IPSec um multi-protocolo interopervel com o IP e outros protocolos. Ele


foi projetado para fornecer integridade de dados, confidencialidade e
autenticao sem afetar o funcionamento das redes e hosts que o utilizam O
IPSec um componente obrigatrio do IPv6.

As tcnicas de criptografia empregadas no IPSec no exigem algoritmos


especficos. Existe um conjunto de algoritmos bsicos recomendado para uso

- 153 -

em IPSec, mas cada desenvolvedor pode optar por utilizar em suas


implementaes o algoritmo que lhe parecer mais conveniente.

O IPSec composto de trs protocolos :

AH - Authentication Header

ESP - Encapsulating Security Payload

IKE Internet Key Exchange

O AH e o ESP so protocolos de autenticao bastante similares,


apresentando entre si poucas diferenas, concentradas em variaes de
estrutura e no nvel de criptografia utilizada por cada um deles.

possvel o emprego combinado do AH e do ESP em uma variedade de


associaes. Por esse meio podem ser implementadas configuraes diversas,
para suporte de comunicao segura host a host, estabelecimento de
modalidades simples de VPN Virtual Private Network e interao segura
com firewalls.

Analisamos a seguir o funcionamento de cada um desses componentes do


IPSec.

AH - Authentication Header :

O AH prov integridade de dados e autenticao para datagramas IP. O AH


deve ser aplicado a um datagrama antes de que esse datagrama seja
fragmentado. Aps aplicado, o datagrama IP pode ser fragmentado. O AH
descrito na RFC 1285.

O AH utiliza um cabealho que pode ser aplicado ao datagrama IP original de


duas maneiras diferentes. Essas alternativas definem os dois modos de
utilizao do AH : o modo de transporte e o modo tnel.
- 154 -

No modo de transporte o cabealho IP do datagrama removido, o cabealho


AH aplicado sobre a carga de dados ou payload do datagrama original, e
um novo cabealho IP composto. A estrutura do datagrama resultante
mostrada na figura abaixo :

CABEALHO IP

CABEALHO AH

DADOS ....

O modo de transporte protege os dados associados s camadas superiores, mas


no todas as informaes que fazem parte do cabealho IP. Os chamados
campos mutveis do cabealho IP no so autenticados. Ele exige menos
processamento, mas apresenta um nvel de segurana baixo, apresentando a
desvantagem de no autenticar todos os campos do cabealho IP.

No modo tnel, o cabealho AH aplicado sobre todo o datagrama, incluindo


seu cabealho, conforme mostra a figura :

CABEALHO IP CABEALHO
( NOVO )

AH

CABEALHO IP

DADOS ...

( ORIGINAL )

O modo tnel exige maior processamento, mas fornece uma proteo mais
efetiva, aplicada a todo o datagrama. Ele oferece adicionalmente a
flexibilidade decorrente da possibilidade de serem empregados no cabealho
novo endereos IP diferentes daqueles que constam do datagrama original.
Isso permite o uso de sistemas intermedirios denominados gateways seguros,
para estabelecer comunicao segura entre si dispensando dessa tarefa os
hosts de origem e destino.
ESP - Encapsulating Security Payload :
O ESP fornece verificao de integridade, autenticao e criptografia dos
datagramas IP. Como o AH, ele tambm fornece um servio de proteo de
- 155 -

resposta a nvel opcional. O ESP representa um mtodo alternativo ao AH,


com recursos mais amplos e poderosos.

A aplicao de um cabealho ESP a um datagrama envolve tambm a


aplicao de um trailer e de dados de autenticao, posicionados aps os
dados. Conforme o modo de utilizao, os dados podem incluir apenas a carga
de dados do datagrama original ou o datagrama original em sua totalidade,
inclusive com seu cabealho.

semelhana do AH, o ESP pode tambm ser empregado em modo de


transporte ou modo tnel, com as mesmas exigncias e funcionalidades que
esses modos oferecem ao AH.

No caso de emprego em modo de transporte, a estrutura do datagrama com o


ESP aplicado seria a seguinte :

CABEALHO CABEALHO
IP
ESP

DADOS ...

TRAILER AUTENT.
ESP
ESP

Nesse modo o cabealho IP no autenticado nem pode beneficiar-se das


funes de encriptao. Contudo, o overhead gerado pelo seu emprego
menor do que em modo tnel.
No caso de emprego em modo tnel, o datagrama teria a estrutura ilustrada
abaixo :
IP
( NOVO )

ESP

IP
(ORIGINAL)

DADOS ...

TRAILER AUTENT.
ESP
ESP

O processamento extra exigido pelo emprego de ESP em modo tnel pode ser
compensado, conforme as circunstncias, pela proteo integral oferecida ao
datagrama e pela possibilidade de utilizao de endereos IP diferenciados.

- 156 -

IKE Internet Key Exchange :

O IKE deriva de dois outros protocolos, o ISAKMP Internet Security


Association and Key Management Protocol e o Oakley. Ele combina e
aperfeioa as funcionalidades dos protocolos originais, dando suporte
gerao automtica de chaves criptogrficas e sua atualizao. Por meio do
IKE so trocadas as chaves criptogrficas que sero usadas entre hosts
envolvidos em uma transao segura. O estabelecimento de SA Secure
Associations - tambm pode ser feito por intermdio do IKE.

O IKE destaca-se principalmente pela possibilidade de executar as funes


descritas com um alto nvel de automatizao, acelerando a execuo de
transaes seguras.

As operaes gerenciadas pelo IKE so organizadas em intercmbios ou fases,


de modo a otimizar o processo. Tarefas que requerem processamento intensivo
so executadas num intercmbio denominado Fase 1. Esse intercmbio ocorre
com uma frequncia menor do que o segundo, denominado Fase 2, que
engloba tarefas mais simples. Apesar da denominao sugerir uma sequncia
direta, a uma ocorrncia da Fase 1 podem suceder-se diversas ocorrncias da
Fase 2.

b. SSL Secure Socket Layer :

O Secure Socket Layer um protocolo criado pela Netscape e de uso


amplamente difundido em transaes de e-commerce. Atualmente o SSL um
padro aberto, incorporado a diversas implementaes.

O SSL atua num nvel superior da camada de Transporte, recebendo dados da


camada de Aplicao e repassando-os ao protocolo de transporte, na maioria
dos casos ao TCP.

- 157 -

O SSL utiliza um protocolo de handshake denominado SSL Handshake


Protocol para estabelecer uma conexo segura baseada em estados de sesso.
No estado inicial, denominado estado de sesso, o cliente e o servidor trocam
uma sequncia padronizada de mensagens com a finalidade de estabelecer
parmetros comuns que sero utilizados na criptografia dos dados. Nessa fase,
informaes como chaves pblicas e algoritmos suportados so intercambiadas
entre os hosts. gerada tambm uma chave mestra de sesso, que ser usada
para criptografar os dados durante a fase de conexo.

Tendo sido concludas com sucesso as tarefas referentes fase de sesso, o SSL
Handshake Protocol muda seu estado para conexo. Com a conexo
estabelecida, a transmisso e recepo dos dados ser gerenciada pelo SSL
Record Protocol.

Na fase de conexo, o SSL Record Protocol executar a reformatao dos


dados, de modo a facilitar as operaes subsequentes. Ele poder executar
tambm uma compactao opcional. Os dados sero criptografados ou
decriptografados com o uso da chave mestra e dos parmetros definidos na
fase de sesso. Algumas funes adicionais de autenticao tambm podem ser
executadas.

c. HTTP S :

O HTTP-S ou Secure HTTP uma extenso do protocolo HTTP que oferece


recursos como autenticao entre cliente e servidor, criptografia e controle de
sesso. Ele consiste na verdade em um conjunto de cabealhos normalmente
aplicveis s mensagens HTTP e que podem ser usados tambm no controle
dessas funes. Os cabealhos com contedos adaptados s funes de
segurana encapsulam mensagens HTTP comuns, outras mensagens HTTP-S
ou dados em estado bruto.

- 158 -

Os recursos de criptografia suportados pelo HTTP-S no so vinculados a


algoritmos especficos. As implementaes do protocolo podem utilizar-se de
algoritmos no padronizados, o que lhes confere grande flexibilidade.

Enquanto o SSL foi projetado para estabelecer conexes seguras, o HTTP-S


usado para prover segurana a nvel de mensagem. Os dois protocolos podem,
inclusive, ser usados em conjunto.

d. SSH Secure Shell

O SSH constitudo de um protocolo em torno do qual so agrupados


mdulos que desempenham funes de cliente e servidor. Cria-se assim um
conjunto centrado no protocolo e que pode ser utilizado com finalidades
diversas.

Os conjuntos SSH permitem conexes seguras a partir de um mecanismo de


autenticao baseado em algoritmos eficientes como o RSA. O SSH
criptografa toda a sesso, inclusive as senhas enviadas. Dessa forma, ele
substitui com vantagem o utilitrio rlogin, originalmente empregado em
ambientes UNIX para estabelecer conexes com hosts remotos. Como o rlogin
transmite as senhas em claro, ele oferece uma vulnerabilidade que pode ser
eliminada pelo mtodo implementado com o SSH.

Outra funcionalidade importante do SSH a de permitir a execuo de


comandos remotamente. Essa funcionalidade justifica seu emprego como
substituto de utilitrios originais do UNIX, como o rsh e rexec, que carecem
de mecanismos de autenticao confiveis e so comprovadamente inseguros.
A cpia e transferncia de arquivos a partir de hosts remotos outra tarefa
suportada pelo SSH.

- 159 -

O SSH um padro comercial desenvolvido pela SSH Communications


Security Ltd. Est disponvel para ambientes UNIX e Windows NT, alm de
outros sistemas operacionais.

Avaliao crtica :

A aplicao de protocolos seguros constitui-se numa contramedida de eficincia


comprovada em muitos casos. Como vantagens significativas do emprego desse mtodo
surgem a possibilidade de utiliz-lo com sucesso em um ambiente diferenciado e multiplataforma e a concentrao dos custos de sua utilizao nas fases de desenvolvimento e
implementao, sendo dessa forma uma contramedida pronta para o uso, que requer
pouca ou nenhuma participao dos utilizadores.

Como principal obstculo ao emprego dessa tcnica esto as limitaes associadas aos
processos criptogrficos, desde os requisitos de processamento e custos em termos de
tempo que so por eles impostos at as questes relacionadas produo e utilizao de
algoritmos.

- 160 -

Captulo 5

Poltica de segurana

- 161 -

Poltica de segurana
A complexidade crescente dos ambientes informatizados e das facilidades oferecidas
pela tecnologia exige que as medidas destinadas a apoiar a segurana dos dados e das
comunicaes sejam planejadas criteriosamente e desenvolvidas de forma coordenada.

A poltica de segurana um conjunto de diretrizes, normas, regulamentos e instrues


que

formalizam mtodos

e condutas, definem procedimentos e estabelecem

responsabilidades, contribuindo para a criao e manuteno de um ambiente


organizado e seguro, onde o emprego de contramedidas de escopo tecnolgico pode ser
facilitado para alcanar resultados mais amplos e consistentes.

Assim composta, a poltica de segurana ser usada como referncia bsica para :
Definir controles de utilizao para servios e aplicaes.
Estabelecer direitos e restries de acesso a recursos.
Definir medidas preventivas e corretivas das violaes da segurana.
Orientar anlises de riscos.
Conduzir processos de auditoria.
Definir medidas preventivas e corretivas das violaes da segurana.
A poltica de segurana deve refletir as caractersticas da instituio ou empresa em
benefcio da qual foi criada, considerando, alm das metas e objetivos, o ambiente
institucional e a cultura da organizao.

A elaborao de uma poltica de segurana deve ser orientada em nveis estratgico,


ttico e operacional. A cada um desses nveis corresponder uma classe de disposies,
com diferentes graus de exigncia e detalhamento.

Assim, ao nvel estratgico correspondero diretrizes e princpios de aplicabilidade


genrica, que contemplaro aspectos permanentes e comuns a todos os setores e
atividades. As diretrizes de segurana para toda uma organizao devem ser delineadas
- 162 -

nos mais altos escales administrativos, a fim de garantir sua vinculao s necessidades
mais gerais e aos objetivos permanentes da empresa.

Num nvel ttico, sero definidas normas de emprego mais especfico, dependentes da
estrutura organizacional e orientadas aplicao dos princpios estabelecidos nas
diretrizes. As normas devem ser relacionadas a ambientes e grupos especficos e podem
ser direcionadas em separado ao pessoal tcnico e aos usurios de informtica em geral.
No primeiro caso, elas trataro de aspectos como poltica de senhas e mtodos de
backup. No segundo caso, estaro relacionadas s atividades dos usurios, abordando
tpicos como utilizao das senhas e organizao de dados a cargo de cada setor ou
funcionrio.

J a nvel operacional, a poltica de segurana deve definir mtodos, condutas e rotinas


associadas a cada atividade ou situao especfica. Neste caso, o nvel de detalhamento
ainda mais alto, devendo atender s necessidades de informao imediatas que decorrem
ou podem decorrer da execuo de cada tarefa.

Na elaborao da poltica de segurana, as vulnerabilidades dos sistemas devem ser


consideradas em conjunto, associando-se aquelas fundamentadas em caractersticas
tecnolgicas com as de natureza fsica ou as que so condicionadas por fatores humanos.
A composio de um painel detalhado das vulnerabilidades existentes ir subsidiar a
definio de procedimentos de segurana contextualmente eficazes, em condies de
compensar o conjunto de vulnerabilidades e no apenas atender a necessidades isoladas.

Aps sua elaborao, necessrio que a poltica de segurana da empresa seja apoiada
por um processo de documentao e divulgao eficiente e torne-se objeto de um esforo
de acompanhamento capaz de garantir as adaptaes e atualizaes necessrias a
mant-la sempre em condies de aplicabilidade plena.
Finalmente, a poltica de segurana deve contribuir para formar uma cultura em que a
segurana do ambiente seja uma preocupao constante e contnua, elevando o nvel de
participao e conscientizao de tcnicos e usurios. Essa contribuio deve ser
considerada desde a fase de elaborao da poltica at sua aplicao prtica e cotidiana.

- 163 -

- 164 -

Captulo 6

Concluses

- 165 -

Concluses

As anlise e observaes conduzidas no corpo deste trabalho permitem elaborar certas


concluses genricas sobre as vulnerabilidades prprias do conjunto de protocolos
TCP/IP.

O conjunto de protocolos TCP/IP tem seu emprego continuamente ampliado porque


representa um padro consensual e porque apresenta nveis de eficincia satisfatrios.
Provendo interoperabilidade entre plataformas, poderosos recursos de conectividade e
suporte a aplicaes que fazem uso intensivo da comunicao em rede, como os sistemas
voltados para e-commerce, o TCP/IP capaz de atender s necessidades correntes do
atual estado de desenvolvimento tecnolgico e s exigncias impostas pelas novas formas
de comunicao e trabalho.

O protocolo IP, que prov as funcionalidades crticas no conjunto, essencialmente


inseguro. Sua forma de operao e caractersticas do margem a exploraes
intencionais e formas variadas de uso indevido que podem afetar o funcionamento de
servios de rede ou comprometer requisitos bsicos da segurana da informao, como
sua integridade, confidencialidade e autenticidade.

As limitaes de segurana que o protocolo IP revela decorrem basicamente das


necessidades que definiram o cenrio em que seu desenvolvimento teve incio. Nesse
cenrio, foi previsto seu emprego num ambiente controlado e concedida prioridade s
capacidades de comunicao em detrimento de processos abrangentes de verificao e
segurana. Esses fatores produziram um protocolo flexvel, mas sujeito a um grande
nmero de falhas de segurana.

As vulnerabilidades do protocolo IP e dos demais protocolos que a ele so associados


podem ser compensadas por aperfeioamentos no sentido de prover uma comunicao
confivel, protegendo no s os dados transportados, mas tambm os parmetros e
informaes de controle que orientam a comunicao. Tcnicas como o encapsulamento
de pacotes e a criptografia de dados e de parmetros so exemplos de aperfeioamentos
- 166 -

que j foram incorporados com sucesso em implementaes aperfeioadas do conjunto


ou como mdulos opcionais, associados a aplicaes especficas. Um nmero significativo
de alternativas puderam ser testadas, inclusive em campo, e muitas delas revelaram-se
funcionais e seguras. O IPSec e o SSL exemplificam esse xito e sinalizam um rumo para
o desenvolvimento futuro.

O melhor caminho para tornar o IP um protocolo seguro, capaz de desempenhar suas


funes de forma confivel, est na evoluo de seu conceito e de suas especificaes. A
essa evoluo devem seguir-se o desenvolvimento de implementaes especficas e o
surgimento de aplicaes seguras, adequadas a novos formatos de emprego que j esto
sendo delineados, como os Application Service Providers e as novas modalidades de
ferramentas de groupware baseadas em redes peer-to-peer.

O IPv6 representa um resultado consistente do esforo empreendido para acrescentar


funcionalidades mais amplas e nveis de segurana mais altos ao protocolo. A
incorporao de tcnicas de criptografia a essa nova verso deve contribuir para
eliminar ou controlar algumas das vulnerabilidades mais preocupantes da verso atual
do protocolo.

esperado que a substituio do IPv4 pelo IPv6 seja feita ao longo de um processo
demorado. A especificao cuidadosa de requisitos de interoperabilidade entre as
verses do protocolo reflete essa perspectiva. Mesmo antes que os benefcios da
utilizao do IPv6 possam afetar a questo da segurana de forma pondervel, o
emprego de contramedidas apropriadas representa uma alternativa de curto e mdio
prazos para amenizar as deficincias que decorrem do uso do TCP/IP.

Hoje temos contramedidas sofisticadas, que apoiam-se em tcnicas e em implementaes


especficas para operar funes avanadas de gerenciamento e controle, sendo capazes
de fornecer s comunicaes um nvel de segurana superior. Contudo, a simples
utilizao de uma dessas contramedidas no pode garantir segurana para o ambiente
da rede IP. recomendvel coordenar a ao de vrias delas num esforo integrado,
como forma de complementar capacidades e compensar limitaes.

- 167 -

Esse esforo integrado deve ser delineado a partir do estabelecimento de polticas de


segurana adequadas s necessidades e caractersticas de cada empresa ou instituio.
Riscos e vulnerabilidades devem ser avaliados e medidas preventivas ou corretivas
devem ser selecionadas e implementadas no sob uma perspectiva exclusivamente
tcnica, mas em conformidade com os objetivos e necessidades previstos na poltica de
segurana.

- 168 -

Bibliografia

- 169 -

Bibliografia
1. BELLOVIN, S.M.. Security Problems in the TCP/IP Protocol Suite. Disponvel por
www em http:// www.modulo.com.br.

2. FRANCISCO GOMES MILAGRES. A aliana dos agentes mveis e tecnologias contra


os hackers. Developers Magazine, Rio de Janeiro, RJ, ano 5, n.54, p.26-27, fev. 2001

3. Frequently

asked

questions

on

PPTP.

Disponvel

por

www

em

http://www.counterpane.com/pptp-faq.html

4. GONALVES, Marcus. Firewalls : Guia completo. Rio de Janeiro, RJ : Editora Cincia


Moderna Ltda., 2000. ISBN: 85-7393-102-7.

5. HEYWOOD, Drew; SCRIMGER, Rob. Networking with Microsoft TCP/IP Certified


Administrators Resource Edition. Indianapolis, Indiana : New Riders Publishing, 1997.
ISBN: 1-56205-791-X.
6. Hypertext

Transfer

Protocol

--

HTTP/1.0.

Disponvel

por

www

em

http://www.ics.uci.edu/pub/ietf/http/rfc1945.html

7. INTERNETWORKING with Microsoft TCP/IP on Windows NT 4.0 : Course


Workbook : Microsoft Corporation,

8. LUIZ PAULO MAIA. Analisando ataques do tipo Distributed Deny of Service DDoS.
Developers Magazine, Rio de Janeiro, RJ, ano 5, n.54, p.26-27, fev. 2001

9. MURHAMMER, Martin et al. TCP/IP Tutorial e Tcnico. So Paulo, SP : Makron


Books, 2000. ISBN: 85-346-1188-2.

10. NORTHCUTT, Stephen. Como detectar invaso em rede : Um guia para analistas. Rio
de Janeiro, RJ : Editora Cincia Moderna Ltda., 2000. ISBN: 85-7393-070-5.
- 170 -

11. NOVELL intraNetWare Administration. Orem, Utah : Novell Inc., 1999.

12. NOVELL Networking Essentials Students Handbook. Orem, Utah : Novell Inc.,
1999.

13. RANGEL, Ricardo Pedreira. Passado e Futuro da Era da Informao. So Paulo :


Nova Fronteira, 1999. ISBN85-209-0980-9

14. RUSSEL, Charlie; CRAWFORD, Sharon. Microsoft Windows NT Server 4.0 : Guia
Autorizado Microsoft. So Paulo, SP : Makron Books, 2000. ISBN: 85-346-0811-3.

15. SECURE Web Acces with MS Proxy Server 2.0 : Course Workbook : Microsoft
Corporation,

16. STRAUCH, Suzana Beatriz de Miranda. Aspectos de Segurana no Protocolo IP. Porto
Alegre : PPGC da UFRGS, 1999. 100f.:il

17. TOWNSLEY, W. et al. Layer Two Tunneling Protocol "L2TP". Disponvel por FTP
annimo em isi.edu/in-notes/rfc2661.txt

18. WINDOWS NT 4.0 Server Resource Guide. So Paulo, SP : Makron Books, 1997.
ISBN: 85-346-827-X.

- 171 -

Sites consultados :

Os seguintes sites forneceram dados e informaes utilizados nesse trabalho :

http://packetstorm.securify.com

http://rootshell.com

http://support.microsoft.com

http://www.atstake.com

http://www.counterpane.com

http://www.guninski.com

http://www.ietf.org

http://www.infosecuritymag.com

http://www.linux.org

http://www.mindsec.com

http://www.nmrc.org

http://www.novell.com

http://www.ntbugtraq.com

http://www.sans.org

http://www.ssh.com

http://www.terisa.com

- 172 -

Você também pode gostar