Slide 1 - Sistema de Informação

Propaganda
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
Download