Question:
Le délai du bouton Enregistrer dans une boîte de dialogue de téléchargement Firefox est-il une fonction de sécurité? Que protège-t-il?
Numeron
2016-03-21 11:32:06 UTC
view on stackexchange narkive permalink

Lorsque je clique pour télécharger un fichier via Firefox, une fenêtre de dialogue apparaît me demandant si je veux enregistrer le fichier quelque part ou l'ouvrir immédiatement une fois téléchargé.

Screenshot of a Firefox download dialog

Le bouton OK dans la fenêtre de dialogue démarre désactivé, et ne s'active pas tant que la boîte de dialogue n'a pas été active pendant environ une seconde. La boîte de dialogue n'est pas modale et si je me concentre sur une autre fenêtre, le bouton OK se désactivera et ne se réactivera pas tant que la fenêtre n'aura pas maintenu le focus pendant une seconde.

Mon partenaire s'est plaint de cette conception , et m'a demandé pourquoi elle ne pouvait pas simplement cliquer sur OK pour télécharger immédiatement - j'ai répondu que j'ai toujours pensé que c'était une fonction de sécurité. Maintenant que j'y pense cependant, je ne sais pas exactement quel comportement cela pourrait empêcher. J'aurais pensé que cela pourrait empêcher un site Web malveillant de télécharger un fichier secrètement en forçant la fenêtre de téléchargement à rester ouverte pendant au moins assez longtemps pour voir ce qui se passe - cependant, il devrait être possible pour un site de télécharger des éléments secrètement en arrière-plan en tous cas. Quoi qu'il en soit, je présume que la plupart des utilisateurs auraient cliqué sur la case "faire cela automatiquement à partir de maintenant" à un moment donné, et ne seraient donc pas protégés de toute façon ...

Alors, est-ce une fonction de sécurité? Si oui, contre quoi protège-t-il?

J'ai un peu pensé que c'était probablement une étrange lenteur causée par l'inefficacité de celui qui a développé le code spécifique par Firefox.Si Firefox avait clairement indiqué que le retard était intentionnel, comme changer la valeur du bouton pour dire "OK dans 3 ..." et afficher un compte à rebours, alors au moins j'aurais compris qu'il s'agissait d'un comportement clairement intentionnel.
oui, censé améliorer la sécurité mais peut être désactivé en définissant security.dialog_enable_delay = 0 [https://superuser.com/questions/1023643/firefox-disable-delay-on-download-dialog-buttons]
Cinq réponses:
samgak
2016-03-21 12:24:35 UTC
view on stackexchange narkive permalink

Oui, c'est une fonction de sécurité, et le but du délai est d'empêcher les attaques basées sur l'incitation de l'utilisateur à entrer une entrée pour sauter la boîte de dialogue en la faisant apparaître de manière inattendue lorsque l'utilisateur est en train de saisir plusieurs clés pressions ou clics de souris successivement. Les deux exemples donnés dans cet article de blog expliquant la fonctionnalité sont:

  • Un CAPTCHA qui demande à l'utilisateur de taper le mot uniquement . Lorsqu'ils appuient sur n , une boîte de dialogue d'enregistrement s'affiche, puis l'utilisateur appuiera immédiatement sur l puis sur y , qui est le raccourci clavier pour OK sur certains navigateurs, confirmant involontairement le téléchargement
  • Une page Web qui convainc l'utilisateur de double-cliquer quelque part sur l'écran, positionnée de telle sorte que lorsque la boîte de dialogue s'ouvre après le premier clic, le pointeur de la souris se trouve juste au-dessus du Bouton "OK", ce qui signifie qu'ils le confirment immédiatement.

En désactivant le bouton pendant plusieurs secondes, l'entrée n'a aucun effet.

Rapport de bogue de Mozilla à propos du problème

L'utilisateur peut également utiliser plus de temps pour vérifier le nom / type de fichier. Sans ad-block, vous pouvez accidentellement télécharger du mal .exe au lieu du contenu réel. Je n'ai pas encore expérimenté d'astuce d'entrée moi-même, mais de temps en temps je supprime "evil toolbar [32] .exe" de mon dossier de téléchargement;)
Je suis enfin éclairé.
C'est une excellente réponse et je veux juste ajouter que [** les utilisateurs peuvent également devenir insensibles aux messages pop-up et aux confirmations **] (http://ux.stackexchange.com/q/44609/45170). J'imagine que ce léger retard peut aider à atténuer ceux qui sont devenus engourdis. Anecdote: je montrais récemment à mon père comment utiliser le navigateur Web sur un téléphone Android et une fenêtre contextuelle est apparue et il a cliqué à la hâte sur OK; sans un moment à perdre, il se tourne vers moi et me demande "Qu'est-ce que ça a dit?". Je suis sûr à 95% que cela a quelque chose à voir avec un certificat SSL expiré, mais nous ne le saurons jamais avec certitude.
@MonkeyZeus C'est un comportement assez intéressant. Avez-vous demandé pourquoi il avait cliqué avant de le lire, puisqu'il voulait apparemment savoir ce que c'était?
Je voudrais également mentionner une fonctionnalité de Windows qui fait que votre souris est automatiquement déplacée vers le bouton par défaut d'une fenêtre comme celle-ci lorsqu'elle apparaît. Dans ce cas, le délai vous empêche de cliquer accidentellement sur OK si vous étiez sur le point de cliquer n'importe où sur l'écran lorsqu'il apparaît.
@pipe J'ai peut-être provoqué par inadvertance sa question "Qu'est-ce que cela a dit?" parce que je suis sûr que j'ai haleté ou murmuré "attendez" dans mon souffle. Néanmoins, je pense que cela démontre toujours l'engourdissement des pop-up.
Euh, le système d'exploitation n'est-il pas censé empêcher une perte de mise au point involontaire? La prévention de perte de concentration de Windows semble fonctionner parfaitement; Linux est médiocre, pas sûr de Mac. Cela ne rendrait-il pas au moins inutile Windows?
@Mehrdad Err ... Je ne sais pas d'où vous venez, mais la prévention de la perte de concentration de Windows est * loin * parfaite. Je me fais voler la concentration assez souvent. C'est peut-être différent dans Windows 10, mais je ne l'utilise pas.
Cette raison semble être un hack rapide car il existe des solutions simples à ces deux problèmes. DOUBLE CLIC: empêche la fenêtre d'aligner le bouton Oui avec la souris. CAPTCHA: ne vous concentrez jamais sur la fenêtre de téléchargement afin de toujours taper sur la page
@MikeKellogg: Bizarre, je l'ai trouvé fondamentalement parfait, et ce depuis aussi longtemps que je me souvienne. Je n'utilise pas Windows 10. Je pense que c'est uniquement entre différentes applications, donc si vous vous attendez à ce que cela fonctionne dans une seule application, c'est peut-être pourquoi? Ou, à quelle vitesse tapez-vous? Peut-être que le délai intégré n'est pas adapté à votre vitesse de frappe? Il est en fait plus ou moins impossible de voler le focus dans Windows d'une autre application à moins que l'autre application ne vous le permette (l'application avec le focus actuel doit d'abord appeler `AllowSetForegroundWindow`) ... dans quelles situations avez-vous eu des problèmes?
@Mehrdad Eh bien, il y avait tout à l'heure, quand j'étais sur le point d'envoyer un message dans Skype, et un autre programme (vraisemblablement Firefox, j'ai des raisons de supposer un tel) a fait apparaître une boîte de message juste au moment où j'ai appuyé sur Entrée, donc il s'est immédiatement fermé.
@MikeKellogg: Intéressant ... y a-t-il eu une pause (comme 1 seconde ou plus) avant d'appuyer sur Entrée, ou était-ce pendant que vous tapiez?
@Mehrdad Je crois que j'ai fait une pause, mais cela s'est aussi produit au milieu de la frappe sans faire de pause avant, plus souvent avec la barre d'espace.
@MikeKellogg: Je ne sais pas quoi dire honnêtement alors, désolé. J'ai explicitement remarqué qu'il empêchait la perte de concentration tant de fois auparavant que j'ai été surpris de voir à quel point cela fonctionne ...
Ai-je raison si je dis qu'il n'y a pas que le délai, mais aussi que tous les événements clavier et souris sont avalés? Sinon, le retard est (presque) inutile.
D'un autre côté, il forme les utilisateurs à cliquer sans réfléchir sur "OK" chaque fois qu'une invite contextuelle apparaît.
FWIW, j'ai souvent le focus de ma fenêtre active volé par "rien" (du moins, rien que je puisse déterminer). Je soupçonne que c'est un programme ou un autre qui est minimisé dans ma barre de notification, rétablissant une connexion réseau ou quelque chose. Cela semble se produire le plus souvent si j'ai beaucoup de programmes et / ou d'onglets de navigateur ouverts, donc cela peut aussi être une sorte de problème DWM.
@Mehrdad Même si l'OS l'empêche, tout cela est intentionnel, de la page à l'élément déclenché par la page. Je ne peux pas imaginer qu'un système d'exploitation protégerait contre cela. (Et comme avec Mike, j'ai constaté que Windows ne dispose pas du tout de prévention de la perte de concentration.)
Super de voir les commentaires sur le vol de focalisation - comme je le déteste et c'est de l'arrogance.
Étonnamment, personne ne l'a encore mentionné, mais cela a un nom: "clickjacking" (portmanteau de "click" et "hijacking" - peut également être utilisé pour le piratage de touches, et peut également se produire avec des pages Web contextuelles, pas seulement des boîtes de dialogue affichées par le navigateur lui-même).
@pipe Une possibilité: il a l'habitude de cliquer sur "OK", mais comme quelqu'un à proximité peut avoir une idée de ce que signifie le message, il se rend compte qu'il peut aussi bien demander.Ou, il se rend compte * après * avoir cliqué que cela aurait pu être important.
adblock ne vous protégera pas contre les logiciels malveillants.Même les scanners de logiciels malveillants ne sont pas en mesure de le faire.Seule une pensée pointue (brain.exe) peut vous protéger
phyrfox
2016-03-21 12:23:45 UTC
view on stackexchange narkive permalink

Imaginons qu'il n'y ait pas de délai, l'action par défaut pour les fichiers exécutables est de l'ouvrir, et il y a un certain délai avant que la page demande le téléchargement du fichier. En théorie, vous pourriez accidentellement lancer un virus si vous tapiez quelque chose au moment précis où la boîte de dialogue apparaît. Incroyablement rare, mais je suis sûr que cela est arrivé à quelqu'un quelque part.

De manière moins malveillante, du point de vue de l'expérience utilisateur, l'utilisateur peut être au milieu d'appuyer sur espace ou sur Entrée juste au moment où la boîte de dialogue apparaît, donc accepter l'action par défaut, et éventuellement incorrecte. Le court délai empêche l'utilisateur de sélectionner accidentellement la mauvaise option.

Bien que je doute que cette fonctionnalité soit réellement destinée à protéger quoi que ce soit (je préfère faire confiance à mon antivirus pour cette tâche), je trouve que je suis moins susceptible de faire accidentellement la mauvaise chose avec le fichier lorsque l'interface utilisateur vide mon entrée et s'assure que je voulais réellement effectuer une action.

Firefox n'exécute jamais un fichier exe, du moins pas à partir de cette boîte de dialogue.
Cela ne m'est arrivé qu'une fois dont je me souviens, mais une boîte de dialogue est définitivement apparue une fois pendant que je tapais, avec exactement le bon timing pour attraper ma barre d'espace. Je n'ai aucune idée de ce qu'il a dit.
«Je préfère faire confiance à mon antivirus pour cette tâche» - j'essaierais plutôt d'éviter le problème en premier lieu que de compter sur l'antivirus pour nettoyer par la suite.(En d'autres termes, je préférerais une interface utilisateur qui aide à éviter les téléchargements au lecteur à une autre qui les laisse se produire et qui s'appuie sur un logiciel antivirus pour les empêcher de causer des dommages.)
angussidney
2016-03-22 11:35:45 UTC
view on stackexchange narkive permalink

Il y a une chose qu'aucune des autres réponses n'a mentionnée: de nombreux utilisateurs cliquent sur OK et téléchargent sans lire la fenêtre contextuelle .

Si un utilisateur télécharge un logiciel malveillant fichier accidentellement (ou a été amené à le faire), et clique sur OK d'instinct sans lire et vérifier le fichier qu'ils téléchargent, alors ils pourraient manquer des informations de sécurité importantes telles que la taille, l'extension du type de fichier et l'emplacement de le fichier sur le point d'être téléchargé.

En désactivant OK pendant quelques secondes, Firefox oblige les utilisateurs à réfléchir à deux fois et à vérifier ce qu'ils téléchargent.

Avez-vous une preuve ou est-ce juste une pure supposition que la désactivation du bouton pendant quelques secondes incite les utilisateurs à lire le message? Je demande parce qu'il existe des boîtes de dialogue destinées à forcer les utilisateurs à lire le contenu comme l'approbation d'un certificat invalide ou l'acceptation d'un contrat de licence. Ils utilisent des méthodes autres que le retard.
@techraf Je n'ai aucune preuve (comme dans les documents de recherche, etc.) cependant de ma propre expérience (j'avais l'habitude de cliquer sur OK tout le temps jusqu'à ce que je commence à utiliser FF) et de regarder d'autres novices de FF (ils semblent lire le popup après leur premier clic), je peux confirmer que cela fonctionne. Notez que [l'une des réponses] (http://ux.stackexchange.com/a/44675/69736) dans la question à laquelle MonkeyZeus a lié (sous la réponse acceptée) indique que rompre le flux d'une application en introduisant un délai ou une étape supplémentaire permet à l'utilisateur de lire.
@techraf, Qu'est-ce que l'utilisateur doit faire dans cette seconde de retard ... Ils regarderont le dialogue, et leur cerveau visualisera les mots, ce qui peut arriver à leur conscience suffisamment pour qu'ils se retrouvent à en «lire» une partie. Ou ils pourraient fermer les yeux pour être délibérément obtus ;-) Tant que le délai est suffisant pour faire `` soupirer '' l'utilisateur, puis cliquer de manière réfléchie, c'est une amélioration (dans ma vision du compromis risque / récompense) .
@PhilipOakley Avez-vous une référence aux résultats de recherche?
@techraf,, malheureusement, je n'ai pas de références spécifiques. Bien qu'il y ait beaucoup de commentaires sur les études sur les personnes `` chanceuses '' qui montrent ceux qui ont les `` yeux ouverts '' (c'est-à-dire une vue plus large) et plus chanceux. Comme pour la plupart de ces études, ce sont des «trucs». On vous demande une chose pendant qu'ils en étudient une autre, par exemple lisez le papier pour voir à quelle fréquence un sportif est mentionné, mais voyez s'il remarque «l'argent gratuit si vous dites la publicité du chercheur»!. De plus, le postulat opposé (yeux vissés) est clairement faux, bien qu'ils puissent simplement regarder attentivement le bouton OK jusqu'à ce qu'il ne soit plus grisé. Malchanceux.
Pour l'anecdote, je connais au moins une entreprise très désireuse d'achats en un clic car elle encourage les achats impulsifs. C'est l'inverse, décourageant l'impulsivité. Je doute que cela fasse lire quelqu'un, mais cela pourrait donner un coup de pouce aux processus de pensée conscients.
DDPWNAGE
2016-03-23 10:13:34 UTC
view on stackexchange narkive permalink

Certains programmes peuvent appeler des touches dans votre navigateur Web. Jetez un œil à la méthode SendKeys () de VBScript.

Cette méthode envoie des clés à la fenêtre actuellement focalisée, et peut envoyer des boutons tels que ALT, TAB , et / ou ENTER.

Dans une application Windows Forms, un développeur malveillant peut implémenter la méthode SendKeys.Send () et faire de mauvaises choses , comme Alt-tab sur Firefox et cliquez sur "Ok" sur un lien de téléchargement malveillant.

S'ils sont au stade où vous exécutez leur application VBScript ou Windows Form, ils ont déjà le contrôle de votre ordinateur et n'auraient pas besoin de Firefox ou de tout autre navigateur pour obtenir plus de choses là-bas.
aussi, ils pourraient éviter cela en activant le bouton à partir du code
Une page ne peut-elle pas avoir VBScript intégré comme une page peut exécuter JavaScript?Ou, même, JavaScript ne peut-il pas accéder aux mêmes méthodes?
@DDPWNAGE Non. VBScript ne fonctionnait que dans le navigateur dans IE, et même pas dans le mode de rendu Edge d'IE11.Même dans ce cas, des fonctions comme `SendKeys ()` n'ont jamais fonctionné dans les navigateurs pour autant que je sache, uniquement dans Windows Script Host.Tout comme vous avez beaucoup plus d'accès à partir d'un script Node.js que JS dans le navigateur.Les bibliothèques et fonctionnalités sont disponibles en plus du langage de base et ne sont disponibles que dans des environnements spécifiques.
Curious Sam
2016-03-21 17:24:42 UTC
view on stackexchange narkive permalink

Je pense que c'est pour s'assurer que l'utilisateur voit la boîte de dialogue.
Il y a plus de vecteurs d'attaque que l'astuce de frappe de l'utilisateur déjà décrite dans d'autres réponses.
Par exemple les hacks basés sur USB HID. Ceci est juste une mesure contre les vecteurs d'attaque connus et inconnus. Pas seulement pour corriger un ensemble particulier de menaces connues.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...