Вы находитесь на странице: 1из 36

UNIVERSIDADE FUMEC

ANLISE DE EFICINCIA NA DETECO DE


VULNERABILIDADES EM AMBIENTES WEB COM O USO DE
FERRAMENTAS OPEN SOURCE

MARCOS FLVIO ARAJO ASSUNO

Belo Horizonte - MG
2014

MARCOS FLVIO ARAJO ASSUNO

ANLISE DE EFICINCIA NA DETECO DE


VULNERABILIDADES EM AMBIENTES WEB COM O USO DE
FERRAMENTAS OPEN SOURCE

Projeto de pesquisa apresentado ao


Curso de Mestrado em Sistemas de
Informao e Gesto da Informao
da Universidade Fumec como parte
dos requisitos para a obteno do
ttulo de Mestre em Sistemas de
Informao.
Orientador: Prof. Rodrigo Moreno
Marques
Coorientador:
Gomes Maia

Belo Horizonte MG
2014

Prof.

Luiz

Cludio

RESUMO

As aplicaes web vm se popularizando cada vez mais com a expanso da Internet,


oferecendo solues a usurios e instituies, sejam do setor pblico ou privado. Entretanto,
nem sempre a segurana acompanha a evoluo dessas aplicaes o que pode levar ao
comprometimento de um sistema web, causando prejuzos a empresas e clientes. Entre os
problemas decorrentes de uma invaso podemos citar: vazamento de informaes,
espionagem comercial, utilizao do servidor para ataque a terceiros, entre diversos outros.
Realizar uma varredura no ambiente web, procura de vulnerabilidades, importante em
qualquer instituio. Em muitos casos as empresas no possuem verba para adquirir
ferramentas comerciais de Penetration Test, ento os responsveis pela Segurana muitas
vezes utilizam-se de solues gratuitas. Desta forma, esse trabalho analisa a eficcia das
ferramentas opensource de anlise de vulnerabilidades, baseando-se nas dez principais
falhas de ambientes web de acordo com o relatrio Top Ten da organizao Open Web
Application Security Project (OWASP).

Palavras-chave: OWASP (Open Web Application Security Project); Ambiente Web; Aplicaes
Web; PenetrationTest ; Segurana da Informao

SUMRIO

1.

INTRODUO ............................................................................................................... 5

2.

PROBLEMA DE PESQUISA .......................................................................................... 7

3.

JUSTIFICATIVA E RELEVNCIA DO TEMA ................................................................ 8

4.

OBJETIVOS ................................................................................................................... 9
4.1 Objetivo Geral ............................................................................................................. 9
4.2 Objetivos Especficos .................................................................................................. 9

5.

FUNDAMENTAO TERICA .................................................................................... 10


5.1 Ambientes Web ......................................................................................................... 10
5.1.1 Protocolo HTTP (Hyper Text Transfer Protocol) .................................................. 11
5.1.2 Protocolo HTTPS (Hyper Text Transfer Protocol Secure) ................................... 11
5.1.3 Certificados digitais ............................................................................................. 12
5.1.4 Servidores Web .................................................................................................. 12
5.1.5 Linguagens de desenvolvimento web ................................................................. 14
5.1.6 Banco de dados .................................................................................................. 15
5.2 Segurana da Informao ......................................................................................... 17
5.2.1 Pilares da segurana da informao ................................................................... 17
5.2.2 Vulnerabilidade ................................................................................................... 18
5.2.3 Intruso ............................................................................................................... 19
5.3 Penetration Test ........................................................................................................ 20
5.3.1 Planejamento e cronograma do Penetration Test ................................................ 20
5.3.2 Metodologias de Penetration Test ........................................................................ 21
5.3.3 Tipos de testes .................................................................................................... 22
5.3.4 Ps-teste ............................................................................................................. 23
5.4 Vulnerabilidades no ambiente da web ....................................................................... 24
5.4.1 Projeto OWASP(Open Web Application Security Project) .................................... 24
5.4.2 As dez principais vulnerabilidades da web ........................................................... 27

6.

METODOLOGIA DE PESQUISA.................................................................................. 30

7.

RESULTADOS ............................................................................................................. 33

8.

CRONOGRAMA ........................................................................................................... 34

9.

REFERNCIAS ............................................................................................................ 35

1. INTRODUO

Devido expanso da Internet, h cada vez mais a tendncia de migrao de


aplicaes de ambientes de desktop locais para verses online. Muitas empresas hoje j
oferecem um site da web, seja para apresentar algum produto ou servio, ou para oferecer
uma soluo de comrcio eletrnico que atenda s demandas do usurio final. Alm das
empresas, vrios rgos governamentais tambm migraram seus servios para o ambiente
virtual, permitindo a prestao de diversos servios por meio da Internet, como por exemplo,
emisso de segunda via de documentos, inscrio em concursos, entre outras atividades.
Estas solues so algumas das facilidades que foram possibilitadas pela
popularizao da world wide web nos ltimos anos. Segundo Kurose (2005), a web o
conjunto das pginas de hipertexto, ou sites, que podem ser acessados por um usurio
atravs de um navegador de Internet. Entretanto, o grande crescimento desse ambiente, nem
sempre foi acompanhado por uma preocupao adequada com a segurana das solues
desenvolvidas.
Ceron et al (2008, p. 2) expem que:
O avano das tecnologias voltadas para a web e a falta da devida preocupao
com requisitos de segurana tornam a Internet um ambiente repleto de
vulnerabilidades e alvo de frequentes ataques. O problema torna-se ainda mais
grave com a utilizao dos mecanismos de busca como uma ferramenta para
localizar sites vulnerveis. (CERON et al. 2008)

Tanto Ceron et al (2008) quanto Holz (2006) concordam que uma soluo web
normalmente mais vulnervel a falhas do que um software tradicional de desktop, j que h
diversas camadas de solues atuando em conjunto criando pontos de vulnerabilidade na
integrao de todo o ambiente. A atuao dos mecanismos de busca, permitem inclusive, a
localizao de determinadas falhas em web sites, tornando assim um facilitador para o
invasor.
Essa viso tambm corroborada por Macedo, Queiroz e Damasceno (2010) quando
expem que devido ao crescimento exponencial do mercado de web, muitas empresas tm
recorrido

solues

vulnerabilidades.

de

frameworks

terceirizados,

que

podem

conter

diversas

Garantir a proteo da informao como um todo importante para "garantir a


continuidade do negcio, minimizar o risco ao negcio, maximizar o retorno sobre os
investimentos e as oportunidades de negcio." (ISO 1 7799, 2005). Os impactos causados
por sistemas web inseguros podem gerar enormes prejuzos para os envolvidos tanto do
mbito financeiro, quanto em mbito intelectual.

2. PROBLEMA DE PESQUISA

Os sistemas baseados em web, cada vez mais complexos, trazem facilidade e


usabilidade para a vida do usurio. Porm, por serem mais complexos, tornam-se mais
vulnerveis a invases. Para combater esses riscos, surgem as ferramentas para identificao
de vulnerabilidades, que examinam toda a estrutura de um site para identificar potenciais
brechas de segurana. Entretanto, a maioria das ferramentas de anlise de vulnerabilidades
so proprietrias e possuem um custo muito alto para o uso de uma pequena ou mdia
empresa.
Com o advento do software livre, muitas empresas agora podem ter seus prprios
servios de Internet de forma acessvel e com custos decrescentes e utilizar ferramentas com
cdigo-fonte aberto para identificar vulnerabilidades em seus sistemas. A partir desses
pressupostos, surgem as perguntas que norteiam a presente pesquisa: quais seriam os
softwares de cdigo-aberto mais eficientes para serem utilizados na identificao de
vulnerabilidades e qual a eficincia das ferramentas de anlise de vulnerabilidade em
ambientes web?

3. JUSTIFICATIVA E RELEVNCIA DO TEMA

Ao contrrio de softwares, que normalmente so projetados para ser executado em


apenas uma plataforma computacional, uma aplicao web criada de modo que possa ser
executado em qualquer dispositivo tablets, computadores pessoais ou smartphones. Esse
fator de complexidade aumenta o risco de explorao de falhas, pois nem sempre o software
desenvolvido tendo a segurana como um dos focos principais.
Uma pesquisa realizada pela Web Application Security Consortium (WASC)1 em 2008,
sugere que 49% das aplicaes web testadas, possuem vulnerabilidades de alto risco
(urgentes e criticas), que podem ser detectadas por ferramentas de varredura. Rocha, Kreutz
e Turchetti (2012, p.1) complementam dizendo que o nmero de vulnerabilidades e ataques
cada vez maior e mais frequente em servios e sistemas Web.
Torna-se cada vez mais necessrio o aprimoramento de novas metodologias de
deteco e mitigao de riscos, vulnerabilidades e falhas decorrentes destas, tanto em mbito
privado quanto pblico, uma vez que atualmente empresas e governos de todo mundo tendem
a levar seus sistemas para a Internet. Como consequncia, caso estes sistemas sejam
explorados por um invasor, o banco de dados pode ser comprometido e as informaes
armazenadas podem ser acessadas por pessoas no autorizadas.
Portanto, esse trabalho justifica-se pela importncia de se discutir e identificar as
principais vulnerabilidades de aplicaes web atravs do uso de softwares livres. O estudo
pretende levantar as principais ferramentas utilizadas para a varredura de brechas e analisar
a sua capacidade de detectar falhas em um ambiente web.
A pesquisa realizada segue a linha de pesquisa de Sistemas de Informao, baseando
seu contedo tambm na rea de Cincias da Computao. So discutidas temticas
pertencentes ao campo das redes de computadores, segurana da informao e gesto da
informao.

1Disponvel

em http://projects.webappsec.org/w/page/13246989/Web%20Application%20Security%20Statistics.

4. OBJETIVOS

4.1 Objetivo Geral

O objetivo geral desse trabalho identificar as principais vulnerabilidades em


aplicaes web e medir o desempenho de ferramentas livres de anlise de falhas.

4.2 Objetivos Especficos

Os objetivos especficos estabelecidos para a pesquisa so:

Identificar

as

principais

vulnerabilidades

que

podem

impactar

no

funcionamento de um ambiente web;

Realizar um levantamento das principais ferramentas com cdigo-fonte aberto


utilizadas para varredura de vulnerabilidades em ambientes web.

Testar as ferramentas selecionadas em um ambiente virtual com falhas


simuladas, comparando-as em relao eficincia na deteco de
vulnerabilidades catalogadas.

10

5. FUNDAMENTAO TERICA

O presente trabalho apresenta sua fundamentao terica, dividindo-a em quatro


sees, que esto correlacionadas pela sequncia do contedo apresentado: primeiramente,
ser apresentado o ambiente web e, especialmente, as tecnologias que o compem, como os
servidores web e seus frameworks. A seguir, ser abordada a segurana da informao, com
destaque para alguns conceitos utilizados na pesquisa, como intruso e vulnerabilidade. Na
terceira seo, voltada para discusso do penetration test, sero expostas as etapas e
processos existentes em um procedimento de anlise de vulnerabilidades. Por ltimo, as
vulnerabilidades da web sero abordadas por meio da discusso das principais falhas de um
ambiente web, do projeto OWASP e das principais ferramentas empregadas para verificao
das vulnerabilidades.
A diviso em quatro sees visa tornar mais clara a exposio da fundamentao
terica que sustenta o trabalho de pesquisa, buscando discutir o que a web, suas
vulnerabilidades e as ferramentas que podem ser potencialmente utilizadas para detect-las.

5.1 Ambientes Web

Com o uso cada vez mais frequente de recursos voltados para a web, as empresas
tm cada vez mais levado seus produtos e servios para a esfera da Internet. Por essa razo,
solues do tipo Business to Business (B2B) e Business to Client (B2C) utilizam sistemas de
gerenciamento de bancos de dados que so parcialmente ou totalmente integrados World
Wide Web.
De acordo com Lima (2003,p.290), a World Wide Web nasceu em 1989 no CERN,
advinda da necessidade de fazer com que grupos de pesquisadores de diferentes
nacionalidades pudessem colaborar uns com os outros. Lima (2003) expe, portanto, que a
web nasceu como uma ferramenta de colaborao cientfica, e desde ento trouxe a
possibilidade de obteno de vantagens competitivas para as empresas que a utilizam para
divulgar, vender ou prestar servios e produtos.
Existem atualmente dezenas de diferentes padres e tecnologias que podem ser
utilizados para a construo de um website, ou um portal uma verso mais complexa de um
site web que integra normalmente um grande nmero de recursos para acesso do cliente.

11

A maioria dos websites integra a criao de recursos visuais (webdesign), o uso de


scripts de programao e a integrao destes com um banco de dados. Entretanto, segundo
Stallings (2005) independente dos padres utilizados para essa integrao, os protocolos de
acesso utilizados pelo cliente so o HTTP e o HTTPS.
5.1.1 Protocolo HTTP (Hyper Text Transfer Protocol)

O HTTP, abreviao de Hyper Text Transfer Protocol, um dos principais protocolos


de aplicao utilizado na web. Os protocolos de aplicao so usados em uma rede de
computadores para permitir a comunicao entre o software usado no sistema do usurio final
e o servidor que hospeda o recurso que ser acessado.
Kurose (2005, p.7) expe que um protocolo define o formato e a ordem das
mensagens trocadas entre duas ou mais entidades comunicantes, bem como as aes
realizadas na transmisso e/ou no recebimento da uma mensagem ou outro evento.
Desde a criao da Web, o HTTP utilizado pelos navegadores de Internet para
permitir aos clientes realizarem o acesso sites da Internet, baixando e processando os
recursos grficos das pginas (como imagens e vdeos) para a visualizao dos usurios
finais. De acordo com Assuno (2014, p.38) o HTTP quem define como as pginas so
formatadas e transmitidas e que aes os servidores web e browsers devem tomar ao
responder a certos mtodos.
No entanto, com a rpida expanso da web como meio para troca de informaes,
tornou-se necessrio que em determinados acessos, houvesse um meio a garantir o sigilo e
a identidade do remetente e do receptor.
5.1.2 Protocolo HTTPS (Hyper Text Transfer Protocol Secure)

O protocolo HTTPS resultado da utilizao do HTTP em conjunto com protocolos


que oferecem recursos de criptografia, provendo uma camada de novas funes. Atualmente,
os dois protocolos de criptografia mais usados para esse fim so o SSL e o TLS.
Os protocolos SSL (Secure Socket Layer), e seu equivalente, TLS (Transport Layer
Security) utilizam o padro de certificados X.509 (ITU-T, 2001) e criptografia assimtrica para
proteger os dados que trafegam na Internet. Eles foram desenvolvidos com o objetivo de
tornar a comunicao na Internet mais segura, j que muitos protocolos da camada de

12

aplicao no possuem nenhum tipo de criptografia nativa, o que poderia levar a diversos
tipos de ataques.
De acordo com Stallings (2008):
Trs protocolos de camada superior so definidos como parte do SSL: o
Protocolo de Estabelecimento de Sesso (HandshakeProtocol), o Protocolo de
Mudana de Especificao de Cifra (ChangeCipherSpecProtocol) e o Protocolo
de Alerta (AlertProtocol). Esses protocolos so usados no gerenciamento de
trocas SSL.(STALLINGS, 2008, p. 185)

O Secure Socket Layer se baseia em dois conceitos complementares, a conexo SSL


e a sesso SSL. As sees SSL so criadas pelo Protocolo de Estabelecimento de Sesso e
funcionam como uma associao entre um servidor e seus clientes. As sesses so usadas
para evitar a renegociao de novos parmetros seguros a cada nova conexo, definindo
assim um conjunto de parmetros criptogrficos que podem ser compartilhados entre
mltiplas conexes.
Assuno (2014) expe que mesmo o processo o protocolo HTTPS possuir um
processo de criptografia para proteo dos dados, ele ainda pode ser passvel a ataques de
interceptao de trfego.
5.1.3 Certificados digitais

Como o SSL e o TLS trabalham com criptografia assimtrica, que exige uma chave
pblica e uma privada para completar uma transao, necessria uma infraestrutura para
distribuio e uso de certificados digitais. O certificado documento digital utilizado como uma
maneira de distribuir a chave pblica atravs de uma estrutura PKI (Public Key Infrastructure).
Muitas instituies hoje possuem sua prpria infraestrutura de chaves pblicas e podem gerar
certificados digitais para terceiros, seja de forma gratuita ou cobrando por esse servio. Essas
empresas so chamadas de autoridades de certificao.
5.1.4 Servidores Web

Servidores Web so servidores responsveis por aceitar requisies HTTP de clientes


web e entregar respostas deste protocolo, geralmente em forma de pginas web contendo
contedos estticos (como textos e imagens) e dinmicos (scripts) (LIMA, 2003). O contedo

13

disponibilizado pelo servidor visto pelo cliente atravs de navegadores tais como: Internet
Explorer, Netscape, Google Chrome.
O servidor que prov o servio web, ou seja, hospeda o contedo para consulta,
executa um software especfico para realizar essa funo tais como o IIS (Internet Information
Services), que proprietrio da Microsoft, e o Apache, que uma das solues de cdigofonte livre, que executado em diversas plataformas.

5.1.4.1 Apache

O Apache um servidor web de alta-performance, leve e robusto, usado tanto por


pequenas empresas quanto largas corporaes. Possui cdigo-fonte aberto e oferece uma
gama de recursos como: autenticao, controle de acesso, logs de acesso e extenses de
scripts. Por ser um software livre, novas funcionalidades podem ser adicionadas por atravs
de sua API (Application Programming Interface).
Figura 1. Comparativo de popularidade entre os servidores

Disponvel em: http://goo.gl/mKfuQk. Acesso em 09 de Junho de 2015.

A figura acima demostra que durante cinco anos, o Apache o servidor mais buscado
pelo mecanismo de busca Google e consequentemente, bastante utilizado. Assuno (2009)

14

corrobora esta afirmao alegando que o Apache em conjunto com a linguagem PHP
(Hypertext Preprocessor) a combinao de solues mais comum em servidores da Internet.

5.1.5 Linguagens de desenvolvimento web

Para produzir contedo dinmico, preciso utilizar linguagens de programao que


permitam maior flexibilidade que o HTTP consegue executar. Nesse campo, surge linguagens
como o Java, PHP, Javascript, Python, Ruby, entre vrias outras.
O termo java geralmente utilizado para designar uma plataforma, composta pela
linguagem de programao, a mquina virtual (Java Virtual Machine) e muitas APIs de
controle e desenvolvimento.
Schildt (2013) classifica a linguagem de programao como o responsvel por definir
os elementos especficos do cdigo-fonte do programa, e dentro desse contexto o Java
considerado uma linguagem de programao de alto nvel, orientada a objeto, tornando o
processo de criao do software mais rpida, fcil e confivel.
A linguagem Java, que descendente direta de linguagens como C e C++, ganhou
forte terreno com a expanso da Internet, pois permite a criao de programas portveis, os
applets, aplicaes baixadas sob demanda, que so executados em navegadores
compatveis com Java. Os applets so possveis devido JVM (Java Virtual Machine) que
atua como uma camada de hardware simulado que interpreta bytecodes, que pode ser
definido como um conjunto de instrues altamente otimizado.
Utilizar a JVM garante a portabilidade, que precisa existir dentro do ambiente Web,
devido grande variedade de arquitetura computacional, e garante um controle de segurana,
j que a prpria JVM pode inclusive reter o programa, impedindo efeitos colaterais no sistema.
Mas muitas vezes, a linguagem orientada a objeto pode ser complementada por scripts, para
automatizar tarefas como consultas simples a banco de dados.

15

5.1.5.1 Scripts

Scripts podem definidos como um conjunto de instrues que realizam

tarefas

geralmente repetitivas. Costa (2010), afirma que no h um consenso quanto a essa


classificao. O uso da linguagem de scripts evoluiu ao ponto desse conceito aplicar-se
tambm a programas de computador interpretados.
As linguagens baseadas em scripts apresentam caractersticas que as diferem das
outras linguagens de programao convencionais, como a no gerao de um programa
executvel, partir de um cdigo fonte.
Em ambientes Web, os scripts podem ser utilizados como uma forma de acrescentar
movimento e comportamento s pginas. Uma delas o PHP uma linguagem de
programao de software-livre, baseada em scripts com mltiplas funes, que foi concebida
originalmente por Rasmus Lerdorf no ano de 1995.
Ao contrrio do HTML, que executado pelo browser quando uma pgina aberta,
PHP pr-processado pelo servidor. Assim, todo o cdigo PHP incluso num arquivo
processado pelo servidor antes de enviar algo para o cliente, atravs do browser. Por esse
motivo, muitas vezes referido como uma linguagem server-side.
De acordo com Sica e Real (2007, p. 6), ao acessar alguma pgina desenvolvida em
PHP, o servidor HTTP direciona a requisio para o interpretador PHP, que por sua vez,
executa o script contido na pgina solicitada e devolve ao cliente.
Um outro exemplo de linguagem script o Javascript. Costa (2010) afirma que essa
linguagem atualmente a principal linguagem para programao client-side em navegadores
web. Ela no possui classes, mas possui construtores que so capazes de fazer o que as
classes fazem, incluindo agir como contineres para classes de variveis e mtodos.
5.1.6 Banco de dados

Um banco de dados (sua abreviatura BD, em ingls DB, database) uma entidade
na qual possvel armazenar dados de maneira estruturada e com a menor redundncia
possvel. Estes dados podero ser ento acessados e utilizados por usurios distintos, atravs
de softwares especficos. A linguagem mais comumente utilizada para a comunicao entre
os usurios e o banco a SQL (Structured Query Language). (LIMA, 2003).

16

Para poder controlar os dados e os usurios, utiliza-se um sistema chamado de SGBD


(sistema de gesto de bancos de dados) ou em ingls DBMS (Database Management
System). O SGBD um conjunto de servios (aplicaes software) que permitem gerenciar
os bancos de dados, isto :

Permitir o acesso aos dados de maneira simples;

Autorizar um acesso s informaes a mltiplos usurios;

Manipular os dados presentes no banco de dados (insero, supresso,


modificao);

Existem atualmente diversas solues para gerenciamento e acesso a banco de


dados, como: Microsoft SQL Server, MySQL, PostgreSQL e diversas outras. De acordo com
Welling e Thompson (2004, p.25), o MySQL um sistema de gerenciamento de dados
relacional, isto , suporta bancos de dados que consistem em um conjunto de
relacionamentos.
Figura 2: Gerenciador de banco de dados MySQL

Disponvel em: http://commons.wikimedia.org/wiki/File:Webmin-mysql-fw.png. Acesso em maro de


2015.

17

Welling e Thompson (2004) concordam com Pessoa (2007) ao afirmarem que um


banco bem planejado e estruturado pode evitar problemas de redundncia de dados, que
podem ocasionar perda ou corrompimento dos mesmos. Muitos dos ataques a ambientes web
visam como objetivo alcanar os dados no banco, portanto a proteo desse sistema vital
para uma soluo segura.

5.2 Segurana da Informao

A informao o principal bem de qualquer empresa ou instituio, seja pblica ou


privada. A Segurana da Informao a rea do conhecimento responsvel por proteger os
dados e os ativos de uma instituio contra vrios tipos de ameaas, como o vazamento de
informaes internas.
Um dos principais papis da rea de Segurana da Informao proteger todo o
conhecimento institucional gerado a partir do uso das informaes. Campos (2014) afirma que
a informao o elemento essencial para todos os processos de negcio da organizao,
sendo, portanto, um bem ou ativo de grande valor.
Os ativos de uma empresa so os elementos fsicos, humanos ou tecnolgicos que
fazem parte do fluxo de informaes dentro da companhia. A Segurana da Informao utilizase de padres, processos, e regras para controlar e monitorar o uso destes ativos, a fim de
proteger o conhecimento organizacional.
5.2.1 Pilares da segurana da informao

Um sistema de segurana da informao baseia-se em trs princpios, ou pilares,


bsicos: Confidencialidade, Integridade e Disponibilidade. Somente alcanamos um nvel de
segurana satisfatrio se todos os pilares foram corretamente implementados.

18

Figura 3: Pilares da Segurana da Informao

Disponvel em: http://www.helviojunior.com.br/it/security/clareza-e-produtividade-na-gestao-dofirewall-aker-6-1/. Acesso em maro de 2015.

Stallings (2010, p.10) deixa explcita a ideia de que a confidencialidade a proteo


dos dados transmitidos contra ataques passivos. Esse pilar da segurana responsvel pela
codificao dos dados com o uso de tcnicas criptogrficas, de modo que somente o receptor
possa decodificar corretamente a mensagem enviada.
O segundo pilar o que se refere integridade. Campos (2014) explica que o pilar da
integridade refere-se proteo dos dados em trnsito em uma rede de computadores, ou
outro sistema de transmisso, contra alteraes imprprias. Outra funo da integridade
prevenir que os dados sejam corrompidos durante o processo de envio da mensagem ao
receptor final.
O pilar da disponibilidade responsvel por manter os dados sempre disposio
quando forem requisitados. A RFC 2828 define a disponibilidade como sendo a propriedade
de um sistema ou de um recurso do sistema ser acessvel e utilizvel sobre demanda por uma
entidade autorizada do sistema. (STALLINGS,2010, p.10)
5.2.2 - Vulnerabilidade

A Vulnerabilidade o fator que, quando no devidamente detectado e corrigido, pode


levar intruso e ao comprometimento do sistema. De acordo com Campos (2014, p.23), os
ativos de informao, que suportam os processos de negcio, possuem vulnerabilidades.
importante destacar que essas vulnerabilidades esto presentes nos prprios ativos, ou seja,
que so inerentes a eles, e no de origem externa.

19

5.2.3 Intruso

O processo de intruso o comprometimento do sistema pelo invasor, quando este


tem acesso a dados privilegiados que no esto disponveis ao pblico. Campos (2014) e
Stallings (2010) alegam que a intruso uma consequncia da descoberta e explorao de
uma vulnerabilidade, seja ela proveniente de um problema tcnico ou falha humana. SOUZA
(2002) tambm aborda o comprometimento de um sistema ao expor que a intruso ou ataque
podem ser definidos como um conjunto de aes que visam comprometer a disponibilidade,
integridade ou confidencialidade de um recurso computacional.
Muitos ataques envolvem vrias etapas ou fases. Seguem abaixo as principais:
1.

Coleta de informaes: levantamento no intrusivo de informaes do sistema


alvo, baseando-se normalmente em fontes pblicas de informao.

2.

Varredura: pesquisa acerca do sistema alvo para descoberta de caractersticas


que possam auxiliar na intruso.

3.

Penetrao: obteno de acesso privilegiado no autorizado, atravs de uma


brecha ou vulnerabilidade do sistema.

4.

Negao de servio: comprometimento ou interrupes no funcionamento do


sistema ou de partes dele.

5.

Remoo de rastros: remoo dos registros que possam identificar o ataque.

6.

Criao de entradas: instalao de programas ocultos (backdoors) que permitam


uma nova invaso ao sistema.

As etapas descritas acima no so regras para criao de um plano de ataque. Podem


existir todas ou apenas algumas delas. Cabe destacar que as fases de varredura, penetrao
e negao de servio ocorrem na maioria dos ataques.

20

5.3 Penetration Test


Penetration Test uma tcnica em que so utilizadas ferramentas de hackers para
realizar a anlise de um sistema ou rede em busca de falhas de segurana. Tambm chamado
de Teste de Invaso ou anlise de vulnerabilidades, o Penetration Test Penetration Test
realizado por indivduos conhecidos como Hackers ticos. Assuno (2002) refere-se ao
Hacker tico como um profissional treinado para descobrir, identificar e explorar novas falhas
em sistemas.
5.3.1 Planejamento e cronograma do Penetration Test

Um Penetration Test exige um planejamento cuidadoso do escopo do que ser


testado, assim como a durao do processo e os itens contidos no relatrio final. No incio do
planejamento, o hacker tico ir colher as informaes necessrias para a execuo do teste.
Dentre estas informaes, podemos citar: o escopo do projeto, seu objetivo, durao, tarefas
a serem realizadas, custo do servio, forma de pagamento e as metas que devem ser
alcanadas.
As fases de realizao de um teste de invaso so: planejamento, execuo e psteste.
5.3.1.1 Cronograma de realizao

O cronograma da realizao de um Penetration Test varia de acordo com trs fatores:


a quantidade de tarefas a serem realizadas, a quantidade de equipamentos que sero
testados e o nmero de horas dirias demandadas para realizao do teste.O tempo mdio
de duas a quatro semanas para cada uma das trs fases, o que resulta em uma durao
mdia total entre seis a doze semanas para a realizao de um teste completo do tipo caixa
preta (black-box).
Assuno (2014, p. 36) discorre sobre as vantagens de um teste caixa preta:
[...] um teste black-box compreende uma anlise completa do sistema alvo
partindo do pressuposto que o invasor no conhea nenhuma informao
preliminar para ajudar na verificao de vulnerabilidades. o tipo de teste mais
completo, pois exige do Hacker tico uma extensa pesquisa sobre o objeto de
anlise. Assuno (2014, p. 36)

21

5.3.2 Metodologias de Penetration Test


Assim como ocorre com outras reas de TI, alm da Segurana da Informao,
diversas entidades desenvolveram normas para uma maior padronizao das tarefas a serem
realizadas em um Penetration Test. Estes padres so importantes, pois facilitam a
organizao de um processo de anlise de vulnerabilidades em larga escala.

Os dois padres mais conhecidos so o OSSTMM (Open Source Security Testing


Methodology Manual), desenvolvido pela ISECOM (Institute for Security and Open
Methodologies), e o padro ISSAF (Information Systems Security Assessment Framework),
criado pelo OISSG (Open Information Systems Security Group).

5.3.2.1 OSSTMM (Open Source Security Testing Methodology Manual)

O Open Source Security Testing Methodology Manual (ISECOM, 2015), ou


simplesmente OSSTMM, a metodologia mais popular para padronizao de um Penetration
Test . Os testes padronizados so explicados em um alto nvel de detalhes, e incluem tambm
a anlise de diversos tipos de tecnologias de redes sem fio como bluetooth, infravermelho e
wi-fi.
A documentao do OSSTMM no considerada um ferramental, portanto, as
tcnicas sugeridas podem ser utilizadas atravs de qualquer ferramenta de anlise de
vulnerabilidades compatvel com o teste proposto. Por este motivo, apesar de oferecer uma
maior flexibilidade na realizao dos processos, o OSSTMM possui uma maior curva de
aprendizado.
5.3.2.2 ISSAF(Information Systems Security Assessment Framework)

O Information Systems Security Assessment Framework, ou ISSAF, um manual de


padronizao desenvolvido para a realizao de checklists de auditoria em sistemas,
abordando tambm tcnicas para a anlise de vulnerabilidades. Sua documentao divida
em duas partes: Gerenciamento geral do processo (ISSAF0.2.1A) e PenetrationTesting
(ISSAF0.2.1B).

22

Uma caracterstica do ISSAF o fato de no exigir conhecimento prvio em


ferramentas e sistemas operacionais. A segunda parte de seu manual (ISSAF0.2.1B) aborda
de forma detalhada, com imagens e exemplos, o uso do ferramental necessrio para a
realizao dos testes.A documentao do ISSAF prope a diviso do Penetration Test em
cinco fases distintas: planejamento, anlise, tratamento, resultados e manuteno.
5.3.3 Tipos de testes
Stuart, Scambray e Kurtz (2014) concordam com Assuno (2009) e Engebretson
(2013) que a definio do tipo de teste a ser realizado afeta diretamente os resultados do
processo, sendo, portanto, muito importante compreender e escolher o teste correto para cada
situao.
Tanto o OSTMM quanto o ISSAF definem trs tipos de Penetration Test que podem
ser realizados. So os testes de caixa preta (Black-box), caixa branca (White-box) e caixa
cinza (Greybox). Todos os tipos possuem muitas similaridades, sendo diferenciados por seus
objetivos finais e o escopo.
5.3.3.1 Black-box

Utilizado para simular ataques de invasores externos que no tm nenhum


conhecimento sobre a rede ou sistema que esto varrendo. O invasor ou aquele que simula
a invaso deve obter todo o tipo de informao para conseguir descobrir os pontos fortes e
fracos de um sistema. A maior vantagem desse teste a simulao em modo real da viso
de um atacante externo sobre o sistema, e a identificao de possveis vazamentos de
informao. As desvantagens incluem um maior tempo de realizao e o fato de mostrar
apenas a viso de um invasor externo quando, na realidade, a maioria dos ataques acontece
por parte de pessoas que esto dentro do ambiente.
5.3.3.2 White-box

Testes de caixa branca so feitos com total conhecimento preliminar da rede. Seus objetivos
so mais especficos, geralmente so utilizados para descobrir vulnerabilidades no sistema e
no esto focados na viso de um invasor externo e nem na descoberta de vazamentos de
informaes.

23

5.3.3.3 Gray-box

O teste gray-box utilizado para identificar possveis mtodos de ataque que poderiam
ser realizados por algum que est dentro da corporao. O exemplo comum o de um
funcionrio que tem o conhecimento parcial da rede na qual ele se encontra e tenta um ataque
contra outro departamento. Atualmente, muitos ataques iniciam-se dentro das empresas, o
que torna o Gray-box uma opo de teste importante para considerao.

5.3.4 Ps-teste
Aps a concluso da anlise das vulnerabilidades, necessrio reunir e organizar
todas as informaes obtidas durante o processo, como, por exemplo, os tipos de problemas
encontrados e o nvel de gravidade de cada um. Em geral, utiliza-se uma classificao de
acordo com a gravidade da falha encontrada: se de baixo risco, mdio risco ou alto risco.
Essas informaes devem estar contidas no relatrio final.
5.3.4.1 Relatrio final

O relatrio final o documento que ser composto das informaes e falhas encontradas
durante o Penetration Test. Deve seguir um modelo claro, de preferncia baseado em tpicos,
sem conter informaes confusas. Assuno (2014) recomenda quatro itens essenciais que
devem estar contidos no relatrio: introduo, detalhes do trabalho, resultados obtidos e
recomendaes.
Alm do relatrio final, Mcclure, Scambray e Kurtz (2014) recomendam a criao de
um Termo de responsabilidade que dever ser assinado pelo prestador do servio de
Penetration Test, assim como pela empresa responsvel pela contratao do teste.
Engebretson (2013) e Assuno (2014) tambm concordam com a importncia deste
documento, de forma a proteger legalmente o hacker tico j que o penetration test pode levar
ao comprometimento do Sistema e acesso a informaes confidenciais.

24

5.4 Vulnerabilidades no ambiente da web

O ambiente web composto pelo servidor que hospeda as pginas, a linguagem de


programao utilizada, alm de gerenciadores de contedo como o Wordpress e outras
solues. um ambiente heterogneo que precisa trabalhar como uma nica entidade.
Doup (2012) explica que a ocorrncia das vulnerabilidades de uma aplicao web
pode ser diminuda atravs de uma melhor educao do desenvolvedor ou pelo uso de
ferramentas que permitem a realizao de testes de segurana. A OWASP (Open Web
Application Security Project) possui projetos que visam tanto educar os programadores,
quanto ajuda-los no processo de identificao das falhas web.

5.4.1 Projeto OWASP (Open Web Application Security Project)

O projeto OWASP resultado dos esforos da entidade sem fins lucrativos de mesmo
nome, e tem como objetivo encontrar e combater a causa da insegurana em aplicativos web.
Meucci (2008) expe que a OWASP no afiliada com nenhuma empresa de tecnologia,
portanto as informaes de segurana geradas pela comunidade do projeto so imparciais e
prticas.
De acordo com Oliveira (2012, p. 49), os projetos OWASP so divididos em duas
categorias: desenvolvimento e documentao. Curphey et al (2005) e Meucci (2008) citam
alguns dos principais projetos desenvolvidos:

Development Guide o projeto de documentao que foca na segurana


durante o desenvolvimento de aplicaes web. Ele demonstra vrios aspectos
pertinentes segurana das solues

Testing Guide um guia prtico norteando as questes: o que testar, porque,


quando, onde e como testar as aplicaes Web em busca de vulnerabilidades.

25

Code Review Guide um guia que mostra boas prticas para a reviso segura
de cdigos com o objetivo de encontrar vulnerabilidades. um pouco mais
tcnico e extenso do que o testing guide.

Top Ten o guia mais popular da OWASP. O Top Ten basicamente um


documento que referncia e explica as dez principais vulnerabilidades das
aplicaes web. Mostra as consequncias da explorao de cada uma dessas
falhas, assim como algumas tcnicas para se proteger contra elas.

Carvalho (2014) expe que o documento do Top Ten no lista necessariamente as


falhas mais crticas de um ambiente web, e sim as mais frequentes. Por esta razo ao longo
do tempo a lista vai sofrendo alteraes: algumas vulnerabilidades so removidas e outras
colocadas em seu lugar.
Apresenta-se a seguir algumas das vulnerabilidades j contempladas pelo documento
Top Ten e a explicao do significado de cada uma delas.
Quadro 1: Vulnerabilidades Web reportadas pela OWASP. Adaptado do Top Ten.

Cross Site Scripting


(XSS)

Os furos XSS ocorrem sempre que uma aplicao obtm as


informaes fornecidas pelo usurio e as envia de volta ao
navegador sem realizar validao ou codificao daquele
contedo. O XSS permite aos atacantes executarem scripts no
navegador da vtima, o qual pode roubar sesses de usurio,
pichar sites Web, introduzir cdigo malicioso, etc.

Falhas de Injeo

As falhas de injeo, em especial SQL Injection, so comuns em


aplicaes Web. A injeo ocorre quando os dados fornecidos pelo
usurio so enviados a um interpretador comparte do comando ou
consulta. A informao maliciosa fornecida pelo atacante, engana
o interpretador que ir executar comandos mal-intencionados ou
manipular informaes.

Execuo maliciosa
de arquivos

Referncia Insegura
Direta Objetos

Os cdigos vulnerveis incluso remota de arquivos (RFI)


permitem ao atacante incluir cdigo e dados maliciosos, resultando
em ataques devastadores, como o comprometimento total do
servidor. Os ataques de execuo de arquivos maliciosos afetam
PHP, XML e todos os frameworks que aceitem nomes de arquivo
ou arquivos dos usurios.
Uma referncia direta a um objeto ocorre quando um
desenvolvedor expe a referncia a um objeto implementado
internamente, como o caso de arquivos, diretrios, registros da
base de dados ou chaves, na forma de uma URL ou parmetro de
formulrio. Os atacantes podem manipular estas referncias para
acessar outros objetos sem autorizao.

26

Cross Site Request


Forgery (CSRF)

Vazamento de
Informaes e
Tratamento de
Erros Inapropriado

Um ataque CSRF fora o navegador da vtima, que esteja


autenticado em uma aplicao, a enviar uma requisio prautenticada a um servidor Web vulnervel, que por sua vez fora
o navegador da vtima a executar uma ao maliciosa em prol do
atacante. O CSRF pode ser to poderoso quanto a aplicao Web
que ele ataca.
As aplicaes podem divulgar informaes sobre suas
configuraes, processos internos ou violar a privacidade por meio
de uma srie de problemas na aplicao, sem haver qualquer
inteno. Os atacantes podem usar esta fragilidade para roubar
informaes consideradas sensveis ou conduzir ataques mais
estruturados.

Autenticao falha e
Gerenciamento de
Sesso

As credenciais de sesso no so protegidas apropriadamente


com bastante frequncia. Atacantes comprometem senhas,
chaves ou informaes de autenticao de forma a assumir a
identidade de outros usurios.

Armazenamento
Criptogrfico
Inseguro

As aplicaes Web raramente utilizam funes criptogrficas de


forma adequada para proteo de informaes e credenciais. Os
atacantes se aproveitam de informaes mal protegidas para
realizar roubo de identidade e outros crimes, como fraudes de
cartes de crdito.

Comunicaes
inseguras

Falha de Restrio
de Acesso URL

As aplicaes frequentemente falham em criptografar trfego de


rede quando se faz necessrio proteger comunicaes
crticas/confidenciais.
Frequentemente, uma aplicao protege suas funcionalidades
crticas somente pela supresso de informaes como links ou
URLs para usurios no autorizados. Os atacantes podem fazer
uso desta fragilidade para acessar e realizar operaes no
autorizadas por meio do acesso direto s URLs.

Disponvel em: https://www.owasp.org/images/9/9c/OWASP_Top_10_2013_PT-BR.pdf. Acesso em


maro de 2015.

Os riscos associados a essas falhas divulgadas anualmente, atravs de uma coleta de


dados, podem ser verificados atravs do aumento de incidentes envolvendo roubo de
invases documentado pela CERT. Dos mais de 1 bilho de incidentes ocorridos em 2014,
na tentativa de se obter dados em autorizao, quase 3% apresentam apenas tentativas de
comprometer especificamente o servidor web.

27

5.4.2 As dez principais vulnerabilidades da web

Segundo a documentao da OWASP TOP TEM, as dez vulnerabilidades mais


frequentes em ambientes web so:

Falhas de injeo de cdigo (SQL Injection, XPATH Injection e outras);

Cross Site Scripting (XSS Refletido/Persistido);

Quebra do processo de autenticao e gerenciamento de sesso;

Referncia insegura a objetos;

Cross Site Request Forgery (CSRF);

M configurao de processos de segurana;

Insegurana no armazenamento criptogrfico;

Proteo Insuficiente na camada de transporte;

Redirecionamento e encaminhamentos invlidos.

De acordo com a OWASP, as cinco primeiras vulnerabilidades ocorrem durante a


etapa de desenvolvimento da aplicao. Muniz e Lakhani (2013) opinam que a falha de Cross
Site Scripting mais impactante do que o SQL Injection pois afeta o usurio final, discordando
de Pauli (2014), que corrobora a lista da OWASP ao citar o processo de injeo de SQL como
a vulnerabilidade web mais grave.
Essa diferena de opinies entre autores principalmente devido ao carter dinmico
das vulnerabilidades, que podem ganhar maior ou menor nfase ao longo do tempo. De fato,
a lista Top Ten da OWASP alterada a cada um ou dois anos, pois novas vulnerabilidades
surgem, algumas outras perdem a sua eficcia ou at mesmo deixam de existir. Na imagem
h uma comparao da verso 2010 e 2013 da Lista Top Ten.

28

Figura 4:Comparativo da lista top ten dos anos de 2010 e 2013.

Disponvel em: www.owasp.org/images/9/9c/OWASP_Top_10_2013_PT-BR.pdf. Acesso em Maro


de 2015.

Percebe-se que algumas das vulnerabilidades mudaram a sua ordem de classificao,


enquanto outras deixaram de existir, como o caso do antigo A6 Configurao Incorreta
de Segurana.. Em seu lugar, temos a falha de Exposio de dados sensveis. Este trabalho
utilizar a verso de 2013 como base, que atualmente o padro mais atual em vigor.
5.4.3 Ferramentas de anlise de vulnerabilidade Web
Hoje existem no mercado dezenas de ferramentas para anlise das vulnerabilidades
em ambientes Web. Muitas delas so comerciais, com valores que variam de algumas
dezenas a milhares de dlares. Entre algumas das ferramentas disponveis esto o Acunetix,
o Nessus e o Burp Suite. Entretanto, alguns fatores devem ser considerados para a escolha
da ferramenta que ser utilizada para a verificao das falhas.
De acordo com Assuno (2014), um dos fatores relevantes na escolha de uma
ferramenta de anlise de vulnerabilidades em ambientes web a quantidade de falsos
positivos e falsos negativos gerados aps o processo de varredura ser finalizado. Um falso
positivo ocorre quando a falha no existe no sistema, mas o software de deteco a identifica
erroneamente. J o falso negativo quando a vulnerabilidade existe, mas no detectada
pela ferramenta de anlise.

29

Outro fator a ser considerado a implementao de um perfil para a verificao das


falhas citadas na lista OWASP Top Ten. Como ao longo do tempo este documento sofre
modificaes, em virtude dos estudos que identificam a frequncia das vulnerabilidades web,
a ferramenta deve oferecer atualizaes frequentes em sua relao de falhas detectveis,
para se manter relevante ao longo do tempo.
O site SecTools.org mantm um ranking das ferramentas de segurana e anlise de
vulnerabilidades mais populares, segundo especialistas da rea (MARTINELO e BELLEZI,
2014).

30

6. METODOLOGIA DE PESQUISA

Este trabalho desenvolver uma pesquisa de cunho qualitativo, utilizando os mtodos


bibliogrfico, documental e exploratrio. De acordo com Marconi e Lakatos (2003, p.201),
metodologia de pesquisa aquela que abrange a maior nmero de itens, pois responde, a
um s tempo, s questes: Como? Com qu? Onde? Quanto?.
Para Gil (2010, p 27) se o propsito de uma pesquisa for proporcionar uma maior
familiaridade com problema conhecido a fim de torn-lo mais explcito ou construir hipteses,
deve-se aplicar a pesquisa exploratria.
Em relao ao delineamento da pesquisa, ela possui caractersticas de carter
experimental onde sero comparadas cinco ferramentas de anlises de vulnerabilidades para
conhecer a eficincia de cada uma delas na deteco das dez principais falhas da lista Top
Ten OWASP, na verso 2013 do documento. O nmero de ferramentas foi limitado a cinco
para permitir um maior aprofundamento na explorao de cada uma delas, respeitando o
cronograma de realizao deste trabalho.
A OWASP (Open Web Application Security Project) uma organizao sem fins
lucrativos que visa informar sobre novas vulnerabilidades em ambientes web e ajudar a melhor
a segurana das aplicaes online. Ela possui uma lista constantemente atualizada das dez
falhas mais frequentes em um servidor web. De acordo com Carvalho (2014, p. 5), a lista de
vulnerabilidades OWASP Top Ten desenvolvida e atualizada a partir de consultas feitas a
especialistas em Segurana da Informao e organizaes de portes e ramos diversos, na
esfera governamental ou privada, em vrios pases). . Por esta razo este trabalho visa
basear o teste das ferramentas escolhidas de anlise de falhas na lista de dez
vulnerabilidades, pois a mesma referncia na rea de Segurana da Informao como
problemas que necessitam de rpida correo quando detectados.
As ferramentas sero selecionadas com base no ranking do site SecTools.Org, que
faz uma listagem das cento e vinte cinco ferramentas de segurana utilizadas e reconhecidas
pela comunidade de Segurana da Informao. O ranking se baseia na opinio de mais de
dois mil2 profissionais da rea de Segurana da Informao , que podem conceder uma nota
s ferramentas de acordo com seus recursos e popularidade.

Disponvel em http://sectools.org/about

31

Para a realizao da pesquisa, foram escolhidas cinco ferramentas para realizar a


anlise de vulnerabilidades das falhas do OWASP Top Ten. A seleo levou em considerao
apenas as ferramentas open source (de cdigo-fonte livre) e o ranking das mesmas no site
SecTools. O objetivo da escolha de apenas cinco solues permitir uma melhor
especificao dos recursos de cada ferramenta, alm de uma anlise comparativa mais
profunda entre a quantidade de falhas detectadas no cenrio que ser simulado.
Durante o experimento, alm dos softwares de teste selecionados, ser utilizado o
framework Mutillidae3, que permite simular as vulnerabilidades descritas no documento
OWASP Top Ten para fins de teste. Tambm sero coletados os seguintes dados sobre as
ferramentas: quantidade de falhas detectadas, nmero de falsos positivos e velocidade de
deteco das falhas. Para fins do trabalho, a ferramenta mais eficiente ser considerada
aquela que identificar mais vulnerabilidades em um menor tempo. A pesquisa experimental
seguir o seguinte fluxograma:

Disponvel em http://sourceforge.net/projects/mutillidae/

32

Figura 5. Fluxograma de passos para realizao da pesquisa

1.Construir um cenrio
simulado com as dez
principais falhas OWASP;

8.Tabular os dados sobre


quantas e quais
vulnerabilidades foram
encontradas;

9.Repetir o teste com a


mesma ferramenta e
verificar se os dados esto
consistentes;

2.Estabelecer critrios para a


seleo das ferramentas de
anlise de vulnerabilidades;

7. Observar quantidade final


de falhas encontradas,
excluindo-se os falsos
positivos.

10. Repetir os passos de um


a oito com as outras
ferramentas escolhidas para
a anlise;

3.Instalar as ferramentas de
anlise de vulnerabilidade
selecionadas;

6.Observar quantidade de
falsos-positivos;

11. Verificar, de acordo com


a tabulao, qual software
foi capaz de detectar um
maior nmero de
vulnerabilidades.

4.Escolher uma das


ferramentas e realizar uma
anlise no ambiente
simulado;

5.Observar a variao de
tempo entre ataque e
gerao de alerta de
vulnerabilidade detectada;

Fonte: Marcos Flvio Arajo Assuno

As concluses desta pesquisa levaro em considerao tabelas comparativas para


levantamento das variveis analisadas pelo trabalho, como tempo, falhas reais x falsos
positivos. Os dados obtidos sero comparados com os trabalhos de outros autores
consultados no referencial terico, e assim permitiro responder questo inicial e motivadora
dessa pesquisa.

33

7. RESULTADOS

Os resultados ainda sero obtidos e apresentados, de acordo com o cronograma


apresentado a seguir.

34

8. CRONOGRAMA

Figura 6: Cronograma do desenvolvimento da pesquisa para a dissertao

Fonte: Marcos Flvio Arajo Assuno

35

9. REFERNCIAS
ASSUNO, Marcos F. Honeypots e Honeynets. Florianpolis: Visual Books, 2009.
ASSUNO, Marcos F. Segredos do Hacker tico. 5 ed. Florianpolis: Visual Books,
2014.
CAMPOS, Andr. Sistema de Segurana da Informao. 3 ed. Florianpolis: Visual
Books, 2014.
CARVALHO, Alan Henrique Pardo. Segurana de aplicaes web e os dez anos do relatrio
OWASP Top Ten: o que mudou? Fasci-Tech Peridico Eletrnico da FATEC-So
Caetano do Sul, So Caetano do Sul, v.1, n. 8, Mar./Set. 2014, p. 6 a 18.
CERON, J; FAGUNDES, Leonardo; LUDWIG, Glauco; TAROUCO. Liane; BERTHOLDO,
Leadro. Vulnerabilidades em Aplicaes Web: uma Anlise Baseada nos Dados
Coletados nos honeypots. VIII Simposio Brasileiro de Segurana. 2008 Disponvel em
<http://sbseg2008.inf.ufrgs.br/proceedings/data/pdf/st06_02_resumo.pdf>.
COSTA, D.G. Administrao de Redes com scripts: Bash Script, Python e VBScript.
Rio de Janeiro: Brasport, 2010.
CURPHEY, M.; ENDLER, D.; HAU, W.; TAYLOR, S.; SMITH, T.; RUSSELL,A.; MCKENNA,
G.; PARKE, R.; MCLAUGHLIN, K.; TRANTER. A guide to building secure web applications
and web services. The Open Web Application Security Project, v. 1, 2005.
DOUP, Adam et al. Enemy of the State: A State-Aware Black-Box Web Vulnerability
Scanner. In: USENIX Security Symposium. 2012. Disponvel em <
www.usenix.org/system/files/conference/usenixsecurity12/sec12-final225.pdf >. Acesso em
22 de dezembro de 2014.
ENGEBRETSON, Patrick. Introduo ao Hacking e aos Testes de Invaso. So Paulo:
Novatec, 2013.
GIL, Antonio Carlos. Como elaborar projetos de pesquisa. 5. ed. So Paulo: Atlas, 2010.
HOLZ, T.; MARECHAL, S; RAYNAL, F. New threats and attacks on the World Wide Web.
IEEE Security & Privacy Magazine, v. 4, n. 2, p. 45-50, maro. 2006.
ISECOM. Open Source Security Testing Methodology Manual. Disponvel em <
www.isecom.org/osstmm/>. Acesso em 07 de Janeiro de 2015.
ISO 1 7799. ABNT NBR ISO/IEC 1 7799:2005 Tecnologia da Informao Tcnicas de
segurana Cdigo de prtica para a gesto da segurana da informao. Associao
Brasileira de Normas Tcnicas Rio de Janeiro: ABNT, 2005.
ITU-T. Recommendation X.509 - Open Systems Interconnection - The directory:
authentication framework. Disponvel em
<https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-X.509-199311-S!!PDFE&type=items>. Acesso em 02 de junho de 2015.
KUROSE, James; ROSS, Keith. Redes de Computadores e a Internet: uma abordagem
top-down. 3. ed. So Paulo: Pearson, 2005.
LAKATOS, Eva M.; MARCONI, Marina A. Fundamentos de metodologia cientfica. 5. ed.
So Paulo: Atlas. 2003.
LIMA, Joo P. Administrao de Redes Linux. Goinia: Terra, 2003.

36

MACDO, Mrcio A.; QUEIROZ, Ricardo G.; DAMASCENO, Julio C..jShield: Uma Soluo
Open Source para Segurana de Aplicaes Web. Universidade Federal de Pernambuco.
2010.
MARTINELO, Clriston Aparecido Gomes; BELLEZI, Marcos Augusto. Anlise de
Vulnerabilidades com OpenVAS e Nessus. T.I.S. So Carlos, v. 3, n. 1 , p. 34-44, jan-abr
2014
MCCLURE, Stuart; SCAMBRAY, Joel; KURTZ, George. Hackers Expostos. 7 ed. So
Paulo: Bookman. 2014.
MEUCCI, M. Owasp testing guide version 3.0. OWASP Foundation. 2008.
MUNIZ, Joseph; LAKHANI, Aamir. Web Penetration Testing with Kali Linux. Birmingham:
Packt. 2013.
OISSG. Information Systems Security Assessment Framework. Disponvel em <
www.oissg.org/issaf>. Acesso em 07 de Janeiro de 2015.
OLIVEIRA, Tlio. Testes de Segurana em Aplicaes Web segundo a metodologia
OWASP. Projeto de TCC. Universidade Federal de Lavras. 2012. Disponvel em
<http://www.bcc.ufla.br/wp-content/uploads/2013/09/TESTES-DE-SEGURAN%C3%87A-EMAPLICA%C3%87%C3%95ES-WEB-SEGUNDO-A.pdf>
OWASP. 10 Top Web Vulnerabilities. Disponvel em
<www.owasp.org/index.php/Top_10_2013>. Acesso em 15 de Dezembro de 2014.
PAULI, Josh. Introduo ao WebHacking. So Paulo: Novatec, 2014.
PESSOA, Mrcio. Segurana em PHP. So Paulo: Novatec, 2007.
ROCHA, Douglas; KREUTZ, Diego; TURCHETTI, Rogrio. Uma Ferramenta Livre e
Extensvel Para Deteco de Vulnerabilidades em Sistemas Web. Disponvel em
<article.sapub.org/pdf/10.5923.j.computer.20120001.08.pdf >. Acesso em 21 de dezembro
de 2014.
SCHILDT, Hebert; SKRIEN, Dale. (2013). Programao com Java: Uma Introduo
Abrangente. So Paulo: McGraw-Hill.
SECTOOLS. Top 125 security tools. Disponvel em<www.sectools.org>.Acesso em 07 de
Janeiro de 2015.
SICA, Carlos; REAL, Petter. Programao Segura utilizando PHP. So Paulo: Cincia
Moderna, 2007.SCHILDT, Hebert; SKRIEN, Dale. Programao com Java: Uma introduo
abrangente. So Paulo: McGraw-Hill, 2013.
STALLINGS, William. Redes e sistemas de comunicao de dados: teorias e aplicaes
corporativas. 5 ed. Rio de Janeiro: Elsevier, 2005.
STALLINGS, William. Criptografia e segurana em redes. 4.ed. So Paulo: Person
Prentice Hall, 2008.
WEB APPLICATION SECURITY CONSORTIUM . Disponvel em:
<http://www.webappsec.org/>. Acesso em: 01 de junho de 2015.
WELLING, Luke; THOMSON, Laura. Tutorial MySQL. Rio de Janeiro: Cincia Moderna,
2004.