Exemplos de virus informáticos
Transcrição
Exemplos de virus informáticos
ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas Virus Informáticos José Vitor Nogueira Santos FT25 - 0844 Mealhada, 2010 Backdoors: (também conhecido por Porta dos fundos) é uma falha de segurança que pode existir num programa de computador ou sistema operacional, que pode permitir a invasão do sistema por um cracker para que ele possa obter um total controle da máquina. Muitos crackers utilizam-se de um Backdoor para instalar vírus de computador ou outros programas maliciosos, conhecidos como malware. Em geral, referindo-se a um Backdoor, trata-se de um Backdoor que possa ser explorado através da Internet, mas o termo pode ser usado de forma mais ampla para designar formas furtivas de se obter informações privilegiadas em sistemas de todo tipo. Por exemplo: o Clipper Chip, dispositivo de criptografia do Governo Estados Unidos, possui um Backdoor embutido pelo próprio Governo que permite recuperar as informações codificadas anteriormente com o dispositivo. Existem casos em que, teoricamente, o programa de computador pode conter um Backdoor implementado no momento em que ele foi compilado. Geralmente esse recurso é interessante quando um software deve realizar operações de atualização ou validação, mas essa é uma técnica já defasada, pois os programadores preferem utilizar protocolos de rede do sistema operacional(como o SSH ou o Telnet, embora eles também utilizem os tradicionais protocolos TCP/IP, UDP ou ainda o FTP). Proteção A proteção mais comum contra Backdoors em computadores pessoais é o uso de firewall e de IDS. De modo geral, Backdoors que atuam através da internet podem ser facilmente detectados pelo sistema IDS ou impedidos de atuar pelo firewall. Utilização de Backdoors por Cavalos de Tróia Os cavalos de tróia batizados como Backdoors (por usar portas para entrar em computadores alheios) são muito comuns na Internet. Normalmente eles utilizam as portas 666, 888, 3333, entre outras, para que seu usuário tenha acesso ao computador da vítima. Os cavalos de tróia do tipo backdoor ainda são divididos por suas funções: Função de espião: esse tipo de backdoor faz uma troca de informações através da porta que ele abre para seu usuário poder visualizar arquivos da vítima, ver imagens pela webcam (ativando-a sem o conhecimento da vítima), ligar o microfone, abrir e fechar o drive de cd/dvd-rom, blu-ray, entre outros. EFA NS, Nível 3 II É também chamada "backdoor", no poker, a uma draw, que necessita de duas cartas seguidas para ser completa. São conhecidos como RAT (Remote Administrator Tool). Worms: é um programa auto-replicante, semelhante a um vírus. Enquanto um vírus infecta um programa e necessita deste programa hospedeiro para se propagar, o Worm é um programa completo e não precisa de outro para se propagar. Um worm pode ser projetado para tomar ações maliciosas após infestar um sistema, além de se auto-replicar, pode deletar arquivos em um sistema ou enviar documentos por email. A partir disso, o worm pode tornar o computador infectado vulnerável a outros ataques e provocar danos apenas com o tráfego de rede gerado pela sua reprodução – o Mydoom, por exemplo, causou uma lentidão generalizada na Internet no pico de seu ataque. BACKDOORS Os worms Sobig e Mydoom instalaram backdoors (brechas) nos computadores, tornando-os abertos a ataques via Internet. Estes computadores "zombies" são utilizados para enviar emails (spams) ou para atacar endereços de sites da Internet. Acredita-se que spammers (pessoas que enviam spams) pagam para a criação destes worms [1][2], e criadores de worms já foram apanhados vendendo listas de endereços IP de máquinas infectadas.[3] Outros tentam afetar empresas com ataques DDOS propositais. [4] As brechas podem também ser exploradas por outros worms, como o Doomjuice, que se espalha utilizando uma brecha aberta pelo Mydoom.[5] WORMS ÚTEIS Os worms podem ser úteis: a família de worms Nachi, por exemplo, tentava buscar e instalar patches do site da Microsoft para corrigir diversas EFA NS, Nível 3 III vulnerabilidades no sistema (as mesmas vulnerabilidades que eles exploravam). Isto eventualmente torna os sistema atingidos mais seguros, mas gera um tráfego na rede considerável — frequentemente maior que o dos worms que eles estão protegendo — causam reboots da máquina no processo de aplicação do patch e, talvez o mais importante, fazem o seu trabalho sem a permissão do usuário do computador. Por isto, muitos especialistas de segurança desprezam os worms, independentemente do que eles fazem. O último "worm" colocado na rede foi no Orkut, chamado "Vírus do Orkut", dissipado na madrugada do dia 25/09/2010 pelo programador Rodrigo Lacerda. O Google, porém, resolveu o problema. Spywares: consiste num programa automático de computador, que recolhe informações sobre o usuário, sobre os seus costumes na Internet e transmite essa informação a uma entidade externa na Internet, sem o seu conhecimento nem o seu consentimento. Diferem dos cavalos de Tróia por não terem como objetivo que o sistema do usuário seja dominado, seja manipulado, por uma entidade externa, por um cracker. Os spywares podem ser desenvolvidos por firmas comerciais, que desejam monitorar o hábito dos usuários para avaliar seus costumes e vender este dados pela internet. Desta forma, estas firmas costumam produzir inúmeras variantes de seus programas-espiões, aperfeiçoando-o, dificultando em muito a sua remoção. EFA NS, Nível 3 IV Por outro lado, muitos vírus transportam spywares, que visam roubar certos dados confidenciais dos usuários. Roubam dados bancários, montam e enviam registros das atividades do usuário, roubam determinados arquivos ou outros documentos pessoais. Com frequência, os spywares costumavam vir legalmente embutidos em algum programa que fosse shareware ou freeware. Sua remoção era por vezes, feita quando da compra do software ou de uma versão mais completa e paga. Traduzindo ao pé da letra, Spyware significa "aplicativo ou programa espião" ADWARES Muitas vezes usa-se de forma genérica o termo spyware para os malware e adwares, que são programas indesejáveis. Costuma-se incluir os adwares no estudo dos spywares, pois assemelham-se na sua forma de infecção e na sua forma de desinstalação. Seriam como se fossem um sub-grupo dos spywares. Os adwares são conhecidos por trazerem para a tela do usuário algum tipo de propaganda. Como geralmente são firmas comerciais que os desenvolvem, é comum os adwares virem embutidos em diversos programas de livre download (freeware), com a autorização de seus autores. O Kazaa oficial é um programa de compartilhamento de arquivos, sendo um exemplo do casamento de um software gratuito com adwares, pois estes lhe proporcionam uma fonte de renda. Inicialmente os adwares procuravam exibir propagandas em janelas, chamados de banners, pequenas janelas de propagandas, embutidas em softwares de terceiros. Caso o usuário gostasse deste software, poderia adquirir uma versão mais avançada, paga, livre destas propagandas. Posteriormente os adwares passaram a monitorar a atividade do usuário na internet, podendo desta forma mostrar propagandas personalizadas, além de enviar dados sobre hábitos do usuário a certos sites, tendo então funções de spyware e adware, de forma simultânea. Mais adiante certos adwares passaram a exibir janela do tipo pop-up, pequena janela de propaganda solta pela tela, em vez de banners. Um pouco mais a frente os adwares passaram a se instalar no navegador do usuário, acrescentando certas funcionalidades duvidosas, principalmente EFA NS, Nível 3 V no Internet Explorer. Avanços (ou upgrades) no Internet Explorer, passaram a exigir o consentimento do usuário para a sua instalação. Porém com o passar do tempo, os adwares sofisticaram-se, incluindo propagandas persistentes, com inúmeras variantes, onde a sua desinstalação passou a ser um tarefa bastante penosa ou mesmo impossível, sem uma ajuda externa. A insistência no aparecimento das propagandas e sua difícil desinstalação, levaram os usuários a classificá-los como pragas ou spywares e não mais como simples adwares. Certos adwares passaram a ser instalados no Internet Explorer, quando o usuário navegava em sites maliciosos. Os adwares se sofisticaram, tornaram-se pragas. Produzem alterações no registro do Windows e depois somem ou se escondem para garantir que as alterações não sejam desfeitas, exigindo então não mais a ação de um antivírus ou de um simples anti-spyware, mas sim de um programa específico de conserto do registro. Por vezes os adwares exibem propagandas pornográficas, falsas propagandas de infecção do sistema por vírus, falsa propaganda de venda de produtos e passaram também a causar instabilidade no sistema, principalmente no navegador. Suspeita-se que possam tornar o sistema do usuário aberto a ação de hackers, devido a falta de maiores cuidados na elaboração dos adwares. Sua data de descoberta é desconhecida. RANSOMWARE Os Ransomwares são softwares maliciosos que, ao infectarem um computador, criptografam todo ou parte do conteúdo do disco rígido. Os responsáveis pelo software exigem da vítima, um pagamento pelo "resgate" dos dados. Ransonwares são ferramentas para crimes de extorsão e são extremamente ilegais. O PC Cyborg Trojan, foi o primeiro código de um ransomware conhecido. Nomes de alguns Ransomwares conhecidos: GpcodeB e PGPCoder CONTAMINAÇÃO Eventualmente anexos de e-mails ou mensagens vindas de mensageiros como o MSN e o ICQ, também podem conter spywares. Firmas comerciais exploram EFA NS, Nível 3 VI maldosamente a curiosidade dos usuários e desenvolvem novas formas de transmissão e de instalação de spywares. Recentemente uma grande parte dos spywares são assimilados pelo navegador, como plug-ins. O usuário deve ser cuidadoso ao instalar os diversos plugins disponíveis na internet. PREVENÇÃO E REMOÇÃO Os softwares anti-pestes, também denominados antispywares, são feitos para removê-los. Antes de mais nada, verifique se a peste adicionou uma entrada em Adicionar ou remover programas, o que facilita a sua desinstalação. Certas pestes como alguns redirecionadores do Internet Explorer, disponibilizam ferramentas de remoção, no item suporte ou help na página redirecionada. Atualmente recomenda-se a instalação de algum programa antipeste (ou antispyware em inglês), pois como já foi comentado, certos softwares trazem consigo spywares ou adwares, ou mesmo o Internet Explorer pode ser contaminado por algum spywares, pois ainda não há certeza absoluta que ele possa ficar imune, das variadas formas de adwares desenvolvidos por firmas comerciais. EFA NS, Nível 3 VII Buffer overflow: é uma anomalia em um programa , ao escrever os dados para um buffer , estouros de buffer de fronteira e sobrescreve a memória adjacente. Buffer overflows podem ser desencadeados por entradas que são projetados para executar o código, ou alterar a forma como o programa funciona. Isso pode resultar em um comportamento errático do programa, incluindo o acesso erros de memória, resultados incorretos, uma queda ou uma violação da segurança do sistema. São, portanto, a base de muitas vulnerabilidades de software e pode ser maliciosamente explorado . As linguagens de programação comumente associado com estouros de buffer incluem C e C + + , que não fornecem proteção embutida contra o acesso ou substituição de dados em qualquer parte da memória e não se verificar automaticamente os dados gravados em um array (built-in tipo de buffer) está dentro os limites da matriz. Verificação de limites pode evitar estouros de buffer. EXEMPLO BÁSICO No exemplo a seguir, um programa definiu dois itens de dados que são adjacentes na memória: um buffer de string de 8 bytes de comprimento, um, e um número inteiro de dois bytes, B. Inicialmente, um contém nada além de zero bytes, e B contém o número 1979. Os personagens são um byte de largura. nome da variável A B valor [ null string ] 1979 valor hexadecimal 00 00 00 00 00 00 00 00 07 BB Agora, o programa tenta armazenar a seqüência de caracteres NULL-Terminated "excessive" no buffer uma. , Ao não verificar o comprimento da corda, ele substitui o valor de B: nome da variável valor EFA NS, Nível 3 A B «E» 'X' 'C' «E» 'S' 'S' 'I' 'V' 25856 VIII feitiço 65 78 63 65 73 73 69 76 65 00 Embora o programador não pretende mudar B em todos, o valor de B foi agora substituído por um número formado de parte da seqüência de caracteres. Neste exemplo, em um big-endian sistema que usa ASCII , "e" seguido por um byte zero seria o número 25856. Se B foi a única outra variável item de dados definidos pelo programa, a escrever uma seqüência mais longa, mesmo que passavam o final de B poderia causar um erro como uma falha de segmentação , que encerra o processo. Trojan: Antes levarmos em conta que Trojan é um programa que é usado em conexão reversa ou inversa que geralmente é usado para invasão para pegar senha ou outras informações. O cavalo de troia é um programa que tem um pacote de vírus que é usado geralmente para destruir um computador. O conceito nasceu de um simples programa que se faziam passar por esquemas de autenticação, em que o utilizador era obrigado a inserir as senhas, pensando que estas operações eram legítimas. Por exemplo, na autenticação de uma shell, poderia ser um simples programa numa conta já aberta, e o utilizador que chegasse seria forçado a introduzir a sua password. O trojan iria então guardar o password e mascarar a conta (que seria do dono do trojan) para que parecesse legítima (a conta da vítima). Entretanto, o conceito evoluiu para programas mais completos. EFA NS, Nível 3 IX Os trojans atuais são disfarçados de programas legítimos, embora, diferentemente de vírus ou de worms, não criam réplicas de si (e esse é o motivo pelo qual o Cavalo de Tróia não é considerado um vírus). São instalados diretamente no computador. De fato, alguns trojan são programados para se autodestruir com um comando do cliente ou depois de um determinado tempo. Os trojans ficaram famosos na Internet pela sua facilidade de uso, fazendo qualquer pessoa possuir o controle de um outro computador apenas com o envio de um arquivo. Por isso os trojans têm fama de ser considerados "ferramentas de script kid". Os trojans atuais são divididos em duas partes: O servidor e O cliente. O servidor se instala e se oculta no computador da vítima, normalmente dentro de algum outro arquivo. No momento que esse arquivo é executado, o computador pode ser acessado pelo cliente, que irá enviar instruções para o servidor executar certas operações no computador da vítima. Dentro do Servidor Existe 2 conexões: Conexão Direta Conexão Reversa A direta tende a precisar do IP da Vitima para funcionar, já a reversa tem o IP do dono do trojan, fazendo assim a conexão. Geralmente um trojan é instalado com o auxílio de um ataque de engenharia social, com apelos para convencer a vítima a executar o arquivo do servidor, o que muitas vezes acaba acontecendo, dada a curiosidade do internauta,como um email atraindo a pessoa a ver fotos de um artista, pedindo a instalação de um Plugin, onde o Trojan fica "Hospedado". Tipos de Cavalo de Troia Keylogger Backdoor O Trojan Horse é muito achado em computadores domésticos, a fim de roubar uma determinada senha para cometer certos crimes financeiros, no caso de um cliente que utiliza algum serviço de internet Banking. EFA NS, Nível 3 X Exploits: é um programa de computador, uma porção de dados ou uma sequência de comandos que se aproveita das vulnerabilidades de um sistema computacional – como o próprio sistema operativo ou serviços de interação de protocolos (ex: servidores Web). São geralmente elaborados por hackers como programas de demonstração das vulnerabilidades, a fim de que as falhas sejam corrigidas, ou por crackers a fim de ganhar acesso não autorizado a sistemas. Por isso muitos crackers não publicam seus exploits, conhecidos como 0days, e o seu uso massificado deve-se aos script kiddies. Até meados dos anos 1990, acreditava-se que os exploits exploravam exclusivamente problemas em aplicações e serviços para plataformas Unix. A partir do final da década, especialistas demonstraram a capacidade de explorar vulnerabilidades em plataformas de uso massivo, por exemplo, sistemas operacionais Win32 (Windows 9x, NT, 2000 e XP). Como exemplo temos o CodeRed, o MyDoom, o Sasser em 2004 e o Zotob em 2005. COMO ATUA Para um exploit atacar, o sistema precisa ter uma vulnerabilidade, ou seja, um meio de comunicação com a rede que possa ser usado para entrar, uma porta ou um console. Um exploit muito usado é no sistema RPC do Windows: o usuário localiza a porta e envia à porta RPC uma sequência de bytes, que são interpretados como dados pelo servidor quando são recebidos, estes dados deixam propositadamente o sistema em pane o sistema passa o controle a estes próprios dados que então são uma sequência de ordem para dominar a CPU. EFA NS, Nível 3 XI Desta forma esta sequência de informações toma conta do PC e abre-o para o hacker que aguarda na outra ponta. No sistema Linux, quando existem vulnerabilidades, sempre são publicadas, como já houve no sistema Apache, Samba ou MySQL, que também apresentam vulnerabilidades e possibilita o controle do PC por um hacker remoto. Com isso um hacker pode ter acesso a todos seus arquivos pessoais, Usando o proprio CMD do windows. Denial of Service: A negação de serviço ataque (ataque DoS) ou distribuídos de negação de serviço ataque (ataque DDoS) é uma tentativa de fazer um recurso de computador disponível para os seus usuários. Embora os meios para realizar, por motivos e alvos de um ataque de negação de serviço pode variar, geralmente consiste de um esforço concertado de uma pessoa ou pessoas para evitar uma Internet site ou serviço de forma eficiente funcionamento ou no todo, temporária ou indefinidamente. Os autores de ataques DoS geralmente alvo sites ou serviços hospedados em alto perfil servidores web , tais como bancos, cartão de crédito gateways de pagamento, e até mesmo servidores de nomes raiz . O termo é geralmente usado com relação a redes de computadores , mas não se limita a esse campo, por exemplo, também é usado em referência a CPU . gerenciamento de recursos [1] Existem duas formas gerais de ataques DoS: aqueles que os serviços de acidente e aqueles que os serviços de inundação. [2] Um método comum de ataque envolve saturando a máquina de destino com pedidos externos de comunicação, de tal forma que ele não consegue responder ao tráfego legítimo, ou responde tão lentamente a ser prestado efetivamente indisponível. Em termos gerais, os ataques DoS são executados por qualquer forçando o computador de destino (s) para redefinir, ou consumir seus recursos para que ele não pode mais prestar o serviço pretendido ou obstruir EFA NS, Nível 3 XII os meios de comunicação entre os usuários e destina-se a vítima para que possam não comunicar adequadamente. -De-ataques de negação de serviço são consideradas violações do IAB s ' utilização adequada política de Internet , além de violar a política de uso aceitável de praticamente todos os provedores de internet . Eles também comumente constituem uma violação das leis de cada nação. Spoofing: IP spoofing é uma técnica de subversão de sistemas informáticos que consiste em mascarar (spoof) pacotes IP utilizando endereços de remetentes falsificados. Devido às características do protocolo IP, o reencaminhamento de pacotes é feito com base numa premissa muito simples: o pacote deverá ir para o destinatário (endereço-destino) e não há verificação do remetente — não há validação do endereço IP nem relação deste com o router anterior (que encaminhou o pacote). Assim, torna-se trivial falsificar o endereço de origem através de uma manipulação simples do cabeçalho IP. Assim,vários computadores podem enviar pacotes fazendo-se passar por um determinado endereço de origem, o que representa uma séria ameaça para os sistemas baseados em autenticação pelo endereço IP. EFA NS, Nível 3 XIII Falsificação de um pacote: A cada pacote enviado estará geralmente associada uma resposta (do protocolo da camada superior) e essa será enviada para a vítima, pelo o atacante não pode ter conhecimento do resultado exato das suas ações — apenas uma previsão. Esta técnica, utilizada com outras de mais alto nível, aproveita-se, sobretudo, da noção de confiabilidade que existe dentro das organizações: supostamente não se deveria temer uma máquina de dentro da empresa, se ela é da empresa. Por outro lado, um utilizador torna-se também confiável quando se sabe de antemão que estabeleceu uma ligação com determinado serviço. Esse utilizador tornase interessante, do ponto de vista do atacante, se ele possuir (e estiver usando) direitos privilegiados no momento do ataque. Bom, mas resta a interacção com as aplicações, além de que as características do protocolo IP permitem falsificar um remetente, mas não lhe permitem receber as respostas — essas irão para o endereço falsificado. Assim, o ataque pode ser considerado cego. Essa técnica é conhecida por desvio de sessão TCP, ou TCP session hijacking em inglês. Existem métodos para evitar estes ataques, como a aplicação de filtros de pacotes, filtro ingress nos gateways; faz sentido bloquear pacotes provindos da rede externa com endereços da rede local. Idealmente, embora muito negligenciado, usar umfiltro egress — que iria descartar pacotes provindos da rede interna com endereço de origem não-local que fossem destinados à rede externa — pode prevenir que utilizadores de uma rede local iniciem ataques de IP contra máquinas externas. Existem outros ataques que utilizam esta técnica para o atacante esconder a origem ou para potencializar um determinado ataque: ataques SYN (SYN flooding) ou ataques smurf são exemplos muito citados. EFA NS, Nível 3 XIV A maior vantagem do Ip spoofing em relação a outros tipos de farejamento de conexões (como o DNS spoofing, por exemplo) é que ele funciona em nível de conexão, permitindo farejar e interceptar conexões e pacotes em redes de todos os sitemas, seja ele Linux, Unix, Windows, Solaris ou qualquer outro existente, desde que a conexão parta de um IP confiável com um endereço mac conhecido. Mail Bomb: é uma forma de abuso líquido composto de enviar grandes volumes de e-mail para um endereço em uma tentativa de estouro de caixa de correio ou sobrecarregar o servidor onde o endereço de email está hospedado em um denial-of- Serviço de ataque . Esse pequeno aplicativo serve pra vc floodar o email do seu amigo ou aquela pessoa que vive te mandando emails chatos, ele é capaz de mandar até 3.000(mil) e-mails de uma vez para a vitima. como usar: From name - coloque seu nome ou um nome qualquer From e-mail - coloque seu email ou outro qualquer To e-mail - coloque o email da vitima Message - a mensagem que vc vai enviar nesses emails todos Amount - coloque nesse campo a quantidade de emails que serão enviados Enter code - digite nesse campo os caracteres que vão aparecer Finalmente click em bomb! EFA NS, Nível 3 XV Ps: quanto maior a quantidade de emails que você for enviar mais vai demorar para se completar o processo. Phreaking: é o nome dado as pessoas ou Hackers de Telefones. Hoje com a propagação dos Telemóveis os Phreakers vieram a tona, seja clonando celulares ou realizando escuta telefônica via frequência. Com a opção das operadoras venderem os aparelhos celulares bloqueados para funcionarem apenas para uma determinada empresa, os Phreaks se uniram e resolveram desbloquea-los em prol da liberdade. EFA NS, Nível 3 XVI Smurf: O ataque Smurf é uma forma de gerar significativa rede de computadores do tráfego em uma rede de vítima. Este é um tipo de negação de serviço ataque que inunda um sistema alvo através falsificado broadcastping mensagens. Este ataque se baseia em um agente de enviar uma grande quantidade de ICMP echo request (ping) para o tráfego IP endereços de transmissão, os quais têm um falsificado fonte IP endereço da vítima. Se o dispositivo de roteamento entregar tráfego a esses endereços de transmissão proporciona a transmissão IP para todos os hosts (por exemplo através de uma camada 2 broadcast), a maioria dos hosts na rede IP terá o ICMP echo request e responder a ele com uma resposta de eco, multiplicando o tráfego, o número de servidores de responder. Em uma rede de transmissão de multi-acesso, centenas de máquinas podem responder a cada pacote. [1] No final de 1990, muitas redes IP iria participar em ataques Smurf (ou seja, eles poderiam responder ao ping para endereços de broadcast). Hoje, graças em grande parte à facilidade com que os administradores podem fazer uma rede imune a esta situação, algumas redes continuam muito vulneráveis a ataques Smurf. [2] A correção tem duas vertentes: Configurar hosts individuais e roteadores não responder a pedidos de ping ou transmissões. Configurar roteadores não encaminham pacotes direcionados a endereços de broadcast. Até 1999, os padrões exigidos roteadores para encaminhar esses pacotes por padrão, mas nesse ano, a norma foi alterada para exigir que o padrão a ser para não avançar. [3] Outra solução proposta, para corrigir isso, assim como outros problemas, é a rede penetração filtragem que rejeita os pacotes de ataque com base no endereço de origem forjado. [4] Um exemplo de configuração de um roteador para não enviar pacotes para endereços de broadcast, de Cisco router, é: Router(config-if)# no ip directed-broadcast EFA NS, Nível 3 XVII (Este exemplo não impede que uma rede de tornar-se o alvo do ataque Smurf, ele simplesmente impede que a rede de "atacar" outras redes, ou melhor, tomar parte em um ataque de Smurf.) Um amplificador de Smurf é uma rede de computadores que se presta a ser usado em um ataque Smurf. amplificadores Smurf agir para ampliar (agravar a) um ataque de Smurf, porque eles são configurados de tal forma que geram um grande número de ICMP respostas a um falso endereço IP de origem (a vítima do ataque). Sniffing: é o procedimento realizado por uma ferramenta conhecida como Sniffer (também conhecido como Packet Sniffer, Analisador de Rede, Analisador de Protocolo,Ethernet Sniffer em redes do padrão Ethernet ou ainda Wireless Sniffer em redes wireless). Esta ferramenta, constituída de um software ou hardware, é capaz de interceptar e registrar o tráfego de dados em uma rede de computadores. Conforme o fluxo de dados trafega na rede, o sniffer captura cada pacote e eventualmente decodifica e analisa o seu conteúdo de acordo com o protocolo definido em um RFC ou uma outra especificação. O sniffing pode ser utilizado com propósitos maliciosos por invasores que tentam capturar o tráfego da rede com diversos objetivos, dentre os quais podem ser citados, obter cópias de arquivos importantes durante sua transmissão, e obter EFA NS, Nível 3 XVIII senhas que permitam estender o seu raio de penetração em um ambiente invadido ou ver as conversações em tempo real. Scamming: Key Logger: é um programa de computador do tipo spyware cuja finalidade é abrir tudo o que a vítima fecha, a fim de fechar suas senhas de tiro, números de cartão de crédito e afins. Muitos casos de phishing, assim como outros tipos de fraudes virtuais, se baseiam no uso de algum tipo de keylogger, instalado no computador sem o conhecimento da vítima, que captura dados sensíveis e os envia a um cracker que depois os utiliza para fraudes. Existem softwares apropriados para se defender deste tipo de ameaça. É sempre oportuno que um computador conectado à internet seja protegido através de um software "AntiSpyware" de um "Firewall" e de um "AntiVirus". Para evitar a contaminação por KEYLOGGERS utilize um bom Antivirus e um bom AntiSpyware, ambos atualizados e residentes em memória (proteção em tempo real). Uma Firewall é fortemente recomendada. EFA NS, Nível 3 XIX O Key logger também é um programa utilizado muito por empresas para monitorar oque seus funcionarios fazem em sua maquina, porém em muitos casos as pessoas utilizam o programa de forma mal-intencionada. DNS Poisoning: uma situação criada de maneira maliciosa ou não desejada que provee dados de um Servidor de Nomes de Domínio (DNS) que não se origina de fontes autoritativas DNS. Isto pode passar devido a desenho inapropiado de software, falta de configuração de nomes de servidores e palcos maliciosamente desenhados que explodem a arquitectura tradicionalmente aberta de um sistema DNS. Uma vez que um servidor DNS tem recebido aqueles dados não autentificados e os armazena temporariamente para futuros incrementos de desempenho, é considerado envenenado, estendendo o efeito da situação aos clientes do servidor. EFA NS, Nível 3 XX ATAQUES DE ENVENENAMIENTO DE CACHÉ Normalmente, um computador ligado a Internet utiliza um servidor DNS proporcionado pelo provedor de serviços de Internet (ISP). Este DNS geralmente atende somente aos próprios clientes do ISP e contém uma pequena quantidade de informação sobre DNS armazenada temporariamente por utentes prévios do servidor. Um ataque de envenenamiento (poisoning attack) de um sozinho servidor DNS de um ISP pode afectar aos utentes atendidos directamente pelo servidor comprometido ou indirectamente pelos servidores dependentes do servidor. Para realizar um ataque de envenenamiento de caché, o atacante explode uma vulnerabilidad no software de DNS que pode fazer que este aceite informação incorrecta. Se o servidor não valida correctamente as respostas DNS para se assegurar de que elas provem de uma fonte autoritativa, o servidor pode terminar armazenando localmente informação incorrecta e enviando aos utentes para que façam a mesma petição. Esta técnica pode ser usada para substituir arbitrariamente contido de uma série de vítimas com conteúdo eleito por um atacante. Por exemplo, um atacante envenena as entradas DNS de direcção IP|direcções IP]] para um lugar site objectivo, substituindo com a direcção IP de um servidor que ele controla. Depois, o atacante cria entradas falsas para arquivos no servidor que ele controla com nomes que coincidem com os arquivos do servidor objectivo. Estes arquivos podem conter conteúdo malicioso, como um vírus ou um verme. Um utente cujo computador tem referenciado ao servidor DNS envenenado pode ser enganado ao achar que o conteúdo prove do servidor objectivo e sem o saber descarga conteúdo malicioso. Como parte do projecto Golden Shield, Chinesa, de forma regular faz uso de envenenamiento de DNS para redes ou lugares específicos que violam as políticas baixo as quais o projecto opera. VARIANTES Nas seguintes variantes, as entradas do servidor ns.wikipedia.org podem ser envenenadas e redirigidas ao servidor de nomes do atacante na direcção w.x.e.z. Estes ataques assumem que o servidor para wikipedia.org é ns.wikipedia.org. Para conseguir sucesso no ataque, o atacante deve forçar que o servidor DNS objectivo faça uma petição para um domínio controlado por um dos servidores de nomes do atacante. REDIRECCIÓN AO SERVIDOR DE NOMES DO DOMÍNIO OBJECTIVO A primeira variante do envenenamiento de caché de DNS envolve redirigir o nome do servidor do atacante do domínio para o servidor de nomes do domínio EFA NS, Nível 3 XXI objectivo, depois atribui-se a dito servidor de nomes uma direcção IP especificada pelo atacante. Petição do servidor DNS: subdominio.exemplo.com? quais são os registos de direcções para subdominio.exemplo.com. IN A Resposta do atacante: Answer: (não response) Authority section: example.com. 3600 IN NS ns.wikipedia.org Additional section: ns.wikipedia.org. IN A w.x.e.z Um servidor vulnerável pode armazenar em caché o registo A adicional (a direcção IP) para ns.wikipedia.org, permitindo ao atacante resolver consultas para todo o domínio wikipedia.org. REDIRIGIR O REGISTO NS A OUTRO DOMÍNIO OBJECTIVO A segunda variante de envenenamiento de caché DNS envolve redirigir o servidor de nomes de outro domínio para outro domínio não relacionado à petição original de uma direcção IP especificada pelo atacante. Petição do servidor DNS: subdominio.exemplo.com? quais são os registos de direcção para subdominio.exemplo.com. IN A Resposta do atacante: Answer: (não response) Authority section: wikipedia.org. 3600 IN NS ns.exemplo.com. Additional section: ns.ejemplocom. IN A w.x.e.z EFA NS, Nível 3 XXII Um servidor vulnerável pode armazenar a informação de autoridade não relacionada dos registos de servidor de nomes de wikipedia.org, permitindo ao atacante resolver consultas para todo o domínio wikipedia.org. RESPONDER DANTES DO SERVIDOR DE NOMES REAL A terceira variante de envenenamiento de caché de DNS, que é denominada falsificação de DNS (DNS Forgery) envolve fazer demorar a resposta real para uma consulta recursiva DNS para o servidor DNS. As consultas DNS contêm um número identificador (nonce) de 16 bits, utilizado para identificar as respostas associadas a uma resposta dada. Se o atacante pode predizer exitosamente o valor de dito número identificador e devolver a resposta primeiro, o servidor aceitará a resposta do atacante como válida. Se o servidor elege aleatoriamente a porto origem de resposta, o ataque voltar-se-á mais dificultoso, dado que a resposta falsa deve ser enviada pelo mesmo porto desde onde a consulta se originou. Enviando um número de petições simultâneas de DNS ao servidor para forçá-lo a enviar mais consultas recursivas, a probabilidade de predizer exitosamente um dos números identificadores se incrementa. Esta modificação é uma forma de ataque de aniversário]] (birthday attack). PREVENÇÃO E MITIGACIÓN Muitos ataques de envenenamiento de caché pode ser prevenidos simplesmente por servidores DNS sendo menos confiáveis que a informação passada por isso por outros servidores DNS, e ignorando qualquer registo DNS retornado e que não seja directamente relevante à consulta. Por exemplo, versões recentes de BIND agora contêm código que avalia estes casos. Como se mencionou anteriormente, a selecção aleatória da porto origem de consultas DNS, combinada com o uso de números aleatórios critográficamente seguros para eleger o porto e o número identificador de 16 bits pode reduzir grandemente a probabilidade de ataques de carreira DNS exitosos. Uma versão segura de DNS, DNSSEC, utiliza assinaturas criptográficas electrónicas validadas com um certificado digital confiável para determinar a autenticidad dos dados. DNSSEC pode conter ataques de envenenamiento de caché, mas até 2008 ainda não está difundido amplamente. Este tipo de ataque pode ser mitigado também pelas capas de transporte ou aplicação para conseguir validación extremo a extremo (end-to-end validation) uma vez que uma conexão é estabelecida em extremo. Um exemplo comum disto é o uso de Segurança de Capa de Transporte e assinaturas digitais. Por exemplo, usando a versão segura de HTTP, HTTPS, os utentes podem verificar se o certificado digital é válido e pertence ao dono esperado de um lugar site. De maneira similar, o programa de início de sessão remoto SSH verifica certificados digitais nos extremos (se conhece-os) dantes de prosseguir com uma sessão. Para aplicações que descargan actualizações automaticamente, a aplicação pode EFA NS, Nível 3 XXIII alojar uma cópia local do certificado digital dos dados e validar o certificado armazenado na actualização de software contra o certificado alojado. BHO – Browser Helper Object: é um módulo DLL designado como Plugin para o navegado Microsoft Internet Explorer para adicionar mais funcionalidades. BHOs foi introduzido em Outubro de 1997 com lançamento para a versão 4 do Internet Explorer. Mais BHOs são carregados com cada nova instancia do Internet Explorer. No caso do Windows File Explorer, a nova instancia é iniciada com cada janela. Alguns modulos são ativados na visualização de diferentes formatos de arquivos não interpretadas pelo navegador. O plugin do Adobe Acrobat permite aos usuários do Internet Explorer a ler arquivos PDF diretamente no navegador com sua BHO. Outro modulo adicionado ao ToolBar do Internet Explorer, é o Alexa ToolBar que permite listar os Web Sites relatados com o site que está navegando atualmente ou o Google ToolBar que adiciona a Barra De Ferramentas de Pesquisa do Google na interface do Navegador. EFA NS, Nível 3 XXIV SQL Injection: é um tipo de ameaça de segurança que se aproveita de falhas em sistemas que interagem com bases de dados via SQL. A injeção de SQL ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma consulta (query) através da manipulação das entrada de dados de uma aplicação. FUNCIONAMENTO Para exemplificar o funcionamento da injeção de SQL, consideremos uma instrução SQL comum: SELECT id, nome, sobrenome FROM autores; Essa instrução, que representa uma consulta na base de dados, retorna todas os registros das colunas "id", "nome" e "sobrenome" da tabela "autores". A partir desta mesma instrução, os registros a serem retornados podem ser restritos através da inclusão da cláusula WHERE, como é visto no exemplo abaixo: SELECT id, nome, sobrenome FROM autores WHERE nome = 'josé' AND sobrenome = 'silva'; EFA NS, Nível 3 XXV Com base nesta instrução, é fácil supor que "josé" e "silva" são strings, cujo conteúdo será preenchido pela entrada feita por algum usuário que estiver fazendo uso da aplicação. Portanto, supondo que a aplicação não faça o tratamento apropriado do conteúdo inserido pelo usuário, o mesmo pode fazer o uso acidental do caractere de aspas simples. Gerando a entrada: nome = jo'sé sobrenome = silva E fazendo com que a aplicação gere o código: SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'sé' AND sobrenome = 'silva'; De acordo com a especificação da linguagem SQL, existe um erro de sintaxe nessa instrução, uma vez que a string passada para o campo nome é a apenas palavra "jo", pois a adição das aspas simples quebrou a delimitação das aspas simples originais da consulta. O interpretador do SQL espera que o restante da instrução seja outros comandos SQL válidos que complementem a instrução principal. No entanto, como "sé" não é um identificador válido, essa instrução não será executada e retornará um erro. Com base neste problema, um possível atacante pode manipular os dados de entrada a fim de gerar um comportamento não esperado na base de dados. Para exemplificar este conceito, consideremos na mesma consulta apresentada, a entrada dos seguintes dados pela aplicação: nome = jo'; DROP TABLE autores ; -- sobrenome = silva Fazendo com que a aplicação gere o código: SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'; DROP TABLE autores ; --' AND sobrenome = 'silva'; Neste caso, a instrução será executada normalmente, pois não há um erro de sintaxe, no entanto, com a adição do caractere ponto-e-vírgula, a instrução foi dada como finalizada de modo prematuro dando espaço para uma nova instrução. Essa nova instrução, que poderia ser qualquer uma escolhida pelo atacante, pode ser a responsável por retornar dados confidenciais armazenados na base de dados ou de executar instruções que comprometam o sistema, como a remoção de dados e/ou tabelas, como pode ser visto no exemplo apresentado. EFA NS, Nível 3 XXVI Aparentemente um método para prevenir esse problema seria a remoção de aspas simples dos campos de inserção da aplicação, ou simplesmente não executando a query nestas situações. Isso é verdade, mas existem várias dificuldades com esse método tanto quanto soluções. Primeiro, nem todos os usuários inserem dados em forma de strings. Se o usuário puder selecionar um autor pelo 'id' (presumivelmente umnúmero) por exemplo, nossa query aparecerá como abaixo: SELECT id, forename, surname FROM authors WHERE id=1234 Nesta situação, o atacante pode simplesmente adicionar uma instrução SQL no fim do 'input' numérico. Verificando os dialetos de SQL, vários delimitadores podem ser usados no Microsoft Jet DBMS engine, por exemplo, datas podem ser delimitadas com o caracter sustenido. Portanto, escapando da execução da adição de aspas simples, não necessariamente uma solução como demonstrado anteriormente. Pode-se ilustrar esse ponto usando um exemplo de página de login em Active Server Pages (ASP), que acessa um servidor de banco de dados SQL e tenta autenticar o acesso em uma aplicação fictícia. Abaixo está um pedaço de código de uma página de formulário, em que um usuário insere o username e o password para autenticação: (...) function Login( cn ) { var username; var password; username = Request.form("username"); password = Request.form("password"); var rso = Server.CreateObject("ADODB.Recordset"); var sql = "select * from users where username = '" + username + "' and password = '" + password + "'"; trace( "query: " + sql ); rso.open( sql, cn ); if (rso.EOF) { rso.close(); } } function Main() { //Set up connection var username EFA NS, Nível 3 XXVII var cn = Server.createobject( "ADODB.Connection" ); cn.connectiontimeout = 20; cn.open( "localserver", "sa", "password" ); username = new String( Request.form("username") ); if( username.length > 0) { Login( cn ); } cn.close(); } A parte critica é a parte do 'process_login.ascp' que cria uma 'query string': var sql = "SELECT * FROM users WHERE username = '" + username + "' AND password = '" + password + "'"; Se o usuário inserir os seguintes dados: * Username: '; drop table users-* Password: ... a tabela 'users' será apagada, negando o acesso para todos os usuários. A seqüência de caracteres '--' é o comentário de uma linha de SQL, a o ';' denota o fim de uma query e o começo de outra. O '--' no fim do campo username é requerido para que a query em questão seja executada sem erros. O atacante pode logar como qualquer usuário, se souber o nome do usuário, usando o input abaixo: Username: admin'-- O atacante pode logar como o primeiro usuário da tabelas 'users', com a inserção abaixo: Username: ' or 1=1-- O atacante pode ainda logar como um usuário completamente fictício com o input abaixo: Username: ' union select 1, 'fictional_user', 'some_password', 1-- A razão para que isso funcione é que a aplicação acredita que a linha 'constante' que o atacante especificou é parte do 'recordset' recuperado da base de dados. EFA NS, Nível 3 XXVIII Spam e Fishing: é o criminalmente fraudulento processo de tentativa de adquirir informações sensíveis, tais como nomes de usuários, senhas e detalhes de cartão de crédito, que aparece como uma entidade confiável em uma comunicação eletrônica . Comunicações que se apresente em sites de web social, sites de leilões, processadores de pagamento online ou administradores de TI são comumente usados para atrair o público desavisado. Phishing é normalmente realizada por e-mail ou mensagens instantâneas , [1] e que muitas vezes direciona o usuário para inserir dados em um site falso, cuja aparência e são quase idênticas às de uma legítima. Phishing é um exemplo de engenharia social técnicas utilizadas para enganar usuários, [2] e explora a má usabilidade das tecnologias de segurança da web atual. [3] As tentativas de lidar com o crescente número de incidentes de phishing incluem legislação , treinamento de usuários, a consciência pública, e medidas técnicas de segurança. Uma técnica de phishing foi descrito em detalhes em 1987, eo primeiro uso registrado do termo "phishing" foi feita em 1996. O termo é uma variante dapesca, [4], provavelmente influenciado por phreaking , [5] [6] e alude a iscos utilizados para "pegar" os dados financeiros e senhas. EFA NS, Nível 3 XXIX Bots: um utilitário que desempenha tarefas rotineiras ou, num jogo de computador, um adversário com recurso a inteligência artificial. IM E IRC Alguns bots comunicam-se com outros usuários de serviços baseados na Internet, através do instant messaging (IM), de Internet Relay Chat (IRC), ou de uma outra relação da web. Estes chatterbots podem permitir que as pessoas façam perguntas em inglês liso e formule então uma resposta apropriada. Estes bots podem frequentemente segurar muitas tarefas, incluindo o relatório do tempo, a informação do código postal, as contagens dos esportes, moeda corrente convertendo-se ou as outras unidades, etc. Outros são usados para o entretenimento, tal como SmarterChild no AOL Instant Messenger e no MSN Messenger e Jabberwacky no Yahoo! Messenger. Um outro alvo popular dos bot é FriendBot. Um papel adicional de bots do IRC pode ser atuar em background de uma canal de conversação, comentando determinadas frases expressadas pelos participantes (baseados em combinações de teste padrão). Isto é usado às vezes como um serviço da ajuda para usuários novos, ou para a censura de pornografia. EFA NS, Nível 3 XXX FINALIDADES MALICIOSAS Bots podem ser utilizados para a coordenação e a operação de um ataque que foi feito em computadores networkedinged, tais como um ataque do negaoçãoserviço. Os bots podem também ser usados para cometer fraude do clique é mais recentemente foi visto o uso em torno dos jogos de MMORPG como bots dos jogo de computador. Um spambot é um bot que envia Spam em quantidades grandes, adicionando geralmente links anunciados. Há bots maliciosos dos seguintes tipos: 1. spambots que procuram por endereços de email nos formulários de contato ou nos livros de visitas; 2. downloaders que ocupam a largura de faixa de downloading de sites inteiros; 3. os scrapers da Web que utiliza o índice dos sites e reutiliza sem permissão com entrada automaticamente gerada na pagina afetada; 4. programas que procuraram a web para infração dos direitos autoriais de pessoas e companhias; 5. vírus & afins; 6. data mining programs e cyber-surveillance bots usados para coletar a informação em site ou companhia; 7. Ataques de DDoS; 8. Botnets/computadores zumbi; 9. Pips Vieira. Bots são também utilizados na compra de bilhetes pela Internet, em sites como o TicketMaster.com, particularmente pelos corretores de bilhete que reservam os bilhetes. São geralmente usados para comprar automaticamente os melhores lugares disponíveis e em seguida revendê-los a preços mais altos. Bots são usado frequentemente em jogos MMORPGs para conseguir os recursos que fariam necessário cultivar e desempenhar tarefas repetitivas como na evolução do personagem, de muito tempo ou do esforço significativo para obter; este é um interesse na maioria das economias desta linha de jogos. EFA NS, Nível 3 XXXI 29 Outubro 2010 EFA NS, Nível 3 XXXII