Apresentação - O HTML5 e os riscos de implementação do armazenamento local

Page 1

HTML5 - Problemas de seguranรงa do armazenamento local


Intro O papel do browser – Gere sistemas complexos (gdocs, fb) HTML5 apresenta (tags, geo, offline, local storage) O armazenamento local de dados (local storage) Guardar informação do lado do cliente! C/ neste artigo...

1 - Identificar os problemas de segurança relacionados com o armazenamento local de informação. 2 - Recomendar conjunto de boas práticas que minimizam a os riscos envolvidos na sua utilização.


Out.1994 Mosaic Netscape (beta) → Armazenamento Local


Cookies

Pares nome-valor

4KB

session_id = BF236BAE48734FDE6523


Armazenamento local . HTML5 Session Storage

Local Storage

Capacidade de armazenamento

4MB

4MB

Lógica de implementação

Informação armazenada não é enviada em cada pedido (comunicação cliente-servidor)

Informação armazenada não é enviada em cada pedido (comunicação cliente-servidor)

Menos processamento-servidor Menor tráfego de dados

Menos processamento-servidor Menor tráfego de dados

Acesso à Informação

Limitado à Sessão que a criou

A informação persiste ao fecho da janela/browser Várias janelas do browser

Exemplo

http://joaosantacruz.com/html5/localstorage/sessionStorage/ http://joaosantacruz.com/html5/localstorage/localS



Riscos de Implementação ●

Risco de Leitura Permitir que o “website atacante” consiga consultar dados no “website vítima” pode resultar em fuga de informação de informação (information spoofing).

Risco de Escrita Permitir que o “website atacante” consiga escrever dados no “website vítima” pode resultar em fraude de informação (information spoofing).

Só o domínio responsável pela criação do armazenamento local, pode aceder à informação contida no mesmo.


Tipos de ataque ●

DNS spoofing Com a fraude de DNS, não é possível garantir que um host que diz pertencer a certo domínio, faz realmente parte desse domínio.

Cross-directory Ocorre quando dois websites partilham um domínio, sendo diferenciados por um sub-domínio ou sub-pasta (e.g. vitima.no.sapo.pt e atacante.no.sapo.pt). Não aconselhado em sistemas de domínio partilhado.

Cross-site scripting (XSS) O XSS é uma vulnerabilidade muito comum em websites e que permite aos atacantes, injectar código que irá correr directamente nos browsers de outros utilizadores que estejam a consultar o website infectado. Os efeitos dependem do tipo de informação em questão e de possíveis implementações de “contra-ataque”.


Boas práticas de implementação ●

Não guardar dados sensíveis

Informar o utilizador

Não confiar nos dados

Utilização de Secure Sockets Layer (SSL)

Evitar difusão de varNames

Codificação de dados

Prevenir infecções por XSS

(Nomes únicos → username ou passwordsOffline)


Conclusão ●

HTML5 facilita bastante o desenvolvimento e criação de novas funcionalidades

Se mal implementado → introduz vulnerabilidades A utilização consciente da tecnologia é fundamental para garantir a segurança dos dados do utilizador developers & users !!


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.