O Primeiro Passo é Admitir que o Problema Existe

Michael Howard escreveu um post sensacional no blog do SDL que remete às estatísticas de vulnerabilidades que a Microsoft compilou após o primeiro ano do Windows Vista. Para recapitular, as estatísticas mostraram que o Windows Vista teve no seu primeiro ano menos da metade do número de vulnerabilidades divulgadas que o Windows XP no seu primeiro ano, mesmo tendo quase 50% a mais de linhas de código.

Isso para nós da Microsoft é a parte mais importante do relatório. Mostra  o investimento em um processo de desenvolvimento seguro está dando resultados. Mostra que a Microsoft está melhorando. Ainda há muito o que se fazer, claro.

Outra parte do relatório compara estes números de vulnerabilidades encontradas com os de outros sistemas operacionais de desktop, como o Ubuntu Linux, Red Hat Enterprise Linux e Mac OS X. E a coisa não ficou nada boa para este último, e é francamente vergonhoso para distribuições Linux, que tiveram aproximadamente 5 vezes (Ubuntu) ou 10 vezes (Red Hat) mais vulnerabilidades.

Assim como Michael Howard, eu também recebi todo o tipo de desculpa sobre estes números:

¦ "Eu uso Linux sem antivirus e nunca tive problema"

¦ "A Microsoft esconde as suas vulnerabilidades"

¦ "Com estatísticas você consegue provar qualquer coisa"

¦ "Nós somos mais seguros porque corrigimos mais vulnerabilidades"

Oops, este último foi a Red Hat!

OK, vamos então deixar a comparação com o Windows de lado por um segundo. Vamos inclusive remover as barras do Windows do gráfico original, e ficar aqui com essa versão:

Vulnerabilidades no Primeiro Ano de Lancamento

Não importa como você queira ver, quatrocentas vulnerabilidades encontradas em um ano é muita coisa. Significa mais de uma vulnerabilidade por dia, praticamente duas vulnerabilidades por dia se você contar somente os dias úteis! E note que isso se refere apenas a parte básica do sistema operacional - estamos excluindo aqui os pacotes de escritório, compiladores e tudo mais.

Ainda assim, eu não vejo ninguém admitir isso como sendo um problema. Você esperaria alguém dizer "olha, temos um problema, vamos procurar uma solução para isso". Mas isso nunca veio. Ao contrário, as poucas iniciativas para implementar uma melhoria sistemática na qualidade do software falharam (nesse caso em particular, o responsável acabou depois vindo trabalhar na Microsoft).

O primeiro passo para resolver o problema é admitir que ele existe. A Microsoft reconheceu isso abertamente e embarcou em uma jornada para produzir softwares mais seguros. Outros fabricantes preferem negar que o problema existe. Os números só refletem isso.