Por que o Firefox força um atraso de 3 segundos antes de instalar os complementos?

53

Eu presumo que haja um benefício de segurança para o atraso do Firefox antes de instalar os complementos, mas pela minha vida não consigo descobrir o que é. (Sim, eu sei que você pode desativar o atraso.)

Se você responder a essa pergunta, forneça referências das listas de discussão do Firefox ou dos registros de confirmação.

    
por Natan Yellin 08.08.2011 / 13:48

1 resposta

71

Por quê?

  • Porque eles querem que você pense sobre o que está fazendo
  • Porque evita instalações acidentais
  • Porque evita instalações acionadas maliciosamente

Como você pode, maliciosamente, acionar uma instalação?

Veja um artigo interessante sobre condições de corrida em diálogos de segurança por Jesse Ruderman:

Another form of the attack involves convincing the user to double-click a certain spot on the screen. This spot happens to be the location where the 'Yes' button will appear. The first click triggers the dialog; the second click lands on the 'Yes' button. I made a demo of this attack for Firefox and Mozilla.

Firefox's solution, from bug 162020, is to delay enabling the "Yes"/"Install" buttons until three seconds after the dialog appears. I believe that this is the only possible fix other than completely denying untrusted content the ability to pose the dialog. Unfortunately, this fix is frustrating for users who install extensions often.

Basicamente, tudo se resume a prever quando um usuário clicaria e interceptaria esse clique em um diálogo de instalação. Ruderman explicou uma situação de jogo mais concisa como esta em seu relatório de bugs do Firefox, que levou à inclusão do período de atraso.

Para resumir novamente, seu ponto principal foi:

If I can control or predict when and where a user will click, I can get them to install software.

Quaisquer alternativas ao período de atraso?

O período de atraso foi certamente apenas uma maneira de lidar com isso. Outro poderia ter sido embaralhar os botões para "Instalar", "Cancelar" toda vez que você instalasse algo. Isso é algo usado com muita frequência, mas confunde mais o usuário do que ajuda.

Outra ideia seria mover a localização da janela aleatoriamente para cada caixa de diálogo. Isso tem o mesmo resultado de embaralhar os botões, ou seja, confundir o usuário.

Além disso, a introdução da aleatoriedade não é a solução final. Se houver atalhos de teclado para os botões, você também poderá interceptar as teclas pressionadas. Isso tudo dito, parece mais como um recurso legado hoje, como a maioria dos plugins são instalados a partir do site oficial do Firefox de qualquer maneira.

    
por 08.08.2011 / 14:04

Tags