seguranÇa da informaÇÃo: uma abordagem …saturno.unifei.edu.br/bim/201800219.pdf · sistema de...

85
UNIVERSIDADE FEDERAL DE ITAJUBÁ - UNIFEI SEGURANÇA DA INFORMAÇÃO: UMA ABORDAGEM PRÁTICA ATRAVÉS DE TESTES DE INVASÃO EM UM SISTEMA COMPUTACIONAL VIRTUAL VULNERÁVEL Vitor Augusto Marques Pio UNIFEI Itajubá 02 de Julho de 2018

Upload: duonghanh

Post on 23-Nov-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • UNIVERSIDADE FEDERAL DE ITAJUB - UNIFEI

    SEGURANA DA INFORMAO: UMA ABORDAGEM PRTICA

    ATRAVS DE TESTES DE INVASO EM UM SISTEMA

    COMPUTACIONAL VIRTUAL VULNERVEL

    Vitor Augusto Marques Pio

    UNIFEI

    Itajub

    02 de Julho de 2018

  • SEGURANA DA INFORMAO: UMA ABORDAGEM PRTICA

    ATRAVS DE TESTES DE INVASO EM UM SISTEMA

    COMPUTACIONAL VIRTUAL VULNERVEL

    Vitor Augusto Marques Pio

    Monografia apresentada como trabalho final degraduao, requisito parcial para obteno do t-tulo de Bacharel em Sistemas de Informao,sob orientao do Prof. Bruno Guazzelli Ba-tista.

    UNIFEI

    Itajub

    02 de Julho de 2018

  • Resumo

    A dependncia da tecnologia marcante na atual era da informao. Organizaesgrandes e pequenas dependem diretamente da tecnologia e da internet para a execuo desuas atividades dirias e esto sujeitas aos riscos ligados a sua utilizao. Cada vez mais or-ganizaes esto se preocupando com a segurana computacional, implantando programase setores de segurana da informao internos e contratando servios de ethical hackinge testes de invaso conhecidos como penetration testing para avaliar a segurana de seussistemas. O teste de invaso uma tcnica de teste exaustivo sobre uma organizao e osdiversos componentes computacionais que a compem com o intuito de identificar falhas evulnerabilidades conhecidas. Esta monografia tem por objetivo apresentar os conceitos desegurana computacional, ethical hacking e teste de invaso, bem como simular um testede invaso em um sistema computacional virtual vulnervel, utilizando os procedimentos,tcnicas e as ferramentas normalmente utilizadas neste tipo de teste.

  • Abstract

    The reliance on technology is remarkable in todays information age. Large andsmall organizations rely directly on technology and internet for the execution of their dailyactivities and are subject to the risks associated with their use. Increasingly organizationsare worrying about computer security, deploying security programs, creating internal infor-mation security sectors and hiring ethical hacking and penetration testing services to assessthe safety of their systems. The penetration testing is an exhaustive test technique on anorganization and the various computational components that compose it in order to iden-tify known vulnerabilities. This monograph aims to present the concepts of computationalsecurity, ethical hacking and penetration testing, as well as simulate a penetration test on avulnerable virtual computer system, using the procedures, techniques and tools commonlyused in this type of test.

  • Lista de figuras

    Figura 1 Trade CIA - Adaptado de Henderson (2017) . . . . . . . . . . . . . . . . . 5

    Figura 2 Ameaas internas e externas - Adaptado de Palmer (2001) . . . . . . . . . . 8

    Figura 3 Tipos de ataques - Stallings (2014) . . . . . . . . . . . . . . . . . . . . . . 9

    Figura 4 Ethical hacking: linha do tempo - Adaptado de Fischman (2017) . . . . . . 17

    Figura 5 Ethical hacking: histria - Adaptado de Fischman (2017) . . . . . . . . . . 18

    Figura 6 Processo de avaliao - Adaptado de Wood e Duggan (2000) . . . . . . . . 24

    Figura 7 Fases do teste de invaso - Adaptado de CEH (2011) . . . . . . . . . . . . . 29

    Figura 8 Four way handshake - IEEE 802.11i-2004 . . . . . . . . . . . . . . . . . . 43

    Figura 9 Four way handshake passos . . . . . . . . . . . . . . . . . . . . . . . . . . 44

    Figura 10 Interface wlan0 corretamente configurada . . . . . . . . . . . . . . . . . . 45

    Figura 11 Execuo do comando airmon-ng check . . . . . . . . . . . . . . . . . . . 46

    Figura 12 Execuo do comando airmon-ng check kill . . . . . . . . . . . . . . . . . 46

    Figura 13 Execuo do comando airmon-ng start . . . . . . . . . . . . . . . . . . . 47

    Figura 14 Interface wlan0mon corretamente configurada . . . . . . . . . . . . . . . . 47

    Figura 15 Captura de pacotes com airodump-ng . . . . . . . . . . . . . . . . . . . . 48

    Figura 16 Captura de pacotes do AP da Harvester Corporation com airodump-ng . . 49

    Figura 17 Desautenticao das estaes conectadas ao AP da Harvester Corporation

    com aireplay-ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Figura 18 Handshake capturado com o airmon-ng . . . . . . . . . . . . . . . . . . . 50

    Figura 19 Handshake capturado com o wireshark . . . . . . . . . . . . . . . . . . . 50

    Figura 20 Execuo do comando crunch . . . . . . . . . . . . . . . . . . . . . . . . 54

    Figura 21 Execuo do comando aircrack-ng . . . . . . . . . . . . . . . . . . . . . . 55

    Figura 22 Comando aircrack-ng com quebra de chave . . . . . . . . . . . . . . . . . 55

    Figura 23 Tcnica de ARP poisoning . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    Figura 24 Comando ifconfig sob a interface wlan0 . . . . . . . . . . . . . . . . . . . 58

    Figura 25 Comando nmap para descoberta de hosts na rede local . . . . . . . . . . . 59

    Figura 26 Alterao do arquivo de redirecionamento global . . . . . . . . . . . . . . . 60

    Figura 27 Tabela ARP definida corretamente no host alvo . . . . . . . . . . . . . . . 61

  • Figura 28 Execuo da ferramenta arpspoof . . . . . . . . . . . . . . . . . . . . . . 61

    Figura 29 Tabela ARP corrompida no host alvo . . . . . . . . . . . . . . . . . . . . . 61

    Figura 30 Requisies ICMP ao servidor DNS do Google . . . . . . . . . . . . . . . 62

    Figura 31 Captura de pacotes ICMP atravs da ferramenta wireshark . . . . . . . . . 62

  • Lista de tabelas

    Tabela 1 Adversrios e seus objetivos - Adaptado de Tanenbaum e Wetherall (2012) . 10

    Tabela 2 Camadas do modelo TCP/IP e medidas de segurana - Adaptado de IPv4. . .

    (2017) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    Tabela 3 Servios de segurana (X.800) - Adaptado de Stallings (2014). . . . . . . . 12

    Tabela 4 Mecanismos de segurana especficos (X.800) - Adaptado de Stallings (2014) 13

    Tabela 5 Mecanismos de segurana difusos (X.800) - Adaptado de Stallings (2014) . 13

    Tabela 6 Tipos de testes em ethical hacking - Adaptado de Palmer (2001) . . . . . . 23

    Tabela 7 Perspectivas de testes em ethical hacking - Adaptado de Palmer (2001) . . . 24

    Tabela 8 Ethical Hacking vs. Teste de invaso - Adaptado de Kostadinov (2016) . . . 28

    Tabela 9 Principais ferramentas e tcnicas na fase de reconhecimento - Adaptado de

    Broad e Bindner (2017) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    Tabela 10 Principais ferramentas e tcnicas na fase de scanning/varredura - Adaptado

    de Broad e Bindner (2017) . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Tabela 11 Vetores de ataque e tipos de ataque associados - Adaptado de Broad e Bind-

    ner (2017) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    Tabela 12 Principais ferramentas na fase de explorao de falhas - Adaptado de Broad

    e Bindner (2017) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    Tabela 13 Principais ferramentas e tcnicas na fase de preservao de acesso - Adap-

    tado de Broad e Bindner (2017) . . . . . . . . . . . . . . . . . . . . . . . . 35

    Tabela 14 Principais ferramentas e tcnicas para preservao da identidade - Adaptado

    de Broad e Bindner (2017) . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    Tabela 15 Detalhes tcnicos do computador do utilizado . . . . . . . . . . . . . . . . 41

    Tabela 16 Detalhes tcnicos e papis desempenhados das mquinas virtuais . . . . . . 41

    Tabela 17 Detalhes tcnicos e papel desempenhados pelo gateway da rede . . . . . . . 41

    Tabela 18 Detalhes tcnicos do adaptador wireless . . . . . . . . . . . . . . . . . . . 41

    Tabela 19 Informaes do AP Harvester Corporation . . . . . . . . . . . . . . . . . . 48

    Tabela 20 Opes utilizadas no comando airodump-ng . . . . . . . . . . . . . . . . . 49

    Tabela 21 Opes utilizadas no comando aireplay-ng . . . . . . . . . . . . . . . . . 50

  • Tabela 22 Opes utilizadas no comando crunch . . . . . . . . . . . . . . . . . . . . 54

    Tabela 23 Opes utilizadas no comando aircrack-ng . . . . . . . . . . . . . . . . . 55

    Tabela 24 opes utilizadas no comando nmap . . . . . . . . . . . . . . . . . . . . . 59

    Tabela 25 Informaes dos hosts da rede local . . . . . . . . . . . . . . . . . . . . . . 60

    Tabela 26 Opes utilizadas no comando arpspoof . . . . . . . . . . . . . . . . . . . 61

    Tabela 27 Desafios enfrentados durante o projeto . . . . . . . . . . . . . . . . . . . . 70

  • Lista de abreviaturas e siglas

    ANonce Acess Point Nonce

    ARP Address Resolution Protocol

    BSSID Basic Service Set Identifier

    CEH Certified Ethical Hacker

    CIA Confidentiality, Integrity and Availability

    CRSF Cross-Site Request Forgery

    CVE Common Vulnerabilities and Exposures

    DDoS Distributed Denial of Service

    DNS Domain Name System

    DoS Denial of Service

    EAPoL Extensible Authentication Protocol over LAN

    ESSID Extended Service Set Identifier

    FTP File Transfer Protocol

    GTK Media Access Control

    HTTP HyperText Transfer Protocol

    ICMP Internet Control Message Protocol

    IDART Information Design Assurance Red Team

    IDS Intrusion Detection System

    IP Internet Protocol

    IPS Intrusion Prevention System

    LAN Local Area Network

  • MAC Media Access Control

    MIC Message Integrity Code

    NAT Network Address Translation

    NIST National Institute of Standards and Technology

    OSCP Offensive Security Certified Professional

    OWASP Open Web Application Security Project

    Pentest Penetration Testing

    PMK Pairwise Master Key

    PSK Pre-shared key

    PTES Penetration Testing ExecutionStandard

    PTK Pairwise Transient Key

    RFC Request for Comments

    SATAN Security Administrator Tool for Analyzing Networks

    SMT Simple Mail Transfer Protocol

    SNonce Station Nonce

    SQL Structured Query Language

    STA Station

    TCP Transmission Control Protocol

    TI Tecnlogia da Informao

    UDP User Datagram Protocol

    USB Universal Serial Bus

    WAN Wide Area Network

    WEP Wired Equivalent Privacy

  • WPA Wi-Fi Protected Access

    WWW World Wide Web

    XSS Cross-Site Scripting

  • 1

    Sumrio

    1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.1 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.3 Estrutura do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 Segurana de computadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.1 Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.2 Aspectos crticos da segurana de computadores . . . . . . . . . . . . . . . . . 6

    2.2.1 Compreenso das ameaas e ataques . . . . . . . . . . . . . . . . . . . 7

    2.2.2 Complexidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.3 Servios de Segurana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.4 Mecanismos de Segurana . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    2.5 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    3 Ethical Hacking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.1 Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.2 Histria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3.3 Ethical hackers - Caractersticas e habilidades . . . . . . . . . . . . . . . . . . 18

    3.4 Processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    3.4.1 Informaes relevantes . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    3.4.2 Contrato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3.4.3 Avaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3.4.4 Relatrio final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    3.5 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    4 Teste de invaso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    4.1 Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    4.2 Ciclo de vida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    4.2.1 Reconhecimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    4.2.2 Scanning/Varredura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

  • Sumrio 2

    4.2.3 Explorao de falhas . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    4.2.4 Preservao de acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.2.5 Ocultao de pistas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    4.3 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    5 Teste de invaso em um ambiente computacional virtual vulnervel . . . . . . . 38

    5.1 Consideraes Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    5.2 Cenrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    5.2.1 Contextualizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    5.2.2 Ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    5.3 Teste de invaso Fictcio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    5.3.1 Infiltrando na rede interna . . . . . . . . . . . . . . . . . . . . . . . . 42

    5.3.2 Monitorando o trfego . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    5.3.3 Subvertendo o trfego . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    5.4 Preveno e proteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    5.4.1 Poltica de senha para o AP . . . . . . . . . . . . . . . . . . . . . . . . 63

    5.4.2 ARP esttico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    5.4.3 Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    5.4.4 IPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    5.5 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    6 Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    6.1 Desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    6.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

  • 3

    1 Introduo

    A atual era da informao caracterizada pelo amplo acesso tecnologia, grande vo-

    lume de dados, alta velocidade nas comunicaes e heterogeneidade em arquiteturas com as

    mais diversas configuraes e softwares para diversas finalidades.

    H muita desinformao e confuso com relao ao termo hacker uma vez que seu sen-

    tido, foi distorcido pela mdia para descrever de maneira simplista um indivduo que invade

    computadores por diverso, vingana ou lucro. Segundo o Raymond (2004), o termo hacker

    tinha seu sentido original como sendo uma pessoa que gosta de aprender os detalhes de sis-

    temas computacionais para ampliar suas capacidades em oposio a maioria de usurios de

    computadores, que prefere aprender apenas o mnimo necessrio (RAYMOND, 2004).

    preciso portanto dividir os hackers em dois grupos: os ethical hackers, que se dedicam

    a estudar programao, redes, bancos de dados, sistemas operacionais e segurana a fim de

    torn-los mais seguros atravs de diversas prticas como o teste de invaso (teste de invaso), e

    os crackers, que se voltaram para o lado criminoso pelos mais diversos motivos como satisfao

    pessoal, fama ou pelo simples fato de poderem faz-lo (PALMER, 2001).

    1.1 Motivao

    A segurana computacional costumava ser uma questo privada, a qual era deixada am-

    plamente nas mos de alguns poucos especialistas treinados. Nas ltimas dcadas, a mudana

    de paradigma do crime tecnolgico tornou a segurana um assunto que concerne todos os usu-

    rios. Ethical hackers veem isso de maneira clara e esto respondendo ameaas reais (SMITH;

    YURCIK; DOSS, 2002).

    O processo de avaliao de segurana denominado teste de invaso no algo novo.

    Atualmente o teste de invaso amplamente aceito e considerado prudente, prova disso so as

    padronizaes dos testes de invaso como o Information Design Assurance Red Team (IDART),

    utilizado pelo Sandia National Laboratories e o Guideline on Security Testing, proposto pelo

    National Institute of Standards and Technology (NIST) (WOOD; DUGGAN, 2000).

  • Captulo 1. Introduo 4

    1.2 Objetivos

    O objetivo deste projeto apresentar o teste de invaso de uma maneira terica, apre-

    sentando sua histria, definio, caractersticas, objetivos, entre outros tpicos relevantes para

    compreenso do conceito. Um ambiente prtico exposto com o objetivo de aplicar os conheci-

    mentos tericos do teste de invaso em um laboratrio virtual para o estudo prtico de segurana

    da informao. Todas as fases do teste sero apresentadas e detalhadas, incluindo a execuo

    do ataque e como este pode ser remediado com o objetivo de compreender melhor seu funcio-

    namento, caractersticas e execuo. Dessa forma, contramedidas ou maneiras de se corrigir o

    problema sero discutidas durante a execuo dos testes.

    1.3 Estrutura do Documento

    O contedo desta monografia est dividido em seis captulos, partindo da apresentao

    terica de um conceito abrangente at um conceito mais especfico. A parte terica abrange

    a segurana de computadores, ethical hacking e teste de invaso e a parte prtica aplica os

    conceitos apresentados na parte terica em um ambiente computacional virtual vulnervel.

    O captulo 1 apresenta uma breve introduo sobre o tema, a motivao, os objetivos do

    projeto e a estrutura do documento.

    O captulo 2 apresenta o conceito de segurana de computadores, os trs pilares funda-

    mentais da segurana, os aspectos crticos e os servios e mecanismos que podem ser utilizados.

    O captulo 3 discorre sobre o conceito de ethical hacking, caractersticas e habilidades

    dos ethical hackers e as etapas presentes nesta atividade.

    O captulo 4 discute o conceito de teste de invaso, as diferenas entre este conceito e o

    ethical hacking e as fases presentes em um teste de invaso.

    O captulo 5 apresenta o conceito e a prova do conceito de cada etapa do teste de in-

    vaso fictcio e ao final so apresentadas tcnicas de preveno e proteo contra as ameaas e

    vulnerabilidades exploradas no teste.

    Por fim, o captulo 6 apresenta a concluso desta monografia, a rea discutida, o pro-

    blema abordado, a execuo do projeto, desafios e trabalhos futuros.

  • 5

    2 Segurana de computadores

    2.1 Consideraes Iniciais

    O conceito de segurana de computadores foi definido pelo NIST1 como "a proteo

    oferecida para um sistema de informao automatizado a fim de alcanar os objetivos de pre-

    servar a integridade, a disponibilidade e a confidencialidade dos recursos do sistema de infor-

    mao, incluindo hardware, software, firmware, informaes/dados e telecomunicaes".

    Os pilares da segurana de computadores so: confidencialidade, disponibilidade e in-

    tegridade. Estes trs conceitos so conhecidos como trade CIA (do acrnimo em ingls para

    Confidentiality, Integrity e Availability) e so fundamentais na garantia de segurana de dados

    e informaes (STALLINGS, 2014). A figura 1 apresenta a trade CIA:

    Figura 1: Trade CIA - Adaptado de Henderson (2017)

    A confidencialidade esta dividida em duas frente: a confidencialidade e a integridade

    de dados. A confidencialidade visa garantir a no disponibilidade das informaes confidenci-

    ais para indivduos no autorizados e a privacidade, que assegura o controle das informaes

    por um usurio permitindo o seu acesso e das outras entidades (usurios, mquinas e redes)

    autorizadas. A integridade de dados, assegura a integridade dos dados e informaes, ou seja,

    assegurar que eles no tenham sido alterados de maneira no autorizada. (STALLINGS, 2014).

    A disponibilidade responsvel por assegurar o funcionamento do sistema e a disponi-

    bilidade dos servios aos usurios autorizados (STALLINGS, 2014).1 Manual de Segurana de Computadores da NIST [NIST95]

  • Captulo 2. Segurana de computadores 6

    A trade CIA apresenta de maneira genrica os principais tpicos que envolvem a segu-

    rana de computadores. Ao aplic-los na prtica cada um destes tpicos desencadear questes

    muito mais especficas como: criptografia, assinatura digital, senhas.

    Afim de se garantir a segurana de computadores, diversas questes so levadas em

    considerao: protocolos de comunicao, gerenciamento de sistema, bancos de dado, progra-

    mao, redes e criptografia. A prxima Seo 2.2 apresenta questes crticas relacionadas

    segurana de computadores.

    2.2 Aspectos crticos da segurana de computadores

    A internet se tornou indispensvel para os negcios e permitiu que organizaes ofe-

    recessem servios de comrcio eletrnico, provessem melhores servios aos consumidores, co-

    laborassem com parceiros, reduzissem os custos com comunicaes, melhorassem as comu-

    nicaes internas e agilizassem o acesso informao. Enquanto as redes de computadores

    revolucionaram o modo como os negcios operam, os riscos introduzidos pela interconectivi-

    dade podem ser devastadores. Ataques sistemas de computadores atravs da internet podem

    resultar na perda de dinheiro, tempo, produtos, reputao, informaes sensveis e at vidas

    (SMITH; YURCIK; DOSS, 2002).

    Stallings (2014) estabeleceu uma lista de desafios envolvendo a segurana de computa-

    dores, dos quais destacam-se:

    Pouca percepo por parte dos usurios e gerentes de sistema dos benefcios resultantes

    de investimento em segurana da informao;

    Monitoramento constante em ambientes sobrecarregados e complexos;

    A Segurana da informao apresentada como um adendo a ser acrescentado ao final

    do projeto e no como parte do processo de desenvolvimento;

    Conceito errneo de que a segurana computacional adequada resulta em um sistema

    ineficiente e no amigvel.

    Segundo Smith, Yurcik e Doss (2002), na pressa para se beneficiar do uso da internet,

    as organizaes normalmente no se preocupam em verificar os riscos e problemas envolvidos

    como:

  • Captulo 2. Segurana de computadores 7

    Presso de mercado que fora vendedores a lanar seus produtos antecipadamente sem os

    testes adequados na segurana;

    Prticas atuais de engenharia de software utilizada por fornecedores, pois no produzem

    sistemas imunes ataques;

    Falta de pessoas e boas prticas para se defender contra ataques ou minimizar seus danos;

    Imaturidade da poltica e das leis no ciber-espao;

    Poucas evidncias de avanos em segurana na maioria dos sistemas, enquanto novas

    vulnerabilidades so descobertas regularmente;

    Ferramentas de segurana atuais falhas pois resolvem apenas partes do problema e no do

    sistema como um todo. A falta de entendimento conduz uma dependncia de solues

    parciais;

    A administrao de sistemas difcil e est se tornando ingovernvel devido a quantidade

    de atualizaes contra o nmero crescente de vulnerabilidades.

    As organizaes esto se preocupando em enderear questes srias relativas segu-

    rana eletrnica e de computadores. Em algum momento a maioria das organizaes construi-

    ria o sistema, e depois, e o ideal que funcionasse, s ento instalaria precaues de segurana

    como uma fase de ps-projeto. As questes de segurana devem ser endereadas durante as

    fases de desenvolvimento e manuteno de um projeto (BOULANGER, 1998).

    Para Smith, Yurcik e Doss (2002), a segurana foi uma questo privada por muito tempo

    e foi deixada nas mos de alguns poucos especialistas. A mudana de paradigma do crime

    virtual tornou a segurana uma questo que concerne a todos.

    2.2.1 Compreenso das ameaas e ataques

    Os termos "amea"e "ataque"so normalmente utilizados como sinnimos dentro da

    literatura, porm o Request for Comments (RFC) 49492 define estes dois termos como:

    Ameaa: Uma violao da segurana que existe quando h uma circunstncia, capaci-

    dade, ao ou evento que poderia quebrar a segurana e causar danos. Em outras palavras,

    uma ameaa um possvel perigo de explorao de uma vulnerabilidade;2 https://tools.ietf.org/html/rfc4949

    https://tools.ietf.org/html/rfc4949

  • Captulo 2. Segurana de computadores 8

    Ataque: Um ataque segurana do sistema derivado de uma ameaa inteligente, ou seja,

    um ato inteligente que uma tentativa deliberada (especialmente no sentido de um m-

    todo ou tcnica) de fugir dos servios de segurana e violar a poltica de segurana de um

    sistema;

    Ameaas segurana compreendem uma gama de possveis pontos onde a segurana

    pode ser de alguma forma violada atravs de uma vulnerabilidade. Estes pontos no se restrin-

    gem apenas falhas computacionais como regras ineficientes de firewall e softwares desatua-

    lizados, mas tambm esto ligados a: segurana fsica dos computadores, conscientizao dos

    usurios e engenharia social3. A figura 2 mostra que ameaas podem ter uma origem externa ou

    interna ao domnio da organizao.

    Figura 2: Ameaas internas e externas - Adaptado de Palmer (2001)

    A principal ameaa todos os sistemas de informao so os crackers. Segundo Smith,

    Yurcik e Doss (2002), crackers ganham acesso no autorizado para em primeiro lugar obter

    ganho financeiro, outros motivos podem incluir: subverter sistemas, causar danos em sistemas

    (vandalismo), promover causas polticas (hacktivism) e agir como agente de um pas ou grupo

    estrangeiro (cyberterrorism).

    Administradores tm a falsa impresso de que seu web site no ser alvo de um ata-

    que pois no possuem contedo que valha o esforo ou devido ao domnio no ser popular ou

    difundido. Mas para um potencial atacante qualquer web site um alvo. O objetivo de mui-

    3 Tcnica de manipulao atravs de sentimentos e emoes.

  • Captulo 2. Segurana de computadores 9

    tos crackers, simplesmente fazer algo impressionante e ento certificar-se que todos saibam.

    (PALMER, 2001).

    Stallings (2014) classifica os ataques em duas categorias: ataques passivos e ataques

    ativos. A figura 3 apresenta um esquema do funcionamento destes dois tipos de ataques.

    Ataque passivo: Ataque que tem como objetivo monitorar e analisar as transmisses

    que ocorrem dentro da rede entre os sistemas. Detectar este tipo de ataque difcil pois

    no h alterao de dados e em geral o trfego no afetado e no h conhecimento de

    um terceiro indivduo na comunicao pelo emissor e receptor. A encriptao utilizada

    normalmente para prevenir o sucesso deste tipo de ataque, dessa forma, a encriptao tem

    nfase na preveno e no na deteco do ataque;

    Ataque ativo: Ataque que tem como objetivo modificar ou falsificar de alguma forma as

    transmisses que ocorrem dentro da rede entre os sistemas. Em face do grande nmero de

    vulnerabilidades fsicas, de software e de rede, impedir este tipo de ataque uma tarefa

    difcil, normalmente o objetivo a deteco de ataques ativos e posterior recuperao de

    atrasos, rompimentos e danos causados;

    Figura 3: Tipos de ataques - Stallings (2014)

    Enquanto o ataque passivo apenas intercepta o trfego de Bob para Alice para anlise, o

    ataque ativo realiza alteraes diretamente nos pacotes que esto sendo transmitidos.

  • Captulo 2. Segurana de computadores 10

    Tanenbaum e Wetherall (2012) aponta que a maioria dos problemas de segurana

    causada intencionalmente por pessoas maliciosas que esto tentando obter algum benefcio,

    chamar ateno ou prejudicar algum. A tabela 1 apresenta os adversrios mais comuns e seus

    principais objetivos.

    Tabela 1: Adversrios e seus objetivos - Adaptado de Tanenbaum e Wetherall (2012)

    Adversrio ObjetivoEstudante Se divertir em bisbilhotar os e-mails de outras pessoas.Cracker Testar a segurana do sistema e roubar dados.Representante de vendas Afirmar que representa uma regio que no de sua

    responsabilidade.Corporao Descobrir o plano estratgico de marketing de um concorrente.Ex-funcionrio Obter vingana por ter sido demitido.Contador Prejudicar as finanas de uma empresa.Corretor de aes Negar uma promessa feita um cliente por e-mail.Ladro de identidades Roubar nmeros de carto de crdito.Governo Descobrir os segredos militares e industriais de um inimigo.Terroristas Roubar segredos sobre armamentos biolgicos.

    Ao analisar a tabela 1 possvel perceber que tornar uma rede segura envolve muito

    mais do que mant-la livre de erros de programao. A segurana de computadores envolve

    superar adversrios inteligentes, dedicados e em alguns casos bem financiados. Embora alguns

    adversrios apresentados possam ser pouco provveis para certas organizaes, outros devem

    ser considerados como ameaas em potencial e portanto, devem ser levados em considerao

    no levantamento de ameaas organizao e sua segurana. Os sistemas de segurana internos

    e externos devem ser desenvolvidos de acordo com os modelos de adversrios relevantes para

    o cenrio. Segundo Palmer (2001), assim como nos esportes ou na guerra, o conhecimento das

    habilidades e tcnicas de seu oponente vital para o sucesso.

    2.2.2 Complexidade

    Para Tanenbaum e Wetherall (2012), a segurana de computadores envolve aspectos

    mais abrangentes do que simplesmente a ausncia de erros de programao. Ela envolve supe-

    rar adversrios muitas vezes inteligentes, dedicados e em alguns casos bem financiados. Deve-

    se levar em considerao fatores como informaes que podem ser visualizadas externamente,

    possveis usos destas informaes, deteco de invasores atravs do controle da rede, informa-

    es que esto sendo protegidas, adversrios que desejam obter estas informaes e recursos

    disponveis para se obter uma proteo adequada.

  • Captulo 2. Segurana de computadores 11

    No nvel tcnico a segurana de computadores no se limita a um nico ponto de atua-

    o. A tabela 2 apresenta o modelo de camadas TCP/IP e medidas de segurana que podem ser

    utilizadas em cada camada Tanenbaum e Wetherall (2012).

    Tabela 2: Camadas do modelo TCP/IP e medidas de segurana - Adaptado de IPv4. . . (2017)

    Camada Medida(s)Aplicao Tcnicas de autenticao e no repdio como: logs de acesso e login.Transporte Encriptao do canal de comunicao entre processos.Rede Firewall para o gerenciamento da entrada e sada de pacotes.Enlace Encriptao de pacotes antes de serem enviados.Fsica Sistema de alerta caso o canal seja comprometido.

    Se uma organizao depende de sua rede de computadores para suas operaes dirias

    ela deve tomar as medidas necessrias para assegurar seu funcionamento e segurana. Se uma

    organizao tem conexo com a internet, instalar um firewall pode providenciar uma proteo

    efetiva contra a maioria dos ataques remotos. Para a segurana interna, a organizao pode

    conduzir auditorias de segurana na rede interna a fim de reduzir a exposio ataques. No h

    sistema de computador totalmente seguro, mas ao aplicar algumas destas precaues bsicas

    possvel reduzir a possibilidade de um ataque bem sucedido (BOULANGER, 1998).

    Ataques de computadores se tornam mais sofisticados a cada dia e sua execuo mais

    facilitada. Segundo Boulanger (1998), se tornou claro que muitos dos componentes dos ataques

    so automatizados e facilitados atravs do uso de sofisticados softwares. Para Smith, Yurcik e

    Doss (2002), a situao ainda pior, pois os intrusos esto construindo uma crescente base de

    conhecimento tcnico impulsionada pela interconectividade. O crescente nmero de vulnerabi-

    lidades e sua complexidade pode ser verificado atravs de bases de vulnerabilidades e exploits

    abertas: exploit-db4, security focus5 e Common Vulnerabilities and Exposures (CVE)6.

    2.3 Servios de Segurana

    A X.800 (ITU, 1991) define um servio de segurana como "aquele fornecido por uma

    camada de protocolo de comunicao de sistemas abertos, que garante a segurana adequada

    dos sistemas ou das transferncias de dados". Talvez uma definio mais clara seja encontrada

    na RFC 4949, "servio de segurana um servio de processamento ou comunicao que 4 https://www.exploit-db.com/5 http://www.securityfocus.com/6 http://www.cvedetails.com/

    https://www.exploit-db.com/http://www.securityfocus.com/http://www.cvedetails.com/

  • Captulo 2. Segurana de computadores 12

    fornecido por um sistema para dar um tipo especfico de proteo aos recursos do sistema".

    Dessa forma, os servios de segurana implementam polticas(ou diretrizes) de segurana e so

    implementados por mecanismos de segurana"(STALLINGS, 2014).

    A tabela 3 divide os servios de segurana em cinco categorias definidos pela X.800

    (ITU, 1991).

    Tabela 3: Servios de segurana (X.800) - Adaptado de Stallings (2014).

    Servio de segurana DescrioAutenticao A certeza de que a entidade comunicante quem ela afirma

    ser.Controle de acesso A preveno de uso no autorizado de um recurso, ou seja,

    esse servio controla quem pode ter acesso a um recurso esob quais condies o acesso permitido.

    Confidencialidade dos dados A proteo dos dados contra divulgao no autorizada.Integridade de dados A certeza de que os dados recebidos so exatamente iguais

    aos enviados por uma entidade autorizada, ou seja, nocontm modificao, insero, excluso ou repasse.

    Irretratabilidade Oferece proteo contra a negao por parte de uma dasentidades envolvidas em uma comunicao de terparticipado de toda ou parte dela.

    2.4 Mecanismos de Segurana

    As tabelas 4 e 5 descrevem os mecanismos de segurana especficos7 e difusos8 defini-

    dos pela X.800.

    7 Mecanismos de segurana incorporados uma camada especfica do modelo OSI8 Mecanismos de segurana que no so especficos a uma camada do modelo OSI

  • Captulo 2. Segurana de computadores 13

    Tabela 4: Mecanismos de segurana especficos (X.800) - Adaptado de Stallings (2014)

    Mecanismo de segurana DescrioCodificao O uso de algoritmos matemticos para transformar os dados

    em um formato que no seja prontamente inteligvel. Atransformao e subsequente recuperao dos dados dependede um algoritmo e zero ou mais chaves de encriptao.

    Assinatura digital Dados anexados a uma unidade de dados que permite que odestinatrio prove sua origem e integridade e a proteja contrafalsificao.

    Controle de acesso Uma srie de mecanismos que impem direitos de acesso aosrecursos.

    Integridade de dados Uma srie de mecanismos utilizados para garantir aintegridade de uma unidade de dados ou fluxo de unidades dedados.

    Troca de autenticao Um mecanismo que visa garantir a identidade de uma entidadepor meio da troca de informaes.

    Preenchimento de trfego A insero de bits nas lacunas de um fluxo de dados parafrustrar as tentativas de anlise de trfego.

    Controle de roteamento Permite a seleo de determinadas rotas fisicamente seguraspara certos dados e mudanas de roteamento, sobretudoquando uma brecha de segurana suspeitada.

    Notarizao O uso de um terceiro confivel para garantir certaspropriedades de uma troca de dados.

    Tabela 5: Mecanismos de segurana difusos (X.800) - Adaptado de Stallings (2014)

    Mecanismo de segurana DescrioFuncionalidade confiada Aquilo que percebido como sendo correto com relao

    a alguns critrios, por exemplo, conforme estabelecidopor uma poltica de segurana.

    Rtulo de segurana A marcao vinculada a um recurso (pode ser umaunidade de dados) que nomeia ou designa os atributos desegurana desse recurso.

    Deteco de evento Deteco de eventos relevantes segurana.Trilha de auditoria de segurana Dados coletados e potencialmente utilizados para facilitar

    uma auditoria de segurana, que uma reviso e exameindependentes dos registros e das atividades do sistema.

    Recuperao de segurana Lida com solicitaes de mecanismos como funes detratamento e gerenciamento de eventos, e toma medidasde recuperao.

    2.5 Consideraes Finais

    A segurana de computadores uma rea que est presente na vida de todos os usurios,

    dessa forma necessrio compreender melhor como proteger e prevenir ameaas e ataques

  • Captulo 2. Segurana de computadores 14

    computacionais. As questes relativas confidencialidade, integridade e disponibilidade devem

    ser sempre levadas em considerao por organizaes que dependem de computadores para a

    realizao de suas atividades dirias, mas tambm devem ser observadas por usurios comuns

    que com o advento dos computadores pessoais se tornaram parte da rede de computadores e

    portanto devem permanecer vigilantes e conscientes.

    O captulo 3 apresenta o conceito de ethical hacking, caractersticas e habilidades dos

    ethical hackers e as etapas envolvidas nesta atividade.

  • 15

    3 Ethical Hacking

    3.1 Consideraes Iniciais

    Governos, companhias e usurios ao redor do mundo esto diretamente inseridos na

    revoluo tecnolgica atual, e esto cada vez mais receosos quanto ao risco de algum hacker

    invadir seu sistema web e substituir o logo da organizao por contedos inadequados, ler seus

    e-mails, roubar seus nmeros do carto de crdito de uma loja online, ou implantar um software

    que ir secretamente transmitir os segredos da organizao para a internet (PALMER, 2001).

    Em sua busca para resolver os problemas relacionados a segurana, as organizaes de-

    senvolvem uma abordagem ativa de mapear uma ameaa de um intruso, organizar uma equipe

    de profissionais de segurana, que tem como objetivo invadir o sistema. Esta equipe denomi-

    nada tiger team, emprega as mesmas ferramentas e tcnicas utilizadas pelos cibercriminosos,

    porm sem causar danos ao sistema ou roubo de informaes. Em oposio s atividades ilci-

    tas, uma avaliao da segurana do sistema efetuada e reportada aos responsveis indicando

    vulnerabilidades encontradas e formas de remedi-las (PALMER, 2001).

    Segundo Wood e Duggan (2000), esta forma de avaliao baseada na premissa de que,

    um analista que busca representar ou modelar um adversrio, consegue encontrar vulnerabili-

    dades sistemticas em um sistema de informao que no seriam detectadas de outra forma.

    Conforme apresentado na tabela 1 h diversos modelos de atacantes com objetivos distintos,

    portanto preciso compreender cada um deles para que uma avaliao realista seja feita. As-

    pectos relevantes para uma anlise da segurana atravs do ethical hacking so especificados na

    Seo 3.4.1.

    Ao adicionar o termo ethical em ethical hacking uma denotao moral evidenciada,

    unethical hacking seria o oposto, ou seja, a invaso do sistema sem a permisso do dono. Ethical

    hacking inclui a permisso para invadir o sistema alvo em servios de consultoria sobre contrato,

    concursos, programas de bounty hunter1 e testes de verso beta (SMITH; YURCIK; DOSS,

    2002). A Seo 3.2 apresenta um pouco da histria do ethical hacking, assim como do termo

    hacker e como este muitas vez aplicado da maneira incorreta.

    1 Programa que recompensa desenvolvedores que encontrem falhas ou vulnerabilidades em sistemas em fase deteste.

  • Captulo 3. Ethical Hacking 16

    3.2 Histria

    O termo hacker foi considerado um elogio no princpio, descrevendo algum que tem

    prazer em aprender os detalhes de sistemas de computadores e estender suas capacidades (RAY-

    MOND, 2004). Em outras palavras, um entusiasta por computao, que muitas vezes utilizava

    de suas habilidades para realizar pequenas operaes restritas como aumentar a limitao de

    programas. A partir do momento que o nmero de invases de computadores ganhou visibili-

    dade devido ao porte da organizao alvo ou extenso dos danos causados, a imprensa optou

    por chamar erroneamente esses invasores de hackers (PALMER, 2001).

    Segundo Palmer (2001), o mtodo de avaliar a segurana de um sistema no novo

    e tem sido utilizado desde os primrdios da computao. A figura 4 apresenta uma linha do

    tempo com os eventos mais relevantes da histria do ethical hacking. possvel perceber que

    conforme os computadores se popularizaram, a utilizao do ethical hacking se tornou uma

    prtica disponvel para todos, em especial aps a criao do scanner de vulnerabilidades Secu-

    rity Administrator Tool for Analyzing Networks (SATAN)Primeiro escaner de vulnerabilidades

    criado com o propsito de avaliao de vulnerabilidades.. Antes a ideia de realizar testes de

    invaso em sistemas se restringia apenas ao meio militar. O surgimento de instituies como

    Open Web Application Security Project (OWASP) e Penetration Testing Execution Standard

    (PTES) ajudaram a tornar o ethical hacking uma prtica estruturada, organizada e responsvel

    (FISCHMAN, 2017).

  • Captulo 3. Ethical Hacking 17

    Figura 4: Ethical hacking: linha do tempo - Adaptado de Fischman (2017)

  • Captulo 3. Ethical Hacking 18

    A figura 5 apresenta alguns fatos relevantes que ocorreram durante a histria do ethical

    hacking. interessante notar como grandes companhias como Google e Netscape incentivaram

    prticas hacker em programas de bounty hunter, visando melhorar a segurana computacional

    atravs da gratificao financeira dada a ethical hackers que identificaram vulnerabilidades e

    falhas e reportaram-nas antes que estas pudessem ser exploradas. Atualmente, outras organiza-

    es como Facebook e Microsfot tambm possuem programas de bounty hunter (FISCHMAN,

    2017).

    Figura 5: Ethical hacking: histria - Adaptado de Fischman (2017)

    3.3 Ethical hackers - Caractersticas e habilidades

    Ethical hackers so indivduos que possuem uma variedade de habilidades que no se

    limitam apenas ao conhecimento computacional tcnico. Em diversas situaes durante seus

    testes eles descobrem informaes sensveis sobre seus clientes, que caso sejam publicadas po-

    dem afetar a reputao e os lucros da organizao que contratou seus servios, por isso estes

    profissionais devem ser pessoas integras e confiveis. O ethical hacker tem o "futuro da or-

    ganizao"em suas mos e devem manter um controle rgido sobre as informaes adquiridas

    atravs de medidas rgidas de segurana (PALMER, 2001).

  • Captulo 3. Ethical Hacking 19

    O processo de invadir sistemas requer uma grande quantidade de tempo e esforo. Crac-

    kers so conhecidos por serem extremamente pacientes e dispostos a monitorar um alvo por

    semanas e at meses at que uma oportunidade de ataque aparea. Ao se depararem com uma

    tecnologia ou sistema desconhecido, ethical hackers iro dedicar-se a compreend-lo buscando

    por manuais, cursos e livros afim de encontrar possveis vulnerabilidades, atualizando seus

    conhecimentos em segurana da informao devido a rpida evoluo nesta rea (PALMER,

    2001).

    Segundo Palmer (2001), ethical hackers possuem fortes habilidades em programao e

    redes de computadores e normalmente estiveram no ramo por muitos anos, optando em alguns

    casos por certificaes em segurana da informao como Certified Ethical Hacker (CEH)2,3.

    Mas o que realmente diferencia um hacker de um programador comum sua habilidade de de-

    duo e criatividade, por meio de solues no convencionais e rpida soluo de problemas. O

    ethical hacker deve ser capaz de analisar um contexto envolvendo possveis invasores, pessoas,

    sistemas computacionais, processos, informaes sigilosas, ambiente fsico e diversos outros

    fatores, pensando como estes podem criar uma situao favorvel ao ataque de um cracker que

    visa causar danos.

    Em seu guia online de "Como se tornar um hacker", Raymond (1996) explica que um

    hacker possui grande habilidade tcnica e prazer em resolver problemas e superar seus limites,

    mas no se limita apenas a isto. Ele descreve uma atitude e cultura hacker que est presente

    em uma comunidade global de desenvolvedores. Segundo Palmer (2001), ethical hackers pos-

    suem trabalhos de sucesso publicados e so membros respeitados da comunidade open source

    e publicaram softwares de cdigo aberto.

    3.4 Processo

    O processo de ethical hacking possui fases bem especificadas que devem ser seguidas

    sequencialmente para se obter ao final uma avaliao consistente das defesas da organizao

    alvo, apresentando seu real nvel de maturidade de sua segurana computacional.

    2 http://www.eccouncil.org/programs/certified-ethical-hacker-ceh/ e Offensive Security Cer-tified Professional (OSCP)

    3 https://www.offensive-security.com/information-security-certifications/

    oscp-offensive-security-certified-professional/

    http://www.eccouncil.org/programs/certified-ethical-hacker-ceh/https://www.offensive-security.com/information-security-certifications/oscp-offensive-security-certified-professional/https://www.offensive-security.com/information-security-certifications/oscp-offensive-security-certified-professional/

  • Captulo 3. Ethical Hacking 20

    3.4.1 Informaes relevantes

    Ao se efetuar um teste na segurana atravs do ethical hacking muita documentao

    deve ser formulada antes que os testes prticos realmente comecem. Nesta etapa inicial quanto

    mais informaes forem adquiridas sobre a organizao e o(s) sistema(s) sob avaliao, mais

    eficazes sero os testes e mais acurados sero os resultados obtidos no final.

    Em seu artigo, Palmer (2001) apresenta trs questes que so respondidas normalmente

    pelos clientes no incio do ethical hacking:

    O que voc est tentando proteger?

    Do que voc est protegendo?

    Quanto tempo, esforo e dinheiro voc est disposto a gastar para obter uma proteo

    adequada?

    Estas perguntas devem ser respondidas de maneira especfica para que possam ser apro-

    veitadas ao mximo. Ao responder a primeira pergunta normalmente os clientes precisam ser

    guiados para descrever de maneira sucinta todas as informaes que caso sejam comprometidas

    possam afetar a organizao ou seus clientes. Estas informaes podem incluir dados pessoais

    dos funcionrios, informaes da rede e dos sistemas e registros de vendas ao longo dos anos.

    A resposta para a segunda pergunta deve ser muito mais ampla do que simplesmente "a perda

    dos itens listados na primeira resposta". necessrio considerar possveis atacantes e como eles

    podem afetar o sistema e a imagem da organizao. Por exemplo, "quais seriam as perdas caso

    um ataque do tipo Distributed Denial of Service (DDoS) deixasse o sistema indisponvel por

    cinco horas?". As perdas resultantes deste tipo de ataque no se restringem apenas s vendas

    da organizao, preciso levar em considerao como este ataque comprometeria a imagem da

    organizao. A resposta para a terceira pergunta complexa, pois os custos em segurana de

    redes e computadores se apresentam em trs formas (PALMER, 2001):

    O custo monetrio real para obter consultoria, contratao de pessoal e a utilizao de

    software e hardware em segurana;

    O custo da usabilidade, pois quanto mais seguro o sistema mais difcil sua utilizao;

    O custo da performance nos computadores e redes, pois quanto mais tempo gasto com

    funes de segurana menos tempo h para o processamento de dados dos usurios.

  • Captulo 3. Ethical Hacking 21

    Segundo Bishop (2007), uma analogia para o ethical hacking uma avaliao feita

    por um policial de quo fcil roubar um carro de alto valor. Os tpicos a seguir apresentam

    resumidamente os aspectos analisados por Bishop (2007):

    Definir objetivo(s) especfico(s): aspecto do sistema que ser testado, por exemplo: "Quo

    fcil adquirir o controle de admin no servidor?";

    Informaes que o atacante possui: considerar quais informaes o atacante possui e dis-

    ponibilizar estas informaes ao ethical hacker para se verificar o nvel de segurana do

    sistema. Caso se deseje saber quo difcil adquirir estas informaes, o ethical hacker

    deve realizar seus testes sem qualquer tipo de informao;

    Recursos que o atacante possui: considerar habilidades, tempo e conhecimento do ata-

    cante afim de conduzir os teste de maneira realista;

    Segundo Wood e Duggan (2000), uma equipe de ethical hackers representa um modelo

    de adversrio. O tipo de adversrio que ser modelado depende das ameaas consideradas,

    expectativas e objetivos do cliente que contratou o servio de ethical hacking.

    3.4.2 Contrato

    Aps a definio dos objetivos dos testes e ameaas reais s operaes do negcio um

    plano de avaliao desenvolvido pontuando as restries e garantias relacionadas aos testes, ou

    seja, os sistemas que devero ser testados, como sero efetuados os testes e os perodo em que

    ocorrero, informaes disponibilizadas ao(s) ethical hacker(s), dentre outros pontos relevantes

    (BISHOP, 2007) (PALMER, 2001).

    O escopo dos testes deve ser claro e conter (PALMER, 2001):

    Endereos de rede da organizao alvo: Site(s), sistema(s), rede(s) e mquina(s) que sero

    avaliados. A especificidade recomendada afim de evitar que um sistema que no faa

    parte do domnio da organizao seja avaliado acidentalmente;

    Tcnicas permitidas durante os testes: O modelo mais prximo da realidade seria permitir

    que o(s) ethical hacker(s) possa(m) usar quaisquer meios que forem necessrios para

    comprometer o sistema, incluindo engenharia social, ataques DDoS, vasculhar o lixo,

    dentre outros meios de explorao;

  • Captulo 3. Ethical Hacking 22

    Perodo dos testes: Constando o dia em que os testes tero incio e fim, tambm deve

    conter o horrio em que os testes sero executados, podendo ocorrer durante o horrio

    regular de trabalho ou fora do horrio regular de trabalho;

    Perspectiva do teste: white box, grey box ou black box descritos na tabela 7, definindo

    quanta informao ser disponibilizada ao(s) ethical hacker(s) envolvidos.

    Os testes devem permanecer em segredo, ou seja, o nmero de funcionrios cientes de

    sua execuo deve se limitar apenas a algumas pessoas da alta gerncia. Desta forma, a avaliao

    refletir a real postura da organizao com relao a segurana, aumentando a acuracidade dos

    testes e evitando que correes de ltima hora sejam feitas pelos funcionrios (PALMER, 2001).

    3.4.3 Avaliao

    Nesta etapa do ethical hacking a segurana do cliente avaliada atravs de diversas

    metodologias que na maioria das vezes so utilizadas pelos crackers. Dentre estas metodologias

    o teste de invaso se destaca por ser amplamente adotado e aceito por rgos como o NIST. Os

    conceitos e as etapas que envolvem esta metologia so explicados no captulo 4.

    Palmer (2001) apresenta diversos tipos de testes descritos de maneira simplificada na

    tabela 6. Em um ethical hacking uma combinao destes testes normalmente utilizada.

    Cada um destes testes procura identificar vulnerabilidades a partir de um ponto de en-

    trada externo ou interno da organizao. A execuo dos testes possui alguns riscos ao cliente,

    por exemplo, um cracker pode estar monitorando os testes e desta forma pode descobrir as

    mesmas vulnerabilidades que a equipe que est prestando o servio, e caso explore estas vul-

    nerabilidades ser difcil identificar sua atuao. necessrio que a equipe tome precaues

    como alterar frequentemente o endereo de origem dos ataques e manter logs das atividades

    realizadas. A prtica do ethical hacking no deve ser executada de maneira leviana, pois caso

    os testes sejam executados de maneira incorreta podem abrir novas vulnerabilidades ao invs

    de encontrar vulnerabilidades e propor correes e melhorias nas defesas (PALMER, 2001).

  • Captulo 3. Ethical Hacking 23

    Tabela 6: Tipos de testes em ethical hacking - Adaptado de Palmer (2001)

    Tipo de teste DescrioRede remota Este teste simula um intruso que realiza um ataque atravs da

    internet. As defesas primrias que devem ser derrotadas so:firewalls, filtering routers e web servers.

    Rede dial-up remota Este teste simula um intruso que realiza um ataque ao modem docliente. As defesas primrias que devem ser derrotadas so:esquemas de autenticao de usurio. Este tipo de teste deve sercoordenado com a companhia de telefonia que presta servio aocliente.

    Rede local Este teste simula um empregado ou outra pessoa autorizada quetenha acesso rede da organizao. As defesas primrias que devemser derrotadas so: firewalls, web servers internos, medidas desegurana em servidores e sistemas de e-mail.

    Notebook roubado Neste teste o notebook de um empregado chave, como um gerente ouestrategista, tomado pelo cliente sem aviso e entregues ao(s)ethical hacker(s). Este(s) examina(m) o computador em busca desenhas em softwares, informaes corporativas, informaespessoais e outras informaes relevantes.

    Engenharia social Este teste avalia os funcionrios da organizao alvo para determinarcomo eles poderiam deixar que informaes vazassem para algum.Defender-se deste tipo de ataque mais difcil, pois pessoas epersonalidades esto envolvidas. A nica defesa contra este ataque conscientizar os funcionrios com relao seguranacomputacional.

    Entrada fsica Este teste funciona como um teste de invaso ao edifcio daorganizao. Preparativos especiais devem ser realizados antes desteteste, pois guardas e a polcia podem ser envolvidos caso o(s) ethicalhacker(s) sejam detectado(s). As defesas primrias so: uma politicade segurana rgida, guardas, monitoramento, controle de acesso econscientizao.

    Palmer (2001) apresenta trs perspectivas que podem ser adotadas para cada um dos

    testes da tabela 6, na tabela 7 estas perspectivas so detalhadas.

    Estas perspectivas permitem que a segurana computacional da organizao seja averi-

    guada a partir de diversos paradigmas. Por exemplo, caso se deseje saber quo difcil obter

    informaes sobre os servios internos da organizao e como estas informaes podem ser ex-

    ploradas para gerar ataques, a perspectiva black box seria a mais recomendada. Caso se deseje

    avaliar os mecanismos de segurana da organizao para comprovar sua eficincia, a perspec-

    tiva white box seria a mais recomendada, pois os testes seriam planejados de maneira especfica

    para os servios implementados na organizao tendo como base o entendimento de como eles

    funcionam, ou seja, o conhecimento formal dos sistemas.

  • Captulo 3. Ethical Hacking 24

    Tabela 7: Perspectivas de testes em ethical hacking - Adaptado de Palmer (2001)

    Perspectiva de teste DescrioUsurio estranho ou black box Nesta perspectiva de teste no h conhecimento sobre

    o alvo pelo ethical hacker, apenas os endereos queforam acordados no contrato. Este o teste que maisse aproxima de uma ameaa real e o maisrequisitado por organizaes.

    Usurio semi-estranho ou grey box Nesta perspectiva de teste h um conhecimento eacesso limitado aos sistemas computacionais e redesda organizao. Este teste simula um usurio quepossui acesso apenas servios especficos que aorganizao oferece.

    Usurio vlido ou white box Nesta perspectiva de teste h um conhecimento amplosobre os sistemas computacionais e redes daorganizao. Este teste simula um usurio comprivilgios elevados no sistema com privilgioselevados no sistema e como ele pode compromet-lo.

    A execuo de uma avaliao atravs do ethical hacking no possui um conjunto fixo

    de fases em seu processo, embora existam processos amplamente aceitos como o IT5 Guide-

    line for Network Security Testing desenvolvido por Wack Miles Tracy (2003), existem diversos

    outros processos que so utilizados por outas organizaes. A figura 6 apresenta o processo de

    avaliao utilizado pela IDART apresentado por Wood e Duggan (2000).

    Figura 6: Processo de avaliao - Adaptado de Wood e Duggan (2000)

    Este processo possui etapas muito bem definidas e cada uma utilizada na etapa poste-

    rior para a realizao do processo como um todo, a primeira fase o entendimento formal do

  • Captulo 3. Ethical Hacking 25

    sistema. Todas as informaes disponveis sobre o sistema de interesse so obtidas permitindo

    uma descrio do sistema, assim como a identificao de seus objetivos e fatores de sucesso

    (WOOD; DUGGAN, 2000).

    Segundo Wood e Duggan (2000), ma segunda fase uma viso formal do sistema cons-

    truda, dependendo do tempo e dos recursos disponveis mais de uma viso pode ser construda.

    As principais vises do sistema so:

    Funcional/lgica: Compreenso de como o sistema funciona;

    Fsica/espacial: Compreenso de como os elementos fsicos que envolvem o sistema esto

    dispostos;

    Temporal: Compreenso das diversas sequncias de eventos do sistema que podem ser

    exploradas;

    Ciclo de vida: Compreenso do ciclo de vida do sistema, ou seja, seus estados ou etapas;

    Consequncia: Compreenso de quais so as aes e consequncias do sistema para se

    determinar possveis pontos de falha.

    Na terceira fase as vulnerabilidades candidatas so levantadas pela equipe atravs de

    sesses de brain storm. Nenhuma vulnerabilidade descartada para se evitar que possveis

    ataques sejam ignorados. O resultado desta etapa normalmente consiste de rvores de falhas

    (WOOD; DUGGAN, 2000).

    Segundo Wood e Duggan (2000), a quarta fase os membros da equipe de testes seleci-

    onam vulnerabilidades das rvores que so relevantes e desenvolvem ataques conceituais. As

    vulnerabilidades so escolhidas baseando-se na perspectiva de adversrio e nas suas habilidades

    necessrias para atingir seus objetivos. Os seguintes tpicos so especficados pela equipe:

    Descrio: Descrio detalhada do ataque;

    Porcentagem de desenvolvimento do ataque: Porcentagem do ataque que est disponvel

    por outras organizaes;

    Possibilidade de sucesso: Caso o ataque seja executado, a probabilidade de que ele atinja

    o seu objetivo;

  • Captulo 3. Ethical Hacking 26

    Tempo de recuperao: Tempo necessrio para se recuperar do ataque;

    Custo de desenvolvimento: Custo normalmente expresso em homem/hora;

    Tempo de desenvolvimento: Tempo necessrio para o desenvolvimento do ataque em um

    ambiente de laboratrio;

    Tempo de implementao: Uma vez desenvolvido, o tempo que levaria para o ataque ser

    implementado;

    Habilidades para o desenvolvimento: Habilidades necessrias para desenvolver o ataque;

    Recursos para desenvolvimento: Tipo e qualidade dos recursos necessrios para desen-

    volver o ataque;

    Habilidades para implementao: Habilidades necessrias para se implementar o ataque.

    Normalmente as habilidades necessrias para se implementar o ataque no so to altas

    como as habilidades necessrias para desenvolv-lo;

    Recursos para a implementao: Tipo e qualidade dos recursos necessrios para imple-

    mentar o ataque;

    Uma quinta fase pode ser ou no adotada. Nesta etapa o cliente pode pedir para que

    alguns ataques sejam executados atravs de um experimento, demonstrao ou exerccio de

    campo (WOOD; DUGGAN, 2000).

    3.4.4 Relatrio final

    A ltima etapa da avaliao da segurana atravs do ethical hacking a apresentao do

    relatrio das atividades ao cliente. Este documento formado durante os testes e normalmente

    contm a documentao de todos os ataques que foram utilizados, descrio do funcionamento

    de cada ataque, classificao da dificuldade de desenvolvimento/implementao de cada ataque,

    dados dos testes, dirio dos testes, documentao das vulnerabilidades encontradas e propostas

    para correo ou reduo das vulnerabilidades encontradas (PALMER, 2001).

    Segundo Bishop (2007), apenas dizer ao cliente que ele tem problemas no o que

    se espera de um relatrio final, preciso descrever de maneira especfica cada vulnerabilidade

    encontrada e como cada uma delas pode ser explorada de maneira maliciosa. A vantagem deste

  • Captulo 3. Ethical Hacking 27

    detalhamento e especificidade a possibilidade do cliente avaliar novas ameaas a partir dos

    descobrimentos dos testes, determinando a eficincia dos mecanismos de segurana utilizados.

    O principal objetivo do exerccio fazer com que o cliente compreenda as vulnerabilidades

    encontradas e como estas podem ser exploradas e ao final aconselh-lo em como corrgi-las a

    curto e longo prazo.

    A adoo das medidas presentes no relatrio final no garantem que a segurana esteja

    em seu estado perfeito, pois novas vulnerabilidades podem ser encontradas e usurios podem

    cometer erros. Quanto mais tempo se passou desde a ltima avaliao menos se pode confiar

    nos resultados apresentados. Portanto necessrio adotar medidas e boas prticas que devem

    ser seguidas afim de reduzir os problemas relacionados segurana computacional no futuro

    (PALMER, 2001).

    3.5 Consideraes Finais

    O teste da segurana atravs do ethical hacking permite que os clientes compreendam

    melhor suas necessidades voltadas segurana computacional. A ideia de testar a segurana

    de um sistema tentando invadi-lo mas sem causar danos no nova. Ao se lanar um novo

    produto, por exemplo, necessrio test-lo antes de disponibiliza-lo ao pblico, garantindo

    que este atenda aos padres de qualidade exigidos. Da mesma forma, antes de se lanar um

    novo servio computacional, um software, por exemplo, necessrio testa-lo sobre diversas

    perspectivas como a segurana.

    Portanto o teste de ethical hacking deve ser visto como uma oportunidade de se compre-

    ender melhor o nvel de segurana dentro da organizao ou sistema e no como uma ameaa,

    desta forma ser possvel a identificao correo de erros e vulnerabilidades.

    O programa de ethical hacking no a soluo para todos os problemas de segurana

    dentro de uma organizao. Prticas como auditorias regulares, polticas de segurana, procedi-

    mentos, padres, boas prticas, vigilncia e conscientizao so fundamentais para se garantir

    a segurana dentro de uma organizao. O programa de ethical hacking deve fazer parte de

    um programa maior de segurana, sendo responsabilidade dos clientes manter o programa de

    segurana em ordem e operando de maneira eficiente.

    O prximo captulo apresenta o conceito de teste de invaso, as diferenas entre este

    conceito e o ethical hacking e as fases normalmente envolvidas em um teste de invaso.

  • 28

    4 Teste de invaso

    4.1 Consideraes Iniciais

    O teste de invaso, tambm conhecido como penetration testing, inclui a metodologia,

    o processo e os procedimentos (normalmente os mesmos adotados pelos crackers) utilizados

    pelos pentesters durante a execuo de um teste de invaso. Os objetivos do teste de invaso

    so: encontrar falhas, vulnerabilidades e ambientes inseguros, tentando burlar as protees do

    sistema e anular os recursos de segurana, avaliando configuraes e controles do sistema mas

    sem compromet-lo de alguma forma (BROAD; BINDNER, 2017).

    Segundo Kostadinov (2016), embora as definies de teste de invaso e ethical hacking

    possam parecer equivalentes princpio, e embora diversos profissionais da rea de segurana

    no faam distino entre os dois termos, h uma pequena mas importante linha que divide-os.

    A tabela 8 apresenta as principais diferenas entre estes termos.

    Tabela 8: Ethical Hacking vs. Teste de invaso - Adaptado de Kostadinov (2016)

    Ethical Hacking Penetration TestingUm termo amplo que compreende diversosmtodos e tcnicas de teste, incluindo o testede invaso.

    Um termo restrito que foca em avaliar asegurana em sistemas atravs de umametologia formal estruturada.

    O ethical hacker deve possuir conhecimentoem vrias tcnicas de programao ehardware

    O penterster precisa ter conhecimento ehabilidade apenas nas reas especficas emque o teste de invaso ser aplicado.

    Normalmente requer uma certificaoobrigatria em ethical hacking.

    No necessrio possuir certificao,apenas estar familiarizado com ametodologia de um teste de invaso.

    Acesso requerido abrange diversoscomputadores dentro da infraestrutura de TI.

    Acesso requerido apenas aos sistemas emque o teste de invaso ser conduzido.

    Para Smith, Yurcik e Doss (2002), o teste de invaso atravs do ethical hacking prov

    segurana, garantindo que o sistema ir resistir a um ataque que est incluso no teste de invaso

    e a segurana de que a organizao est agindo de uma maneira prudente. Existem diversos

    exemplos onde o teste de invaso pode evitar a perda financeira ou de reputao em uma orga-

    nizao:

    Organizaes com servios online sempre realizam testes antes de um lanamento;

  • Captulo 4. Teste de invaso 29

    Instituies financeiras priorizam a segurana de um novo servio em relao ao seu

    lanamento;

    Organizaes prudentes realizam testes antes de colocar um servio online;

    4.2 Ciclo de vida

    O teste de invaso como um plano de ataque em constante evoluo que tem incio

    partir de um objetivo bem definido que se deseja atingir e por meio dos procedimentos e etapas

    estabelecidas se chega ao resultado esperado (JONES, 2013).

    Ao longo do tempo um modelo de fases foi consolidado e passou a ser aceito e utilizado

    por penetration testers profissionais. Estas fases guiam o pentester durante o processo emprico

    de descobrir e explorar falhas dos sistemas de informao, auxiliando tambm na gerao de

    um relatrio final bem documentado e no desenvolvimento de um cronograma das atividades

    dos testes (BROAD; BINDNER, 2017).

    Segundo Broad e Bindner (2017), existem diferenas na forma como o ciclo de vida

    de um teste de invaso apresentado, mas normalmente um conjunto definido de fases sempre

    est presente. O ciclo de vida adotado nesta Seo e no restante da monografia o conjunto de

    fases definido pelo EC-Council1 que contm cinco fases sequenciais, cada uma dependente na

    fase anterior e prov embasamento para a fase posterior. Estas fases so descritas nas prximas

    sees.

    Figura 7: Fases do teste de invaso - Adaptado de CEH (2011)

    1 https://www.eccouncil.org/

    https://www.eccouncil.org/

  • Captulo 4. Teste de invaso 30

    4.2.1 Reconhecimento

    A primeira fase de um teste de invaso o reconhecimento. Nesta fase o pentester

    procura descobrir o mximo de informaes sobre a organizao alvo e o(s) sistema(s) de com-

    putao dela. Estas informaes sero utilizadas nas fases seguintes do teste de invaso e por

    isso so fundamentais para o sucesso do teste. A quantidade de informao necessria nesta

    fase ir depender de dois fatores: o nvel de detalhes do alvo fornecido ao(s) pentester(s) e as

    atividades previstas no contrato (BROAD; BINDNER, 2017).

    Boulanger (1998) apresenta as seguintes informaes que devem ser levantadas em seu

    exemplo de teste de invaso:

    Nome(s) do(s) host(s);

    Endereo(s) do(s) host(s);

    Responsvel pelo host

    Sistema operacional do host;

    Responsvel pela rede;

    Outros hosts na rede;

    Configurao da rede;

    Outros hosts autorizados pela rede;

    Hosts fora de rede;

    Lista de usurios;

    Poltica de fornecimento de user-name;

    A tabela 9 lista as principais ferramentas e tcnicas utilizadas por pentesters durante a

    fase de reconhecimento.

  • Captulo 4. Teste de invaso 31

    Tabela 9: Principais ferramentas e tcnicas na fase de reconhecimento - Adaptado de Broad e Bindner (2017)

    Ferramenta/Tcnica DescrioNslookup Ferramenta utilizada para realizar consultas servidores

    Domain Name System (DNS).Dig Ferramenta utilizada para realizar consultas servidores

    DNS e realizar transferncia de zona no alvo.Traceroute Ferramenta utilizada para identificar os ns envolvidos

    na comunicao entre o host e o alvo.Maltego Ferramenta visual de anlise utilizada na obteno de

    informaes sobre hosts e redes atravs de OSINITs(bases de inteligncia abertas).

    Google hacking Tcnica que utiliza operadores avanados para realizarpesquisas especficas na engine do Google afim de obterinformaes relevantes sobre a organizao alvo.

    Espelhamento de site Tcnica utilizada na obteno de uma cpia do site eposterior anlise do cdigo fonte afim de obterinformaes relevantes sobre este.

    Pesquisa por ofertas de emprego Tcnica utilizada na pesquisa por sites de oferta deemprego ou no site da organizaes por informaescomo: softwares, hardwares e linguagens deprogramao utilizadas que revelem informaesrelevantes sobre o alvo.

    Estas so apenas algumas das tcnicas e ferramentas mais utilizadas durante a fase de

    reconhecimento. Portanto quanto mais informaes forem obtidas sobre a organizao alvo e

    sobre os sistemas envolvidos nos testes, melhores sero os resultados. As informaes obtidas

    na fase de reconhecimento so fundamentais para as demais fases do teste de invaso, por isso

    ela deve ser bem elaborada e estruturada para que nenhuma informao seja desconsiderada ou

    ignorada (MCCLURE; SCAMBRAY; KURTZ, 2012).

    4.2.2 Scanning/Varredura

    Na fase de scanning o pentester utilizar as informaes obtidas na fase de reconheci-

    mento para varrer a rede e o(s) sistema(s) acordados. Atravs deste processo possvel com-

    preender o funcionamento das estruturas fsicas e lgicas que esto sendo avaliadas. Todas as

    informaes obtidas nesta fase sero utilizadas posteriormente na fase de explorao de falhas.

    Algumas destas informaes so (BROAD; BINDNER, 2017):

    Hosts ativos na rede, este mapeamento conhecido como ping sweep;

  • Captulo 4. Teste de invaso 32

    Tipos de dispositivos (desktops, laptops, servidores, dispositivos de rede e smartphones)

    presentes na rede;

    Sistema operacional dos hosts ativos;

    Servios oferecidos na World Wide Web (WWW), HyperText Transfer Protocol (HTTP),

    File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), etc) e respectivas

    verses, este mapeamento conhecido como port scan;

    Vulnerabilidades triviais;

    A principal ferramenta utilizada na fase de scanning o scanner. Para Boulanger (1998),

    um scanner uma ferramenta desenvolvida para obter informaes sobre um host ou sobre uma

    rede. Segundo Smith, Yurcik e Doss (2002), um scanner envia diversos pacotes Transmission

    Control Protocol (TCP) e User Datagram Protocol (UDP) para diferentes portas do sistema

    alvo e analisa as respostas. Atravs desta anlise possvel obter as informaes listadas acima,

    alm de outras informaes relevantes sobre o alvo. Scanners so extremamente importantes

    em uma avaliao da segurana da organizao pois permitem verificar o que crackers podem

    visualizar e acessar atravs da internet. Normalmente scanners so utilizados como ponto de

    partida na realizao de ataques (MCCLURE; SCAMBRAY; KURTZ, 2012).

    A tabela 10 lista as principais ferramentas utilizadas por pentesters durante a fase de

    scanning.

    Tabela 10: Principais ferramentas e tcnicas na fase de scanning/varredura - Adaptado de Broad e Bindner (2017)

    Ferramenta/Tcnica DescrioNmap Ferramenta utilizada na varredura da rede e dos sistemas presentes,

    permite determinar o sistema operacional, portas abertas, fechadasou protegidas, servios disponveis, credenciais de usurios,vulnerabilidades bsicas, dentre outras informaes relevantes.

    Hping Ferramenta utilizada na a criao manual de pacotes, ao contrriodo nmap onde os pacotes so construdos partir de padresestabelecidos, o hping flexvel e permite construir pacotes damaneira desejada.

    Nessus Scanner de vulnerabilidades grfico, que possibilita encontrarvulnerabilidades presentes na rede e nos dispositivos conectados.

  • Captulo 4. Teste de invaso 33

    4.2.3 Explorao de falhas

    Em posse das informaes obtidas atravs das fases de reconhecimento e scanning, o

    pentester inicia sua procura por vulnerabilidades, ou seja, pontos fracos na segurana do alvo

    que possam ser explorados. Durante esta fase o pentester ir verificar os servios disponibi-

    lizados, a configurao da rede, os sistemas de informao, os procedimentos de segurana e

    os controles internos e externos procurando por falhas conhecidas. Estas falhas podem existir

    em diversos pontos do sistema de informao, ocorrer em decorrncia de aes equivocadas

    de pessoas, ser internas ou externas, ser decorrncia de controles de segurana inadequados ou

    ser resultado da explorao de usurios atravs de tcnicas de manipulao social (BROAD;

    BINDNER, 2017).

    Segundo Boulanger (1998), preciso tomar precaues durante a explorao de falhas

    pois as atividades do pentester tm grandes chances de serem detectadas durante os teste.

    Broad e Bindner (2017) apresenta as principais categorias utilizadas para classificar

    os principais tipos de ataques. Estas categorias so conhecidas como vetores de ataques e so

    descritas na tabela 11.

    Tabela 11: Vetores de ataque e tipos de ataque associados - Adaptado de Broad e Bindner (2017)

    Vetor de ataque Tipo de ataqueInjeo de cdigo - Buffer overflow (transbordamento de buffer);

    - Buffer underrun (esvaziamento de buffer);- Vrus;- Malware.

    Baseados em web - Defacement (desconfigurao);- Cross-Site Scripting (XSS);- Cross-Site Request Forgery (CSRF);- SQL injection (Injeo de SQL).

    Baseados em rede - Denial of Service (DoS ou DoS distribudo);- Interceptao de senhas e dados sensveis;- Roubo ou falsificao de credenciais.

    Engenharia social - Personificao;- Phishing;- Spear phishing;- Intelligence gathering (coleta de informaes).

    Para cada tipo de ataque preciso compreender como o ataque funciona e as principais

    formas de ocorrncia. Desta forma, as ferramentas utilizadas nesta fase podem ser aplicadas de

    maneira eficiente, melhorando os resultados obtidos atravs do teste de invaso.

  • Captulo 4. Teste de invaso 34

    A tabela 12 lista as principais ferramentas utilizadas por pentesters durante a fase de

    explorao de falhas.

    Tabela 12: Principais ferramentas na fase de explorao de falhas - Adaptado de Broad e Bindner (2017)

    Ferramenta DescrioRemote exploit Programa ou mtodo utilizado por um usurio sem autorizao para

    invadir um sistema de computador remoto. Normalmente estes exploitsesto associados com servios oferecidos por computadores atravs darede, a internet na maioria dos casos. Firewalls so ferramentas teis parabloquear este tipo de ataque.

    Local exploit Programa ou mtodo utilizado para se obter acesso no autorizado em umsistema de computador atravs de um usurio vlido. Este usurio vlidopode ser obtido de diversas maneiras: utilizado um exploit remoto,capturado atravs da anlise de trfego ou obtido atravs de engenhariasocial.

    Metasploit Framework que contm um conjunto de ferramentas (incluindo exploitslocais e remotos) que podem ser utilizadas durante todas as fases de umteste de invaso. Tambm oferece templates de relatrios que podem serutilizados no final dos testes.

    Existem diversas outras ferramentas que podem ser utilizadas na fase de explorao de

    falhas como: sqlmap e sqlninja para ataques de sql injection, hping3 para ataques do tipo DoS e

    DDoS, beef para ataques do tipo XSS e o wireshark e o burp suite para monitorar o trfego na

    rede. Uma anlise manual tambm pode ser til para se descobrir vulnerabilidades que exijam

    uma ateno maior (JONES, 2013).

    A fase de explorao de falhas requer criatividade, habilidade e pacincia por parte do

    pentester. Ferramentas como o metasploit auxiliam na explorao de falhas conhecidas de uma

    maneira automtica, mas normalmente este processo lento e tedioso. Em muitos casos pre-

    ciso submeter o alvo uma avaliao minuciosa e diversos testes manuais para se encontrar vul-

    nerabilidades, burlar mecanismos de segurana e invadir o sistema ou rede alvo (MCCLURE;

    SCAMBRAY; KURTZ, 2012).

    4.2.4 Preservao de acesso

    Aps obter o acesso por meio da explorao de uma vulnerabilidade encontrada, pre-

    ciso preservar o acesso ao sistema alvo, possibilitando a reduo dos esforos envolvidos para

    continuar a realizar ataques ao sistema alvo sem que haja necessidade de explorar repetida-

    mente a mesma falha (que pode ser eventualmente corrigida). Preservar o acesso um sistema

  • Captulo 4. Teste de invaso 35

    comprometido requer planejamento e criatividade. Assim como na fase de explorao de falhas,

    existem diversas maneiras de se manter o acesso um sistema comprometido. Normalmente

    necessrio obter acesso privilegiado no sistema atravs de exploits locais antes de utilizar uma

    tcnica para garantir o acesso futuro (BROAD; BINDNER, 2017).

    A tabela 13 lista as principais ferramentas e tcnicas utilizadas por pentesters e crackers

    para preservar o acesso em um sistema alvo.

    Tabela 13: Principais ferramentas e tcnicas na fase de preservao de acesso - Adaptado de Broad e Bindner(2017)

    Ferramenta/Tcnica DescrioBackdoor Programa que permanece em execuo no sistema comprometido

    com o objetivo de facilitar acessos futuros ao sistema sem anecessidade de explorar a mesma vulnerabilidade repetidamente.Este tipo de programa no prov funcionalidades ao sistemacomprometido e deve ser executado da forma mais discretapossvel.

    Payload Carga til (cdigo) vinculada um exploit que executada casoeste tenha sucesso na explorao de uma falha.

    Cavalo de tria Programa malicioso que executa uma funo desejada, ou seja, ageda maneira que esperada pelo usurio, mas executa ocultamenteprogramas maliciosos como backdoors.

    Vrus Cdigo malicioso que infecta processos, arquivos e mquinas comum objetivo especfico.

    Worm Cdigo malicioso que infecta processos, arquivos e mquinas comum objetivo especfico, mas sem a necessidade de interaes parase replicar.

    Rootkit Ferramenta utilizada para obter acesso de administrador no sistemaalvo e ocultar a presena.

    Logic bomb Cdigo implantado em software que ativado regularmente sobredeterminadas condies.

    Ransonware Tcnica de bloqueio do sistema alvo atravs de criptografia.Keylogger Programa que permanece em execuo no sistema comprometido

    registrando as teclas que so pressionadas pelo usurio. Em seguidaestas informaes so retornadas ao pentester atravs de um canalde comunicao estabelecido como um backdoor.

    Colocation Tcnica de hospedagem de servios ilcitos externamente emmquinas comprometidas.

    Comunicao remota Forma de comunicao que envolve um host em um servidor queno esteja na mesma rede local.

    Comando e controle Sistema utilizado para administrar sesses remotas em hostscomprometidos.

    A preservao de acesso est atrelada fortemente com a execuo de cdigo malicioso

    ou malware de maneira discreta no sistema alvo. A utilizao de anti-vrus uma maneira

  • Captulo 4. Teste de invaso 36

    eficiente de detectar estes cdigos e bloque-los. O desenvolvimento e a deteco de malwares

    so reas abrangentes e de grande importncia dentro da segurana da informao (BROAD;

    BINDNER, 2017).

    4.2.5 Ocultao de pistas

    A ltima fase do teste de invaso consiste em apagar os rastros que foram deixados

    pelo pentester durante as fases do testes de invaso. Diversas tcnicas e ferramentas podem ser

    utilizadas para evitar que o pentester seja descoberto. Esta fase est ligada fortemente com o

    anonimato. Da mesma forma que um cracker zela por se manter annimo durante suas ativi-

    dades ilcitas, o pentester deve manter o mesmo zelo por sua identidade. Portanto, embora a

    ocultao de pistas seja a ltima fase de um teste de invaso, o anonimato deve ser observado

    durante todo o processo.

    Segundo Boulanger (1998), uma ferramenta utilizada para a furtividade em um teste

    de invaso permite que um usurio no autorizado modifique os arquivos de log do sistema

    e elimine os registros relacionados s suas atividades. Esta apenas uma das consideraes

    relativas ao anonimato e furtividade que devem ser levadas em considerao. A tabela 14 lista

    as principais ferramentas e tcnicas utilizadas por pentesters para preservar sua identidade.

    Tabela 14: Principais ferramentas e tcnicas para preservao da identidade - Adaptado de Broad e Bindner (2017)

    Ferramenta/Tcnica DescrioThe Onion Router (TOR) Software que protege a identidade dos usurios na internet

    por meio da retransmisso dos pacotes para uma rededistribuda de ns disponibilizados por usurios ao redordo mundo.

    Proxychains Ferramenta que fora conexes TCP feitas por qualqueraplicao a serem redirecionadas para um servidor proxycomo: TOR, SOCKS4, SOCK5 ou HTTTP(S).

    IP spoofing Tcnica que consiste em mascarar pacotes IP falsificandoo endereo IP do remetente.

    Virtual Private Network (VPN) Tcnica que consiste na conexo de dois ns utilizandouma rede pblica como a internet, mas garantindo aconfidencialidade e integridade das informaes.

    Edio de arquivos de log Tcnica de manipulao de arquivos de log que contm osregistros temporais das atividades que ocorreram namquina ou rede, eliminando os registros das atividadesrealizadas.

    Access Point (AP) pblico Tcnica de utilizao de hotspots pblicos com acesso internet, dificultando a localizao fsica do atacante.

  • Captulo 4. Teste de invaso 37

    Estas so apenas algumas das tcnicas e ferramentas utilizadas por black hats e white

    hats para manter o anonimato e mascarar suas atividades. Ferramentas como o Tor podem ser

    utilizadas tanto para propsitos louvveis como para atividades ilcitas e crimes. O anonimato

    na internet uma questo de grande relevncia e tem levado a discusses ao redor do mundo

    sobre este tema.

    4.3 Consideraes Finais

    O teste de invaso uma tcnica poderosa que visa encontrar e corrigir vulnerabili-

    dades e elevar a segurana em redes e sistemas dinmicos, executado corretamente este teste

    assegura que as vulnerabilidades avaliadas pelos pentesters no foram encontradas, ou se foram

    encontradas devem ser corrigidas seguindo as recomendaes listadas no relatrio final.

    importante ressaltar que passar por um teste de invaso sem vulnerabilidades encon-

    tradas no significa que o sistema ou rede alvos no possam ser comprometidos, a garantia

    da eficincia e eficcia de um teste de invaso determinada pela equipe que est realizando

    o teste, durante as fases do teste determinadas vulnerabilidades podem passar desapercebidas.

    Portanto o pentester no deve assumir que o sistema est seguro, o teste de invaso apenas

    revela a presena de falhas e no a ausncia destas.

  • 38

    5 Teste de invaso em um ambiente compu-

    tacional virtual vulnervel

    5.1 Consideraes Iniciais

    Neste captulo um ambiente computacional virtual ser apresentado de maneira deta-

    lhada, no qual diversas vulnerabilidades podero ser detectadas atravs de um teste de invaso

    fictcio. As fases descritas no captulo 4 sero aprofundadas de uma maneira prtica na utili-

    zao de ferramentas e tcnicas prprias para a realizao de testes de invaso. Ao final, tc-

    nicas e ferramentas de preveno e proteo sero apresentadas para cada vulnerabilidade que

    foi demostrada, afinal este o objetivo primordial do exerccio: encontrar falhas, vulnerabili-

    dades e ambientes inseguros tentando burlar as protees do sistema e anular os recursos de

    segurana, avaliando configuraes e controles do sistema mas sem compromet-lo de alguma

    forma (BROAD; BINDNER, 2017).

    O objetivo deste captulo demonstrar os conceitos que foram discutidos extensamente

    nos captulos anteriores. As tcnicas, metodologias e ferramentas apresentadas neste captulo

    so exploradas atravs de uma perspectiva acadmica. O autor repudia o uso deste conheci-

    mento para fins ilcitos e no se responsabiliza por quaisquer atividades ilegais praticadas pelos

    leitores, mesmo que para testes em ambientes virtuais simulados isolados.

    5.2 Cenrio

    O cenrio proposto apresenta um penetration test em uma organizao fictcia descrito

    na sub-seo 5.2.1, tambm sero descritas as condies estabelecidas entre o pentester e o

    contratante. O contratante representar uma empresa fictcia que deseja avaliar seus sistemas

    no quesito da segurana computacional e resolve contratar acessoaria especializada nesta rea.

    O pentester representar um profissional da rea de segurana que atravs de tcnicas e fer-

    ramentas de invaso procurar por vulnerabilidades de segurana computacional. Estas vulne-

    rabilidades sero exploradas como prova de conceito com consentimento do contratante. As

    especificaes dos equipamentos envolvidos nos testes so descritas na sub-seo 5.2.2.

  • Captulo 5. Teste de invaso em um ambiente computacional virtual vulnervel 39

    5.2.1 Contextualizao

    Fernando o Chief Executive Officer (CEO) da empresa Harvester Corporation, uma

    empresa de equipamentos agrcolas inteligentes. Ele acompanhou os recentes ataques do ran-

    sonware wanna cry a diversos servidores e computadores pessoais ao redor do mundo tornando-

    os inacessveis atravs de mtodos de criptografia complexos podendo ser recuperados apenas

    com altos valores de resgate pagos em bitcoin. Os servios oferecidos pela Harvester Corpo-

    ration so baseados em Internet of Things (IoT) e necessitam de uma disponibilidade de 100%

    dos servidores da companhia para recebimento, armazenamento, processamento e visualizao

    dos dados obtidos pelos sensores autnomos de seus clientes.

    Temendo que a Harvester Corporation fosse a prxima vtima deste e de outros tipos de

    ataques cibernticos, Fernando decidiu se precaver e contratar uma consultoria afim de avaliar

    a segurana computacional em sua organizao. Aps uma pesquisa rpida no Google com as

    palavras chave "Teste de segurana", Fernando acessou o site da organizao Security Hunters,

    uma consultora do ramo de segurana computacional e decidiu agendar uma reunio para o

    esclarecimento do servio e de eventuais dvidas, e se possvel estabelecer um acordo para um

    futuro contrato.

    Aps a reunio com os consultores da Security Hunters Fernando resolveu seguir em

    frente e contratar o servio de teste de invaso para a avaliao da segurana em sua organiza-

    o, durante as prximas semanas um contrato ser elaborado pela equipe tcnica da Security

    Hunters e por funcionrios da alta gerncia da Harvester Corporation.

    O contrato de um teste de invaso envolve: o escopo dos testes (sites, redes, sistemas

    e mquinas avaliados), os pentesters envolvidos, as tcnicas permitidas, o perodo de testes, a

    perspectiva dos testes e questes jurdicas para responsabilizao. Os principais pontos estabe-

    lecidos no contrato envolvendo a Security Hunters e a Harvester Corporation so:

    de extrema importncia que os dados dos clientes, as informaes dos equipamentos,

    os registros dos equipamentos agrcolas e os relatrios gerados sejam assegurados, pois

    do contrrio a organizao e seus clientes sero prejudicados de alguma forma;

    As principais ameaas ao negcio definidas pela Harvester Corporation so: compro-

    metimento dos dados dos clientes, vazamento da inteligncia competitiva dos clientes,

    integridades dos registros, perda de c