segunda-feira, 12 de julho de 2010

Bugs em softwares

Em meus primeiros escritos sobre segurança, falando nas vulnerabilidades do Windows NT – que os linuxistas de plantão apelidaram maldosamente de “Nice Try” (boa tentativa) ou de “colcha de retalhos” (por conta dos constantes remendos incorporados ao código original do sistema) – eu já dizia que nenhum software está livre de apresentar bugs, falhas e vulnerabilidades, e, paralelamente, aplaudia a Microsoft pela preocupação que ela demonstrava em desenvolver e disponibilizar as devidas correções para os usuários de seus produtos.
Esse contexto me volta agora à memória por conta de uma matéria que li recentemente na PC World americana, segundo a qual tanto a Adobe quanto a Microsoft (tidas como campeãs em número de bugs identificados em seus produtos) não avisam sobre todas as vulnerabilidades de segurança que corrigem em seus pacotes de software. Essa falta de transparência veio à tona recentemente graças a uma empresa chamada Core Security Technologies, que, após estudar as correções MS10-024 e MS10-028, notou três correções que não tinham sido divulgadas. Aliás, a Adobe também tem “ficado na moita” em relação a correções de vulnerabilidades internas, usando números de CVE somente para bugs ativamente explorados ou relatados por pesquisadores externos (correções de brechas que ela tenha encontrado por si mesma são consideradas simplesmente como “melhorias de código”).
Ainda segundo a matéria, silenciar sobre atualizações de segurança traz conseqüências, pois os desenvolvedores e pesquisadores têm usado contagem de CVEs (mais informações em http://cve.mitre.org/) para mensurar a segurança de diferentes aplicações e sistemas operacionais. No entanto, existem várias maneiras de medir segurança, e a contagem de vulnerabilidades é somente uma delas (a comparação do número de vulnerabilidades por linha de código de software, por exemplo, oferece outra métrica).
Já a Microsoft, por seu turno, entende que a discussão sobre a contagem de vulnerabilidades distrai os pesquisadores da correção das falhas. Segundo a empresa, quando uma falha reportada se desdobra em 200 bugs relacionados, e a mudança de uma simples linha de código bloqueia todos os problemas potenciais, interpretar isso como a correção de uma ou de 200 vulnerabilidades é uma questão eminentemente subjetiva, e que gastar tempo fazendo a contabilidade correta implica postergar a obtenção de soluções para proteger os consumidores.
Enfim, como diz um velho ditado, “em casa onde falta pão, todos gritam e ninguém tem razão”.
Tenham todos uma ótima semana.