Descargas ocultas son vectores de malware típicos de JavaScript para que los binarios ingresen a la máquina de un usuario. JS simplemente inicia una solicitud de un binario de malware que responde con Content-disposition:attachment
, lo que solicita al usuario que lo descargue.
El JS puede continuar esto incluso si el usuario cancela, lo que hace que el navegador del usuario sea inutilizable (es posible que no sepa cómo detener un proceso manualmente) y, a menudo, intenta que la descarga parezca un software antivirus.
Una cierta proporción de usuarios aceptará la descarga solo para recuperar su navegador, y luego el proveedor de malware solo tiene que esperar a que se ejecute el binario.
El problema principal con los virus y el malware es que el sistema operativo confunde al usuario actual con los programas que ejecutan. Cuando ejecuto Solitaire, ese proceso tiene la capacidad de editar todos los archivos que pueda desde la línea de comandos o el sistema Windowing. Ese no debería ser el caso.
No hay ninguna razón por la que Solitaire o un protector de pantalla que descargues de la web necesite acceso a tus archivos de impuestos, por lo que puedes usar una combinación de claves para descubrir qué privilegios necesita
- ¿El usuario otorgó autorización mediante un cuadro de diálogo de archivo o algún otro método de designación mediada por el sistema operativo, como arrastrar y soltar? ( "Diseño seguro de interacción" ) explica una variedad de formas de inferir otorgamiento de autoridad al observar la forma en que interactúan con una interfaz de usuario.
- ¿El archivo en un directorio "es propiedad" de la aplicación en virtud de ser creado durante la instalación del binario de la aplicación?
- ¿Es el archivo un recurso común del sistema como una DLL o una biblioteca compartida?
Otros privilegios se pueden otorgar de manera similar según la designación del usuario o reglas simples.
La mayoría de los sistemas operativos y aplicaciones no se escribieron con esto en mente, por lo que sistemas como Polaris de los laboratorios HP muestra cómo permitir que las aplicaciones se ejecuten con menos permisos de usuario actuales en Windows.
La gente a menudo olvida que POLA significa dos cosas al mismo tiempo. No solo debe evitar que la aplicación tenga más autoridad de la que necesita para hacer el trabajo del usuario, sino que también debe asegurarse de que la aplicación tenga la autoridad suficiente para hacer el trabajo de ese usuario. Otorgar demasiada autoridad es la razón por la cual hay virus que secuestran aplicaciones. Otorgar poca autoridad significa que la aplicación es inútil, como un programa de hoja de cálculo en un arenero de navegador web que no puede guardar el resultado en su disco duro. Polaris no otorga ni mucha ni poca autoridad: mientras que una aplicación polarizada no puede, en general, corromper o infectar archivos en su computadora, la aplicación puede almacenar información en cualquier archivo que el usuario especifique explícitamente haciendo doble clic en el archivo o seleccionando el archivo en un cuadro de diálogo. Por lo tanto, el sistema Polaris ajusta dinámicamente la autoridad de la aplicación para hacer lo que el usuario quiere.
A diferencia de las cajas de arena estáticas, Polaris no afecta de manera apreciable la experiencia del usuario. De hecho, un ejecutivo de HP usó una versión pre-Alpha de Polaris durante tres días sin saber que estaba en su máquina. Polaris hace su magia sin cambiar las aplicaciones ni el sistema operativo. Tampoco se basa en interceptar llamadas al sistema. En cambio, cuando los usuarios "polarizan" una aplicación, el "polarizador" crea una cuenta de usuario restringida para esa aplicación. Cuando los usuarios inician la aplicación, ya sea explícitamente a través del acceso directo que el Polarizer creó o al abrir un archivo del tipo apropiado, Polaris usa una variante de la función Windows RunAs para abrir el programa en su cuenta. La mayor parte del software Polaris oculta este hecho al usuario.