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

sexta-feira, 19 de outubro de 2007

Segurança da Web 2.0 - Como Proteger

No último post discuti sobre as vulnerabilidades e riscos na Web 2.0. Para lembrarmos do assunto, o termo “web 2.0” foi criado há cerca de quatro anos por Tim O’Reilly, no que ele chama de revolução na indústria da computação pelo movimento para a Internet como plataforma. Como vimos, os riscos da web 2.0 são inerentes à própria plataforma, caracterizada pela independência das aplicações em relação ao sistema operacional, pelo fato das aplicações serem criadas para executar sobre uma nova camada (WebOS) baseada no browser Internet e pelo usuário executar uma aplicação que “está” na Internet e não em seu computador. Para possibilitar a web 2.0 uma série de tecnologias e protocolos foram criados ou agrupados, como o AJAX, CSS, RSS/Atom, XACML e SOAP. O artigo “Top 10 Web 2.0 Attack Vectors”, disponível em http://www.net-security.org/article.php?id=949&p=1 é uma boa referência sobre os principais problemas.

Nesse post irei abordar a pergunta que vem imediatamente depois: como proteger uma aplicação criada em web 2.0 e como proteger-se de um eventual ataque via uma aplicação em web 2.0. Infelizmente não há uma resposta clara e fácil para isso. Como qualquer outra nova aplicação, os riscos, vulnerabilidades e meios de proteção não estão claros. Não há ainda um pacote definitivo de proteção para a web 2.0 e suas tecnologias, embora muitos dos problemas e vulnerabilidades sejam detectados e evitados por ferramentas de segurança. Isso ocorre porque muitas das tecnologias nas novas aplicações web são tecnologias já conhecidas utilizadas de outra maneira, ou simplesmente reutilizadas. Esse fato também recuperou antigas vulnerabilidades, como o cross-site scripting (para quem quiser conhecer mais: http://www.cgisecurity.com/articles/xss-faq.shtml).

Esssas antigas vulnerabilidades e ataques a elas relacionados podem ser detectados por sistemas tradicionais de proteção. Sistemas IPS de primeira linha, por exemplo, possuem proteção para ataques explorando cross-site scripting. Da mesma forma, sistemas de antivírus tradicionais podem detectar alguns exploits. No entanto é importante lembrar que o conjunto de tecnologias que formam a web 2.0 vão muito mais além dessas tecnologias e protocolos reutilizados, e esse conjunto ainda não é inteiramente protegido. Nesse sentido a web 2.0 é um exemplo perfeito de como novas tecnologias de negócio não são integralmente protegidas por tecnologias de segurança mais antigas. Infelizmente as empresas continuam mais lentos que a indústria do crime em adotar novas tecnologias, e geralmente aceitam soluções “good enough” (boas apenas o suficiente) para aperfeiçoar sua proteção.

Nesse momento é essencial que a proteção comece na fase de planejamento e depois no desenvolvimento da aplicação. Os desenvolvedores devem estar cientes das implicações de segurança e escrever as aplicações com elas em mente. Da mesma forma a empresa deve estar preparada para a necessidade de horas de desenvolvimento dedicadas ao teste e revisão de segurança das aplicações, assim como em treinamento específico. Novamente, todos esses cuidados devem começar na fase de planejamento. Infelizmente muitos se preocupam com segurança depois, e nesses casos o estrago já está feito. Para ajudar nesta parte uma nova categoria de produtos de segurança foi criada, com o intuito de testar as aplicações web e identificar erros de programação. Não é por acaso que duas entre as principais empresas do setor foram recentemente adquiridas: a SPI Dynamics pela HP, e a Watchfire pela IBM. Outras empresas de segurança vem anunciando novos produtos ou extensão de produtos atuais.
Outra camada de segurança deve ser implementada no lado oposto da conexão, ou seja, no computador do usuário. Nesse caso o antivírus tradicional de assinaturas é bastante limitado e nem todas as técnicas são eficientes. Em muitos casos a detecção restringe-se a exploits já conhecidos, o que é completamente inócuo contra exploits montados “on the fly” (um excelente artigo sobre isso está disponível em
http://blogs.iss.net/archive/x-MorphicAttackEngin.html). As apostas para a proteção efetiva do usuário estão na tecnologia de detecção de aplicações maliciosas por comportamento.

A base da tecnologia está no comportamento do programa, sobreo qual o software de segurança pode dizer se há um comportamento maligno ou não. Ainda há necessidade, para esses programas, de atualizar os tipos de comportamentos, tal qual as assinaturas de vírus que fazemos hoje, no entanto comportamento é algo muito mais abrangente e eficiente. Pode parecer que a detecção comportamental será a panacéia para a segurança. Não a vejo como panacéia, mas como uma solução possível para um problema que a cada dia se torna mais complicado.

Nenhum comentário:

Postar um comentário