Os artigos refletem a opinião pessoal do autor, e não de seus empregadores.

quinta-feira, 18 de outubro de 2007

Segurança na Web 2.0

Novas aplicações trazem novas ameaças. Essa é uma verdade universal em segurança da informação, e sempre que algo novo é lançado ela se confirma. Há cerca de quatro anos Tim O’Reilly cunhou o termo “web 2.0” para o que ele chama de revolução na indústria da computação pelo movimento para a Internet como plataforma. Essa última definição pode ser encontrada no link http://radar.oreilly.com/archives/2006/12/web_20_compact.html. Para os usuários, web 2.0 tem outros significados: abertura, colaboração e participação. Para os hackers e invasores de plantão, o significado é outro: oportunidade.

Há hoje alguma polêmica sobre o significado e impacto da web 2.0, mas é fato que um de seus componentes principais já é realidade hoje: a utilização da web, ou melhor, da plataforma web como plataforma para execução de software. É como se o navegador se tornasse o novo sistema operacional sobre o qual os sistemas são executados e com o qual interagem diretamente. Não é por acaso que o nome dado a essa plataforma é justamente Web Operating System, ou só WebOS. Também há muita discussão da definição correta de Web Operating System, no entanto há pontos que claramente definem essa plataforma:
  • Independência do sistema operacional (o aplicativo é criado para o WebOS e não para o sistema operacional)
  • Os WebOS são executados sobre o navegador, e não interagem diretamente com o hardware e drivers
  • O computador do usuário executa uma aplicação que “está na Internet” e não em seu computador.

Os riscos da web 2.0 são inerentes à própria plataforma. Apenas o fato de introduzir uma nova camada já traz um risco potencial, pois os hackers poderão utilizar essa nova camada como meio de acesso aos seus alvos, o que é aliás a maneira como qualquer invasor atua. Muitas pessoas acreditam que os hackers estão a margem da “sociedade digital”, como em uma espécie de submundo na Internet. Grande engano! Os hackers utilizam completamente a Internet e seus infindáveis recursos, assim como toda a tecnologia nela existente. Ou seja, qualquer serviço ou tecnologia existente serve tanto para fins benéficos como para fins maléficos. O correio eletrônico é o melhor exemplo: não precisamos proteger a infraestrutura de email contra tecnologias de invasão. Precisamos protegê-la contra ela mesma, contra suas vulnerabilidades e facilidades que permite o seu uso para o crime e outros propósitos.

Há alguns exemplos de ataques que se utilizaram da plataforma da web 2.0, e já documentados inclusive com plena cobertura da mídia. Um deles foi o worm Yamanner, lançado em junho de 2006. O alvo do ataque eram usuários do Yahoo Mail, que recebiam o worm codificado em Java Script em mensagens HTML. O script mal-intencionado era automaticamente processado e começava a enviar mensagens para os endereços cadastrados pelo usuário, entre outras ações de impacto limitado. Vejam que aqui o worm explorou diretamente uma vulnerabilidade no aplicativo do Yahoo, sem nenhuma dependência de sistema operacional da vítima. Outros foram o Samy e o Spaceflash que tiveram como alvo o MySpace, e atacaram usuários do site alterando o perfil deles e os incluindo como amigos do autor do ataque, entre outros.

Para piorar, mais do que usar a camada WebOS como meio de acesso, hackers vem utilizando os serviços de web 2.0 como ferramentas de trabalho para a criação de malware. O site GNUCITIZEN lista na página ao lado cinco serviços de grande utilidade para hackers. http://www.gnucitizen.org/blog/the-top-5-most-popular-web20-services-hackers-cannot-live-without. O site lista como os hackers estão usando o Yahoo Pipes, Dapper, Feed43, Zoho Creator e Google Reader em benefício próprio. Um exemplo o utilitário Jitko, uma ferramenta de varredura de vulnerabilidades para web sites. A diferença para as ferramentas tradicionais é que o Jitko é executado sobre o navegador, e não sobre o sistema operacional. Ou seja, é uma típica aplicação de web 2.0, baseada em WebOS. Ele pode ser embutido dentro de um web site e executar mesmo contra o desejo do proprietário do computador. Uma descrição da ferramenta está em http://www.zone-h.org/content/view/14660/31.

Um dos principais vetores de ataque é o AJAX, acrônimo para Asynchronous JavaScript and XML. O AJAX é uma das principais tecnologias existentes, e talvez a mais usada, para permitir a colaboração e interação nos web sites. A maneira como as aplicações são executadas no AJAX, com interações diretas entre o navegador, o servidor e outros web sites, permite que código e usos mal-intencionados sejam adicionados sem muita dificuldade, além da vantagem da execução de tais códigos ocorrer longe dos olhos do usuário. Quando é possível o usuário perceber algo, a aplicação já está rodando em seu navegador. Os ataques via AJAX ocorrem através de um velho problema, o cross-site scripting ou XSS. O cross-site scripting era considerada uma vulnerabilidade já equacionada, e a web 2.0 a resgatou dando a ela uma nova dimensão. Via cross-site scripting é possível ao invasor quase tudo, como roubar dados confidenciais, executar código arbitrário e até assumir o controle do computador do usuário.
Mas o AJAX não é infelizmente o único vetor de ataque. Outro bastante utilizado é XML, no que se chama de envenenamento de XML (Extensible Markup Language). A função do XML é justamente facilitar o compartilhamento de dados entre diferentes aplicações, o que inclui é claro as aplicações web. Pelo envenenamento de XML é possível provocar queda de serviço (DoS) ou executar código arbitrário no computador da vítima. Há ainda o chamado RSS Injection. RSS como todos sabemos é uma das coisas mais legais que a web 2.0 trouxe para os usuários: a possibilidade de mantê-los notificados de atualizações de conteúdo em seus sites preferidos. Mas há o lado negro: a possibilidade de embutir código Javascript mal-intencionado e executá-lo arbitrariamente no computador da vítima, permitindo por exemplo roubo de informação. Além destes há ainda riscos em SOAP, WSDL (Web Services Definition Language) e RIA (Rich Internet Applications). Todos são linguagens, protocolos, interfaces ou serviços que permitem a web 2.0 existir.

A existência de tantas vulnerabilidades novas, além do resgate de antigas vulnerabillidades, mostra o maior desafio para a segurança digital: ela sempre vem em segundo plano, seja no desenvolvimento de novas aplicações, seja na implementação dela por empresas usuárias. Depois que é tudo desenvolvido e instalado, e os problemas começam a aparecer, é que todos passam a pensar no assunto, como se não fosse algo possivel de prever com antecipação. É claro que a prevenção não resolve tudo, mas reduz bastante o problema. Depois de tantos anos lidando e sofrendo com ataques e o crime cibernético, poderiamos fazer com que a frase “novas aplicações trazem novas ameaças” deixasse de ser uma verdade inquestionável.

Um comentário:

Anônimo disse...

Sim, provavelmente por isso e

Postar um comentário