Olá,

Em minhas interações com clientes e parceiros costumo tratar de um tema muitas vezes deixado de lado pelas equipes de desenvolvimento – a segurança de suas aplicações web.

Sem discutir em profundidade as razões pelas quais esse tema muitas vezes é “esquecido”, obtive a seguinte resposta de alguns gestores quando os desafiei sobre esta questão:

“Meu backlog de atendimento já esta muito alto, para que evidenciar mais ainda as vulnerabilidades de minhas aplicações? Isso pode afetar o moral de minha equipe de desenvolvimento, pois eles saberão que será quase impossível atender as demandas dos usuários, corrigir bugs funcionais e ainda ter que se precoupar com a enorme lista de problemas apontados".

“Há alguma evidência de empresas de meu segmento no Brasil que sofreram ataques deste tipo?”

Numa discussão com uma platéia a pergunta “Levante a mão quem daqui tem uma aplicação web (externa) e que captura informações de seus clientes”, normalmente vem acompanhada de braços levantados pela vasta maioria de presentes.

Já, a pergunta “Mantenha a mão erguida aqueles que possuem recursos (processos ou ferramentas) para garantir que essas aplicações passem por validações simples de segurança”, vem acompanhada de uma sala com braços abaixados.

É fato que o o tema “testes de vulnerabilidades” é muito pouco explorado e que algo precisa ser feito (me surpreendo com simples tentativas de inserir caracteres especiais num campo de login e senha de um site qualquer e ver uma mensagem de erro sendo exibida com o nome de uma tabela de um banco de dados).

Porém o o ponto aqui é: antes de sua empresa investir numa ferramenta de afere as vulnerabilidades de sua aplicação, explore os recursos que você já tem “dentro de casa”.

Aposto que você que estas ferramentas apontarão, em sua grande maioria vulnerabilidades tão “comuns” (cross-site scripting, cross-site request forgery, SQL injection, DoS e outras), que os recursos que aponto abaixo são mais do que suficientes para identificar e muitas vezes corrigir esses problemas.

Acho importante dizer que não sou contra qualquer investimento ou movimento de uma organização no sentido de aprimorar os mecanismos de segurança de suas aplicações, porém quero convidá-los a, antes de colocar a mão no bolso, colocar a mão na consciência. Winking smile

Abaixo relaciono alguns recursos que podem ser úteis:

Blog do time de SDL (Security Development Lifecycle)
http://blogs.msdn.com/b/sdl/

Templates de processo para o TFS ligados a questão de segurança (requisitos, work items, políticas de checkin, etc.)
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=1913

Ferramentas para tratar da questão da segunrança ao longo de todo o ciclo de desenvolvimento (atenção a cada uma das etapas e no link “TOOLS”)
http://www.microsoft.com/security/sdl/adopt/tools.aspx

Ferramentas gratuitas para testar sua aplicação sob o aspecto de segurança:
http://blogs.msdn.com/b/sdl/archive/2011/08/25/updates-to-sdl-tools-are-now-available.aspx

Boa leitura!

Rodrigo de Carvalho
Gerente de Produtos Ferramentas de Desenvolvimento
Twitter @rodrigoorzari