Segurança e usabilidade

January 21st, 2004 § 2 comments

Um dos sistemas que eu uso regularmente possui um mecanismo para prevenir ataques de força bruta na interface de autenticação. O sistema permite três tentativas de entreda e caso as três falhem bloqueia a entrada do login tentado por um determinado período de tempo — que é razoavelmente longo, por sinal. Uma vez que o período de tempo tenha expirado é possível fazer mais três tentativas. Caso haja uma nova falha na autenticação, o sistema é bloqueado novamente e o período de bloqueio aumenta. Novas tentativas causam um efeito cumulativo, com o período de bloqueio sempre aumentando.

Esse é um esquema interessante que possui algumas vantagens óbvias para a segurança. Embora eu nunca tenha tentado, eu imagino que após um certo número de tentativas o login usado é bloqueado definitivamente, e uma ação administrativa é requerida para habilitá-lo novamente.

Esses dias porém, ao errar na autenticação três vezes seguidas, descobri que esse esquema tem um pequeno ponto fraco. Sem querer, eu havia digitado o meu nome de usuário errado embora a senha estivesse correta. Quando a quarta tentativa falhou, depois que eu já tinha esperado o período de bloqueio passar, é que percebi o erro e consegui entrar.

O ponto interessante aqui é que os nomes de usuários que qualquer sistema permite são limitados e o meu erro na verdade bloqueou o acesso de outra pessoa. Embora não seja o caso desse sistema, em uma outra aplicação com um padrão de uso muito maior por parte dos seus usuários, esse tipo de coisa pode acarretar inconveniências e até problemas reais para seus usuários. Imagine isso acontecendo em um sistema de home-banking, impedindo que um usuário entre por causa do erro de outro. Embora a chance seja mínima, o risco de prejuízos é grande caso alguma coisa aconteça.

Moral da história: um sistema deve conter o máximo de medidas de segurança passíveis de implementação no mesmo sem entretanto comprometer a sua própria usabilidade.

§ 2 Responses to Segurança e usabilidade"

  • Michel says:

    Ronaldo.

    Interessante essa sua observação. Veja, no caso do home-banking do itaú tive essa experiência ao digitar a conta do meu pai e a minha senha, acabei bloqueando o acesso dele.

    Agora, não vejo uma forma de também não bloquear o acesso neste caso.

    Abraço,
    Michel

  • Ronaldo says:

    Realmente o problema é mais complicado do que parece. No meu blog em inglês, o Simon Willison notou que esse tipo de coisa pode levar até a ataques do tipo “Denial of Service”. É um bom problema a ser pensando. Provavelmente existe alguma solução que crie um balanço entre as duas coisas: a necessidade de bloquear o acesso indevido e evitar ataques ao sistema.

What's this?

You are currently reading Segurança e usabilidade at Superfície Reflexiva.

meta