Comment exécuter Firefox en mode protégé? (c'est-à-dire à un faible niveau d'intégrité)

9

J'ai remarqué que Firefox, contrairement à Chrome et Internet Explorer, ne fonctionne pas au niveau obligatoire faible (aka Mode protégé, faible intégrité)

Google Chrome:

texte alternatif

Microsoft Internet Explorer:

entrez la description de l'image ici

Mozilla Firefox:

texte alternatif

En suivant les instructions de Microsoft , je peux forcer manuellement Firefox en mode de faible intégrité en utilisant:

icacls firefox.exe /setintegritylevel Low 

Cependant, Firefox ne réagit pas bien au fait de ne pas fonctionner avec suffisamment de droits:

texte alternatif

J'aime la sécurité de savoir que mon navigateur fonctionne avec moins de droits que moi. Existe-t-il un moyen de faire fonctionner Firefox en mode de droits bas? Est-ce que Mozilla prévoit d'ajouter un "mode protégé" un jour? Quelqu'un a-t-il trouvé une solution de contournement pour Firefox ne gérant pas le mode de droits bas?


Mise à jour

Extrait d'une interview de juillet 2007 avec Mike Schroepfer , vice-président de l'ingénierie à la Fondation Mozilla:

... nous croyons également à la défense en profondeur et étudions le mode protégé ainsi que de nombreuses autres techniques pour améliorer la sécurité des futures versions.

Après trois ans, il ne semble pas que ce soit une priorité.

Mise à jour

  • 28/09/2013
  • 5 ans plus tard
  • Firefox 24.0
  • ne prend toujours pas en charge le mode protégé
Ian Boyd
la source
Bon sang, pourquoi IE obtient-il le rap de "mauvaise sécurité"?
Mark Sowul

Réponses:

4

Malheureusement, il n'existe actuellement aucun moyen d'exécuter Firefox en mode protégé.

Si vous n'utilisez pas Windows 64 bits, vous pouvez obtenir quelque chose de similaire en utilisant Sandboxie .

Dan Walker
la source
4
Je viens de faire une recherche rapide dans le bugtracker de Mozilla et je n'ai rien trouvé concernant les niveaux d'intégrité. Cela donne à penser qu'il n'est en effet pas prévu à l'heure actuelle de les soutenir. Compte tenu de mon expérience précédente avec leur système de suivi des bogues et les développeurs, cependant, je pense que deux options sont plausibles: (1) Si j'ouvrais un ticket demandant une prise en charge du niveau d'intégrité, il se fermerait dans la demi-heure en double d'un autre ticket avec un nom que personne ne cherchait à deviner et (2) l' idée même de prendre en charge des fonctionnalités spécifiques à Windows ferait peur à de nombreux développeurs.
Joey
je n'ai jamais réalisé que Firefox existe sur une plateforme en plus de Windows. Il est logique qu'il existe une version Mac et Linux, je n'ai vu qu'un téléchargement Windows.
Ian Boyd
Je pense que les appliances VM gratuites et disponibles ont volé le tonnerre du sandboxing.
kmarsh
Oh, et btw, la réponse "Can't do it" a été marquée comme réponse, car "Can't do it" est une réponse valide.
Ian Boyd,
1

Vous pouvez exécuter Firefox en mode d'intégrité faible à l'aide des commandes suivantes:

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

Notez que vous devrez exécuter le deuxième lot pour chaque utilisateur de votre système, en personnalisant le nom d'utilisateur , sinon ils obtiendront une boîte de message "Firefox est déjà en cours d'exécution".

Cependant, cette configuration provoque les bizarreries suivantes:

  1. Le gestionnaire de profils peut ne pas se comporter correctement.
  2. Vous recevrez un avertissement de sécurité à chaque démarrage de Firefox.
  3. Les téléchargements ne peuvent être placés que dans des répertoires à faible intégrité (par conséquent, Téléchargements est marqué comme faible intégrité ci-dessus).
  4. L'ouverture de téléchargements directement depuis Firefox échouera généralement.
Simon Capewell
la source
Il convient de noter, pour toute personne qui vient, que l'exécution de ces étapes va essentiellement à l'encontre de l'objectif du "mode protégé Firefox". En permettant à FireFox d'écrire sur d'autres emplacements (Temp, Mozilla, Téléchargements), vous supprimez le but de faire fonctionner FF au niveau d'intégrité obligatoire faible . Ce qui est pire, c'est que toutes les applications à faible privilège (c'est-à-dire Chrome, mon lecteur multimédia) peuvent désormais écrire sur ces emplacements. En d'autres termes: non seulement vous ne gagnez rien ici, mais vous perdez en fait la sécurité. Il vaut mieux exécuter FF en tant qu'utilisateur standard et laisser les autres dossiers seuls.
Ian Boyd
Mais cela dit, je donne toujours à l'article un +1, car cela aide à illustrer comment les applications Low privelage ne peuvent écrire qu'à des endroits spécifiques. Mais encore une fois: ne faites pas ce que dit cette réponse. C'est un exemple d'une mauvaise solution - comme changer les autorisations sur le dossier Windows & Program Files pour permettre à tout le monde un accès complet, car un programme veut pouvoir y écrire. Vous empirez les choses.
Ian Boyd
0

Ian, vous ne comprenez pas comment fonctionne le mode protégé. La solution de Simon Capewell est un moyen valable d'augmenter la sécurité de Firefox. Vous par exemple, affirmer que sa solution désactive en quelque sorte l'intégralité de la protection du bas niveau d'intégrité est complètement faux. Chrome et IE utilisent les mêmes méthodes, car les téléchargements sont écrits dans le dossier de téléchargement même en mode protégé IE. Sinon, vous ne pourrez rien télécharger. Bien qu'IE puisse utiliser une sorte de wrapper, isolant ainsi le processus principal de ceux qui traitent les données non fiables pour plus de sécurité comme le fait Chrome, cela est théorique comme dans les méthodes décrites ci-dessus, tous les composants de Firefox sont isolés de toute falsification du système. Alors que, dans Chrome, le processus principal s'exécute à l'intégrité moyenne et les processus de rendu à l'intégrité faible.

La configuration de Firefox de cette manière protège Windows et les fichiers programme de toute modification, isolant ainsi Firefox du reste de votre machine. Par exemple, Firefox ne peut pas déposer de logiciels malveillants dans votre dossier de démarrage ou ajouter une entrée de registre qui démarre automatiquement les logiciels malveillants déposés dans votre dossier de téléchargements (sur lesquels Firefox est autorisé à écrire) au démarrage. En outre, l'exécution de Firefox en tant que niveau d'intégrité faible protège contre Firefox qui tente de contourner les ACL qui lui sont imposées par des méthodes telles que la création d'un thread dans un processus distant afin d'exécuter du code dans le contexte de sécurité de ce processus. Firefox est toujours autorisé à déposer des fichiers dans des dossiers temporaires, et potentiellement des exécutables, tout comme Chrome et IE. Ainsi, les niveaux d'intégrité doivent être combinés avec SRP ou AppLocker, afin d'empêcher l'exécution de tout exécutable déposé dans les répertoires dans lesquels Firefox est autorisé à écrire. Cette exigence est également présente avec IE et Chrome.

Une fois cela fait, Firefox sera renforcé contre les téléchargements en voiture et sera plus protégé que IE, car le mode protégé IE ne fournit pas une protection suffisante lorsqu'il n'est pas combiné avec SRP ou Applocker. En aucun cas, Firefox ne peut écrire dans son propre répertoire et ses dossiers temporaires différemment de ce que Chrome en mode protégé et IE en mode protégé sont autorisés à faire.

Seul écueil de cette solution: j'ai la mauvaise habitude de laisser les exécutables dans mon dossier Téléchargements, que je lancerai plus tard. Ces exécutables pourraient potentiellement être falsifiés si Firefox est exploité après leur téléchargement. Ainsi, après avoir téléchargé un fichier, déplacez-le hors du dossier Téléchargements. Il existe également un très faible risque qu'une vulnérabilité dans Firefox soit exploitée afin de modifier un fichier temporaire dans le dossier temporaire autorisé qui exploite ensuite une vulnérabilité dans un processus de niveau d'intégrité supérieur lorsqu'il utilise ce fichier temporaire. Cependant, cela ne se produira jamais et n'est qu'une vulnérabilité théorique.

Lectures complémentaires / Sources:

Windows 7 SRP (fonctionne sur Home Premium, bien que vous n'ayez pas AppLocker):

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

Niveaux d'intégrité:

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

Mode protégé IE:

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

Informations de base sur les "Téléchargements Drive-by":

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

Détails de Chrome sur Windows Sandboxing (c'est plus que de simples niveaux d'intégrité):

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

Gaffe
la source
1
Peu importe le nombre d'emplacements communs dont vous avez supprimé la protection à faible intégrité. L'ajout de certains emplacements à ne plus protéger est contraire à l'objectif du mode protégé. Vous avez fait un jugement dans votre propre esprit: écrire Tempet le dossier Mozilla AppData sont un compromis acceptable; parce que nous savons tous que nous voulons vraiment empêcher les programmes d'accéder à Windows et ProgramFiles. Le problème est: je ne sais pas ce que FF stocke AppData\Mozilla, mais je ne veux pas que des logiciels malveillants empoisonnent les URL de mise à jour ou modifient mes extensions. Voilà le point de sécurité.
Ian Boyd,
Vous ne pensez donc pas que cela vaut la peine d'utiliser Firefox en mode protégé, car Firefox lui-même pourrait être compromis? IE lui-même peut être lui-même théoriquement compromis, même lorsqu'il fonctionne en mode protégé. Le but du mode protégé est d'isoler le système des processus qui s'interfacent avec des données non fiables et peuvent donc être exploités pour compromettre le reste du système, et non la protection du programme contre lui-même. Sous une intégrité moyenne, Firefox peut déjà écrire dans Temp et AppData, empêchant ainsi les droits sur tous les autres emplacements est clairement un gain de sécurité significatif.
Cela dit, si vous êtes préoccupé par l'intégrité de vos extensions, ce qui est compréhensible si vous cherchez à protéger les mots de passe, il vous suffit d'affiner les règles de niveau d'intégrité. les niveaux d'intégrité n'empêchent pas les opérations de lecture ou d'exécution supérieures au niveau d'intégrité d'une application. Marquez uniquement le dossier temporaire comme autorisé et tous les emplacements de fichiers de configuration dans lesquels vous souhaitez que Firefox écrive, en veillant à exclure le dossier d'extension trouvé dans AppData. les URL de mise à jour ne sont pas stockées dans la configuration accessible à l'utilisateur: kb.mozillazine.org/… .
ProcessMonitor peut être utile pour déterminer les opérations qu'une application tente d'effectuer et qui sont refusées en raison de son niveau d'intégrité. Définissez simplement des filtres pour Nom de l'application = theappinquestion.exe et Résultat = ACCÈS REFUSÉ, et vous pouvez facilement affiner les niveaux d'intégrité de tous les fichiers ou clés de registre nécessaires. Fichiers avec icacls, clés de reg avec regil ( minasi.com/apps ). En utilisant cette méthode, j'ai pu configurer la version bêta de SC2 pour qu'elle s'exécute en mode d'intégrité faible en moins de 5 minutes.
je pense que tout le monde manque le fait que j'exécute d'autres logiciels au niveau d'intégrité obligatoire faible; programmes en plus ie et Chrome (ou FireFox). L'exemple est un lecteur multimédia; Je veux que l'exécution de code à partir d'un débordement de tampon dans un codec ne soit pas autorisée à écrire sur quoi que ce soit, sauf les deux emplacements autorisés. Et je ne veux certainement pas que le code puisse écrire dans mon Downloadsdossier, mon Tempdossier ou modifier les paramètres liés à Firefox. Je ne devrais pas lever les barrières de sécurité sur mon ordinateur pour faire fonctionner un programme, le programme devrait se plier aux barrières de sécurité.
Ian Boyd
-1

La SRP n'est pas nécessaire, car les processus exécutés par un processus de faible niveau d'intégrité héritent eux-mêmes d'un faible niveau d'intégrité. Cependant, c'est une autre couche de protection, et donc toujours une bonne idée!


la source