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

54

Presumo que haja um benefício de segurança no atraso do Firefox antes de instalar os complementos, mas durante toda a 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 nas listas de discussão do Firefox ou nos registros de confirmação.

Natan Yellin
fonte
12
A pergunta deve ser "por que a Mozilla é a única a fazer isso?". IMHO, toda nova caixa de diálogo deve ativar os botões um segundo depois de mostrá-los, porque você pode clicar acidentalmente nela (ou alguém quer que você clique nela sem o seu consentimento). Eu realmente odeio quando clico em algum lugar e um botão aparece logo antes de clicar. Isso também acontece com os telefones quando alguém liga para você no momento em que você deseja tocar no botão "reproduzir".
Mike
4
"Se você responder a esta pergunta, forneça referências das listas de discussão do Firefox ou registre registros". Se esse é seu requisito, você não pode fazer sua própria pesquisa?
KMM
2
Talvez não seja tão fácil de encontrar, ou há outras coisas a considerar. Talvez alguém aqui tivesse mais informações internas - quem sabe? Não é ruim perguntar per se @ Kevin
slhck 8/08
Tentei me olhar, mas não consegui encontrar a informação. (Eu disse isso em uma edição horas atrás, que foi de alguma forma perdeu: superuser.com/users/68351/... )
Natan Yellin
@ aantn Desculpe, eu o removi porque realmente não adicionava as informações necessárias à pergunta. Em geral, esperamos as pessoas a procurar em primeiro lugar, por isso não há necessidade mencioná-lo :)
slhck

Respostas:

71

Por quê?

  • Porque eles querem que você pense sobre o que está fazendo
  • Porque evita instalações acidentais
  • Porque impede instalações acionadas com códigos maliciosos

Como você pode desencadear uma instalação maliciosamente?

Aqui está um artigo interessante sobre as condições de corrida nos diálogos de segurança de Jesse Ruderman:

Outra forma de ataque envolve convencer o usuário a clicar duas vezes em um determinado ponto da tela. Este local é o local onde o botão 'Sim' aparecerá. O primeiro clique aciona a caixa de diálogo; o segundo clique chega ao botão 'Sim'. Fiz uma demonstração desse ataque para Firefox e Mozilla.

A solução do Firefox, do bug 162020 , é atrasar a ativação dos botões "Sim" / "Instalar" até três segundos após o diálogo aparecer. Acredito que essa é a única solução possível, a não ser negar completamente ao conteúdo não confiável a capacidade de apresentar o diálogo. Infelizmente, essa correção é frustrante para usuários que instalam extensões com frequência.

Basicamente, tudo se resume a prever quando um usuário clicaria e, em seguida, interceptá-lo dentro de um diálogo de instalação. Ruderman explicou uma situação de jogo mais concisa como essa em seu relatório de bug do Firefox, o que levou à inclusão do período de atraso.

Para resumir novamente, seu ponto principal foi:

Se eu conseguir controlar ou prever quando e onde um usuário clicará, posso levá-lo a instalar o software .


Alguma alternativa para o 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 o usuário mais do que ajuda.

Outra idéia seria mover o local da janela aleatoriamente para cada caixa de diálogo. Isso tem o mesmo resultado que embaralhar os botões, ou seja, confundir o usuário.

Além disso, a introdução da aleatoriedade não é a solução definitiva. Se houver atalhos de teclado para os botões, você também poderá interceptar as teclas pressionadas. Dito isso, parece mais um recurso herdado hoje, já que a maioria dos plug-ins é instalada no site oficial do Firefox, de qualquer maneira.

slhck
fonte
11
As permissões de instalação do addons.firefox.org não resolvem isso?
Natan Yellin
Muito provavelmente. Seria bom ter a opção de aceitar permanentemente (como você pode com certificados) - geralmente parece mais um "recurso" herdado. Mas eu não sou usuário do Firefox, então não posso comentar sobre isso.
slhck
... demo legal! :)
sebastian_k
As permissões de instalação por site não ajudam sozinhas, porque um site mal-intencionado pode induzi-lo a clicar em um botão em um site ao qual foram concedidas permissões . (Sim, mesmo com as defesas de clickjacking agressivas - isso não é um problema resolvido.)
Zwol
@Zack, você pode dar um exemplo para addons.firefox.org?
Natan Yellin