Pourquoi?
- Parce qu'ils veulent que tu penses à ce que tu fais
- Parce qu'il empêche les installations accidentelles
- Parce qu'il empêche les installations déclenchées par malveillance
Comment pouvez-vous déclencher une installation par malveillance?
Voici un article intéressant sur les conditions de course dans les dialogues de sécurité de Jesse Ruderman:
Une autre forme d’attaque consiste à convaincre l’utilisateur de double-cliquer sur un endroit précis de l’écran. Cet endroit se trouve être l'endroit où le bouton "Oui" apparaîtra. Le premier clic déclenche le dialogue; le deuxième clic atterrit sur le bouton 'Oui'. J'ai fait une démonstration de cette attaque pour Firefox et Mozilla.
La solution de Firefox, du bogue 162020 , consiste à retarder l’activation des boutons "Oui" / "Installer" jusqu’à trois secondes après l’affichage de la boîte de dialogue. Je pense que c'est la seule solution possible, à part refuser complètement à un contenu non fiable la possibilité de poser le dialogue. Malheureusement, ce correctif est frustrant pour les utilisateurs qui installent souvent des extensions.
Fondamentalement, tout revient à prédire quand un utilisateur cliquera puis à intercepter ce clic dans une boîte de dialogue d'installation. Ruderman a expliqué une situation de jeu plus concise comme celle-ci dans son rapport de bogue de Firefox, qui a finalement conduit à l'inclusion du délai.
Pour résumer encore, son point principal était:
Si je peux contrôler ou prédire quand et où un utilisateur cliquera, je pourrai le faire installer un logiciel .
Des alternatives à la période de retard?
La période de retard n’était certainement qu’un moyen de régler ce problème. Un autre aurait pu mélanger les boutons pour "Installer", "Annuler" à chaque fois que vous installeriez quelque chose. C'est quelque chose qui est utilisé très souvent, mais cela déroute plus l'utilisateur que cela ne l'aide.
Une autre idée serait de déplacer l’emplacement de la fenêtre au hasard pour chaque dialogue. Cela a le même résultat que de mélanger les boutons, ce qui déroutait l'utilisateur.
En outre, l'introduction du caractère aléatoire n'est pas la solution ultime. S'il existe des raccourcis clavier pour les boutons, vous pouvez également intercepter les touches du clavier. Cela étant dit, cela ressemble plus à une fonctionnalité héritée aujourd'hui, car la plupart des plugins sont installés à partir du site officiel de l'add-on Firefox, de toute façon.