Conhecer o inimigo

Terça-feira, 4 de maio de 2010

Também postado no blog de segurança on-line do Google (em inglês)

Queremos que os Googlers tenham um entendimento sólido das ameaças que nossos serviços enfrentam e de como se protegerem contra elas. Trabalhamos para alcançar esses objetivos de várias maneiras, incluindo treinamento de segurança para novos engenheiros, apresentações técnicas sobre segurança e outros tipos de documentação. Também usamos codelabs, tutoriais de programação interativos que orientam os participantes em tarefas de programação específicas.

Um codelab em particular ensina os desenvolvedores sobre tipos comuns de vulnerabilidades de apps da Web. Pensando no princípio "é preciso um hacker para pegar outro hacker", o codelab também demonstra como um invasor pode explorar essas vulnerabilidades.

Lançamos hoje este codelab, chamado "Exploits e defesas de apps da Web", em colaboração com a Google Code University e o Google Labs para ajudar os desenvolvedores de software a reconhecer, corrigir e evitar falhas semelhantes nos próprios apps. O codelab foi criado no Gruyere, um app de microblog pequeno, mas completo, projetado para conter muitos bugs de segurança. As vulnerabilidades cobertas pelo laboratório incluem scripting em vários locais (XSS), falsificação de solicitação entre sites (XSRF) e inclusão de scripting em vários locais (XSSI), além de manipulação de estado do cliente, travessia de caminhos e vulnerabilidades de AJAX e configurações. Ele também mostra como bugs simples podem levar à divulgação de informações, à negação de serviço e à execução de código remoto.

O lema "Dados olhos suficientes, todos os erros são óbvios" só é verdadeiro se os olhos souberem o que procurar. Por isso, os bugs de segurança no Gruyere são reais, assim como os de muitos outros apps. O código-fonte do Gruyere é publicado sob uma licença Creative Commons e está disponível para uso em exercícios de hackers caixa branca ou em aulas de ciência da computação relacionadas à segurança, à engenharia de software ou ao desenvolvimento geral de software.

Para começar, acesse https://google-gruyere.appspot.com/. Veja o guia do instrutor para usar o codelab na Google Code University.