¿Por qué?
- Porque quieren que pienses en lo que estás haciendo
- Porque evita instalaciones accidentales
- Porque evita las instalaciones activadas de forma maliciosa
¿Cómo puede desencadenar una instalación de forma maliciosa?
Aquí hay un artículo interesante sobre las condiciones de carrera en los diálogos de seguridad de Jesse Ruderman:
Otra forma de ataque implica convencer al usuario de que haga doble clic en cierto punto de la pantalla. Este lugar es el lugar donde aparecerá el botón 'Sí'. El primer clic activa el diálogo; el segundo clic aterriza en el botón 'Sí'. Hice una demostración de este ataque para Firefox y Mozilla.
La solución de Firefox, del error 162020 , es retrasar la activación de los botones "Sí" / "Instalar" hasta tres segundos después de que aparezca el cuadro de diálogo. Creo que esta es la única solución posible que no sea negar por completo al contenido no confiable la capacidad de plantear el diálogo. Desafortunadamente, esta solución es frustrante para los usuarios que instalan extensiones con frecuencia.
Básicamente, todo se reduce a predecir cuándo un usuario haría clic y luego interceptar ese clic dentro de un cuadro de diálogo de instalación. Ruderman explicó una situación de juego más concisa como esta en su informe de error de Firefox, que finalmente llevó a la inclusión del período de retraso.
Para resumir nuevamente, su punto principal fue:
Si puedo controlar o predecir cuándo y dónde hará clic un usuario, puedo hacer que instalen el software .
¿Alguna alternativa al período de retraso?
El período de demora fue ciertamente solo una forma de lidiar con esto. Otro podría haber estado barajando los botones de "Instalar", "Cancelar" cada vez que instalaba algo. Esto es algo que se usa muy a menudo, pero confunde al usuario más de lo que ayuda.
Otra idea sería mover la ubicación de la ventana al azar para cada diálogo. Esto tiene el mismo resultado que arrastrar los botones, es decir, confundir al usuario.
Además, la introducción de la aleatoriedad no es la solución definitiva. Si hay métodos abreviados de teclado para los botones, también puede interceptar las pulsaciones de teclas. Dicho todo esto, parece más una característica heredada hoy en día, ya que la mayoría de los complementos se instalan desde el sitio web oficial de complementos de Firefox de todos modos.