¿Cómo ejecutar Firefox en modo protegido? (es decir, a bajo nivel de integridad)

9

Noté que Firefox, a diferencia de Chrome e Internet Explorer, no se ejecuta en el Nivel obligatorio bajo (también conocido como Modo protegido, Integridad baja)

Google Chrome:

texto alternativo

Microsoft Internet Explorer:

ingrese la descripción de la imagen aquí

Mozilla Firefox:

texto alternativo

Siguiendo las instrucciones de Microsoft , puedo forzar manualmente Firefox al modo de baja integridad usando:

icacls firefox.exe /setintegritylevel Low 

Sin embargo, Firefox no reacciona bien al no ejecutar con suficientes derechos:

texto alternativo

Me gusta la seguridad de saber que mi navegador funciona con menos derechos que los que tengo. ¿Hay alguna manera de ejecutar Firefox en modo de derechos bajos? ¿Mozilla planea agregar "modo protegido" alguna vez? ¿Alguien ha encontrado una solución para que Firefox no maneje el modo de derechos bajos?


Actualizar

De una entrevista de julio de 2007 con Mike Schroepfer , vicepresidente de ingeniería de la Fundación Mozilla:

... también creemos en la defensa en profundidad y estamos investigando el modo protegido junto con muchas otras técnicas para mejorar la seguridad en futuras versiones.

Después de tres años, no parece que sea una prioridad.

Actualizar

  • 28/09/2013
  • 5 años después
  • Firefox 24.0
  • todavía no es compatible con el modo protegido
Ian Boyd
fuente
Dios, ¿por qué IE obtiene el rap de "mala seguridad"?
Mark Sowul

Respuestas:

4

Desafortunadamente, actualmente no hay forma de ejecutar Firefox en modo protegido.

Si no está ejecutando Windows de 64 bits, puede obtener algo similar usando Sandboxie .

Dan Walker
fuente
44
Acabo de hacer una búsqueda rápida a través del rastreador de errores de Mozilla y no encontré nada sobre los niveles de integridad. Esto sugiere que de hecho no está planeado apoyarlos. Sin embargo, dada mi experiencia previa con su sistema de seguimiento de errores y los desarrolladores, creo que dos opciones son plausibles: (1) Si abriera un ticket pidiendo soporte de nivel de integridad, se cerraría dentro de media hora como duplicado de otro ticket con un nombre que nadie podría adivinar y (2) la idea misma de admitir la funcionalidad específica de Windows asustaría a muchos desarrolladores allí.
Joey
Nunca me di cuenta de que Firefox existe en una plataforma además de Windows. Tiene sentido que haya una versión para Mac y Linux, solo vi una descarga de Windows.
Ian Boyd el
Creo que los dispositivos VM gratuitos y disponibles han robado el trueno del sandboxing.
kmarsh
Ah, y por cierto, la respuesta "No puedo hacerlo" se marcó como la respuesta, porque "No puedo hacerlo" es una respuesta válida.
Ian Boyd el
1

Puede ejecutar Firefox en modo de baja integridad utilizando los siguientes comandos:

icacls "C:\Program Files\Mozilla Firefox\Firefox.exe" /setintegritylevel low
icacls "C:\Program Files\Mozilla Firefox" /setintegritylevel(oi)(ci) low /t

icacls "C:\Users\*username*\AppData\Local\Temp" /setintegritylevel(oi)(ci) low /t
icacls "C:\Users\*username*\AppData\Local\Mozilla" /setintegritylevel(oi)(ci) low /t
icacls "C:\Users\*username*\AppData\Roaming\Mozilla" /setintegritylevel(oi)(ci) low /t
icacls "C:\Users\*username*\Downloads" /setintegritylevel(oi)(ci) low /t

Tenga en cuenta que deberá ejecutar el segundo lote para cada usuario en su sistema, personalizando el nombre de usuario , de lo contrario, aparecerá un cuadro de mensaje "Firefox ya se está ejecutando".

Sin embargo, esta configuración causa las siguientes peculiaridades:

  1. El administrador de perfiles puede no comportarse correctamente.
  2. Recibirás una advertencia de seguridad cada vez que inicies Firefox.
  3. Las descargas solo se pueden colocar en directorios de baja integridad (por lo tanto, Descargas está marcado como de baja integridad arriba).
  4. Abrir descargas directamente desde Firefox generalmente fallará.
Simon Capewell
fuente
Se debe tener en cuenta, para todos los que vienen, que realizar estos pasos esencialmente anulará el propósito del "modo protegido Firefox". Al permitir FireFox escribir en otros lugares (Temp, Mozilla, Descargas) se quita el propósito de tener FF funcionando a la baja el nivel de integridad obligatorio. Lo peor es que ahora todas las aplicaciones de bajo privilegio (es decir, Chrome, mi reproductor multimedia) pueden escribir en esas ubicaciones. En otras palabras: no solo no ganas nada aquí, sino que también pierdes seguridad. Es mejor ejecutar FF como usuario estándar y dejar las otras carpetas solas.
Ian Boyd
Pero habiendo dicho todo eso, todavía le doy al artículo un +1, porque ayuda a ilustrar cómo las aplicaciones de bajo privilegio solo pueden escribir en ubicaciones específicas. Pero una vez más: no hagas lo que dice esta respuesta. Es un ejemplo de una mala solución, como cambiar los permisos en la carpeta Windows y Archivos de programa para permitir a todos el acceso completo, porque un programa quiere poder escribir allí. Estás empeorando las cosas.
Ian Boyd
0

Ian, no entiendes cómo funciona el modo protegido. La solución de Simon Capewell es una forma válida de aumentar la seguridad de Firefox. Por ejemplo, afirmar que su solución de alguna manera deshabilita la totalidad de la protección de bajo nivel de integridad es completamente falso. Chrome e IE utilizan los mismos métodos, ya que las descargas se escriben en la carpeta de descargas incluso en modo protegido IE. De lo contrario, no podrá descargar nada. Aunque IE puede usar una especie de envoltorio, aislando así el proceso principal de aquellos que procesan datos no confiables para mayor seguridad como lo hace Chrome, esto es discutible como en los métodos descritos anteriormente, todos los componentes de Firefox están aislados de la manipulación del sistema. Mientras que, en Chrome, el proceso principal se ejecuta en integridad media y los procesos de representación en integridad baja.

Configurar Firefox de esta manera protege Windows y los archivos de programa de modificaciones, aislando así Firefox del resto de su máquina. Se evita que Firefox deje caer malware en su carpeta de Inicio, por ejemplo, o que agregue una entrada de registro que inicia automáticamente el malware que cae en su carpeta de descargas (en la que Firefox puede escribir) al inicio. Además, ejecutar Firefox como nivel de integridad bajo protege contra Firefox que intenta evitar las ACL impuestas por métodos como crear un hilo en un proceso remoto para ejecutar código en el contexto de seguridad de ese proceso. Firefox todavía puede soltar archivos en carpetas temporales y potencialmente ejecutables, como Chrome e IE. Por lo tanto, los niveles de integridad deben combinarse con SRP o AppLocker, para evitar la ejecución de cualquier ejecutable que caiga en los directorios en los que Firefox puede escribir. Este requisito también está presente con IE y Chrome.

Una vez hecho esto, Firefox se endurecerá contra descargas automáticas y estará más protegido que el IE, ya que el Modo protegido IE, cuando no se combina con SRP o Applocker, proporciona protección suficiente. De ninguna manera, permitir que Firefox escriba en su propio directorio y carpetas temporales es diferente de lo que se permite hacer en modo protegido Chrome y en modo protegido IE.

El único inconveniente de esta solución: tengo la mala costumbre de dejar ejecutables dentro de mi carpeta de Descargas, que luego ejecuto. Estos ejecutables podrían ser manipulados si Firefox se explota después de descargarlos. Por lo tanto, después de descargar un archivo, muévalo fuera de la carpeta Descargas. También existe un riesgo muy pequeño de que una vulnerabilidad en Firefox sea explotada para modificar un archivo temporal en la carpeta temporal permitida que luego explota una vulnerabilidad en un proceso de mayor nivel de integridad cuando usa ese archivo temporal. Sin embargo, esto nunca sucederá y es solo una vulnerabilidad teórica.

Lecturas adicionales / Fuentes:

Windows 7 SRP (funciona en Home Premium, aunque no tiene AppLocker):

http://www.wilderssecurity.com/showthread.php?t=262686

Niveles de integridad:

http://www.symantec.com/connect/articles/introduction-windows-integrity-control

Modo protegido IE:

http://msdn.microsoft.com/en-us/library/bb250462(VS.85).aspx

Información básica sobre "Descargas automáticas":

http://www.wilderssecurity.com/showthread.php?t=241732

Detalles de Chrome en Windows Sandboxing (es más que solo niveles de integridad):

http://www.chromium.org/developers/design-documents/sandbox

Garfio
fuente
1
No importa la cantidad de ubicaciones comunes de las que eliminó la protección de baja integridad. Agregar ciertas ubicaciones para dejar de estar protegido es anular el propósito del modo protegido. Usted hizo un juicio en su propia mente al escribirle Temp, y la carpeta Mozilla AppData es una compensación aceptable; porque todos sabemos que realmente queremos evitar que los programas accedan a Windows y ProgramFiles. El problema es: no sé qué almacena FF AppData\Mozilla, pero estoy seguro de que no quiero que el malware envenene las URL de actualización o modifique mis extensiones. Ese es el punto de seguridad.
Ian Boyd
Entonces, ¿no crees que valga la pena usar Firefox en modo protegido porque Firefox en sí podría estar comprometido? IE en sí mismo puede verse comprometido teóricamente, incluso mientras se ejecuta en modo protegido. El objetivo del Modo protegido es el aislamiento del sistema de los procesos que interactúan con datos que no son de confianza y, por lo tanto, pueden explotarse para comprometer el resto del sistema, no la protección del programa contra sí mismo. Con una integridad media, Firefox ya puede escribir en Temp y AppData, por lo que evitar derechos a todas las demás ubicaciones es claramente una ganancia significativa en seguridad.
Dicho esto, si le preocupa la integridad de sus extensiones, lo cual es comprensible si busca proteger las contraseñas, simplemente necesita refinar las reglas de nivel de integridad. Los niveles de integridad no impiden las operaciones de lectura o ejecución por encima del nivel de integridad de una aplicación. Solo marque la carpeta Temporal como permitida y cualquier ubicación de archivo de configuración en la que desee que escriba Firefox, asegurándose de excluir la carpeta de extensión que se encuentra en AppData. las URL de actualización no se almacenan en la configuración accesible para el usuario: kb.mozillazine.org/… .
ProcessMonitor puede ser útil para determinar qué operaciones está intentando realizar una aplicación que se deniegan debido a su nivel de integridad. Simplemente configure los filtros para Application name = theappinquestion.exe y Result = ACCESS DENIED, y puede refinar fácilmente los niveles de integridad de cualquier archivo o clave de registro necesaria. Archivos con icacls, claves de registro con regil ( minasi.com/apps ). Usando este método, pude configurar SC2 beta para ejecutarse en modo de baja integridad en menos de 5 minutos.
Creo que todos se están perdiendo el hecho de que ejecuto otro software en el nivel de integridad obligatoria baja; programas además de ie y Chrome (o FireFox). El ejemplo es un reproductor multimedia; Quiero que la ejecución de código desde un desbordamiento de búfer en un códec no se permita escribir en nada excepto en las dos ubicaciones permitidas. Y definitivamente no quiero que el código pueda escribir en mi Downloadscarpeta, mi Tempcarpeta, o poder modificar la configuración relacionada con Firefox. No debería estar levantando barreras de seguridad en mi computadora para que un programa funcione, el programa debería doblarse a las barreras de seguridad.
Ian Boyd
-1

SRP no es necesario, ya que los procesos ejecutados por un proceso de bajo nivel de integridad heredan ellos mismos. Sin embargo, es otra capa de protección y, por lo tanto, sigue siendo una buena idea.


fuente