Aegis: Um Modelo de Proteção à Dados Sensíveis em Ambientes Client-Side

Embed Size (px)

DESCRIPTION

Trabalho apresentado ao Programa de Pós-graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computação.Resumo: Os Navegadores Web, do inglês, Web Browsers, são ferramentas de extrema importância no que diz respeito ao consumo de informações na internet, consequentemente são os softwares dos quais os usuários utilizam a maior parte do tempo, sejam domésticos ou corporativos. Com o passar dos anos, a forma do que estava sendo publicado na web foi evoluindo, o que antes era estático e apenas leitura, agora se apresenta como um cenário onde os internautas e serviços interagem, compartilhando informações em uma grande variedade de cenários, como e-mail, redes sociais e comércio eletrônico, tornando-se então em um ambiente dinâmico e colaborativo.Em meio ao advento da web, foram surgindo possibilidades para prestadores de serviços especializados, como bancos ou fontes pagadoras de transações comerciais, dos quais através da internet encontraram oportunidades para disponibilizarem seus serviços com alta disponibilidade, possibilitando que seus clientes consigam utilizar seus serviços através de um browser. O resultado disso é uma série de benefícios, como redução de filas, interatividade, foco no domínio, que podemos traduzir em uma palavra: comodidade.Não obstante, em consequência ao seu advento, a web se apresenta como um ambiente cada vez mais hostil, onde pessoas mal-intencionadas executam crimes cibernéticos, dos quais visam roubar ou adulterar informações sigilosas dos usuários da web, violando os dados do usuários. Essas atividade ilícitas muitas vezes são executadas através de ataques que exploram fatores como Engenharia Social, Falhas nas Aplicações Web ou Vulnerabilidades no Browser do usuário. Estes vetores de ataques apresentam-se em diversas formas: capturando entradas dos usuários, forjando sites oficiais, injeção de scripts maliciosos, propagação de Malwares, entre outros. Com o dinamismo da web, o processo de controle destes vetores de ataque torna-se cada vez mais difícil, e como a tendência da web é manter-se em constante evolução, estas ameaças tornam-se uma preocupação contínua.Nesta pesquisa é proposta uma ferramenta, intitulada Aegis, como modelo de proteção para interagir diretamente no browser do usuário, buscando minimizar os ataques mencionados através de uma solução puramente cliente-side. Para isso, foram realizados estudos e revisão na literatura sobre o tema, buscando uma justificativa bem fundamenta para as decisões e técnicas aplicadas. Adicionalmente, são apresentados os resultados obtidos na avaliação da Aegis em conjunto com demais ferramentas relacionadas.Palavras-chave: Segurança da Informação, Vulnerabilidades em Aplicações Web, Vulnerabilidades em Navegadores Web, Proteção à Fraudes.

Citation preview

  • Aegis: Um Modelo de Proteo Dados Sensveis emAmbientes Client-side"

    Por

    Carlo Marcelo Revoredo da Silva

    Dissertao de Mestrado

    Universidade Federal de Pernambuco

    [email protected]

    www.cin.ufpe.br/~posgraduacao

    RECIFE, FEVEREIRO/2014

  • Universidade Federal de PernambucoCentro de InformticaPs-graduao em Cincia da Computao

    Carlo Marcelo Revoredo da Silva

    Aegis: Um Modelo de Proteo Dados Sensveis emAmbientes Client-side

    Trabalho apresentado ao Programa de Ps-graduao em

    Cincia da Computao do Centro de Informtica da Univer-

    sidade 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 constantementesobre mim de maneira maravilhosa;

    A minha famlia, meu pai, meu irmo, e especialmente minha me, esta por ser amaior incentivadora e por fornecer amor e suporte emocional imprescindvel emtodos os momentos de minha vida;

    A Adriana, por ser minha companheira fiel, me apoiando com seu carinho e cuidadoe por estar ao meu lado mesmo nas horas mais difceis.

    Ao professor Vinicius Garcia pela pacincia e dedicao na orientao desta pes-quisa.

    Aos professores Ruy de Queiroz e Rodrigo Assad por terem aceitado participar deminha banca.

    A todos os meus amigos e colegas que contriburam direto e indiretamente para arealizao 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 importnciano que diz respeito ao consumo de informaes na internet, consequentemente so ossoftwares dos quais os usurios utilizam a maior parte do tempo, sejam domsticos oucorporativos. Com o passar dos anos, a forma do que estava sendo publicado na web foievoluindo, o que antes era esttico e apenas leitura, agora se apresenta como um cenrioonde os internautas e servios interagem, compartilhando informaes em uma grandevariedade de cenrios, como e-mail, redes sociais e comrcio eletrnico, tornando-seento em um ambiente dinmico e colaborativo.

    Em meio ao advento da web, foram surgindo possibilidades para prestadores deservios especializados, como bancos ou fontes pagadoras de transaes comerciais, dosquais atravs da internet encontraram oportunidades para disponibilizarem seus servioscom alta disponibilidade, possibilitando que seus clientes consigam utilizar seus serviosatravs 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 ambientecada vez mais hostil, onde pessoas mal-intencionadas executam crimes cibernticos, dosquais visam roubar ou adulterar informaes sigilosas dos usurios da web, violandoos dados do usurios. Essas atividade ilcitas muitas vezes so executadas atravs deataques que exploram fatores como Engenharia Social, Falhas nas Aplicaes Web ouVulnerabilidades no Browser do usurio. Estes vetores de ataques apresentam-se emdiversas formas: capturando entradas dos usurios, forjando sites oficiais, injeo descripts 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 comoa tendncia da web manter-se em constante evoluo, estas ameaas tornam-se umapreocupao contnua.

    Nesta pesquisa proposta uma ferramenta, intitulada Aegis, como modelo de pro-teo para interagir diretamente no browser do usurio, buscando minimizar os ataquesmencionados atravs de uma soluo puramente cliente-side. Para isso, foram realizadosestudos e reviso na literatura sobre o tema, buscando uma justificativa bem fundamentapara as decises e tcnicas aplicadas. Adicionalmente, so apresentados os resultadosobtidos 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 onthe Internet, are therefore the software which users utilize most of the time, whetherdomestic or corporate. Over the years, the way of what was being published in web hasevolved, what was once static, read-only, now presents itself as a scenario where Internetusers and services interact by sharing information on a wide variety of scenarios, such asemail, social networking and e-commerce , thus becoming a dynamic and collaborativeenvironment.

    Amid the advent of web, possibilities for specialized service providers have emergedas banks or payers of commercial transactions, including over the internet found opportu-nities to make available their services with high availability , enabling its customers to beable to use their services through a browser.

    The result is a series of benefits such as shorter queues, speed, interactivity , focusin 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 performmalicious cyber crimes, the which aim to steal or tamper with sensitive informationof the web users, violating data users. These illegal activities are often implementedthrough attacks that exploit factors such as Social Engineering, Web Applications Flawsor Vulnerabilities in the browser user. These attack vectors are shown in several ways:capturing input from users, forging official websites, injection malicious scripts, malwarepropagation, among others. With the dynamism of the web , the control process of theseattack vectors becomes increasingly difficult, and how the trend of the web is to keepevolving, these threats become one ongoing concern.

    In this research we propose a tool, called Aegis, a protection model to interact directlyin 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 ajustification well founded for decisions and techniques applied. Additionally, the resultsare presented obtained in the evaluation of Aegis in conjunction with other related tools.

    Keywords: Information Security, Vulnerabilities in Web Applications, Vulnerabilities inWeb Browsers, Fraud Protection.

    vii

  • Sumrio

    Lista de Figuras xi

    Lista de Tabelas xiii

    1 Introduo 11.1 Justificativa e Motivao . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Fora do Escopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5 Estrutura da Dissertao . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2 Contextualizao da Proposta 72.1 Metodologia de Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Definio de Pesquisa e Fonte Primria . . . . . . . . . . . . . . . . . 92.3 Critrios de Incluso . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4 Critrio de Excluso . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5 Critrio de Relevncia . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6 Triagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7 Classificao dos Resultados . . . . . . . . . . . . . . . . . . . . . . . 122.8 Anlise e discusso dos Resultados . . . . . . . . . . . . . . . . . . . . 13

    2.8.1 Resultado Obtido da QP 1 . . . . . . . . . . . . . . . . . . . . 13Vetor 1: Injeo de Cdigos . . . . . . . . . . . . . . . . . . . 14Vetor 2: Fraudes . . . . . . . . . . . . . . . . . . . . . . . . . 14Vetor 3: Fraca Proteo aos Dados . . . . . . . . . . . . . . . . 15Vetor 4: Componentes ou Complementos Inseguros . . . . . . . 15Vetor 5: Ataques de Domnio Cruzado . . . . . . . . . . . . . . 15

    2.8.2 Resultado Obtido da QP 2 . . . . . . . . . . . . . . . . . . . . 16Ataque 1: Cross-Site Scripting (XSS) - A1 . . . . . . . . . . . 17Ataque 2: Injeo SQL (SQLi) - A2 . . . . . . . . . . . . . . . 21Ataque 3: Clickjacking - A3 . . . . . . . . . . . . . . . . . . . 23Ataque 4: Redirecionamentos e Encaminhamentos Invlidos - A4 25Ataque 5: Complementos Maliciosos - A5 . . . . . . . . . . . . 27Ataque 6: Exposio de Dados Sensveis - A6 . . . . . . . . . . 29

    viii

  • Ataque 7: Utilizao de Componentes Vulnerveis Conhecidos -A7 . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    Ataque 8: Cross-Site Request Forgery (CSRF) - A8 . . . . . . . 33Ataque 9: Falhas nas Politicas de Mesma Origem - A9 . . . . . 34Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . 36

    2.8.3 Resultado Obtido da QP 3 . . . . . . . . . . . . . . . . . . . . 37Principais Grupos de Pesquisa nas fontes acadmicas. . . . . . 37Trabalhos Relacionados. . . . . . . . . . . . . . . . . . . . . . 38Ferramentas de proteo integradas ao navegador . . . . . . . . 40

    2.9 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    3 Implementao da Proposta 423.1 Decises de Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    3.1.1 Publico alvo e cenrio de atuao . . . . . . . . . . . . . . . . 423.1.2 Tipo de ferramenta a ser desenvolvida . . . . . . . . . . . . . . 43

    3.2 Arquitetura do Aegis . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.2.1 A Extenso Aegis . . . . . . . . . . . . . . . . . . . . . . . . . 44

    Nvel de Confiana . . . . . . . . . . . . . . . . . . . . . . . . 45Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46Manipulao das Requisies . . . . . . . . . . . . . . . . . . 46Manipulao de Dados Sensveis (A6) . . . . . . . . . . . . . . 48Manipulao de Complementos (A7) . . . . . . . . . . . . . . 49Manipulao de Dados em Transferncia (A5) . . . . . . . . . 49Notificaes ao Usurio . . . . . . . . . . . . . . . . . . . . . 49Operaes Internas . . . . . . . . . . . . . . . . . . . . . . . . 49

    3.2.2 Arquitetura do Servio do Aegis . . . . . . . . . . . . . . . . . 50Biblioteca Prpria . . . . . . . . . . . . . . . . . . . . . . . . 50Bibliotecas Open Source . . . . . . . . . . . . . . . . . . . . . 50Servios Externos . . . . . . . . . . . . . . . . . . . . . . . . . 51

    3.3 Funcionalidade dos Filtros . . . . . . . . . . . . . . . . . . . . . . . . 523.3.1 Filtro A1: Ataques baseados em A1 . . . . . . . . . . . . . . . 533.3.2 Filtro A2: Ataques baseados em A2 . . . . . . . . . . . . . . . 543.3.3 Filtro A3: Ataques baseados em A3 . . . . . . . . . . . . . . . 563.3.4 Filtro A4: Ataques baseados em A4 . . . . . . . . . . . . . . . 593.3.5 Filtro A5: Ataques baseados em A5 . . . . . . . . . . . . . . . 60

    ix

  • 3.3.6 Filtro A6: Ataques baseados em A6 . . . . . . . . . . . . . . . 613.3.7 Filtro A7: Ataques baseados em A7 . . . . . . . . . . . . . . . 653.3.8 Filtro A8: Ataques baseados em A8 . . . . . . . . . . . . . . . 663.3.9 Filtro A9: Ataques baseados em em A9 . . . . . . . . . . . . . 68

    3.4 Limitaes e Consideraes Finais . . . . . . . . . . . . . . . . . . . . 69

    4 Avaliao da Proposta 704.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    4.1.1 Planejamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.1.2 Definio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.1.3 Coleta de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 794.1.4 Anlise dos Resultados . . . . . . . . . . . . . . . . . . . . . . 81

    Resultado da Questo 1 . . . . . . . . . . . . . . . . . . . . . . 82Resultado da Questo 2 . . . . . . . . . . . . . . . . . . . . . . 83Resultado da Questo 3 . . . . . . . . . . . . . . . . . . . . . . 83Resultado da Questo 4 . . . . . . . . . . . . . . . . . . . . . . 84Resultado da Questo 5 . . . . . . . . . . . . . . . . . . . . . . 85Resultado da Questo 6 . . . . . . . . . . . . . . . . . . . . . . 85Resultado da Questo 7 . . . . . . . . . . . . . . . . . . . . . . 86Resultado da Questo 8 . . . . . . . . . . . . . . . . . . . . . . 86Resultado da Questo 9 . . . . . . . . . . . . . . . . . . . . . . 87

    4.2 Limitaes da Avaliao . . . . . . . . . . . . . . . . . . . . . . . . . 874.3 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    5 Concluses e Trabalhos Futuros 895.1 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.2 Limitaes da Proposta . . . . . . . . . . . . . . . . . . . . . . . . . . 915.3 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

    Referncias Bibliogrficas 93

    A Apndice 127

    B Anexo 131

    x

  • Lista de Figuras

    1.1 Pesquisa realizada pela Mashable em 2013. . . . . . . . . . . . . . . . 1

    2.1 Publicaes distribudas por fontes literrias. . . . . . . . . . . . . . . 112.2 Taxonomia das Ameaas, Vetores e Ataques. . . . . . . . . . . . . . . . 132.3 Distribuio das publicaes por Vetores. . . . . . . . . . . . . . . . . 142.4 Distribuio das publicaes por Vetores e Ataques. . . . . . . . . . . . 162.5 Exemplo de XSS Persistente. . . . . . . . . . . . . . . . . . . . . . . . 182.6 Exemplo de XSS Refletido. . . . . . . . . . . . . . . . . . . . . . . . . 182.7 Exemplo de SQLi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.8 Exemplo de sequestro de Click. . . . . . . . . . . . . . . . . . . . . . . 232.9 Exemplo de Clickjacking/Strokejacking para roubo de dados em formulrio. 242.10 Exemplo de Phishing. . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.11 Fluxo de atividade de um Malware. . . . . . . . . . . . . . . . . . . . . 292.12 Aspectos da Exposio de Dados Sensveis. . . . . . . . . . . . . . . . 302.13 Exemplo de CSRF atravs da Manipulao de Parmetros. . . . . . . . 342.14 Projeo das publicaes relacionadas s ameaas durante os anos. . . . 36

    3.1 Cenrio de atuao do Aegis. . . . . . . . . . . . . . . . . . . . . . . . 453.2 Acessos a Extenso Aegis pela interface do Navegador. . . . . . . . . . 463.3 Estrutura dos Mtodos do WebRequest. . . . . . . . . . . . . . . . . . 473.4 Arquitetura do Servio do Aegis. . . . . . . . . . . . . . . . . . . . . . 503.5 Fluxograma da funcionalidade do filtro de XSS (A1). . . . . . . . . . . 543.6 Primeiro fluxograma da solicitao de filtragem de SQLi (A2). . . . . . 553.7 Segundo fluxograma da solicitao de filtragem de SQLi (A2). . . . . . 553.8 Fluxograma da Sub-rotina anti-Phishing. . . . . . . . . . . . . . . . . . 573.9 Fluxograma da filtragem de Clickjacking (A3). . . . . . . . . . . . . . 583.10 Fluxograma do Redirecionamentos ou Encaminhamentos Invlidos (A4). 593.11 Primeiro processo de Filtragem de Complementos Maliciosos (A5). . . 603.12 Segundo processo de Filtragem de Complementos Maliciosos (A5). . . 613.13 Primeiro processo de Filtragem de Exposio de Dados Sensveis (A6). 623.14 Segundo processo de Filtragem de Exposio de Dados Sensveis (A6). 633.15 Terceiro processo de Filtragem de Exposio de Dados Sensveis (A6). . 643.16 Processo de Utilizao de Componentes Vulnerveis Conhecidos (A7). . 653.17 Primeiro processo de Filtragem de CSRF (A8). . . . . . . . . . . . . . 67

    xi

  • 3.18 Segundo processo de Filtragem de CSRF (A8) . . . . . . . . . . . . . . 673.19 Processo de Filtragem de Falhas em Polticas de Mesma Origem (A9) . 68

    4.1 Fases da metodologia GQM. . . . . . . . . . . . . . . . . . . . . . . . 704.2 Estrutura da Fase de Definio . . . . . . . . . . . . . . . . . . . . . . 724.3 Workflow do ciclo de vida dos testes do ambiente proposto. . . . . . . . 804.4 Ambiente Controlado para a Coleta dos Dados. . . . . . . . . . . . . . 814.5 Resultados da avaliao da Questo 1. . . . . . . . . . . . . . . . . . . 824.6 Resultados da avaliao da Questo 2. . . . . . . . . . . . . . . . . . . 834.7 Resultados da avaliao da Questo 3. . . . . . . . . . . . . . . . . . . 844.8 Resultados da avaliao da Questo 4. . . . . . . . . . . . . . . . . . . 844.9 Resultados da avaliao da Questo 5. . . . . . . . . . . . . . . . . . . 854.10 Resultados da avaliao da Questo 6. . . . . . . . . . . . . . . . . . . 854.11 Resultados da avaliao da Questo 7. . . . . . . . . . . . . . . . . . . 864.12 Resultados da avaliao da Questo 8. . . . . . . . . . . . . . . . . . . 864.13 Resultados da avaliao da Questo 9. . . . . . . . . . . . . . . . . . . 87

    A.1 Exemplo de Phishing em atividade. . . . . . . . . . . . . . . . . . . . . 127A.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 Comando de busca para o IEEEXplore . . . . . . . . . . . . . . . . . . 102.2 Exemplo de XSS baseado em DOM (retirado do OWASP [292]) . . . . 192.3 Exemplo da funcionalidade da tcnica de Escape . . . . . . . . . . . . 192.4 Exemplo de SQLi destrutivo . . . . . . . . . . . . . . . . . . . . . . . 232.5 Ferramentas disponveis e Ataques relacionados . . . . . . . . . . . . . 40

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

    A.1 Exemplo de requisio em domnio externo. . . . . . . . . . . . . . . . 128A.2 Contedo retornado pelo servio externo. . . . . . . . . . . . . . . . . 128A.3 Ambientes Controlados e a cobertura aos Ataques . . . . . . . . . . . . 129A.4 Listagem das Extenses submetidas aos testes . . . . . . . . . . . . . . 130

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

    xiii

  • 1Introduo

    Segundo a pesquisa da Mashable [41] ilustrada na Figura 1.1, em 1992 a web era utilizadaquase que exclusivamente por usurios norte-americanos, onde chegavam a representar66% destes usurios que navegavam na rede mundial de computadores. Contudo, aweb nos dias atuais est de fato considerada globalizada, um bom exemplo disso queno mesmo estudo, foi identificado que a partir do ano de 2012, os usurios de outraspartes do mundo j representavam 87% de todo o trafego da web, fazendo a hegemonianorte-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 nave-gao sofreram nos ltimos anos. Neste perodo a Internet ganhou fora e impulsionou

    1

  • 1.1. JUSTIFICATIVA E MOTIVAO

    o surgimento de mecanismos que proporcionavam usabilidade durante a navegao naweb. Estas ferramentas ficaram conhecidas como Navegadores Web, e em pouco tempotornaram-se de extrema importncia no que diz respeito ao consumo de informaes naInternet, atualmente so os softwares dos quais os usurios utilizam a maior parte dotempo, sejam domsticos ou corporativos. Outra consequncia dessa evoluo o com-portamento e heterogeneidade do contedo trafegado na web. Antes as aplicaes weberam 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 asaplicaes proporcionam um ambiente participativo e colaborativo de informaes trafe-gadas, apresentando seu contedo em diversos tipos e formatos de arquivos multimidia[278].

    Durante este processo evolutivo, foram surgindo possibilidades para prestadores deservios especializados, como bancos ou fontes pagadoras de transaes comerciais, osquais atravs da internet encontraram oportunidades para disponibilizarem seus servioscom alta disponibilidade, possibilitando que seus clientes consigam utilizar seus servi-os com praticidade, sendo necessrio apenas um navegador web [174]. O resultadodisso uma srie de benefcios, como o fortalecimento do e-commerce, reduo defilas, 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 paraResposta e Tratamento de Incidentes, CERT, alertam da necessidade de cuidados a seremtomados durante a navegao na Internet, em especial aos vetores de ataques envolvidosna utilizao dos navegadores web [1]. Com tantos valores agregados proporcionadospela comodidade da Internet, operaes como compras online, Internet Banking e com-partilhamento de informaes pessoais tornaram-se populares, sendo executadas duranteo dia a dia de milhares de pessoas. Consequentemente, o dado trafegado comea a conterinformaes sensveis, representando assim maior valor de negcio, a partir disso aspreocupaes quanto a uma proteo eficaz destes dados comea a receber crescimento.

    O advento da web trs oportunidades tambm para pessoas mal-intencionadas, queexecutam crimes cibernticos, dos quais visam roubar ou adulterar informaes sigilosas,comprometendo a segurana da informao (SI) dos usurios da web, ou seja, violandoa Conformidade, Integridade e Disponibilidade (CID) de seus dados. Estes ataques

    2

  • 1.1. JUSTIFICATIVA E MOTIVAO

    apresentam-se em diversas formas: capturando entradas dos usurios, forjando sitesoficiais, injeo de scripts maliciosos, explorao de vulnerabilidades nos navegadores,propagao de softwares maliciosos, entre outros. Com o dinamismo da web, um slidocontrole 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 devetores, que so os mtodos pelos quais os agentes os executam, e a consequncia dosucesso de um ataque a violao dos dados do usurio.

    Como a maioria dos contedos da web so direcionados aos navegadores, um dosvetores mais comuns a explorao por vulnerabilidades contidas nestas aplicaes.No decorrer dos anos surgiu um crescente interesse na explorao e combate destasvulnerabilidades, como mostram algumas competies focadas no descobrimento defalhas nos navegadores mais populares da atualidade [4], com casos alarmantes como ocomprometimento do sistema operacional [2][3].

    Outro vetor muito explorado o qual o agente utiliza engenharia social para propagarum esquema ilcito, conhecido como fraude, com objetivo de obter informaes dousurio, como dados ou at mesmo cliques, sem a devida autorizao [6]. Um dos meiosmais comuns de aplicar uma fraude atravs de programas maliciosos, denominadode Malwares [5]. Outra possibilidade de fraude atravs de Phishing, prtica bastanteexplorada 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 queum mal intencionado explore vulnerabilidades existentes na aplicao.

    O objetivo deste estudo trata da elaborao de um mecanismo que auxilie o navegadora oferecer maior segurana na navegao do usurio, visando minimizar os ataquesrelacionados aos principais vetores apresentados. A ferramenta, intitulada Aegis, irmonitorar as requisies e respostas produzidas no navegador, a fim de analisar diversosaspectos com o intuito de detectar atividades maliciosas na requisio ou vulnerabilidadeexistente na requisio, removendo comportamentos suspeitos ou restringindo recursos donavegador, 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 integridadedos dados trafegados.

    A elaborao deste projeto centrada em uma reviso sistemtica da literatura sobre

    3

  • 1.2. OBJETIVOS

    os ataques relacionados, bem como uma fundamentao extrada de principais trabalhossobre o tema, que envolvem diversos pesquisadores e instituies.

    1.2 Objetivos

    Este estudo tem como objetivo propor o desenvolvimento de uma ferramenta capaz deproteger o navegador web das principais ameaas que proporcionam violao aos dados.

    Apresentar os navegadores mais populares da atualidade, a histria e evoluo dosmesmos e as tecnologias envolvidas, sobre a tica da navegao segura.

    Realizar uma reviso sistemtica sobre as questes de segurana e estado atual nasprincipais fontes literrias.

    Propor uma taxonomia dos principais ataques web direcionados aos ambientesClient-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 academiaou indstria.

    Desenvolver e disponibilizar um prottipo da ferramenta que possa interagir com onavegador em tempo real.

    Analisar o comportamento da ferramenta proposta sendo executada nos ambientescontrolados disponveis na atualidade.

    Desenvolver e disponibilizar um ambiente controlado, com o objetivo de umavalidao 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 pro-blema est direcionado na segurana que os navegadores atuais oferecem aos seususurios, ou seja, a proposta desta dissertao no pretende apresentar boas prticas

    4

  • 1.4. METODOLOGIA

    no desenvolvimento de aplicaes, mas sim proteger o usurio de ameaas quedentre 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 ameaasque violem os dados do usurio de navegador web, ou seja, a integridade damesma, bem como a confiabilidade do site ou aplicao em questo que prov umdeterminado servio. Consequncias que envolvam disponibilidade no esto noescopo deste estudo, pelo fato das mesmas no impactarem diretamente aos dadosde 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 umaserie de passos a serem executados.

    O primeiro passo ser realizar uma reviso sistemtica na literatura sobre o tema queapresenta relao com a proposta deste projeto. A reviso dever ser aplicada em biblio-tecas ou repositrios de publicaes, e devem ser executadas atravs de palavras chavesbem definidas. O objetivo ser analisar as principais ameaas que esto relacionadas aoproblema abordado no tema, e consequentemente mapear as solues apresentadas athoje e mitigar possveis lacunas.

    Com todo o conhecimento de pesquisa j realizada sobre este tema revisado, o segundopasso ser partir para as especificaes da soluo. A ferramenta proposta neste estudodenominada Aegis dever ser acoplada aos navegadores considerados mais populares daatualidade. Tambm devero ser avaliadas outras ferramentas que possuam propsitossimilares ao do Aegis, que atravs desta avalio dever ser gerado um relatrio com ascaractersticas e peculiaridades encontradas durante a investigao e tal relatrio servirpara uso durante o desenvolvimento deste projeto e na escrita desta dissertao.

    No terceiro passo sero atividades de definio da arquitetura que modela a ferramentaAegis, para isso sero realizadas analises e estudos, bem como validaes para que sepossa fomentar a viabilidade de desenvolvimento da ferramenta. Este processo dedeciso arquitetural dever observar o ambiente de execuo da ferramenta, ou seja, umaferramenta que interaja com o navegador e proporcione uma experincia com o usurio.

    No quarto passo ser descrito o desenvolvimento de um prottipo funcional da ferra-menta proposta, e para isso sero utilizadas ferramentas para apoio ao desenvolvimentoem cada um dos navegadores mais populares.

    5

  • 1.5. ESTRUTURA DA DISSERTAO

    Para que os resultados sejam o mais prximo da realidade, ser realizada uma valida-o da ferramenta proposta. Porm, devido aos inmeros cenrios propensos a violaode dados, bem como as consequncias da exposio de dados sensveis, a execuoem ambientes reais extrapolaria o cronograma da pesquisa. Portanto foi definido que aferramenta ser avaliada em ambientes controlados que reproduzem ambientes reais comvulnerabilidades existentes. A validao ser realizada no quinto passo, que se caracterizaem uma analise dos principais ambientes controlados atuais que se encontram disponveisde forma gratuita e de cdigo aberto, e que tenha apoio ou tutela de alguma organizaode grande relevncia ao tema.

    No sexto passo, baseando-se na tica das principais ameaas obtidas no primeiropasso, este trabalho tem o intuito de adicionar novas funcionalidades para que o respectivoambiente cubra as ameaas relacionadas ao tema que estavam at ento ausentes nareproduo do seu cenrio.

    As concluses, bem como variaes e comparaes entre os resultados da experi-mentao sero descritas no passo sete, trazendo um comparativo entre as ferramentasmitigadas no segundo passo, em comparao com o Aegis.

    1.5 Estrutura da Dissertao

    Neste Captulo de introduo foi apresentada uma breve fundamentao, levantandoproblemas que justificam e motivam a execuo de tal pesquisa, bem como apresentandoos objetivos da mesma. O resto deste trabalho est dividido nos seguintes captulos:

    Captulo 2: apresenta uma contextualizao da pesquisa que contribuiu para aderirembasamento no desenvolvimento da ferramenta proposta.

    Captulo 3: apresenta a implementao e estrutura da ferramenta proposta intitu-lada Aegis.

    Captulo 4: apresenta o ambiente de validao da ferramenta, relatando resultadosdetalhes da execuo, resultados e adequao do mesmo aos vetores abordadosnesta pesquisa.

    Captulo 5: apresenta a anlise de resultados obtidos com a execuo deste estudoe desfeche conclusivo da pesquisa apontando possveis trabalhos futuros.

    6

  • 2Contextualizao da Proposta

    Nesta pesquisa apresentada uma taxonomia para as principais ameaas, vetores e ataquesmais atuantes em ambientes Client-side, dos quais proporcionam a violao de dadossensveis. Primeiramente importante conceituar alguns termos. Segundo [60] a violao o roubo ou perda acidental de dados sensveis. J um dado sensvel qualquer dado quepossui seu acesso restrito s pessoas autorizadas. E segundo os estudos publicados pelasentidades SANS/MITRE [314], um vetor de ataque um mtodo do qual um usuriomalicioso utiliza para realizar um ataque uma determinada aplicao ou servio web. Jum ataque na web qualquer ao realizada por uma aplicao ou pessoa, seja de formaproposital (maliciosa) ou involuntria (atravs de vulnerabilidades), que resulta em algumtipo de Ameaa. E por fim, uma Ameaa qualquer evento, circunstancia ou pessoa quepossa causar danos a uma determinada pessoa ou aplicao, a exemplo da violao dedados sensveis.

    Este captulo visa apresentar uma taxonomia que auxilie na didtica e classificao dasprincipais ameaas neste cenrio. O primeiro passo foi realizar uma reviso sistemticana 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 bsicasquanto s definies e nomenclaturas j estabelecidas em publicaes reconhecidasmundialmente sobre o tema proposto, alm de serem mantidas por entidades com altoimpacto e respaldo. Diante os critrios pr-estabelecidos como ponto de partida, foipossvel selecionar sete publicaes consideradas o prisma da proposta desta dissertao,as quais esto distribudas entre cinco entidades que desenvolveram e mantm seusrespectivos 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

    7

  • 2.1. METODOLOGIA DE PESQUISA

    melhorias e boas praticas de segurana, avaliando riscos e prevenes aos principaisataques realizados em aplicaes web. Sua principal publicao relacionada aotema deste estudo o OWASP Top Tem 2013 [292], que descreve os principaisataques e riscos mais explorados atravs de vulnerabilidades em aplicaes Web.Outras obras tambm relacionadas so os guias de prevenes, conhecidos comoOwasp 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 eutilizam o mesmo respaldo da OWASP. Essa parceria possui diversas publicaesdisponveis na literatura, entretanto as consideradas mais intrnsecas a esta pesquisaso as publicaes: "Top 25 Most Dangerous Software Error"[314] e a "CommonAttack Pattern Enumeration and Classification"[260].

    CERT: um centro de estudo para resposta e tratamento de incidentes em com-putadores, com diversos comits de gesto em diversos pases. Sua contribuiorelacionada a este estudo o "Securing Web Browser"[1], no qual apresenta defini-es e boas prticas em ambientes client-side.

    W3C: O W3C a principal organizao padronizadora da WWW. A principal obrarelacionada a publicao intitulada "The World Wide Security FAQ"[384], noqual propem padres e boas prticas que visam minimizar os principais problemasrelacionados ao contedo distribudo na Web.

    HTML5Security: um grupo de pesquisa direcionado aos aspectos de segurana emtecnologias que utilizam HTML5. Sua principal publicao a "HTML5 SecurityCheatsheet"[176], que aponta uma serie de causas e prevenes relacionadas aameaas nesta API nativa do navegador.

    2.1 Metodologia de Pesquisa

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

    8

  • 2.2. DEFINIO DE PESQUISA E FONTE PRIMRIA

    de mapear trabalhos relevantes ao tema que se encontram presentes at o momento naliteratura. O estudo pretende responder trs questes de pesquisa, a saber: (1) QuaisVetores Segurana mais relatados quanto aos dados sensveis trafegados nos navegadoresweb? (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 aevoluo da web?

    2.2 Definio de Pesquisa e Fonte Primria

    Foi definido o IEEEXplore1 como a fonte primria deste trabalho, apesar do seu me-canismo de busca no possuir tantas funcionalidades como em outras fontes literrias,esta possui um considervel nmero de publicaes. Tambm foi observado que sedispe de um grande nmero de indexaes de trabalhos de outras fontes. Outras fontesliterrias tambm foram escolhidas por contemplarem trabalhos relevantes ao tema eindispensveis 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 totalmentegratuito ao seu contedo, estas fontes foram representadas como uma nica Fonte literrianomeada como "Outros".

    Como pesquisa inicial foi realizado no IEEEXplore uma busca por trabalhos relacio-nados a segurana nos navegadores web, utilizando palavras-chave e termos baseados nassete publicaes apresentadas anteriormente, que definiram as nomenclaturas dos ataquesacerca deste estudo, chegando a seguinte regra de filtragem: [(palavras-chave relacio-nadas segurana)] E [palavra-chave relacionada navegador web] E [palavras-chaverelacionadas as ameaas ao navegador web] diretamente no meta-data das publicaes,formado pelo titulo, abstract e palavras-chaves de cada artigo, resultando no seguintecomando de busca conforme ilustrado na Tabela 2.1: O comando da Tabela 2.1 listou345 publicaes7 no IEEEXplore , somando os resultados em todas as fontes de pesquisa,resultou em 1.383 publicaes.

    1IEEE Xplore: http://ieeexplore.ieee.org2Elsevier Scopus: http://www.scopus.com/home.url3ACM Digital Library: http://dl.acm.org4Springer Link: http://link.springer.com/5Science Direct: http://www.sciencedirect.com/6Engineering Village: http://www.engineeringvillage.com/7Busca realizada em Agosto de 2013

    9

  • 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 realizarum refinamento manual baseado em critrios de triagem. O pouco refinamento dapesquisa 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 refinamentoa cargo de uma inspeo manual mais minuciosa composta por uma srie de critriose posteriormente submetida a uma triagem. Em seguida, apresentado o processo detriagem 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 emClient-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 dedados, 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 anteriormentecom o objetivo de refinar o resultado inicial das publicaes selecionadas. Inicialmente foiaplicada uma analise superficial, baseada na leitura do abstract das publicaes, na qualeram aplicados os critrios previstos, uma vez contemplados, a publicao era considerada.Foi constatado que neste tipo de anlise existiam casos onde o processo superficial noera suficiente, como por exemplo, quando o abstract era muito resumido ou no erapossvel extrair dele as informaes necessrias aos cumprimentos dos critrios. Essaspublicaes eram alocadas separadamente para uma futura avaliao mais detalhada ondeseria analisada a introduo ou demais captulos ou sees da publicao. O resultadoda 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 descartou112 artigos que foram considerados na pesquisa inicial. O mesmo procedimento foirealizado nas demais fontes e isso trouxe ao resultado final a garantia que as publicaesselecionadas apresentam de fato aderncia ao tema deste estudo. Conforme especificadoanteriormente, a fonte demarcada como "Outros", representam as obras encontradas nasfontes industriais, e nestas esto includas as sete publicaes que fundamentam os termose nomenclaturas desta pesquisa.

    2.7 Classificao dos Resultados

    Nesta etapa foi realizada a anlise e classificao de quais so os Vetores e Ataquesrelacionados ao tema, distribudas conforme ilustrado na Figura 2.2. A partir desteestgio, se d inicio a construo da Taxonomia, sendo definida em trs tipos de ameaas:

    Falhas em Aplicaes (i): Esta ameaa tange as vulnerabilidades oriundas defalhas no desenvolvimento da aplicao web, seja pela ausncia ou ineficincia deum solido processo de desenvolvimento seguro, seja por brechas nas entradas daaplicao 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 intrinsecamenterelacionada s aes ilcitas de usurios mal intencionados que vo bem alm dosaspectos tecnolgicos, como por exemplo persuadir um usurio uma determinadaao que resulte na violao de seus dados sensveis.

    Falhas em Navegadores Web (iii): Esta ameaa proporcionada por componen-tes ou complementos com vulnerabilidades conhecidas instalados no navegador.Uma vez que o navegador trafega dados sensveis constantemente, esta ameaaquando presente proporciona um impacto de negcio equivalente propagao dapopularidade destas ferramentas.

    Durante a triagem foi observado que diante as trs ameaas apresentadas, foram detec-tados cinco vetores e nove ataques relacionados que sero descritos em detalhes maisadiante, chegando taxonomia proposta na Figura 2.2. Na Figura 2.2 demonstra quecom base na classificao dos resultados na literatura, a ameaa (i) possui trs Vetoresrelacionados, dos quais esto contidos cinco Ataques distintos. J a ameaa (ii) possuium 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 geroucomo resultado um agrupamento dos trabalhos com maior aderncia ao tema propostodesta pesquisa e o tipo da soluo proposta em cada publicao. Estes resultados seroapresentados nas prximas sees de forma sistemtica e em conjunto com anlises ediscusses desenvolvidas com o objetivo de responder as questes de pesquisas levantaspela 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 mesmoatue simultaneamente com outros vetores em um mesmo cenrio, resultando assimem diversas interseces entre as publicaes e Vetores. Conforme os cinco vetoresapresentados na Figura 2.2, o resultado da QP1 gerou o grfico da Figura 2.3 no qualdemonstra a distribuio das 915 publicaes entre os cinco Vetores, com o objetivo deobservar quais vetores so mais explorados. importante salientar que o total de 915artigos divergente do somatrio dos nmeros desprendidos no grfico da Figura 2.3(1063), o motivo o acumulo de ocorrncias de interseces j mencionadas, gerandosobreposies 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 possvelconcluir que o Vetor com maior nmero de publicaes na literatura a Exploraopor Injeo de Cdigos, e as publicaes referentes a Componentes ou ComplementosInseguros fazem parte do seleto menos explorado na literatura. Nas prximas sees sodescritos 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 seusrelatos iniciaram-se na literatura em meados do ano 2000. A injeo de cdigo resultantede uma falha no tratamento de entradas da aplicao, como dados em formulrios ouarquivos. Essas falhas so muito predominantes principalmente em sistemas legados,e dentre todos os vetores, esse a que possui maior facilidade de deteco [283]. Emcontrapartida, ainda bastante recorrente nas aplicaes [314] [260] e possui um maiorfator de impacto nos negcios, pois uma vez vulnervel, uma aplicao pode comprometercompletamente um servidor web ou toda sua base de dados [292].

    Vetor 2: Fraudes

    O terceiro Vetor mais explorado na literatura, com 186 publicaes encontradas, comfoco nas fraudes, que so frutos de sites mal intencionados que furtam informaes dosvisitantes atravs de engenharia social, sequestrando dados confidenciais ou cliques. Essevetor 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 oobjetivo 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 au-sncia ou falha em tcnicas como a criptografia ou ofuscao de dado sensvel, quandono aplicadas ou aplicadas de forma ineficiente. Exemplos comuns so senhas ou dadosde carto de crdito, muitas vezes estes dados so trafegados de forma inadequada poraplicaes 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 encon-trados 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 ocasionadapor uma falha em seu desenvolvimento [1]. Apesar dos desenvolvedores de navegadoresestarem sempre corrigindo as falhas e incentivando seus usurios a atualizarem suasverses, muito rpida a disseminao de uma notcia de nova falha em uma determinaverso 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], dandomargens 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 consequentementecompromete a segurana do navegador. Essa ocorrncia muito comum em Extensesou Plug-ins, o fato que so ferramentas desenvolvidas por terceiros, e a seguranado navegador fica em cheque devido alguma negligencia no desenvolvimento dessasferramentas adicionais [355].

    Vetor 5: Ataques de Domnio Cruzado

    Este vetor resulta em ataques que so executados de fora dos domnios da aplicao querecebeu o ataque. Casos comuns so originados de servios externos maliciosos quese aproveitam da confiana obtida de um usurio ou aplicao [384]. Existem milharesde 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 tmsrios problemas de padronizao [339], isto dificulta aplicar uma poltica de seguranaconsistente, 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 aousurio de navegador web. Foi mapeado como o quarto vetor mais explorado, com 110publicaes relacionadas.

    2.8.2 Resultado Obtido da QP 2

    Nesta seo foram identificados os Ataques envolvidos em cada vetor da QP1, onde sefez uma classificao de forma mais granular a fim obter maior visibilidade dos resul-tados da pesquisa agrupados entre os cinco Vetores e os nove Ataques correspondentes.Alguns Ataques podem ocorrer em um ou mais vetores, portanto tambm so passiveisa 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 conjuntocom outros, podendo-se concluir que algo bastante muito comum de acontecer. Almdisso, pode-se concluir que as pesquisas que relatam sobre o Ataque relacionado ao vetorde Fraca Proteo aos Dados frequentemente tambm relatam sobre outros vetores econsequentemente outras ameaas distintas, conFigurando o cenrio de Ataques queatuam em conjunto. Nesta seo tambm sero apresentados os ataques que envolvemos vetores mapeados, descrevendo seu respectivo vetor, definio e impactos. Estesresultados seguem a seguinte estrutura:

    16

  • 2.8. ANLISE E DISCUSSO DOS RESULTADOS

    Os itens que relatam as definies so baseados principalmente nas sete principaispublicaes;

    Os itens que relatam as consequncias so baseados nas noticias vinculadas namdia, considerando a relao de impacto de negcio.

    Os itens que relatam as principais tcnicas de ataque e defesa so baseados nosprincipais trabalhos obtidos nesta reviso sistemtica.

    Ataque 1: Cross-Site Scripting (XSS) - A1

    Vetor RelacionadoVetor 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 exploradana literatura, registrando 218 publicaes. Alm disso, segundo a pesquisa da WhiteHat[320], trata-se da vulnerabilidade mais predominante em aplicaes web, onde informaque 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, esegundo 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, ondepermite que seu executor envie dados no confiveis para o sistema, como scripts malici-osos que sem uma devida validao nas entradas, a aplicao acaba por permitir este tipode dado e faz com que o navegador interprete o cdigo e reproduza um comportamentoque traga algum transtorno ao usurio [260]. Existem trs tipos de XSS:

    XSS Persistente: Possibilita que um cdigo malicioso seja permanentemente arma-zenado na aplicao, fazendo com que essa informao quando consumida, far com queo navegador execute uma interpretao arbitrria, tornando qualquer usurio visitanteuma vtima [292]. Um exemplo dessa prtica conseguir inserir um cdigo malicioso emalgum campo de um formulrio que persiste suas informaes em um banco de dados eque 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 deusurios tornem-se vitimas atravs de uma nica falha na aplicao. Conforme na Figura2.5, ilustrado um exemplo mais comum de XSS Persistente.

    Na Figura 2.5 demonstrado um cenrio onde a aplicao no faz uma devidavalidao em suas entradas, permitindo que seu usurio possa inserir cdigo JS emum 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 posteriormenterequisitada 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 osparmetros 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 cdigosinjetados via parmetros [48]. Muitas vezes essas aes tambm podem utilizam tcnicasde 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 valoresatribudos ao parmetro "p"em sua seo de busca por termos ou palavras chaves que sofornecidos pelo usurio e processados na pagina seguinte. Neste contexto um usuriomal intencionado pode explorar essa vulnerabilidade inserindo cdigo JS ou HTML nesteparmetro, 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 dizque um XSS baseado em DOM se caracteriza por modificar das propriedades desteselementos sem a necessidade de realizar requisies no servidor, j que a modificaopode 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:

    document.write(OPTION value=1>"

    +document.location.href.substring(document.location.href.indexOf("default=")+8)

    +/OPTION>");

    document.write(OPTION value=2>Ingles");

    http://www.meusitea.com/pagina.html?default=Frances

    (Link esperado pela aplicao)

    http://www.meusitea.com/pagina.html?default=alert(XSS)

    (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 idiomasdisponvel na aplicao, disponibilizando ao usurio a opo que define o idioma padrona 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 pelousurio, quando na verdade um usurio mal intencionado pode simplesmente modificar oparmetro para que no momento que o elemento DOM seja renderizado, ir executar ocontedo nocivo passado via parmetro pelo mal intencionado [291].

    Principais Tcnicas de AtaqueNesta 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 autilizao de filtros [262]. Basicamente apresentam-se nas seguintes formas:

    a) Explorando falhas em tratamento de Escape.: So cdigos injetados em umaaplicao que no faz um devido tratamento de escape nas Strings a serem exibidas aousurio. Atualmente muitos frameworks de web por padro ativam esse este tipo defiltragem nas sadas de String. Na tabela 2.3 ilustrada a funcionalidade desta tcnica.

    String html = b>Teste"

    Aplicando a tcnica de Escape a String resulta em: &lt&gtTeste&lt/&gt

    Ao ser renderizada, ser exibido ao usurio o seguinte texto: Teste

    Tabela 2.3 Exemplo da funcionalidade da tcnica de Escape

    b) Utilizando elementos crticos ou de contedo sensvel: So tcnicas que exploramvulnerabilidades em componentes como o Cross Site Flashing [293] ou elementos HTMLcomo 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 FiltroEvaso 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 tcnicasque contornam esta medida de preveno [295].

    a) Contedo injetado atravs de codificao da String: Podem ser baseadas emUnicode, Charcode, Hexa, decimal ou base64 [292][314][176], ou baseadas em URI-Component, que uma funo nativa do JS que codifica caracteres especiais [61], oumesmo 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 expressoregular em uma String em combinao da funo replace do JS [62][87].

    ConsequnciasAs 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, ondeseus danos so apenas estticos. Ou at mesmo executar um roubo de dados sensveisdo 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 umataque no MySpace.com, que com o intuito de aumentar sua lista de amigos, ele injetouum script em seu perfil, fazendo com que qualquer visitante que visualizasse seu perfilse tornasse seu amigo na rede do MySpace [284]. Alm disso, o scripts se propagavade forma viral, fazendo com que tambm adicionasse amigos ao Samy quando algumvisualizasse o perfil de um usurio contaminado. Com isso, em menos de 20 horas Samyj possua milhes de amigos e o site do MySpace ficou fora do ar por algumas horaspara solucionar o problema em suas entradas de formulrios [263]. O MySpace tinhacomo objetivo permitir que seus usurios customizassem cores e efeitos nas informaesde seus perfis, atravs de cdigos HTML e CSS. Apesar de possuir algumas restriesbaseada em filtros, Samy identificou uma falha nos critrios de restrio, conseguindoassim inserir um cdigo JavaScript malicioso [284]. Uma das medidas de prevenode XSS adotadas pelos navegadores atuais a utilizao de uma Poltica de Seguranade Contedo, do ingls, Content Security Policy (CSP) [268], que trata-se de umaespecificao desenvolvida pela W3C que possibilita o navegador adotar uma polticade quais recursos so permitidos ou no de serem processados em uma requisio, eessas configuraes so transmitidas atravs dos cabealhos HTTP ou por Meta TagHTML [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 seucontedo. Apesar de diversas medidas de preveno do navegador, ainda se faz ineficienteas tcnicas de proteo nativa dos navegadores, seja por tcnicas que se baseiam emevaso de filtros ou por falhas nas configuraes da CSP [288].

    Principais Tcnicas de DefesaAnalise 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 JScom o objetivo de detectar comportamentos suspeitos. As medidas aplicadas so anlisesde cdigos pr-definidos combinados a polticas de listas negras ou brancas, baseados emexpresso regular [77][374][172].

    Proxy Reverso: Uma camada adicional de um terceiro (provedor da soluo desegurana) que atravs de separao ou isolamento dos dados no qual ir interceptar asrequisies e aplicar um conjunto de outras tcnicas [223][201].

    Proteo de Parmetros ou Atributos: So medidas que visam ocultar informaessensveis 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 valorespassados em elementos, como HTML, nos quais os atacantes manipulam a fim de escaparXSS [329][351].

    Preveno Evaso de Filtros: So tcnicas que analisam a utilizao de codifica-es para escapar entradas com comandos JS [378][203].

    Dynamic Data Tainting: Tambm conhecida como Data Flow Analysis, umaanalise 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 oucontinuar um processamento [266]. uma tcnica bastante utilizada em conjunto comAnlise esttica e padro de comportamento.

    Ataque 2: Injeo SQL (SQLi) - A2

    Vetor RelacionadoVetor 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] oataque 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 entradasem formulrios, que enviam informaes das quais alimentam um banco SQL [314].

    Principais Tcnicas de Ataquea) 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 queacesse a camada de persistncia de uma aplicao que utilize SQL ANSI [314][260].

    b) Contedo injetado atravs de codificao: Mesma tcnica de codificao utilizadaem XSS para escapar caracteres especiais como aspas ou --". Tambm envolvem aspectosrelacionados a expresso regular [294].

    A ao ilustrada na Figura 2.7 reproduz uma concatenao na sintaxe SQL que resultaem critrios com uma verdade absoluta, no caso o 0=0, que sempre ser true, eseguindo a regra de condicionais, a sintaxe resultante seria FALSE or TRUE, como naregra do OR basta um lado ser verdadeiro, o SELECT da sintaxe SQL ir retornar TRUEna operao WHERE e todos os registros da tabela usurios. Como a consulta trarresultados, o atacante ser autorizado na tentativa de efetuar login na aplicao, recebendoum 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 atravsde SQLi, quando ao concatenar a String com ;, sintaticamente est possibilitando aexecuo de outro comando na mesma String de consulta [314][260]. Para destruir abase 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 comandoDROP TABLE, do qual ir remover a tabela usurios, e finaliza com ; indicando o finaldo comando e que aps o - todo o restante da sintaxe se tornou comentrio, na prticao banco de dados far dois comandos, o SELECT, e logo em seguida o DROP TABLE,apagando a tabela usurios por completa.

    ConsequnciasSQLi 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-passou quebra de acesso, onde este adquire privilgios indevidos, podendo realizar acesso,excluso, adulterao ou roubo de informaes sigilosas dos usurios.

    Principais Tcnicas de DefesaAs 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 RelacionadoVetor 2: Fraudes.DefinioConforme os resultados desta reviso sistemtica, o Clickjacking foi identificado

    como o ataque menos explorado na literatura, ao contexto do tema desta pesquisa forammapeadas 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 napagina, fazendo com que o usurio acredite que realmente clicou no boto, quando naverdade h elementos HTML sobrepondo o alvo, muitas vezes DIV ou IFRAME.

    O Clickjacking apresenta-se como uma ou mltiplas camadas transparentes ou opacasque se sobrepem com o objetivo de enganar o usurio que tinha a inteno de clicar emum 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 DIVque sobrepem um link. O DIV sobreposto possui atributos definidos para que o mesmofique 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 tentarclica-lo, na verdade estar clicando no DIV transparente, do qual ir disparar um eventoque pode redirecionar o usurio para outra pgina. Outra tcnica especfica que toprevalente 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, fazendocom que pginas ou imagens sejam curtidas sem seu consentimento [364].

    Tambm existe uma variao do Clickjacking, denominada Strokejacking, que aoinvs do click, este captura o evento das teclas do teclado. Devido ao pequeno numero depublicaes encontradas na literatura sobre este ataque, este estudo considerou Stroke-jacking e Clickjacking como um mesmo ataque [269]. Na Figura 2.9 ilustrada outrautilizao para sequestrar informaes sigilosas como credencias de acesso, com basenas 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 semdesconfiar que na verdade existem campos sobrepondo os campos visveis, estes camposocultos podem ser submetidos em formulrios ou frames cruzados, tcnica conhecidacomo Double Framing [286].

    Principais Tcnicas de Ataquea) 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, reprodu-

    zindo um Double Framing [286][216].ConsequnciasNa 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 com-portamento, 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 redireci-onar o usurio vitima de um ambiente legitimo para outro hostil onde possa extrair seusdados sensveis, que uma ao muito intrnseca ao redirecionamento invlido. Clickjac-king atualmente est muito comum em redes sociais, uma vez que a usabilidade destesambientes direcionada ao simples clique das coisas, como botes curtir ou compartilhar.Mas nada impede que esta tcnica tambm seja usada para sequestrar cliques de umteclado digital, que so muitas vezes utilizados em internet banking [186][239].

    Principais Tcnicas de Defesaa) 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, impe-

    dindo modificaes nos atributos de um Frame e tcnicas de Frame Busting [71][162].

    Ataque 4: Redirecionamentos e Encaminhamentos Invlidos - A4

    Vetor RelacionadoVetor 2: Fraudes.DefinioA reviso sistemtica mapeou-a como a quarta ameaa mais explorada na literatura,

    com 144 publicaes relacionadas. Neste contexto esto s preocupaes relacionadasao redirecionamento do usurio durante a navegao, Segundo [292], as aplicaes webfrequentemente redirecionam e encaminham usurios para outras pginas e no usamuma validao adequada quanto aos parmetros de redirecionamento de seu domnio,fazendo a vtima achar que uma determinada URL ir direciona-la ao respectivo domnioconfivel, quando na verdade so encaminhados para sites forjados e no confiveis.

    Este contexto tambm est associado ao usurio ser enganado para cair em sites forja-dos, j que na prtica tudo uma fraude, e os objetivos so baseados em uma engenhariasocial da qual redireciona o usurio para um ambiente hostil, que representa visualmentemuito fielmente o site do servio oficial, mas que na verdade este ir intercepta os dadossensveis para um golpista, fazendo o usurio pensar que suas informaes esto sendoenviada para o servio legtimo. Esta tcnica de ataque denominada Phishing, quesegundo [6], Phishing, Phishing-scam ou Phishing/scam, o tipo de fraude por meio daqual um golpista tenta obter dados pessoais e financeiros de um usurio, pela utilizaocombinada 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 osdados do usurio.

    25

  • 2.8. ANLISE E DISCUSSO DOS RESULTADOS

    Figura 2.10 Exemplo de Phishing.

    Principais Tcnicas de Ataquea) 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, ousurio 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 tcnicaspara conseguir realizar um redirecionamento ao usurio, seja por modificar os parmetrosem uma URL legitima, ou at mesmo ocultar uma URL suspeita atravs de servios deURL curtas, que so muito comuns em servios de troca de mensagens sucintas como oTwitter [261]. No caso de URL legitimas, algumas aplicaes utilizam parmetros queredirecionam o usurio para uma determinada pagina, isso bastante comum quandouma sesso expirada em uma aplicao, e visando funcionalidade, redireciona o usuriopara a tela de autenticao preservando a URL anterior atravs de um parmetro naURL do redirecionamento da autenticao. O objetivo quando o usurio efetuar seulogin, o mesmo ser encaminhado para o endereo que consta no parmetro. Estesparmetros podem ser alterados por usurio mal intencionados que encaminham a URLmodificada para usurios vitimas. Se a aplicao no realizar uma devida validao,poder redirecionar a vitima para uma pagina maliciosa.

    ConsequnciasApesar 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 Defesaa) 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 estasminucias no endereo, por muitas vezes no precisar digitar o endereo no navegador, jque os principais vetores so disseminados atravs de mensagens de e-mail, e o alvo empotencial so usurios de comercio eletrnico, redes sociais, companhias areas, e algumtipo de recadastramento que solicita dados sensveis.

    b) Controle de Phishing baseado em Lista Branca ou Negra: Muito dos navegadoresatuais tem a politica de proteger o usurio baseado em uma Lista Negra atualizadaperiodicamente, mas a tarefa bastante rdua devido a grande velocidade e demandada atuao dos golpistas. Prova disso conforme o Phishing da Figura A.1, onde foiregistrado por este estudo que no dia 01/10/2013, as 16:15, este Phishing ainda erapossvel de ser executado por qualquer navegador popular, e todos atualizados, a exemplodo Google Chrome que nesta data e horrio estava com suas atualizaes em dia, naverso 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 deterceiros 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 URLlegitimas, as aplicaes podem utilizar uma politica de Lista Branca para endereosvalidos em seus redirecionamentos.

    Ataque 5: Complementos Maliciosos - A5

    Vetor RelacionadoVetor 2: Fraudes.DefinioCom base nesta reviso sistemtica, com apenas 27 publicaes, este ataque foi

    considerado o menos explorado na literatura. Este ataque representa outro vis daFraude, e ocorre quando o usurio redirecionado para um ambiente onde promete aosseus visitantes ferramentas para otimizar o seu navegador ou auxiliar na reproduode algum formato de mdia atravs dele, mas que na verdade trata-se de um Trojanou cavalo de Tria como no caso em [183], que segundo [5] um programa que atuacomo hospedeiro, e embora em alguns casos ainda execute as funes para as quais foiaparentemente projetado, seus principais objetivos so outros, normalmente maliciosas,como o monitoramento do trafego ou coleta de dados, sem o consentimento e devidaautorizao do usurio.

    Principais Tcnicas de Ataquea) 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 podepropagar Malwares ou excluso e roubo de arquivos. Estas tcnicas so as mais comunsde serem aplicadas neste cenrio. [5][230][372][321][100][246][357].

    b) Atravs de Extenses: Alm dos plug-ins, as extenses tambm se enquadram empossibilidades de ataque nestes cenrios. No decorrer dos tempos, a confiana entre odesenvolvedor da extenso e o usurio encontra-se em cheque. Normalmente as extensestem 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 sistemaoperacional. Com a ascenso destes aplicativos, as exploraes de vulnerabilidades nestenvel atuam descontroladamente, tornando-se comum encontrar casos como roubo deinformaes e quebra de privacidade [159][310].

    ConsequnciasEstes usurios so vtimas de Trojans, Malwares, Adwares, Spywares (malicioso),

    Adversiting, Scareware, e Malversiting, estes se apresentam como Plug-ins ou Extensesdo navegador. As consequncias, alm a violao dos dados sigilosos, tambm a privaci-dade do usurio, j que estas ferramentas intrusas monitoraram todo o trfego do usurio,principalmente em ambientes como internet banking [5]. Muitos destes adicionais, por te-rem privilgios de escrita e leitura, modificam diversas configuraes do usurio e afetamo comportamento no apenas do navegador, mas de todo o sistema operacional. Almdisso, 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. NaFigura 2.11 descrito o fluxo de atuao dos Malwares, que quando instalado navegadordo usurio, ou em alguns casos instalado diretamente no sistema operacional, mas quefrequentemente infectado atravs do navegador.

    Quando instalado, o mesmo inicializa recursos para diversas atividades ilcitas, comoroubo de contas em redes sociais, bloqueio no funcionamento do antivrus instalado nosistema operacional, ou monitoramento de informaes e atividades da navegao dousurio infectado [36].

    Principais Tcnicas de Defesaa) 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 nonavegador sem previamente ter assinado um certificado atravs de alguma autoridade decertificao digital [259], como a Certsign8, isso garante que seu cdigo realmente foi

    8Certisign - 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 podeestar no anonimato, visto que qualquer desenvolvedor pode criar seu ActiveX e solicitar ocertificado. Uma vez que o ActiveX malicioso autorizado para execuo, todos os dadosdo navegador, como tambm o computador do usurio podem ser comprometidos [259].Algumas publicaes na literatura propem o monitoramento de plug-ins instalados nonavegador em tempo real, como em [128][159][245].

    b) Politicas de restries as Extenses: Recentemente os desenvolvedores dos nave-gadores mais populares adotaram uma nova politica, da qual restringe que o navegadorinstale apenas extenses mantidas em seus prprios domnios, no caso do Google Ch-rome, o mesmo no permite que extenses fora da Chrome Store9 sejam instaladas emseu navegador [365]. Um bom exemplo foi na ocasio onde um grupo de criminososconseguiu publicar extenses maliciosas na Chrome Store [301].

    Ataque 6: Exposio de Dados Sensveis - A6

    Vetor RelacionadoVetor 3: Fraca Proteo aos Dados.DefinioCom 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

    9Chrome 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 umaaplicao, direcionada aos requisitos relacionados a proteo dos dados [292][258].

    Principais Tcnicas de AtaqueDesenvolvimento inapropriado da Aplicao: Segundo [292], os problemas mais

    comuns so na forma incorreta ou ausncia na criptografia de dados sensveis. Outrasameaas descritas na literatura, como Man-in-the-Middle e Falha no Gerenciamentode Sesses de Aplicaes, tambm esto envolvidas neste cenrio e ambos so frutosde uma falha na proteo do respectivo dado sensvel [281][292]. Conforme ilustradona Figura 2.12, este tipo de ataque tambm est diretamente associado s tcnicasaplicadas a segurana nos dados de Cookies, Histricos, Cache ou outras funcionalidadesdo navegador como o auto completar habilitados em formulrios ou armazenamentosindevidos em Cache ou o Storage do HTML5 [258][281]. Outras falhas so ausncias deHTTPS para o trafego de dados sensveis [35][292].

    Figura 2.12 Aspectos da Exposio de Dados Sensveis.

    ConsequnciasAlguns 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 130milhes de senhas de usurios [316]. Outro caso da Target Corporation, a segunda maiorrede varejista da Amrica, e hackers conseguiram explorar brechas de segurana dasquais acarretaram em um roubo de mais de 40 milhes de cartes de crdito [153][362].

    Principais Tcnicas de Defesaa) 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 manipulamdados sensveis. Algumas publicaes na literatura direcionam seus estudos baseado nasmedidas 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 secaracteriza como uma condio de algum ou grupo de pessoas ou processos estarconforme o pretendido ou previamente estabelecido, o pretendido em questo so ospadres de especificaes. Muitas vezes essas especificaes so elaboradas por empresasque realizam auditoria externa com o objetivo de analisar se um determinado ambienteest de acordo com os requisitos exigidos.

    Um exemplo a HIPAA, sigla para Health Insurance Portability and AccountabilityAct, que um padro com o intuito de proteger os dados relacionados sade, garantindoprivacidade 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 adados sensveis, as consequncias podem variar, desde a inibio de acesso ao arquivoou a autodestruio do mesmo [324]. Um grande problema que as conformidades nosatisfazem todos os domnios, primeiramente muitas delas so regionais ou frutos de leisestatutrias, a outra questo que o custo de manter o controle quanto aos requisitos decerta complexidade e em alguns casos atingem custos muito inviveis a serem aplicveisdevido realizao peridica de auditorias externas.

    Ataque 7: Utilizao de Componentes Vulnerveis Conhecidos - A7

    Vetor RelacionadoVetor 4: Componentes ou Complementos Inseguros.DefinioSegundo este estudo, este ataque possui 72 publicaes encontradas na literatura

    relacionada ao tema da pesquisa. Esta ameaa est direcionada as falhas existentes nonavegador e seus componentes [292]. Como dito anteriormente, diversas informaessensveis so trafegadas durante a navegao e quando precisam ser armazenadas, responsabilidade do navegador garantir que pessoas mal intencionadas no tenham acessoa essa informao.

    Alm disso, o desenvolvedor do navegador precisam adotar polticas slidas que garan-tam que tais informaes estaro bem protegidas, caso contrrio uma falha comprometersua reputao e os dados do usurio [47][231]. Outra questo que os componentes queso adicionados ao navegador visam diretamente responsabilidade do desenvolvedor donavegador ou de seus componentes terceiros. Outra questo que esta ameaa bastantesimilar ao de Complementos Maliciosos, porem na vulnerabilidade dos componentes asconsequncias 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 Ataquea) 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 denavegador WebKit [115][381] e Gecko [113], motores utilizado em diversos navegadoresda atualidade.

    b) Ataques de Dia Zero: Ocorrem quando mal intencionados se aproveitam defalhas ainda no corrigidas ou recentemente detectadas para realizar a explorao destasvulnerabilidades [252][356].

    c) Vulnerabilidades em Componentes de Terceiros: Alm das vulnerabilidades oriun-das dos componentes nativos do navegador, o usurio tambm est suscetvel a vulnera-bilidades encontradas em componentes de terceiros que so incorporados ao navegador.Estes recursos adicionais, como leitores de arquivos PDF do Adobe Reader ou vdeosStream do Adobe Flash ou Quick Time, possibilitando a reproduo de diversos arquivosmultimdia, alm de oferecer recursos com maior interao do usurio em sites ou servi-os disponibilizados na internet, como a Rich Internet Application, RIA, a exemplo doMicrosoft Silverlight e Java FX. Comprometimento aos dados do usurio atravs de vul-nerabilidades exploradas em recursos desta natureza no so incomuns [253][181][114].Outro exemplo a vulnerabilidade no componente SilverLight que permite o acessoindevido ao arquivo clientaccesspolicy.xml, permitindo explorao de CSRF [102].

    ConsequnciasAs consequncias deste tipo de vulnerabilidade so de alto impacto, capazes de

    proporcionar comprometimento de todo o sistema operacional, como os casos do MacOS com o Safari [180] em tempo recorde, e do Windows com Internet Explorer [366].

    Principais Tcnicas de Defesaa) Atualizaes peridicas dos desenvolvedores de Navegador Web: Um exemplo

    disso o navegador Google Chrome recentemente ter recebido um patch de atualizaoque corrigiu cerca de 25 vulnerabilidades [182]. Apesar dos extensos histricos deincidentes e o continuo esforo por parte dos desenvolvedores, atualmente a seguranaoferecida pelos navegadores bastante questionada entre os especialistas [126][125].

    b) Bloqueio de Recursos defasados: Como exemplo, uma medida de preveno doChrome foi informar aos seus usurios que deixar de permitir plug-ins NPAPI a partirde 2014. Segundo os prprios desenvolvedores do Chrome, NPAPI uma tecnologiaultrapassada 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 adotaspara preveno aos Componentes Maliciosos. As questes relacionadas s restries nosrepositrios de extenses tambm esto relacionadas a este contexto [365]. Algumaspublicaes na literatura propem mecanismos de defesa neste contexto [398][338].

    Ataque 8: Cross-Site Request Forgery (CSRF) - A8

    Vetor RelacionadoVetor 5: Ataques de Domnio Cruzado.DefinioO Cross-Site Request Forgery, CSRF, s vezes tambm chamado por XSRF ou

    algumas vezes tambm pronunciado como Sea-Surf, e em alguns outros casos tambmconhecido como "Riding Session". Segundo [383], um ataque do qual obriga o usurio-final para execuo de aes indesejadas em uma aplicao em que ele encontra-seautenticado. Apesar de ter um impacto semelhante ao XSS, o CSRF no uma injeode 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 esteestudo, pois apesar das manipulaes em seus parmetros, o fluxo invertido: a requisioparte de um ponto de partida externo e segue direcionada para o domnio do site ou serviolegitimo. Essas foram algumas concluses para que o CSRF fosse classificado como umataque Cross-Domain. Foram encontradas 81 publicaes relacionadas na literatura.

    Principais Tcnicas de Ataquea) 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 deatualizao de seus dados pessoais em um determinado site, do qual sero persistidos osdados que o atacante informou nos parmetros da requisio [292].

    Outro exemplo pode ser feito numa compra ou transao financeira, alterando camposde quantidade ou endereo de entrega, ou qualquer outra operao que envolva o enviode dados atravs de uma requisio com parmetros modificados. A princpio parece queuma simples soluo seria realizar todas as requisies como POST [289], mas na prticano 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 salva-mento automtico de credencias ou permisses de relembrar autenticaes, este tipo deaes 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 CSRFdenominada persistente, da qual em formulrios sem uma devida validao, aceita com-ponentes HTML como uma imagem, e no endereo desta informado uma URL forjada,e que ser executada sempre que algum usurio acessar a referida imagem, combinandoassim conceitos de CSRF e XSS [98].

    ConsequnciasO 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 deCSRF no Office365 [308].

    Principais Tcnicas de Defesaa) 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 RelacionadoVetor 5: Ataques de Domnio Cruzado.DefinioCom 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 domniosdistintos, resultando em restries em ambientes que utili