Aegis: Um Modelo de

Proteção à Dados Sensíveis
em Ambientes Client-Side
Aluno: Carlo Marcelo Revoredo da Silva
(cmrs@cin.ufpe.br)
Orientador: Vinicius Cardoso Garcia
(vcg@cin.ufpe.br)
25 de Fevereiro de 2014

1

CIn.ufpe.br

Agenda
1.
2.
3.
4.
5.
6.
7.

Motivação;
Definição do Problema;
Objetivos Gerais e Específicos;
Revisão Sistemática da Literatura;
Abordagem da Proposta
Avaliação
Conclusão

2

CIn.ufpe.br

1. Motivação

3

CIn.ufpe.br

Motivação
• O Advento da Web [Mashable, 2013]

4

CIn.ufpe.br

Motivação
• Os Navegadores Web

5

CIn.ufpe.br

Motivação
• Navegador Web: Grandes Poderes, Grandes Responsabilidades

Arquitetura de um Navegador Web [Adaptado de HTML5Rocks, 2011]
6

CIn.ufpe.br

Motivação
• A popularidade dos Navegadores Web
[W3Schools, 2013]

7

CIn.ufpe.br

Motivação
• As Oportunidades Oferecidas

8

CIn.ufpe.br

2. Definição do Problema

9

CIn.ufpe.br

Definição do Problema
• Violação de Dados Sensíveis
– Violação de Dados
“Roubo ou perda acidental de dados
sensíveis”
– Dados Sensíveis
“Dados que possuem seu acesso restrito à
pessoas autorizadas”
[Allen, 2001]
10

CIn.ufpe.br

Definição do Problema
• Vetores de Ataques na Web
– Métodos que um usuário malicioso utiliza para
atacar uma determinada aplicação ou serviço web;

• Ataques baseados na Web
– Qualquer ataque realizado por uma aplicação ou
pessoa, seja de forma proposital (Maliciosa) ou não
intencional (sob Vulnerabilidades), contra uma
aplicação cliente, e que resulta em algum tipo de
Ameaça.
– Ameaça
• Qualquer evento, circunstância ou pessoa que possa
causar danos, à exemplo da Violação de Dados
Sensíveis.

[SANS/MITRE , 2011]
11

CIn.ufpe.br

Definição do Problema
Vulnerabilidad
es em
Aplicações
Web

Vulnerabilida
des no
Navegador
Web

Dad
o

Client-side

Navegad
or Web
Dad
o
Serviço
A

Engenharia
Social

Dad
o

Dad
o

Navegad
or Web
Server-Side
Serviço
1
Dad
o
Serviço
2

Dad
o
Serviço
B

Serviço
B
Forjado

12

CIn.ufpe.br

3. Objetivos

13

CIn.ufpe.br

Objetivo Geral
• Propor a elaboração de um mecanismo que
minimize
os
vetores
de
ataques
relacionados à Violação de Dados Sensíveis
em ambientes Client-Side;

14

CIn.ufpe.br

Objetivos Específicos
• Elaborar uma Revisão Sistemática da Literatura
(RSL) a fim de discutir o estado atual das principais
técnicas de ataque e defesa dos principais vetores
Client-Side;
• Apresentar uma Proposta com base nos resultados
da RSL que auxilie o navegador web a oferecer
maior segurança ao usuário sobre a ótica de
violação de dados sensíveis;
• Realizar uma avaliação da Proposta em conjunto
com trabalhos relacionados e discutir os resultados
obtidos;
CIn.ufpe.br
15

Fora do Escopo
• Ataques que envolvam consequências de
disponibilidade
– Denial of Service;
– Buffer Overflow;

• Soluções que envolvam boas práticas de
implementação
– Metodologias de Desenvolvimento Seguro;
– Análise de Código Fonte (Testes de Caixa Branca);
– Componentes
aplicáveis
à
nível
de
implementação
16

CIn.ufpe.br

4. Revisão Sistemática da Literatura

17

CIn.ufpe.br

Revisão Sistemática da Literatura

• Contextualização da Pesquisa

18

CIn.ufpe.br

Revisão Sistemática da Literatura

• Classificação das Causas (Ameaças),
Vetores e Ataques

19

CIn.ufpe.br

Revisão Sistemática da Literatura

• Resultado da Triagem

20

CIn.ufpe.br

Revisão Sistemática da Literatura
• Principais Técnicas de Ataque e Defesa
• A1 (XSS)
– Técnicas de Ataque: Forma direta [MITRE 2013]; Evasão de Filtro
[OWASP, 2013]
– Técnicas de Defesa: Análise estática [Wassermann, 2008]; Padrões de
comportamento [Bates et al, 2010]; Proxy Reverso [Kirda et al, 2006];
Prevenção à Evasão nos Filtros [Venkatakrishnan et al 2010]; Data
Flow Analysis [Nentwich, 2007]

• A2 (SQLi)
– Técnicas de Ataque: Manipulação em parâmetros (GET ou POST)
[MITRE, 2011] [OWASP,2013]
– Técnicas de Defesa: Idem XSS [Fu et al, 2007];

• A3 (Clickjacking)
– Técnicas de Ataque: Sobreposição em elementos na tela; Manipulação
de Frames; [SANS/MITRE, 2011]
– Técnicas de Defesa: diretivas de segurança através de cabeçalhos
HTTP (CSP [W3C, 2012], X-FRAME-OPTIONS [Rydstedt et al, 2010]);
21 CIn.ufpe.br

Revisão Sistemática da Literatura
• Principais Técnicas de Ataque e Defesa
• A4 (Redirecionamentos e Encaminhamentos
Inválidos)
– Ataque:
• Encaminhamentos: Links para Phishing ou Malwares;
• Redirecionamentos: http://www.aplicacao.com/login?
redirect=http://www.evil.com [CERT, 2008]

– Defesa:
• Confiabilidade no Domínio (www.bb.com.br => www.bb.b.br);
• Restrição através de BlackList ou WhiteList; [CERT, 2008]

• A5 (Complementos Maliciosos)
– Ataque: Através de plug-ins; Através de Extensões;
[TRENDMicro, 2013]
– Defesa: Políticas de restrições de complementos de
terceiros; [Guha et al, 2011]
22

CIn.ufpe.br

Revisão Sistemática da Literatura
• Principais Técnicas de Ataque e Defesa
• A6 (Exposição de Dados Sensíveis)
– Ataque: Ausência ou falhas nas políticas de segurança da
aplicação
• Criptografia, gestão das sessões, brechas para Man-in-The-Middle;
[OWASP, 2013]
• Armazenamentos Inapropriados; [HTML5Sec, 2013]

– Defesa: Camadas de Tráfego seguro [Jackson et al, 2008];
Conformidades [US Govermment, 2010];

• A7 (Utilização de Compl. Com Vulnerabilidades)
– Ataque: Vulnerabilidades em Complementos nativos do
navegador; Vulnerabilidades em complementos de terceiros;
ZeroDay; [SANS/MITRE, 2011]
– Defesa: Bloqueio de Recursos depreciados; Atualizações
periódicas do navegador; Atualizações periódicas dos
complementos de terceiros [Florian, 2012];
23

CIn.ufpe.br

Revisão Sistemática da Literatura
• Principais Técnicas de Ataque e Defesa
• A8 (CSRF)
– Ataque: Manipulação em parâmetros (GET e POST)
[OWASP, 2013]
– Defesa: Através de elementos persistentes na aplicação
(Injeção de CSRF persistente: <img>, <iframe>, etc...)
[Wang, 2013]

• A9 (Falhas nas PMO)
– Ataque: Explorando XmlHttpRequest; API ou Mashups
não confiáveis [Ben-Itzhak, 2013], Exposição de Cookies
entre domínios [Lundeen, 2013];
– Defesa:
• Diretivas de segurança através de cabeçalhos HTTP;
[Gentile, 2013]
• Cross-Origin Resource Sharing (CORS); [W3C, 2013]
24

CIn.ufpe.br

Revisão Sistemática da Literatura

• Combinação de Vetores x Ataques

25

CIn.ufpe.br

Revisão Sistemática da Literatura

• Principais Grupos de Pesquisa e
Trabalhos Correlatos
– Bina et al;
• Primeira publicação (1994);

– Jackson et al;
• 13 publicações;

– Kirda et al;
• 5 publicações;

– Gajek et al; & Heiderich et al;
• 11 publicações;

– Piessens et al;
• 13 publicações;

26

CIn.ufpe.br

Revisão Sistemática da Literatura

• Considerações Finais
– Proteção Client-Side em considerável projeção
de crescimento;

17
71

Cronologia das publicações (225)

137

27

CIn.ufpe.br

Revisão Sistemática da Literatura

• Considerações Finais
– Considerável número de publicações relacionadas à
A1, A2 e A6;
– Carência em publicações relacionadas à Fraudes
(A3, A4 e A5);

Publicações x Ataques x Anos

28

CIn.ufpe.br

5. Abordagem da Proposta

29

CIn.ufpe.br

Abordagem da Proposta
• Cenário da Extensão Aegis

30

CIn.ufpe.br

Abordagem da Proposta
• Interface da Extensão Aegis

31

CIn.ufpe.br

Abordagem da Proposta
• Arquitetura do Serviço Externo

32

CIn.ufpe.br

Abordagem da Proposta
• Filtro de A1 (XSS)

33

CIn.ufpe.br

Abordagem da Proposta
• Filtro de A2 (SQLi) 1/2

34

CIn.ufpe.br

Abordagem da Proposta
• Filtro de A2 (SQLi) 2/2

35

CIn.ufpe.br

Abordagem da Proposta
• Filtros de Fraude: Sub-rotina AntiPhishing

36

CIn.ufpe.br

Abordagem da Proposta
• Filtro A3 (Clickjacking)

37

CIn.ufpe.br

Abordagem da Proposta
• Filtro A4 (Redirecionamentos ou
Encaminhamentos Inválidos)

38

CIn.ufpe.br

Abordagem da Proposta
• Filtro A5 (Complementos Maliciosos) 1/2

39

CIn.ufpe.br

Abordagem da Proposta
• Filtro A5 (Complementos Maliciosos) 2/2

40

CIn.ufpe.br

Abordagem da Proposta
• Filtro A6 (Exposição de Dados
Sensíveis) 1/3

41

CIn.ufpe.br

Abordagem da Proposta
• Filtro A6 (Exposição de Dados
Sensíveis) 2/3

42

CIn.ufpe.br

Abordagem da Proposta
• Filtro A6 (Exposição de Dados
Sensíveis) 3/3

43

CIn.ufpe.br

Abordagem da Proposta
• Filtro A7 (Utilização de Componentes
Vulneráveis Conhecidos)

44

CIn.ufpe.br

Abordagem da Proposta
• Filtro A8 (CSRF) 1/2

45

CIn.ufpe.br

Abordagem da Proposta
• Filtro A8 (CSRF) 2/2

46

CIn.ufpe.br

Abordagem da Proposta
• Filtro A9 (Falhas nas PMO)

47

CIn.ufpe.br

Abordagem da Proposta
• Limitações
– Extensão para IE;
– Fator Humano;

• Considerações Finais
– Interceptar Comportamentos para medir
Reputação;
– Limitação de Recursos do Navegador;

48

CIn.ufpe.br

Abordagem da Proposta
• Ferramentas Correlatas (20)
Extensões
avast! Online Security [23]
Anti-Phishing [24]
ClickjackingReveal [25]
Clickjacking Test [26]
CSRF Finder [27]
ImmuniWeb Self-Fuzzer [28]

A1
O
O
O
O
O
X

A2
O
O
O
O
O
X

A3
O
O
X
X
O
O

A4
X
X
O
O
O
O

A5
X
O
O
O
O
O

A6
O
O
O
O
O
O

A7
O
O
O
O
O
O

A8
O
O
O
O
X
O

A9
O
O
O
O
O
O

NetcraftExtension [29]

X

O

O

X

O

X

O

O

O

No-Script Security Suite [30]
RequestPolicy [31]
RightClickXSS [32]

X
O
X

O
O
O

X
O
O

O
X
O

O
O
O

X
X
O

O
O
O

X
X
O

O
X
O

Safe Preview [33]

O

O

O

O

X

O

O

O

O

ScriptSafe [34]
SQL Inject Me [35]
TamperMonkey [36]
Toogle Cookies [37]

X
O
X
O

O
X
O
O

O
O
O
O

X
O
X
O

O
O
O
O

X
O
X
X

O
O
O
O

O
O
O
O

O
O
O
O

Web ofTrust (WOT) [38]

O

O

O

X

X

O

O

O

O

Websecurify [39]
XSS chef [40]
XSS Me [41]
ZscalerLikejackingPrevention
[42]

X
X
X

X
O
O

O
O
O

O
O
O

O
O
O

X
O
O

O
O
O

X
O
O

X
O
O

O

O

X

O

O

O

O

O

O

Navegador
Chrome
Firefox
Firefox
Chrome
Firefox
Firefox
Chrome e
Firefox
Firefox
Firefox
Firefox
Chrome e
Firefox
Chrome
Firefox
Chrome
Firefox
Chrome e
Firefox
Chrome
Chrome
Firefox
Chrome

49

CIn.ufpe.br

6. Avaliação

50

CIn.ufpe.br

Avaliação
• Metodologia: GQM [Basili & Caldiera,
1994]

51

CIn.ufpe.br

Ambientes Controlados Disponíveis
Aplicações
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

A1
X
X
X
X
X
X
 X
O
O
X
X

X
 X
 X
 X
X
X

X
X
X
X
X

X
X
 X

A2
X
X
X
X
X
X

X
X
X
X

X



X
X

X
X
X
X
X

O
X

A3
O
O
O
O
O
O
O
O
O
O
O

O



O
O

O
O
O
O
O

O
O

A4
O
O
O
O
O
O

O
O
O
O

O



O
O

O
O
O
O
O

O
O

A5
O
O
O
O
O
O

O
O
O
O

O



O
O

O
O
O
O
O

O
O

A6
O
O
O
X
O
O
 O
O
O
X
O

O



X
X

X
X
X
X
X

O
O

A7
O
O
O
O
O
O

O
O
O
O

O



O
O

O
O
O
O
O

O
O

A8
O
O
O
O
O
O

O
O
X
X

O



O
X

X
O
X
O
O

O
O

52

A9
O
O
O
O
O
O

O
O
O
O

O



O
X

O
O
O
O
O

O
O

CIn.ufpe.br

Avaliação
• Execução dos Testes Unitários

53

CIn.ufpe.br

Avaliação
• Resultados Obtidos (Q1)

54

CIn.ufpe.br

Avaliação
• Resultados Obtidos (Q2)

55

CIn.ufpe.br

Avaliação
• Resultados Obtidos (Q3)

56

CIn.ufpe.br

Avaliação
• Resultados Obtidos (Q4)

57

CIn.ufpe.br

Avaliação
• Resultados Obtidos (Q5)

58

CIn.ufpe.br

Avaliação
• Resultados Obtidos (Q6)

59

CIn.ufpe.br

Avaliação
• Resultados Obtidos (Q7)

60

CIn.ufpe.br

Avaliação
• Resultados Obtidos (Q8)

61

CIn.ufpe.br

Avaliação
• Resultados Obtidos (Q9)

62

CIn.ufpe.br

Avaliação
• Limitações



Plenitude nos aspectos abordados;
Resultados mais quantitativos;
Ausência de análise comparativa na Q7;
Ausência nos testes para o IE;

63

CIn.ufpe.br

Avaliação
• Considerações Finais
– Em relação ao estudo proposto
• A ferramenta Aegis teve bons resultados em
ambos os navegadores;

– Em relação ao contexto geral
• Carência nas soluções atuais quanto as
prevenções em ataques A2, A3, A5 e A9;
• Ausência quanto a prevenção de ataques
A7;

64

CIn.ufpe.br

7. Conclusão

65

CIn.ufpe.br

Conclusão
• Soluções baseadas em proteção ClientSide;
• A proposta apresentou resultados
satisfatórios quando imersa em um
ambiente controlado;
• A proposta buscou atuar através de um
modelo que prioriza o maior nível de
interação com a navegação;

66

CIn.ufpe.br

Conclusão
• Contribuições
– Revisão na literatura sobre os principais
ataques em nível Client-Side;
– Abordagem de um modelo de proteção que
busca minimizar os principais vetores
atuantes em ambientes Client-Side;
– Um ambiente controlado que proporciona
uma avaliação mais ampla em comparação
com os ambientes disponíveis atualmente;

67

CIn.ufpe.br

Conclusão
• Contribuições
– Durante o desenvolvimento das pesquisas, foi
possível promover debates e artigos científicos
em conferências nacionais e internacionais a
respeito de certos aspectos abordados neste
estudo (A9), a saber;
• “SafeMash: Uma Plataforma como Serviço para a
Composição Segura e Colaborativa de Mashups” –
WTDSI - SBSI 2013
• “An Approach for Secure Mashup Composition” –
IADIS 2013
• “SafeMash: A Platform for Safety Mashup
Composition” – WEBIST 2014
68

CIn.ufpe.br

Conclusão
• Limitações da Proposta
– Filtro A2
• Análise de maior profundidade;

– Filtro A5
• Transferências de arquivos;

– Filtro A7
• Carece de boa funcionalidade;

69

CIn.ufpe.br

Conclusão
• Trabalhos Futuros
– Melhorias quanto aos Falsos Positivos
• Fator humano;
• Execução em Isolamento;

– Esteganografia
• Arquivos de Imagens com códigos maliciosos em seu
meta-dados;

– Notificação de Vulnerabilidades
• Notificar os proprietários de sites ou serviços
vulneráveis;

– Melhoria no desempenho dos filtros
• Ganho de performance com nova versão do
webRequest (Chrome);

– Aegis como uma API para desenvolvimento seguro;
CIn.ufpe.br
70

Referências
• Mashable, 2013: http://mashable.com/2013/10/17/internet-users1996/?utm_cid=mash-com-g+-pete-photo
• HTML5Rocks, 2013:
http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
• W3Schools, 2013:
http://www.w3schools.com/browsers/browsers_stats.asp
• Allen, 2001: The CERT guide to system and network security
practices. series in software engineering. Addison-Wesley.
• SANS/MITRE, 2011: cwe/sans top 25 most dangerous software
errors
• MITRE, 2013: Common attack pattern enumeration and
classification.
• OWASP, 2013: Owasp top ten project 2013. Technical report
• Wassermann, G. Z. S. (2008). Static detection of cross-site scripting
vulnerabilities. Software Engineering, 2008. ICSE 08. ACM/IEEE 30th
International Conference on
71

CIn.ufpe.br

Referências
• 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 91–100, New York, NY, USA.
• 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.
• 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, ICISS’10, pages 3–26, Berlin, Heidelberg.
Springer-Verlag.
• 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.
• 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 87–96, Washington, DC, USA. IEEE
Computer Society.

72

CIn.ufpe.br

Referências
• W3C (2012). Content Security Policy 1.0: http://www.w3.org/TR/CSP/
• 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.
• CERT, 2008. Securing your web browser.
• TRENDMicro (2013). Malware hijacks social media accounts via
browser add-ons.
• Guha, A.; Fredrikson, M. L. B. S. N. (2011). Verified security for
browser extensions. Security and Privacy (SP), 2011 IEEE
Symposium on.
• HTML5Sec (2013). Html5 security cheatsheet.
• Jackson, C. and Barth, A. (2008). Forcehttps cookies: A defense
against eavesdropping
• and pharming. 17th International World Wide Web
Conference.Information, U. G. (2010).
• HIPAA, 2010: Public law 111148mar. 23, 2010. Technical report, US
Govermment Information.
73

CIn.ufpe.br

Referências
• Florian, C. (2012). Web browser war, security battle in 2011.
• Wang, A. C. A. M. T. K. H. J. (2013). Lightweight server support
for browserbased csrf protection. WWW ’13 Proceedings of the
22nd international conference on World Wide Web.
• Ben-Itzhak, Y. (2013). Welcome to the malware-as-a-service
business model.
• 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.
• Gentile, M. (2013). Client-side security in the modern web.
Technical report, Minded Security.
• W3C (2013a). Cross-origin resource sharing.
• Victor R. Basili, G. C. and Rombach, H. D. (1994). Goal
Question Metric
• Paradigm. Encyclopedia of Software Engineering.
74

CIn.ufpe.br

Obrigado!
Aluno: Carlo Marcelo Revoredo da Silva
(cmrs@cin.ufpe.br)
Orientador: Vinicius Cardoso Garcia
(vcg@cin.ufpe.br)
25 de Fevereiro de 2014

75

CIn.ufpe.br