conceitos básicos de seguranca
130 pág.

conceitos básicos de seguranca


DisciplinaOrganização de Computadores4.827 materiais83.735 seguidores
Pré-visualização43 páginas
iremos 
presenciar uma onda de worms e vírus cada vez mais sofisticados. Quase 100% dos vírus hoje em dia utilizam 
alguma funcionalidade de rede, seja para sua propagação, ou como sua funcionalidade principal. 
 
E pensar que tudo isso poderia ter sido evitado apenas se os sistemas estivessem atualizados. Estudos 
comprovam que o Code Red I infectou cerca de 250.000 servidores pelo mundo, em apenas 9 horas, no dia 
19 de julho de 2001. O Code Red II, que utiliza a mesma falha do Code Red I, ainda conseguiu atingir mais de 
100.000 servidores. A análise dos worms indica que o Code Red II infectou TODOS os sistemas vulneráveis 
em menos de 48 horas. Além das falhas de segurança já explicadas, o Code Red foi responsável pelo aumento 
de cerca de 300% do tráfego na Internet, deixando toda a rede cerca de 3 vezes mais lenta; ou seja, afetando 
a todos, mesmo aqueles que não estavam vulneráveis ao ataque direto. 
 
Outra lição que pode ser tirada destes acontecimentos recentes: como eles infectam servidores web, e 
realizam esta tarefa enviado comandos diretamente para qualquer servidor que encontrarem randomicamente, 
também foram responsáveis por tirar do ar equipamentos de rede que possuem servidores web embutidos, de 
diversos fabricantes, simplesmente porque estes componentes não possuíam uma checagem correta de 
buffers de entrada. Com isso, até equipamentos de rede como switches e roteadores foram afetados. 
 
Para se proteger de worms e vírus no futuro, a melhor forma é manter o sistema atualizado, e com 
um bom antivírus instalado. Estas medidas teriam transformado estes worms em absolutamente... nada. 
 
 Apesar destes worms terem cargas potencialmente nocivas, e terem como seu objetivo principal 
explorar uma vulnerabilidade em um software servidor, causaram o efeito colateral de elevar em até 300% o 
tráfego na Internet. Vários computadores e equipamentos de rede foram tirados do ar devido ao tráfego 
Romulo Moacyr Cholewa \u2013 http://www.rmc.eti.br, agosto de 2001. Vide \u201cDistribuição / Cópia\u201d neste material 
para maiores detalhes. 
 
Romulo Moacyr Cholewa \u2013 http://www.rmc.eti.br, agosto de 2001. Vide \u201cDistribuição / Cópia\u201d neste material 
para maiores detalhes. 
causado pelos worms. Mesmo não tendo sido considerados ataques DDoS com uma natureza direcionada, 
acarretaram este efeito indiretamente. Este, por sinal, é o saldo mais perigoso e comentado sobre a ação dos 
mesmos. 
 
 
IP Spoofing 
 
http://www.fc.net/phrack/files/p48/p48-14.html 
http://www.pcwebopedia.com/TERM/I/IP_spoofing.html 
 
 A técnica de spoofing possui uma lógica bastante simples. Muitos serviços antigos que são executados 
em hosts UNIX dependem de uma relação de confiança, baseada no endereço de rede de um determinado 
host. Digamos que um serviço determinado, só aceite comandos ou conexões de um computador que esteja 
em um determinado endereço IP pré-configurado. A técnica de spoofing consiste em \u201cpersonificar\u201d este 
computador na qual a vítima confia. Basicamente, precisa-se ter o endereço IP da vítima, o endereço IP do 
computador \u201cconfiado\u201d, ter algum modo de tirar o computador \u201cconfiado\u201d do ar, saber como quebrar o 
número de sequência TCP da vítima. Teoricamente, quaquer serviço que tenha sua segurança dependente 
apenas da confirmação de um endereço origem de rede, é vulnerável a este tipo de ataque. É uma técnica 
bastante apurada, e que requer geralmente uma certa dedicação. Nos anexos, a técnica e descrita em 
detalhes em um ótimo whitepaper. 
 
 Para maiores detalhes sobre como proteger uma rede de IP Spoofing, veja o capítulo \u201cFerramentas\u201d / 
Personal Firewalls, que possui maiores detalhes sobre como implementar segurança com filtragem de pacotes. 
 
 
DNS (Name Server) Spoofing / Poisoning 
 
 Como vimos anteriormente, o serviço de DNS adiciona uma nova camada de identificação para rede. 
As conexões são feitas através de endereços IP, que fecham \u201csockets\u201d, descritos anteriormente. Contudo, fica 
praticamente impossível hoje em dia \u201cdecorar\u201d centenas de endereços IP para tentar estabelecer uma 
conexão. Assim sendo, existe o serviço de DNS, que de certa forma elimina esta dificuldade. Ao invés de 
decorar endereços de rede, estes são associados a nomes, que obedecem a uma regra de nomenclatura bem 
específica. De acordo com este regra, podemos identificar rapidamente um servidor ou serviço. 
 
 Contudo, a maioria das pessoas digita em seus programas de acesso endereços DNS ou FQDN (Fully 
Qualified Domain Name). Se você deseja acessar o site da Receita Federal, para tentar ler informações sobre 
sua declaração de imposto de renda, dificilmente digitará no browser: 
 
http://161.148.231.100 
 
 É provável que digite: 
 
http://www.receita.fazenda.gov.br 
 
 Ao digitar este endereço no seu browser, ele consultará o servidor DNS configurado em seu 
computador e perguntará: \u201cqual o endereço IP do servidor www.receita.fazenda.gov.br ?\u201d A resposta será: 
\u201c161.148.231.100\u201d. A partir daí, a conexão será estabelecida com o endereço IP destino. 
 
 O DNS Spoofing consiste em modificar as informações do servidor DNS de forma que a resposta seja 
diferente. Assim, seu computador acessará OUTRO servidor, sem seu conhecimento. 
 
 Além do spoofing, existe o poisoning. Todas as \u201cperguntas\u201d feitas a um servidor de DNS são 
guardadas, e aquelas perguntas mais frequentes são armazenadas, e reutilizadas, evitando gerar tráfego para 
cada requisição (se eu já sei a resposta de uma pergunta, não preciso fazê-la). O poisoning significa alterar 
Romulo Moacyr Cholewa \u2013 http://www.rmc.eti.br, agosto de 2001. Vide \u201cDistribuição / Cópia\u201d neste material 
para maiores detalhes. 
 
Romulo Moacyr Cholewa \u2013 http://www.rmc.eti.br, agosto de 2001. Vide \u201cDistribuição / Cópia\u201d neste material 
para maiores detalhes. 
estas informações de \u201ccache\u201d, ou \u201cmudar\u201d a resposta para uma determinada pergunta que o servidor DNS já 
possui. Em resumo, ao perguntar para o servidor DNS \u201cqual o endereço IP do servidor 
www.receita.fazenda.gov.br ?\u201d, ao invés de responder \u201c161.148.231.100\u201d, ele responderá outro endereço de 
rede, provavelmente de uma máquina previamente preparada por um hacker para tal fim. 
 
 Portanto, temos dois cenários: 
 
1. Quando o servidor DNS é a autoridade de um domínio 
2. Quando o servidor DNS não é a autoridade de um domínio, e resolve o IP pelo seu cache. 
 
Nestes dois casos, o resultado é o mesmo. Contudo, esta técnica de ataque requer acesso ao servidor 
DNS, de forma a modificar o arquivo que contém as informações do domínio, ou modificar o cache do 
servidor. 
 
Romulo Moacyr Cholewa \u2013 http://www.rmc.eti.br, agosto de 2001. Vide \u201cDistribuição / Cópia\u201d neste material 
para maiores detalhes. 
 
Romulo Moacyr Cholewa \u2013 http://www.rmc.eti.br, agosto de 2001. Vide \u201cDistribuição / Cópia\u201d neste material 
para maiores detalhes. 
 
7. Ferramentas 
 
 
 Existem diversas ferramentas prontas para testar vulnerabilidades em hosts, ou redes. Estas 
ferramentas podem ser classificadas basicamente em: 
 
\u2022 Portscanners 
\u2022 Service Fingerprinter 
\u2022 Sniffer 
 
Estas ferramentas são usadas para recuperar informações do computador remoto, ou da rede na qual 
ele está. Finalmente, estas inormações são usadas para dar a vantagem ao invasor, que, numa segunda parte 
de um possível ataque, irá listar quais falhas de segurança cada componente descoberto possui. 
 
 Estas ferramentas não têm muita utilidade sozinhas, se não forem aliadas a algumas técnicas. Estas 
técnicas é que permitem explorar as falhas que as ferramentas podem potencialmente apresentar. 
 
 
Portscanners 
 
 Portscanners são a base de qualquer tentativa de invasão. Da mesma forma, são a base para qualquer 
teste de vulnerabilidade que possa ser feito. 
 
 O portscan basicamente consiste em tentar estabelecer, com um determinado host, conexões TCP em 
todas as portas, da 0 a 65535.