Como jogar cartas para proteger o desenvolvimento de aplicações web?

Por Wagner Mendes Voltz*, facilitador/agile coach da DB1

Você já ouviu falar em codificação segura? Sabe onde encontrar material sobre isto? E sabe onde encontrar cases sobre segurança em software?

Pois bem, talvez você tenha aberto uma nova aba no navegador e começado a pesquisar. Garanto que você encontrou poucas referências em português, mesmo a nossa nação sendo um país com muitos incidentes referentes a segurança. Segundo dados da CERT.br (Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil), em 2016 foram reportados quase 650.000 incidentes entre Scam, Worm, invasões e fraudes.

Mas será que este tema deve ser observado somente por equipes de infraestrutura e redes? Quão importante é um desenvolvedor de aplicações web conhecer possíveis tipos de ataques existentes? E se o desenvolvedor tiver este conhecimento, ele poderia mitigar as vulnerabilidades através da codificação correta e segura de software?

Pensando em facilitar este conhecimento, a OWASP (Open Web Application Security Project) desenvolveu um Agile Game denominado Cornucopia. O objetivo do jogo é gerar uma lista de bugs potenciais numa aplicação web por meio de gameficação e participação de diversos interessados no produto (desenvolvedores, analistas, testers, donos de produto ou outros stakeholders). O game não prevê como serão solucionadas as vulnerabilidades identificadas. Isto deve ser feito em outro momento. O benefício gerado é que se tem exatamente quais itens de segurança que devem ser tratados pelo time responsável pelo desenvolvimento de software.

O jogo é composto por um baralho com 6 naipes e 2 curingas. Cada naipe representa uma categoria que deve ser validada no software web, tais como controle de acesso, criptografia, autenticação e gerenciamento de credenciais, entre outros.

Aqui na empresa, fizemos uma análise do funcionamento do jogo e realizamos a tradução de todas as cartas para que os participantes internos não tivessem problemas com o idioma original (em inglês). Elencamos times e fizemos a primeira validação para coletar feedback positivos e pontos de melhoria para aprimorar o game. Depois de alguns testes, os resultados colhidos do game estão sendo adicionados aos backlogs dos times envolvidos para serem analisados em momento oportuno.

A experiência foi tão interessante, que produziremos nosso próprio baralho para tornar o jogo ainda mais profissional e agradável e expandiremos o game para todos os times de desenvolvimento com o objetivo de gerar mais segurança para as soluções de software da empresa.

Saiba mais detalhes do jogo em:  https://blog.db1.com.br/owasp-cornucopia-agile-game/

Fontes:

https://www.cert.br/stats/incidentes/ (acessado dia 20/02/2018 às 16h27)

https://www.cert.br/stats/incidentes/2016-jan-dec/tipos-ataque.html (acessado dia 20/02/2018 às 16h28)

———————

*Wagner Mendes Voltz é facilitador/agile coach da DB1 Global Software. Desenvolve sistemas há mais de 10 anos.