quarta-feira, 3 de julho de 2013

CIO: Como garantir a privacidade na era do HTML5



Ao oferecer o que era considerada funcionalidade "extra" dos navegadores - e, mais importante, dos padrões aprovados -, segurança e privacidade podem ser integradas de uma maneira muito mais coerente e cuidadosa

O HTML5, versão mais recente da linguagem da web, foi projetado tendo em mente os aplicativos da web. Ele contém uma enorme quantidade de APIs projetadas para permitir que o desenvolvedor web tenha acesso ao hardware e software do dispositivo através da utilização do JavaScript.

Algumas das especificações mais animadoras do HTML5 são as seguintes:
-> API de Geolocalização - permite que o navegador saiba onde você está
-> API de Captura de Mídia - permite que o browser acesse sua câmera e microfone
-> API de Arquivos - permite que o navegador acesse seu sistema de arquivos
-> API de Armazenamento Web - permite que os aplicativos web armazenem grandes quantidades de dados em seu computador
-> DeviceOrientation Event Specification - permite que os aplicativos web saibam quando o dispositivo muda de retrato para paisagem
-> API de Mensagem - dá ao navegador o acesso ao sistema de mensagens de um dispositivo móvel
-> API do Gerenciador de Contatos - permite o acesso aos contatos armazenados no banco de dados dos contatos de um usuário

Leia esta lista e você poderá concluir que o HTML5 está sendo projetado especificamente para hackers e ladrões de identidade. A realidade, contudo, é que os autores do HTML5 levam a privacidade muito a sério.

Preocupações de que o HTML5 estivesse enfraquecendo proteções de privacidade ficaram mais evidentes após a publicação de um artigo de capa no New York Times, em 10 de outubro de 2010. Esse artigo falava essencialmente sobre os recursos adicionais de rastreamento, que foram possibilitados pelo HTML5 e seus novos recursos de armazenamento no navegador. Em especial, o aplicativo Evercookie, de Samy Kamkar, um exemplo particularmente sinistro.

O Evercookie é um aplicativo JavaScript que escreve dados de rastreamento em vários lugares do navegador de um usuário, tornando difícil a remoção dos dados através de meios normais. Ainda pior, o Evercookie recriará todos os cookies, caso descubra que eles foram removidos.

Kamkar criou o Evercookie para demonstrar a facilidade com a qual os novos mecanismos de armazenamento poderiam ser explorados por profissionais de marketing para rastrear os usuários. Os profissionais de marketing prestaram atenção e rapidamente adotaram o Evercookie para rastrear os usuários.

Já está assustado? Pois deveria.

Mas o HTML5 não é o problema. Na verdade, o HTML5 é parte da solução.

O HTML5 melhora a segurança da web e elimina a necessidade de plugins
O atual estado da web - mesmo deixando o HTML5 completamente fora dela - inclui cookies de rastreamento, cookies de Flash e websites hackeados que distribuem malwares. Além disso, 6,3% dos internautas no mundo todo (muitos deles na China) ainda usam o notavelmente inseguro Microsoft Internet Explorer 6.

O HTML5 visa tornar a web mais segura, em parte, ao eliminar a necessidade de plugins para o navegador. Este é um ótimo começo. Dois dos plugins mais comumente instalados no navegador, Java e Flash, são também as duas maiores brechas de segurança de todos os browsers.

Simplesmente por estarem instalados, os plugins tornam o navegador menos seguro. Não somente isso, mas o plugins são geralmente escritos para múltiplos sistemas operacionais; uma vulnerabilidade em um plugin como o Java ou o Flash significa uma vulnerabilidade no Windows, MacOS e Linux. Outro problema é que uma grande porcentagem dos plugins instalados não possui os últimos patches de segurança. Em geral, os plugins representam um grande problema.

Muitos dos novos recursos do HTML5 - reprodução de vídeo e áudio, animação de vetores e bitmap, acesso de dispositivo e armazenamento web, por exemplo - são projetados para eliminar a necessidade de plugins. Ao oferecer o que era considerada funcionalidade "extra" dos navegadores - e, mais importante, dos padrões aprovados -, segurança e privacidade podem ser integradas de uma maneira muito mais coerente e cuidadosa.

APIs de acesso a dispositivos e preferências de privacidade do HTML5
A ampla categoria de APIs de acesso a dispositivos apresenta outro potencial problema de privacidade do HTML5. Parece natural para muitos de nós que a contínua expansão da web e webificação de todos os tipos de dispositivos de computação criará muitos serviços e produtos inovadores. Assim como os aplicativos web para desktop estão assumindo várias tarefas que costumavam ser somente do domínio dos pacotes de software, a computação móvel também está cada vez mais se deslocando em direção à web.

A maior peça faltante para os atuais aplicativos web móveis é a capacidade limitada de acesso a dispositivos a partir dos navegadores móveis, quando comparada com a capacidade de aplicativos móveis nativos. Aplicativos web móveis não conseguem, por exemplo, fazer seu telefone vibrar, ler o atual estado da bateria ou aferir a luz do ambiente. A maioria dos novos navegadores móveis consegue, no entanto, acessar sua localização atual e sua câmera.

Conforme estas novas capacidades são incorporadas nos navegadores, a privacidade se torna uma grande preocupação.

Em aplicativos nativos, as preferências de privacidade no acesso ao dispositivos são tipicamente gerenciadas através do processo de instalação. Quando você instala um aplicativo Android, por exemplo, você recebe uma notificação dos tipos de acesso que o aplicativo requer. Naquele momento, você pode escolher permitir ou recusar o acesso requisitado. Após instalar o aplicativo, as permissões são definidas e tal aplicativo pode acessar sua câmera, contatos ou o que quer que você tenha aprovado.

A privacidade e segurança dos aplicativos web móveis são complicadas, já que um aplicativo web pode mudar a qualquer momento e as atualizações não necessitam de seu envolvimento ativo. Na maioria das vezes, este é um grande benefício dos aplicativos web; você recebe atualizações constantes, sem o processo irritante de atualização que os aplicativos nativos requerem. A desvantagem é que qualquer alteração pode tornar um aplicativo anteriormente seguro e confiável em algo inferior nestes quesitos, ou até mesmo perigoso.

Para entender como os navegadores lidam com este problema em potencial, primeiro precisamos definir alguns termos:
1 - Notice (notificação) é a exigência de que uma API notifique o usuário sobre a coleta de dados. Atualmente, os navegadores têm mecanismos levemente diferentes para exibir notificações, mas a barra de notificações no topo da janela do navegador está se tornando o método mais comum. Você pode ver um exemplo de uma API acionando uma notificação, ao visitar um site que utilize a geolocalização do HTML5 com um navegador que suporta geolocalização; a última versão de todos os principais navegadores dão este suporte.

2 - Consent (consentimento) é o processo de obter a permissão do usuário para que a API acesse o dispositivo. O consentimento pode ser implícito ou explícito. Por exemplo, se você pressionar o botão "Tirar uma Foto", você está implicitamente dando permissão para que o aplicativo utilize a câmera. Por outro lado, se você clicar no botão "Enviar por E-mail a um Amigo", você não está dando permissão implícita à API de Contatos para espalhar e-mails indesejados a todos em seu banco de dados de contatos. Cada API do HTML5 assume que, por padrão, é necessário ter permissão explícita, mas define circunstâncias nas quais a permissão implícita é aceitável.

3 - Minimization (minimização) é a exigência para que as APIs facilitem a coleta da menor quantidade de informações possível para a tarefa em mãos.

4 - Control (controle) é a capacidade de o usuário gerenciar as escolhas de permissão. Os usuários devem ser capazes de revogar o acesso de um navegador a um dispositivo após ele ser concedido. Opcionalmente, eles devem ter a possibilidade de colocar os aplicativos em listas brancas e negras.

5 - Access (acesso) é a capacidade de o usuário visualizar e excluir seu histórico de compartilhamentos, do acesso a dispositivos, com os aplicativos.


A geolocalização é, talvez, a maior invasão de privacidade em potencial das APIs do HTML5. Curiosamente, ela é também uma das APIs mais amplamente implementadas. Para se ter uma ideia das medidas de privacidade de APIs de dispositivos individuais, é útil consultar sobre como a Geolocalização fez isso.

A Seção 4 da sugerida Especificação da API de Geolocalização é dedicada à privacidade. Ela divide as preocupações com privacidade em duas áreas de foco: considerações para implementadores da API de Geolocalização (criadores de navegadores) e para receptores das informações de localização (desenvolvedores de softwares).

O trabalho de projetar os mecanismos em si e as interfaces de usuário para requisitar, obter e gerenciar as permissões é deixado para o navegador. A especificação simplesmente diz que, de modo a obedecer às especificações, as informações de localização não devem ser obtidas sem permissão do agente do usuário (um navegador da web.

Além disso, a especificação coloca requisitos adicionais para os receptores de dados de localização. Eles devem divulgar que estão coletando dados; proteger os dados contra acesso não autorizado; permitir que o usuário atualize e exclua qualquer dado armazenado por eles; dizer ao usuário por quanto tempo os dados ficarão armazenados; dizer ao usuário se os dados serão retransmitidos; e divulgar como os dados são protegidos.

A parte do navegador na equação não é preocupante. Os criadores de navegadores assumem muito seriamente a responsabilidade de fornecer um ambiente seguro. No entanto, o papel do receptor (desenvolvedor de aplicativos web) neste cenário deve causar preocupação. Os processos pelos quais um receptor de dados de localização - ou dados de qualquer dispositivo, na verdade - atende aos requisitos da especificação, cabem atualmente ao desenvolvedor individual. Alguns desenvolvedores nem mesmo têm consciência dos requisitos, e não há nenhum mecanismo de fiscalização.

Embora os navegadores perguntem especificamente se seus dados de localização podem ser obtidos, você tem pouco, ou nenhum, conhecimento ou garantia de que os dados não serão armazenados ou usados para propósitos diferentes dos que foram aprovados por você. Esta é a próxima frente na batalha pela privacidade na web.

Soluções escassas para proteger a privacidade
O Platform for Privacy Preferences Project (P3P), do W3C, foi elaborado muitos anos atrás apenas para enfrentar este tipo de problema, criando para tanto uma linguagem padrão que os websites pudessem utilizar para comunicar suas políticas de privacidade. Com o P3P, os navegadores poderiam informar os usuários sobre as políticas do site e, até mesmo, deixá-los optar por não visitar sites com cujas políticas eles não estivessem confortáveis. Porém, o P3P nunca "pegou" entre os criadores de navegadores e seu trabalho foi suspenso.

Atualmente, o Privacy Interest Group e o Tracking Protection Working Group, também do W3C, representam apenas dois dos esforços contínuos para aumentar e padronizar a segurança e privacidade na Web - e no HTML5.

Talvez, o avanço mais notável na privacidade dos navegadores, em meses recentes, seja a implementação da especificação "Não Rastrear" (Do Not Track ou DNT) por todos os principais criadores de navegadores. Alguns navegadores, incluindo o Internet Explorer 10, foram mais longe a ponto de habilitar o DNT por padrão.

O DNT é uma preferência no navegador que é enviada através do cabeçalho HTTP aos websites. Essa proteção é, na verdade, bastante fraca, já que os websites atualmente se submetem voluntariamente à preferência do usuário de não ser rastreado.

Embora a indústria da publicidade tenha dito, de modo geral, que respeitaria as preferências do DNT, pouco foi feito em relação a isso. O proposto California Right to Know Act, de 2013, por exemplo, permitiria que as pessoas solicitassem às empresas um relatório sobre o que estas sabem sobre aquelas. Após ser hostilizado por grupos de lobby da indústria da internet, o Right to Know Act foi posto de lado, no mínimo, pelo resto de 2013.

Na ausência de um mecanismo voluntário viável para que os websites divulguem suas políticas, a legislação parece a única boa solução para um problema que só está piorando, conforme os profissionais do marketing coletam mais dados sobre os usuários. A chefe da Comissão Federal do Comércio, Edith Ramirez, recentemente incitou a indústria da publicidade a cumprir a promessa do DNT. Enquanto isso, a legislação de "Não Rastrear" foi proposta no Congresso, e, conforme o padrão continua sendo discutido, o assunto recebe mais atenção.

Fonte: Minnick , Chris . "Como garantir a privacidade na era do HTML5 - CIO." CIO - Gestão, estratégias e negócios em TI para líderes corporativos. http://cio.uol.com.br/tecnologia/2013/07/01/como-garantir-a-privacidade-na-era-do-html5/ (accessed July 3, 2013).

Nenhum comentário:

Postar um comentário

deixe aqui seu comentário