Segurança da Informação Tópico 04 e 05 • • • • • • • Os riscos que rondam as organizações. Potenciais atacantes. Terminologias do mundo dos hackers. Pontos explorados. Planejamento de um ataque. Ataque para obtenção de informação. Ataques de negação de serviço. Ataque ativo contra o TCP. Ataques coordenados. Ataques ao nível de aplicação. Prof.Davison Marques Os riscos que rondam as organizações Os riscos que rondam as organizações •Ataque •É uma ação para derrubar uma página web através de um congestionamento de acessos. •Invasão •É quando se consegue entrar no sistema e roubar dados sigilosos. Os riscos que rondam as organizações Ao tirarem sites do ar, ora simplesmente deixam-nos indisponíveis (fora do ar), ora fazem a chamada pichação (deface), através da qual modificam a página inicial do site (parcial ou completamente), como aconteceu no site do IBGE durante a leva de ataques a sites brasileiros. Os riscos que rondam as organizações Prejuízo da Sony com invasão da PSN pode passar de R$ 37 bilhões Segundo instituto ouvido pela revista Forbes, incidente pode custar R$ 500 por cada uma das 77 milhões de contas acessadas A invasão da rede virtual de usuários do videogame Playstation, anunciada ontem pela Sony, pode custar à empresa US$ 24 bilhões (R$ 37,7 bilhões), segundo estimativa do instituto americano Ponemon, especializado em pesquisa de segurança de dados. A informação foi divulgada pela revista Forbes, que usou a base de custo por conta acessada, em casos de ataques do tipo – de US$ 318 (R$ 500), em 2010 – e multiplicou pelo número de usuários da rede PSN, que passa dos 77 milhões. O valor reflete a média de custo, para as empresas, pelo acesso indevido a dados quando ocorrem atos criminosos ou maliciosos, por conta hackeada, em 2010. O prejuízo da empresa deve ser causado por processos judiciais, queda de ações, custos da investigação e um possível boicote ao videogame Playstation. Potenciais atacantes Hacker O termo genérico para identificar quem realiza o ataque em um sistema computacional. Essa generalização, porém, tem diversas ramificações, já que os ataques aos sistemas apresentam objetivos diferentes e o seu sucesso depende do grau de segurança dos alvos, ou seja, os sistemas bem protegidos são mais difíceis de serem atacados, exigindo maior habilidade dos hackers. Potenciais atacantes Os hackers, por sua definição original, são aqueles que utilizam seus conhecimentos para invadir sistemas, não com o intuito de causar danos às vítimas, mas como um desafio às suas habilidades e para demonstrar que conhecimento é poder. Exímios programadores e conhecedores das tecnologias que envolvem as redes e os computadores, o perfil dos hackers, de acordo com o psicólogo canadense Marc Rogers é o de um indivíduo obsessivo, de classe média, do sexo masculino, entre 12 e 28 anos, com pouca habilidade social. Terminologia do Mundo dos hackers Crackers Os crackers são elementos que invadem sistemas para roubar informações e causar danos às vítimas. O termo cracker também é uma denominação utilizada para aqueles que decifram códigos e destroem proteções de software. Terminologia do Mundo dos hackers Script kiddies Geralmente são jovens inexperientes que utilizam programas prontos disponíveis na Internet para invadir os sistemas. Devido à grande facilidade em se obter esses programas, os script kiddies são considerados perigosos para um grande número de organizações que não possuem uma política de segurança bem definida. São a imensa maioria dos hackers da Internet. Terminologia do Mundo dos hackers Cyberpunks São aqueles que se dedicam às invasões de sistemas apenas por divertimento e desafio. Os principais alvos são o governo e as grandes corporações que, segundo eles, podem estar acessando e manipulando as informações privadas das pessoas. Geralmente são eles que encontram novas vulnerabilidades em serviços, sistemas ou protocolos, prestando assim um favor às organizações, publicando as vulnerabilidades encontradas. Isso contribui para que a indústria de software corrija seus produtos passem a desenvolvê-los com maior enfoque na segurança. Terminologia do Mundo dos hackers Insiders São os maiores responsáveis pelos incidentes de segurança mais graves nas organizações. Uma parte significativa dos incidentes de segurança são causados por funcionários, exfuncionários ou pessoas que conseguem se infiltrar nas empresas. Uma série de questões está envolvida com esse tema, desde a engenharia social, relacionamentos entre os funcionários, até o suborno e a espionagem industrial. Terminologia do Mundo dos hackers White Hats Também conhecidos como “hackers do bem” e “hackers éticos”, utilizam seus conhecimentos para descobrir vulnerabilidades nos sites e aplicar as correções necessárias, trabalhando de maneira legal dentro das organizações. São responsáveis pelos testes de invasão que simulam ataques para medir o nível de segurança da rede. Terminologia do Mundo dos hackers Black Hats Também conhecidos como “crackers” utilizam seus conhecimentos para invadir sistemas e roubar informações confidenciais das empresas. São responsáveis pelos testes de invasão que simulam ataques para medir o nível de segurança da rede. Pontos explorados Exploração de vulnerabilidades São resultantes de bugs na implementação ou no design de sistemas operacionais, serviços, aplicativos e protocolos. Protocolos como o Internet Control Message Protocol (ICMP) podem ser explorados em ataques como o Smurf e o ping-ofdeath. O UDP pode ser explorado pelo Fraggle, enquanto que o TCP pode sofrer ataques conhecidos como o SYN flood. Pontos explorados Utilização de senhas ineficientes. Senhas podem ser obtidas por meio da captura, utilizando-se a rede (packet sniffing). Mesmo quando as senhas são protegidas por criptografia, elas podem ser decifradas por meio de cracking, ataques de força bruta ou ataques de replay. Pontos explorados Configuração, administração ou manutenção imprópria de sistemas. Exemplo: - Configuração padrão de equipamentos e sistemas. - Falha na segregação de ambientes (desenvolvimento, homologação, produção). - Falha na definição de senhas e controles de acesso nos aplicativos. - Falha na proteção de arquivos de controle de aplicativos. Ataques para obtenção de informações Técnicas: – Dumpster diving (mergulho no lixo) – Engenharia Social – Packet Sniffing – Scanning (Port Scanning/ Scanning de vulnerabilidades) – War dialing – Firewalking Ataques para obtenção de informações Dumpster diving Verificação do “lixo” em busca de informações sobre a empresa ou a rede da vítima, como nomes de contas, senhas, informações pessoais e confidenciais. Para evitar esse tipo de ataque é necessária uma política sobre descarte de documentos e mídias, em função da classificação das informações neles contidas. Ataques para obtenção de informações Engenharia Social Técnica que explora as fraquezas humanas e sociais ao invés de explorar a tecnologia. Tem como objetivo enganar e ludibriar pessoas assumindo uma falsa identidade a fim de que obter senhas ou outras informações que possam comprometer a segurança da organização. Um ataque de engenharia social clássico consiste em se fazer passar por um alto funcionário que tem problemas urgentes de acesso ao sistema. Ataques para obtenção de informações Packet Sniffing Consiste na captura de informações diretamente pelo fluxo de pacotes na rede. Diversos softwares fornecidos como ferramentas do sistema operacional podem realizar essa função, como o snoop (Solaris) eo tcpdump (Linux). Senhas que trafegam abertamente pela rede, como as de serviços do tipo FTP, Telnet e POP podem ser capturadas dessa maneira. E-mails também podem perder sua confidencialidade por meio da utilização de sniffers. Ataques para obtenção de informações Scanning – Port Scanning São ferramentas utilizadas para a obtenção de informações referentes aos serviços que são acessíveis e definidas por meio de mapeamento das portas TCP e UDP. Dessa forma, evita-se o desperdício de esforço com ataques a serviços inexistentes, de modo que o hacker pode se concentrar em utilizar técnicas que exploram serviços específicos. O “nmap” é um dos port scanners mais utilizados e pode ser empregado para realizar a auditoria do firewall e do sistema de detecção de intrusão. Ataques para obtenção de informações Scanning – Scanning de vulnerabilidades. Obtém informações sobre vulnerabilidades específicas. (conhecidas) para cada serviço em um sistema. Após o mapeamento dos serviços que são executados, as vulnerabilidades específicas para cada serviço do sistema serão procuradas por meio do scanning de vulnerabilidades. Os scanners de vulnerabilidades realizam diversos tipos de testes na rede à procura de falhas de segurança, sejam em protocolos, serviços, aplicativos ou sistemas operacionais. Ataques para obtenção de informações War dialing – Realiza uma busca por modens. – Modem ! entrada alternativa para a rede. Firewalking Obtém informações sobre uma rede remota protegida por um firewall. – Funcionamento similar ao traceroute. – Ataques de negação de serviços (DoS – Denial-of-Service) Exploram recursos de maneira agressiva de modo que usuários legítimos ficam impossibilitados de utiliza-los. Uma técnica típica é o SYN Flooding, que causa um overflow da pilha de memória, por meio de um grande número de pedidos de conexão, de tal maneira que o servidor não é capas de responder a todas essas requisições. A pilha de memória sofre um overflow e as requisições de conexões de usuários legítimos são então desprezadas Ataques de negação de serviços (DoS – Denial-of-Service) Outra técnica de ataque DoS é a fragmentação de pacotes IP que está relacionada a quantidade máxima de dados que podem passar em um pacote por um meio físico da rede (Maximum Transfer Unit – MTU). A forma como os pacotes são fragmentados e reagrupados possibilita a ocorrência de um buffer overflow na pilha TCP, quando há o reagrupamento de pacotes maiores do que o permitido. O resultado disso são problemas como o travamento do sistema. Ataques de negação de serviços (DoS – Denial-of-Service) Ataques identificados como Smurf (TCP) e Fraggle (UDP) também são do tipo DoS. Nesses ataques, um grande tráfego de pacotes PING (ICMP echo) é enviado para o endereço de broadcast da rede. Cada host da rede recebe a requisição de ICMP echo, passando todos eles a responderem para o endereço de origem que é falsificado. A rede é afetada pois todos os seus hosts passam a atuar como um amplificador e a vítima recebe os pacotes de todos esses hosts ficando desabilitada para executar suas funções normais. Ataques de negação de serviços (DoS – Denial-of-Service) Técnicas: – Flooding TCP SYN flooding UDP flooding ICMP flooding – Smurf e Fraggle – Teardrop – Land Attack – Ping of Death Ataques de negação de serviços (DoS – Denial-of-Service) Flooding – Inundar o servidor com requisições falsas. Tipos: – TCP SYN flooding – UDP flooding – ICMP flooding Ataques de negação de serviços (DoS – Denial-of-Service) Smurf e Fraggle – Consistem em ataques de flood distribuído. – Utilizam broadcasting em redes inteiras para amplificar seus efeitos. – Utilizam o endereço IP da vítima como endereço de origem dos pacotes (IP Spoofing). – Protocolo utilizado: Smurf -> ICMP (ping) Fraggle -> UDP (echo) Ataques de negação de serviços (DoS – Denial-of-Service) Smurf e Fraggle Etapa 1: Ataques de negação de serviços (DoS – Denial-of-Service) Smurf e Fraggle Etapa 2: Ataques de negação de serviços (DoS – Denial-of-Service) Smurf e Fraggle Resultado: Ataques de negação de serviços (DoS – Denial-of-Service) Teardrop – Se aproveita de uma falha na implementação das rotinas de remontagem de pacotes. – Consiste em enviar um pacote com um tamanho inválido -> o sistema obtém um nº negativo ao calcular o offset. – Resulta em crash do sistema. Land Attack – Consiste em conectar uma porta de um sistema a ela mesma. – Causa o travamento do sistema em diversas plataformas. Ataques de negação de serviços (DoS – Denial-of-Service) Ping of Death – Consiste em enviar um pacote de “ICMP echo request” (ping) com mais de 65.507 bytes de dados. – Tamanho máximo de um datagrama IP = 65.535 (216-1) bytes (RFC 791) – Datagrama – cabeçalho IP – cabeçalho ICMP = 65.535 – 20 – 8 = 65.507 bytes de dados. – Implementações do ping não permitem a emissão de datagramas inválidos, exceto Windows 95 e NT. – Resulta em reboot, panic ou travamentos. Ataques ativos contra o TCP/IP Técnicas: – Spoofing ARP Spoofing IP Spoofing DNS Spoofing – Man-in-the-middle Session Hijacking – Replay attack – Fragmentação de pacotes Ataques ativos contra o TCP/IP Spoofing – Enganar a vítima fazendo-se passar por outro host. Tipos: – ARP Spoofing Gerar respostas ARP falsas ARP (Address Resolution Protocol) Mapeia: Endereços IP -> Endereços MAC – IP Spoofing Gerar pacotes com endereço IP falso – DNS Spoofing Gerar respostas de DNS falsas DNS (Domain Name Service) Mapeia: Nomes -> Endereços IP Ataques ativos contra o TCP/IP Man-in-the-middle – O atacante intercepta os dados e responde pelo cliente, podendo alterar os dados. Session hijacking – O atacante derruba o cliente e mantém a conexão em andamento Ataques ativos contra o TCP/IP Replay attack – Dados interceptados podem ser retransmitidos pelo atacante. – É possível utilizar dados cifrados. Ataques ativos contra o TCP/IP Fragmentação de pacotes – Se tamanho do pacote > MTU do meio, então ocorre fragmentação. – É possível sobrescrever cabeçalhos durante a remontagem dos pacotes -> driblar as regras de filtragem do firewall. Ataques coordenados (DDoS) Etapas: 1. Intrusão em massa 2. Instalação do software DDoS 3. Disparo do ataque Técnicas utilizadas: – IP Spoofing – SYN Flooding – Pacotes decoy – Execução de comandos remotos – Fragmentação de pacotes – Criptografia na comunicação entre o atacante e os masters Ataques coordenados (DDoS) Personagens Ataques no nível de aplicação Execução no contexto do usuário facilita o acesso a suas informações como chaves. O acesso completos aos dados permite a implementação das funções importantes para a aplicação como a não-repudiação. A aplicação pode independer do sistema operacional e de seus recursos. A aplicação compreende os dados e pode tratá-los de forma diferenciada. Tem de ser desenvolvido para cada aplicação. Muitas funções tem de ser duplicadas: administração de chaves, autenticação, ... Ataques no nível de aplicação Técnicas: – Crackers de senha – Buffer overflow – Missing format string – Exploits Sistemas Operacionais Protocolos Aplicações – Vírus, worms e trojans – Rootkits e backdoors Ataques no nível de aplicação Crackers de senha – Programas capazes de revelar senhas cifradas. – Método: Utilizam o mesmo algoritmo usado para cifrar as senhas. Realizam análise comparativa. – Técnicas: Ataque de dicionário; Ataque de força bruta; – Desempenho: Podem ser executados de forma distribuída. Ataques no nível de aplicação Buffer overflow – Visa prover uma quantidade de dados maior do que a memória do programa/servidor pode suportar. – Provoca um desvio no curso de execução do programa vulnerável. Ataques no nível de aplicação Missing format string – Programas usualmente não validam os dados de entrada. _________________________________________________________________ $mail_to = &get_name_from_input; #pegue o e-mail do formulário open (MAIL, “| /usr/lib/sendmail $mail_to”); print MAIL “To: $mail_to\nFrom: me\n\nHi there!\n”; close MAIL; ________________________________________________________ – Se $mail_to for igual a “[email protected]; cat /etc/passwd”, o comando executado será: /usr/lib/sendmail [email protected]; cat /etc/passwd que além de enviar o e-mail pretendido, exibe uma cópia do arquivo de senhas do unix. Ataques no nível de aplicação Exploits – Programas que exploram falhas conhecidas de segurança. – Exploram falhas de: Sistemas Operacionais Protocolos Aplicações – Normalmente possuem “man-pages” e podem ser facilmente obtidos na Internet. “Os man-pages e os info-pages são manuais e guias que ajudam os usuários a utilizar determinado programa. “ – Permite a qualquer “leigo” se tornar um “hacker” (Script Kiddies). Ataques no nível de aplicação Vírus, Worms e Trojans Vírus – Programa que se anexa aos arquivos na máquina alvo e realiza alguma ação indesejada. Worms – Se diferem dos vírus por se espalharem automaticamente, sem necessidade de interação com o usuário. Trojans (Cavalos de Tróia) – Qualquer programa legítimo que tenha sido alterado com a inserção de código não autorizado e que realiza uma função oculta e indesejável. Ataques no nível de aplicação Virus Tipo - Arquivo Ele costuma infectar arquivos executáveis do Windows, especialmente .com e .exe, e não age diretamente sobre arquivos de dados. Tipo - Boot Os vírus de setor de boot infectam a área do sistema de um disco - ou seja, o registro de inicialização em disquetes e discos rígidos. Tipo - Macro Os vírus de macro infectam os arquivos dos programas Microsoft Office Word, Excel, PowerPoint e Access. Variações mais recentes também estão aparecendo em outros programas. Tipo - Mutante Vírus programado para dificultar a detecção por antivírus. Ele se altera a cada execução do arquivo contaminado. Tipo - Script Vírus programado para executar comandos sem a interação do usuário. Há duas categorias de vírus script: a VB, baseada na linguagem de programação, e a JS, baseada em JavaScript. Ataques no nível de aplicação Worms SirCam – Técnicas avançadas de contágio, via e-mail e compartilhamento. – Possui um servidor de e-mail próprio. – Subject aleatório, pego de arquivos do computador da vítima. Nimda – Diferentes meios de disseminação: Bug do IIS E-mail, via Automatic Execution of Embedded MIME Types JavaScript Compartilhamento Klez – Desabilita o anti-vírus. – Não é preciso abrir o e-mail para o contágio. – Faz o spoofing de sua origem. – Servidor de e-mail próprio. Ataques no nível de aplicação Rootkits e backdoors Rootkits – Conjunto de ferramentas que o atacante instala no host vítima para ocultar sua presença e facilitar futuros acessos. Backdoors – Programas que permitem acesso ao atacante por meio de portas desconhecidamente abertas no host vítima. Referências - Livros - Dossiê Hacker Wilson josé de Oliveira Editora: DIGERATI - Segredos do Hacker Ético Marcos Flávio Araújo Assunção Editora: Visual Books - Universidade H4CK3R Della Valle – Ulbrich Editora: DIGERATI Referências - Link http://www.cert.org http://www.nbso.nic.br http://www.securityfocus.org http://www.insecure.org http://www.securenet.com.br http://www.security.unicamp.br http://www.securitybase.net http://www.las.ic.unicamp.br