quinta-feira, 19 de março de 2009

Vulnerabilidades de sistemas web são maioria

A Cenzic divulgou um seu relatório de segurança de aplicações web do segundo semestre de 2008.

Meu impressionaram algum números:
  • 80% das ulnerabilidades publicadas são relativas à web, incluindo browsers, plugins e sites.
  • Desse 79% estão presentes em aplicações web propriamente ditas.
  • Os principais problemas das aplicações web ainda são, nesta ordem:
    • SQL injection
    • DoS
    • Cross-site Scripting
  • CRSF ainda foi uma parcela bem pequena das vulnerabilidades relatadas
Por outro lado, não foi surpresa ver ActiveX e Javascript como grandes vetores de problemas. Fora a dificuldade de controlar o ambiente de execução, também a complexidade em se testar sistemas com grandes funcionalidades implementadas no cliente, como AJAX a ActiveX.

O relatório tem mais dados e vale a pena ser lido por quem lida com sistemas web.

quarta-feira, 11 de março de 2009

Whirlpool

Eu venho recomendando o uso da função de hash Whirlpool já tem algum tempo. Eu tinha dois motivos pra isso:
  1. Um dos autores desse hash é brasileiro (prof. Paulo Barreto da USP)
  2. É uma função que tem uma estrutura completamente diferente da estrutura das funções MD5 e SHA, que estão sendo quebradas aos poucos.
Infelizmente, hoje eu recebi o email abaixo:

Prezad@s,

Alguns de vocês (ou tod@s) já devem ter ouvido falar do ataque recentemente publicado por Rechberger et al. no FSE contra 7.5 das 10 rodadas do Whirlpool, superando o melhor ataque anteriormente conhecido (contra 7 rodadas) mencionado na especificação da função (NESSIE workshop, 2000).

Esse ataque, conquanto inefetivo em si, abre caminho a novos aperfeiçoamentos que poderiam, em princípio, alcançar a função inteira, uma vez que seu custo é muito baixo em comparação com força bruta ou paradoxo do aniversário (2^143 passos).

Estou acompanhando com Vincent Rijmen, o outro autor da função, os desenvolvimentos relativos ao Whirlpool, e achamos prudente alertar a comunidade a respeito mesmo na ausência de resultados concretos mais expressivos de criptoanálise contra essa função de hash.

Desta maneira, *é nossa recomendação que o Whirlpool NÃO seja utilizado em novas aplicações* na medida do possível.

Abraços,

Paulo Barreto.
Assim, nada me resta a não ser acatar a recomendação dos próprios autores e deixar de recomendar o uso da função Whirlpool. Agora resta-nos aguardar o SHA-3...

Update:
Recebi outro email do Paulo Barreto com mais explicações:
Prezad@s,

Tenho recebido comentários sobre o "fato de Whirlpool" ter sido quebrado, ou "estar em vias de". Gostaria de esclarecer que, até onde eu sei (e tenho acompanhado de perto o assunto), (1) Whirlpool *não* foi quebrado, (2) *não* se conhece maneira de quebrar melhor que paradoxo do aniversário e força bruta, (3) os autores da função *não* temos ideia de como estender o ataque rebote ou qualquer outro contra Whirlpool a curto prazo, e (4) ainda temos a opinião de que, por tudo o que se sabe de criptoanálise de funções de hash, Whirlpool continua mais seguro que a família SHA inteira, inclusive as funções SHA-2.

Deixar de recomendar o uso da função em novas aplicações é uma precaução justificada pela perspectiva do futuro SHA-3, exatamente na mesma medida em que o processo do SHA-3 é uma precaução do NIST relativa à situação da família SHA.

Abraços,

Paulo Barreto.

Ou seja, o Whirlpool ainda pode ser uma opção para esperar o SHA-3. A verdade é que até a escolha do SHA-3, estaremos numa situação meio nebulosa, já que os padrões de fato e de direito estão todos sob suspeita.

Recebi alguns questionamentos sobre deixar de recomendar o Whirlpool já que este ainda seria mais seguro que muitas funções de hash usadas por aí (incluindo SHA-2). Meu posicionamento é que, se os autores da função deixam de recomendar o uso da função, eu humildemente acato esta posição. É muito louvável que os autores sejam precavidos e considero este um gesto a ser aplaudido e seguido. Não tenho a pretensão de desabonar o trabalho de quem quer que seja.

Meu problema agora é achar outra função que valha a pena ser recomendada.

quinta-feira, 5 de março de 2009

BSIMM

Algum tempo depois de ser anunciado como work in progress, finalmente saiu a primeira versão do Build Security In Maturity model: http://www.bsi-mm.com/.

A idéia é gerar uma espécie de CMM para medir a maturidade das organizações na área de segurança de aplicações. Tomara que dê certo...