Você está na página 1de 26

Arquiteturas de Redes

As modernas redes de computadores so projetadas de forma altamente estruturada. Para reduzir a complexidade de projeto, a maioria das redes organizada em camadas ou nveis, cada uma construda sobre a sua predecessora. O nmero de camadas, o nome, o contedo e a funo de cada camada diferem de uma rede para outra. No entanto, em todas as redes, o propsito de cada camada oferecer certos servios s camadas superiores, protegendo essas camadas dos detalhes de como os servios so de fato implementados. A camada n em um mquina estabelece uma conversao com a camada n em outra mquina. As regras e convenes utilizadas nesta conversao so chamadas coletivamente de protocolo da camada n, conforme ilustrado na figura abaixo para uma rede com sete camadas. As entidades que compem as camadas correspondes em mquinas diferentes so chamadas de processos parceiros. Em outras palavras, so os processos parceiros que se comunicam utilizando o protocolo. Na verdade, nenhum dado transferido diretamente da camada n em uma mquina para a camada n em outra mquina. Em vez disso, cada camada passa dados e informaes de controle para a camada imediatmanete abaixo, at que o nvel mais baixo seja alcanado. Abaixo do nvel 1 est o meio fsico de comunicao, atravs do qual a comunicao ocorre. Na figura abaixo, a comunicao virtual mostrada atravs de linhas pontilhadas e a comunicao fsica atravs de linhas slidas. Camada N Protocolo da camada N Camada N | | Interface n/n-1 Camada N 1 Protocolo da camada N-1 Camada N-1 | | Interface n-1/n-2 ... ... | | Interface 2 / 3 Camada 2 Protocolo da camada 2 Camada 2 | | Interface 1 /2 Camada 1 Protocolo da camada 1 Camada 1 | | MEIO FSICO Entre cada par de cmaadas adjacentes h uma interface. A interface define quais operaes primitivas e servios a camada inferior oferece camada superior. Quando os projetistas decidem quantas camadas incluir em uma rede e o que cada camada deve fazer, uma das consideraes mais importante definir interfaces limpas entre as camadas. Isso requer, por sua vez, que cada camada desempenhe um conjunto especfico de funes bem compreendidas. Alm de minimizar a quantidade de informaes que deve ser passada de camada em camada, interfaces bem definidas tambm torna fcil a troca da implementao de uma camada por outra implementao completamente diferente, pois tudo o que exigido da nova implementao que ela oferea camada superior exatamente os mesmos servios que a implementao antiga oferecia. O conjunto de camadas e protocolos chamado de arquitetura de rede. A especificao de arquitetura deve conter informaes suficiente para que um implementador possa escrever o programa ou construir o hardware de cada camada tal que obedea corretamente ao protocolo apropriado. Nem os detalhes de implementao nem a especificao das interfaces so parte da arquitetura, pois estes detalhes esto escondidos dentro da mquina e no so visveis externamente. No nem mesmo necessrio que as 1

interfaces em todas as mquinas em uma rede sejam as mesmas, desde que cada mquina possa usar corretamente todos os protocolos. A questo importante a ser compreendida a relao entre a comunicao virtual e a comunicao real, e a diferena entre protocolos e interfaces. Por exemplo, os processos parceiros na camada 4 imaginam, conceitualmente, que a sua comunicao horizontal, utilizando o protocolo da camada 4. Cada um provavelmente ter um procedimento chamado EnviarParaOutroLado e um procedimento ReceberDoOutroLado, mesmo que estes processos de fato se comuniquem com as camadas inferiores atravs da interface 3/4, e no com o outro lado. A abstrao de processos parceiros crucial para todo projeto de redes. Sem essa tcnica de abstrao, seria difcil, se no impossvel, particionar o problema de projeto menores e gerenciveis, a saber, o projeto individual de cada camada.

Aps a anlise a camada decide se passa o restante dos dados para a camada superior. Estas informaes de controle correspondem ao protocolo da camada e tambm so conhecidos como header do protocolo. O conjunto das camadas e protocolos chamado de ARQUITETURA DE REDE. Arquitetura ISO/OSI Baseada nas experincias advindas do funcionamento dos sistemas de teleprocessamento, da ARPAnet e das redes pblicas e proprietrias, a ISO elaborou o Modelo de Referncia para Interconexo de Sistemas Abertos (Modelo OSI), o qual define todos os princpios bsicos para o desenvolvimento de uma arquitetura para interconexo de Sistemas Abertos. O modelo OSI por si s no uma arquitetura de rede, pois no especifica exatamente servios e protocolos a serem usados em cada camada. Ele define alguns conceitos e divide a tarefa de comunicao em sete camadas funcionais, dizendo que funes cada camada deve desempenhar. Entretanto, aps elaborar o Modelo OSI, a ISO passou a projetar, especificar,

implementar e testar os protocolos das vrias camadas definidas eplo Modelo OSI, dando origem a Arquitetura OSI. As sete camadas do modelo OSI definido abaixo:

Camada Fsica: a funo desta camada lidar com a transmisso pura de bits atravs de um canal de comunicao. Deve garantir que, quando um lado transmitre um bit 1, este seja recebido como um bit 1 do outro lado, e no como um bit 0. Portanto, o protocolo da camada fsica deve considerar questes como: voltagem para bit 1; voltagem para bit 0; tempo de durao de 1 bit; o modo de transmisso (simplex, half-duplex, full-duplex); como a conexo estabelecida e encerrada; a pinagem dos conectores, etc. Ou seja, questes mecnicas, eltricas e funcionais da transmisso dos bits. Camada de Enlace dos Dados: a principal funo desta camada detectar e, opcionalmente, corrigir possveis erros que possam ocorrer durante a transmisso sobre o meio fsico. Para isso, ela particiona os dados recebidos da camada de rede em quadros (frames), algumas centenas de bits a serem enviados ao nvel fsico, adicionando seus headers para controle de erros. Tambm deve cuidar da retransmisso de frames danificados ou perdidos e resolver problemas de duplicao de frames. Por exemplo, um rudo no meio de transmisso pode destruir o frame sendo transmitido. Neste caso, a camada de Enlace de dados na mquina orgime deve retransmitir o frame. Entretanto, mltiplas retransmisses introduzem a possibilidade de frames duplicados. Outras tarefas desta camada so processar avisos de confiramcao de recebimento enviados pelo receptor e resolver problemas de conexo entre mquinas com velocidades diferentes (quando uma mquina transmite dados em uma velocidade maior do que a mquina de destino pode suportar, ocorrer um estouro de buffer na mquina destino, e os dados podem ser perdidos). Camada de Rede: controla a operacao da subnet de comunicao. Sua tarefa principal est relacionada com o problema de como os pacotes de informao so roteados da mquina de origem at a mquina destino. As rotas podem ser baseadas em tabelas estticas embutidas na rede e que raramente so modificadas. Elas tambm poderiam ser definidas no incio de uma conversa, por exemplo, uma sesso de terminal, ou finalmente, poderiam ser altamente dinmicas, modificando-se a cada pacote transmitido e refletindo a carga atual da rede. Outras tarefas da camada de rede so: controle de congestionamento e trfego; estatstica do uso por usurio; resolver problemas de incompatibilidades (ex.: formas de

endereamento, tamanho de pacotes de dados, protocolos diferentes, etc.) que podem ocorrer quando um pacote viaja por vrias redes at alcanar a mquina de destino. Em redes do tipo broadcast, devido existncia de um nico canal, a funo principal desta camada (roteamento) torna-se irrelevante. Camada de Transporte: a camada de rede no garante necessariamente que um pacote chegue a seu destino, e pacotes podem ser perdidos ou mesmo chegar fora da sequencia original de transmisso. A funo bsica desta camada aceitar os dados da camada de sesso, quebr-los em partes menores se necessrio, pass-los camada de rede e garantir que as partes cheguem em ordem no destino. Isso tudo deve ser feito independentemente da tecnologia subnet usada. Desse modo, a camada de transporte isola as camadas superiores das mudanas inevitveis na tecnologia de hardware. Para cada requisio de conexo vinda da camada de sesso, a camada de transporte cria uma conexo de rede distinta. Entretanto, no caso de uma requisio de conexo de alto desempenho, a camada de transporte pode criar mltiplas conexes de rede para uma nica sesso, aumentando o desempenho. Do mesmo modo, a fim de reduzir custos, vrias requisies distintas de sesso podem ser multiplexadas em uma nica conexo de rede. Em mquinas multiprogramadas, vrias aplicaes podem estar ativas simultaneamente. Com isso, mltiplas conexes podem estar saindo e entrando de cada mquina. Portanto, quando uma mensagem chega em uma mquina, deve haver alguma maneira de identificar a qual conexo (consequentemente para qual aplicao) ela pertence. A camada de transporte deve fornecer esse mecanismo de identificao de aplicaes. Camada de Sesso: sua tarefa permitir que usurios em maquinas diferentes estabeleam sesses entre eles. Uma sesso permite a um usurio, por exemplo, realizar um login em um sistema de tempo compartilhado remoto ou transferir um arquivo entre duas maquinas. Esta camada responsvel por resolver todos os problemas que possam ocorrer durante uma sesso. Por exemplo: controle de dialogo: quando somente um lado da conexo pode transmitir em um dado instante (half-duplex), um mecanismo de tokens pode ser usado pela camada de sesso para esse fim; sincronizao da comunicao: coloca pontos de checagem (sincronizao) que permitem, em caso de quebra da comunicao, o reestabelecimento da comunicao a partir do ultimo ponto de sincronizao checado. Ex.: transferncia de arquivos. Camada de Apresentao: ao contrrio das demais camadas que esto preocupadas em transferir dados de maneira confivel, a camada de Apresentao cuida da semntica e sintaxe da informao transferida. Ela permite que dados representando uma cadeia de caracteres, nmeros reais ou inteiros, ou estrutura de dados, chegue maquina destino com o mesmo significado semntico e sinttico com que foram transmitidos, independentemente dos diferentes padres de codificao utilizados pelas maquinas envolvidas na comunicao. Camada de Aplicao: fornece o suporte tcnico para interao (comunicao) entre aplicaes distribuidas, formando a interface entre um processo de usurio e os protocolos de comunicacao. Nela esto servios que so comumente necessrios, tais como correio eletrnico, transferncia e acesso a arquivos remotos, login remoto, etc.

Transmisso de dados no modelo OSI

O processo comea com a entrega dos dados a serem transmitidos pelo usurio para a camada de aplicao na maquina A. A camada de aplicao junta aos dados do usurio um cabealho (header) contendo informaes de controle de protocolo. Aps isso, os dados do usurio, juntamente com o header anexado pela camada de aplicao so enviados para a camada de Apresentao. Para que possa executar sua funo, esta tambm anexa suas informaes de controle de protocolo e repassa os dados para a camada abaixo, ou seja, a camada de Sesso. Esse processo feito na maquina A at que cada camada faca sua funo, ou seja, anexe seus headers de controle. Ao atingir a camada fsica na maquina A, os dados so transmitidos pelo meio de transmisso, juntamente com os headers colocados pelas camadas. Na maquina B, ocorre o processo inverso. medida que os dados vo sendo passados para as camadas superiores, cada camada retira o header colocado por sua camada correspondente na maquina de origem (maquina A), executa as operaes do protocolo de acordo com as informaes contidas no header, e passa o restante para a camada superior. O processo se encerra com o usurio no sistema B recebendo os dados enviados pelo usurio do sistema A. Arquitetura TCP/IP TCP/IP um acrnimo para o termo Transmission Control Protocol/Internet Protocol Sute, ou seja, um conjunto de protocolos, onde dois dos mais importantes (o IP e o TCP) deram nomes arquitetura. O protocolo IP, base da estrutura de comunicao da Internet um protocolo baseado no paradigma de chaveamento de pacotes (packet-switching). Os protocolos TCP/IP podem ser utilizados sobre qualquer estrutura de rede, seja ela simples como uma ligao ponto-a-ponto ou uma rede de pacotes complexa. Como exemplo, pode-se empregar estruturas de rede como Ethernet, Token-Ring, FDDI, PPP, ATM, X.25, FRAME-Relay, barramentos SCSI, enlaces de satlite, ligaes telefnicas discadas e varias outras como meio de comunicao do protocolo TCP/IP. A arquitetura TCP/IP, assim como OSI realiza a diviso de funes do sistema de comunicao em estruturas de camadas. Em TCP/IP as camadas so:

camada de Rede: responsvel pelo envio de datagramas construdos na camada Inter-Rede. Esta camada realiza tambm o mapeamento entre um endereo de identificao de nvel Inter-Rede para um endereo fsico ou lgico do nvel de Rede. A camada Inter-rede independente do nvel de Rede. Alguns protocolos existentes nesta camada so: Protocolos com estrutura de rede prpria (X.25, Frame-Relay, ATM) Protocolos de Enlace OSI (PPP, Ethernet, Token-Ring, FDDI, HDLC, SLIP, ...) Protocolos de Nivel Fisico (V. 24, X.21) Protocolos de barramente de alta-velocidade (SCSI, HIPPI, ...) Protocolos de mapeamento de endereos (ARP Address Resolution Protocol) Este protocolo pode ser considerado tambm como parte da camada Inter-Rede. Os protocolos deste nvel possuem um esquema de identificao das maquinas interligadas por este protocolo. Por exemplo, cada maquina situada em uma rede Ethernet, Token-Ring ou FDDI possui um identificador nico chamado endereo MAC ou endereo fsico que permite distinguir uma mquina de outra, possibilitando o envio de mensagens especficas para cada uma delas. Tais rede so chamadas redes locais de computadores. Da mesma forma, estaes em rede X.25, Frame-Relay ou ATM tambm possuem endereos que as distinguem uma das outras. As redes ponto-a-ponto, formadas pela interligao entre duas mquinas no possuem, geralmente, um endereamento de nvel de rede (modelo TCP/IP), uma vez que no h necessidade de identificar varias estaes. Camada Inter-Rede: realiza a comunicao entre mquinas vizinhas atravs do protocolo IP. Para identificar cada mquina e a prpria rede onde estas esto situadas, definido um identificador, chamado endereo IP, que independente de outras formas de endereamento que possam existir nos nveis inferiores. No caso de existir endereamento nos nveis inferiores realizado um mapeamento para possibilitar a converso de endereo IP em um endereo deste nvel. Os protocolos existentes nesta camada so: Protocolos de transporte de dados: IP Internet Protocol Protocolo de controle e erro: ICMP Internet Control Message Protocol 6

Protocolo de controle de grupo de endereos: IGMP Internet Group Management Protocol. Protocolos de controle de informaes de roteamento.

O protoclo IP realiza a funo mais importante desta camada que a prpria comunicao inter-redes. Para isto ele realiza a funo de roteamento que consiste no transporte de mensagens entre redes e na decisa de qual rota uma mensagem deve seguir atravs da estrutura de rede para chegar ao destino. O protocolo IP utiliza a prpria estrutura de rede dos nivies inferiores para entregar uma mensagem destinada a uma mquina que est situada na mesma rede que a mquina origem. Por outro lado, para enviar mensagem para mquinas situadas em redes distintas, ele utiliza a funo de roteamento IP. Isto ocorre atravs do envio da mensagem para uma mquina que executa a funo de roteador. Esta, por sua vez, repassa a mensagem para o destino ou a repassa para outros roteadores at chegar no destino.

Camada de Transporte: Esta camada rene os protocolos que realizam as funes de transporte de dados fim-a-fim, ou seja, considerando apenas a origem e o destino da comunicao, sem se preocupar com os elementos intermedirios. A camada de transporte possui dois protocolos que so o UDP (User Datagram Protocol) e o TCP (Transmission Control Protocol). O protocolo UDP realiza apenas a multiplexacao que vrias aplicaes possam acessar o sistema de comunicao de forma coerente. O protocolo TCP realiza, alm da multiplexao, uma srie de funes para tornar a comunicao entre origem e destino mais confivel. So responsabilidades do protocolo TCP: o controle de fluxo, o controle de erro, a sequenciacao e a multiplexao de mensagens. A camada de transporte oferece para o nvel de aplicao um conjunto de funes e procedimentos para acesso ao sistema de comunicao de modo a permitir a criao e a utilizao de aplicaes de forma independente da implementao. Desta forma, as interfaces socket ou TLI (ambiente Unix) e Winsock (ambiente Windows) fornecem um conjunto de funes-padro para permitir que as aplicaes possam ser desenvolvidas independentemente do sistema operacional no qual rodaro. Camada de Aplicao: rene os protocolos que fornecem servios de comunicao ao sistema ou ao usurio. Pode-se separar os protocolos de aplicao em protocolos de servios bsicos ou protocolos de servios para o usurio:

Protocolos de servios bsicos, que fornecem servios para atender as prprias necessidades do sistema de comunicao TCP/IP: DNS, BOOTP, DHCP. Protocolos de servios para o usurio: ftp, http, Telent, smtp, pop3, imap, nfs, icq, RealAudio, etc. Posicionamento no nvel OSI A arquitetura TCP/IP possui uma srie de diferenas em relao arquitetura OSI. Ela se resume principalmente nos nveis de aplicao e Inter-rede da arquitetura TCP/IP. Como principais diferenas, podemos citar: OSI trata todos os nveis, enquanto TCP/IP s trata a apartir do nvel de rede OSI. OSI tem opes de modelos incompatveis. TCP/IP sempre compatvel entre as vrias implementaes. OSI oferece servios orientados a conexo no nvel de rede, o que necessita de inteligncia adicional em cada equipamento correspondente da estrutura de rede. Em TCP/IP a funo de roteamento bem simples e no necessita de manuteno de infromaes complexas. TCP/IP tem funo mnima (roteamento IP) nos ns intermedirios (roteadores). Aplicaes TCP/IP tratam os nveis superiores de forma monoltica. Desta forma OSI mais eficiente pois permite reaproveitar funes comuns a diversos tipos de aplicaes. Em TCP/IP, cada aplicao tem que implementar suas necessidades de forma completa. A figura ilustra a comparao entre TCP/IP e OSI. Note que a camada inter-rede de TCP/IP apresenta uma altura menor que o correspondente nvel de rede OSI. Isto representa o fato de que uma das funes do nvel de rede OSI realizada pelo nvel de Rede TCP/IP. Esta funo a entrega local de mensagens dentro da mesma rede. O IP s trata a entrega e a deciso de roteamento quando o origem e o destino da mensagem esto situados em redes distintas.

Ataques de negao de servios (DoS)


A Internet um espao virtual de encontros e ao mesmo tempo um local de conflitos, devido diversidade cultural dos seus usurios. Esse ambiente cria um campo frtil para aes maliciosas, que exploram falhas de segurana nas aplicaes e nos protocolos de comunicao da Internet. Vrus so enviados por email, infectando computadores e disseminando sem serem notados. Spams enchem as caixas de mensagens dos usurios da rede. Usurios malinntencionados, de todos os tipos, tentam invadir computadores e redes para roubar informaes confidenciais ou apenas mostrar seu potencial. Ataques de negao de servio (Denial of Service DoS) consomem os recursos de servidores e roteadores e impedem que usurios legtimos tenham acesso a um determinado servio. Enfim, a lista de ataques cresce a cada dia. Estatsticas apontam um crescimento mundial de 226% no volume das mensagens eletrnicas no solicitadas (spams) de abril para maio de 2005. Neste mesmo perodo, o aumento no volume de e-mails contendo pragas digitais aumentou em 33%. O montante de emails no solicitados j representa 68,7% de todos os e-mails que circulam na Internet e os que contm pragas digitais representam 3,12%. Provedores acabam aumentando o custo de sua operao por disponibilizar involuntariamente recursos para armazenar e enviar spams. No que se refere a negao de servio na Internet, um estudo recente estima em mais de 4000 o nmero de ataques em um perodo de 1 semana. O domnio .br o quarto domnio mais atacado por inundaes visando a negao de servio, concentrando de 5 a 7% dos ataques. Uma informao do relatrio anual do CSI/FBI sobre crimes na rea de computao afirma ainda que os ataques de negao de servios entre os incidentes de segurana que mais causam prejuzos s instituies americanas. At o momento no h uma soluo para os problemas de segurana da Internet. Porm a ocorrncia e os efeitos de alguns destes ataques foram reduzidos, atravs da adoo de determinadas ferramentas. O uso de firewalls reduz o nmero de invases a redes de computadores, uma vez que, com exceo dos pacotes legtimos, todo o trfego de entrada bloqueada. Os programas antivrus previnem a execuo de vrus e vermes conhecidos no computador no qual esto rodando. Dessa forma, os antivrus impedem a infeco do computador e interrompem a disseminao de tais pragas pela rede. Da mesma forma, programas antispam buscam reduzir o nmero de mensagens no solicitadas surgem a cada dia. No entanto, nenhuma das ferramentas existentes eficaz contra ataques de negao de servio. Apesar do empenho das reas acadmicas e industrial na busca de solues para evitar e remediar tais ataques, as ferramentas existentes so capazes de lidar apenas com ataques pouco refinados. Por isso, os ataques de negao de servio so, em sua maioria, bem sucedidos. Contra ataques de negao de servio, podem ser tomadas medidas preventivas e reativas. Para previnir-se de um ataque, uma possvel vtima deve atualizar regularmente seus programas e possuir recursos suficientes para suportar um ataque sem prejudicar seus usurios legtimos. Mesmo assim, tais prticas no garantem que um computador estar protegido contra ataques de negao de servio. Novas vulnerabilidades so descobertas a cada dia e, mesmo para computadores superdimensionados, no possvel garantir a imunidade da vtima quando o trfego de ataque gerado por diversos atacantes. Como a maioria dos ataques de negao de servio utiliza pacotes com endereos IP de origem forjados, o objetivo do rastreamento determinar a verdadeira origem e a rota percorrida por um pacote ou um 9

conjunto de pacotes IP. Ou seja, deseja-se encontrar quem realmente os enviou, de forma a aplicar punies e inibir futuros ataques. Os ataques na Internet podem ser realizados de diversas formas e com propsitos variados. Muitos ataques visam obter informaes confidenciais, se apoderar de recursos computacionais para execuo de uma determinada tarefa, anunciar produtos comerciais ou inviabilizar servios. Dependendo do tipo de ataque, o alvo principal podem ser os computadores dos usurios, os servidores ou a prpria rede. Assim, de alguma florma, a operao normal da rede prejudicada pela incapacidade de comunicao entre os computadores. Na maioria das vezes, as vitimas no tm conhecimento dos ataques e podem inclusive colaborar involuntariamente, p. ex., ao entrarem em um stio divulgado por um spam ou ao executarem um programa malicioso por engano. Pragas Digitais: os ataques associados a cdigos maliciosos custam bilhes de dlares a cada ano. A maioria das organizaes considera que as aes corretivas para estes ataque demandam muito tempo e um alto custo operacional. Em alguns casos, a recuperao podem levar vrios dias. Apesar dos esforos, a medida que estas defesas se tornam mais eficientes, os atacantes se adaptam s novas condies buscando novos caminhos para explorar vulnerabilidades. Apesar dos ataques quase ingnuos dos nerds do passado, atualmente estes ataques visam enriquecimento ilcito, ao capturar dados pessoais e senhas do passado. As perspectivas futuras so ainda piores devido deficincia dos ataques, dificuldade de se chegar ao atacante e falta de uma legislao especfica para os crimes digitais. Uma verdadeira guerra informacional entre atacantes e profissionais de segurana de sistemas computacionais se anuncia. Os tipos de ataques maliciosos que caracterizam as principais pragas digitais so: os vrus de e-mail ou de outro tipo, os cavalos de Tria ou outro tipo de porta dos fundos (backdoors), os vermes (worms), o spyware, o adware e o stealware. De maneira geral, as pragas se replicam e se espalham de um computador para outro. Os vrus, os vermes e os cavalos de Tria so pragas que so confundidas. Um vrus um trecho de cdigo que se anexa a um programa ou arquivo, de forma a poder se espalhar e infectar outros sistemas quando transportado. Os efeitos nocivos dos vrus so bastante variados, indo de aes irritantes como a exibio de uma imagem na tela, at estragos no hardware, software, ou sistemas de arquivos. A maioria dos vrus so anexados a arquivos executveis, o que significa que o vrus pode estar presente no computador mas no provocar efeitos maliciosos a menos que o programa seja executado. importante notar que o vrus no se espalha sem a ajuda de uma interveno humana, como a execuo de um programa. As pessoas ajudam a disseminar o vrus, s vezes sem saber, atravs do envio dos mesmos anexados a e-mails. Geralmente, os vrus apresentam a seguinte estrutura: um mecanismo de replicao, que permite que os vrus se espalhem; um disparador, que um evento externo ou interno para indicar o incio da replicao do vrus, da tarefa que este realiza ou de ambas; e uma tarefa, ou seja, a ao deve ser executada. Estes trs componentes podem ter diversas formas e comportamentos. Os mecanismos de replicao variam consideravelmente. Um vrus pode executar uma incontvel quantidade de combinaes de tarefas.

10

O vrus de setor de inicializao, ou setor de boot, infecta o primeiro setor de um disco rgido ou de um disquete. O primeior setor destes discos contm o registro de inicializao mestre (Mster Boot Record MBR), que realiza configuraes iniciais antes do carregamento do sistema operacional. Assim, quando o computador iniciado, o vrus carregado, mesmo antes do sistema operacional. Os vrus removedores tm a tarefa de apagar arquvios com nomes especficos que so necessrios execuo bsica do sistema operacional ou so essenciais a um editor de textos ou grfico, por exemplo. Os vrus infecciosos geralmente se anexam a arquivos executveis com extenses .com e .exe. Assim, cada execuo do programa infectado, o vrus se espalha ainda mais pelos arquivos do computador. Os vrus embuitods em um contedo so vrusinfecciosos que residem, ou esto anexados, a arquivos de imagem, paginas em HTML, arquivos de vdeo ou arquivos de som. Os vrus de macro so semelhantes aos vrus embutidos em contedo, pois esto anexados a arquivos de editores como o Word ou planilhas Excel. Como estas macros esto geralmente anexadas aos documentos e so executadas pelos rogramas, esses vrus podem utilizar disquetes, e-mail ou at um servidor de arquivos como meio de difuso. Os vrus de e-mail em massa executam proceidmentos do clinete de e-mail para se auto-replicar e enviar, atravs de um e-mail, para todos os endereos armazenados na agenda do usurio. Vrus de e-mail em massa so mais perigosos que os e-mails comuns porque os primeiros geram sobrecarga na rede. Os vrus furtivos (stealth viruses) se escondem dos softwares de deteccao de vrus. Estes vrus so projetados para burlar as heursticas utilizadas para deteco de vrus desconhecidos pelos software antivrus. Os vrus de engenharia social so outro tipo cada vez mais comum. Junto com os boatos (hoaxes) brincadeiras ou pegadinhas, este tipo de praga virtual convida o usurio a baixar e executar cdigos maliciosos ou entrar em paginas que contenham cdigos maliciosos. Alm destes tipos de vrus, existem vrus de caractersticas mltiplas, que combinam as funcionalidades e os atributos descritos acima. O cavalo de Tria tem este nome porque, tal como na lenda mitolgica, o presente recebido aparentemente no oferece nenhum perigo. Ou seja, primeira vista o programa que contm um cavalo de Tria parece til, no entanto uma vez instalado causar estragos no computador. Os cavalos de Tria so cdigos maliciosos que executam comando noautorizados no computador-alvo. Normalmente, as pessoas que instalam um programa com cavalo de Tria o fazem por pensarem estar instalando software de uma fonte legitima. Os efeitos do cavalo de Troia podem ir desde simples aes irritantes, como a modificao da rea de trabalho ou a criao de cones indesejados, at prejuzos mais srios como o apagamento de arquivos e destruio de informaes. Alguns cavalos de Troia podem criar portas dos fundos (backdoors) para liberar o acesso ao computador para usurios maliciosos executarem comandos remotamente, possivelmente permitindo que infromacao confidencial seja obtida. Diferentemente dos vrus e vermes, os cavalos de Troia no se replicam atravs da infeco de outros arquivos nem se auto-replicam. Um verme similar a um vrus em sua estrutura e pode ser considerado uma subclasse do vrus. O verme se alastra de um computador para outro, mas tem a capacidade de se alastrar sem a ajuda da interveno humana. O verme se aproveita de algum arquivo ou de procedimentos de transferncia que existem no sistema de computador que permitem que ele se propague sem nenhuma ajuda, de forma autnoma. A replicao do verme pode gerar esgotamento da memria ou da capacidade de processamento da mquina.

11

O termo software espio (spyware) designa qualquer programa que coleta informaes sobre um indivduo ou organizao sem seu consentimento prvio. O software espio pode ser instalado em um computador por diversos meios. O espio pode ser introduzido como parte de um vrus, verme, cavalo de Troia, ou at mesmo como parte de programas legtimos. Vale ressaltar que os termso spyware, adware e stealware so comumente utilizados para descrever o mesmo tipo de cdigo malicioso ou tipos semelhantes desta praga digital. Vrios pases esto em vias de banir legalmente ou pelo menos controlar este tipo de praga digital. Os softwares espies so usados geralmente para colher informaes sobre senhas, hbitos do usurio, stios da Internet acessados por um grupo de usurios de caractersticas especficas, sistema operacional utilizado, aplicaes instaladas nos computadores, etc. Tambm podem ser coletadas informaes de nomes e sobrenomes de usurios, nmeros de cartes de crditos e outras informaes pessoais. Estes perfis podem ser usados para fins de marketing e pesquisa de mercado. O termo adware, que vem do ingls advertisement software, designa qualquer software ou parte de software, no necessariamente malicioso, que exibe propagandas enquanto uma aplicao executada. Estas aplicaes exibem na tela do usurio janelas de navegadores (popups) ou do ambiente grfico do usurio com anncios de organizaes patrocinadoras do software. Os adwares so geralmente encontrados em programas shareware ou freeware. Um adware pode tambm se comportar como um spyware e coletar informaes sobre usurios de computadores. O stealware um programa ladro de audincia. Na Internet, muitas vezes o sitio possui atalhos para o sitio de patrocinadores. A organizao remunerada pela empresa patrocinadora atravs da contagem dos cliques que os usurios realizaram no link do patrocinador. O stealware burla o mecanismo, de forma a contabilizar cliques realizados para uma outra organizao, diferente da organizao legtima. Normalmente, o stealware embutido em softwares que alguns stios obrigam o usurio a instalar, como requisito para liberar o acesso do usurio ao sitio. O usurio, ao executar o software que permite acesso ao contedo restrito, executa tambm o cdigo malicioso. Tudo o que o stealware tem a fazer ento modificar os cookies na mquina do usurio ou forjar o endereo da pgina acessada. Mensagem Eletrnica no solicitada ou Spam: toda mensagem enviada sem autorizao do destinatrio. Dentre as mensagens eletrnicas que so utilizadas como spams esto o correio eletrnico (e-mails), os torpedos (SMS ou MMS) e as mensagens instantneas. O indivduo que gera e envia spams chamado de spammer. Spam toda mensagem eletrnica que atenda pelo menos dois dos itens a seguir: o remetente inexistente ou possui identidade falsa; o destinatrio no autorizou previamente o envio da mensagem; o destinatrio no pode optar em no receber mais a mensagem; o assunto no condiz com o contedo da mensagem; o remetente no pode ser identificado; uma mensagem semelhante foi recebida anteriormente em menos de dez dias apenas com o remetente ou assuntos diferentes. A simplicidade do protocolo SMTP exige o conhecimento de poucos comandos para se enviar um e-mail, bastando apenas a abertura de uma conexo telnet com um servidor SMTP. Como no verificado se o usurio que originou o e-mail existe, torna-se fcil gerar um

12

spam utilizando outros nomes de remetentes. Essas caractersticas facilitaram o surgimento de tcnicas para se gerar e enviar e-mails com finalidades lucrativas e ainda manter o anonimato. Negao de Servio Diferentemente da maioria dos ataques da Internet, um ataque de negao de servio na visa invadir um computador para extrair informaes confidenciais, como nmeros de cartes de crdito e senhas bancrias, e nem para modificar o contedo armazenado neste computador, como stios da Internet. Tais ataques tm como objetivo tornar inacessveis os servios providos pela vtima a usurios legtimos. Nenhum dado roubado, nada alterado e no ocorre nenhum acesso no autorizado ao computador da vtima. A vtima simplesmente pra de oferecer o seu servio a clientes legtimos, enquanto tenta lidar com o trfego gerado pelo ataque. Um servio pode ser o uso de um buscador de paginas, a compra de um determinado produto ou simplesmente a troca de mensagens entre duas entidas. O resultado de um ataque de negao de servio pode ser o congelamento ou a reinicializacao do programa da vtima que presta o servio, ou ainda o esgotamento completo de recursos necessrios para prover o seu servio. Os primeiros problemas com ataques de negao de servio na Internet surgiram no incio dos anos 90. nesse perodo, foram desenvolvidos programas para ataques remotodos. Para usar estes programas e obter um grande impacto, o atacante precisava de um computador de grande capacidade conectado a uma rede de alta velocidade. Hoje, os ataques de negao de servio so comuns e os prejuzos financeiros e de imagem que eles causam atingem cifras enormes. Sem sombra de dvida, o estudo e o desenvolvimento de tcnicas contra ataques de negao de servio tornaram-se importantes temas na rea de segurana. Formas de negao de servio Uma forma comum de prejudicar a proviso de um determinado servio atravs do consumo de recursos essenciais para o seu funcionamento, como a memria, o processamento, o espao em disco e a banda passante. Como esse recurso limitado, sempre possvel inundar a vtima com um grande nmero de mensagens de forma a consumir quase que a totalidade desses recursos. Este tipo de ataque denominado ataque por inundao. Nestes ataques, a aplicacao, a vtima ou a propria infra-estrutura de rede fica sobrecarregada com o tratamento das mensagens de ataque e no consegue atender ao trfego de usurios legtimos. Um dos fatores que dificulta a adoo de medidas contrrias aos ataques de inundao o fato de no ser possvel distinguir o trfego de ataque do trfego de usurios legtimos. Ou seja, os atacantes utilizam mensagens normalmente empregadas em comunicaes convencionais. Desta forma, aes que priorizem o trfego legitimo em detrimento do trafego de ataque so difceis de serem tomadas. Para que um ataque de inundao seja bem sucedido, um atacante deve gerar mensagens a uma taxa superior taxa na qual a vtima, ou sua infra-estrutura de rede consegue tratar essas mensagens. Este um obstculo para os ataques de inundao. Em vtimas com poucos recursos, mais fcil obter o sucesso de negao de servio, uma vez que necessrio um esforo menor para otrnar o servio indisponvel. Dessa forma, sendo a vtima superdimensionada, o ataque nem sempre bem-sucedido. Neste caso, torna-se necessrias diversas estaes para que os recursos da vtima se esgotem. Quando diversas estaes agem com um objetivo comum de atacar uma determinada vtima, tem-se um ataque de negao de servio distribudo (Distributed DoS DDoS). Uma segunda maneira de se negar um servio atravs da explorao de alguma vulnerabilidade existente na vtima, os chamados ataques de vulnerabilidade. Ao invs de 13

inundar a vtima de forma a consumir seus recursos, tais ataques se aproveitam de determinadas vulnerabilidades para tornar seus servios inacessveis. Na maioria dos casos, estas vulnerabilidades so o resultante de falhas no projeto de determinada aplicao, do prprio sistema operacional ou at mesmo de um protocolo de comunicao. Diversas vulnerabilidades deste gnero tm sido identificadas e exploradas. Um caso particular dos ataques de vulnerabilidades so aquees que exigem somente um pacote para causar a negao do servio. Neste caso, ao receber um pacote contendo determinadas caractersticas que ativam a vulnerabilidade, a vtima se encontra em uma situao imprevista e reage diferentemente em cada caso. Como resultado, o servio pode ser indefinidamente interrompido at que uma interveno manual ocorra. Trs caractersticas so responsveis pelo sucesso da Internet: a velocidade de transmisso de dados, a confiabilidade e o compartilhamento do meio com a conseqente reduo do custo de comunicao. Tais caractersticas provm da tcnica de comutao por pacotes dos protocolos TCP/IP. Entretanto, alguns princpios da comutao de pacotes e dos protocolos TCP/IP facilitam a proliferao de ataques de negao de servios. Na Internet no h reserva de recursos em uma comunicao entre dois ns, pois se adota o melhor esforo como procedimento bsico. Tal fato faz com que um ataque de negao de servio busque consumir o Maximo dos recursos da rede. Dessa forma, os usurios legtimos so prejudicados, uma vez que os recursos ora usados por eles esto sendo empregados em aes maliciosas. O roteamento outro fator facilitador para os ataques de negao de servio. Na Internet, um pacote pode ser encaminhado atravs de qualquer rota entre o n fonte e o n destino. O processo de seleo de rotas feito pelos ns intermedirios e transparente para a fonte e para o destno. Alem da transparncia na seleo de rotas, somente o endereo de destino usado pela infra-estrutura de rede para que um pacote seja devidamente roteado at o seu destino. Nenhuma verificao realizada para confirmar a autenticidade dos pacotes IP, ou seja, no existem mtodos para assegurar que o endereo de origem de cada pacote IP autntico. Desta forma, atacantes experientes que no necessitam de comunicaes bidirecionais podem se aproveitar desta caracterstica para manter o anonimato durante ataques de negao de servio. Tanto em ataques por inundao quanto em ataques por vulnerabilidades, atacantes podem forjar o endereo IP de origem e enviar tais pacotes para a vtima sem deixar nenhum rastro que possa identific-los. A topologia da Internet tambm contribui para os ataques de negao de servio. O ncleo da rede composto por enlaces de alta capacidade. Por outro lado, os ns nas bordas so normalmente providos de enlaces de baixa capacidade e que esto conectados ao ncleo. Esta assimetria permite que os ns localizados no ncleo encaminhem pacotes de diversas origens distintas para diferentes destinos. Como resultado, ela tambm possibilita que os ns localizados nas bordas sejam inundados pelo trfego agregado de outros ns. Isto exatamente o que ocorre durante um ataque de negao de servio distribudo. Para atacar uma determinada vtima, cada n gera somente uma pequena parcela do trfego agregado. Este trfego gerado pode nem ser detectado como uma anomalia em determinadas redes e passar desapercebido pelos roteadores. A arquitetura da Internet tambm dificulta a adoo de mecanismos de defesas contra ataques de negao de servio. Na Internet, para garantir requisitos como a escalabilidade e o custo reduzido, a complexidade est localizada nos ns de borda da rede. Tal fato provm do modelo de melhor esforo, adotado para o encaminhamento simples dos pacotes na camada de rede, e do paradigma fim-a-fim, segundo o qual requisitos especficos da aplicao devem

14

ser garantidos pelos protocolos da camada de transporte e de aplicao nos usurios finais. Por estes motivos, mecanismos de defesa localizados na infra-estrutura de redes so criticados. A forma como a Internet gerenciada tambm cria desafios adicionais no combate aos ataques de negao de servio. No h hierarquia. A Internet formada por uma comunidade de redes, interconectadas para prover acesso global aos seus usurios. Cada uma das redes que compem a Internet gerenciada localmente, de acordo com polticas definidas por seus proprietrios. Neste sentido, a adoo de mecanismos de defesa contra ataques de negao de servio, que necessitam operar em um grande nmero de ns da rede, prejudicada. Como no existe uma entidade central, no h como garantir a adoo de tal sistema em larga escala. Diversos fatores, positivos ou negativos, podem motivar um ataque de negao de servio. Um usurio bem-intencionado pode iniciar um ataque para provar que possvel inundar a vitima ou explorar algumas de suas vulnerabilidades. Em caso de sucesso, pode-se tentar encontrar uma soluo para evitar que ataques originados de usurios mal-intencionados aconteam. Uma vez encontrada a soluo, ela pode ser amplamente divulgada para acelerar o processo de proteo. Os atacantes tambm podem agir em busca de reconhecimento na comunidade virtual. Um atacante que consegue forar um sitio bem conhecido a sair do ar ganha uma certa visibilidade e bem considerado pelos colegas, podendo inclusive ser admitido em um dado grupo de ataque de mais alto nvel. Um ataque de negao de servio tambm pode ser motivado por lucro financeiro. Um usurio com habilidade suficiente para iniciar um ataque pode deixar um dado servidor fora do ar por um certo perodo em troca de uma remunerao paga por terceiros. Uma empresa poderia contratar tais servios e usar estes ataques para prejudicar a imagem de seus concorrentes e se beneficiar diretamente. Este procedimento pernicioso alcana requinte de organizaes inimaginveis, pois existem redes inteiramente formadas por computadores comprometidos, os chamados zumbis, que esto sendo alugadas de forma a serem usadas em ataques de negao de servio. Motivos polticos podem ser a causa de um ataque de negao de servio. Um determinado grupo com idias diferentes de uma determinada organizao ou instituio pode atacar sua rede e os seus servidores de modo a impedir a divulgao de certas informaes. Classificao dos Ataques Diversos fatores, como o nmero de atacantes envolvidos e o tipo de recurso explorado na vitima, podem ser usados para classificar os ataques de negao de servio. Ataques por Inundao: explora o procedimento de abertura de conexo do protocolo de transporte TCP. O protocolo TCP utilizado em servios que necessitam de entrega confivel de dados, como a transferncia de arquivos. Uma conexo TCP se inicia com a negociao de determinados parmetros entre o cliente e o servidor. Inicialmente, o cliente envia um segmento TCP SYN para o servidor, indicando um pedido de abertura de conexo. Este segmento leva consigo um parmetro denominado nmero de seqncia inicial. O nmero de seqncia possibilita que o receptor reconhea dados perdidos, repetidos ou fora de ordem. Aps o recebimento do segmento TCP SYN, o servidor necessita de tempo para processar o pedido de conexo e alocar memria para armazenar informaes sobre o cliente. Em seguida, um segmento TCP SYN/ACK enviado como resposta de forma a notificar o cliente que o seu pedido de conexo foi aceito. O segmento de resposta reconhece o nmero de seqncia do cliente e envia o nmero de seqncia inicial do servidor. Por fim, o cliente envia um segmento TCP ACK para reconhecer o nmero de seqncia do servidor e completar a abertura da conexo. 15

Esse procedimento conhecido como acordo de trs vias (three-way handshake).

A partir deste procedimento, recursos da vitima podem ser explorados de maneiras distintas. Um ataque ao processamento da vitima pode ser realizado quando o atacante consegue gerar segmentos a uma taxa mais rpida que a vitima consegue process-los. a sobrecarga de processamento da vtima. Neste caso, a vtima no consegue processar os pedidos de conexo em tempo hbil, o que faz com que a fila de pedidos encha e que muitos deles sejam descartados. Desta forma, um usurio legtimo que tente acessar os servios pode ter sua solicitao descartada. importante destacar que qualquer endereo IP pode ser usado como endereo de origem nos pacotes de ataque. O uso de endereos de origem forjadas no altera em nada o efeito sofrido pela vtima. Outro recurso que pode ser explorado durante ataques por inundao de segmentos TCP SYN a memria da vtima. Quando o servidor recebe um pedido de abertura de conexo TCP, ele aloca uma pequena quantidade de memria para armazenar determinadas informaes sobre o estado da conexo, como os nmeros de seqncia iniciais, os endereos IP e as portas TCP usadas nesta conexo. Em seguida, um segmento TCP SYN/ACK enviado de volta para o cliente para formalizar o acordo em trs vias. Neste ponto, dito que a conexo TCP se encontra semi-aberta. Os recursos reservados inicialmente ficam ento alocados at que a conexo seja finalizada por meios convencionais, ou at que um temporizador estoure indicando que o esperado segmento TCP ACK no foi recebido. Neste caso, a memria alocada finalmente liberada para ser aproveitada em conexes futuras. Em um ataque visando esgotar a memria, o atacante forja o endereo IP de origem dos pacotes, substituindo-o por algum endereo no utilizado. Estes pacotes so ento enviados para a vtima de forma a iniciar simultaneamente diversas conexes semi-abertas, de forma a consumir a sua memria. Para que este ataque tenha sucesso, necessrio gerar pacotes mais rpido do que a vtima consiga liberar recursos para as novas conexes. Quando a memria se esgota, novos pedidos de abertura de conexo no so atendidos. importante observar que o mesmo ocorre com limites de memria controlados pelo sistema operacional, a negao de servio ocorre quando a memria destina para as conexes se esgota, sem ser necessrio o esgotamento de toda a memria da vtima. Vale tambm ressaltar que, alem do processamento, a memria da vtima tambm sobrecarregada. Isto ocorre porque os pedidos de conexo que a vtima consegue atender a

16

tempo, alocam um espao de memria que s liberado quando o temporizador estourar, uma vez que pacotes com endereos de origem forjados so usados. importante ressaltar que o consumo de processamento e memria da vtima atravs de ataques por inundao no ocorre somente em ataques ao protocolo TCP. Na verdade, o conceito apresentado aqui mais geral e pode ser aplicado a outros protocolos usados. O ataque ao processamento da vtima pode ser realizado praticamente a qualquer protocolo, uma vez que todas as mensagens recebidas precisam ser processadas. O ataque memria, por outro lado, exige algum tipo de alocao de recursos de memria na vtima para que tenha sucesso. Ataques por Refletor: esse ataque tambm um ataque por inundao que visa consumir recursos da vtima. Porem, devido a presena de uma estao intermediaria entre o atacante e a vtima, ele aqui tratado como um atauqe diferenciado. A idia usar a estao intermediaria para refletir o trfego de ataque em direo vtima. Tal manobra dificulta ainda mais a identidade da vtima, uma vez que o trfego que chega vtima originado no refletor, e no no prprio atacante, uma vez que o trfego que chega vtima originado no refletor, e no no prprio atacante. Para a reflexo do trafego de ataque, necessrio que o atacante envie algum tipo de requisio (REQ) para o refletor, usando como endereo de origem o endereo da vtima ao invs do seu prprio endereo. Ao receber uma requisio, o refletor no consegue verificar a autenticidade da origem dessa requisio e, conseqentemente, envia uma resposta (RESP) diretamente para a vtima. importante ressaltar que este tipo de ataque no restrito a um determinado protocolo. Para o seu funcionamento, necessrio somente um protocolo qualquer que envie um pacote de resposta ao atender a algum tipo de requisio. Uma das vantagens deste tipo de ataque que o prprio refletor pode contribuir para o consumo de recursos da vtima. Isso ocorre quando uma mensagem de requisio enviada pelo atacante menor que a mensagem de resposta enviada pelo refletor. Neste caso, dito que o refletor tambm atua como amplificador do trfego de ataque. Ataques Infra-estrutura da Rede: ataques de negao de servios muitas vezes so direcionados a stios famosos na Internet. Desta forma, os seus autores conseguem uma fama maior como resultado do ataque. Nestes casos, provvel que a prpria candidata vtima seja superdimensionada, ou seja, possua recursos de processamento e de memria em abundncia. Como conseqncia, ataques distribudos de pequena escala no conseguem consumir tais recursos rpido o suficiente para que a vtima negue o seu servio para usurios legtimos. Como uma alternativa, o atacante pode tentar concentrar seus esforos em algum ponto crucial para o funcionamento do servio que no dependa da vtima. Um exemplo tentar consumir toda a banda passante da vtima com o trfego de ataque. Desta forma, por mais que a vtima consiga atender a todas as requisies que lhe chegam, muitas requisies so ainda perdidas na infra-estrutura de rede. Neste caso, o ponto onde as requisies so perdidas algum roteador entre o atacante e a vtima onde existe um gargalo, ou seja, onde o trfego direcionado vtima maior do que o enlace de sada pode suportar. Desta forma, requisies legitimas ao servio da vtima provavelmente so descartadas nesse roteador, uma vez que precisam disputar o mesmo recurso com o trfego enviado pelo atacante. Tais ataques so difceis de serem combatidos, j que os pacotes no precisam ter nenhum padro semelhante que possibilite filtr-los.

17

Outro ataque que pode negar o servio da vtima sem atac-la diretamente uma inundao aos seus servidores DNS. Estes servidores so responsveis por traduzir nomes, usados pelas pessoas, em endereos IP, usados pelos computadores. Como geralmente as pessoas utilizam nomes para acessar um determinado servidor, um ataque ao servio de resoluo de nomes acaba por negar servios de outros servidores. Como resultado, milhares de usurios ficaram sem acesso aos servios providos pela empresa. Atualmente seus servidores esto espalhados geograficamente e possuem enlaces redundantes de forma a minimizar os efeitos de um ataque semelhante. Um alvo potencial para ser atacado pelos prprios roteadores responsveis por encaminhar os pacotes at a vtima. A funo dos roteadores simplesmente encaminhar cada pacote recebido, de acordo com o seu endereo de destino. Para isso, os roteadores difundem certas informaes na rede de forma que cada roteador consiga construir uma tabela de roteamento, responsvel por associar cada endereo de destino com uma interface de sada. Alem da simples inundao, outros tipos de ataques podem ser direcionados a estes roteadores. Um atacante pode, por exemplo, encher sua tabela de roteamento para dificultar a busca de endereos na tabela e atrasar muito o encaminhamento de pacotes. Ou ainda, o roteador pode ser enganado e acabar encaminhando o trfego legitimo para um local errado ao invs de entreg-lo para a vtima. Ataques por Vulnerabilidade: uma outra forma de negar os servios providos pela vtima deixla inoperante de alguma forma. Uma das maneiras de atingir esse objetivo explorar alguma vulnerabilidade na implementao da pilha de protocolos ou da prpria aplicao da vtima. Portanto, diversas estaes precisam ser usadas para gerar o trfego de ataque em direo vtima e negar o seu servio. Estas estaes geralmente no pertencem ao atacante e so simplesmente computadores comprometidos por alguma falha de segurana. Uma vez tendo comprometido uma estao, o atacante apaga os rastros deixados pela invaso e instala um programa para comand-la remotamente. Estes computadores ficam ento sob o controle do atacante e, por isso, so chamados de agentes, escravos ou zumbis, denotando que so comandados por uma outra entidade. Ataques Distribudos: os ataques de negao de servio distribudos so geralmente usados em ataques por inundao, quando uma estao sozinha no capaz de consumir algum recurso da vtima. Portanto, diversas estaes precisam ser usadas para gerar o trfego de ataque em direo vtima e negar o seu servio. Estas estaes geralmente no pertencem ao atacante e so simplesmente computadores comprometidos por alguma falha de segurana. Uma vez tendo comprometido uma estao, o atacante apaga os rastros deixados pela invaso e instala um programa para comand-la remotamente. Estes computadores ficam ento sob o controle do atacante, e por isso, so chamados de agentes, escravos ou zumbis, denotando que as comandados por outra entidade. Diferentes maneiras podem ser usadas pelo atacante para penetrar no sistema de outras estaes. Geralmente, estas estaes no possuem um sistema atualizado com as ultimas verses dos programas usados. Como vulnerabilidades so encontradas freqentemente, possvel encontrar uma srie de estaes com verses ultrapassadas que possuem vulnerabilidades de segurana. Algumas destas vulnerabilidades podem ser exploradas remotamente e liberar o acesso ao invasor. Com o acesso estao invadida, possvel se aproveitar de outras vulnerabilidades locais para obter determinados privilgios de administrador e controlar totlamente a estao invadida. Outra possibilidade que vem sendo muito usada atualmente obter uma senha de determinada conta do sistema atravs de ataque

18

de fora bruta. O invasor tenta inmeras possibilidades como senha para a conta em questo at conseguir penetrar na estao atacada. Como os ataques de negao de servio distribudos podem ser compostos por centenas ou milhares de zumbis, a invaso manual de cada zumbi individualmente se torna uma atividade cansativa para o atacante. Alem disso, medida que o nmero de zumbis aumenta, muito difcil controlar cada zumbi sem nenhuma forma de automao. Por isso, algumas ferramentas foram criadas de forma a encontrar estaes vulnerveis e invandi-las automaticamente. Outras ferramentas possibilitam a criao de redes hierrquicas para permitir o controle de um grande nmero de zumbis. Atravs dessas ferramentas, o atacante consegue comandar a todos os zumbis que iniciem um ataque a uma determinada vtima com um simples comando. Para se rastrear o atacante, necessrio primeiro identificar os zumbis para depois descobrir quem so os mestre e, por fim, chegar at o atacante. Logo, quanto mais camadas existem nesta hierarquia, mais protegido est o atacante. Diversas vantagens para o atacante surgem com a distribuio de ataques de negao de servio. A primeira vantagem conseguir deixar vtimas superdimensionadas inoperantes. Por possurem recursos em abundancia, estas vtimas esto imunes a ataques de negao de servio partindo de um nico atacante. Entretanto, quando diversas estaes so usadas para a gerao de trfego de ataque, a vtima pode ser seriamente afetada. Um fato importante que no importa o quo superdimensionada uma determinada vtima, ela sempre pode ter o seu servio negado desde que um nmero suficientemente grande de zumbis seja reunido para o ataque. Caso a vtima tente amenizar o efeito de um ataque distribudo atravs do aumento de seus recursos, o atacante pode simplesmente usar mais zumbis e obter o mesmo resultado. Para interromper um ataque distribudo em andamento, a identificao de somente um zumbi no suficiente. Como o trfego agregado de diversos zumbis est inundando a vtima, provvel que, ao interromper um nico zumbi, o efeito na vtima seja desprezvel. Neste caso, preciso identificar grande parte dos zumbis que esto atacando a vtima e tentar filtrar este trfego de ataque o mais perto das fontes possvel. Entretanto, s a identificao dos zumbis j uma tarefa difcil que pode precisar da colaborao de diversos provedores de acesso. Alem disso, preciso contatar o responsvel ou o administrador do zumbi para que a inundao originada por ele termine. medida que o nmero de zumbis cresce, no pssoveil realizar esta tarefa para cada zumbi e mais difcil interromper o ataque. Como soluo alternativa, possvel ainda tentar interromper a atividade de uma estao-mestre diretamente. Porm, preciso antes identificar tais estaes para depois tentar tomar alguma ao para interromper o ataque. Estas duas tarefas podem no ser simples. A identificao de uma estao-mestre exige primeiro a identificao de pelo menos um zumbi e a partir deste zumbi, tenta descobrir quem o est comandando remotamente. Alem disso, as ferramentas de controle destas aes podem exigir algum tipo de autenticao e bloquear o acesso de quem no autorizado. Desta forma, no possvel parar o ataque sem a interveno do prprio administrador do zumbi. Contramedidas aos ataques de negao de servio Existem algumas medidas capazes de evitar ou, pelo menos, reduzir os danos causados por ataques de negao de servio. Estas tcnicas podem ser divididas em duas categorias: medidas preventivas e medidas reativas. As medidas preventivas buscam evitar ou reduzir a chance de que um ataque de negao de servio ocorra. As medidas reativas, por outro lado, tentam lidar com ataques em andamento ou j encerrados. Para serem efetivas, os dois tipos de 19

tcnicas devem ser empregadas em conjunto. importante utilizar medidas preventivas para reduzir o nmero de ataques; no entanto, impossvel garantir que no ocorrero ataques. Para que as medidas preventivas sejam totalmente eficazes, necessria a sua adoo em larga escala, possivelmente de forma cooperativa entre diversas adminsitracoes. Para estes ataques que escapam s medidas preventivas adotadas, resta a utilizao de medidas reativas. Medidas Preventivas: a medida mais preventiva mais imediata a manuteno de todos os softwares dos sistemas finais devidamente atualizados. Este procedimento, alm de minimizar os ataques por vulnerabilidades, tambm dificulta o domnio de possveis zumbis. Fica claro, com isto, que a segurana dos usurios comea com os prprios usurios. Os responsveis pelos sistemas finais no devem simplesmente esperar que a infra-estrutura de rede forncea a segurana de seus sistemas, mas devem ser participantes ativos deste processo. Uma tcnica preventiva, denominada filtragem de ingresso (ingress filtering), foi sugerida para evitar que pacotes com endereos IP de origem forjados trafeguem na rede. Implementada por alguns roteadores, a filtragem de ingresso descarta pacotes cujos endereos de origem no pertencem a determinados prefixos legitimamente anunciados. Em outras palavras, um roteador encarregado da agregao de rotas anunciadas por diversas redes em seu domnio deve impedir a sada de pacotes cujo endereo de origem no pertence a nenhuma dessas redes. Apesar de simples, esta tcnica apresenta desvantagens. H uma indesejvel dependncia entre a segurana do destinatrio final e as polticas adotadas nos roteadores ao longo do caminho. Na verdade, no existem incentivos para que domnios adotem a filtragem de ingresso como parte da poltica de segurana, uma vez que somente estaes fora do prprio domnio so beneficiadas. Alm disso, a filtragem de ingresso precisa ser implementada em uma escala global para ter efeito. Caso a implantao seja restrita a poucos roteadores, somente ataques passando por esses roteadores sero controlados. Uma outra desvantagem processamento adicional inserido durante o roteamento. Como a filtragem influencia diretamente no processo de roteamento, o exame do endereo de origem de cada pacote pode requisitar certos recurso que nem todo roteador disponibiliza. Existem ainda tecnologias que podem ser afetadas pela filtragem de ingresso, como o IP Mvel, pois utilizam legitimamente pacotes com endereos de origem forjados. A desvantagem principal do protocolo de validao proposto o processamento adicional necessrio durante o roteamento de cada pacote. Caso este protocolo venha a ser implementado, roteadores tero que fazer consultas a cada uma das tabelas. Uma consulta na tabela de entrada necessria para determinar se o endereo de origem vlido e outra consulta na tabela de roteamento necessria para determina a interface de sada e o prximo n a receber o pacote. Alm disso, o protocolo proposto tambm apresenta os problemas de um protocolo de roteamento convencional, como a necessidade de atualizaes peridicas, a reao s mudanas topolgicas da rede, a garantia da integridade e da autenticidade das mensagens trocadas e o uso eficiente da banda. Como objetivo final, ele deve ainda garantir que pacotes com endereos de origem forjados sejam descartados e que nenhum pacote legitimo o seja. Tudo isso torna o protocolo complexo. Medidas Reativas: nos casos em que o ataque no pode ser evitado, no resta alternativa se no tentar faz-lo parar e buscar localizar o atacante para que sejam tomadas medidas reparativas. Para isto, o primeiro passo necessariamente obter informaes sobre a origem do ataque. O rastreamento de pacotes surge como uma forma de identificar a rota percorrida por um determinado pacote at o seu verdadeiro emissor. No caso de ataques de negao de 20

servio, a identificao dos atacante importante tanto para interromper o ataque atravs de filtragem como para a adoo de medidas judiciais contra o prprio atacante. Entretanto, o rastreamento ainda mais geral e pode ser til em qualquer ocasio onde necessrio determinar a origem ou a rota percorrida por um determinado pacote. A importncia do rastreamento ainda maior quando se leva em considerao que, devido arquitetura da Internet, no se pode confiar no endereo de origem de nenhum pacote como forma de identificao de sua verdadeira origem. impossvel apenas analisando o pacote determinar se o endereo verdadeiro ou foi forjado. Dessa forma, para ser confivel, toda informao sobre a origem de um ataque deve ser obtida atravs do rastreamento, pois se deve sempre levar em conta a possibilidade de endereos forjados.

21

Certificao Digital Os computadores e a Internet so utilizados para o processamento de dados e para a troca de mensagens e documentos entre cidados, governo e empresas. No entanto, essas transaes eletrnicas necessitam da adoo de mecanismos de segurana capazes de garantir autenticidade, confidencialidade e integridades s informaes eletrnicas. A certificao digital a tecnologia que prov estes mecanismos. No cerne da certificao digital est o certificado digital, um documento eletrnico que contm o nome, um nmero publico exclusivo denominado chave pblica e muitos outros dados que mostram quem somos para as pessoas e para os sistemas de informao. A chave publica serve para validar uma assinatura realizada em documentos eletrnicos. A certificao digital tem trazido inmeros benefcios para os cidados e para as instituies que a adotam. Com a certificao digital possvel utilizar a Internet como meio de comunicao alternativo para a disponibilizacao de diversos servios com uma maior agilidade, facilidade de acesso e substancial reduo de custos. A tecnologia da certificao digital foi desenvolvida graas aos avanos da criptografia nos ltimos 30 anos. Criptografia A palavra criptografia tem origem grega e significa a arte de escrever em cdigos de forma a esconder a informao na forma de um texto incompreensvel. A informao codificao chamada de texto cifrado. O processo de codificao ou ocultao chamado de cifragem, e o processo inverso, ou seja, obter a informao original a partir do texto cifrado, chama-se decifragem. A cifragem e a decifragem so realizadas por programas de computador chamados de cifradores e decifradores. Um programa cifrador ou decifrador, alm de receber a informao a ser cifrada ou decifrada, recebe um nmero chave que utilizado para definir como o programa ir se comportar. Os cifradores e decifradores se comportam de maneira diferente para cada valor da chave. Sem o conhecimento da chave correta no possvel decifrar um dado texto cifrado. Assim, para manter uma informao secreta, basta cifrar a informao e manter em sigilo a chave.

22

Atualmente existem dois tipos de criptografia: a simtrica e a de chave pblica. A criptografia simtrica realiza a cifragem e a decifragem de uma informao atravs de algoritmos que utilizam a mesma chave, garantindo o sigilo na transmisso e armazenagem de dados. Como a mesma chave deve ser utilizada na cifragem e na decifragem, a chave deve ser compartilhada entre quem cifra e quem decifra os dados. O processo de compartilhar uma chave conhecido como troca de chaves. A troca de chaves deve ser feita de forma segura, uma vez que todos que conhecem a chave podem decifrar a informao cifrada ou mesmo reproduzir uma informao cifrada. Os algoritmos de chave publica operam com duas chaves distintas: chave privada e chave publica. Essas chaves so geradas simultaneamente e so relacionadas entre si, o que possibilita que a operao executada por uma seja revertida pela outra. A chave privada deve ser mantida em sigilo e protegida por quem gerou as chaves. A chave pblica disponibilizada e tornada acessvel a qualquer individuo que deseje se comunicar com o proprietrio da chave privada correspondente. Algoritmos criptogrficos de chave pblica Os algoritmos criptogrficos de chave pblica permitem garantir tanto a confidencialidade quanto a autenticidade das informaes por eles protegidas. Confidencialidade: o emissor que deseja enviar uma informao sigilosa deve utilizar a chave pblica do destinatrio para cifrar a informao. Para isto importante que o destinatrio disponibilize sua chave pblica, utilizando, por exemplo, diretrios pblicos acessveis pela Internet.

O sigilo garantido, j que somente o destinatrio que possui a chave privada conseguir desfazer a operao de cifragem, ou seja, decifrar e recuperar as informaes originais. Por exemplo para Alice compartilhar uma informao de forma secreta com Beto, ela deve cifrar a informao usando a chave pblica de Beto. Somente Beto pode decifrar a informao pois somente Beto possui a chave privada correspondente. Autenticidade: no processo de autenticao, as chaves so aplicadas no sentido inverso ao da confidencialidade. O autor de um documento utiliza sua chave privada para cifr-lo de modo a garantir a autoria em um documento ou a identificao em uma transao. Esse resultado s obtido porque a chave privada conhecida exclusivamente por seu proprietrio.

23

Assim, se Alice cifrar uma informao com sua chave privada e enviar para Beto, ele poder decifrar esta informao pois tem acesso chave pblica de Alice. Alm disso, qualquer pessoa poder decifrar a informao, uma vez que todos conhecem a chave pblica de Alice. Por outro lado, o fato de ser necessrio o uso da chave privada de Alice para produzir o texto cifrado caracteriza uma operao que somente Alice tem condies de realizar. Assinatura Digital O mesmo mtodo de autenticao dos algoritmos de criptografia de chave pblica operando em conjunto com uma funo resumo, tambm conhecido como funo de hash, chamada de assinatura digital. O resumo criptogrfico o resultado retornado por uma funo de hash. Este pode ser comparado a uma impresso digital, pois cada documento possui um valor nico de resumo e at mesmo uma pequena alterao no documento, como a insero de um espao em branco, resulta em um resumo completamente diferente.

A vantagem da utilizao de resumos criptogrficos no processo de autenticao o aumento de desempenho, pois os algoritmos de criptografia assimtrica so muito lentos. A submisso de resumos criptogrficos ao processo de cifragem com a chave privada reduz o tempo de operao para gerar uma assinatura por serem os resumos, em geral, muito menores que o documento em si. Assim, consomem um tempo baixo e uniforme, independente do tamanho do documento a ser assinado.

24

Na assinatura digital, o documento no sofre qualquer alterao e o hash cifrado com a chave privada anexado ao documento.

Para comprovar uma assinatura digital necessrio inicialmente realizar duas operaes: calcular o resumo criptogrfico do documento e decifrar a assinatura com a chave pblica do signatrio. Se forem iguais, a assinatura est correta, o que significa que foi gerada pela chave privada corresponde chave pblica utilizada na verificao e que o documento est ntegro. Caso sejam diferentes, a assinatura est incorreta, o que significa que pode ter havido alteraes no documento ou na assinatura pblica. Documento em Papel X Documento Eletrnico A semelhana da assinatura digital e da assinatura manuscrita restringe-se ao princpio de atribuio de autoria a um documento. Na manuscrita, as assinaturas seguem um padro, sendo semelhantes entre si e possuindo caractersticas pessoais e biomtricas de cada individuo. Ela feita sobre algo tangvel, o papel, responsvel pela vinculao da informao impressa assinatura. A veracidade da assinatura manuscrita feita por uma comparao visual a uma assinatura verdadeira tal como aquela do documento de identidade oficial. Assinatura manuscrita: nos documentos eletrnicos no existe um modo simples para relacionar o documento com a assinatura. Ambos so compostos apenas pela representao eletronicade dados, ou seja, por uma seqncia de bits (0s e 1s), que necessitam de um computador para a sua visualizao e conferncia. Na assinatura digital, a assinatura gerada diferente para cada documento, pois est relacionada ao resumo do documento. Assinatura digital: uma forma eficaz de garantir autoria de documentos eletornicos. Em agosto de 2001, a Medida Provisria 2200 garantiu a veracidade jurdica de documentos eletrnicos e a utilizao de certificados digitais para atribuir autenticidade e integridade aos documentos. Este fato tornou a assinatura digital um instrumento vlido juridicamente. O texto acima demonstra que o provimento de autenticao em documentos eletrnicos e vivel tecnicamente, mas ainda restam duas questes fundamentais: como conseguir chaves pblicas? Como garantir a identidade do proprietrio do par de chaves? A resposta a ambas as questes o certificado digital. Certificado digital: um documento eletrnico assinado digitalmente e cumpre a funo de associar uma pessoa ou entidade a uma chave pblica. As informaes pblicas contidas num certificado digital so o que possibilita coloc-lo em repositrios pblicos. 25

Um Certificado Digital normalmente apresenta as seguintes informaes: nome da pessoa ou entidade a ser associada chave pblica. Perodo de validade do certificado. Chave pblica. Nome e assinatura da entidade que assinou o certificado. Nmero de srie.

Um exemplo comum do uso de certificados digitais o servio bancrio provido via Internet. Os bancos possuem certificado para autenticar-se perante o cliente, assegurando que o acesso est realmente ocorrendo com o servidor do banco. E o cliente, ao solicitar um servio, como por exemplo, acesso ao saldo da conta corrente, pode utilizar o seu certificado para autenticarse perante o banco. Servios governamentais tambm tm sido implantados para suportar transaes eletrnicas utilizando certificao digital, visando proporcionar aos cidados benefcios como agilidade nas transaes, reduo da burocracia, reduo de custos, satisfao do usurio, entre outros. A certificao digital traz diversas facilidades, porm seu uso no torna as transaes realizadas isenta de responsabilidade. Ao mesmo tempo que o uso da chave privada autentica uma transao ou um documento, ela confere o atributo de no-repdio operao, ou seja, o usurio no pode negar posteriormente a realizao daquela transao. Por isto, importante que o usurio tenha condies de proteger de uma forma adequada sua chave privada.

26

Você também pode gostar