Você está na página 1de 145

Aegis: Um Modelo de Proteo Dados Sensveis em

Ambientes Client-side"
Por

Carlo Marcelo Revoredo da Silva


Dissertao de Mestrado

Universidade Federal de Pernambuco


posgraduacao@cin.ufpe.br

www.cin.ufpe.br/~posgraduacao

RECIFE, FEVEREIRO/2014

Universidade Federal de Pernambuco


Centro de Informtica
Ps-graduao em Cincia da Computao

Carlo Marcelo Revoredo da Silva

Aegis: Um Modelo de Proteo Dados Sensveis em


Ambientes Client-side

Trabalho apresentado ao Programa de Ps-graduao em


Cincia da Computao do Centro de Informtica da Universidade Federal de Pernambuco como requisito parcial para
obteno do grau de Mestre em Cincia da Computao.

Orientador: Vinicius Cardoso Garcia

RECIFE, FEVEREIRO/2014

A minha me, Arimar Revoredo da Silva,


Ao meu pai, Jose Oliveira da Silva,
Ao meu irmo, Adrianno Marcio Revoredo da Silva,
A minha namorada Adriana da Silva Freitas.

Agradecimentos

Agradeo. . .
Em primeiro lugar a Deus por sua graa e pelas bnos derramadas constantemente
sobre mim de maneira maravilhosa;
A minha famlia, meu pai, meu irmo, e especialmente minha me, esta por ser a
maior incentivadora e por fornecer amor e suporte emocional imprescindvel em
todos os momentos de minha vida;
A Adriana, por ser minha companheira fiel, me apoiando com seu carinho e cuidado
e por estar ao meu lado mesmo nas horas mais difceis.
Ao professor Vinicius Garcia pela pacincia e dedicao na orientao desta pesquisa.
Aos professores Ruy de Queiroz e Rodrigo Assad por terem aceitado participar de
minha banca.
A todos os meus amigos e colegas que contriburam direto e indiretamente para a
realizao deste sonho;
Muito Obrigado!

iv

"E aqueles que foram vistos danando foram julgados insanos por
aqueles que no podiam escutar a msica."
NIETZSCHE (Friedrich Nietzsche)

Resumo

Os Navegadores Web, do ingls, Web Browsers, so ferramentas de extrema importncia


no que diz respeito ao consumo de informaes na internet, consequentemente so os
softwares dos quais os usurios utilizam a maior parte do tempo, sejam domsticos ou
corporativos. Com o passar dos anos, a forma do que estava sendo publicado na web foi
evoluindo, o que antes era esttico e apenas leitura, agora se apresenta como um cenrio
onde os internautas e servios interagem, compartilhando informaes em uma grande
variedade de cenrios, como e-mail, redes sociais e comrcio eletrnico, tornando-se
ento em um ambiente dinmico e colaborativo.
Em meio ao advento da web, foram surgindo possibilidades para prestadores de
servios especializados, como bancos ou fontes pagadoras de transaes comerciais, dos
quais atravs da internet encontraram oportunidades para disponibilizarem seus servios
com alta disponibilidade, possibilitando que seus clientes consigam utilizar seus servios
atravs de um browser. O resultado disso uma srie de benefcios, como reduo de filas,
interatividade, foco no domnio, que podemos traduzir em uma palavra: comodidade.
No obstante, em consequncia ao seu advento, a web se apresenta como um ambiente
cada vez mais hostil, onde pessoas mal-intencionadas executam crimes cibernticos, dos
quais visam roubar ou adulterar informaes sigilosas dos usurios da web, violando
os dados do usurios. Essas atividade ilcitas muitas vezes so executadas atravs de
ataques que exploram fatores como Engenharia Social, Falhas nas Aplicaes Web ou
Vulnerabilidades no Browser do usurio. Estes vetores de ataques apresentam-se em
diversas formas: capturando entradas dos usurios, forjando sites oficiais, injeo de
scripts maliciosos, propagao de Malwares, entre outros. Com o dinamismo da web,
o processo de controle destes vetores de ataque torna-se cada vez mais difcil, e como
a tendncia da web manter-se em constante evoluo, estas ameaas tornam-se uma
preocupao contnua.
Nesta pesquisa proposta uma ferramenta, intitulada Aegis, como modelo de proteo para interagir diretamente no browser do usurio, buscando minimizar os ataques
mencionados atravs de uma soluo puramente cliente-side. Para isso, foram realizados
estudos e reviso na literatura sobre o tema, buscando uma justificativa bem fundamenta
para as decises e tcnicas aplicadas. Adicionalmente, so apresentados os resultados
obtidos na avaliao da Aegis em conjunto com demais ferramentas relacionadas.
Palavras-chave: Segurana da Informao, Vulnerabilidades em Aplicaes Web,
Vulnerabilidades em Navegadores Web, Proteo Fraudes.

vi

Abstract

Web Browsers are extremely important tools with respect to the use of information on
the Internet, are therefore the software which users utilize most of the time, whether
domestic or corporate. Over the years, the way of what was being published in web has
evolved, what was once static, read-only, now presents itself as a scenario where Internet
users and services interact by sharing information on a wide variety of scenarios, such as
email, social networking and e-commerce , thus becoming a dynamic and collaborative
environment.
Amid the advent of web, possibilities for specialized service providers have emerged
as banks or payers of commercial transactions, including over the internet found opportunities to make available their services with high availability , enabling its customers to be
able to use their services through a browser.
The result is a series of benefits such as shorter queues, speed, interactivity , focus
in the field, we can translate a word: convenience. Nevertheless, due to its advent,
the website is presented as an environment every once hostile, where people perform
malicious cyber crimes, the which aim to steal or tamper with sensitive information
of the web users, violating data users. These illegal activities are often implemented
through attacks that exploit factors such as Social Engineering, Web Applications Flaws
or Vulnerabilities in the browser user. These attack vectors are shown in several ways:
capturing input from users, forging official websites, injection malicious scripts, malware
propagation, among others. With the dynamism of the web , the control process of these
attack vectors becomes increasingly difficult, and how the trend of the web is to keep
evolving, these threats become one ongoing concern.
In this research we propose a tool, called Aegis, a protection model to interact directly
in the users browser in order to minimize the attacks mentioned purely by a client
-side solution. To this were done studies and literature review on the topic, seeking a
justification well founded for decisions and techniques applied. Additionally, the results
are presented obtained in the evaluation of Aegis in conjunction with other related tools.
Keywords: Information Security, Vulnerabilities in Web Applications, Vulnerabilities in
Web Browsers, Fraud Protection.

vii

Sumrio

Lista de Figuras

xi

Lista de Tabelas

xiii

Introduo
1.1 Justificativa e Motivao
1.2 Objetivos . . . . . . . .
1.3 Fora do Escopo . . . . .
1.4 Metodologia . . . . . . .
1.5 Estrutura da Dissertao

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Contextualizao da Proposta
2.1 Metodologia de Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Definio de Pesquisa e Fonte Primria . . . . . . . . . . . . . . . . .
2.3 Critrios de Incluso . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Critrio de Excluso . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Critrio de Relevncia . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Triagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7 Classificao dos Resultados . . . . . . . . . . . . . . . . . . . . . . .
2.8 Anlise e discusso dos Resultados . . . . . . . . . . . . . . . . . . . .
2.8.1 Resultado Obtido da QP 1 . . . . . . . . . . . . . . . . . . . .
Vetor 1: Injeo de Cdigos . . . . . . . . . . . . . . . . . . .
Vetor 2: Fraudes . . . . . . . . . . . . . . . . . . . . . . . . .
Vetor 3: Fraca Proteo aos Dados . . . . . . . . . . . . . . . .
Vetor 4: Componentes ou Complementos Inseguros . . . . . . .
Vetor 5: Ataques de Domnio Cruzado . . . . . . . . . . . . . .
2.8.2 Resultado Obtido da QP 2 . . . . . . . . . . . . . . . . . . . .
Ataque 1: Cross-Site Scripting (XSS) - A1 . . . . . . . . . . .
Ataque 2: Injeo SQL (SQLi) - A2 . . . . . . . . . . . . . . .
Ataque 3: Clickjacking - A3 . . . . . . . . . . . . . . . . . . .
Ataque 4: Redirecionamentos e Encaminhamentos Invlidos - A4
Ataque 5: Complementos Maliciosos - A5 . . . . . . . . . . . .
Ataque 6: Exposio de Dados Sensveis - A6 . . . . . . . . . .

1
2
4
4
5
6
7
8
9
10
10
11
11
12
13
13
14
14
15
15
15
16
17
21
23
25
27
29

viii

2.9
3

Ataque 7: Utilizao de Componentes Vulnerveis Conhecidos A7 . . . . . . . . . . . . . . . . . . . . . . . . . . .


Ataque 8: Cross-Site Request Forgery (CSRF) - A8 . . . . . . .
Ataque 9: Falhas nas Politicas de Mesma Origem - A9 . . . . .
Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . .
2.8.3 Resultado Obtido da QP 3 . . . . . . . . . . . . . . . . . . . .
Principais Grupos de Pesquisa nas fontes acadmicas. . . . . .
Trabalhos Relacionados. . . . . . . . . . . . . . . . . . . . . .
Ferramentas de proteo integradas ao navegador . . . . . . . .
Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . .

Implementao da Proposta
3.1 Decises de Projeto . . . . . . . . . . . . . . . . . . .
3.1.1 Publico alvo e cenrio de atuao . . . . . . .
3.1.2 Tipo de ferramenta a ser desenvolvida . . . . .
3.2 Arquitetura do Aegis . . . . . . . . . . . . . . . . . .
3.2.1 A Extenso Aegis . . . . . . . . . . . . . . . .
Nvel de Confiana . . . . . . . . . . . . . . .
Listas . . . . . . . . . . . . . . . . . . . . . .
Scripts . . . . . . . . . . . . . . . . . . . . .
Manipulao das Requisies . . . . . . . . .
Manipulao de Dados Sensveis (A6) . . . . .
Manipulao de Complementos (A7) . . . . .
Manipulao de Dados em Transferncia (A5)
Notificaes ao Usurio . . . . . . . . . . . .
Operaes Internas . . . . . . . . . . . . . . .
3.2.2 Arquitetura do Servio do Aegis . . . . . . . .
Biblioteca Prpria . . . . . . . . . . . . . . .
Bibliotecas Open Source . . . . . . . . . . . .
Servios Externos . . . . . . . . . . . . . . . .
3.3 Funcionalidade dos Filtros . . . . . . . . . . . . . . .
3.3.1 Filtro A1: Ataques baseados em A1 . . . . . .
3.3.2 Filtro A2: Ataques baseados em A2 . . . . . .
3.3.3 Filtro A3: Ataques baseados em A3 . . . . . .
3.3.4 Filtro A4: Ataques baseados em A4 . . . . . .
3.3.5 Filtro A5: Ataques baseados em A5 . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

31
33
34
36
37
37
38
40
41
42
42
42
43
44
44
45
46
46
46
48
49
49
49
49
50
50
50
51
52
53
54
56
59
60

ix

.
.
.
.
.

61
65
66
68
69

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

70
70
71
72
79
81
82
83
83
84
85
85
86
86
87
87
88

Concluses e Trabalhos Futuros


5.1 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Limitaes da Proposta . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89
90
91
92

3.4
4

3.3.6 Filtro A6: Ataques baseados em A6 . .


3.3.7 Filtro A7: Ataques baseados em A7 . .
3.3.8 Filtro A8: Ataques baseados em A8 . .
3.3.9 Filtro A9: Ataques baseados em em A9
Limitaes e Consideraes Finais . . . . . . .

Avaliao da Proposta
4.1 Metodologia . . . . . . . . . . .
4.1.1 Planejamento . . . . . .
4.1.2 Definio . . . . . . . .
4.1.3 Coleta de Dados . . . .
4.1.4 Anlise dos Resultados .
Resultado da Questo 1 .
Resultado da Questo 2 .
Resultado da Questo 3 .
Resultado da Questo 4 .
Resultado da Questo 5 .
Resultado da Questo 6 .
Resultado da Questo 7 .
Resultado da Questo 8 .
Resultado da Questo 9 .
4.2 Limitaes da Avaliao . . . .
4.3 Consideraes Finais . . . . . .

Referncias Bibliogrficas

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

93

A Apndice

127

B Anexo

131

Lista de Figuras

1.1

Pesquisa realizada pela Mashable em 2013. . . . . . . . . . . . . . . .

2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14

Publicaes distribudas por fontes literrias. . . . . . . . . . . . . . .


Taxonomia das Ameaas, Vetores e Ataques. . . . . . . . . . . . . . . .
Distribuio das publicaes por Vetores. . . . . . . . . . . . . . . . .
Distribuio das publicaes por Vetores e Ataques. . . . . . . . . . . .
Exemplo de XSS Persistente. . . . . . . . . . . . . . . . . . . . . . . .
Exemplo de XSS Refletido. . . . . . . . . . . . . . . . . . . . . . . . .
Exemplo de SQLi. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemplo de sequestro de Click. . . . . . . . . . . . . . . . . . . . . . .
Exemplo de Clickjacking/Strokejacking para roubo de dados em formulrio.
Exemplo de Phishing. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fluxo de atividade de um Malware. . . . . . . . . . . . . . . . . . . . .
Aspectos da Exposio de Dados Sensveis. . . . . . . . . . . . . . . .
Exemplo de CSRF atravs da Manipulao de Parmetros. . . . . . . .
Projeo das publicaes relacionadas s ameaas durante os anos. . . .

11
13
14
16
18
18
22
23
24
26
29
30
34
36

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17

Cenrio de atuao do Aegis. . . . . . . . . . . . . . . . . . . . . . . .


Acessos a Extenso Aegis pela interface do Navegador. . . . . . . . . .
Estrutura dos Mtodos do WebRequest. . . . . . . . . . . . . . . . . .
Arquitetura do Servio do Aegis. . . . . . . . . . . . . . . . . . . . . .
Fluxograma da funcionalidade do filtro de XSS (A1). . . . . . . . . . .
Primeiro fluxograma da solicitao de filtragem de SQLi (A2). . . . . .
Segundo fluxograma da solicitao de filtragem de SQLi (A2). . . . . .
Fluxograma da Sub-rotina anti-Phishing. . . . . . . . . . . . . . . . . .
Fluxograma da filtragem de Clickjacking (A3). . . . . . . . . . . . . .
Fluxograma do Redirecionamentos ou Encaminhamentos Invlidos (A4).
Primeiro processo de Filtragem de Complementos Maliciosos (A5). . .
Segundo processo de Filtragem de Complementos Maliciosos (A5). . .
Primeiro processo de Filtragem de Exposio de Dados Sensveis (A6).
Segundo processo de Filtragem de Exposio de Dados Sensveis (A6).
Terceiro processo de Filtragem de Exposio de Dados Sensveis (A6). .
Processo de Utilizao de Componentes Vulnerveis Conhecidos (A7). .
Primeiro processo de Filtragem de CSRF (A8). . . . . . . . . . . . . .

45
46
47
50
54
55
55
57
58
59
60
61
62
63
64
65
67

xi

3.18 Segundo processo de Filtragem de CSRF (A8) . . . . . . . . . . . . . .


3.19 Processo de Filtragem de Falhas em Polticas de Mesma Origem (A9) .

67
68

4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13

70
72
80
81
82
83
84
84
85
85
86
86
87

Fases da metodologia GQM. . . . . . . . . . . . . . . . .


Estrutura da Fase de Definio . . . . . . . . . . . . . . .
Workflow do ciclo de vida dos testes do ambiente proposto.
Ambiente Controlado para a Coleta dos Dados. . . . . . .
Resultados da avaliao da Questo 1. . . . . . . . . . . .
Resultados da avaliao da Questo 2. . . . . . . . . . . .
Resultados da avaliao da Questo 3. . . . . . . . . . . .
Resultados da avaliao da Questo 4. . . . . . . . . . . .
Resultados da avaliao da Questo 5. . . . . . . . . . . .
Resultados da avaliao da Questo 6. . . . . . . . . . . .
Resultados da avaliao da Questo 7. . . . . . . . . . . .
Resultados da avaliao da Questo 8. . . . . . . . . . . .
Resultados da avaliao da Questo 9. . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

A.1 Exemplo de Phishing em atividade. . . . . . . . . . . . . . . . . . . . . 127


A.2 Resposta renderizada pelo navegador para o usurio. . . . . . . . . . . 128
B.1 Distribuio das principais publicaes durante a evoluo da web. . . . 131

xii

Lista de Tabelas

2.1
2.2
2.3
2.4
2.5

Comando de busca para o IEEEXplore . . . . . . . . . . . . . .


Exemplo de XSS baseado em DOM (retirado do OWASP [292])
Exemplo da funcionalidade da tcnica de Escape . . . . . . . .
Exemplo de SQLi destrutivo . . . . . . . . . . . . . . . . . . .
Ferramentas disponveis e Ataques relacionados . . . . . . . . .

.
.
.
.
.

10
19
19
23
40

4.1

Definio das Questes e Mtricas para avaliao . . . . . . . . . . . .

73

A.1
A.2
A.3
A.4

Exemplo de requisio em domnio externo. . . .


Contedo retornado pelo servio externo. . . . .
Ambientes Controlados e a cobertura aos Ataques
Listagem das Extenses submetidas aos testes . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.

128
128
129
130

B.1 Principais contribuies relacionadas ao tema nas fontes acadmicas . . 132

xiii

1
Introduo

Segundo a pesquisa da Mashable [41] ilustrada na Figura 1.1, em 1992 a web era utilizada
quase que exclusivamente por usurios norte-americanos, onde chegavam a representar
66% destes usurios que navegavam na rede mundial de computadores. Contudo, a
web nos dias atuais est de fato considerada globalizada, um bom exemplo disso que
no mesmo estudo, foi identificado que a partir do ano de 2012, os usurios de outras
partes do mundo j representavam 87% de todo o trafego da web, fazendo a hegemonia
norte-americana despencar para 13%.

Figura 1.1 Pesquisa realizada pela Mashable em 2013.

Como justificativa deste crescimento a evoluo que a web e seus meios de navegao sofreram nos ltimos anos. Neste perodo a Internet ganhou fora e impulsionou

1.1. JUSTIFICATIVA E MOTIVAO

o surgimento de mecanismos que proporcionavam usabilidade durante a navegao na


web. Estas ferramentas ficaram conhecidas como Navegadores Web, e em pouco tempo
tornaram-se de extrema importncia no que diz respeito ao consumo de informaes na
Internet, atualmente so os softwares dos quais os usurios utilizam a maior parte do
tempo, sejam domsticos ou corporativos. Outra consequncia dessa evoluo o comportamento e heterogeneidade do contedo trafegado na web. Antes as aplicaes web
eram estticas, traziam quase sempre apenas textos e havia pouca transio entre pginas,
alm disso, a interao do usurio com a aplicao era quase que nula. Atualmente as
aplicaes proporcionam um ambiente participativo e colaborativo de informaes trafegadas, apresentando seu contedo em diversos tipos e formatos de arquivos multimidia
[278].
Durante este processo evolutivo, foram surgindo possibilidades para prestadores de
servios especializados, como bancos ou fontes pagadoras de transaes comerciais, os
quais atravs da internet encontraram oportunidades para disponibilizarem seus servios
com alta disponibilidade, possibilitando que seus clientes consigam utilizar seus servios com praticidade, sendo necessrio apenas um navegador web [174]. O resultado
disso uma srie de benefcios, como o fortalecimento do e-commerce, reduo de
filas, agilidade, interatividade, foco no domnio, que podemos traduzir em uma palavra:
comodidade.

1.1

Justificativa e Motivao

Apesar das inmeras possibilidades de uso, institutos como o Centro de Estudos para
Resposta e Tratamento de Incidentes, CERT, alertam da necessidade de cuidados a serem
tomados durante a navegao na Internet, em especial aos vetores de ataques envolvidos
na utilizao dos navegadores web [1]. Com tantos valores agregados proporcionados
pela comodidade da Internet, operaes como compras online, Internet Banking e compartilhamento de informaes pessoais tornaram-se populares, sendo executadas durante
o dia a dia de milhares de pessoas. Consequentemente, o dado trafegado comea a conter
informaes sensveis, representando assim maior valor de negcio, a partir disso as
preocupaes quanto a uma proteo eficaz destes dados comea a receber crescimento.
O advento da web trs oportunidades tambm para pessoas mal-intencionadas, que
executam crimes cibernticos, dos quais visam roubar ou adulterar informaes sigilosas,
comprometendo a segurana da informao (SI) dos usurios da web, ou seja, violando
a Conformidade, Integridade e Disponibilidade (CID) de seus dados. Estes ataques

1.1. JUSTIFICATIVA E MOTIVAO

apresentam-se em diversas formas: capturando entradas dos usurios, forjando sites


oficiais, injeo de scripts maliciosos, explorao de vulnerabilidades nos navegadores,
propagao de softwares maliciosos, entre outros. Com o dinamismo da web, um slido
controle destes ataques torna-se cada vez mais difcil, e como a tendncia da web
manter-se em constante evoluo, estas ameaas tornam-se uma preocupao contnua
[371]. Os ataques so executados por agentes mal intencionados e projetados atravs de
vetores, que so os mtodos pelos quais os agentes os executam, e a consequncia do
sucesso de um ataque a violao dos dados do usurio.
Como a maioria dos contedos da web so direcionados aos navegadores, um dos
vetores mais comuns a explorao por vulnerabilidades contidas nestas aplicaes.
No decorrer dos anos surgiu um crescente interesse na explorao e combate destas
vulnerabilidades, como mostram algumas competies focadas no descobrimento de
falhas nos navegadores mais populares da atualidade [4], com casos alarmantes como o
comprometimento do sistema operacional [2][3].
Outro vetor muito explorado o qual o agente utiliza engenharia social para propagar
um esquema ilcito, conhecido como fraude, com objetivo de obter informaes do
usurio, como dados ou at mesmo cliques, sem a devida autorizao [6]. Um dos meios
mais comuns de aplicar uma fraude atravs de programas maliciosos, denominado
de Malwares [5]. Outra possibilidade de fraude atravs de Phishing, prtica bastante
explorada em todo o mundo [155].
Alm disso, muitas vezes por falta de uma slida politica de desenvolvimento seguro,
alguns sites ou servios so disponibilizados na web apresentando falhas de segurana
[292]. Essa negligencia dar origem a uma srie de vetores, dentre os quais possibilita que
um mal intencionado explore vulnerabilidades existentes na aplicao.
O objetivo deste estudo trata da elaborao de um mecanismo que auxilie o navegador
a oferecer maior segurana na navegao do usurio, visando minimizar os ataques
relacionados aos principais vetores apresentados. A ferramenta, intitulada Aegis, ir
monitorar as requisies e respostas produzidas no navegador, a fim de analisar diversos
aspectos com o intuito de detectar atividades maliciosas na requisio ou vulnerabilidade
existente na requisio, removendo comportamentos suspeitos ou restringindo recursos do
navegador, como leitura de mdias, exibio de imagens, execuo de scripts ou plug-ins,
tudo em tempo de execuo e conforme a confiabilidade do site em questo, o objetivo
impedir que o navegador torne-se suscetvel a ataques que comprometam a integridade
dos dados trafegados.
A elaborao deste projeto centrada em uma reviso sistemtica da literatura sobre

1.2. OBJETIVOS

os ataques relacionados, bem como uma fundamentao extrada de principais trabalhos


sobre o tema, que envolvem diversos pesquisadores e instituies.

1.2

Objetivos

Este estudo tem como objetivo propor o desenvolvimento de uma ferramenta capaz de
proteger o navegador web das principais ameaas que proporcionam violao aos dados.
Apresentar os navegadores mais populares da atualidade, a histria e evoluo dos
mesmos e as tecnologias envolvidas, sobre a tica da navegao segura.
Realizar uma reviso sistemtica sobre as questes de segurana e estado atual nas
principais fontes literrias.
Propor uma taxonomia dos principais ataques web direcionados aos ambientes
Client-side.
Discutir o estado atual das ameaas com base nos resultados obtidos na literatura,
direcionando o estudo baseado nas principais fontes literrias do tema seja academia
ou indstria.
Desenvolver e disponibilizar um prottipo da ferramenta que possa interagir com o
navegador em tempo real.
Analisar o comportamento da ferramenta proposta sendo executada nos ambientes
controlados disponveis na atualidade.
Desenvolver e disponibilizar um ambiente controlado, com o objetivo de uma
validao mais completa e voltado para a tica do tema proposto.
Discutir os resultados obtidos na validao da proposta.

1.3

Fora do Escopo

Alguns assuntos foram excludos do escopo de pesquisa desta dissertao, a saber:


Solues que envolvam melhores praticas de implementao: O foco do problema est direcionado na segurana que os navegadores atuais oferecem aos seus
usurios, ou seja, a proposta desta dissertao no pretende apresentar boas prticas

1.4. METODOLOGIA

no desenvolvimento de aplicaes, mas sim proteger o usurio de ameaas que


dentre as quais algumas exploram falhas nestes cenrios.
Solues que envolvam consequncias diferentes de uma violao de dados:
Na pesquisa desta dissertao, os objetivos esto focados em minimizar ameaas
que violem os dados do usurio de navegador web, ou seja, a integridade da
mesma, bem como a confiabilidade do site ou aplicao em questo que prov um
determinado servio. Consequncias que envolvam disponibilidade no esto no
escopo deste estudo, pelo fato das mesmas no impactarem diretamente aos dados
de um respectivo usurio, mas sim a operabilidade de um determinado servio.

1.4

Metodologia

Para atender os objetivos propostos, ser adotada uma metodologia que consiste em uma
serie de passos a serem executados.
O primeiro passo ser realizar uma reviso sistemtica na literatura sobre o tema que
apresenta relao com a proposta deste projeto. A reviso dever ser aplicada em bibliotecas ou repositrios de publicaes, e devem ser executadas atravs de palavras chaves
bem definidas. O objetivo ser analisar as principais ameaas que esto relacionadas ao
problema abordado no tema, e consequentemente mapear as solues apresentadas at
hoje e mitigar possveis lacunas.
Com todo o conhecimento de pesquisa j realizada sobre este tema revisado, o segundo
passo ser partir para as especificaes da soluo. A ferramenta proposta neste estudo
denominada Aegis dever ser acoplada aos navegadores considerados mais populares da
atualidade. Tambm devero ser avaliadas outras ferramentas que possuam propsitos
similares ao do Aegis, que atravs desta avalio dever ser gerado um relatrio com as
caractersticas e peculiaridades encontradas durante a investigao e tal relatrio servir
para uso durante o desenvolvimento deste projeto e na escrita desta dissertao.
No terceiro passo sero atividades de definio da arquitetura que modela a ferramenta
Aegis, para isso sero realizadas analises e estudos, bem como validaes para que se
possa fomentar a viabilidade de desenvolvimento da ferramenta. Este processo de
deciso arquitetural dever observar o ambiente de execuo da ferramenta, ou seja, uma
ferramenta que interaja com o navegador e proporcione uma experincia com o usurio.
No quarto passo ser descrito o desenvolvimento de um prottipo funcional da ferramenta proposta, e para isso sero utilizadas ferramentas para apoio ao desenvolvimento
em cada um dos navegadores mais populares.

1.5. ESTRUTURA DA DISSERTAO

Para que os resultados sejam o mais prximo da realidade, ser realizada uma validao da ferramenta proposta. Porm, devido aos inmeros cenrios propensos a violao
de dados, bem como as consequncias da exposio de dados sensveis, a execuo
em ambientes reais extrapolaria o cronograma da pesquisa. Portanto foi definido que a
ferramenta ser avaliada em ambientes controlados que reproduzem ambientes reais com
vulnerabilidades existentes. A validao ser realizada no quinto passo, que se caracteriza
em uma analise dos principais ambientes controlados atuais que se encontram disponveis
de forma gratuita e de cdigo aberto, e que tenha apoio ou tutela de alguma organizao
de grande relevncia ao tema.
No sexto passo, baseando-se na tica das principais ameaas obtidas no primeiro
passo, este trabalho tem o intuito de adicionar novas funcionalidades para que o respectivo
ambiente cubra as ameaas relacionadas ao tema que estavam at ento ausentes na
reproduo do seu cenrio.
As concluses, bem como variaes e comparaes entre os resultados da experimentao sero descritas no passo sete, trazendo um comparativo entre as ferramentas
mitigadas no segundo passo, em comparao com o Aegis.

1.5

Estrutura da Dissertao

Neste Captulo de introduo foi apresentada uma breve fundamentao, levantando


problemas que justificam e motivam a execuo de tal pesquisa, bem como apresentando
os objetivos da mesma. O resto deste trabalho est dividido nos seguintes captulos:
Captulo 2: apresenta uma contextualizao da pesquisa que contribuiu para aderir
embasamento no desenvolvimento da ferramenta proposta.
Captulo 3: apresenta a implementao e estrutura da ferramenta proposta intitulada Aegis.
Captulo 4: apresenta o ambiente de validao da ferramenta, relatando resultados
detalhes da execuo, resultados e adequao do mesmo aos vetores abordados
nesta pesquisa.
Captulo 5: apresenta a anlise de resultados obtidos com a execuo deste estudo
e desfeche conclusivo da pesquisa apontando possveis trabalhos futuros.

2
Contextualizao da Proposta

Nesta pesquisa apresentada uma taxonomia para as principais ameaas, vetores e ataques
mais atuantes em ambientes Client-side, dos quais proporcionam a violao de dados
sensveis. Primeiramente importante conceituar alguns termos. Segundo [60] a violao
o roubo ou perda acidental de dados sensveis. J um dado sensvel qualquer dado que
possui seu acesso restrito s pessoas autorizadas. E segundo os estudos publicados pelas
entidades SANS/MITRE [314], um vetor de ataque um mtodo do qual um usurio
malicioso utiliza para realizar um ataque uma determinada aplicao ou servio web. J
um ataque na web qualquer ao realizada por uma aplicao ou pessoa, seja de forma
proposital (maliciosa) ou involuntria (atravs de vulnerabilidades), que resulta em algum
tipo de Ameaa. E por fim, uma Ameaa qualquer evento, circunstancia ou pessoa que
possa causar danos a uma determinada pessoa ou aplicao, a exemplo da violao de
dados sensveis.
Este captulo visa apresentar uma taxonomia que auxilie na didtica e classificao das
principais ameaas neste cenrio. O primeiro passo foi realizar uma reviso sistemtica
na literatura sobre o tema no intuito de apresentar os principais problemas e solues,
proporcionando assim maior fundamentao e embasamento na abordagem da proposta.
Como ponto de partida, foi necessrio realizar um levantamento das consideraes bsicas
quanto s definies e nomenclaturas j estabelecidas em publicaes reconhecidas
mundialmente sobre o tema proposto, alm de serem mantidas por entidades com alto
impacto e respaldo. Diante os critrios pr-estabelecidos como ponto de partida, foi
possvel selecionar sete publicaes consideradas o prisma da proposta desta dissertao,
as quais esto distribudas entre cinco entidades que desenvolveram e mantm seus
respectivos trabalhos. Segue uma breve introduo sobre as referencias selecionadas,
agrupadas por sua respectiva instituio mantenedora.
OWASP: uma entidade sem fins lucrativos e de respaldo internacional que visa

2.1. METODOLOGIA DE PESQUISA

melhorias e boas praticas de segurana, avaliando riscos e prevenes aos principais


ataques realizados em aplicaes web. Sua principal publicao relacionada ao
tema deste estudo o OWASP Top Tem 2013 [292], que descreve os principais
ataques e riscos mais explorados atravs de vulnerabilidades em aplicaes Web.
Outras obras tambm relacionadas so os guias de prevenes, conhecidos como
Owasp Cheat Sheets [285], que a principio voltados para o desenvolvimento,
tambm abordam tcnicas que podem ser utilizadas em protees Client-side.
SANS /MITRE: So duas entidades que tambm no possuem fins lucrativos e
utilizam o mesmo respaldo da OWASP. Essa parceria possui diversas publicaes
disponveis na literatura, entretanto as consideradas mais intrnsecas a esta pesquisa
so as publicaes: "Top 25 Most Dangerous Software Error"[314] e a "Common
Attack Pattern Enumeration and Classification"[260].
CERT: um centro de estudo para resposta e tratamento de incidentes em computadores, com diversos comits de gesto em diversos pases. Sua contribuio
relacionada a este estudo o "Securing Web Browser"[1], no qual apresenta definies e boas prticas em ambientes client-side.
W3C: O W3C a principal organizao padronizadora da WWW. A principal obra
relacionada a publicao intitulada "The World Wide Security FAQ"[384], no
qual propem padres e boas prticas que visam minimizar os principais problemas
relacionados ao contedo distribudo na Web.
HTML5Security: um grupo de pesquisa direcionado aos aspectos de segurana em
tecnologias que utilizam HTML5. Sua principal publicao a "HTML5 Security
Cheatsheet"[176], que aponta uma serie de causas e prevenes relacionadas a
ameaas nesta API nativa do navegador.

2.1

Metodologia de Pesquisa

Com os principais Ataques definidos, o prximo passo foi utilizar uma metodologia para
uma busca sistmica em fontes literrias disponveis online. A metodologia baseada
nas orientaes de Kitchenham [225] que baseia-se em uma triagem segmentada em
Questes de Pesquisa (QP) e tem o proposito de determinar um contedo e concepo de
uma reviso na literatura de um determinado tema. A reviso com o tema deste estudo
visa identificar os principais Vetores, Ataques, definies e suas consequncias, alm

2.2. DEFINIO DE PESQUISA E FONTE PRIMRIA

de mapear trabalhos relevantes ao tema que se encontram presentes at o momento na


literatura. O estudo pretende responder trs questes de pesquisa, a saber: (1) Quais
Vetores Segurana mais relatados quanto aos dados sensveis trafegados nos navegadores
web? (2) Qual a relevncia destes ataques durante os anos e como esto classificados?
(3) Quais as principais propostas e grupos de pesquisa mais aderente ao tema durante a
evoluo da web?

2.2

Definio de Pesquisa e Fonte Primria

Foi definido o IEEEXplore1 como a fonte primria deste trabalho, apesar do seu mecanismo de busca no possuir tantas funcionalidades como em outras fontes literrias,
esta possui um considervel nmero de publicaes. Tambm foi observado que se
dispe de um grande nmero de indexaes de trabalhos de outras fontes. Outras fontes
literrias tambm foram escolhidas por contemplarem trabalhos relevantes ao tema e
indispensveis para a elaborao das concluses desta reviso, a saber: Elsevier Scopus2 ,
ACM Digital Library3 , SpringerLink4 , Science Direct5 e Engineering Village6 .
Alm das fontes acadmicas, tambm foram consideradas algumas fontes direcionadas
indstria, pelo fato de possurem publicaes aderentes ao tema e de acesso totalmente
gratuito ao seu contedo, estas fontes foram representadas como uma nica Fonte literria
nomeada como "Outros".
Como pesquisa inicial foi realizado no IEEEXplore uma busca por trabalhos relacionados a segurana nos navegadores web, utilizando palavras-chave e termos baseados nas
sete publicaes apresentadas anteriormente, que definiram as nomenclaturas dos ataques
acerca deste estudo, chegando a seguinte regra de filtragem: [(palavras-chave relacionadas segurana)] E [palavra-chave relacionada navegador web] E [palavras-chave
relacionadas as ameaas ao navegador web] diretamente no meta-data das publicaes,
formado pelo titulo, abstract e palavras-chaves de cada artigo, resultando no seguinte
comando de busca conforme ilustrado na Tabela 2.1: O comando da Tabela 2.1 listou
345 publicaes7 no IEEEXplore , somando os resultados em todas as fontes de pesquisa,
resultou em 1.383 publicaes.
1 IEEE

Xplore: http://ieeexplore.ieee.org
Scopus: http://www.scopus.com/home.url
3 ACM Digital Library: http://dl.acm.org
4 Springer Link: http://link.springer.com/
5 Science Direct: http://www.sciencedirect.com/
6 Engineering Village: http://www.engineeringvillage.com/
7 Busca realizada em Agosto de 2013
2 Elsevier

2.3. CRITRIOS DE INCLUSO


("threat"OR "vulnerabilit* OR "secur*"OR "flaw"OR "risk"OR "unsafe"OR "safe"OR "trust"OR
"untrust") AND ("browser"OR "client-side"OR "web client"OR "web application") AND
(("XSS"OR "cross-site*"OR "injection") OR ("SQLi"OR "SQL"OR "injection") OR ("Clickjacking"OR
"UI Redressing"OR "fraud") OR ("phishing"OR "malwares"OR "malversiting"OR "advertsing"OR
"spoofing"OR "pharming"OR "fraud") OR ("CSRF"OR "XSRF"OR "Cross-site*"OR "cross-domain") OR
("XHR"OR "Same Origin"OR "SOP"OR "cross-domain") OR ("plugin"OR "extension*"OR "NPAPI"OR
"short url"OR"add-on") OR ("sensitive data"OR "Weak protection"))

Tabela 2.1 Comando de busca para o IEEEXplore

Muitas das ocorrncias no estavam no contexto da pesquisa e foi necessrio realizar


um refinamento manual baseado em critrios de triagem. O pouco refinamento da
pesquisa foi proposital para evitar o risco de alguma publicao relevante ser excluda,
sendo prefervel deixar o comando de busca com escopo maior e deixar o refinamento
a cargo de uma inspeo manual mais minuciosa composta por uma srie de critrios
e posteriormente submetida a uma triagem. Em seguida, apresentado o processo de
triagem considerando os seguintes critrios:

2.3

Critrios de Incluso

a) Relate sobre solues de Segurana Client-side;


b) Relate qualquer aspecto a Segurana dos dados no Navegador Web;
c) Relate sobre Falhas em Aplicaes Web, mas que tenha solues baseadas em
Client-side;
d) Relate sobre Engenharia Social, mas que tenha solues baseadas em Client-side;
e) Relate sobre Falhas no Navegador Web e seus Complementos;

2.4

Critrio de Excluso

a) Duplicidades de publicao (indexao);


b) Peridicos que no forem acessveis online;
c) Publicaes da indstria onde o acesso restrito a pagamento;
d) Publicaes que relatem problemas especficos dispositivos mveis;
e) Publicaes que tragam uma reviso sem alguma proposta como soluo;
f) Publicaes voltadas para recomendaes de desenvolvimento seguro;
g) Publicaes que estejam direcionadas a ataques que no acarretam em violao de
dados, mas sim disponibilidade, como Denial of Service (DoS) e seus variantes, ou

10

2.5. CRITRIO DE RELEVNCIA

ataques de Buffer Overflow;


h) Publicaes que no estejam escritas no idioma ingls;

2.5

Critrio de Relevncia

a) Artigos com a soluo de propostas puramente Client-side;


b) Artigos que possuam algum tipo de validao da sua proposta;
c) Artigo que relacione o maior nmero de Ataques sobre o tema;

2.6

Triagem

Nesta seo descrita a triagem a qual faz uso dos critrios apresentados anteriormente
com o objetivo de refinar o resultado inicial das publicaes selecionadas. Inicialmente foi
aplicada uma analise superficial, baseada na leitura do abstract das publicaes, na qual
eram aplicados os critrios previstos, uma vez contemplados, a publicao era considerada.
Foi constatado que neste tipo de anlise existiam casos onde o processo superficial no
era suficiente, como por exemplo, quando o abstract era muito resumido ou no era
possvel extrair dele as informaes necessrias aos cumprimentos dos critrios. Essas
publicaes eram alocadas separadamente para uma futura avaliao mais detalhada onde
seria analisada a introduo ou demais captulos ou sees da publicao. O resultado
da triagem resultou nas publicaes conforme ilustrado na Figura 2.1. Esta triagem

Figura 2.1 Publicaes distribudas por fontes literrias.

resultou em 915 publicaes, e revelou que o IEEEXplore a fonte com maior numero

11

2.7. CLASSIFICAO DOS RESULTADOS

de trabalhos disponveis sobre o tema, com 233 publicaes, ou seja, a triagem descartou
112 artigos que foram considerados na pesquisa inicial. O mesmo procedimento foi
realizado nas demais fontes e isso trouxe ao resultado final a garantia que as publicaes
selecionadas apresentam de fato aderncia ao tema deste estudo. Conforme especificado
anteriormente, a fonte demarcada como "Outros", representam as obras encontradas nas
fontes industriais, e nestas esto includas as sete publicaes que fundamentam os termos
e nomenclaturas desta pesquisa.

2.7

Classificao dos Resultados

Nesta etapa foi realizada a anlise e classificao de quais so os Vetores e Ataques


relacionados ao tema, distribudas conforme ilustrado na Figura 2.2. A partir deste
estgio, se d inicio a construo da Taxonomia, sendo definida em trs tipos de ameaas:
Falhas em Aplicaes (i): Esta ameaa tange as vulnerabilidades oriundas de
falhas no desenvolvimento da aplicao web, seja pela ausncia ou ineficincia de
um solido processo de desenvolvimento seguro, seja por brechas nas entradas da
aplicao ou pela utilizao de componentes com vulnerabilidades conhecidas.
Engenharia Social (ii): A engenharia social possui um conceito muito amplo,
portanto importante salientar que no escopo desta pesquisa est intrinsecamente
relacionada s aes ilcitas de usurios mal intencionados que vo bem alm dos
aspectos tecnolgicos, como por exemplo persuadir um usurio uma determinada
ao que resulte na violao de seus dados sensveis.
Falhas em Navegadores Web (iii): Esta ameaa proporcionada por componentes ou complementos com vulnerabilidades conhecidas instalados no navegador.
Uma vez que o navegador trafega dados sensveis constantemente, esta ameaa
quando presente proporciona um impacto de negcio equivalente propagao da
popularidade destas ferramentas.
Durante a triagem foi observado que diante as trs ameaas apresentadas, foram detectados cinco vetores e nove ataques relacionados que sero descritos em detalhes mais
adiante, chegando taxonomia proposta na Figura 2.2. Na Figura 2.2 demonstra que
com base na classificao dos resultados na literatura, a ameaa (i) possui trs Vetores
relacionados, dos quais esto contidos cinco Ataques distintos. J a ameaa (ii) possui
um Vetor disseminador, do qual possui trs Ataques. E por fim, a ameaa (iii) possui

12

2.8. ANLISE E DISCUSSO DOS RESULTADOS

Figura 2.2 Taxonomia das Ameaas, Vetores e Ataques.

tambm apenas um Vetor e um Ataque relacionado. A classificao tambm gerou


como resultado um agrupamento dos trabalhos com maior aderncia ao tema proposto
desta pesquisa e o tipo da soluo proposta em cada publicao. Estes resultados sero
apresentados nas prximas sees de forma sistemtica e em conjunto com anlises e
discusses desenvolvidas com o objetivo de responder as questes de pesquisas levantas
pela metodologia da reviso proposta.

2.8

Anlise e discusso dos Resultados

Aqui so respondidas as trs questes de pesquisas propostas nesta reviso sistemtica.

2.8.1

Resultado Obtido da QP 1

Apesar de cada vetor possuir uma caracterstica especfica, nada impede que o mesmo
atue simultaneamente com outros vetores em um mesmo cenrio, resultando assim
em diversas interseces entre as publicaes e Vetores. Conforme os cinco vetores
apresentados na Figura 2.2, o resultado da QP1 gerou o grfico da Figura 2.3 no qual
demonstra a distribuio das 915 publicaes entre os cinco Vetores, com o objetivo de
observar quais vetores so mais explorados. importante salientar que o total de 915
artigos divergente do somatrio dos nmeros desprendidos no grfico da Figura 2.3
(1063), o motivo o acumulo de ocorrncias de interseces j mencionadas, gerando
sobreposies publicaes atribudas em mais de um Vetor. O grfico da Figura 2.3

13

2.8. ANLISE E DISCUSSO DOS RESULTADOS

Figura 2.3 Distribuio das publicaes por Vetores.

distribuiu as publicaes que possuem Ataques relacionados a cada Vetor correspondente.


Foi possvel ento dividir os Ataques entre cinco vetores distintos, sendo tambm possvel
concluir que o Vetor com maior nmero de publicaes na literatura a Explorao
por Injeo de Cdigos, e as publicaes referentes a Componentes ou Complementos
Inseguros fazem parte do seleto menos explorado na literatura. Nas prximas sees so
descritos em mais detalhes a classificao dos Vetores de Ataques.
Vetor 1: Injeo de Cdigos
Trata-se do vetor mais explorado na literatura, com 370 publicaes selecionadas e seus
relatos iniciaram-se na literatura em meados do ano 2000. A injeo de cdigo resultante
de uma falha no tratamento de entradas da aplicao, como dados em formulrios ou
arquivos. Essas falhas so muito predominantes principalmente em sistemas legados,
e dentre todos os vetores, esse a que possui maior facilidade de deteco [283]. Em
contrapartida, ainda bastante recorrente nas aplicaes [314] [260] e possui um maior
fator de impacto nos negcios, pois uma vez vulnervel, uma aplicao pode comprometer
completamente um servidor web ou toda sua base de dados [292].
Vetor 2: Fraudes
O terceiro Vetor mais explorado na literatura, com 186 publicaes encontradas, com
foco nas fraudes, que so frutos de sites mal intencionados que furtam informaes dos
visitantes atravs de engenharia social, sequestrando dados confidenciais ou cliques. Esse
vetor muito disseminado pelas aes dos Malwares, tcnicas de Phishing, entre outros

14

2.8. ANLISE E DISCUSSO DOS RESULTADOS

golpes dos quais simulam um cenrio real de um determinado site ou servio com o
objetivo de levar o usurio a crer que o site em questo quem se diz ser [6].
Vetor 3: Fraca Proteo aos Dados
Com 325 publicaes um vetor intermedirio em termos de explorao literria,
encontrando-se como segundo mais relatado. Sua consequncia se caracteriza por ausncia ou falha em tcnicas como a criptografia ou ofuscao de dado sensvel, quando
no aplicadas ou aplicadas de forma ineficiente. Exemplos comuns so senhas ou dados
de carto de crdito, muitas vezes estes dados so trafegados de forma inadequada por
aplicaes que adotam uma fraca poltica de proteo dados sensveis [292][83].
Vetor 4: Componentes ou Complementos Inseguros
Uma rea bastante relevante, mas at ento menos explorada na literatura. Foram encontrados apenas 72 artigos, que representa em torno de 7% de todos os artigos selecionados.
Este tipo de vetor ocorre quando existe alguma vulnerabilidade no navegador ocasionada
por uma falha em seu desenvolvimento [1]. Apesar dos desenvolvedores de navegadores
estarem sempre corrigindo as falhas e incentivando seus usurios a atualizarem suas
verses, muito rpida a disseminao de uma notcia de nova falha em uma determina
verso do navegador, como em casos de ataques de Dia Zero, do ingls, Zero-Day [356].
Uma vez que muitos navegadores utilizam o mesmo motor de desenvolvimento, no
incomum encontrar inmeras vulnerabilidades em navegadores distintos [127], dando
margens ao usurio ser suscetvel a esta vulnerabilidade.
Outra forma de explorao deste vetor ocorre quando uma ferramenta externa
adicionada ao navegador e traz consigo alguma vulnerabilidade, que consequentemente
compromete a segurana do navegador. Essa ocorrncia muito comum em Extenses
ou Plug-ins, o fato que so ferramentas desenvolvidas por terceiros, e a segurana
do navegador fica em cheque devido alguma negligencia no desenvolvimento dessas
ferramentas adicionais [355].
Vetor 5: Ataques de Domnio Cruzado
Este vetor resulta em ataques que so executados de fora dos domnios da aplicao que
recebeu o ataque. Casos comuns so originados de servios externos maliciosos que
se aproveitam da confiana obtida de um usurio ou aplicao [384]. Existem milhares
de APIs disponveis para serem consumidas, podendo tambm construir combinaes

15

2.8. ANLISE E DISCUSSO DOS RESULTADOS

de outras APIs, das quais so conhecidas como Mashups [194]. Estas interfaces tm
srios problemas de padronizao [339], isto dificulta aplicar uma poltica de segurana
consistente, e a consequncia disto que muitas vezes o controle de acesso, autenticao,
tratamento das entradas, trafego de dados criptografado, monitoramento das atividades,
entre outros aspectos de segurana que so negligenciados, oferecendo grande risco ao
usurio de navegador web. Foi mapeado como o quarto vetor mais explorado, com 110
publicaes relacionadas.

2.8.2

Resultado Obtido da QP 2

Nesta seo foram identificados os Ataques envolvidos em cada vetor da QP1, onde se
fez uma classificao de forma mais granular a fim obter maior visibilidade dos resultados da pesquisa agrupados entre os cinco Vetores e os nove Ataques correspondentes.
Alguns Ataques podem ocorrer em um ou mais vetores, portanto tambm so passiveis
a interseces, conforme a distribuio ilustrada na Figura 2.4. Com o resultado do

Figura 2.4 Distribuio das publicaes por Vetores e Ataques.

grfico da Figura 2.4 podem ser observados os Ataques que mais trabalham em conjunto
com outros, podendo-se concluir que algo bastante muito comum de acontecer. Alm
disso, pode-se concluir que as pesquisas que relatam sobre o Ataque relacionado ao vetor
de Fraca Proteo aos Dados frequentemente tambm relatam sobre outros vetores e
consequentemente outras ameaas distintas, conFigurando o cenrio de Ataques que
atuam em conjunto. Nesta seo tambm sero apresentados os ataques que envolvem
os vetores mapeados, descrevendo seu respectivo vetor, definio e impactos. Estes
resultados seguem a seguinte estrutura:

16

2.8. ANLISE E DISCUSSO DOS RESULTADOS

Os itens que relatam as definies so baseados principalmente nas sete principais


publicaes;
Os itens que relatam as consequncias so baseados nas noticias vinculadas na
mdia, considerando a relao de impacto de negcio.
Os itens que relatam as principais tcnicas de ataque e defesa so baseados nos
principais trabalhos obtidos nesta reviso sistemtica.
Ataque 1: Cross-Site Scripting (XSS) - A1
Vetor Relacionado
Vetor 1: Injeo de Cdigos.
Definio Com base nos resultados da reviso desta pesquisa, o XSS (em alguns casos
tambm leva o acrnimo de CSS), encontra-se como a segunda ameaa mais explorada
na literatura, registrando 218 publicaes. Alm disso, segundo a pesquisa da WhiteHat
[320], trata-se da vulnerabilidade mais predominante em aplicaes web, onde informa
que 53% das aplicaes web possuem vulnerabilidade XSS. Na mesma linha, segundo
[292] XSS consta como o terceiro ataque mais crtico nos ambientes de aplicao web, e
segundo os dados de [314][260] XSS o problema com mais ocorrncias registradas.
Esse ataque em muitas de suas facetas utilizam recursos de JS do navegador, onde
permite que seu executor envie dados no confiveis para o sistema, como scripts maliciosos que sem uma devida validao nas entradas, a aplicao acaba por permitir este tipo
de dado e faz com que o navegador interprete o cdigo e reproduza um comportamento
que traga algum transtorno ao usurio [260]. Existem trs tipos de XSS:
XSS Persistente: Possibilita que um cdigo malicioso seja permanentemente armazenado na aplicao, fazendo com que essa informao quando consumida, far com que
o navegador execute uma interpretao arbitrria, tornando qualquer usurio visitante
uma vtima [292]. Um exemplo dessa prtica conseguir inserir um cdigo malicioso em
algum campo de um formulrio que persiste suas informaes em um banco de dados e
que posteriormente esses dados possam ser recuperados por qualquer usurio da aplicao
[292]. Este tipo de XSS o mais destrutivo, pois possibilita que um grande nmero de
usurios tornem-se vitimas atravs de uma nica falha na aplicao. Conforme na Figura
2.5, ilustrado um exemplo mais comum de XSS Persistente.
Na Figura 2.5 demonstrado um cenrio onde a aplicao no faz uma devida
validao em suas entradas, permitindo que seu usurio possa inserir cdigo JS em
um campo texto que quando a aplicao submeter o formulrio, a mesma ir persistir

17

2.8. ANLISE E DISCUSSO DOS RESULTADOS

Figura 2.5 Exemplo de XSS Persistente.

essa informao em sua base de dados. Essa informao persistida ser posteriormente
requisitada por outro usurio da mesma aplicao, que ir se tornar uma vitima do ataque.
XSS Refletido: Esse cenrio ocorre quando um usurio mal intencionado altera os
parmetros de uma URL com cdigos maliciosos, e encaminha para um usurio vitima,
que este ao tentar abrir o endereo, far com que seu navegador interprete os cdigos
injetados via parmetros [48]. Muitas vezes essas aes tambm podem utilizam tcnicas
de embaralhamento [295] na URL para dificultar a deteco da alterao nos parmetros,
conforme na Figura 2.6.

Figura 2.6 Exemplo de XSS Refletido.

A Figura 2.6 demonstra uma aplicao que no realiza uma validao nos valores
atribudos ao parmetro "p"em sua seo de busca por termos ou palavras chaves que so
fornecidos pelo usurio e processados na pagina seguinte. Neste contexto um usurio
mal intencionado pode explorar essa vulnerabilidade inserindo cdigo JS ou HTML neste
parmetro, resultando em um resultado desastroso para a aplicao na pgina seguinte.
XSS Baseado em DOM: DOM o acrnimo para Document Object Model, que
um padro utilizado para construir elementos HTML atravs de javascript. Quando se diz
que um XSS baseado em DOM se caracteriza por modificar das propriedades destes
elementos sem a necessidade de realizar requisies no servidor, j que a modificao
pode ser feita diretamente no navegador do usurio [291]
No exemplo da Tabela 2.2, o cdigo HTML em questo faz o navegador renderizar

18

2.8. ANLISE E DISCUSSO DOS RESULTADOS


Selecione seu idioma:
<select><script>
document.write(OPTION value=1>"
+document.location.href.substring(document.location.href.indexOf("default=")+8)
+/OPTION>");
document.write(OPTION value=2>Ingles</OPTION>");
</script></select>
http://www.meusitea.com/pagina.html?default=Frances
(Link esperado pela aplicao)
http://www.meusitea.com/pagina.html?default=<script>alert(XSS)</script>
(Link enviado pelo atacante)

Tabela 2.2 Exemplo de XSS baseado em DOM (retirado do OWASP [292])

uma tela onde fornece ao usurio um menu suspenso que representa o conjunto de idiomas
disponvel na aplicao, disponibilizando ao usurio a opo que define o idioma padro
na pgina. O menu suspenso em questo est sendo criado pela aplicao atravs de DOM,
no qual espera em seu parmetro um contedo texto que represente o idioma desejado pelo
usurio, quando na verdade um usurio mal intencionado pode simplesmente modificar o
parmetro para que no momento que o elemento DOM seja renderizado, ir executar o
contedo nocivo passado via parmetro pelo mal intencionado [291].
Principais Tcnicas de Ataque
Nesta seo sero descritas as principais tcnicas utilizadas nos ataques de XSS.
Forma Direta: So ataques que utilizam tcnicas mais comuns, ou quando o cdigo
injetado enviado sem codificao. Geralmente estas aes so minimizadas com a
utilizao de filtros [262]. Basicamente apresentam-se nas seguintes formas:
a) Explorando falhas em tratamento de Escape.: So cdigos injetados em uma
aplicao que no faz um devido tratamento de escape nas Strings a serem exibidas ao
usurio. Atualmente muitos frameworks de web por padro ativam esse este tipo de
filtragem nas sadas de String. Na tabela 2.3 ilustrada a funcionalidade desta tcnica.
String html = b>Teste</b>"
Aplicando a tcnica de Escape a String resulta em: &lt&gtTeste&lt/&gt
Ao ser renderizada, ser exibido ao usurio o seguinte texto: <b>Teste</b>

Tabela 2.3 Exemplo da funcionalidade da tcnica de Escape

b) Utilizando elementos crticos ou de contedo sensvel: So tcnicas que exploram


vulnerabilidades em componentes como o Cross Site Flashing [293] ou elementos HTML
como frames, atravs de Cross Frame Scripting [267]. Outros aspectos so comandos JS

19

2.8. ANLISE E DISCUSSO DOS RESULTADOS

que manipulam dados sensveis como o document.cookie() [352][106].


Evaso de Filtro
Evaso ocorre quando se utiliza tcnicas para burlar os critrios dos filtros, como a
utilizao de filtros est cada vez mais comum, os atacantes comeam a elaborar tcnicas
que contornam esta medida de preveno [295].
a) Contedo injetado atravs de codificao da String: Podem ser baseadas em
Unicode, Charcode, Hexa, decimal ou base64 [292][314][176], ou baseadas em URIComponent, que uma funo nativa do JS que codifica caracteres especiais [61], ou
mesmo escapes de elementos HTML ou JS [314][260].
b) Contedo injetado atravs de funo dinmica: Funes como eval(), Function(),
document.write(), setTimeOut(), atravs de DOM ou tcnicas que utilizam expresso
regular em uma String em combinao da funo replace do JS [62][87].
Consequncias
As consequncias de um XSS podem ser um simples Defacement na aplicao, que
segundo Anderson et al. [62] a desFigurao de uma pagina em um site na internet, onde
seus danos so apenas estticos. Ou at mesmo executar um roubo de dados sensveis
do usurio como dados de sesso, cookies ou redirecionamentos para sites maliciosos.
Um caso que chamou ateno foi quando em 2005, o usurio Samy Kankar realizou um
ataque no MySpace.com, que com o intuito de aumentar sua lista de amigos, ele injetou
um script em seu perfil, fazendo com que qualquer visitante que visualizasse seu perfil
se tornasse seu amigo na rede do MySpace [284]. Alm disso, o scripts se propagava
de forma viral, fazendo com que tambm adicionasse amigos ao Samy quando algum
visualizasse o perfil de um usurio contaminado. Com isso, em menos de 20 horas Samy
j possua milhes de amigos e o site do MySpace ficou fora do ar por algumas horas
para solucionar o problema em suas entradas de formulrios [263]. O MySpace tinha
como objetivo permitir que seus usurios customizassem cores e efeitos nas informaes
de seus perfis, atravs de cdigos HTML e CSS. Apesar de possuir algumas restries
baseada em filtros, Samy identificou uma falha nos critrios de restrio, conseguindo
assim inserir um cdigo JavaScript malicioso [284]. Uma das medidas de preveno
de XSS adotadas pelos navegadores atuais a utilizao de uma Poltica de Segurana
de Contedo, do ingls, Content Security Policy (CSP) [268], que trata-se de uma
especificao desenvolvida pela W3C que possibilita o navegador adotar uma poltica
de quais recursos so permitidos ou no de serem processados em uma requisio, e
essas configuraes so transmitidas atravs dos cabealhos HTTP ou por Meta Tag
HTML [268]. Isso possibilita que o desenvolvedor de uma aplicao restrinja recursos

20

2.8. ANLISE E DISCUSSO DOS RESULTADOS

que sero utilizados em uma determinada pgina, garantindo assim legitimidade de seu
contedo. Apesar de diversas medidas de preveno do navegador, ainda se faz ineficiente
as tcnicas de proteo nativa dos navegadores, seja por tcnicas que se baseiam em
evaso de filtros ou por falhas nas configuraes da CSP [288].
Principais Tcnicas de Defesa
Analise Esttica: A Anlise Esttica de Cdigo consiste em realizar uma auditoria
no cdigo, sendo necessria a intercepo da requisio antes do processo de resposta.
uma tcnica muito alinhada aos Padres de Comportamento [396][202][238].
Padres de Comportamento: Refere-se s prevenes relacionadas ao cdigo JS
com o objetivo de detectar comportamentos suspeitos. As medidas aplicadas so anlises
de cdigos pr-definidos combinados a polticas de listas negras ou brancas, baseados em
expresso regular [77][374][172].
Proxy Reverso: Uma camada adicional de um terceiro (provedor da soluo de
segurana) que atravs de separao ou isolamento dos dados no qual ir interceptar as
requisies e aplicar um conjunto de outras tcnicas [223][201].
Proteo de Parmetros ou Atributos: So medidas que visam ocultar informaes
sensveis no cabealho ou formulrios, a fim de impedir a intercepo por um atacante,
o que caracteriza no ataque Man-in-The-Middle. Outra medida a analise dos valores
passados em elementos, como HTML, nos quais os atacantes manipulam a fim de escapar
XSS [329][351].
Preveno Evaso de Filtros: So tcnicas que analisam a utilizao de codificaes para escapar entradas com comandos JS [378][203].
Dynamic Data Tainting: Tambm conhecida como Data Flow Analysis, uma
analise diferente das abordagens focadas em falhas no lado do navegador. Atravs dela
possvel monitorar um cdigo JS diretamente no mecanismo de renderizao do JS,
analisando sua semntica em tempo de execuo, possibilitando assim interromper ou
continuar um processamento [266]. uma tcnica bastante utilizada em conjunto com
Anlise esttica e padro de comportamento.
Ataque 2: Injeo SQL (SQLi) - A2
Vetor Relacionado
Vetor 1: Injeo de Cdigos.
Definio Seguindo a reviso sistemtica desta pesquisa, esta ameaa foi identificada
como a terceira mais explorada na literatura, com 160 publicaes, e segundo [292] o
ataque com maior criticidade em aplicaes web devido ao alto impacto nos negcios.

21

2.8. ANLISE E DISCUSSO DOS RESULTADOS

Injeo SQL, ou SQLi, um ataque que se aproveita da falha no tratamento de entradas


em formulrios, que enviam informaes das quais alimentam um banco SQL [314].
Principais Tcnicas de Ataque
a) Manipulao de parmetro: Pode ser realizado atravs de parmetros da URL
(GET) ou de formulrios (POST) ou em qualquer entrada que resulte em um recurso que
acesse a camada de persistncia de uma aplicao que utilize SQL ANSI [314][260].
b) Contedo injetado atravs de codificao: Mesma tcnica de codificao utilizada
em XSS para escapar caracteres especiais como aspas ou --". Tambm envolvem aspectos
relacionados a expresso regular [294].
A ao ilustrada na Figura 2.7 reproduz uma concatenao na sintaxe SQL que resulta
em critrios com uma verdade absoluta, no caso o 0=0, que sempre ser true, e
seguindo a regra de condicionais, a sintaxe resultante seria FALSE or TRUE, como na
regra do OR basta um lado ser verdadeiro, o SELECT da sintaxe SQL ir retornar TRUE
na operao WHERE e todos os registros da tabela usurios. Como a consulta trar
resultados, o atacante ser autorizado na tentativa de efetuar login na aplicao, recebendo
um acesso indevido, que ir assumir o primeiro registro da listagem retornada.

Figura 2.7 Exemplo de SQLi.

Outro exemplo mais destrutivo quando o atacante compromete a base atravs


de SQLi, quando ao concatenar a String com ;, sintaticamente est possibilitando a
execuo de outro comando na mesma String de consulta [314][260]. Para destruir a
base da aplicao o atacante pode acrescentar um comando que utilize DROP TABLE,
conforme na Tabela 2.4. O atacante insere as aspas simples precedidas do comando
DROP TABLE, do qual ir remover a tabela usurios, e finaliza com ; indicando o final
do comando e que aps o - todo o restante da sintaxe se tornou comentrio, na prtica
o banco de dados far dois comandos, o SELECT, e logo em seguida o DROP TABLE,
apagando a tabela usurios por completa.
Consequncias
SQLi possui um alto impacto nos negcios [292], pois sua execuo traz como o
comprometimento de toda a base de dados, e consequentemente a violao dos dados dos

22

2.8. ANLISE E DISCUSSO DOS RESULTADOS


Select * from usuarios where login =adm drop table usuarios; and senha=123;

Tabela 2.4 Exemplo de SQLi destrutivo

usurios de navegador web. Alm disso, o atacante pode realizar um chamado by-pass
ou quebra de acesso, onde este adquire privilgios indevidos, podendo realizar acesso,
excluso, adulterao ou roubo de informaes sigilosas dos usurios.
Principais Tcnicas de Defesa
As tcnicas utilizadas so bastante similares as aplicadas para XSS, conforme em
[329][378][203]. Tambm faz uso da Anlise Esttica, conforme em [165][131][213]
Ataque 3: Clickjacking - A3
Vetor Relacionado
Vetor 2: Fraudes.
Definio
Conforme os resultados desta reviso sistemtica, o Clickjacking foi identificado
como o ataque menos explorado na literatura, ao contexto do tema desta pesquisa foram
mapeadas 31 publicaes relacionadas. Segundo [287], Clickjacking, que tambm
conhecido na literatura por UI Redressing, um ataque que sequestra o clique do mouse,
mais precisamente quando o usurio deseja clicar em algum link ou boto disponvel na
pagina, fazendo com que o usurio acredite que realmente clicou no boto, quando na
verdade h elementos HTML sobrepondo o alvo, muitas vezes DIV ou IFRAME.
O Clickjacking apresenta-se como uma ou mltiplas camadas transparentes ou opacas
que se sobrepem com o objetivo de enganar o usurio que tinha a inteno de clicar em
um link ou boto sobreposto [257], conforme ilustrado na Figura 2.8.

Figura 2.8 Exemplo de sequestro de Click.

Na Figura 2.8 ilustrado um cenrio onde uma pagina introduz um elemento DIV
que sobrepem um link. O DIV sobreposto possui atributos definidos para que o mesmo
fique transparente e com posicionamento flutuante, fazendo com que o usurio no o

23

2.8. ANLISE E DISCUSSO DOS RESULTADOS

enxergue e que fique por cima do link, do qual ser visvel e o usurio quando tentar
clica-lo, na verdade estar clicando no DIV transparente, do qual ir disparar um evento
que pode redirecionar o usurio para outra pgina. Outra tcnica especfica que to
prevalente que tambm tem seu prprio termo cunhado, conhecido como "Likejacking",
que possui o mesmo mecanismo de um Clickjacking, porem focado contra o Facebook,
onde engana um usurio sobrepondo o boto "Curtir", sequestrando seu click, fazendo
com que pginas ou imagens sejam curtidas sem seu consentimento [364].
Tambm existe uma variao do Clickjacking, denominada Strokejacking, que ao
invs do click, este captura o evento das teclas do teclado. Devido ao pequeno numero de
publicaes encontradas na literatura sobre este ataque, este estudo considerou Strokejacking e Clickjacking como um mesmo ataque [269]. Na Figura 2.9 ilustrada outra
utilizao para sequestrar informaes sigilosas como credencias de acesso, com base
nas tcnicas j apresentadas.

Figura 2.9 Exemplo de Clickjacking/Strokejacking para roubo de dados em formulrio.

No cenrio ilustrado na Figura 2.9, o usurio informa suas credencias de acesso sem
desconfiar que na verdade existem campos sobrepondo os campos visveis, estes campos
ocultos podem ser submetidos em formulrios ou frames cruzados, tcnica conhecida
como Double Framing [286].
Principais Tcnicas de Ataque
a) Sobreposio de Elementos em Tela: Essa sobreposio possvel atravs de
recursos do prprio HTML como o estado flutuante do objeto e a sua opacidade [257].
b) Manipulao em Frames: Modificaes no atributo parente.location.href, reproduzindo um Double Framing [286][216].
Consequncias
Na prtica, o Clickjacking uma fraude. O atacante faz com que o usurio clique
em um determinado recurso na pagina, onde imagina que tenha um determinado comportamento, quando na verdade seu clique foi em outro recurso, desta forma o atacante

24

2.8. ANLISE E DISCUSSO DOS RESULTADOS

"sequestra"este clique para outros fins. Algum dos objetivos do furto do clique redirecionar o usurio vitima de um ambiente legitimo para outro hostil onde possa extrair seus
dados sensveis, que uma ao muito intrnseca ao redirecionamento invlido. Clickjacking atualmente est muito comum em redes sociais, uma vez que a usabilidade destes
ambientes direcionada ao simples clique das coisas, como botes curtir ou compartilhar.
Mas nada impede que esta tcnica tambm seja usada para sequestrar cliques de um
teclado digital, que so muitas vezes utilizados em internet banking [186][239].
Principais Tcnicas de Defesa
a) CSP: Algumas medidas de preveno adotadas pelos navegadores atuais, assim
como em XSS, tambm utiliza a Poltica de Segurana de Contedo [268].
b) Preveno em Frames: Utilizao das opes do Cabealho HTTP X-Frame, impedindo modificaes nos atributos de um Frame e tcnicas de Frame Busting [71][162].
Ataque 4: Redirecionamentos e Encaminhamentos Invlidos - A4
Vetor Relacionado
Vetor 2: Fraudes.
Definio
A reviso sistemtica mapeou-a como a quarta ameaa mais explorada na literatura,
com 144 publicaes relacionadas. Neste contexto esto s preocupaes relacionadas
ao redirecionamento do usurio durante a navegao, Segundo [292], as aplicaes web
frequentemente redirecionam e encaminham usurios para outras pginas e no usam
uma validao adequada quanto aos parmetros de redirecionamento de seu domnio,
fazendo a vtima achar que uma determinada URL ir direciona-la ao respectivo domnio
confivel, quando na verdade so encaminhados para sites forjados e no confiveis.
Este contexto tambm est associado ao usurio ser enganado para cair em sites forjados, j que na prtica tudo uma fraude, e os objetivos so baseados em uma engenharia
social da qual redireciona o usurio para um ambiente hostil, que representa visualmente
muito fielmente o site do servio oficial, mas que na verdade este ir intercepta os dados
sensveis para um golpista, fazendo o usurio pensar que suas informaes esto sendo
enviada para o servio legtimo. Esta tcnica de ataque denominada Phishing, que
segundo [6], Phishing, Phishing-scam ou Phishing/scam, o tipo de fraude por meio da
qual um golpista tenta obter dados pessoais e financeiros de um usurio, pela utilizao
combinada de meios tcnicos e engenharia social, conforme a Figura 2.10.
Na Figura 2.10 ilustrado um exemplo de um site forjado com intuito de roubar os
dados do usurio.

25

2.8. ANLISE E DISCUSSO DOS RESULTADOS

Figura 2.10 Exemplo de Phishing.

Principais Tcnicas de Ataque


a) Encaminhando ao Phishing: O objetivo introduzir o usurio em um cenrio
forjado para que o mesmo acredite que se trata de algo legtimo ou confivel. Com isso, o
usurio fornecer informaes pessoais como senhas ou numeraes de carto de credito,
e estas informaes sero enviadas para o golpista que criou o ambiente forjado. [6]
b) Redirecionando ao Phishing: Um atacante pode se utilizar de diversas tcnicas
para conseguir realizar um redirecionamento ao usurio, seja por modificar os parmetros
em uma URL legitima, ou at mesmo ocultar uma URL suspeita atravs de servios de
URL curtas, que so muito comuns em servios de troca de mensagens sucintas como o
Twitter [261]. No caso de URL legitimas, algumas aplicaes utilizam parmetros que
redirecionam o usurio para uma determinada pagina, isso bastante comum quando
uma sesso expirada em uma aplicao, e visando funcionalidade, redireciona o usurio
para a tela de autenticao preservando a URL anterior atravs de um parmetro na
URL do redirecionamento da autenticao. O objetivo quando o usurio efetuar seu
login, o mesmo ser encaminhado para o endereo que consta no parmetro. Estes
parmetros podem ser alterados por usurio mal intencionados que encaminham a URL
modificada para usurios vitimas. Se a aplicao no realizar uma devida validao,
poder redirecionar a vitima para uma pagina maliciosa.
Consequncias
Apesar de inmeras possibilidades, o nico objetivo conseguir roubar os dados
sensveis do usurio atravs das tcnicas descritas de encaminhamento e redirecionamento.
Atualmente o Phishing ainda segue realizando grandes prejuzos em todo o mundo [155].
Principais Tcnicas de Defesa
a) Confiabilidade no Domnio: Algumas medidas de preveno foram aplicadas,
como a sigla de segurana "b.br"no Brasil, para endereo eletrnico dos sites de banco
[111], gerenciado pela organizao do Ncleo de Informao e Coordenao do Ponto

26

2.8. ANLISE E DISCUSSO DOS RESULTADOS

BR, NIC.br. Porm, uma medida ineficiente visto que poucos usurios detectam estas
minucias no endereo, por muitas vezes no precisar digitar o endereo no navegador, j
que os principais vetores so disseminados atravs de mensagens de e-mail, e o alvo em
potencial so usurios de comercio eletrnico, redes sociais, companhias areas, e algum
tipo de recadastramento que solicita dados sensveis.
b) Controle de Phishing baseado em Lista Branca ou Negra: Muito dos navegadores
atuais tem a politica de proteger o usurio baseado em uma Lista Negra atualizada
periodicamente, mas a tarefa bastante rdua devido a grande velocidade e demanda
da atuao dos golpistas. Prova disso conforme o Phishing da Figura A.1, onde foi
registrado por este estudo que no dia 01/10/2013, as 16:15, este Phishing ainda era
possvel de ser executado por qualquer navegador popular, e todos atualizados, a exemplo
do Google Chrome que nesta data e horrio estava com suas atualizaes em dia, na
verso 30.0.1599.66m e mesmo assim foi possvel acessar o contedo da Figura A.1.
Seguindo a mesma proposta da proteo nativa dos Navegadores, existem solues de
terceiros que visam proteger a navegao do usurio em tempo real, conforme em [361]
[306] [51] [411] [206] [265]. Para o caso das modificaes em parmetros de URL
legitimas, as aplicaes podem utilizar uma politica de Lista Branca para endereos
validos em seus redirecionamentos.
Ataque 5: Complementos Maliciosos - A5
Vetor Relacionado
Vetor 2: Fraudes.
Definio
Com base nesta reviso sistemtica, com apenas 27 publicaes, este ataque foi
considerado o menos explorado na literatura. Este ataque representa outro vis da
Fraude, e ocorre quando o usurio redirecionado para um ambiente onde promete aos
seus visitantes ferramentas para otimizar o seu navegador ou auxiliar na reproduo
de algum formato de mdia atravs dele, mas que na verdade trata-se de um Trojan
ou cavalo de Tria como no caso em [183], que segundo [5] um programa que atua
como hospedeiro, e embora em alguns casos ainda execute as funes para as quais foi
aparentemente projetado, seus principais objetivos so outros, normalmente maliciosas,
como o monitoramento do trafego ou coleta de dados, sem o consentimento e devida
autorizao do usurio.
Principais Tcnicas de Ataque
a) Atravs de Plug-ins: Um tipo de plug-in muito explorado neste contexto so os

27

2.8. ANLISE E DISCUSSO DOS RESULTADOS

baseados em ActiveX, dentre tantas possibilidades, um ActiveX mal intencionado pode


propagar Malwares ou excluso e roubo de arquivos. Estas tcnicas so as mais comuns
de serem aplicadas neste cenrio. [5][230][372][321][100][246][357].
b) Atravs de Extenses: Alm dos plug-ins, as extenses tambm se enquadram em
possibilidades de ataque nestes cenrios. No decorrer dos tempos, a confiana entre o
desenvolvedor da extenso e o usurio encontra-se em cheque. Normalmente as extenses
tem um nvel privilegiado de acesso aos recursos do navegador, como os formulrios,
campos do cabealho HTTP, Cookies, e at mesmo em alguns casos, recursos do sistema
operacional. Com a ascenso destes aplicativos, as exploraes de vulnerabilidades neste
nvel atuam descontroladamente, tornando-se comum encontrar casos como roubo de
informaes e quebra de privacidade [159][310].
Consequncias
Estes usurios so vtimas de Trojans, Malwares, Adwares, Spywares (malicioso),
Adversiting, Scareware, e Malversiting, estes se apresentam como Plug-ins ou Extenses
do navegador. As consequncias, alm a violao dos dados sigilosos, tambm a privacidade do usurio, j que estas ferramentas intrusas monitoraram todo o trfego do usurio,
principalmente em ambientes como internet banking [5]. Muitos destes adicionais, por terem privilgios de escrita e leitura, modificam diversas configuraes do usurio e afetam
o comportamento no apenas do navegador, mas de todo o sistema operacional. Alm
disso, o computador da vitima pode se tornar um Botnet, sendo controlado remotamente.
Muitos desses Malwares atuam como trojan bancrios, conforme o estudo em [80],
no qual descreve o Brasil como um pais bastante explorado por este tipo de pragas. Na
Figura 2.11 descrito o fluxo de atuao dos Malwares, que quando instalado navegador
do usurio, ou em alguns casos instalado diretamente no sistema operacional, mas que
frequentemente infectado atravs do navegador.
Quando instalado, o mesmo inicializa recursos para diversas atividades ilcitas, como
roubo de contas em redes sociais, bloqueio no funcionamento do antivrus instalado no
sistema operacional, ou monitoramento de informaes e atividades da navegao do
usurio infectado [36].
Principais Tcnicas de Defesa
a) Politicas de restries aos Plug-ins: A execuo de um ActiveX baseada na
autenticidade do seu cdigo, isso garante que nem todo ActiveX possa ser instalado no
navegador sem previamente ter assinado um certificado atravs de alguma autoridade de
certificao digital [259], como a Certsign8 , isso garante que seu cdigo realmente foi
8 Certisign

- Certificadora Digital: http://www.certisign.com.br/

28

2.8. ANLISE E DISCUSSO DOS RESULTADOS

Figura 2.11 Fluxo de atividade de um Malware.

criado e mantido por um determinado autor. O grande problema que este autor pode
estar no anonimato, visto que qualquer desenvolvedor pode criar seu ActiveX e solicitar o
certificado. Uma vez que o ActiveX malicioso autorizado para execuo, todos os dados
do navegador, como tambm o computador do usurio podem ser comprometidos [259].
Algumas publicaes na literatura propem o monitoramento de plug-ins instalados no
navegador em tempo real, como em [128][159][245].
b) Politicas de restries as Extenses: Recentemente os desenvolvedores dos navegadores mais populares adotaram uma nova politica, da qual restringe que o navegador
instale apenas extenses mantidas em seus prprios domnios, no caso do Google Chrome, o mesmo no permite que extenses fora da Chrome Store9 sejam instaladas em
seu navegador [365]. Um bom exemplo foi na ocasio onde um grupo de criminosos
conseguiu publicar extenses maliciosas na Chrome Store [301].
Ataque 6: Exposio de Dados Sensveis - A6
Vetor Relacionado
Vetor 3: Fraca Proteo aos Dados.
Definio
Com base desta pesquisa, a Exposio de Dados Sensveis foi identificada como a
ameaa mais explorada de toda a literatura, com 325 publicaes registradas. Este ataque
9 Chrome

Web Store: https://chrome.google.com/webstore

29

2.8. ANLISE E DISCUSSO DOS RESULTADOS

est intrnseco as politicas de segurana utilizadas durante o desenvolvimento de uma


aplicao, direcionada aos requisitos relacionados a proteo dos dados [292][258].
Principais Tcnicas de Ataque
Desenvolvimento inapropriado da Aplicao: Segundo [292], os problemas mais
comuns so na forma incorreta ou ausncia na criptografia de dados sensveis. Outras
ameaas descritas na literatura, como Man-in-the-Middle e Falha no Gerenciamento
de Sesses de Aplicaes, tambm esto envolvidas neste cenrio e ambos so frutos
de uma falha na proteo do respectivo dado sensvel [281][292]. Conforme ilustrado
na Figura 2.12, este tipo de ataque tambm est diretamente associado s tcnicas
aplicadas a segurana nos dados de Cookies, Histricos, Cache ou outras funcionalidades
do navegador como o auto completar habilitados em formulrios ou armazenamentos
indevidos em Cache ou o Storage do HTML5 [258][281]. Outras falhas so ausncias de
HTTPS para o trafego de dados sensveis [35][292].

Figura 2.12 Aspectos da Exposio de Dados Sensveis.

Consequncias
Alguns dos grandes incidentes durante os anos foi o caso da empresa Adobe em
outubro de 2013, onde sua base de dados foi invadida, comprometendo mais de 130
milhes de senhas de usurios [316]. Outro caso da Target Corporation, a segunda maior
rede varejista da Amrica, e hackers conseguiram explorar brechas de segurana das
quais acarretaram em um roubo de mais de 40 milhes de cartes de crdito [153][362].
Principais Tcnicas de Defesa
a) Trfego seguro para dado sensvel: Algumas medidas de segurana como O HTTPS
e a criptografia so bastante utilizadas em ambientes com trafego de dados sensveis,
o grande problema que nem sempre so aplicadas nas aplicaes que manipulam
dados sensveis. Algumas publicaes na literatura direcionam seus estudos baseado nas
medidas aplicadas pelo HTTPS, a saber: [133][188][92].

30

2.8. ANLISE E DISCUSSO DOS RESULTADOS

b) Conformidades aos dados sensveis: Outras medidas podem ser associadas


politicas de conformidades a serem exercidas nestes ambientes. A conformidade se
caracteriza como uma condio de algum ou grupo de pessoas ou processos estar
conforme o pretendido ou previamente estabelecido, o pretendido em questo so os
padres de especificaes. Muitas vezes essas especificaes so elaboradas por empresas
que realizam auditoria externa com o objetivo de analisar se um determinado ambiente
est de acordo com os requisitos exigidos.
Um exemplo a HIPAA, sigla para Health Insurance Portability and Accountability
Act, que um padro com o intuito de proteger os dados relacionados sade, garantindo
privacidade e preveno de fraudes [185]. Outro exemplo o Data Loss Prevention, DLP,
que uma tcnica para evitar em tempo hbil incidentes de violao ou acesso indevido a
dados sensveis, as consequncias podem variar, desde a inibio de acesso ao arquivo
ou a autodestruio do mesmo [324]. Um grande problema que as conformidades no
satisfazem todos os domnios, primeiramente muitas delas so regionais ou frutos de leis
estatutrias, a outra questo que o custo de manter o controle quanto aos requisitos de
certa complexidade e em alguns casos atingem custos muito inviveis a serem aplicveis
devido realizao peridica de auditorias externas.
Ataque 7: Utilizao de Componentes Vulnerveis Conhecidos - A7
Vetor Relacionado
Vetor 4: Componentes ou Complementos Inseguros.
Definio
Segundo este estudo, este ataque possui 72 publicaes encontradas na literatura
relacionada ao tema da pesquisa. Esta ameaa est direcionada as falhas existentes no
navegador e seus componentes [292]. Como dito anteriormente, diversas informaes
sensveis so trafegadas durante a navegao e quando precisam ser armazenadas,
responsabilidade do navegador garantir que pessoas mal intencionadas no tenham acesso
a essa informao.
Alm disso, o desenvolvedor do navegador precisam adotar polticas slidas que garantam que tais informaes estaro bem protegidas, caso contrrio uma falha comprometer
sua reputao e os dados do usurio [47][231]. Outra questo que os componentes que
so adicionados ao navegador visam diretamente responsabilidade do desenvolvedor do
navegador ou de seus componentes terceiros. Outra questo que esta ameaa bastante
similar ao de Complementos Maliciosos, porem na vulnerabilidade dos componentes as
consequncias no so propositais, vistos que so resultantes de falhas no intencionais,

31

2.8. ANLISE E DISCUSSO DOS RESULTADOS

diferentemente de um complemento malicioso.


Principais Tcnicas de Ataque
a) Vulnerabilidades nos Componentes: So tcnicas que exploram vulnerabilidades
de componentes nativos ou de terceiros que se encontram instalados no navegador.
Como exemplo a existncia de inmeras vulnerabilidades encontradas no motor de
navegador WebKit [115][381] e Gecko [113], motores utilizado em diversos navegadores
da atualidade.
b) Ataques de Dia Zero: Ocorrem quando mal intencionados se aproveitam de
falhas ainda no corrigidas ou recentemente detectadas para realizar a explorao destas
vulnerabilidades [252][356].
c) Vulnerabilidades em Componentes de Terceiros: Alm das vulnerabilidades oriundas dos componentes nativos do navegador, o usurio tambm est suscetvel a vulnerabilidades encontradas em componentes de terceiros que so incorporados ao navegador.
Estes recursos adicionais, como leitores de arquivos PDF do Adobe Reader ou vdeos
Stream do Adobe Flash ou Quick Time, possibilitando a reproduo de diversos arquivos
multimdia, alm de oferecer recursos com maior interao do usurio em sites ou servios disponibilizados na internet, como a Rich Internet Application, RIA, a exemplo do
Microsoft Silverlight e Java FX. Comprometimento aos dados do usurio atravs de vulnerabilidades exploradas em recursos desta natureza no so incomuns [253][181][114].
Outro exemplo a vulnerabilidade no componente SilverLight que permite o acesso
indevido ao arquivo clientaccesspolicy.xml, permitindo explorao de CSRF [102].
Consequncias
As consequncias deste tipo de vulnerabilidade so de alto impacto, capazes de
proporcionar comprometimento de todo o sistema operacional, como os casos do Mac
OS com o Safari [180] em tempo recorde, e do Windows com Internet Explorer [366].
Principais Tcnicas de Defesa
a) Atualizaes peridicas dos desenvolvedores de Navegador Web: Um exemplo
disso o navegador Google Chrome recentemente ter recebido um patch de atualizao
que corrigiu cerca de 25 vulnerabilidades [182]. Apesar dos extensos histricos de
incidentes e o continuo esforo por parte dos desenvolvedores, atualmente a segurana
oferecida pelos navegadores bastante questionada entre os especialistas [126][125].
b) Bloqueio de Recursos defasados: Como exemplo, uma medida de preveno do
Chrome foi informar aos seus usurios que deixar de permitir plug-ins NPAPI a partir
de 2014. Segundo os prprios desenvolvedores do Chrome, NPAPI uma tecnologia
ultrapassada e de difcil manuteno quanto s questes de segurana [152].

32

2.8. ANLISE E DISCUSSO DOS RESULTADOS

c) Politicas de Restries aos Plug-ins e Extenses: So tcnicas similares s adotas


para preveno aos Componentes Maliciosos. As questes relacionadas s restries nos
repositrios de extenses tambm esto relacionadas a este contexto [365]. Algumas
publicaes na literatura propem mecanismos de defesa neste contexto [398][338].
Ataque 8: Cross-Site Request Forgery (CSRF) - A8
Vetor Relacionado
Vetor 5: Ataques de Domnio Cruzado.
Definio
O Cross-Site Request Forgery, CSRF, s vezes tambm chamado por XSRF ou
algumas vezes tambm pronunciado como Sea-Surf, e em alguns outros casos tambm
conhecido como "Riding Session". Segundo [383], um ataque do qual obriga o usuriofinal para execuo de aes indesejadas em uma aplicao em que ele encontra-se
autenticado. Apesar de ter um impacto semelhante ao XSS, o CSRF no uma injeo
de cdigo, mas sim uma manipulao nos parmetros que so trafegados na requisio,
ou seja, uma requisio forjada [292].
Apesar de ser na prtica uma fraude, ela executada fora dos domnios da aplicao,
portanto o mesmo no foi considerado como um redirecionamento invlido por este
estudo, pois apesar das manipulaes em seus parmetros, o fluxo invertido: a requisio
parte de um ponto de partida externo e segue direcionada para o domnio do site ou servio
legitimo. Essas foram algumas concluses para que o CSRF fosse classificado como um
ataque Cross-Domain. Foram encontradas 81 publicaes relacionadas na literatura.
Principais Tcnicas de Ataque
a) Manipulao de Parmetros: Conforme ilustrado na Figura 2.13, ocorre quando o
atacante envia para uma vitima um link que quando esta acessar ir disparar o mtodo de
atualizao de seus dados pessoais em um determinado site, do qual sero persistidos os
dados que o atacante informou nos parmetros da requisio [292].
Outro exemplo pode ser feito numa compra ou transao financeira, alterando campos
de quantidade ou endereo de entrega, ou qualquer outra operao que envolva o envio
de dados atravs de uma requisio com parmetros modificados. A princpio parece que
uma simples soluo seria realizar todas as requisies como POST [289], mas na prtica
no resolve o problema, visto que o atacante tambm pode forjar este tipo de requisies.
Outra questo que muitas vezes os usurios por imprudncia acabam realizando salvamento automtico de credencias ou permisses de relembrar autenticaes, este tipo de
aes podem resultar em CSRF atravs da manipulao de parmetros [290].

33

2.8. ANLISE E DISCUSSO DOS RESULTADOS

Figura 2.13 Exemplo de CSRF atravs da Manipulao de Parmetros.

b) Atravs de recursos da Aplicao: Existe tambm uma modalidade do CSRF


denominada persistente, da qual em formulrios sem uma devida validao, aceita componentes HTML como uma imagem, e no endereo desta informado uma URL forjada,
e que ser executada sempre que algum usurio acessar a referida imagem, combinando
assim conceitos de CSRF e XSS [98].
Consequncias
O CSRF herda a identidade e os privilgios da vitima para realizar uma operao
indesejada em nome do usurio final, um exemplo foi ocorrncia de vulnerabilidade de
CSRF no Office365 [308].
Principais Tcnicas de Defesa
a) Utilizao de Tokens nas Requisies: Exige que a requisio possua um Token
para garantir a legitimidade da mesma. [105][247][390]
b) Utilizao de Cabealhos HTTP: Preventiva utilizao dos parmetros Referer e
Origin para prevenir requisies de domnios no validados. [108][49]
Ataque 9: Falhas nas Politicas de Mesma Origem - A9
Vetor Relacionado
Vetor 5: Ataques de Domnio Cruzado.
Definio
Com 99 publicaes, um ataque relativamente explorado na literatura. Os browsers
atuais possuem algumas medidas de segurana, como a Poltica de Mesma-Origem (PMO)

34

2.8. ANLISE E DISCUSSO DOS RESULTADOS

[386], responsvel por inibir que uma mesma pgina carregue contedos de domnios
distintos, resultando em restries em ambientes que utilizam o objeto XMLHttpRequest
(XHR) atravs de JavaScript (JS).
Principais Tcnicas de Ataque
a) Explorao atravs de XHR: Um domnio externo injeta XSS em um domnio alvo,
essa tcnica tambm conhecida como Cross-Site Script Inclusion, XSSI [357]. Outro
ataque tambm explorao a PMO o Cross Site History Manipulation (XSHM) [282]
que possibilita uma manipulao no histrico do navegador, violando a privacidade do
usurio.
b) API ou Mashups no confiveis: Outra explorao atravs de APIs ou Mashups
inseguros, fato muito emergente na atualidade. Com isso, o resultado do servio pode ser
originado de fontes no confiveis, que possam explorar e executar ataques como XSS
ou algum tipo de fraude [79].
c) Explorao de Cookies: Um dos ataques relacionados a esta tcnica o Cookie
Tossing, que se define na explorao de dados que so dados armazenado e enviados
pelo navegador atravs de uma requisio [150][308], esses dados so cookies, que so
chamados de CookieHTTP [238]. Este conjunto de cookies por padro no so acessveis
via script, porem so passiveis ao acesso por seguirem as regras do escopo de cookie,
podendo ser acessados atravs de uma requisio.
Consequncias
As falhas em PMO basicamente proporcionam vetores para diversos ataques j
conhecidos. Conforme na Tabela A.1, ilustra uma quebrar da Poltica de Mesma Origem,
utilizando convenes como o jQuery , JSONP e o YQL . Para explorar um ataque de
XSS, atravs de HTML baseado em Hex encoding, conforme a Tabela A.2, do qual reflete
uma interpretao do navegador que resulta em um ataque ao usurio-final, ilustrado na
Figura A.2.
Principais Tcnicas de Defesa
a) CORS: Alguns padres como o Cross-Origin Resource Sharing (CORS) [385] so
alternativas que contornam as restries da PMO, e que ao mesmo tempo adotam prticas
que no comprometem a segurana. Porm, existem convenes baseadas em JavaScript,
como JSONP ou o WebSocket do HTML5, estes so capazes de quebrar a PMO, sem
necessariamente alavancar prticas voltadas para as questes de segurana [359][217].
b) Utilizao de Cabealhos HTTP: Parmetros como Origin para prevenir requisies
de domnios no validados [189][107].

35

2.8. ANLISE E DISCUSSO DOS RESULTADOS

Consideraes Finais
E concludo a QP2, na Figura 2.14 ilustrada a projeo das ameaas durante os anos
registrados na literatura, registrando as publicaes desde 1994 at o primeiro semestre
de 2013.

Figura 2.14 Projeo das publicaes relacionadas s ameaas durante os anos.

Com base nos dados distribudos na Figura 2.14, perceptvel que ao longo dos
anos todos os Ataques esto sendo cada vez mais explorados, refletindo o ritmo de
crescimento das preocupaes emergentes quanto aos impactos de negcio. Em 1994
consta o primeiro registro de uma publicao na literatura [83], na ocasio o artigo
trata a respeito de aspectos da Exposio de Dados Sensveis, Ataque do qual ao longo
dos anos passou a ser bastante desenvolvido e hoje detm como o mais explorado nas
fontes literrias, uma das justificativas para este fato que foi bastante comum ocorrer
de uma publicao relat-lo em combinao com outros ataques, conforme observado
anteriormente na Figura 2.4.
Na mesma linha, Injeo de Cdigo apresentou-se como o tipo de vetor mais explorado
na literatura, reflexo do expressivo numero de publicaes de XSS e SQLi, ocupando
respectivamente o segundo e terceiro lugar na lista de Ataques mais explorados, segundo
os resultados desta reviso sistemtica. No to obstante, as preocupaes referentes
aos Redirecionamentos e Encaminhamentos Invlidos e Falhas em Polticas de Mesma
Origem tiveram nmeros expressivos, ao contrrio das preocupaes com os ataques de
Clickjacking e Complemento Maliciosos, este ultimo classificado como o Ataque menos
explorado, com apenas 27 publicaes.
E por fim, o CSRF e Utilizao de Componentes Vulnerveis Conhecidos podem
ser classificados como Ataques intermedirios em respeito ao interesse dos pesquisados,

36

2.8. ANLISE E DISCUSSO DOS RESULTADOS

e suas ocorrncias na literatura apresentam certa estabilidade quanto a quantidade de


publicaes.

2.8.3

Resultado Obtido da QP 3

Nesta etapa foram identificadas e classificadas as publicaes mais relevantes para a


proposta desta pesquisa durante os anos da evoluo da web, resultando em uma seleo
de 225 publicaes, conforme ilustrado na Figura B.1 em combinao com a Tabela B.1.
Durante os primeiros seis anos foram identificadas 17 publicaes aderentes ao tema
desta pesquisa. A web 1.0 se caracterizava por um ambiente esttico e no interativo, e
focado em funcionalidades, apesar de limitadas, poucas foram s medidas de preveno
segurana, consequncia foi um perodo que despertou as principais preocupaes [264].
Um bom exemplo so as antigas salas de bate-papo das quais permitiam que seus usurios
inserissem cdigos HTML diretamente em suas mensagens. Um servio desta natureza
nos dias atuais estaria comprometido em questes de segundos. Com a mudana de um
ambiente esttico para um colaborativo e o surgimento das redes sociais, a web muda
radicalmente sua forma de publicar suas informaes. No Perodo da web 2.0 foram
encontradas 71 publicaes.
As principais abordagens so sobre a comunicao de componentes que possibilitam
as interfaces ricas e o consumo de dados atravs de terceiros. O dinamismo da web trouxe
uma srie de melhorias, mas em contrapartida tambm resultou em diversos problemas
que envolvem todas as ameaas acerca desta pesquisa [264]. Com a Web 3.0, foro
detectados 137 publicaes. A web agora capaz de criar aplicaes com integraes
automatizadas entre fontes de dados distintas, com as chamadas maquinas social [200],
que se definem como um conjunto de conectores de entrada e sada de dados, de requisio
e resposta. Isso gera um fortalecimento da web semntica [264][121], em contrapartida
desperta preocupaes quanto portabilidade de dados e aplicativos interativos dos quais
permitem que usurios compartilhem informaes em diversas aplicaes e dispositivos.
Principais Grupos de Pesquisa nas fontes acadmicas.
a) Bina et al: Um grupo de pesquisa da universidade de Illinois, composto por engenheiros de software que desenvolveram o primeiro navegador grfico, o Mosaic. Tambm foi
o primeiro registro de uma publicao relatava sobre o ataque de Exposio de Dados
Sensveis, registrado em 1994 por [83] focando client-side, onde relatava sobre falhas na
proteo de dados sensveis durante a navegao do navegador Mosaic.

37

2.8. ANLISE E DISCUSSO DOS RESULTADOS

b) Jackson et al: O grupo de pesquisa da universidade de Stanford constitudo por


Collin Jackson, Adam Barth, Helen Wang, Zack Weinberg, Pavithra Jayaraman, entre
outros. Estes realizaram diversos trabalhos sobre a proteo Client-side, considerando
aspectos como privacidade e segurana aos dados, tcnicas de proteo para domnios
cruzados e segurana no navegador. Seus principais trabalhos so relacionados aos
ataques A1 [77], A3 [162], A4 [190], A6 [147][310][191], A7 [47], A8 [49] e A9
[101][189][178][392][50]. Estes estudos fundamentaram boa parte da segurana na
arquitetura do Google Chrome [363].
c) Kirda et al.: O grupo de pesquisa da universidade de Northeastern, formado
por Engin Kirda, Nenad Jovanovic, Christopher Kruegel, entre outros, desenvolveram
uma serie de estudos sobre anlise esttica de ataques para a proteo Client-side, mais
precisamente focados nos ataques A1 [208][266][223], A3 [71] e A6 [208].
d) Gajek et al. & Heiderich et al: Um grupo de pesquisa da universidade Ruhr
de Bochum composto por Sebastian Gajek, Florian Kohlar, Jorg Schwenk, entre outros e voltado para estudos de definies de segurana e proteo aos dados, com fortes estudos direcionados ao desenvolvimento de protocolos e canais de comunicao
segura para dados sensveis, relacionados aos ataques A1 [172][170], A4 [137], A6
[136][141][140][136][138][135] e A9 [139]. Um detalhe importante que um dos
pesquisadores, Mario Heiderich, um dos fundadores do grupo de boas praticas, o
HTML5Security, uma das principais referencias [176] desta pesquisa.
e) Piessens et al: Um grupo de estudo da universidade de Leuven, onde participam
pesquisadores com diversas publicaes aderentes ao tema, como Frank Piessens, Philippe De Ryck, Steven Van Acker. So diversos estudos que envolvem vrios ataques
relacionados neste estudo, com destaque de pesquisas que envolvem A1 [298][376][271],
A2 [298], A6 [110][312][157][82], A8 [108] e A9 [109][234][375][107].
Trabalhos Relacionados.
Proteo contra A1: Ross [310] prope uma proteo nativa ao navegador Internet Explorer 8, que controla arbitrariamente qualquer cdigo considerado suspeito, filtrando
contedos na tag <script> utilizando o parmetro X-XSS no cabealho HTTP. Na mesma
linha, Bates et al [77] propem um componente, intitulado XSS Auditor, que atua diretamente no mecanismo de renderizao do Google Chrome. O componente responsvel
por realizar uma filtragem baseada em expresso regular. Chandra & Selvakumar [374]
apresentam uma soluo intitulada BIXSAN, que foca na sanitizao das entradas e
tcnicas de evaso por meio de DOM. No mesmo princpio, Heiderich et al [171] pro-

38

2.8. ANLISE E DISCUSSO DOS RESULTADOS

pem uma triagem nas manipulaes maliciosas nos elementos HTML atravs do atributo
innerHTML. E por fim, Kirdaet al [223] apresentam o Noxes, uma soluo que visa
mitigar ataques por meio de anlise esttica baseada em uma heurstica que cobre diversos
tipos de XSS.
Proteo contra A2: Shahriar et al [325] propem uma proteo de quatro mtricas
de entropia condicional, na qual avaliam a proposta. As mtricas analisam comportamentos da aplicao, como mensagens de erro e ausncia de sanitizao nas entradas em
formulrios.
Proteo contra A3: Lundeen & Alves-Foss [239] propem defesas baseadas na
anlise do contexto visual, identificando sobreposies e opacidades dos elementos
considerados como suspeitos. Balduzzi et et al [71] apresentam solues quanto ao
controle e manipulaes de frames na pgina, alm de comportamentos de elementos
flutuantes.
Proteo contra A4: No trabalho de Yue & Wang [391] proposto um mtodo de
deteco e classificao de pginas maliciosas. Eshete et al [124] estendem a ideia para a
anlise de Phishing, como tambm o monitoramento e preveno para possveis tcnicas
de Malversiting.
Proteo contra A5: Carlini et al [387] apresentam um mecanismo de avaliao
de extenses para Google Chrome, que consiste em analisar as polticas de privilgio,
isolamento e permisso definidas no gerenciador de Extenses. Ford et al [128] propem
uma proteo que monitora downloads e acessos possveis malwares baseados em Flash
nas pginas web.
Proteo contra A6: West & Pulimood [401] propem uma anlise de ameaas e
prevenes na utilizao de recursos do HTML5 como o WebStorage.Toubiana et al
[369] analisam as questes de privacidade quanto aos cookies dos servios da Google,
visando aspectos de persistncia e identificao. Fung & Cheung [133] apresentam uma
camada de armazenamento client-side que restringe o acesso exclusivamente baseado
em em HTTPS. E por fim, Dong et al [119] propem deteces de ameaas e protees
contra a exposio de dados sensveis utilizando um mecanismo denominado Cryptons.
Proteo contra A7: Walden et al [389] abordam os impactos das vulnerabilidades
existentes em plug-ins, considerando o poder de propagao dos mesmos. Schmitt et
al [315] propem protees quanto leitura de arquivos PDF com ataques injetados
baseados em JS.
Proteo contra A8: Ryck et al [108] proporcionam uma abordagem sobre defesas de
CSRF no lado cliente, baseando-se nas permisses definidas em parmetros do cabealho

39

2.8. ANLISE E DISCUSSO DOS RESULTADOS

HTTP. Maes et al [241] propem uma poltica de proteo baseada em uma anlise da
troca de Tokens entre servidor e cliente.
Proteo contra A9: Bhargavan et al [243] apresentam uma proposta de defesa das
falhas, quanto s definies de permisses de domnios cruzados, por meio dos parmetros
de cabealho HTTP sobre um mecanismo que estende o JS. Wang et al [392] propem
um proxy para permisses de requisies remotas cruzadas sobre o contexto da aplicao.
Ferramentas de proteo integradas ao navegador
Nesta seo so apresentadas as principais ferramentas selecionadas no estudo que
possuem seus objetivos correlatos e atuam diretamente nos navegadores mais populares.
Conforme listado na Tabela 2.5, so apresentadas aquelas selecionadas que atendem
os critrios previstos. Estes so baseados em considerar as ferramentas mais atuantes
durante os ltimos 12 meses e que sejam disponibilizadas gratuitamente. O resultado da
triagem resultou em 23 ferramentas. Foi constatado que o Firefox o navegador com
um maior nmero disponvel de opes, totalizando em 13. Em seguida o Chrome com
10 ferramentas selecionadas. E por fim, nenhuma foi contabilizada para o navegador IE,
mostrando uma grande carncia em relao disponibilidade desse tipo de ferramenta.
Tabela 2.5: Ferramentas disponveis e Ataques relacionados
Extenses

A1

A2

A3

A4

A5

A6

A7

A8

A9

Navegador

Atualizao

Chrome[8]

16/11/2013

Anti-Phishing

Firefox[7]

20/06/2013

Clickjacking Reveal

Firefox[12]

19/11/2013

Clickjacking Test

Chrome[13]

05/08/2013

CSRF Finder

Firefox[14]

06/08/2013

ImmuniWeb Self-Fuzzer

Firefox[19]

21/08/2013

Netcraft Extension

Chrome[22]
e Firefox[21]

17/11/2013 e
07/10/2013

No-Script Security Suite

Firefox[23]

08/11/2013

Request Policy

Firefox[26]

30/06/2013

Right ClickXSS

Firefox[27]

19/06/2013

Safe Preview

Chrome[28]
e Firefox[29]

14/11/2013 e
23/06/2013

Script Safe

Chrome[30]

02/07/2013

avast! Online Security

40

2.9. CONSIDERAES FINAIS

SQL Inject Me

Firefox[31]

02/10/2013

Tamper Monkey

Chrome[32]

11/11/2013

Toogle Cookies

Firefox[34]

30/06/2013

Web of Trust (WOT)

Chrome[38]
e Firefox[39]

18/11/2013 e
18/11/2013

Websecurify

Chrome[40]

04/11/2013

XSS chef

Chrome[42]

20/06/2013

XSS Me

Firefox[44]

11/04/2012

Zscaler Likejacking Prevention

Chrome[45]

12/04/2012

2.9

Consideraes Finais

Este estudo apresentou uma contextualizao baseada em uma reviso sistemtica de


literatura, na qual atravs de um critrio de seleo explcito extraiu os principais pontos
a serem considerados quanto problemtica do tema abordado nesta pesquisa. Foram
apresentados os principais ataques que um usurio de navegador web pode ser suscetvel,
baseando-se nas publicaes de maior impacto e aderncia ao tema, sendo possvel extrair
as definies, bem como as principais tcnicas de defesa e ataque destas ameaas.
Quanto aos resultados obtidos foi possvel ser identificada uma grande discrepncia
em relao quantidade de publicaes durante a evoluo da web. Onde na Web 3.0
durante seus 3 anos e meio (de 2010 at Agosto 2013) foi contabilizado quase o dobro da
quantidade de publicaes durante os 10 anos da Web 2.0, este ultimo por sua vez tem um
somatrio maior que quatro vezes a soma das publicaes na Web 1.0. Com base nestes
resultados possvel considerar que a preocupao quanto segurana em ambientes
Client-side est em considervel projeo de crescimento, comprovando a relevncia
quanto ao problema apresentado por este estudo.

41

3
Implementao da Proposta

A soluo proposta nesta dissertao, denominada Aegis1 , apresenta-se como uma soluo
leve e acoplvel aos navegadores web mais populares da atualidade. Tem o intuito de
proteger a navegao do usurio, objetivando minimizar as aes dos principais ataques
mencionados no Captulo 2. Nas prximas sees so apresentados, em detalhes, os
seguintes aspectos do desenvolvimento da ferramenta proposta nesta dissertao, a saber:
(i) Decises de Projeto, (ii) Arquitetura e (iii) Principais Funcionalidades. Todas as
concluses desses aspectos tiveram base nos resultados obtidos no Captulo 2.

3.1

Decises de Projeto

Para uma soluo que visa apoiar o navegador proporcionando uma navegao segura
para o usurio, algumas decises foram levantadas, considerando o pblico alvo, cenrio
de atuao e tipo de ferramenta.

3.1.1

Publico alvo e cenrio de atuao

O pblico alvo o usurio de navegador web que carece de uma soluo nica que possa
minimizar os principais ataques que violam seus dados sensveis. A ferramenta precisa
interagir o mximo possvel com o usurio e sua navegao pela web, portanto, o cenrio
ideal da proposta est nos navegadores mais populares.
1O

nome Aegis vem da mitologia grega, era o escudo revestido com a pele da Medusa e pertencia
deusa Atena.

42

3.1. DECISES DE PROJETO

3.1.2

Tipo de ferramenta a ser desenvolvida

Escolhidos o pblico alvo e cenrio de atuao, o prximo passo foi analisar o tipo de
ferramenta a ser construda. Foram observados trs possveis caminhos para o desenvolvimento da proposta:
Desenvolver um novo navegador voltado para as Questes de Segurana
Esta opo foi imediatamente descartada. Primeiramente pela complexidade, seria
uma tarefa muito custosa ter que manter regularmente um navegador atualizado, sem
contar com o esforo que seria desprendido em outras funcionalidades e preocupaes que
fogem do escopo desta pesquisa. O outro fator seria da aceitao, com tantos navegadores
disponveis na atualidade, o mercado bastante competitivo. E por fim, este caminho
cairia em contradio com um dos requisitos da proposta desta dissertao, que seria
proporcionar segurana s opes mais populares de navegao na web.
Desenvolver um aplicativo independente e instalvel no sistema operacional
Esta opo torna-se interessante quando se deseja proteger um usurio independente
do aplicativo em uso, seja um navegador, seja um cliente de e-mail. Porm, ela carece de
maior integrao e controle de contedo a ser trafegado entre o usurio e o Navegador.
Um exemplo seria possibilitar uma anlise do contedo de resposta de uma requisio
antes que a mesma fosse renderizada no navegador, inibindo assim ao de diversos
ataques que atuam neste contexto.
Desenvolver um aplicativo interativo
Aplicativos interativos so aplicaes leves que podem oferecer certas variedades de
recursos. Tm um comportamento parecido com um complemento do navegador, porm,
a grande diferena que uma aplicao dessa natureza tem uma interao mais limitada
com o usurio quanto a sua atividade e monitoramento, uma de suas caractersticas, que
justifica essa concluso o fato do usurio sempre precisar iniciar o aplicativo quando
o navegador for inicializado. Isso dificulta um eficiente autogerenciamento durante a
navegao do usurio [24].
Desenvolver um Complemento para um navegador existente
Esta opo foi identificada como a mais adequada para a implementao da proposta.
Primeiramente pelo fato que os navegadores mais populares, se predispem a aceitar
ferramentas desta natureza, oferecendo suporte e manuteno ao desenvolvimento, alm
de conceder certos privilgios sobre o contedo transitado pelo usurio, e at mesmo controle de certas funcionalidades do Navegador. Conforme j especificado nesta dissertao,
um Complemento pode se caracterizar como uma Extenso ou um Plug-in.
Dentre as opes, a Extenso a mais vivel para a proposta, por ser a mais adequada

43

3.2. ARQUITETURA DO AEGIS

em nvel de design de projeto: leve e funcional. Alm disso, os navegadores incentivam


a construo de ferramentas desta natureza, primeiramente porque disponibilizam um
repositrio de aplicaes onde os desenvolvedores podem publicar suas Extenses. E
por fim, oferecem uma vasta documentao quanto ao desenvolvimento deste tipo de
aplicativo.

3.2

Arquitetura do Aegis

Nesta seo so descritos os aspectos arquiteturais da proposta, apresentando os componentes que fomentam as principais funcionalidades.

3.2.1

A Extenso Aegis

A extenso Aegis, internamente, possui a arquitetura de uma Extenso padro de navegador que se comunica com outros recursos externos. Nesta seo sero apresentados os
aspectos particulares e adicionais de suas funcionalidades, considerando seu cenrio de
atuao, conforme a estrutura interna da extenso ilustrada na Figura 3.1. Por questes didticas, as nomenclaturas e descries quanto aos componentes e APIs internas utilizadas
pelas extenses tero como base a documentao das Extenses para Google Chrome,
mas cabe a ressalva que os conceitos seguem um padro onipresente nos navegadores
mais populares.
Todo navegador web possui um recurso chamado Interpretador, que recebe o contedo
da web e o interpreta em formato de leitura padro. Em seguida, antes de ser renderizado
ao usurio, o Aegis ir intervir neste contedo, composto por HTML, CSS e JS, que
pode ter sido manipulado ou criado por um atacante, podendo o mesmo ser abortado,
no caso de fraudes ou vulnerabilidades de um determinado componente. Outra medida
de preveno o bloqueio de recursos do navegador, que tem por base uma poltica de
confiana quanto ao contedo em sites com comportamentos suspeitos. Apresentando a
estrutura externa da extenso Aegis, conforme na Figura 3.2, ilustrando a interface da
Extenso e as funcionalidades que podem ser ativadas pelo usurio a qualquer momento
em sua navegao.
O boto "Atualizar", ilustrado na Figura 3.2, serve para o usurio checar atualizaes
da extenso a qualquer momento. O boto "denunciar"serve para o usurio colaborar
informando fraudes, sites vulnerveis ou vulnerabilidades existentes. Adicionalmente
todas as opes podem ser acionadas por meio do menu no boto direito do mouse. Na
prxima seo descrita, em detalhes, as funcionalidades dos Nveis de Confiana.

44

3.2. ARQUITETURA DO AEGIS

Figura 3.1 Cenrio de atuao do Aegis.

Nvel de Confiana
Relacionado ao nvel de confiana que a extenso considera um determinado site. A
avaliao realizada de acordo com os resultados das anlises dos filtros das Ameaas,
uma vez identificado algum comportamento suspeito, o nvel de confiana reduzido. A
confiana corresponde liberao de recursos do navegador que podem ser desabilitados
quando o nvel de confiana reduzido. Isso garante que a requisio ser abortada
em ltimo caso, ocorrendo apenas quando um determinado recurso no for bloqueado
por alguma interferncia do navegador ou quando o site continue perigoso mesmo
com o nvel de confiana reduzido. Essa avaliao se faz possvel atravs da API
chrome.contentSettings, que possibilita um gerenciamento das configuraes e controle
dos recursos de contedo.
Recursos de Contedo
a) Requisies AJAX;
b) Cookies;
c) Imagens e CSS;
d) JavaScript;
e) Plug-ins;
f) Pop-ups;

45

3.2. ARQUITETURA DO AEGIS

Figura 3.2 Acessos a Extenso Aegis pela interface do Navegador.

Classificao dos Nveis


a) ALTO: Permite todos os Recursos controlveis;
b) MDIO: Permite de acordo com o contexto do ataque;
c) BAIXO: Probe todos os Recursos Controlveis;
Listas
A extenso do Aegis possui um conjunto de listas que so sincronizadas periodicamente.
So arquivos JSON que representam diversos recursos, a saber: listas negras de Phishing
e Malwares, listas brancas para as excees nos filtros, e um dicionrio de URL curtas.
Scripts
Uma extenso armazena scripts baseados em pgina de eventos e de ao do Chrome.
O script principal da extenso o AegisAPI, contm os mtodos que executam as
chamadas de todos os filtros contra as 9 ameaas. nessa API que fica armazenado um
conjunto de regras relativas definio dos filtros e critrios a serem executados para
minimizar as ameaas ao usurio. Essa biblioteca JS ficar armazenada no navegador do
usurio por meio da extenso, proporcionando uma validao local, evitando latncias.
Periodicamente essa API ser sincronizada pelo servio do Aegis.
Manipulao das Requisies
Os navegadores disponibilizam uma API que facilita bastante o trabalho de manipulao
de requisies. No Chrome ela chamada de webRequest[11], no Firefox recebe o nome

46

3.2. ARQUITETURA DO AEGIS

de HTTPRequests[18]. Esse componente crucial para a realizao dessa proposta,


pois por meio dele, uma requisio pode ser totalmente manipulada, possibilitando
acessar cabealhos HTTP, estado de cookies, e proporciona a execuo da requisio em
SandBox. Alm disso, a maioria dos mtodos do WebRequest podem ser acionados de
forma assncrona, garantido escalabilidade e performance.
Por sua diversidade de funcionalidades esse componente ser bastante detalhado
nessa seo. O WebRequest um componente que utiliza o padro Observer. Segundo
Gamma et al[143], o referido padro permite que um objeto alvo, nomeado Listener,
seja notificado de uma mudana de estado em um mtodo de outro objeto, denominado
Source. Isso possibilita que o Source delegue a execuo de um mtodo no Listener. No
exemplo da implementao desta proposta, o componente WebRequest um Listener,
que ser notificado e acionado pela Extenso, que atua como um Source. Portanto a
Extenso dever adicionar eventos aos mtodos do WebRequest.
Na Figura 3.3, retirada da documentao do WebRequest, esto ilustradas as funcionalidades e processos internos que so responsveis por interceptar uma requisio.

Figura 3.3 Estrutura dos Mtodos do WebRequest.

A Figura 3.3 representa o ciclo de vida de um processo de captura do WebRequest.


Um processo de captura corresponde a um conjunto de mtodos que controlam todos
os estgios de uma requisio. Para facilitar o entendimento, este estudo se aprofundou
no mecanismo descrito na Figura 3.3 para apresentar o conjunto de mtodos de forma
mais granular. Partindo do princpio, no ato em que o usurio realiza uma requisio, o

47

3.2. ARQUITETURA DO AEGIS

processo de captura iniciado, possibilitando que a Extenso intercepte uma requisio


atravs do mtodo onBeforeRequest. Nesse estgio, a requisio chegou Extenso antes
mesmo de atingir o servidor de destino.
nesta fase que a Extenso possui acesso ao contedo do corpo da pgina, possibilitando uma anlise de ataque que se baseia em requisies como SQLi (A2) e CSRF (A8).
Adicionalmente, a Extenso tem permisso de modificar o cabealho HTTP, removendo
ou adicionando parmetros, usando o mtodo onBeforeSendHeaders, e posteriormente
de encaminh-lo modificado pelo mtodo onSendHeaders, permitindo assim mensurar
comportamentos que resultam em ataques, como Falhas na PMO (A9) e Clickjacking
(A3), e aplicar as devidas aes preventivas. Durante a transio entre requisio e resposta, os mtodos onHeadersReceived e onAuthRequired podem ser disparados quando
uma requisio requer autenticao, possibilitando Extenso prever e intervir nestes
procedimentos, gerenciando os parmetros do cabealho HTTP.
Dando continuidade ao processo de captura, ainda na transio de requisio e
resposta, redirecionamentos podem ser desencadeados pelo servidor destino, a Extenso
pode interceptar esse evento atravs do mtodo onBeforeRedirect, aprovando a deteco
de Redirecionamentos ou Encaminhamentos Invlidos (A4). E concluindo o processo de
captura, a Extenso poder interceptar a resposta assim que o primeiro byte do corpo do
contedo for recebido, significando que os cabealhos de resposta esto disponveis para
anlise, pelo mtodo onResponseStarted. E por fim, no mtodo onCompleted, a Extenso
pode analisar uma resposta processada, podendo mensurar ataques como XSS (A1).
importante ressaltar que durante o ciclo do processo de captura, todos os mtodos
so passveis de erro de execuo, sendo possvel a realizao de um tratamento desses
erros utilizando o mtodo onErrorOcurried.
Manipulao de Dados Sensveis (A6)
O navegador tambm permite que a Extenso tenha acesso a algumas APIs que podem
modificar dados armazenados, possibilitando aes preventivas quanto Exposio de
Dados Sensveis (A6), a saber:
chrome.browsingData
Manipula dados do diretrio referente ao perfil do usurio do navegador no sistema
operacional;
chrome.cookies
Possibilita a manipulao de Cookies;
chrome.history

48

3.2. ARQUITETURA DO AEGIS

Possibilita a manipulao do histrico de pginas acessadas;


chrome.privacy
Possibilita a manipulao das configuraes pessoais do usurio no navegador, como
por exemplo: salvamento de senhas em formulrios, lembranas de logon, etc;
chrome.Storage
Possibilita a manipulao de dados do usurio via especificao sessionStorage,
permitindo o armazenamento de dados do usurio no escopo de sesso;
chrome.system.storage
Possibilita a deteco de dispositivos removveis de armazenamento no computador
do usurio.
Manipulao de Complementos (A7)
chrome.extension
Possibilita a comunicao com outras extenses instaladas;
chrome.management
Possibilita gerenciar extenses/aplicaes instaladas no navegador.
Manipulao de Dados em Transferncia (A5)
chrome.downloads
Monitorar e manipular downloads de arquivos sendo processados no Chrome;
Chrome.fileBrowserHandler
Monitorar e manipular uploads de arquivos sendo processados no Chrome.
Notificaes ao Usurio
chrome.notifications Possibilita a notificao ao usurio por meio de templates ou pelo
prprio system tray do sistema operacional.
Operaes Internas
chrome.alarms
Possibilita o agendamento automtico de rotinas. Um exemplo seria a checagem da
Extenso em busca de atualizaes.

49

3.2. ARQUITETURA DO AEGIS

3.2.2

Arquitetura do Servio do Aegis

A extenso Aegis possui um servio externo, desenvolvido como um Web Service em


REST, que fornece atualizaes peridicas e disponibiliza em forma de API recursos que
inibem as nove ameaas, provenientes dos cinco vetores de ataques mais explorados e
mapeados no Captulo 2, e implementados conforme especificado na seo de Filtros dos
Ataques. Algumas funcionalidades dessa API compartilham recursos de API de terceiros,
conforme na Figura 3.4.

Figura 3.4 Arquitetura do Servio do Aegis.

Biblioteca Prpria
O servio do Aegis dispe de uma biblioteca prpria, que oferece solues de preveno
para Ataques que no esto cobertos por bibliotecas de terceiros, como os Ataques
relacionados ao A3, A4 e A5.
Bibliotecas Open Source
A OWASP Enterprise Security API, tambm conhecida como OWASP ESAPI2 , uma
documentao desenvolvida pela OWASP que traz uma srie de bibliotecas voltadas
para linguagens em ambientes Server-side, de cdigo aberto, alm de um conjunto de
boas prticas no desenvolvimento seguro. Apesar de ser Server-side, alguns de seus
2 OWASP

ESAPI: https://code.google.com/p/owasp-esapi-java/

50

3.2. ARQUITETURA DO AEGIS

conceitos e tcnicas foram adaptadas para uma verso Client-side intitulada JavaScriptbased ESAPI[15]. At o presente momento, esta biblioteca encontra-se em fase alfa e sua
ltima verso foi liberada em 2011.
Para atender os requisitos desse estudo algumas funcionalidades precisaram ser incorporadas, sendo necessrio realizar algumas modificaes e adies de funcionalidades
nesta biblioteca. Alm disso, por ser a biblioteca de cdigo aberto facilitou o processo de
adaptao, garantindo apoio plenitude dos requisitos. A documentao da biblioteca do
OWASP ESAPI padro apoiada por muitos especialistas, que auxiliam em constantes
modificaes e melhorias, esse um dos motivos para as atualizaes peridicas das
regras dos filtros do Aegis. Esse estudo tem o objetivo de disponibilizar essa adaptao
da biblioteca em JS para que possa ser incorporada ao projeto Client-side do ESAPI.
Servios Externos
Os servios externos so funcionalidades disponveis online e gratuitas que interagem
em tempo real com o Servio Aegis, provendo recursos que auxiliam nos objetivos a
serem alcanados com base em entidades de excelncia em solues relacionados aos
problemas em questo.
Servio Unshort.me API
O Unshort.me3 um servio gratuito que descobre a URL real de uma URL curta,
disponibilizando o seu servio por meio de uma API em REST de fcil utilizao e rpida
resposta nas requisies.
Servio VirusTotal API
O VirusTotal4 um servio gratuito que contempla mais de 40 servios de antivrus
online diferentes, proporcionando maior preciso nas varreduras de diversos tipos de
Malwares e uma rica anlise de URL suspeitas. Seu servio tambm disponvel em
REST e internacionalizvel em diversos idiomas, incluindo o portugus.
Servio SQLMap API
O SQLMap API5 um servio disponvel tambm em REST que analisa um site e
verifica se o mesmo est vulnervel ou no SQLi. O servio ainda encontra-se em fase
experimental, mas j possui alguns resultados satisfatrios.
Servio CVE Details
CVE um acrnimo para Common Vulnerabilities and Explosures, apresentado no
3 Unshort.me:

http://www.unshort.me
https://www.virustotal.com
5 SQLMap API: https://github.com/sqlmapproject/sqlmap
4 VirusTotal:

51

3.3. FUNCIONALIDADE DOS FILTROS

site CVE Details6 , uma base de registros de vulnerabilidades de segurana em diversos


recursos computacionais. mantida pelo MITRE e possui um grande acervo, no que
diz respeito a vulnerabilidades em recursos computacionais em geral. Nele consta uma
considervel base de informaes quanto aos motores de navegadores, bem como diversos
componentes e plug-ins.
Servio PhishTank
O PhishTank7 um servio desenvolvido por uma comunidade voltada para o
anti-phishing, lanado em outubro de 2006, uma clula de desenvolvimento do grupo
OpenDNS8 . Os navegadores mais famosos utilizam o servio denominado SafeBrowsing9 , porm em testes realizados nesta proposta, uma denncia de Phishing recentemente
catalogada no PhishTank ainda era possvel de ser acessada no Chrome e Firefox.
Portanto, o estudo considerou necessria a utilizao desse servio da OpenDNS.
Alm disso, outros navegadores utilizam o servio do PhishTank internamente, porm,
a lista s sincronizada quando um novo release do navegador est disponvel. E,
a exemplo dos demais servios de terceiros integrados nesta proposta, o servio do
Phishtank tambm pode ser acessado atravs de uma API em REST.

3.3

Funcionalidade dos Filtros

Nesta seo so descritos os filtros que visam minimizar as nove ameaas mais exploradas
quanto violao de dados sensveis do usurio de navegador web. As principais medidas
tomadas pelos filtros, para alcanarem seus objetivos, bloquear os recursos do navegador
ou aplicar aes preventivas quando o contedo em questo possui algum comportamento
considerado hostil ao usurio. Um ponto positivo, por ser uma defesa client-side, que o
usurio pode ter uma interao maior com a ferramenta, como por exemplo, ele poder
indicar que um determinado site enquadra-se em uma regra de exceo, representado por
uma lista branca para cada filtro.
Essa lista serve para indicar para a ferramenta, que apesar do site em questo ter um
comportamento suspeito, o mesmo considerado confivel pelo usurio, resolvendo assim
os problemas de falsos positivos. Por questes didticas, sero apresentados fluxogramas
que representam a funcionalidade de cada filtro especfico, sendo importante frisar que,
apesar das diferenas no desenvolvimento entre os trs navegadores mais populares,
6 CVE

Details RSS: http://www.CVE Details.com/vulnerability-feeds-form.php


http://www.phishtank.com
8 OpenDNS: http://www.opendns.com/
9 SafeBrowsing: https://developers.google.com/safe-browsing/
7 PhishTank:

52

3.3. FUNCIONALIDADE DOS FILTROS

os padres estruturais e seus componentes so bastante similares, fazendo com que a


representao em fluxogramas proporcione o entendimento necessrio, indiferente do
navegador a ser desenvolvido. Outro fator que vale ser ressaltado que toda a heurstica
e as funcionalidades dos filtros foram fundamentadas com base nas tcnicas de defesa e
ataque que foram obtidas nos resultados apresentados no Captulo 2.

3.3.1

Filtro A1: Ataques baseados em A1

A filtragem de XSS possui regras pr-estabelecidas baseadas em anlise esttica no


contedo da requisio, uma vez interceptado pelo WebRequest no mtodo onCompleted,
conforme ilustrado na Figura 3.5. Numa viso geral, o filtro do Aegis visa robustez
quanto preveno de tcnicas de evaso, com base nas tcnicas de defesa descritas
no Captulo 2, mais precisamente na seo 2.8.2. Este estudo visa contribuir com uma
evoluo e atualizao contnua quanto deteco dos padres de ataques em conjunto
s prevenes utilizadas na biblioteca do OWASP ESAPI, que so em cdigo livre e
passveis de adaptaes.
Conforme ilustrado na Figura 3.5, o filtro possui trs componentes principais, cada
um deles possui uma heurstica especifica que relaciona as principais tcnicas de defesa
descritas no Captulo 2. O filtro inicia seu processo no mtodo onCompleted do WebRequest, verificando se o site em questo encontra-se na lista de excees. Essa lista serve
para catalogar os sites que o usurio considera como confiveis, identificando que nesses
casos a requisio poder ser processada. No prximo passo, o filtro captura o contedo
a ser apresentado ao usurio e submete-o a uma anlise esttica, buscando elementos
considerados suspeitos, mais precisamente tags HTML como <iframe> ou <embed>,
entre outras previamente catalogadas em uma lista negra.
Ocorrendo a utilizao de algum elemento presente na lista, o filtro ir questionar se o
domnio em questo est presente em uma lista branca, que representa sites anteriormente
considerados confiveis pelo usurio. O processo seguir normalmente caso o site em
questo conste na lista branca, caso contrrio o filtro ir bloquear algum recurso do
Navegador. Por ser um ataque de XSS, geralmente o recurso a ser bloqueado o JS.
Porm, outros recursos podem ser bloqueados de acordo com a semntica do contedo,
um bom exemplo o caso de XSS sendo aplicado via CSS [43].
Alm disso, um atenuante nestes cenrios que uma vez a aplicao suscetvel a
XSS, ela tambm est vulnervel a ataques XSS explorados atravs dos componentes
de APIs do HTML5, como WebWorkers, WebSocket, WebMessaging, WebDatabase e
WebStorage, portanto estes recursos tambm sero bloqueados no navegador do usurio.

53

3.3. FUNCIONALIDADE DOS FILTROS

Figura 3.5 Fluxograma da funcionalidade do filtro de XSS (A1).

Caso a anlise esttica no encontre elementos suspeitos, o prximo passo ser analisar o
contedo em busca de padres de comportamento, conforme descrito anteriormente no
Captulo 2, como utilizao suspeita de expresses regulares ou mesmo evases de filtro.
Por fim, o contedo ser submetido para uma nova anlise, esta baseada em uma triagem
quanto aos valores atribudos em atributos de elementos declarados na pgina.

3.3.2

Filtro A2: Ataques baseados em A2

O processo de filtragem de SQLi dividido em dois fluxos: a solicitao e resposta


de filtragem, conforme ilustrado nas Figuras 3.6 e 3.7 respectivamente. No primeiro
caso, o usurio manualmente solicita a Extenso para que verifique se um site A
vulnervel ou no SQLi. Essa filtragem baseada em duas respostas: primeiramente
em uma anlise baseada em comportamento da aplicao, e caso no seja suficiente, o
prximo passo ser obter uma resposta atravs da API do SQLMap. No primeiro caso, o
processo tem uma resposta rpida e geralmente resolve vulnerabilidades mais evidentes.
O segundo caso uma operao com maior profundidade, que ocasionalmente resulta
em um processamento custoso e, quando solicitado pelo usurio, a Extenso ir definir o
status do site como "Em Anlise". Como um processo assncrono, o usurio poder
posteriormente acessar outros sites ou at mesmo cancelar o pedido pendente de anlise.
O objetivo deste fluxo analisar se o site no vulnervel em SQLi, caso positivo o
mesmo ser adicionado na lista branca de sites no vulnerveis.

54

3.3. FUNCIONALIDADE DOS FILTROS

Figura 3.6 Primeiro fluxograma da solicitao de filtragem de SQLi (A2).

O segundo fluxograma, com base na Figura 3.7, descreve a filtragem aprimorada


no resultado do primeiro. Caso o site esteja "Em Anlise", o processo de requisio
do mesmo ser bloqueado e notificar ao usurio o ocorrido at que a anlise, em
comunicao assncrona, seja concluda. Caso contrrio, ser verificado se o site consta
na lista branca de no vulnerveis SQLi. Uma vez ausente na lista a requisio ser
bloqueada e o motivo ser notificado ao usurio. Caso conste na lista, o processo ser
concludo normalmente. A mecnica do filtro consiste em observar que enquanto o site
no estiver considerado como "No Vulnervel"qualquer requisio atribuda a ele ser
bloqueada at que ocorra uma as seguintes hipteses: a primeira quando prprio usurio
define o site como confivel, resolvendo um falso positivo.

Figura 3.7 Segundo fluxograma da solicitao de filtragem de SQLi (A2).

A segunda seria quando o desenvolvedor da aplicao corrigir a falha e posteriormente


o usurio solicitar uma nova solicitao de filtragem para que a ferramenta classifique

55

3.3. FUNCIONALIDADE DOS FILTROS

o site como No Vulnervel. Uma vez sem falhas, o site se mantm protegido por um
longo tempo, portanto a classificao por lista branca se faz eficaz. Mas, por questes de
preveno, o Servio do Aegis ir reavaliar periodicamente mediante primeiro fluxo, os
sites considerados como No Vulnerveis em determinados perodos estratgicos, como
em horrios mais ociosos. importante ressaltar que todos os sites que possuam alguma
caracterstica bsica do SQLi, como parmetros em GET ou POST, a Extenso ir sugerir
ao usurio uma anlise de SQLi, essa,quando acatada, ir executar o primeiro fluxo. Um
pedido recusado pelo usurio faz com que a ferramenta entenda que se trata de um site
confivel, sendo assim adicionado lista de excees.
Adicionalmente, o filtro de SQLi tambm realiza uma checagem de vulnerabilidades
em aplicaes que utilizam o WebSQL. A premissa bsica de, por meio de expresso
regular, observar sintaxes SQL que estejam utilizando implementaes que previnam
SQLi nesses cenrios, como por exemplo, a presena de concatenao de parmetros
utilizando o vars [17], ao invs de concatenar parmetros diretamente na String. Essa
preveno se faz importante porque uma vez um site vulnervel a XSS, um atacante pode
roubar informaes atravs de WebSQL.

3.3.3

Filtro A3: Ataques baseados em A3

Este ataque ainda carece de boas solues na literatura, principalmente no nvel de


proteo Client-side, um fator que comprova isso a pequena quantidade de publicaes
encontradas, conforme os resultados do captulo 2. Todo o desenvolvimento da preveno
deste Ataque nesta proposta originrio da biblioteca prpria do Aegis. A heurstica
do combate, alm de se ater s prevenes em frames e parmetros do cabealho HTTP,
conforme especificado no Captulo 2, tambm se baseia na anlise esttica da requisio
do usurio, com o intuito de checar o posicionamento de elementos na tela, alm de
aspectos como opacidade, caractersticas que classificam um elemento como suspeito.
Todas as filtragens relacionadas Fraude sero submetidas a uma checagem da URL
a fim de proporcionar aes anti-Phishing, por ser bastante reusado e visando facilitar
seu entendimento, esse processo foi separado como um fluxo interno denominado de
Sub-rotina anti-Phishing, conforme ilustrado na Figura 3.8.
O primeiro passo desta sub-rotina com relao s URL curtas. Com a grande
demanda e descontrole no surgimento de servios encurtadores de URL, todas as URLs
informadas ao navegador sero submetidas a uma checagem do destino da URL encurtada
atravs do Unshort.me. Uma vez recuperada a URL original, a mesma ser armazenada
no dicionrio de URL. O prximo passo avaliar a URL original junto lista branca de

56

3.3. FUNCIONALIDADE DOS FILTROS

Figura 3.8 Fluxograma da Sub-rotina anti-Phishing.

URL confiveis, uma vez constando o resultado da sub-rotina ser FALSO, indicando que
no se trata de um Phishing. No caso de ausncia da URL na listagem de confiveis, o
prximo passo ser verificar se a URL consta na listagem de Phishing da Extenso Aegis.
Essa listagem proporciona reduo de latncia, uma vez que armazena confirmao de
Phishing em anlises anteriores da mesma URL.
Caso a URL conste na lista negra, o resultado da sub-rotina ser VERDADEIRO.
Uma vez ausente, posteriormente a URL ser avaliada no servio externo do PhishTank.
O resultado do servio do PhishTank uma anlise da URL em seu banco de dados
de Phishing catalogados. Uma vez constatado que a URL trata-se de um Phishing, o
resultado dessa confirmao ser adicionado listagem de Malwares e o resultado do
fluxo retornar VERDADEIRO, caso contrrio o fluxo apenas retornar o valor FALSO.
Na figura 3.9 est ilustrada a filtragem de Clickjaking, a qual possui, como primeira
etapa, a execuo da sub-rotina anti-Phishing. Posteriormente ser verificado se o site em
questo trata-se de uma exceo, se quando verdadeiro, ignora o restante do processo de
filtragem e prosseguir com a requisio. Caso seja falso, ser recuperado o contedo da
requisio em busca dos elementos contidos na tela.
De posse desses elementos, verificar-se- a distncia entre um elemento e outro,
identificando, assim, as sobreposies ou manipulaes maliciosas em frames. Caso
alguma dessas caractersticas seja detectada, a Extenso considerar o site como uma
Fraude, bloqueando sua requisio e informando ao usurio sobre o bloqueio. Caso
contrrio, o prximo passo ser interceptar o contedo do cabealho HTTP usando o
mtodo onBeforeSendHeaders, do WebRequest em busca de comportamentos suspeitos
em parmetros do cabealho.

57

3.3. FUNCIONALIDADE DOS FILTROS

Figura 3.9 Fluxograma da filtragem de Clickjacking (A3).

Vale uma ressalva a respeito da deciso de sempre checar as URLs e a utilizao dos
servios do Unshort.me e PhishTank. Foi observado durante os testes realizados neste
estudo, e at o fechamento deste captulo10 , que em servios como goo.gl11 , bitly.com12 ,
e o mcaf.ee13 foram bloqueadas as tentativas de criar uma URL curta em uma URL
catalogada no PhishTank. Em contrapartida, em servios como Ow.ly14 , Tiny.cc15 e o
Bit.do16 , foi possvel criar uma URL encurtada que redireciona para uma URL maliciosa.
Outra questo foi que as URL encurtadas geradas nos servios mencionados, quando
inseridas no PhishTank, o servio anti-phishing informou que no h nada a respeito
sobre a URL, ou seja, concretizando em um ByPass no servio do PhishTank. Com base
nestes resultados, este estudo concluiu que se faz necessria a integrao entre o servio
do Unshort.me, para em seguida enviar a URL original a ser avaliada no PhishTank.
10 Sexta-feira,

10 de Janeiro de 2014.
URL Shortener: http://goo.gl/
12 Bit.ly your bitmarks: https://bit.ly
13 McAfee Secure Short URL Service: http://mcaf.ee
14 Ow.ly Shorten URL: http://ow.ly
15 Tiny URL: http://tiny.cc
16 it.do URL Shortener: http://bit.do
11 Google

58

3.3. FUNCIONALIDADE DOS FILTROS

3.3.4

Filtro A4: Ataques baseados em A4

A extenso ir monitorar toda a navegao do usurio e imediatamente bloquear qualquer


redirecionamento ou encaminhamento invlido detectado. O fluxograma na Figura 3.10
descreve os mtodos de anlise e bloqueio de um link nocivo. Neste filtro, o processo
realizado em dois mtodos do WebRequest. A filtragem se inicia com o mtodo
onBeforeRequest, que realizar a sub-rotina anti-Phishing, anteriormente apresentada na
seo da ameaa A3.
Posteriormente a ao do filtro ocorrer no recebimento da resposta da requisio,
atravs do mtodo onCompleted, e o comportamento do filtro ser coletar o contedo a
ser exibido ao usurio. De posse desse contedo, o prximo passo ser coletar todos os
elementos que possuam URL, sejam links ou elementos com eventos JS que possuam
uma URL. O objetivo analisar a URL de cada elemento e submeter aos resultados da
sub-rotina anti-Phishing, uma vez contendo uma URL nociva, o elemento ser modificado.
Importante lembrar que o procedimento assncrono e limita-se em at 100 links por
pgina, o restante ficaram desabilitados e sero filtrados pela confirmao do usurio.
Entrando em mais detalhes quanto ao processo de modificao dos elementos, quando
um link for detectado como nocivo, ter sua funcionalidade desabilitada, e a modificao
ser anunciada ao usurio por meio de um balo do tipo "ToolTip". A checagem
realizada no momento em que toda a pgina carregada, garantindo assim que todos os
elementos sejam capturados.

Figura 3.10 Fluxograma do Redirecionamentos ou Encaminhamentos Invlidos (A4).

59

3.3. FUNCIONALIDADE DOS FILTROS

3.3.5

Filtro A5: Ataques baseados em A5

A filtragem de complementos maliciosos baseada em um mecanismo que previne que


o usurio instale, a partir de seu navegador, algum plug-in ou extenso maliciosa, que
muitas vezes so hospedados em sites classificados como no confiveis. Essa filtragem
divide-se em dois fluxogramas: o primeiro descreve a preveno de Malware no momento
em que o mesmo est sendo transferido para o usurio, mediante download do arquivo
malicioso, conforme ilustrado na Figura 3.11.

Figura 3.11 Primeiro processo de Filtragem de Complementos Maliciosos (A5).

A primeira etapa desta filtragem verificar se o site do plug-in ou extenso em


questo classificado como um site mal-intencionado, atravs da sub-rotina anti-Phishing,
resultando em bloqueio ou autorizao de uma requisio. A segunda etapa detectar
algum download de Malware, deteco que se faz possvel com uma API do navegador
denominada "downloads", usando o mtodo onCreated, que disparado no momento
que um download for inicializado. Alm de oferecer o gerenciamento dos downloads
em execuo, ela tambm prov funcionalidades como captura do nome e da URL do
arquivo em questo. De posse da URL, a extenso ir pausar a transferncia do arquivo e
analisar a URL no servio VirusTotal.
Uma vez o contedo considerado sem perigo, a transmisso do download ter procedimento, caso contrrio o download cancelado. A extenso tambm possui uma
lista negra de Malwares, analisados anteriormente, seguindo o mesmo mecanismo da

60

3.3. FUNCIONALIDADE DOS FILTROS

lista de Phishing, proporcionando os similares benefcios em relao a latncias. O


segundo fluxograma, descrito na Figura 3.12, ilustra o processo de filtragem e remoo
das extenses e plug-ins j existentes antes do Aegis ter sido instalado.
O processo realizado atravs da API do navegador intitulada "management". Ela
proporciona a deteco das informaes de todas as extenses instaladas no navegador
pelo mtodo getAll, como tambm desabilita ou desinstala uma extenso pelo mtodo
setEnable e uninstall, respectivamente. Alm de extenses, essa API tambm consegue
controlar aplicativos interativos ou temas instalados no navegador. As Extenses que
possuam comportamentos suspeitos, como ter acesso a cookies e demais dados sensveis,
estaro sujeitas aos critrios dos filtros, condicionando suas funcionalidades liberao
manual do usurio.

Figura 3.12 Segundo processo de Filtragem de Complementos Maliciosos (A5).

3.3.6

Filtro A6: Ataques baseados em A6

Este o ataque mais explorado na literatura, e no seria diferente demandar funcionalidades com um maior nmero de questes e comportamentos inseguros a serem considerados.
Ao todo so 3 fluxos distintos, descritos na Figura 3.13, 3.14 e 3.15, para a filtragem
com o intuito de minimizar os ataques relacionados exposio de dados sensveis, que
so falhas no intencionas ocorridas no processo de desenvolvimento da aplicao. O
primeiro fluxo, apresentado na Figura 3.13, dedicado s questes de armazenamento de
dados sensveis atravs de recursos do HTML5, que ir capturar o contedo da pgina a

61

3.3. FUNCIONALIDADE DOS FILTROS

ser exibida ao usurio, atravs do mtodo onCompleted do WebRequest.


Uma vez que um mesmo computador possa ser compartilhado por diversas pessoas,
uma aplicao que utiliza a API WebStorage [19] de forma imprudente, como armazenar dados sensveis, como nmero de cartes de crdito ou estado de sesses, atravs
do LocalStorage [19], acaba comprometendo a segurana dos dados de seus usurios.
Diferente de Cookies, o LocalStorage no criptografa os dados, portanto no deve ser
utilizado para armazenar informaes sensveis que deveriam constar apenas no escopo
de sesso da aplicao, ou seja, no SessionStorage [19], que garante a excluso dos dados
no momento em que a sesso for encerrada.
A estruturao das informaes no LocalStorage so baseadas em parmetros com
chave e valor, conforme descrito na especificao. Uma vez detectada a utilizao
suspeita, a Extenso ir bloquear o recurso utilizado. Da mesma forma do WebSQL
descrito no filtro A2, os dados do LocalStore tambm podem ser explorados, caso o site
em questo tenha alguma vulnerabilidade de XSS. O mesmo vale para armazenamento
utilizando o IndexDB [17]. Esses recursos so acessveis pela Extenso da API storage.

Figura 3.13 Primeiro processo de Filtragem de Exposio de Dados Sensveis (A6).

O segundo fluxo, apresentado na Figura 3.14, voltado para as questes de transmisso de contedos atravs de Cookies e cabealhos HTTP e a utilizao de HTTPS.
A filtragem de explorao de dados sensveis baseada na biblioteca OWASP ESAPI,
que possui checagens e prevenes deste tipo de cenrio, analisando o trfego desse
tipo de dados. O objetivo verificar se um determinado trfego do cabealho HTTP

62

3.3. FUNCIONALIDADE DOS FILTROS

considerado inseguro como, por exemplo, exposio de cookies persistentes[33]. Outro


exemplo checar se um determinado servio trafega sem utilizar HTTPS, ou WSS para
WebSocket, para dados de um usurio com parmetros crticos, como authorization.
A checagem do protocolo de comunicao se faz possvel na prpria URL, e a captura
do cabealho realizada utilizando o mtodo onBeforeSendHeaders do WebRequest.
Alm disso, uma vez que o navegador identifica que o certificado HTTPS de um determinado site foi expirado, muitas vezes os usurios declaram consentimento e desejam
prosseguir o processo, tornando-se vitimas em potencial para ataques Man-in-The-Middle,
em que um atacante pode interceptar a comunicao ou mesmo se passar por um site ou
servio remoto.

Figura 3.14 Segundo processo de Filtragem de Exposio de Dados Sensveis (A6).

E por fim, o terceiro fluxo, apresentado na Figura 3.15, busca minimizar comportamentos perigosos, principalmente quando so realizados em um computador compartilhado
por diversos usurios, muito comum em locais pblicos como em laboratrios ou as
conhecidas Lan Houses. A filtragem baseada em buscar elementos na tela que manipulem os dados sensveis do usurio, considerando dois aspectos: responsveis em prover
protees aos dados do usurio, e que possam ocasionar armazenamento inseguro.
Aprofundando mais aos detalhes sobre as funcionalidades nesses aspectos, no primeiro
caso a extenso realizar uma busca pelo boto "deslogar", que em algumas aplicaes
h variaes no termo, como "logout", "sair", entre outros. Esse tipo de comportamento
ser tratado em um dicionrio de palavras-chave com possveis variaes para o link ou

63

3.3. FUNCIONALIDADE DOS FILTROS

Figura 3.15 Terceiro processo de Filtragem de Exposio de Dados Sensveis (A6).

boto "deslogar". Uma vez identificado o elemento, a Extenso ir realar o boto ou


link em questo e se programar para notificar ao usurio, sugerindo ao mesmo que acione
o elemento sempre que o navegador for fechado abruptamente. Caso esse elemento no
seja encontrado, a Extenso tambm ir agendar uma notificao ao usurio, para que ele
certifique-se que efetuou o devido logon.
A Notificao ser disparada quando o navegador ou a aba for fechada no mtodo
window.onbeforeunload via JS que ser adicionada atravs de DOM pela Extenso e
tambm ser exibida atravs da API notifications, que utiliza o sistema operacional para
efetuar notificaes do systray. No segundo aspecto realizada uma anlise de elementos,
muitas vezes representados como um checkbox, que realiza a criao de um cookie na
mquina para lembrar a autenticao em acessos futuros. O mais agravante que muitas
aplicaes insistem em trazer para o usurio essa opo j selecionada por padro, e
geralmente a mesma situa-se aps o boto de confirmar a operao, fazendo que em
alguns casos este elemento passe despercebido ao usurio.
Nesse mesmo contexto, outro vetor o salvamento automtico no navegador de
informaes sensveis inseridas em formulrios. A preveno est em identificar campos
como login, email, nmero do carto de crdito, e principalmente, o elemento do tipo
password. Identificado esses elementos, ser analisado se esses possuem o atributo
autocomplete definidos como "off". Uma vez esse atributo ausente ou definido como
on, o navegador ir questionar ao usurio se ele deseja que essas informaes sejam
armazenadas, e alguns casos o mesmo poder confirmar, podendo acarretar em um acesso
indevido por outra pessoa que utilizar o navegador no mesmo computador.

64

3.3. FUNCIONALIDADE DOS FILTROS

De posse do contedo de resposta, a extenso, pela ao "Modificar Elementos do


Formulrio"conforme ilustrado na Figura 3.15, ir desmarcar as opes de lembrete de
autenticao, alm de adicionar o atributo autocomplete com valor "off"nos elementos
encontrados, tudo atravs de DOM, e repassar ao usurio a resposta modificada.

3.3.7

Filtro A7: Ataques baseados em A7

O processo de filtragem deste ataque visa identificar componentes, que so considerados


componentes e complementos do navegador, com vulnerabilidades conhecidas. Em
mbito geral, os plug-ins nem sempre so atualizados automaticamente, fazendo com
que muitas vezes o usurio no perceba que utiliza em seu navegador uma verso com
alguma vulnerabilidade j corrigida, ou em casos mais graves, o usurio nem faz ideia que
est utilizando um componente com uma vulnerabilidade difundida, porm, ainda no
solucionada, que so os casos denominados de dia zero. Na Figura 3.16 representado o
fluxograma do processo de filtragem para a preveno desse tipo de ataque. A extenso
inicia o processo abrindo uma aba para a pgina de checagem de plug-ins do Firefox que
funciona para todos os navegadores.

Figura 3.16 Processo de Utilizao de Componentes Vulnerveis Conhecidos (A7).

Nesta pgina se faz possvel capturar os links das atualizaes disponveis dos plug-ins
desatualizados. Para identificar os casos de dia zero, a Extenso far uma comunicao
assncrona mediante componente XMLHttpRequest para o site do CVE Details em busca
de vulnerabilidades divulgadas. A consulta no CVE Details baseada no retorno de um
arquivo JSON que armazena informaes como o nome do plug-in, verso e descrio

65

3.3. FUNCIONALIDADE DOS FILTROS

da vulnerabilidade. Conforme visto nos demais servios externos, o resultado do CVE


Details tambm ser armazenado numa lista negra, evitando latncias. A heurstica do
filtro trabalha da seguinte forma: se a verso do plug-in constar como vulnervel, o
mesmo ser desabilitado e ser recomenda sua atualizao.
Caso no exista ainda uma correo, situao conhecida como dia zero, o plug-in
permanecer desabilitado. Adicionalmente, para desabilitar um plug-in, a extenso ir
abrir uma aba com o endereo chrome://plug-ins no caso do Chrome, ou about:plug-ins
para o Firefox, que exibe uma listagem dos plug-ins instalados no navegador, descrevendo
informaes como a verso instalada, alm de links para habilit-los ou desabilit-los.

3.3.8

Filtro A8: Ataques baseados em A8

O processo de filtragem do CSRF dividido em dois fluxos, conforme apresentado nas


Figuras 3.17 e 3.18. No primeiro fluxo, representado na Figura 3.17, so considerados
os ataques baseados na requisio, como a manipulao em URL e cabealhos HTTP.
Uma vez que uma URL possui seus parmetros modificados de forma maliciosa, possivelmente o atacante utilizar servios de URL curta para camuflar seus objetivos. Portanto
o processo de preveno se inicia logo aps a anlise do filtro A4, quando revela o
endereo legtimo da URL. De posse da URL original, o prximo passo ser analisar seus
parmetros, identificando ausncias de Token baseados na tcnica Synchronizer Token
Pattern[290], seja nos parmetros da URL, para as requisies GET, ou campos com
atributo HIDDEN para as requisies POST.
O prximo passo capturar o cabealho HTTP e realizar uma anlise quanto aos
parmetros e Cookies. A questo dos Cookies que muitas vezes um Cookie pode ser
combinado a um Token com o intuito de reforar a legitimidade da requisio. Porm,
algumas aplicaes no se atentam ao atributo HTTPOnly, que tem o objetivo de garantir
que seu estado no seja visvel ao lado cliente. Quanto aos parmetros, se aplica a
presena dos valores em REFERER e Origin no cabealho HTTP. E por fim, analisada
uma possvel ausncia de criptografia nos valores em Tokens, visto que expor esses dados
pode proporcionar vulnerabilidades, comprometendo a integridade das requisies.
O segundo fluxo, ilustrado na Figura 3.18, refora a legitimidade avaliada pelo
primeiro, que faz uma anlise do contedo da resposta. Uma vez a URL considerada
confivel, o prximo passo ser capturar o contedo de resposta e analisar elementos
que contenham comportamentos suspeitos, como por exemplo, elementos <form>, <a>,
<img>, entre outros com atributos SRC definidos com URL dinmicas, bem como
<iframes> e seus elementos filhos, considerando tambm as tentativas de construo

66

3.3. FUNCIONALIDADE DOS FILTROS

Figura 3.17 Primeiro processo de Filtragem de CSRF (A8).

Figura 3.18 Segundo processo de Filtragem de CSRF (A8)

destes elementos por DOM. Adicionalmente as URL apontadas aos servios externos, as
quais no so capturadas pelo WebRequest, por serem disparadas enquanto a pgina
carregada, sero capturadas e submetidas a uma filtragem usando o filtro A4.

67

3.3. FUNCIONALIDADE DOS FILTROS

3.3.9

Filtro A9: Ataques baseados em em A9

A filtragem do A9 ser realizada mediante anlise de requisies para domnios externos,


a fim de evitar explorao em falhas de PMO ou CORS. Sero analisados aspectos como:
cabealhos de origem, tcnicas de Cookie Tossing[320], e XSSI, observando consumo de
servios de Mashups ou APIs, que podem realizar injeo de XSS quando a aplicao
consumidora no realizar uma devida preveno no contedo de resposta. Tentativas de
quebras da PMO, como por exemplo, utilizando recursos como JSONP em combinao
com outras tcnicas, tambm sero avaliadas. Na Figura 3.19 ilustrado o fluxograma do
processo de filtragem por falhas em PMO.

Figura 3.19 Processo de Filtragem de Falhas em Polticas de Mesma Origem (A9)

Identificado esses comportamentos, o Filtro ir acionar o filtro A4 para as prevenes


de fraudes, e o filtro A1 para anlise de XSSI. Tais comportamentos so oriundos de
Mashups maliciosas. Outro aspecto de preveno uma pgina que possua arquivos
SWF e que em suas definies permita acesso a qualquer domnio. Estas definies so
armazenadas no arquivo crossdomain.xml e a extenso acessar este arquivo e analisar
seu contedo. Uma vez encontrada a tag <allow-access-from domain="*"/>, a extenso
considerar a pgina como suspeita. Alm disso, essa preveno impede consequncias
como CSRF. importante ressaltar que esses aspectos sero analisados tanto em conexes
HTTP como tambm por meio de WebSocket [30].
O processo de filtragem faz uso de recursos j realizados em filtros anteriores, como
a checagem do cabealho de origem, descrita nas prevenes de CSRF. Outro reuso

68

3.4. LIMITAES E CONSIDERAES FINAIS

com relao anlise de URLs. Uma vez o cabealho sendo avaliado como confivel, o
prximo passo ser analisar o contedo de resposta, buscando por respostas de elementos
que realizam requisies em servios externos.

3.4

Limitaes e Consideraes Finais

O desenvolvimento da extenso, bem como seu comportamento, bastante similar entre


os navegadores Chrome e Firefox. Em contrapartida, o desenvolvimento para o IE
apresenta-se como algo bastante trabalhoso, que requer linguagem compilvel e dispe
de pouca documentao. Portanto, at o presente momento no foi possvel concluir uma
verso funcional para o IE, bem como submet-la aos testes de avaliao. Vale ressaltar
que, pelo fato de ser uma proteo para o lado cliente, esta ferramenta sempre estar
sujeita aos fatores intrusivos da ao humana.
O fato que certas funcionalidades iro depender diretamente do comportamento
do usurio, j que so suscetveis a intervenes equivocadas, como considerar um site
fraudulento como confivel ou mesmo desabilitar a ferramenta durante a sua navegao.
Em contrapartida, esta proposta apresentou uma soluo focada em uma ferramenta leve,
com funcionalidades objetivas e fundamentadas, e, ao mesmo tempo, que interage com
tcnicas e servios de terceiros com bastante respaldo quantos aos problemas.
A proposta visa proteger o usurio de falhas oriundas de desenvolvimentos imprudentes em aplicaes, como tambm proteg-lo de falhas internas do navegador e seus
componentes, alm de identificar exploraes baseadas em engenharia social, e alert-lo
sobre possveis fraudes. A principal caracterstica da ferramenta interceptar comportamentos suspeitos no contedo apresentado ao usurio, limitando recursos do navegador
ou, caso seja preciso, bloqueando todo o processo de requisio ou resposta, reduzindo
assim bastante a margem de sucesso de ataques aos seus dados sensveis. Para os casos de
sites idneos que apresentam um comportamento suspeito, o fator da interveno humana
torna-se um benefcio, j que o usurio poder definir uma lista de sites confiveis para
cada filtro, proporcionando uma soluo aos falsos positivos.
No prximo Captulo ser descrita a avaliao da ferramenta proposta, em comparativo
com as ferramentas correlatas, apresentando os resultados obtidos em um conjunto de
ambientes controlados.

69

4
Avaliao da Proposta

Este Captulo descreve a avaliao da proposta, em comparativo com trabalhos correlatos,


na busca de analisar o desempenho das ferramentas em um ambiente voltado para testes. A
abordagem dessa avaliao inicia-se pela descrio da metodologia utilizada, objetivos e
componentes necessrios para reproduzir os cenrios de testes. Em seguida so relatados
os resultados obtidos quanto s vulnerabilidades conhecidas, considerando os falsos
positivos. E por fim, so apresentadas as concluses acerca dos resultados dos testes.

4.1

Metodologia

A metodologia da avaliao baseia-se na abordagem GQM (Goal, Question, Metric)


proposta por Basili & Caldiera [379], com o intuito de proporcionar um formalismo
e planejamento quanto medio dos resultados a serem extrados nas ferramentas
submetidas aos testes. Conforme ilustrado na Figura 4.1, essa abordagem divide o
processo em quatro fases: (i) Planejamento; (ii) Definio; (iii) Coleta de Dados; e (iv)
Interpretao e Anlise dos Resultados.

Figura 4.1 Fases da metodologia GQM.

70

4.1. METODOLOGIA

4.1.1

Planejamento

Segundo Soligen & Berghout [377], o objetivo desta fase definir o plano de projeto,
no qual se descreve o ambiente, participantes e o que ser avaliado. O primeiro passo
deste estudo foi realizar uma busca por ambientes controlados disponveis com base nas
principais publicaes descritas no Captulo 2. Um ambiente controlado tem o objetivo de
simular um cenrio real, a fim de testar uma determinada causa e efeito. Para a realizao
dessa avaliao, foi utilizado o projeto OWASP Broken Web Application[25], OBWP,
que mantido pela OWASP e apresenta-se como um conjunto de aplicaes que visam
auxiliar no estudo de vulnerabilidades em aplicaes.
O estudo tambm detectou a existncia de outras aplicaes que no fazem parte do
projeto do OWASP, mas se encontram no contexto deste estudo. Como triagem inicial,
os nicos critrios estabelecidos foram que a ferramenta cobrisse ao menos uma das
ameaas e que tivesse seu contedo disponvel de forma gratuita, seja por download ou
acesso online. Na Tabela A.3 so listadas as 28 aplicaes resultantes da triagem inicial e
sua respectiva cobertura quanto s ameaas abordadas neste estudo.
Analisando o resultado ilustrado na Tabela A.3, foi observado que no existe um
ambiente controlado disponvel que contenha os ataques A4, A5 e A7. Alm disso,
tambm no h avaliao de certos recursos do HTML5 relacionados os ataques A1, A2
e A6, assim como alguns comportamentos apresentados por este estudo aos ataques A1,
A3, A8 e A9, que no foram encontrados nos ambientes disponveis.
Baseando nessas concluses, este estudo desenvolveu uma aplicao intitulada "Aegis
Web Threats"ou AegisWT, uma aplicao J2EE com vulnerabilidades intencionais que
utiliza o framework HTML5 attack [16], desenvolvido pela AppSec Lab3 , na qual traz
cobertura em todos os ataques e rene comportamentos aderentes ao tema proposto. O
objetivo da criao dessa aplicao foi atender s ameaas no cobertas pelos ambientes
disponveis, possibilitando a plena avaliao desta proposta.
Adicionalmente, pretendido submeter essa aplicao para o projeto OBWP para que
tal aplicao faa parte do projeto e assim possa ser disponibilizada para outros estudos,
fazendo exemplo das aplicaes Google Gruyere4 , Peruggia5 e BodgeIt6 .
De posse das aplicaes disponveis, o prximo passo foi realizar uma triagem mais
criteriosa com o objetivo de selecionar as aplicaes mais aderentes ao tema, selecionando
3 AppSec

Application Security Labs: https://appsec-labs.com


Gruyere: http://google-gruyere.appspot.com/
5 Peruggia: http://peruggia.sourceforge.net/
6 BodgeIt: https://code.google.com/p/bodgeit/
4 Google

71

4.1. METODOLOGIA

assim as que sero utilizadas na avaliao. Essa seleo foi baseada em dois critrios, a
saber: (i) a aplicao com maior nmero de ataques relacionados; e (ii) a aplicao com
atualizaes mais recentes, considerando o semestre e ano. Como critrio de desempate,
foi considerada a ferramenta com maior perodo de atividade e documentao disponvel.
Seguindo os critrios anteriormente mencionados, a aplicao selecionada foi a
OWASP WebGoat[9] , porque alm de se tratar de uma aplicao com mais de 10 anos
de atividade, tambm rica em documentao. De posse dessas aplicaes, o ambiente
controlado contempla assim as vulnerabilidades necessrias para reproduzir todos os
ataques relacionados neste estudo.

4.1.2

Definio

As abordagens de Soligen & Berghout [377] expem que na fase da definio que
devem ser descritos os objetivos, questes e mtricas, seguindo a estrutura conforme
ilustrada na Figura 4.2 e desenvolvido na Tabela 4.1. Os ambientes controlados iro
disponibilizar pginas vulnerveis nas quais o participante, a Aplicao Teste, aguardar
um determinado comportamento, resultante de um ataque bem sucedido. Nesse momento,
as Extenses, que representam o contexto, devero tomar alguma ao que impea o
ataque de ser realizado, seja bloqueando recursos do navegador, cancelando a requisio
ou resposta ou mesmo solicitando uma confirmao ao usurio para continuar o processo.

Figura 4.2 Estrutura da Fase de Definio

O objetivo esperado que a Extenso modifique o comportamento final, resultando em


algo que no seja esperado pela Aplicao Teste, ou seja, impedindo assim a reproduo
do ataque. As mtricas so baseadas nas principais tcnicas de ataques descritas neste
estudo. A escala foi definida de acordo com a complexidade do ataque e preveno de
cada mtrica atingida pelas Extenses.

72

Tabela 4.1: Definio das Questes e Mtricas para avaliao


Questes

Descrio

Mtricas

Contexto

Escala

[Q1] Quo eficaz a proteo das ferramentas diante dos ataques A1?

Os testes de XSS sero divididos em 5 etapas, a saber:


(1).[WebGoat] A Aplicao Teste acessar uma pgina na
qual injetar o comando <script>alert(XSS);</script> no
campo do formulrio e ir submet-lo. Posteriormente a Aplicao Teste ir visualizar o resultado, esperando uma janela
de alerta, indicando que o ataque foi realizado com sucesso.
(2).[WebGoat] A Aplicao Teste acessar uma pgina na qual
injetar o comando <script>alert(XSS);</script> no campo
do formulrio, que ao ser submetido far uma busca por
palavras-chave na base de dados. A Aplicao Teste ir esperar a janela de alerta na resposta, indicando sucesso no ataque.
(3).[Aegis Web Threats] A Aplicao Teste acessar uma pgina
que possui um mtodo JS que insere uma string com valor "Ol
Mundo"na pgina. Esta string possui o comando replace combinada a uma expresso regular maliciosa, conforme o seguinte
cdigo: "Ol Mundo".replace(/Ol Mundo/g,alert). A Aplicao
Teste ir esperar a janela de alerta quando a pgina for carregada.
(4).[Aegis Web Threats] A Aplicao Teste acessar uma pgina
que ir carregar um contedo malicioso que ser interpretado
apenas no carregamento da pgina, por meio de DOM, o qual
ir reproduzir mediante document.write o seguinte cdigo:
<script>alert(XSS);</script>.
A Aplicao Teste ir esperar
a janela de alerta quando o carregamento da pgina for concludo.
(5).[Aegis Web Threats] A Aplicao Teste acessar uma pgina que ir
carregar um arquivo .js atravs de WebWorker. O contedo do arquivo
possui o comando document.write(<script>alert(XSS);</script>);. A
Aplicao Teste ir esperar a janela de alerta quando o carregamento da
pgina for concludo.

(M1).XSS Persistente Padro


(sem
escapes).

(1).Aegis

Mtricas

(2).ImmuniWeb
Self-Fuzzer

(M2).XSS
Padro (sem

Refletido
escapes).
atravs
com
regular.

No

1
(3).Netcraft

(M3).XSS
de
escapes
expresso

atingidas
se

aplica
Fraco

Extension
2

Razovel

(4).No-Script
4

Satisfatrio

(5).RightClikXSS
(M4).XSS
vs
de

atraDOM.

(M5).XSS
baseado
em DOM atravs de Web
Workers

5 - Excelente
(6).ScriptSafe
(7).TamperMonkey
(8).Websecurify
(9).XSS

chef

(10).XSS Me

4.1. METODOLOGIA

73

[Q2] Quo eficaz


a proteo
das ferramentas
diante
dos
ataques A2?

[Q3] Quo eficaz


a proteo
das ferramentas
diante
dos
ataques A3?

Os testes de SQLi sero divididos em 3 etapas, a saber:


(1).[WebGoat] A Aplicao Teste acessar uma pgina que possui
vulnerabilidade SQLi atravs de concatenao de parmetros numricos. Ela ir manipular os parmetros do POST, aplicando uma verdade absoluta na sintaxe do SQL. A aplicao ir aguardar o carregamento da pgina, indicando que o acesso pgina foi permitido.
(2).[WebGoat] A Aplicao Teste acessar uma pgina na qual possui vulnerabilidade SQLi atravs de concatenao de parmetros texto.
Ela ir manipular os parmetros do POST, aplicando uma verdade
absoluta na sintaxe do SQL. A Aplicao ir aguardar o carregamento da pgina, indicando que o acesso mesma foi permitido.
(3).[Aegis Web Threats] A Aplicao Teste acessar uma pgina que
possui parmetros inseguros na utilizao do WebSQL. Ela ir aguardar
o carregamento da pgina, indicando que o acesso a ela foi permitido.

(M2).Vulnerabilidade
via
POST

(1).Aegis

Mtricas

(2).ImmuniWeb
Self-Fuzzer

No

1
(3).SQL

(M3).Vulnerabilidade em
Web SQL

atingidas

Inject

se

aplica
Fraco

Me
2

Razovel

(4).Websecurify
3 - Satisfatrio

(M1).Roubo de informaes
em
Formulrio

(1).Aegis

Mtricas

(2).Clickjacking

Reveal

(3).Clickjacking

Test

atingidas

No

se

aplica

(M2).Roubo de cliques
(M3).Anlise
X-Frame-Options

Fraco

de
(4).No-Script
(5).Zscaler
king Prevention

2
Likejac-

Razovel

3 - Satisfatrio

74

4.1. METODOLOGIA

(1).[Aegis Web Threats] A Aplicao Teste acessar uma pgina


a qual possui um formulrio malicioso com campos sobrepostos. Ela ir submeter a pgina e aguardar o envio concludo
com sucesso, indicando que o ataque foi realizado com xito.
(2).[Aegis Web Threats] A Aplicao Teste acessar uma pgina que
possui links sobrepostos com elementos que no evento click redirecionam para Phishing. A aplicao ir aguardar o carregamento da pgina
Phishing, indicando que o sequestro do clique foi realizado com xito.
(3).[Aegis Web Threats] A Aplicao Teste acessar uma pgina com
frames cruzados e o cabealho com ausncia do parmetro X-FrameOptions. A permisso de acesso pgina j garante ameaa ao usurio,
portanto a Aplicao Teste aguardar apenas o carregamento da pgina.

(M1).Vulnerabilidade
via
GET

[Q4] Quo eficaz


a proteo
das ferramentas
diante
dos
ataques A4?

(1).[Aegis Web Threats] A Aplicao Teste acessar uma pgina que possui um elemento <a> que direciona para um
Phishing.
Aps o carregamento da pgina, a Aplicao Teste
ir acionar o link e espera direcionar a pgina para a URL,
indicando que o elemento no foi bloqueado pela extenso.
(2).[Aegis Web Threats] A Aplicao Teste acessar uma pgina na qual
possui um link com uma URL curta que redireciona para um Phishing.
Aps 10 segundos do carregamento da pgina, o prximo passo da Aplicao Teste ser conseguir clicar no link mencionado, encontrando o
link ainda funcional.

(M1).Redirecionamento
para
Phishing
(M2).Checagem
URL curtas

(1).Aegis

Mtricas

(2).avast! Online Security

(3).Anti-Phishing

(4).Netcraft

2 - Satisfatrio

atingidas

No

se

aplica

de

Extension

Razovel

(5).RequestPolicy
(6).SafePreview
(7).ScriptSafe
(8).TamperMonkey
(9).Web
(WOT)

[Q5] Quo eficaz


a proteo
das ferramentas
diante
dos
ataques A5?

(M1).Download
de
Malware
(Plug-in)
(M2).Deteco
de
Phishing em Complemento (Extenso)

Trust

(1).Aegis

Mtricas

(2).avast! Online Security

(3).Safe

(4).Web
(WOT)

Preview
of

Trust

atingidas

No
-

2 - Satisfatrio

se

aplica

Razovel

75

4.1. METODOLOGIA

(1).[Aegis Web Threats] A Aplicao Teste acessar uma pgina na


qual disponibiliza um link para download, o arquivo em questo tratase de um Malware e a Aplicao Teste aguardar a sua concluso.
(2).[Aegis Web Threats] A Aplicao Teste acessar uma pgina que
est programada para receber a adio de um elemento <a> que direciona para um Phishing. A injeo deste elemento ser realizada por uma
Extenso instalada no navegador. A avaliao do resultado baseada
no estado do navegador, na qual ser verificado se a Extenso maliciosa
est desabilitada.

of

[Q6] Quo eficaz


a proteo
das ferramentas
diante
dos
ataques A6?

(M1).Utilizao
de
Cookies
Persistentes

(1).Aegis
(2).Netcraft

(M2).Armazenamento
indevido
baseado
codificao
Base64
(M3).Armazenamento
indevido
atravs
do
LocalStorage
(M4).Autenticao
Basic
sem
HTTPS
(M5).Armazenamento
indevido
atravs
do
IndexDB

Mtricas
Extension

atingidas

No

(3).No-Script

(4).RequestPolicy

(5).ScriptSafe

(6).TamperMonkey

7 - Excelente

(7).Toogle

2
4
6

se

aplica

Fraco
Razovel

Satisfatrio

Cookies

(8).Websecurify

(M6).Fechamento do navegador com sesso aberta


(M7).Campos
com
autocompletar habilitados
e lembretes de Logon

4.1. METODOLOGIA

76

(1).[WebGoat] A Aplicao Teste acessar uma pgina na qual possui


exposio dos dados do identificador da sesso. Esse identificador
no possui uma data definida de expirao, indicando que a mesma
estar sempre armazenada no navegador. A Aplicao Teste ir obter o
identificador deste cookie, comprovando o acesso pgina em questo.
(2).[WebGoat] A Aplicao Teste ir acessar uma pgina que
contm um formulrio com dados sensveis sem criptografia, utilizando codificaes fracas como Base64.
A Aplicao Teste ir aguardar a concluso da requisio da pgina.
(3).[Aegis Web Threats] A Aplicao Teste ir acessar uma pgina que armazena dados sensveis atravs do LocalStorage. O
objetivo da Aplicao Teste ser recuperar um parmetro que
armazena o ID da sesso do usurio, indicando que o recurso,
apesar do comportamento inseguro, ainda encontra-se disponvel.
(4).[Aegis Web Threats] A Aplicao Teste ir acessar uma pgina
na qual realiza a autenticao por meio do parmetro Authorization
do tipo Basic.
O objetivo da Aplicao Teste ser conseguir
efetuar logon mesmo que o protocolo em questo no seja HTTPS.
(5).[Aegis Web Threats] A Aplicao Teste ir acessar uma
pgina que armazena dados sensveis atravs de IndexDB. O
objetivo da Aplicao Teste ser recuperar um parmetro que
armazena o ID da sesso do usurio, indicando que o recurso,
apesar do comportamento inseguro, ainda encontra-se disponvel.
(6).[Aegis Web Threats] A Aplicao Teste ir acessar uma
pgina na qual realizar um logon em um formulrio. Em seguida a Aplicao Teste ir fechar o navegador com a sesso
ativa.
Ao final do teste se a instncia do navegador estiver
ativa, significa que o processo foi realizado de forma insegura.
(7).[Aegis Web Threats] A Aplicao Teste ir acessar uma pgina
na qual possui um formulrio para autenticao. Os dados permitem
armazenar as informaes imputadas, alm de por meio de padro traz
marcada a opo para lembrar a autenticao. Uma vez submetido
o formulrio de autenticao com os comportamentos inseguros, a
Aplicao Teste ir considerar a operao realizada de forma insegura.

[Q7] Quo eficaz


a proteo
das ferramentas
diante
dos
ataques A7?

[Q8] Quo eficaz


a proteo
das ferramentas
diante
dos
ataques A8?

(1).[Aegis Web Threats] A Aplicao Teste ir acessar uma pgina a qual possui um link para instalar um
plug-in com vulnerabilidade conhecida.
O resultado final ser conseguir instalar o referido plug-in no navegador.
(2).[Aegis Web Threats] Primeiramente ser instalada no navegador
uma Extenso com uma verso com vulnerabilidade. Posteriormente a
Aplicao Teste acessar uma pgina em branco. O resultado final ser
observar se a extenso foi removida.
(1).[WebGoat] A Aplicao Teste acessar uma pgina que possui
um formulrio de envio de email no qual possvel injetar um elemento <img> que realiza uma requisio atravs do atributo SRC
com parmetros modificados. A Aplicao Teste interpretar o
ataque como concludo caso seja possvel submeter o formulrio.
(2).[WebGoat] A Aplicao Teste acessar uma pgina a qual possui um formulrio de envio de e-mail no qual controla a requisio atravs de um Token. O Token em questo est armazenado de forma insegura, como um campo hidden com seu valor exposto no cdigo fonte da pgina. A Aplicao Teste interpretar
o ataque como concludo caso seja possvel submeter o formulrio.
(3).[Aegis Web Threats] A Aplicao Teste acessar uma pgina que
possui um mtodo que ser disparado em seu carregamento, e do qual
renderizar atravs de DOM um elemento <img> com um SRC atribudo com uma requisio forjada. A Aplicao Teste interpretar o
ataque como concludo caso a imagem seja carregada.

(M1).Plug-in
instalado
com
vulnerabilidade
conhecida

(1). Aegis

Mtricas
0

(M2).Extenso
instalada com vulnerabilidade
conhecida

(M1).CSRF
vs
de

atra<img>

atingidas

No

se

aplica

Razovel

2 - Satisfatrio

(1).Aegis
(2).CSRF

Mtricas
Finder

atingidas

No

se

aplica

(M2).ByPass em Token
(M3).Forjando
quisio
atravs
DOM

rede

(3).No-Script

(4).RequestPolicy

(5).Websecurify

3 - Satisfatrio

Fraco
Razovel

4.1. METODOLOGIA

77

[Q9] Quo eficaz


a proteo
das ferramentas
diante
dos
ataques A9?

(M1).Proteo de PMO

(1).Aegis

Mtricas

(M2).Aplicando
XSSI
via

(2).RequestPolicy

(3).Websecurify

atingidas

No

se

aplica

AJAX

(M3).Checagem
do
arquivo crossdomain.xml
(M4).Falhas de PMO atravs
de
WebSocket

2
4

3
-

Fraco
-

Razovel
Satisfatrio

5 - Excelente
(M5).XSS
atravs
de Web Messaging

78

4.1. METODOLOGIA

(1).[WebGoat] A Aplicao Teste acessar uma pgina que possui


dois links, um que aponta para o mesmo domnio e outro que
far uma requisio em um domnio externo da aplicao e que o
mesmo no consta nas permisses de domnios da PMO da aplicao. A Aplicao Teste ir clicar no primeiro e no segundo link,
aguardando logo em seguida a presena de um elemento DIV com
ID="message". Indicando que a falha foi explorada com sucesso.
(2).[Aegis Web Threats] A Aplicao Teste acessar uma pgina
que possui um mtodo que ser disparado um consumo via AJAX
em um servio externo. A resposta deste servio contm um ataque de XSS que executa um alert atravs de codificao URIComponent.
A Aplicao Teste ir aguardar como resposta a
mensagem de alerta, indicando que o ataque foi bem sucedido.
(3).[Aegis Web Threats] A Aplicao Teste acessar uma pgina
que possui um arquivo SWF. O arquivo crossdomain.xml est definido para permitir acesso de qualquer domnio externo.
A
Aplicao Teste ir aguardar o carregamento da pgina, indicando que a falha de segurana foi desprezada pela Extenso.
(4).[Aegis Web Threats] A Aplicao Teste acessar uma pgina que possui uma conexo via protocolo WebSocket.
O
"handshake"entre cliente e servidor possui falhas de PMO. A Aplicao Teste interpretar o ataque como bem sucedido caso consiga recuperar a informao contida no retorno do WebSocket.
(5).[Aegis Web Threats] A Aplicao Teste acessar uma pgina que
possui uma troca de mensagens via Web Messaging. O controle de
segurana para restringir domnios possui falhas. A Aplicao Teste
interpretar o ataque como bem sucedido caso consiga recuperar a mensagem de retorno.

4.1. METODOLOGIA

4.1.3

Coleta de Dados

A coleta de dados foi realizada com base nas questes e mtricas definidas na seo
Descrio. As mtricas foram obtidas por meio da execuo de Testes Funcionais que, na
Engenharia de Software, so responsveis por realizar uma inspeo dos componentes
de um determinado sistema com o objetivo de analisar resultados esperados. A tcnica
valida se o comportamento e funcionalidades do sistema esto de acordo com os objetivos
definidos [248]. Como o objetivo a proteo do lado cliente, os comportamentos internos
dos sites no so visveis extenso, portanto o mtodo de avaliao ser baseado em
testes funcionais, tambm conhecidos como caixa preta [248].
A participante dessa avaliao foi uma aplicao, denominada Aplicao Teste,
que executa as mtricas para avaliar o comportamento de uma Extenso instalada no
navegador. Cada extenso foi avaliada individualmente, ou seja, quando uma extenso era
avaliada, as demais ficavam desabilitadas no navegador. Os testes foram executados de
forma automatizada. A automao em testes a utilizao de um software para controlar
a execuo dos testes da funcionalidade de outro software [248].
Quanto adoo do processo automatizado na realizao dos testes, se faz partindo
do princpio que uma vez no contexto, uma Extenso, seja permitida a utilizao de simulao como trabalho automatizado, isso proporciona um experimento mais quantitativo,
podendo alternar variveis e comparar comportamentos distintos, ou seja, possibilita um
comparativo entre um considervel nmero de Extenses submetidas aos testes. Outra
questo que a confiabilidade aumenta quando eliminado o carter subjetivo da avaliao, no caso, a interveno manual. E diante do contexto desse estudo no h nada que
um ser humano possa fazer que a automao no seja capaz de reproduzir.
A ferramenta escolhida para proporcionar automao aos testes foi a Selenium Server8 ,
que oferece a realizao dos testes em praticamente todos os navegadores disponveis,
fazendo uso de mecanismos que realizam operaes diretamente em uma instncia do
navegador.
A Aplicao Teste foi desenvolvida na tecnologia J2SE e representa um conjunto de
testes baseados em Testes Unitrios. Testes Unitrios, ou tambm conhecidos como Testes
de Unidade, um processo que garante que o retorno de um determinado mtodo seja
esperado pela aplicao [248]. Nessa avaliao foi utilizado o Framework JUnit10 como
apoio na execuo dos Testes Unitrios. Alm do JUnit, a Aplicao Teste tambm utiliza
8 http://docs.seleniumhq.org
10 JUnit:

http://junit.org/

79

4.1. METODOLOGIA

as bibliotecas do Selenium WebDriver11 , um mecanismo que realiza os testes definidos


de forma automtica em uma instncia do navegador, dando suporte a praticamente todos
os navegadores disponveis.
Estes procedimentos proporcionam a reproduo dos passos do teste em uma execuo em tempo real diretamente no navegador, possibilitando a integrao com a Extenso
Aegis previamente instalada, alm de auxiliar nas manipulaes de cabealhos e requisies, sem a necessidade de utilizar ferramentas que oferecem proxy intermedirio, como
o BurpSuite12 . Na Figura 4.3 exibido um fluxograma da execuo de um Teste Unitrio.
Cada classe de teste possui uma srie de mtodos, baseados nas mtricas definidas na
seo de Definio, que aguardam um determinado comportamento na pgina.

Figura 4.3 Workflow do ciclo de vida dos testes do ambiente proposto.

O primeiro passo do fluxo a inicializao da Aplicao Teste, que ir localizar


no computador o caminho absoluto do executvel do navegador a ser utilizado. Uma
vez localizado, o Selenium WebServer ir criar uma instncia do navegador e executar
os mtodos dos Testes Unitrios. Entretanto, uma vez o mtodo no recuperando um
comportamento esperado, causar um erro ao processo de teste, e nesse momento que a
Aplicao Teste ir contabilizar o evento, significando assim a interveno da ferramenta.
Para garantir maior preciso nos resultados, aps a execuo dos testes, foi realizada
uma triagem no Log resultante da concluso da Aplicao Teste, verificando assim o
motivo das falhas nos mtodos, para confirmar a interveno das Extenses quanto ao
comportamento do resultado. Outro ponto que vale ser ressaltado que em nenhum dos
11 Selenium

WebDriver: http://docs.seleniumhq.org/projects/webdriver/
http://portswigger.net/burp/

12 BurpSuite:

80

4.1. METODOLOGIA

casos, a proteo nativa do navegador interviu na reproduo dos testes.


Finalmente fica estabelecido o ambiente controlado para a Coleta de Dados, conforme
a Figura 4.4 na qual descreve o cenrio de extrao de dados necessrios para uma
avaliao das Extenses submetidas aos testes. E na Tabela A.4 so listadas as Extenses
que foram submetidas aos testes, com base na Tabela 2.5, com suas respectivas verses
utilizadas nessa avaliao. Os testes foram realizados utilizando um Computador Desktop
Core i5 com 4GB de RAM, com o Windows 7 Ultimate como sistema operacional, e
uma conexo com a Internet por meio de um link da Oi Velox de 10mb. Estes recursos
compem o ambiente controlado para a execuo das Questes, Q, com suas respectivas
Mtricas, M, com base das definies descritas na Tabela 4.1.

Figura 4.4 Ambiente Controlado para a Coleta dos Dados.

4.1.4

Anlise dos Resultados

Com base na Tabela 4.1, foram submetidas 23 ferramentas aos testes desta experimentao, com os resultados obtidos por Ataques e as respectivas ferramentas que oferecem
proteo. Pde ser observado que em alguns casos a escala possui um nvel qualificado
como "Satisfatrio", outros se estendem at o "Excelente". Os casos com ausncia do nvel "Excelente"referem-se aos ambientes de testes que, devido falta de cenrios prontos
e o tempo e esforo para desenvolv-los, no contemplam todos os aspectos vulnerveis
descritos no estudo.

81

4.1. METODOLOGIA

Em contrapartida, esses cenrios abrangem os comportamentos mais elementares


levantados nesta pesquisa.
Alm disso, todos os aspectos pertinentes s vulnerabilidades em HTML5 esto de
acordo com os cenrios propostos. Outro fato que vale ser ressaltado que os falsos
positivos no foram considerados nestes testes, uma vez que o estudo atribui o fator
humano responsvel pelas correes dos erros de filtragem. Sendo assim os cenrios
apresentados foram definidos como ameaas reais ao usurio. Nesta seo sero descritas
as consideraes do estudo realizado com base nos resultados extrados para as questes
citadas na Tabela 4.1.
Resultado da Questo 1
Conforme observado na Figura 4.5, a ferramenta Aegis conseguiu um resultado excelente
nos testes de proteo XSS em ambos os navegadores. A ferramenta No-Script teve
um resultado de mesma qualidade, porm essa soluo encontra-se disponvel apenas no
navegador Firefox. Tambm foi observado que ferramentas exclusivamente disponveis
para o Chrome, como a Websecurify e a XSS Chef, tiveram resultados satisfatrios.
Outra questo importante que no geral, apenas uma ferramenta teve sua funcionalidade
classificada como fraca, mas nenhuma delas teve um comportamento nulo em relao
proteo de XSS. Estes ndices, combinados com a quantidade de ferramentas disponveis
demonstram que o ataque de XSS o mais explorado quanto s solues propostas no
contexto de extenses.

Figura 4.5 Resultados da avaliao da Questo 1.

82

4.1. METODOLOGIA

Resultado da Questo 2
Seguindo para a anlise dos resultados de SQLi, conforme ilustrado na Figura 4.6,
os dados obtidos vo em contradio aos de XSS, tanto em respeito quantidade de
ferramentas disponveis, quanto eficcia. O fato que as tcnicas de deteco no
contexto de uma extenso so bastante limitadas, primeiramente pela heurstica aplicada
por todas as ferramentas, as quais realizam uma inspeo baseada em um nvel mais
superficial, observando comportamentos como erro da aplicao ou mensagens ao usurio
quando os parmetros so manipulados. Com base nos resultados obtidos, a ferramenta
Aegis apresentou-se com uma heurstica com maior riqueza quanto aos comportamentos
descritos. A primeira mtrica do teste possui um comportamento de fcil deteco,
mesmo assim uma ferramenta teve seu comportamento de proteo considerado nulo. A
ferramenta Aegis se sobressaiu devido s questes de vulnerabilidade no WebSQL, as
quais no so avaliadas pelas demais ferramentas.

Figura 4.6 Resultados da avaliao da Questo 2.

Resultado da Questo 3
Nos dados extrados quanto ao ataque de Clickjacking, conforme ilustrado na Figura 4.7,
a maioria das solues candidatas apresentaram um comportamento classificado como
fraco em relao a sua funcionalidade de proteo, e dentre elas, uma apresentou um
comportamento nulo. Em contrapartida, a ferramenta No-Script alm de detectar sobreposio para furto de cliques, tambm obteve controle dos cabealhos HTTP referente a
permisses de frames. Contudo a ferramenta Aegis foi nica que alm desses aspectos,
tambm cobriu a sobreposio de campos em formulrios.

83

4.1. METODOLOGIA

Figura 4.7 Resultados da avaliao da Questo 3.

Resultado da Questo 4
Conforme ilustrado na Figura 4.8, o destaque negativo quanto proteo aos ataques A4.
Com exceo da Aegis, nenhuma outra ferramenta foi capaz de detectar o Phishing em
uma URL curta, definido como a segunda mtrica desta avaliao. Tal fato possibilita que
o usurio clique em um link e com isso acaba jogando a responsabilidade de preveno
do Phishing para o navegador. Dessas ferramentas, a nica preveno apresentada foi
referente ao ataque de forma mais bsica, descrito na primeira mtrica. Ainda sim, duas
ferramentas tiveram um comportamento nulo devido ao fato de serem baseadas em uma
lista negra que possui um considervel tempo de depreciao. O fato foi comprovado pois
os testes utilizaram Phishing catalogados e confirmados no dia anterior no PhishTank, um
tempo mais que suficiente para um mal intencionado realizar aes ilcitas em centenas
de usurios.

Figura 4.8 Resultados da avaliao da Questo 4.

84

4.1. METODOLOGIA

Resultado da Questo 5
Em relao aos resultados obtidos nos testes do ataque A5, com exceo a SafePreview,
que apresentou seu comportamento como nulo, as demais ferramentas conseguiram
detectar o download de um Malware, conforme descrito na Figura 4.9. Porm, apenas a
ferramenta Aegis conseguiu realizar a preveno contra uma Extenso maliciosa.

Figura 4.9 Resultados da avaliao da Questo 5.

Resultado da Questo 6
O comportamento padro das ferramentas de preveno disponveis o controle de
Cookies. Conforme descrito na Figura 4.10, todas as ferramentas tiveram uma ao
preventiva. A TamperMonkey observou o armazenamento inseguro em LocalStorage,
porm, apenas a Aegis cobriu todas as vulnerabilidades quanto aos componentes do
HTML6. Alm disso, as demais ferramentas apresentaram-se com baixa cobertura quanto
s observaes e comportamentos inseguros descritos neste estudo.

Figura 4.10 Resultados da avaliao da Questo 6.

85

4.1. METODOLOGIA

Resultado da Questo 7
Em relao aos ataques A7, nenhuma outra ferramenta foi encontrada disponvel para
um possvel comparativo com a Aegis. Isso tambm reflete na pequena quantidade de
publicaes disponveis na literatura sobre esse ataque. Alm disso, conforme descrito
na Figura 4.11, apenas no Chrome foi possvel realizar uma preveno satisfatria, uma
vez que o navegador em questo disponibiliza uma listagem de seus plug-ins instalados,
por meio do endereo chrome://plugins, onde se faz possvel desabilitar um determinado
plug-in, o que no ocorre na listagem about:plugins do Firefox. Portanto a soluo
proposta ainda possui um comportamento minimamente preventivo.

Figura 4.11 Resultados da avaliao da Questo 7.

Resultado da Questo 8
Conforme descrito na Figura 4.12, a ferramenta Aegis e a No-Script apresentaram
um comportamento satisfatrio nos testes que envolvem ataques de A8. As demais
ferramentas tiveram ineficincia quanto a deteco da mtrica 2, a qual baseada na forja
de Token.

Figura 4.12 Resultados da avaliao da Questo 8.

86

4.2. LIMITAES DA AVALIAO

Resultado da Questo 9
Finalmente, com base nos resultados da avaliao da Questo 9, conforme ilustrado na
Figura 4.13, poucas foram as ferramentas disponveis para as protees de falhas em
PMO, sendo detectadas apenas trs ferramentas. A Aegis foi nica que considerou
os critrios abordados neste estudo, a saber, a segurana em arquivos SWF e as falhas
ocasionais em recursos do HTML5 como o WebSocket e o WebMessaging.

Figura 4.13 Resultados da avaliao da Questo 9.

4.2

Limitaes da Avaliao

Devido s restries de tempo, no foi possvel desenvolver um ambiente controlado


capaz de avaliar todas as variaes dos aspectos inseguros acerca dos dados do usurio, os
quais foram apresentados por este estudo, oferecendo assim um nmero ainda maior de
mtricas a serem submetidas nas questes de avaliao. Este crescimento na diversidade
das mtricas poderia proporcionar uma anlise mais quantitativa, o que em tese garantiria
uma maior preciso quanto aos resultados obtidos nos testes. Alm disso, no foi possvel
realizar uma anlise comparativa em relao ao ataque 7 devido as limitaes disponveis
no mbito das ferramentas apresentadas.
E por fim, no foi possvel submeter os testes considerando a navegao atravs do
IE. A verso atual da ferramenta proposta voltada para este navegador ainda apresentase em um estgio sem muitas funcionalidades, conforme descrito no Captulo 3, na
seo 3.4. Outra observao que vale ser ressaltada que at o presente momento este
navegador possui uma carncia considervel quanto solues correlatas disponveis, o
que impossibilitaria anlises comparativas.

87

4.3. CONSIDERAES FINAIS

4.3

Consideraes Finais

Foram avaliadas um total de 23 extenses. Dentre as ferramentas submetidas, a Aegis


apresentou resultados excelentes e satisfatrios tanto no Chrome, como no Firefox. A
No-Script, para Firefox, e Websecurify, para Chrome, tiverem excelentes resultados.
Contudo, com exceo apenas da Aegis, e da No-Script quanto ao Clickjacking (A3),
foi observado que nenhuma das ferramentas avaliadas possui cobertura para os ataques
relacionados aos aspectos de HTML5, concluindo assim que no estado atual das extenses
disponveis, no h uma proteo eficiente quanto aos aspectos mencionados. Outra
observao sobre as Extenses que oferecem um combate s fraudes, com um rico
acervo disponvel para o usurio.
Em contrapartida, em relao URL curtas, com exceo da Aegis nenhuma outra
ferramenta foi capaz de ao mesmo tempo em que obtem a URL original, verificar se
a mesma trata-se de um Phishing. E ao contrrio do grande nmero de ferramentas
anti-Phishing disponveis, so raras as defesas contra falhas em PMO oferecidas, e as
poucas existentes carecem de boas solues, pois no consideram diversos aspectos
mencionados neste estudo.
E por fim, foi identificado que a proposta desta pesquisa, apesar de obter excelentes
resultados em ambos os navegadores e uma plenitude na maioria dos testes, ainda carece
de boas solues quanto aos ataques A2 e A7. Em relao ao ataque A2, preciso
aperfeioar a heurstica em um modelo que trabalhe em conjunto com ferramentas de
anlise com maior profundidade. Quanto ao ataque A7, o ponto positivo da proposta
que ela oferece uma soluo que ainda no existe em nenhuma outra extenso para os
navegadores mais populares. Porm, a proposta at o momento no possui uma preveno
satisfatria, indicando que precisa de uma evoluo nesse quesito. O prximo Captulo
ir abordar sobre essas evolues, bem como apontar melhorias e trabalhos futuros.

88

5
Concluses e Trabalhos Futuros

At o presente momento, e, muito provavelmente em alguns anos pela frente, as solues


Server-side ainda sero consideradas como as mais eficientes contra os vetores de ataques
aos dados sensveis do usurio na web. Em contrapartida, nesse contexto h pressuposto
de que a responsabilidade da segurana dos dados est totalmente direcionada aos proprietrios da aplicao disponvel na web. E isso vai ao encontro de um grande dilema
quanto aos servios prestados nesses ambientes, determinando um questionamento: como
garantir que os proprietrios iro de fato adotar fortes polticas de segurana no desenvolvimento e manuteno de suas aplicaes? Tais polticas, uma vez ausentes, podem
propiciar inmeras vulnerabilidades na aplicao [68], que podem comprometer os dados
sensveis de seus usurios.
Na mesma linha de raciocnio, outro questionamento direcionado aos desenvolvedores de navegadores: essas ferramentas so consideradas os principais mecanismos
de uso no ambiente da web. Nesse contexto, surge um questionamento: como garantir
que essas ferramentas sejam disponibilizas aos usurios sem falhas que possibilitem a
interveno de mal-intencionados? Ou ainda que possam trazer consequncias como
vulnerabilidades em aplicaes que at ento no eram vulnerveis [2]. Ou mesmo
resultando no comprometimento de todo o sistema operacional [215]. E no fosse o
bastante, os usurios ainda so suscetveis a aes de golpistas que forjam sites para
roubar dados financeiros, causando enormes prejuzos [80]. Esses fatos do origem a
um terceiro questionamento: Quem de fato o responsvel em prover prevenes contra
essas fraudes? Os proprietrios dos servios legtimos ou os gestores de navegadores
web?
A proteo client-side est longe de ser a soluo mais eficaz, porm, ainda, demonstrase necessria, pois atua como uma soluo adicional, que visa minimizar os ataques
relacionados s incertezas das respostas para esses questionamentos.

89

5.1. CONTRIBUIES

Este estudo apresentou uma abordagem que visa aplicar tcnicas de defesa que so
executadas diretamente no navegador, a fim de oferecer ao usurio uma soluo preventiva
intrnseca ao contexto. A proposta foi submetida a uma avaliao, na qual foi possvel
observar que a mesma conseguiu inibir um grande nmero de ataques consequentes por
ausncia ou falhas nas prevenes de segurana em recursos disponveis na web usando
um navegador.
As diversas tcnicas aplicadas nesta proposta, a exemplo da anlise esttica, so as
verificaes mais recomendadas no nvel client-side, mas em um mbito geral essas
tcnicas no so as mais eficientes. Mesmo assim, a iniciativa dessa proposta tornase vlida. Primeiro porque as anlises mais eficazes so as realizadas no nvel de
implementao, e no se pode garantir que todos os desenvolvedores iro atribuir s
devidas tcnicas em suas aplicaes. Segundo, porque apesar de limitada, essa tcnica
trouxe resultados satisfatrios conforme a avaliao apresentada no Captulo 4.

5.1

Contribuies

As principais contribuies desta dissertao foram:


Uma reviso sistemtica da literatura, apresentada no Captulo 2, que descreveu os
ataques mais comuns que resultam na violao de dados do usurio de navegador
web. Essa reviso tambm relacionou as principais tcnicas de defesa e ataque,
combinadas s consideraes na viso deste estudo.
Abordagem e implementao de uma ferramenta de proteo client-side, apresentada no Captulo 3. A proposta foi desenvolvida para interagir diretamente no
navegador do usurio, visando minimizar as ameaas apresentadas. pretendido
disponibilizar sua biblioteca principal ao projeto Client-side do OWASP ESAPI.
E por fim, no Captulo 4, foi apresentado um ambiente controlado que proporciona
uma avaliao mais ampla para as ferramentas que tenham um propsito similar
ao da ferramenta proposta neste estudo. pretendido disponibilizar este ambiente
para ser incorporado ao projeto OWASP Broken Web.
Alm disso, trs artigos foram escritos com o objetivo de difundir parte do conhecimento produzido nesta pesquisa, os quais foram aceitos para publicao, a saber:
1) Silva, C. M. R.; Garcia, V. C. (2013) "SafeMash: Uma Plataforma como Servio
para a Composio Segura e Colaborativa de Mashups". Em: VI Workshop de Teses e

90

5.2. LIMITAES DA PROPOSTA

Dissertaes em Sistemas de Informao, 2013, Joo Pessoa. IX Simpsio Brasileiro de


Sistemas de Informao, 2013. v. 1. p. 19-24.
2) Silva, C. M. R., Rodrigues, R. B., Campos, G. M. M., Ferreira, W. O., Ferraz, F. S.,
and Garcia, V. C. (2013). "An approach for Secure Mashup Composition". Em: IADIS
2013 - International Conference WWW/INTERNET 2013 (ICWI) v.1 p.378-380.
3) Silva, C. M. R., Rodrigues, R. B., and Garcia, V. C. (2014). "SafeMash: A Platform
for Safety Mashup Composition"Em: WEBIST 2014 - 10th International Conference on
Web Information Systems and Technologies.

5.2

Limitaes da Proposta

Devido s restries de tempo, alguns dos problemas abordados nesta dissertao ainda
esto em aberto na soluo apresentada neste estudo. Alm disso, algumas caractersticas
da proposta carecem de uma funcionalidade mais eficaz. Eis alguns pontos que podem
ser investigados como melhorias desejveis, a saber:
Melhorias nas funcionalidades do Filtro A2: Conforme descrito no Captulo 3,
seo 3.3.2, planejada uma integrao com os resultados do SQLMap, a fim de
proporcionar uma anlise com maior nvel de profundidade, buscando preciso aos
resultados.
Melhorias nas funcionalidades do Filtro A5: Conforme descrito no Captulo 3,
seo 3.3.5, planejada uma melhoria em relao checagem de arquivos em
download, uma vez que a Extenso precise pausar a transferncia, a fim de coibir o
trmino do carregamento do arquivo, antes da concluso da inspeo, isso trouxe
alguns problemas quando realizado download em servidores que no suportam
reincios.
Melhorias nas funcionalidades do Filtro A7: Conforme descrito no Captulo
3, seo 3.3.7, o filtro ainda carece de boas funcionalidades, principalmente no
navegador Firefox. O estudo identificou que, devido s limitaes do navegador,
esse filtro talvez apresente um comportamento mais eficiente se for executado em
um contexto diferente quele proporcionado a uma extenso.

91

5.3. TRABALHOS FUTUROS

5.3

Trabalhos Futuros

Alm das limitaes apresentadas, tambm pretendido adicionar funcionalidades at


ento no planejadas no escopo deste estudo, mas que garantem um desempenho mais
satisfatrio da ferramenta proposta:
Melhoria quanto aos Falsos Positivos: O estado atual da proposta sugere o fator
humano como soluo para o controle de falsos positivos, porm, como evoluo da
ferramenta, planejada uma realizao de execues dos filtros em Sandbox, utilizando uma anlise baseada em comportamento do contedo, resultante da execuo
em isolamento.[37] Adicionalmente, tambm pretendido utilizar inteligncia
artificial para as decises do tipo de recurso a ser bloqueado.
Preveno a ataques baseados em Esteganografia: Um ataque relacionado
injeo de cdigo, porm, no muito difundida na literatura, no qual o ataque
injetado em um arquivo de imagem um cdigo malicioso capaz de ser processado
pelo servidor web. O cdigo em questo ofuscado na imagem atravs de esteganografia, cifrado em algum mtodo de codificao MIME, como o base64, e
armazenado no meta-dados do arquivo. O processo executado de forma silenciosa,
visto que arquivos JPEG e PNG so bem flexveis [20].
Rotinas de Notificao de Vulnerabilidades: Ser proposta uma poltica de notificar os proprietrios do site quando uma vulnerabilidade for encontrada. Essa
funcionalidade ainda no foi incrementada no estgio atual da proposta devido
limitao das regras estabelecidas quanto aos falsos positivos. Alm disso,
necessrio um bom planejamento quanto ao envio das notificaes.
Melhorias no desempenho dos Filtros: Tambm se planeja melhorias na extenso
para o Google Chrome, considerando o fato que est sendo desenvolvido o declarativeWebRequest [10], que no momento encontra-se em fase beta. Essa nova API
ser uma verso melhorada do webrequest, onde oferece maiores funcionalidades e
tcnicas de execuo em Sandbox.
Disponibilizar o Aegis como API para o desenvolvimento seguro: Por fim,
planejado disponibilizar as funcionalidades do Aegis em uma API JS para auxiliar
na segurana de aplicaes web em nvel de implementao. Isso dar maiores
possibilidades de preveno, uma vez que o proprietrio da aplicao permita uma
maior proximidade entre os filtros do Aegis e o servidor da aplicao.

92

Referncias Bibliogrficas

[1] (2008). Securing your web browser. <URL> acesso: 10/12/13.


[2] (2009). Hacker invade mac em 10 segundos e ganha us$ 5 mil. <URL> acesso:
10/12/13.
[3] (2009). Microsoft lana ie8 destacando melhorias em segurana e performance.
<URL> acesso: 10/12/13.
[4] (2009). Navegadores populares no resistem a ataques em competio. <URL>
acesso: 10/12/13.
[5] (2012a). Cdigos maliciosos (malware). <URL> acesso: 10/12/13.
[6] (2012b). Golpes na internet. <URL> acesso: 10/12/13.
[7] (2013). Anti-phishing. <URL> acesso: 10/12/13.
[8] (2013). avast! online security. <URL> acesso: 10/12/13.
[9] (2013a). Category:owasp webgoat project. <URL> acesso: 10/12/13.
[10] (2013). chrome.declarativewebrequest. <URL> acesso: 10/12/13.
[11] (2013a). chrome.webrequest. <URL> acesso: 10/12/13.
[12] (2013a). Clickjacking reveal. <URL> acesso: 10/12/13.
[13] (2013b). Clickjacking test. <URL> acesso: 10/12/13.
[14] (2013). Csrf finder. <URL> acesso: 10/12/13.
[15] (2013b). Esapi javascript. <URL> acesso: 10/12/13.
[16] (2013). Html5 attack. <URL> acesso: 10/12/13.
[17] (2013c). Html5 security cheat sheet. <URL> acesso: 10/12/13.
[18] (2013). Http requests. <URL> acesso: 10/12/13.
[19] (2013). Immuniweb self-fuzzer. <URL> acesso: 10/12/13.
[20] (2013). Malware hidden inside jpg exif headers. <URL> acesso: 10/12/13.

93

REFERNCIAS BIBLIOGRFICAS

[21] (2013a). Netcraft extension (firefox). <URL> acesso: 10/12/13.


[22] (2013b). Netcraft extension. <URL> acesso: 10/12/13.
[23] (2013). No-script security suite (chrome). <URL> acesso: 10/12/13.
[24] (2013). O que so aplicativos, extenses e temas? <URL> acesso: 10/12/13.
[25] (2013d). Owasp broken web applications project. <URL> acesso: 10/12/13.
[26] (2013). Request policy. <URL> acesso: 10/12/13.
[27] (2013). Right clickxss. <URL> acesso: 10/12/13.
[28] (2013a). Safe preview (chrome). <URL> acesso: 10/12/13.
[29] (2013b). Safe preview (firefox). <URL> acesso: 10/12/13.
[30] (2013). Script safe. <URL> acesso: 10/12/13.
[31] (2013). Sql inject me. <URL> acesso: 10/12/13.
[32] (2013). Tamper monkey. <URL> acesso: 10/12/13.
[33] (2013e). Testing for cookies attributes (owasp-sm-002). <URL> acesso: 10/12/13.
[34] (2013). Toogle cookies. <URL> acesso: 10/12/13.
[35] (2013f). Transport layer protection cheat sheet. <URL> acesso: 10/12/13.
[36] (2013). Troubleshoot firefox issues caused by malware. <URL> acesso: 10/12/13.
[37] (2013). Using eval in chrome extensions safely. <URL> acesso: 10/12/13.
[38] (2013b). Web of trust (wot) (chrome). <URL> acesso: 10/12/13.
[39] (2013c). Web of trust (wot) (firefox). <URL> acesso: 10/12/13.
[40] (2013d). Websecurify. <URL> acesso: 10/12/13.
[41] (2013). The world wide web is now truly. <URL> acesso: 10/12/13.
[42] (2013a). Xss chef. <URL> acesso: 10/12/13.
[43] (2013g). Xss (cross site scripting) prevention cheat sheet. <URL> acesso: 10/12/13.

94

REFERNCIAS BIBLIOGRFICAS

[44] (2013b). Xss me. <URL> acesso: 10/12/13.


[45] (2013). Zscaler likejacking prevention. <URL> acesso: 10/12/13.
[46] Accornero, R.; Rispoli, D. B. F. (2011). Privacy-enhanced identity via browser extensions and linking services. Network and System Security (NSS), 2011 5th International
Conference on.
[47] Acer, M. and Jackson, C. (2010). Critical vulnerability in browser security metrics.
[48] Acunetix (2010). Cross site scripting attack. <URL> acesso: 10/12/13.
[49] Adam Barth, C. J. and Mitchell, J. C. (2008a). Robust defenses for cross-site request
forgery. 15th ACM Conference on Computer and Communications Security.
[50] Adam Barth, C. J. and Mitchell, J. C. (2008b). Securing browser frame communication. 17th USENIX Security Symposium.
[51] Aggarwal, A., R. A. K. P. (2012). Phishari: Automatic realtime phishing detection
on twitter. eCrime Researchers Summit.
[52] Akiyama, M., Y. T. H. T. (2013). Improved blacklisting: Inspecting the structural
neighborhood of malicious urls. IT Professional.
[53] Akiyama, M., Y. T. I. M. (2011). Searching structural neighborhood of malicious
urls to improve blacklisting. 11th IEEE/IPSJ International Symposium on Applications
and the Internet, SAINT 2011.
[54] Alazab, A., Alazab, M., Abawajy, J., and Hobbs, M. (2011). Web application
protection against sql injection attack. 7th International Conference on Information
Technology and Application, ICITA 2011.
[55] Aldwairi, M., A. R. (2012). Malurls: A lightweight malicious website classification
based on url features. Journal of Emerging Technologies in Web Intelligence.
[56] Alexenko, T., J. M. R. S. Z. W. (2010). Cross-site request forgery: Attack and
defense. 7th IEEE Consumer Communications and Networking Conference, CCNC
2010.
[57] Alfantookh, A. (2004). An automated universal server level solution for sql injection
security flaw. Proceedings - 2004 International Conference on Electrical, Electronic
and Computer Engineering, ICEEC04.

95

REFERNCIAS BIBLIOGRFICAS

[58] Ali, A., Shakhatreh, A., Abdullah, M., and Alostad, J. (2011). Sql-injection vulnerability scanning tool for automatic creation of sql-injection attacks. Procedia Computer
Science.
[59] Ali, S., K. S. R. A. (2011). A cryptography-based approach to web mashup security.
Proceedings - International Conference on Computer Networks and Information
Technology.
[60] Allen, J. (2001). The CERT guide to system and network security practices. SEI
series in software engineering. Addison-Wesley.
[61] Alvarez, G. and Petrovic, S. (2003). A new taxonomy of web attacks suitable for
efficient encoding. Computers Security.
[62] Anderson, B.; Quist, D. L. T. (2011). Detecting code injection attacks in internet
explorer. Computer Software and Applications Conference Workshops (COMPSACW),
2011 IEEE 35th Annual.
[63] Anderson, R. and Lee, J.-H. (2000). Jikzi: a new framework for security policy,
trusted publishing and electronic commerce. Computer Communications.
[64] Anupam, V.; Mayer, A. (1998). Secure web scripting. Internet Computing, IEEE.
[65] Armando, A., Carbone, R., Compagna, L., Cullar, J., Pellegrino, G., and Sorniotti, A. (2013). An authentication flaw in browser-based single sign-on protocols:
Impact and remediations. Computers Security.
[66] Arulsuju, D. (2011). Hunting malicious attacks in social networks. Advanced
Computing (ICoAC), 2011 Third International Conference on.
[67] Aslam, B.; Lei Wu; Zou, C. (2010). Pwdip-hash: A lightweight solution to phishing
and pharming attacks. Network Computing and Applications (NCA), 2010 9th IEEE
International Symposium on.
[68] Assad, R. E. (2011). SSQA Software Security Quality Assurance. Ph.D. thesis,
Universidade Federal de Pernambuco Centro de Informtica.
[69] Austin, A., Holmgreen, C., and Williams, L. (2013). A comparison of the efficiency
and effectiveness of vulnerability discovery techniques. Information and Software
Technology.

96

REFERNCIAS BIBLIOGRFICAS

[70] Balasundaram, I. and Ramaraj, E. (2012). An efficient technique for detection and
prevention of injection attack using based string matching. Procedia Engineering.
[71] Balduzzi, M., E. M. K. E. B. D. K. C. (2010). A solution for the automated
detection of clickjacking attacks. Proceedings of the 5th International Symposium on
Information, Computer and.
[72] Balfanz., D. D. E. W. F. D. S. W. D. (1997). Java security: Web browsers and
beyond. Internet besieged.
[73] Balzer, R. (2003). Safe email, safe office, and safe web browser demo description.
DARPA Information Survivability Conference and Exposition, 2003. Proceedings.
[74] Bamrara, A., S. G. B. M. (2013). Cyber attacks and defense strategies in india: An
empirical assessment of banking sector. International Journal of Cyber Criminology.
[75] Bandhakavi, S., Bisht, P., Madhusudan, P., and Venkatakrishnan, V. (2007). Candid:
Preventing sql injection attacks using dynamic candidate evaluations. Proceedings of
the ACM Conference on Computer and Communications Security.
[76] Barone, G.B.; Margarita, N. M. A. M. N. R. L. (2001). Secure access to personalized web services. Dependable Computing, 2001. Proceedings. 2001 Pacific Rim
International Symposium on.
[77] Bates, D., Barth, A., and Jackson, C. (2010). Regular expressions considered
harmful in client-side xss filters. In Proceedings of the 19th International Conference
on World Wide Web, WWW 10, pages 91100, New York, NY, USA.
[78] Beck, K.; Zhan, J. (2010). Phishing in finance. Future Information Technology
(FutureTech), 2010 5th International Conference on.
[79] Ben-Itzhak, Y. (2013). Welcome to the malware-as-a-service business model.
<URL> acesso: 10/12/13.
[80] Bestuzhev, D. (2013). Brazil: a country rich in banking trojans. <URL> acesso:
10/12/13.
[81] Bielova, N. (2013). Survey on javascript security policies and their enforcement
mechanisms in a web browser. The Journal of Logic and Algebraic Programming.

97

REFERNCIAS BIBLIOGRFICAS

[82] Bielova, N., Devriese, D., Massacci, F., and Piessens, F. (2011). Reactive noninterference for a browser model. In P. Samarati, S. Foresti, J. Hu, and G. Livraga,
editors, NSS, pages 97104. IEEE.
[83] Bina, E. ; McCool, R. . J. V. . W. M. (1994). Secure access to data over the
internet. Parallel and Distributed Information Systems, 1994., Proceedings of the
Third International Conference.
[84] Blanc, G.; Ando, R. K. Y. (2011). Term-rewriting deobfuscation for static client-side
scripting malware detection. New Technologies, Mobility and Security (NTMS), 2011
4th IFIP International Conference on.
[85] Boyan Chen; Zavarsky, P.; Ruhl, R. L. D. (2011). A study of the effectiveness of
csrf guard. Privacy, security, risk and trust (passat), 2011 ieee third international
conference on and 2011 ieee third international conference on social computing
(socialcom).
[86] Boyd, S. and Keromytis, A. (2004). Sqlrand: Preventing sql injection attacks.
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial
Intelligence and Lecture Notes in Bioinformatics).
[87] Bozic, J., W. F. (2013). Xss pattern for attack modeling in testing. 2013 8th
International Workshop on Automation of Software Test, AST 2013 - Proceeding.
[88] Caballero, S. C. H. C. M. (2010). Residue objects: a challenge to web browser
security. EuroSys 10 Proceedings of the 5th European conference on Computer
systems.
[89] Chandrashekhar, R., Mardithaya, M., Thilagam, S., and Saha, D. (2012). Sql
injection attack mechanisms and prevention techniques. Lecture Notes in Computer
Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes
in Bioinformatics).
[90] Chen, F.-H. H. C.-K. T. Y.-C. Y. W.-J. W. L.-H. (2011). Browserguard: A behaviorbased solution to drive-by-download attacks. Selected Areas in Communications, IEEE
Journal on.
[91] Chen, P. Z. J. S. H. (2010). Insecure javascript detection and analysis with browserenforced embedded rules. Parallel and Distributed Computing, Applications and
Technologies (PDCAT), 2010 International Conference on.

98

REFERNCIAS BIBLIOGRFICAS

[92] Chen, S., Mao, Z., Wang, Y.-M., and Zhang, M. (2009). Pretty-bad-proxy: An
overlooked adversary in browsers https deployments. In Proceedings of the 2009 30th
IEEE Symposium on Security and Privacy, SP 09, pages 347359, Washington, DC,
USA. IEEE Computer Society.
[93] Chhabra, S., A. A. B. F. K.-P. (2011). Phi.sh$ocial: The phishing landscape through
short urls. ACM International Conference Proceeding Series.
[94] Cho, S. and Cha, S. (2004). Sad: web session anomaly detection based on parameter
estimation. Computers Security.
[95] Chomsiri, T. (2007). Https hacking protection. Advanced Information Networking
and Applications Workshops, 2007, AINAW 07. 21st International Conference on.
[96] Choudhary, S.; Dincturk, M. B. G. J.-G.-V. O.-I. I. P. (2012). Solving some modeling
challenges when testing rich internet applications for security. Software Testing,
Verification and Validation (ICST), 2012 IEEE Fifth International Conference on.
[97] Ciampa, A., Visaggio, C., and Di Penta, M. (2010). A heuristic-based approach for
detecting sql-injection vulnerabilities in web applications. Proceedings - International
Conference on Software Engineering.
[98] Cittzen, G. (2007). Persistent csrf and the hotlink hell. <URL> acesso: 10/12/13.
[99] Claessens, J., Dem, V., Cock, D. D., Preneel, B., and Vandewalle, J. (2002). On the
security of todays online eletronic banking systems. Computers Security.
[100] Cluley, G. (2013). Is that youtube video downloader browser plugin safe? beware!.
<URL> acesso: 10/12/13.
[101] Collin Jackson, Andrew Bortz, D. B. and Mitchell, J. C. (2006). Protecting browser
state from web privacy attacks. 15th International World Wide Web Conference.
[102] Couvreur, J. (2006). Crossdomain.xml security warning. <URL> acesso: 10/12/13.
[103] Crispo, B., Landrock, P., and Jr., V. M. (2000). Www security and trusted third
party services. Future Generation Comp. Syst., 16.
[104] Crites, S., H. F. C. H. (2008). Omash: Enabling secure web mashups via object
abstractions. Proceedings of the ACM Conference on Computer and Communications
Security.

99

REFERNCIAS BIBLIOGRFICAS

[105] Dacosta, I., Chakradeo, S., Ahamad, M., and Traynor, P. (2012). One-time cookies:
Preventing session hijacking attacks with statelessauthentication tokens. ACM Trans.
Internet Technol., 12(1), 1:11:24.
[106] De Groef, W., Devriese, D., and Nikiforakis, Nick andPiessens, F. (2012). Flowfox:
A web browser with flexible and precise information flowcontrol. In Proceedings
of the 2012 ACM Conference on Computer and CommunicationsSecurity, CCS 12,
pages 748759, New York, NY, USA.
[107] De Ryck, P., D. L. H. T.-P.-F. J.-W. (2010). Csfire: Transparent client-side
mitigation of malicious cross-domain requests. 2nd International Symposium on
Engineering Secure Software and Systems.
[108] De Ryck, P., D. L. J. W.-P.-F. (2011). Automatic and precise client-side protection
against csrf attacks. Lecture Notes in Computer Science (including subseries Lecture
Notes in Artificial Intelligence and Lecture Notes in Bioinformatics).
[109] De Ryck, P., Decat, M., Desmet, L., Piessens, F., and Joosen, W. (2012a). Security
of web mashups: A survey. In Proceedings of the 15th Nordic Conference on Information Security Technology for Applications, NordSec10, pages 223238, Berlin,
Heidelberg. Springer-Verlag.
[110] De Ryck, P., Nikiforakis, N., Desmet, L., Piessens, F., and Joosen, W. (2012b).
Serene: Self-reliant client-side protection against session fixation. In Proceedings
of the 12th IFIP WG 6.1 International Conference on DistributedApplications and
Interoperable Systems, DAIS12, pages 5972, Berlin, Heidelberg. Springer-Verlag.
[111] de S.Paulo, F. (2008). Por segurana, brasil adota domnio "b.br"exclusivo para
bancos. <URL> acesso: 10/12/13.
[112] De Zoysa, K.; Muftic, S. (2002). Bi-directional web document protection system
for serious e-commerce applications. Parallel Processing Workshops, 2002. Proceedings. International Conference on.
[113] Details, C. (2013a). Gecko security vulnerabilities. <URL> acesso: 10/12/13.
[114] Details, C. (2013b). Quicktime vulnerabilities. <URL> acesso: 10/12/13.
[115] Details, C. (2013c). Webkit security vulnerabilities. <URL> acesso: 10/12/13.

100

REFERNCIAS BIBLIOGRFICAS

[116] Devesa, J., C. X. A. G. B.-P. (2011). An efficient security solution for dealing with
shortened url analysis. Proceedings of the 8th International Workshop on Security in
Information Systems,.
[117] Dhawan, M.; Ganapathy, V. (2009). Analyzing information flow in javascriptbased browser extensions. Computer Security Applications Conference, 2009. ACSAC
09. Annual.
[118] Di Lucca, G.A.; Fasolino, A. M. M. T.-P. (2004). Identifying cross site scripting
vulnerabilities in web applications. Telecommunications Energy Conference, 2004.
INTELEC 2004. 26th Annual International.
[119] Dong, X., Chen, Z., Siadati, H., Tople, S., Saxena, P., and Liang, Z. (2013).
Protecting sensitive web content from client-side vulnerabilities with cryptons. In
Proceedings of the 2013 ACM SIGSAC conference on Computer communications
security, CCS 13, pages 13111324, New York, NY, USA. ACM.
[120] Dymond, P.; Jenkin, M. (1999). Www distribution of private information with
watermarking. Systems Sciences, 1999. HICSS-32. Proceedings of the 32nd Annual
Hawaii International Conference on.
[121] Eftekhari, M. H., Barzegar, Z., and Isaai, M. T. (2011). Web 1.0 to web 3.0
evolution: Reviewing the impacts on tourism development and opportunities. In
Proceedings of the First International Conference on Human-computerInteraction,
Tourism and Cultural Heritage, HCITOCH10, pages 184193, Berlin, Heidelberg.
Springer-Verlag.
[122] Eisen, O. (2010). Catching the fraudulent man-in-the-middle and man-in-thebrowser. Network Security.
[123] Elia, I., Fonseca, J., and Vieira, M. (2010). Comparing sql injection detection tools
using attack injection: An experimental study. Proceedings - International Symposium
on Software Reliability Engineering, ISSRE.
[124] Eshete, B., Villafiorita, A., and Weldemariam, K. (2012). Binspect: Holistic
analysis and detection of malicious web pages. In SecureComm, pages 149166.
[125] Estado (2012). Especialistas alertam para problema em navegador da microsoft.
<URL> acesso: 10/12/13.

101

REFERNCIAS BIBLIOGRFICAS

[126] Florian, C. (2012). Web browser war, security battle in 2011. <URL> acesso:
10/12/13.
[127] for Internet Security, C. (2013). Multiple vulnerabilities in mozilla products could
allow remote codeexecution. <URL> acesso: 10/12/13.
[128] Ford, S.; Cova, M. K. C. V. G. (2009). Analyzing and detecting malicious flash advertisements. Computer Security Applications Conference, 2009. ACSAC 09. Annual.
[129] Fredrikson, M.; Livshits, B. (2011). Repriv: Re-imagining content personalization
and in-browser privacy. Security and Privacy (SP), 2011 IEEE Symposium on.
[130] Frenz, C.M.; Yoon, J. (2012). Xssmon: A perl based ids for the detection of
potential xss attacks. Systems, Applications and Technology Conference (LISAT), 2012
IEEE Long Island.
[131] Fu, X., Lu, X., Peltsverger, B., Chen, S., Qian, K., and Tao, L. (2007). A static
analysis framework for detecting sql injection vulnerabilities. In Proceedings of the
31st Annual International Computer Software and Applications Conference - Volume
01, COMPSAC 07, pages 8796, Washington, DC, USA. IEEE Computer Society.
[132] Fukushima, Y.; Hori, Y. S. K. (2011). Proactive blacklisting for malicious web
sites by reputation evaluation based on domain and ip address registration. Trust,
Security and Privacy in Computing and Communications (TrustCom), 2011 IEEE 10th
International Conference on.
[133] Fung, A.P.H.; Cheung, K. (2010). Httpslock: Enforcing https in unmodified
browsers with cached javascript. Network and System Security (NSS), 2010 4th
International Conference on.
[134] Fung, B.S.Y.; Lee, P. (2011). A privacy-preserving defense mechanism against
request forgery attacks. Trust, Security and Privacy in Computing and Communications
(TrustCom), 2011 IEEE 10th International Conference on.
[135] Gajek, S. (2008). A universally composable framework for the analysis of browserbasedsecurity protocols. In Proceedings of the 2Nd International Conference on
Provable Security, ProvSec 08, pages 283297, Berlin, Heidelberg. Springer-Verlag.
[136] Gajek, S. (2009). Foundations of provably secure browser-based protocols. Ph.D.
thesis, Ruhr University Bochum. http://d-nb.info/996578269.

102

REFERNCIAS BIBLIOGRFICAS

[137] Gajek, S., Sadeghi, A.-R., and Stuble, Christian andWinandy, M. (2007). Compartmented security for browsers - or how to thwart a phisherwith trusted computing.
In Proceedings of the The Second International Conference on Availability,Reliability
and Security, ARES 07, pages 120127, Washington, DC, USA. IEEE Computer
Society.
[138] Gajek, S., Jager, T., Manulis, M., and Schwenk, J. (2008a). A browser-based
kerberos authentication scheme. In Proceedings of the 13th European Symposium on
Research in ComputerSecurity: Computer Security, ESORICS 08, pages 115129,
Berlin, Heidelberg. Springer-Verlag.
[139] Gajek, S., Manulis, M., and Schwenk, J. (2008b). Enforcing user-aware browserbased mutual authentication with stronglocked same origin policy. In Proceedings of
the 13th Australasian Conference on Information Securityand Privacy, ACISP 08,
pages 620, Berlin, Heidelberg. Springer-Verlag.
[140] Gajek, S., Lohr, H., Sadeghi, A.-R., and Winandy, M. (2009a). Truwallet:
Trustworthy and migratable wallet-based web authentication. In Proceedings of
the 2009 ACM Workshop on Scalable Trusted Computing, STC 09, pages 1928, New
York, NY, USA.
[141] Gajek, S., Manulis, M., and Schwenk, J. (2009b). User aware provably secure
protocols for browser based mutual authentication. Int. J. Appl. Cryptol., 1(4), 290
308.
[142] Galan, E.; Alcaide, A. O. A. B. J. (2010). A multi-agent scanner to detect storedxss vulnerabilities. Internet Technology and Secured Transactions (ICITST), 2010
International Conference for.
[143] Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns:
Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing
Co., Inc., Boston, MA, USA.
[144] Gastellier-Prevost, S.; Granadillo, G. L. M. (2011a). Decisive heuristics to differentiate legitimate from phishing sites. Network and Information Systems Security
(SAR-SSI), 2011 Conference on.
[145] Gastellier-Prevost, S.; Granadillo, G. L. M. (2011b). A dual approach to detect
pharming attacks at the client-side. New Technologies, Mobility and Security (NTMS),
2011 4th IFIP International Conference on.

103

REFERNCIAS BIBLIOGRFICAS

[146] Gastellier-Prevost, S.; Laurent, M. (2011c). Defeating pharming attacks at the


client-side. Network and System Security (NSS), 2011 5th International Conference
on.
[147] Gaurav Aggrawal, Elie Bursztein, C. J. and Boneh, D. (2010). An analysis of
private browsing modes in modern browsers. In Proc. of Usenix Security.
[148] Gebre, M. K.-S. L. M. H. (2010). A robust defense against content-sniffing xss
attacks. Digital Content, Multimedia Technology and its Applications (IDC), 2010 6th
International Conference on.
[149] Gen Lu; Debray, S. (2012). Automatic simplification of obfuscated javascript code:
A semantics-based approach. Software Security and Reliability (SERE), 2012 IEEE
Sixth International Conference on.
[150] Gentile, M. (2013). Client-side security in the modern web. Technical report,
Minded Security.
[151] Gifford, D.K.; Stewart, L. P. A. T. G. (1995). Payment switches for open networks.
Compcon 95.Technologies for the Information Superhighway, Digest of Papers.
[152] GizModo (2013). Google chrome quer acabar com os plugins de navegador.
<URL> acesso: 10/12/13.
[153] Goldman, D. (2013). Target confirms pin data was stolen in breach. <URL>
acesso: 10/12/13.
[154] Goth, G. (2004). Ie security flaws spike interest in alternative browsers. Internet
Computing, IEEE.
[155] Greg Aaron, R. R. (2012). Global phishing survey: Trends and domain name use
in 2h2012. Technical report, APWG.
[156] Grier, C.; Shuo Tang; King, S. (2008). Secure web browsing with the op web
browser. Security and Privacy, 2008. SP 2008. IEEE Symposium on.
[157] Groef, W. D., Devriese, D., and Piessens, F. (2011). Better security and privacy for
web browsers: A survey of techniques,and a new implementation. In Formal Aspects
in Security and Trust, pages 2138.
[158] Grossman, H. . (2008). Clickjacking. WWW.

104

REFERNCIAS BIBLIOGRFICAS

[159] Guha, A.; Fredrikson, M. L. B. S. N. (2011). Verified security for browser


extensions. Security and Privacy (SP), 2011 IEEE Symposium on.
[160] Gundy, M. V. and Chen, H. (2012). Noncespaces: Using randomization to defeat
cross-site scripting attacks. Computers Security.
[161] Guo, Y. W. Z. L. T. (2011). Program slicing stored xss bugs in web application. Theoretical Aspects of Software Engineering (TASE), 2011 Fifth International
Symposium on.
[162] Gustav Rydstedt, Elie Bursztein, D. B. and Jackson, C. (2010). Busting frame
busting: a study of clickjacking vulnerabilities at popular sites. IEEE Oakland Web
2.0 Security and Privacy Workshop.
[163] Halfond, W. and Orso, A. (2005a). Amnesia: Analysis and monitoring for neutralizing sql-injection attacks. 20th IEEE/ACM International Conference on Automated
Software Engineering, ASE 2005.
[164] Halfond, W. and Orso, A. (2007). Detection and prevention of sql injection attacks.
Advances in Information Security.
[165] Halfond, W. G. J. and Orso, A. (2005b). Combining static analysis and runtime
monitoring to counter sql-injectionattacks. In Proceedings of the Third International
Workshop on Dynamic Analysis, WODA 05, pages 17, New York, NY, USA.
[166] Hallaraker, O.; Vigna, G. (2005). Detecting malicious javascript code in mozilla.
Engineering of Complex Computer Systems, 2005. ICECCS 2005. Proceedings. 10th
IEEE International Conference on.
[167] Hassler, V.; Then, O. (1998). Controlling applets behavior in a browser. Computer
Security Applications Conference, 1998. Proceedings. 14th Annual.
[168] Hecht, J. (2007). When web browsers turn bad. New Scientist.
[169] Heiderich, M., F. T. H. T. (2011). Iceshield: Detection and mitigation of malicious
websites with a frozen dom. Lecture Notes in Computer Science (including subseries
Lecture Notes in Artificial.
[170] Heiderich, M., Frosch, T., Niemietz, M., and Schwenk (2012a). The bug that made
me president a browser- and web-security case study on helios voting. In Proceedings

105

REFERNCIAS BIBLIOGRFICAS

of the Third International Conference on E-Voting and Identity, VoteID11, pages


89103, Berlin, Heidelberg. Springer-Verlag.
[171] Heiderich, M., Niemietz, M., Schuster, F., Holz, T., and Schwenk (2012b). Scriptless attacks: Stealing the pie without touching the sill. In Proceedings of the 2012
ACM Conference on Computer and CommunicationsSecurity, CCS 12, pages 760
771, New York, NY, USA.
[172] Heiderich, M., Schwenk, J., Frosch, T., Magazinius, J., and Yang, E. Z. (2013).
mxss attacks: Attacking well-secured web-applications by using innerhtml mutations.
In Proceedings of the 2013 ACM SIGSAC Conference on Computer; Communications
Security.
[173] Hernandez-Ardieta, J. L., Gonzalez-Tablas, A. I., de Fuentes, J. M., and Ramos, B.
(2013). A taxonomy and survey of attacks on digital signatures. Computers Security.
[174] Hertzum, M., Jrgensen, N., and Nrgaard, M. (2004). Usable security and
e-banking: ease of use vis-a-vis security. Australasian J. of Inf. Systems, 11(2).
[175] Hodovan, R.; Kiss, A. (2012). Security evolution of the webkit browser engine.
Web Systems Evolution (WSE), 2012 14th IEEE International Symposium on.
[176] HTML5Sec (2013). Html5 security cheatsheet. <URL> acesso: 10/12/13.
[177] Huang, S.-K., L. H.-L. L. W.-M. L.-H. (2013). Craxweb: Automatic web application testing and attack generation. Proceedings - 7th International Conference on
Software Security and Reliability, SERE 2013.
[178] Huang, L.-S., Weinberg, Z., Evans, C., and Jackson, C. (2010). Protecting browsers
from cross-origin css attacks. In Proceedings of the 17th ACM Conference on Computer
and CommunicationsSecurity, CCS 10, pages 619629, New York, NY, USA.
[179] Iacono, L.L.; Rajasekaran, H. (2009). Secure browser-based access to web services.
Communications, 2009. ICC 09. IEEE International Conference on.
[180] IDGNow (2009). Macbook invadido em 10 segundos. <URL> acesso: 10/12/13.
[181] IDGNow (2013a). Falha no windows xp permite a crackers invadir pc via adobe
reader. <URL> acesso: 10/12/13.

106

REFERNCIAS BIBLIOGRFICAS

[182] IDGNow (2013b). Google lana chrome 29 e corrige 25 vulnerabilidades do


navegador. <URL> acesso: 10/12/13.
[183] IDGNow (2013c). Novo malware para mac instala plugin malicioso no navegador.
<URL> acesso: 10/12/13.
[184] Iha, G.; Doi, H. (2009). An implementation of the binding mechanism in the web
browser for preventing xss attacks: Introducing the bind-value headers. Availability,
Reliability and Security, 2009. ARES 09. International Conference on.
[185] Information, U. G. (2010). Public law 111148mar. 23, 2010. Technical report, US
Govermment Information.
[186] InfoSecurity (2012). Clickjacking threatens two-thirds of top 20 banking sites.
<URL> acesso: 10/12/13.
[187] Jackson, C. and Barth, A. (2008a). Beware of finer-grained origins. Web 2.0
Security and Privacy.
[188] Jackson, C. and Barth, A. (2008b). Forcehttps cookies: A defense against eavesdropping and pharming. 17th International World Wide Web Conference.
[189] Jackson, C. and Wang, H. J. (2007). Subspace: Secure cross-domain communication for web mashups. In Proceedings of the 16th International Conference on World
Wide Web, WWW 07, pages 611620, New York, NY, USA.
[190] Jackson, C., Simon, D. R., Tan, D. S., and Barth, A. (2007a). An evaluation
of extended validation and picture-in-picture phishingattacks. In Proceedings of
the 11th International Conference on Financial Cryptographyand 1st International
Conference on Usable Security, FC07/USEC07, pages 281293, Berlin, Heidelberg.
Springer-Verlag.
[191] Jackson, C., Boneh, D., and Mitchell, J. (2007b). Transaction generators: Root
kits for web. In Proceedings of the 2Nd USENIX Workshop on Hot Topics in Security,
HOTSEC07, pages 1:11:4, Berkeley, CA, USA. USENIX Association.
[192] Jagnere, P. (2012). Vulnerabilities in social networking sites. Parallel Distributed
and Grid Computing (PDGC), 2012 2nd IEEE International Conference on.
[193] Jakobsson, M.; Stamm, S. (2007). Web camouflage: Protecting your clients from
browser-sniffing attacks. Security Privacy, IEEE.

107

REFERNCIAS BIBLIOGRFICAS

[194] James Governor, Dion Hinchcliffe, D. N. (2009). Web 2.0 Architectures: What
Entrepreneurs and Information ArchitectsNeed to Know. OReilly.
[195] Jarkowski, M., Binczewski, A., and Stroinski, M. (1999). New approach for
management services with a web browser. Computer Networks.
[196] Jayaraman, K.; Wenliang Du; Rajagopalan, B. C. S. (2010a). Escudo: A finegrained protection model for web browsers. Distributed Computing Systems (ICDCS),
2010 IEEE 30th International Conference on.
[197] Jayaraman, K., L. G. T. P. C. S. (2010b). Enforcing request integrity in web
applications. Lecture Notes in Computer Science (including subseries Lecture Notes
in Artificial.
[198] Jenkin, M.; Dymond, P. (1998). A plugin-based privacy scheme for world-wide
web file distribution. System Sciences, 1998., Proceedings of the Thirty-First Hawaii
International Conference on.
[199] Jiang Wang; Huang, Y.; Ghosh, A. (2010). Safefox: A safe lightweight virtual
browsing environment. System Sciences (HICSS), 2010 43rd Hawaii International
Conference on.
[200] Jim Hendler, T. B.-L. (2009). From the semantic web to social machines: A
research challenge forai on the world wide web. In Artificial Intelligence 2009.
Elsevier B.V. All rights reserved.
[201] Johns, M. (2006). Sessionsafe: Implementing xss immune session handling. In In
Proc. ESORICS.
[202] Johns, M. (2013). Preparedjs: Secure script-templates for javascript. Lecture Notes
in Computer Science (including subseries Lecture Notes in Artificial Intelligence and
Lecture Notes in Bioinformatics).
[203] Johns, M. and Beyerlein, C. (2007). Smask: Preventing injection attacks in
web applications by approximatingautomatic data/code separation. In In 22nd ACM
Symposium on Applied Computing (SAC 2007), Security Track.
[204] Jon Howell, Collin Jackson, H. J. W. and Fan, X. (2007). Mashupos: Operating
system abstractions for client mashups. 11th Workshop on Hot Topics in Operating
Systems.

108

REFERNCIAS BIBLIOGRFICAS

[205] Joshi, Y.; Das, D. S. S. (2009). Mitigating man in the middle attack over secure
sockets layer. Internet Multimedia Services Architecture and Applications (IMSAA),
2009 IEEE International Conference on.
[206] Joshi, Y.; Saklikar, S. D. D. S. S. (2008). Phishguard: A browser plug-in for
protection from phishing. Internet Multimedia Services Architecture and Applications,
2008. IMSAA 2008. 2nd International Conference on.
[207] Jovanovic, N. ; Kirda, E. . K. C. (2006). Preventing cross site request forgery
attacks. Securecomm and Workshops, 2006.
[208] Jovanovic, N., Kruegel, C., and Kirda, E. (2006). Pixy: A static analysis tool for
detecting web application vulnerabilities(short paper). In Proceedings of the 2006
IEEE Symposium on Security and Privacy, SP 06, pages 258263, Washington, DC,
USA. IEEE Computer Society.
[209] Jr., R. C. D., Carver, C., and Ferguson, A. J. (2007). Phishing for user security
awareness. Computers Security.
[210] Juels, A.; Jakobsson, M. J. T. (2006). Cache cookies for browser authentication.
Security and Privacy, 2006 IEEE Symposium on.
[211] Jun Li; Dongting Yu; Maurer, L. (2012). A resource management approach to
web browser security. Computing, Networking and Communications (ICNC), 2012
International Conference on.
[212] Jung, J. K. K. S. S. (2009). Webvaccine: A client-side realtime prevention system
against obfuscated malicious web pages. INC, IMS and IDC, 2009. NCM 09. Fifth
International Joint Conference on.
[213] Junjin, M. (2009). An approach for sql injection vulnerability detection. In Proceedings of the 2009 Sixth International Conference on InformationTechnology: New
Generations, ITNG 09, pages 14111414, Washington, DC, USA. IEEE Computer
Society.
[214] Kai Zhao; Kaji, Y. (2010). Anti-phishing mutual authentication using the visual secret sharing scheme. Information Theory and its Applications (ISITA), 2010
International Symposium on.
[215] Kaneshige, T. (2009). Segurana ameaa reputao do safari. <URL> acesso:
10/12/13.

109

REFERNCIAS BIBLIOGRFICAS

[216] Kantor, I. (2011). The clickjacking attack, x-frame-options. <URL> acesso:


10/12/13.
[217] Karlof, C., S. U. T. J. W. D. (2007). Dynamic pharming attacks and locked sameorigin policies for web browsers. Proceedings of the ACM Conference on Computer
and Communications Security.
[218] Kerschbaum, F. (2008). Simple cross-site attack prevention. Security and Privacy
in Communications Networks and the Workshops, 2007. SecureComm 2007. Third
International Conference on.
[219] Khoury, N., Zavarsky, P., Lindskog, D., and Ruhl, R. (2011). An analysis of
black-box web application security scanners against stored sql injection. Proceedings 2011 IEEE International Conference on Privacy, Security, Risk and Trust and IEEE
International Conference on Social Computing, PASSAT/SocialCom 2011.
[220] Kim, Doowon; Achan, C. B. J. F. P. S. (2013). Implementation of framework to
identify potential phishing websites. Intelligence and Security Informatics (ISI), 2013
IEEE International Conference on.
[221] Kirda, E.; Kruegel, C. (2005). Protecting users against phishing attacks with
antiphish. Computer Software and Applications Conference, 2005. COMPSAC 2005.
29th Annual International.
[222] Kirda, E., Jovanovic, N., Kruegel, C., and Vigna, G. (2009). Client-side cross-site
scripting protection. Computers Security.
[223] Kirda, E., K. C. V. G. J. N. (2006). Noxes: A client-side solution for mitigating cross-site scripting attacks. Proceedings of the ACM Symposium on Applied
Computing.
[224] Kirda, K. O. M. B. B. W. R. E. (2013). Securing legacy firefox extensions with
sentinel. DIMVA13 Proceedings of the 10th international conference on Detection of
Intrusions and Malware, and Vulnerability Assessment.
[225] Kitchenham, B. (2004). Procedures for performing systematic reviews. Technical
report, Departament of Computer Science, Keele University.
[226] Koizumi, D., M. T. S. M. (2012). On the automatic detection algorithm of cross
site scripting (xss) with the non-stationary bernoulli distribution. Proceedings of the
5th International Conference on Communications, Computers and.

110

REFERNCIAS BIBLIOGRFICAS

[227] Kolbitsch, C.; Livshits, B. Z. B. S. C. (2012). Rozzle: De-cloaking internet


malware. Security and Privacy (SP), 2012 IEEE Symposium on.
[228] Kolletzki, S. (1996). Secure internet banking with privacy enhanced mail: A
protocol for reliable exchange of secured order forms. Computer Networks and
Systems.
[229] Kruegel, C., Vigna, G., and Robertson, W. (2005). A multi-model approach to the
detection of web-based attacks. Computer Networks.
[230] Kumar, M. (2013). Malicious pinterest browser plugin stealing passwords and
spreading spam. <URL> acesso: 10/12/13.
[231] Lab, K. (2013). Kaspersky lab alerta para vulnerabilidade no safari. <URL>
acesso: 10/12/13.
[232] Laranjeiro, N., Vieira, M., and Madeira, H. (2010). A learning-based approach to
secure web services from sql/xpath injection attacks. Proceedings - 16th IEEE Pacific
Rim International Symposium on Dependable Computing, PRDC 2010.
[233] Lee, J. H., Lim, W. G., and Lim, J. I. (2013). A study of the security of internet
banking and financial private information in south korea. Mathematical and Computer
Modelling.
[234] Lekies, S., Nikiforakis, N., Tighzert, W., Piessens, F., and Johns, M. (2012).
Demacro: Defense against malicious cross-domain requests. In D. Balzarotti, S. J.
Stolfo, and M. Cova, editors, RAID, volume 7462 of Lecture Notes in Computer
Science, pages 254273. Springer.
[235] Lekies, S., T. W. J. M. (2012). Towards stateless, client-side driven cross-site
request forgery protection for web applications. Lecture Notes in Informatics (LNI),
Proceedings - Series of the Gesellschaft fur Informatik (GI).
[236] Lin, J.-K. J. Y.-Y. C. Y. (2001). The design of protocol for e-voting on the internet.
Security Technology, 2001 IEEE 35th International Carnahan Conference on.
[237] Liu, A. X., Kovacs, J. M., and Gouda, M. G. (2012). A secure cookie scheme.
Computer Networks.
[238] Livshits, B. and Chong, S. (2013). Towards fully automatic placement of security
sanitizers and declassifiers. In Proceedings of the 40th Annual ACM SIGPLAN-SIGACT

111

REFERNCIAS BIBLIOGRFICAS

Symposium on Principlesof Programming Languages, POPL 13, pages 385398, New


York, NY, USA.
[239] Lundeen, B.; Alves-Foss, J. (2012). Practical clickjacking with beef. Homeland
Security (HST), 2012 IEEE Conference on Technologies for.
[240] Lwin, N. (2009). Agent based web browser. Autonomic and Autonomous Systems,
2009. ICAS 09. Fifth International Conference on.
[241] Maes, W., Heyman, T., Desmet, L., and Joosen, W. (2009). Browser protection
against cross-site request forgery. In Proceedings of the First ACM Workshop on
Secure Execution of Untrusted Code, SecuCode 09, pages 310, New York, NY, USA.
[242] Maffeis, S.; Taly, A. (2009). Language-based isolation of untrusted javascript.
Computer Security Foundations Symposium, 2009. CSF 09. 22nd IEEE.
[243] Maffeis, K. B. A. D.-L. S. (2013). Language-based defenses against untrusted
browser origins. SEC13 Proceedings of the 22nd USENIX conference on Security.
[244] Malandrino, D.; Scarano, V. (2011). Supportive, comprehensive and improved
privacy protection for web browsing. Privacy, security, risk and trust (passat), 2011
ieee third international conference on and 2011 ieee third international conference on
social computing (socialcom).
[245] Malkhi, D. ; Reiter, M. . R. A. (1998). Secure execution of java applets using a
remote playground. Security and Privacy, 1998. Proceedings. 1998 IEEE Symposium.
[246] Malwarebytes (2013). Fake browser updates going rampant. <URL> acesso:
10/12/13.
[247] Mao, Z., Li, N., and Molloy, I. (2009). Defeating cross-site request forgery attacks
with browser-enforced authenticity protection. In R. Dingledine and P. Golle, editors,
Financial Cryptography and Data Security, volume 5628 of Lecture Notes in Computer
Science, pages 238255. Springer Berlin Heidelberg.
[248] Mateus Felipe Tymburib Ferreira, Thiago de Souza Rocha, G. B. M. E. F. e. E. S.
(2012). Anlise de vulnerabilidades em sistemas computacionais modernos: Conceitos,
exploits e protees. In Minicursos do XII Simpsio Brasileiro em Segurana da
Informao e de Sistemas Computacionais.

112

REFERNCIAS BIBLIOGRFICAS

[249] Matsuda, T., K. D. S. M. (2012). Cross site scripting attacks detection algorithm
based on the appearance position of characters. Proceedings of the 5th International
Conference on Communications, Computers and.
[250] Maurer, M.-E., H. L. (2011). Sophisticated phishers make more spelling mistakes:
Using url similarity against. Lecture Notes in Computer Science (including subseries
Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics).
[251] Maurer, M.-E., H. L. (2012). Sophisticated phishers make more spelling mistakes:
Using url similarity against. Lecture Notes in Computer Science (including subseries
Lecture Notes in Artificial.
[252] McAfee (2013). Java zero-day vulnerability pushes out crimeware. <URL> acesso:
10/12/13.
[253] McAllister, N. (2013). Oracle trowels more plaster over flawed java browser plugin.
<URL> acesso: 10/12/13.
[254] Meyer, H. (1997a). Browser bugs raise security concerns. Computers Security.
[255] Meyer, H. (1997b). Securing your users web browsers. Computers Security.
[256] Micha? Chora?, R. K. (2013). Evaluation of various techniques for sql injection
attack detection. Advances in Intelligent Systems and Computing.
[257] MITRE (2009). Capec-103: Clickjacking. <URL> acesso: 10/12/13.
[258] MITRE (2012a). Cwe-525: Information exposure through browser caching.
<URL> acesso: 10/12/13.
[259] MITRE (2012b). Cwe-618: Exposed unsafe activex method. <URL> acesso:
10/12/13.
[260] MITRE (2013a). Common attack pattern enumeration and classification. <URL>
acesso: 10/12/13.
[261] MITRE (2013b). Cwe-601: Url redirection to untrusted site (open redirect).
<URL> acesso: 10/12/13.
[262] MITRE (2013c). Cwe-79: Improper neutralization of input during web page
generation (cross-site scripting). <URL> acesso: 10/12/13.

113

REFERNCIAS BIBLIOGRFICAS

[263] Mook, N. (2006). Cross-site scripting worm hits myspace. <URL> acesso:
10/12/13.
[264] Naik, Umesha; Shivalingaiah, D. (2008). Comparative study of web 1.0, web 2.0
and web 3.0. In CALIBER 2008 Allahabad. IEEE Xplore.
[265] Nakayama, S.; Echizen, I. Y. H. (2009). Preventing false positives in content-based
phishing detection. Intelligent Information Hiding and Multimedia Signal Processing,
2009. IIH-MSP 09. Fifth International Conference on.
[266] Nentwich, F., Jovanovic, N., Kirda, E., ChristopherKruegel, and Vigna, G. (2007).
Cross-site scripting prevention with dynamic data tainting and static analysis. In In
Proceeding of the Network and Distributed System Security Symposium(NDSS07.
[267] Network, M. D. (2013a). About cross-frame scripting and security. <URL> acesso:
10/12/13.
[268] Network, M. D. (2013b). Introducing content security policy. <URL> acesso:
10/12/13.
[269] Niemietz, M. (2011). Ui redressing: Attacks and countermeasures revisited.
Technical report, Ruhr-University of Bochum.
[270] Nikiforakis, N.; Kapravelos, A. J. W. K. C. P. F. V. G. (2013). Cookieless monster:
Exploring the ecosystem of web-based device fingerprinting. Security and Privacy
(SP), 2013 IEEE Symposium on.
[271] Nikiforakis, N., Invernizzi, L., Kapravelos, A., Van Acker, S., Joosen, W., Kruegel,
C., Piessens, F., and Vigna, G. (2012). You are what you include: Large-scale
evaluation of remote javascript inclusions. In Proceedings of the 2012 ACM Conference
on Computer and Communications Security, CCS 12, pages 736747, New York, NY,
USA.
[272] Ntagwabira, L. and Kang, S. (2010). Use of query tokenization to detect and
prevent sql injection attacks. Proceedings - 2010 3rd IEEE International Conference
on Computer Science and Information Technology, ICCSIT 2010.
[273] Nunan, A.E.; Souto, E. d. S. E. F. E. (2012). Automatic classification of cross-site
scripting in web pages using document-based and url-based features. Computers and
Communications (ISCC), 2012 IEEE Symposium on.

114

REFERNCIAS BIBLIOGRFICAS

[274] Ofuonye, E. and Miller, J. (2013). Securing web-clients with instrumented code
and dynamic runtime monitoring. Journal of Systems and Software.
[275] Ofuonye, E.; Miller, J. (2008). Resolving javascript vulnerabilities in the browser
runtime. Software Reliability Engineering, 2008. ISSRE 2008. 19th International
Symposium on.
[276] Ojamaa, A.; Duuna, K. (2012). Assessing the security of node.js platform. Internet
Technology And Secured Transactions, 2012 International Conferece For.
[277] Oliveira, C. K. O. A. O. S. L. S. (2013). Obtaining the threat model for e-mail
phishing. Journal Applied Soft Computing.
[278] OReilly, T. (2005). What is Web 2.0: Design Patterns and Business Models for
the Next Generation of Software. OReilly.
[279] Oriyano, S.-P. and Shimonski, R. (2012). Protecting web browsers. Client-Side
Attacks and Defense.
[280] Orman, H. (2012). Towards a semantics of phish. Security and Privacy Workshops
(SPW), 2012 IEEE Symposium on.
[281] OWASP (2009). Man-in-the-middle attack. <URL> acesso: 10/12/13.
[282] OWASP (2010). Cross site history manipulation (xshm). <URL> acesso: 10/12/13.
[283] OWASP (2011). Testing for cross site scripting. <URL> acesso: 10/12/13.
[284] OWASP (2012a). Owasp antisamy project. <URL> acesso: 10/12/13.
[285] OWASP (2012b). Owasp top ten cheat sheet. <URL> acesso: 10/12/13.
[286] OWASP (2013a). Clickjacking defense cheat sheet. <URL> acesso: 10/12/13.
[287] OWASP (2013b). Clickjacking. <URL> acesso: 10/12/13.
[288] OWASP (2013c). Content security policy. <URL> acesso: 10/12/13.
[289] OWASP (2013d). Cross-site request forgery (csrf). <URL> acesso: 10/12/13.
[290] OWASP (2013e). Cross-site request forgery (csrf) prevention cheat sheet. <URL>
acesso: 10/12/13.

115

REFERNCIAS BIBLIOGRFICAS

[291] OWASP (2013f). Dom based xss. <URL> acesso: 10/12/13.


[292] OWASP (2013g). Owasp top ten project 2013. Technical report, OWASP.
[293] OWASP (2013h). Testing for cross site flashing (owasp-dv-004). <URL> acesso:
10/12/13.
[294] OWASP (2013i). Testing for sql injection (owasp-dv-005). <URL> acesso:
10/12/13.
[295] OWASP (2013j). Xss filter evasion cheat sheet. <URL> acesso: 10/12/13.
[296] Park, J.S.; Sandhu, R. (2002). Secure cookies on the web. Internet Computing,
IEEE.
[297] Pelizzi, R., S. R. (2011). A server- and browser-transparent csrf defense for web
2.0 applications. ACM International Conference Proceeding Serie.
[298] Philippaerts, P., Younan, Y., Muylle, S., Piessens, F., Lachmund, S., and Walter, T.
(2013). Cpm: Masking code pointers to prevent code injection attacks. ACM Trans.
Inf. Syst. Secur., 16(1), 1:11:27.
[299] Pinzn, C., De Paz, J., Bajo, J., Herrero, A., and Corchado, E. (2010). Aiida-sql:
An adaptive intelligent intrusion detector agent for detecting sql injection attacks. 2010
10th International Conference on Hybrid Intelligent Systems, HIS 2010.
[300] Prinsloo, J. and Eloff, J. (1999). Web browsers: Information security issues.
Computer Fraud Security.
[301] Protalinski, E. (2012). Malicious chrome extensions hijack facebook accounts.
<URL> acesso: 10/12/13.
[302] Puangpronpitag, S.; Sriwiboon, N. (2012). Simple and lightweight https enforcement to protect against ssl striping attack. Computational Intelligence, Communication
Systems and Networks (CICSyN), 2012 Fourth International Conference on.
[303] Qingxian, Z. C. W. (2011). Systematical vulnerability detection in browser validation mechanism. Computational Intelligence and Security (CIS), 2011 Seventh
International Conference on.
[304] Qiu, B. N. F. L. W. (2010). Detect visual spoofing in unicode-based text. Pattern
Recognition (ICPR), 2010 20th International Conference on.

116

REFERNCIAS BIBLIOGRFICAS

[305] Qurashi, U.S.; Anwar, Z. (2012). Ajax based attacks: Exploiting web 2.0. Emerging Technologies (ICET), 2012 International Conference on.
[306] Raffetseder, T., Kirda, E., and Kruegel, C. (2007). Building anti-phishing browser
plug-ins: An experience report. In Proceedings of the Third International Workshop
on Software Engineering for Secure Systems, SESS 07, pages 6, Washington, DC,
USA. IEEE Computer Society.
[307] Raichal, S., Soniya, Gayathri, V., and Nedunchelian, R. (2013). Detection and
avoidance of sql injection attack in multi-tier web based application. International
Journal of Engineering and Technology.
[308] Rich Lundeen, Jesse Ou, T. R. (2011). New ways im going to hack your web app.
In New Ways Im Going to Hack Your Web App.
[309] Ritchie, P. (2007). The security risks of ajax/web 2.0 applications. Network
Security.
[310] Ross, B., Jackson, C., Miyake, N., and Boneh, Dan andMitchell, J. C. (2005).
Stronger password authentication using browser extensions. In Proceedings of the
14th Conference on USENIX Security Symposium - Volume 14, SSYM05, pages 22,
Berkeley, CA, USA. USENIX Association.
[311] Rouaix, F. (1996). A web navigator with applets in caml. Computer Networks and
Systems.
[312] Ryck, P. D., Desmet, L., Piessens, F., and WouterJoosen (2012). A security analysis
of emerging web standards - html5 and friends,from specification to implementation.
In SECRYPT, pages 257262.
[313] Saiedian, H.; Broyle, D. (2011). Security vulnerabilities in the same-origin policy:
Implications and alternatives. Computer.
[314] SANS/MITRE (2011). 2011 cwe/sans top 25 most dangerous software errors
<URL> acesso: 10/12/13.
[315] Schmitt, F., Gassen, J., and Gerhards-Padilla, E. (2012). Pdf scrutinizer: Detecting
javascript-based attacks in pdf documents. In Proceedings of the 2012 Tenth Annual
International Conference on Privacy, Security and Trust (PST), PST 12, pages 104
111, Washington, DC, USA. IEEE Computer Society.

117

REFERNCIAS BIBLIOGRFICAS

[316] SCHROEDER, S. (2013). Adobe data breach affects 38 million not 3 million, as
reported. <URL> acesso: 10/12/13.
[317] Schultz, E. E. (2005). Internet explorer security: is there any hope? Network
Security.
[318] Security, N. (1998). Web security for browsers. Network Security.
[319] Security, N. (2001). Browser attacks: can wipe out almost anything? Network
Security.
[320] Security, W. (2013a). Website security statistics report. Technical report, WhiteHat
Security.
[321] Security, W. L. (2013b). How theola malware uses a chrome plugin for banking
fraud. <URL> acesso: 10/12/13.
[322] Seifert, C.; Welch, I. K. P. (2008). Identification of malicious web pages with static
heuristics. Telecommunication Networks and Applications Conference, 2008. ATNAC
2008. Australasian.
[323] Serrhini, M.; Dargham, A. A.-M. A. (2012). Improve security of web browser with
stand-alone e-learning awareness application. Multimedia Computing and Systems
(ICMCS), 2012 International Conference on.
[324] Shabtai, A., Elovici, Y., and Rokach, L. (2012). A Survey of Data Leakage
Detection and Prevention Solutions. Springer Publishing Company, Incorporated.
[325] Shahriar, H. and Zulkernine, M. (2012). Information-theoretic detection of sql
injection attacks. In HASE, pages 4047. IEEE Computer Society.
[326] Shahriar, H.; Zulkernine, M. (2010). Client-side detection of cross-site request forgery attacks. Software Reliability Engineering (ISSRE), 2010 IEEE 21st International
Symposium on.
[327] Shahriar, H., W. K. L.-T. Z. M. (2013). A model-based detection of vulnerable
and malicious browser extensions. Proceedings - 7th International Conference on
Software Security and Reliability, SERE 2013.
[328] Shahriar, H., Z. M. (2012). Trustworthiness testing of phishing websites: A
behavior model-based approach. Future Generation Computer Systems.

118

REFERNCIAS BIBLIOGRFICAS

[329] Shar, L. and Tan, H. (2013). Predicting sql injection and cross site scripting
vulnerabilities through mining input sanitization patterns. Information and Software
Technology.
[330] Shar, L. K. and Tan, H. B. K. (2012). Automated removal of cross site scripting
vulnerabilities in web applications. Information and Software Technology.
[331] Shar, L. K. H. B. K. T. (2012a). Defending against cross-site scripting attacks.
Computer.
[332] Shar, L.K., T. H. (2012b). Auditing the xss defence features implemented in web
application programs. IET Software.
[333] Shar, L.K., T. H. (2013). Predicting sql injection and cross site scripting vulnerabilities through mining input sanitization patterns. Information and Software
Technology.
[334] Shepherd, S. (1996). Lessons learned from security weaknesses in the netscape
world wide web browser. Public Uses of Cryptography., IEE Colloquium on.
[335] Shi, C.-C., Zhang, T., Yu, Y., and Lin, W. (2012). A new approach for sql-injection
detection. Advances in Intelligent and Soft Computing.
[336] Shun-Wen Hsiao; Sun, Y. F.-C. A. M. C. C. (2011). A secure proxy-based crossdomain communication for web mashups. Web Services (ECOWS), 2011 Ninth IEEE
European Conference on.
[337] Siddiqui, M.S.; Verma, D. (2011). Cross site request forgery: A common web
application weakness. Communication Software and Networks (ICCSN), 2011 IEEE
3rd International Conference on.
[338] Silic, M.; Krolo, J. D. G. (2010). Security vulnerabilities in modern web browser
architecture. MIPRO, 2010 Proceedings of the 33rd International Convention.
[339] Silva, C. M. R., Silva, J. L. C. d., Rodrigues, R. B., Campos, G. M. M., Nascimento,
L. M. d., and Garcia, V. C. (2013). Security threats in cloud computing models:
Domains and proposals. In IEEE CLOUD, pages 383389. IEEE.
[340] Skaruz, J.; Seredynski, F. (2009). Intrusion detection in web applications: Evolutionary approach. Computer Science and Information Technology, 2009. IMCSIT 09.
International Multiconference on.

119

REFERNCIAS BIBLIOGRFICAS

[341] Snell, M. (1995). Secure shopping on the internet. Network Security.


[342] Sonntag, M. (2006). Ajax security in groupware. Software Engineering and
Advanced Applications, 2006. SEAA 06. 32nd EUROMICRO Conference on.
[343] Sood, A. K. and Enbody, R. J. (2011a). Malvertising: exploiting web advertising.
Computer Fraud Security.
[344] Sood, A. K. and Enbody, R. J. (2011b). Spying on the browser: dissecting the
design of malicious extensions. Network Security.
[345] Sood, A., E. R. (2011a). The state of http declarative security in online banking
websites. Computer Fraud and Security.
[346] Sood, A.K., E. R. (2011b). Frametrapping the framebusting defence. Network
Security.
[347] Stevanovic, D., Vlajic, N., and An, A. (2013). Detection of malicious and nonmalicious website visitors using unsupervised neural network learning. Applied Soft
Computing.
[348] Stock, M. J. S. L. B. (2013). Eradicating dns rebinding with the extended sameorigin policy. SEC13 Proceedings of the 22nd USENIX conference on Security.
[349] Subsorn, P.; Limwiriyakul, S. (2012). A case study of internet banking security of
mainland chinese banks: A customer perspective. Computational Intelligence, Communication Systems and Networks (CICSyN), 2012 Fourth International Conference
on.
[350] Sun, Q.; Simon, D. Y.-M. W. R. W. P. V. L. Q. (2004). Statistical identification of
encrypted web browsing traffic. Security and Privacy, 2002. Proceedings. 2002 IEEE
Symposium on.
[351] Sun, F., Xu, L., and Su, Z. (2009). Client-side detection of xss worms by monitoring
payload propagation. In Proceedings of the 14th European Conference on Research
in Computer Security, ESORICS09, pages 539554, Berlin, Heidelberg. SpringerVerlag.
[352] Sun, Y., H. D. (2012a). Model checking for the defense against cross-site scripting
attacks. Proceedings - 2012 International Conference on Computer Science and
Service System,.

120

REFERNCIAS BIBLIOGRFICAS

[353] Sun, J.-H., L. Z.-R. C. H. (2012b). Secure cross-domain communication mechanism for web mashups. Tongxin Xuebao/Journal on Communications.
[354] Sung, Y.-C., C. M.-W. C.-W. H. C.-W. S. S. (2013). Light-weight csrf protection
by labeling user-created contents. Proceedings - 7th International Conference on
Software Security and Reliability, SERE 2013.
[355] Symantec (2010). Web browser plug-in vulnerabilities. <URL> acesso: 10/12/13.
[356] Symantec (2011). Zero-day vulnerabilities. <URL> acesso: 10/12/13.
[357] Symatec (2013). Fake browser update site installs malware. <URL> acesso:
10/12/13.
[358] Tajpour, A., Masrom, M., Heydari, M., and Ibrahim, S. (2010). Sql injection
detection and prevention tools assessment. Proceedings - 2010 3rd IEEE International
Conference on Computer Science and Information Technology, ICCSIT 2010.
[359] Takesue, M. (2008). A protection scheme against the attacks deployed by hiding
the violation of the same origin policy. Emerging Security Information, Systems and
Technologies, 2008. SECURWARE 08. Second International Conference on.
[360] Takesue, M. (2009). An http extension for secure transfer of confidential data.
Networking, Architecture, and Storage, 2009. NAS 2009. IEEE International Conference on.
[361] Tan, H. H. S. Z. J. (2009). Browser-side countermeasures for deceptive phishing
attack. Information Assurance and Security, 2009. IAS 09. Fifth International Conference on.
[362] Target (2013). Target confirms unauthorized access to payment card data in
u.s.stores. <URL> acesso: 10/12/13.
[363] Team, A. B. C. J. C. R. G. C. (2009). The security architecture of the chromium
browser. In Magazine Communications of the ACM - A Blind Persons Interactionwith
Technology.
[364] TecMundo (2013a). Facebook: como saber se sua conta foi infectada pelo clickjacking. <URL> acesso: 10/12/13.

121

REFERNCIAS BIBLIOGRFICAS

[365] TecMundo (2013b). Google bloqueia instalao de apps externos chrome web
store. <URL> acesso: 10/12/13.
[366] Tecnologia, T. (2009). Falha no internet explorer permite invaso de hackers.
<URL> acesso: 10/12/13.
[367] Ter Louw, M.; Venkatakrishnan, V. (2009). Blueprint: Robust prevention of crosssite scripting attacks for existing browsers. Security and Privacy, 2009 30th IEEE
Symposium on.
[368] Thomas, K., G. C. M. J. P. V. S. D. (2011). Design and evaluation of a real-time
url spam filtering service. Proceedings - IEEE Symposium on Security and Privacy.
[369] Toubiana, V., Verdot, V., and Christophe, B. (2012). Cookie-based privacy issues
on google services. In Proceedings of the Second ACM Conference on Data and
Application Security and Privacy, CODASPY 12, pages 141148, New York, NY,
USA. ACM.
[370] Trampus, M.; Ciglaric, M. P. M. V. T. (2003). Are e-commerce users defenceless?
Intelligence and Lecture Notes in Bioinformatics).
[371] TRENDMicro (2011). The basics of web threats. Technical report, TRENDMicro.
[372] TRENDMicro (2013). Malware hijacks social media accounts via browser add-ons.
<URL> acesso: 10/12/13.
[373] Urien, P. (2000). Internet card, a smart card as a true internet node. Computer
Communications.
[374] V., S. C. and Selvakumar, S. (2011). Bixsan: Browser independent xss sanitizer
for prevention of xss attacks. SIGSOFT Softw. Eng. Notes, 36(5), 17.
[375] Van Acker, S., De Ryck, P., Desmet, L., Piessens, F., and Joosen, W. (2011).
Webjail: Least-privilege integration of third-party components in web mashups. In
Proceedings of the 27th Annual Computer Security Applications Conference, ACSAC
11, pages 307316, New York, NY, USA.
[376] Van Acker, S., Nikiforakis, N., Desmet, L., Joosen, W., and Piessens, F. (2012).
Flashover: Automated discovery of cross-site scripting vulnerabilities in rich internet
applications. In Proceedings of the 7th ACM Symposium on Information, Computer
and Communications Security, ASIACCS 12, pages 1213, New York, NY, USA.

122

REFERNCIAS BIBLIOGRFICAS

[377] Van Solingen, R. and Berghout, E. (1999). The Goal/Question/Metric Method: A


Practical Guide for Quality Improvement of Software Development. McGraw-Hill
Higher Education.
[378] Venkatakrishnan, V. N., Bisht, P., Louw, M. T., Zhou, M., Gondi, K., and Ganesh,
K. T. (2010). Webapparmor: A framework for robust prevention of attacks on webapplications. In Proceedings of the 6th International Conference on Information Systems
Security, ICISS10, pages 326, Berlin, Heidelberg. Springer-Verlag.
[379] Victor R. Basili, G. C. and Rombach, H. D. (1994). Goal Question Metric
Paradigm. Encyclopedia of Software Engineering.
[380] von Hoff, T.P.; Crevatin, M. (2003). Http digest authentication in embedded automation systems. Emerging Technologies and Factory Automation, 2003. Proceedings.
ETFA 03. IEEE Conference.
[381] Vulnerabilities, S. (2013). Safari / webkit multiple security vulnerabilities. <URL>
acesso: 10/12/13.
[382] Vyshegorodtsev, M.; Miyamoto, D. W. Y. (2013). Reputation scoring system using
an economic trust model: A distributed approach to evaluate trusted third parties on
the internet. Advanced Information Networking and Applications Workshops (WAINA),
2013 27th International Conference on.
[383] W, P. (2001). Cross-site request forgeries. <URL> acesso: 10/12/13.
[384] W3C (2002). The world wide web security faq. <URL> acesso: 10/12/13.
[385] W3C (2013a). Cross-origin resource sharing. <URL> acesso: 10/12/13.
[386] W3C (2013b). Same-origin policy <URL> acesso: 10/12/13.
[387] Wagner, N. C. A. P. F. D. (2012). An evaluation of the google chrome extension
security architecture. Security12 Proceedings of the 21st USENIX conference on
Security.
[388] Wahlberg, Thomas; Paakkola, P. W. C. L. M. R. J. (2013). Kepler: Raising browser
security awareness. Software Testing, Verification and Validation Workshops (ICSTW),
2013 IEEE Sixth International Conference on.

123

REFERNCIAS BIBLIOGRFICAS

[389] Walden, J., Doyle, M., Lenhof, R., Murray, J., and Plunkett, A. (2010). Impact of
plugins on the security of web applications. In Proceedings of the 6th International
Workshop on Security Measurements and Metrics, MetriSec 10, pages 1:11:8, New
York, NY, USA. ACM.
[390] Wang, A. C. A. M. T. K. H. J. (2013a). Lightweight server support for browserbased csrf protection. WWW 13 Proceedings of the 22nd international conference on
World Wide Web.
[391] Wang, C. Y. H. (2008). Anti-phishing in offense and defense. Computer Security
Applications Conference, 2008. ACSAC 2008. Annual.
[392] Wang, H. J., Fan, X., Howell, J., and Jackson, C. (2007). Protection and communication abstractions for web browsers in mashupos. SIGOPS Oper. Syst., 41(6),
116.
[393] Wang, J., Xiao, N., and Rao, H. R. (2012). An exploration of risk information
search via a search engine: Queries and clicks in healthcare and information security.
Decision Support Systems.
[394] Wang, Pingjian; Wang, L. X. J. L. P. G. N. J. J. (2013b). Mjblocker: A lightweight
and run-time malicious javascript extensions blocker. Software Security and Reliability
(SERE), 2013 IEEE 7th International Conference on.
[395] Wang, Z. L. K. Z. X. (2010). Mash-if: Practical information-flow control within
client-side mashups. Dependable Systems and Networks (DSN), 2010 IEEE/IFIP
International Conference on.
[396] Wassermann, G. Z. S. (2008). Static detection of cross-site scripting vulnerabilities.
Software Engineering, 2008. ICSE 08. ACM/IEEE 30th International Conference on.
[397] Watanabe, T.; Zixue Cheng; Kansen, M. H. M. (2010). A new security testing
method for detecting flash vulnerabilities by generating test patterns. Network-Based
Information Systems (NBiS), 2010 13th International Conference on.
[398] Watanabe, T., Cheng, Z., Kansen, M., and Hisada, M. (2010). A new security
testing method for detecting flash vulnerabilitiesby generating test patterns. In T. Enokido, F. Xhafa, L. Barolli, M. Takizawa, M. Uehara, and A. Durresi, editors, NBiS,
pages 469474. IEEE Computer Society.

124

REFERNCIAS BIBLIOGRFICAS

[399] Watkins, P. (2001). Cross-site request forgeries. WWW.


[400] Weinberg, Z.; Chen, E. J. P. J. C. (2011). I still know what you visited last summer:
Leaking browsing history via user interaction and side channel attacks. Security and
Privacy (SP), 2011 IEEE Symposium.
[401] West, W. and Pulimood, S. M. (2012). Analysis of privacy and security in html5
web storage. J. Comput. Sci. Coll., 27(3), 8087.
[402] Winder, D. (2010). Does web 2.0 need security 2.0? Infosecurity.
[403] Wombacher, A.; Kostaki, P. A. K. (2001). webxice: an infrastructure for information commerce on the www. System Sciences, 2001. Proceedings of the 34th Annual
Hawaii International Conference on.
[404] Xing, L., Z. Y. C. S. (2010). A client-based and server-enhanced defense mechanism for cross-site request forgery. Lecture Notes in Computer Science (including
subseries Lecture Notes in Artificial.
[405] Xu, H., Crossler, R. E., and Blanger, F. (2012). A value sensitive design
investigation of privacy enhancing tools in web browsers. Decision Support Systems.
[406] Xu, H., H. X. Z. D. (2013). A xss defensive scheme based on behavior certification.
Applied Mechanics and Materials.
[407] Yang, Y. Y. Y. (2010). An efficient webpage information hiding method based
on tag attributes. Fuzzy Systems and Knowledge Discovery (FSKD), 2010 Seventh
International Conference on.
[408] Yinzhi Cao, Zhichun Li, V. R. Y. C. (2010). Virtual browser: a web-level sandbox
to secure third-party javascript without sacrificing functionality. Proceedings of the
17th ACM conference on Computer and communications security.
[409] Yuan, Y. C. Y. (2012). A comparative study of the safety between internet explorer and firefox. Information Science and Engineering (ISISE), 2012 International
Symposium on.
[410] Yue, K. C. L. W. C. L. O. (2011). Hitchbot - delivering malicious urls via social
hitch-hiking. Global Telecommunications Conference (GLOBECOM 2011), 2011
IEEE.

125

REFERNCIAS BIBLIOGRFICAS

[411] Yue Wang; Agrawal, R. B.-Y. C. (2008). Light weight anti-phishing with user
whitelisting in a web browser. Region 5 Conference, 2008 IEEE.
[412] Zarandioon, S.; Danfeng Yao; Ganapathy, V. (2008). Omos: A framework for
secure communication in mashup applications. Computer Security Applications
Conference, 2008. ACSAC 2008. Annual.
[413] Zavou, A., A. E. P. G. K. A. (2012). Exploiting split browsers for efficiently protecting user data. Proceedings of the ACM Conference on Computer and Communications
Security.
[414] Zhang, S. C. Z. M. Y.-M. W. M. (2009). Pretty-bad-proxy: An overlooked
adversary in browsers https deployments. Security and Privacy, 2009 30th IEEE
Symposium on.
[415] Zhengqin Luo; Rezk, T. (2012). Mashic compiler: Mashup sandboxing based on
inter-frame communication. Computer Security Foundations Symposium (CSF), 2012
IEEE 25th.

126

A
Apndice

Figura A.1 Exemplo de Phishing em atividade.

127

<html><head>
<script src="http://code.jquery.com/jquery-latest.js</script>
<script src="https://dl.dropboxusercontent.com
/u/XXX/jquery.xdomainajax.js
</script><script type="text/javascript
$.ajax({url: http://servicoexterno.com.br/exemplo.html, type: GET,
success: function(res) {
var conteudo = $(res.responseText).text();
$("#resposta").html(conteudo);}});
</script></head><body><div id="resposta</div></body></html>

Tabela A.1 Exemplo de requisio em domnio externo.

Bem Vindo! Consumo realizado, aproveite :)


&#x3C;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;
&#x3E;&#x61;&#x6C;&#x65;&#x72;&#x74;&#x28;
&#x27;&#x58;&#x53;&#x53;&#x27;&#x29;&#x3B;
&#x3C;&#x2F;&#x73;&#x63;&#x72;&#x69;&#x70;
&#x74;&#x3E;

Tabela A.2 Contedo retornado pelo servio externo.

Figura A.2 Resposta renderizada pelo navegador para o usurio.

128

Aplicaes

A1

A2

A3

A4

A5

A6

A7

A8

A9

Acunetix Vulnweb

BadStore

Cenzic (CrackMe Bank)

Cyclone Transfers

Damn Vulnerable Web Application

EeSafe.org

EnigmaGroup

Exploit- DB

Exploit KB Vulnerable Web App

Google Gruyere

Hackxor

Hacme Apps

Moth

Mutillidae

OWASP Hackademic

OWASP SiteGenerator

OWASP Vicnum

OWASP Web Goat

PCTechtips Challenge

Peruggia

Stanford SecuriBench

The Bodgeit Store

The Butterfly Security Project

WackoPicko

Watchfire

Web Security Dojo

WebMaven/Buggy Bank

XSS Encoding Skills x5s

Tabela A.3 Ambientes Controlados e a cobertura aos Ataques

129

Extenses

Navegador

Verso

Aegis

Chrome / Firefox

ND

avast! Online Security

Chrome

9.0.2006.45

Anti-Phishing

Firefox

1.0

Clickjacking Reveal

Firefox

1.1

Clickjacking Test

Chrome

1.0

CSRF Finder

Firefox

1.2

ImmuniWeb Self-Fuzzer

Firefox

0.9.3

Netcraft Extension

Chrome / Firefox

1.3.0 / 1.8.3

No-Script Security Suite

Firefox

2.6.8.5

RequestPolicy

Firefox

0.6.28

RightClickXSS

Firefox

0.2.1

Safe Preview

Chrome / Firefox

2.0.0 / 1.1.2

ScriptSafe

Chrome

1.0.6.16

SQL Inject Me

Firefox

0.4.7

TamperMonkey

Chrome

3.7.3703

Toogle Cookies

Firefox

0.7.4

Web of Trust (WOT)

Chrome / Firefox

2.3.1 / 20131118

Websecurify

Chrome

4.0.0

XSS chef

Chrome

1.0

XSS Me

Firefox

0.4.6

Zscaler Likejacking Prevention

Chrome

1.1.9

Tabela A.4 Listagem das Extenses submetidas aos testes

130

B
Anexo

Figura B.1 Distribuio das principais publicaes durante a evoluo da web.

131

1994
1[83]

1999
1[300],
3[120]

2[195],

1995
1[341], 2[151]

1996
1[334],
3[311]

2[228],

2000
1[63],
3[103]

2001
1[319],
3[399],
5[76]

2[403],
4[236],

2004
1[350], 2[118], 3[154],
4[94], 5[57], 6[86]

2[373],

2005
1[163], 2[229], 3[317],
4[221], 5[166]

1997
1[254],
3[72]

2[255],

1998
1[64],
3[167],
5[318]

2002
1[296],
3[99]

2[112],

2003
1[61],
2[370],
3[380], 4[73]

2006
1[210], 2[223], 3[342],
4[101], 5[207]

2[198],
4[245],

2007
1[209], 2[309], 3[168],
4[75], 5[164], 6[193],
7[217], 8[204], 9[95]

2008
1[391], 2[359], 3[104], 4[412],
5[206], 6[49], 7[322], 8[187],
9[188], 10[411], 11[50], 12[158],
13[275], 14[156], 15[396],
16[218]

2009
1[179], 2[340], 3[414], 4[265],
5[242], 6[205], 7[240], 8[360],
9[184],
10[128],
11[117],
12[367], 13[361], 14[212],
15[222]

2010
1[122], 2[56], 3[97], 4[123],
5[232], 6[272], 7[299], 8[358],
9[402],
10[162],
11[326],
12[404],
13[214],
14[197],
15[133],
16[196],
17[304],
18[71],
19[407],
20[148],
21[142], 22[397], 23[408],
24[395], 25[88], 26[78], 27[91],
28[338], 29[199], 30[147],
31[67], 32[107]

2011
1[159], 2[244], 3[303], 4[84],
5[129], 6[313], 7[46], 8[132],
9[161], 10[368], 11[116], 12[59],
13[145], 14[108], 15[336],
16[85], 17[134], 18[345], 19[62],
20[169],
21[66],
22[400],
23[346], 24[297], 25[410],
26[90],
27[337],
28[144],
29[146], 30[344], 31[54], 32[58],
33[219], 34[250], 35[93], 36[53],
37[343]

2012
1[160], 2[405], 3[413], 4[130],
5[237], 6[393], 7[330], 8[70],
9[89], 10[335], 11[279], 12[331],
13[276], 14[273], 15[149],
16[55],
17[352],
18[226],
19[353], 20[305], 21[211],
22[249], 23[387], 24[349],
25[409], 26[328], 27[239],
28[51],
29[415],
30[323],
31[251], 32[302], 33[332],
34[227],
35[96],
36[175],
37[192], 38[235], 39[280]

2013
1[382], 2[220], 3[388], 4[394],
5[177], 6[256], 7[74], 8[202],
9[87], 10[354], 11[270], 12[406],
13[81],
14[274],
15[243],
16[348],
17[390],
18[224],
19[307],
20[329],
21[327],
22[65],
23[233],
24[173],
25[69], 26[347], 27[52], 28[277],
29[333]

Tabela B.1 Principais contribuies relacionadas ao tema nas fontes acadmicas

132