Firefox utilise-t-il le sable
La mise à jour de Firefox apporte un tout nouveau type de bac à sable de sécurité
Remarque – Des niveaux supérieurs à la valeur par défaut actuelle pour un type de processus particulier ne sont pas implémentés.
Aperçu
Le sable de sécurité utilise les processus d’enfants comme limite de sécurité. Le modèle de processus, je.e. Comment Firefox est divisé en divers processus et comment ces processus interagissent entre les autres sont communs à toutes les plateformes. Pour plus d’informations, consultez la page Wiki Electrolyse et son successeur, la fission du projet. Les aspects de sécurité d’un processus d’enfant sableux sont implémentés sur une base par plate-forme. Voir la section des spécificités de la plate-forme ci-dessous pour plus d’informations.
- Spécificiaires de la plate-forme
- Recherche de bogue restrictions de fichiers
- Ensemble de règles de filtre OSX
- Durcissement des recherches
- Modèle de processus
Statut actuel
bac à sable | Tronc | Bêta | Libérer | |||
---|---|---|---|---|---|---|
Niveau | Niveau | Version | Niveau | Version | ||
Windows (contenu) | Niveau 6 | Niveau 6 | Niveau 6 | FX76 | ||
Windows (compositeur) | Niveau 0 [1] | |||||
Windows (GMP) | activé | activé | activé | |||
Windows (prise) | Niveau 1 | Niveau 1 | FX75 | Niveau 1 | FX75 | |
Windows 64bit (plugin NPAPI) | activé | activé | activé | |||
OSX (contenu) | Niveau 3 | Niveau 3 | Fx56 | Niveau 3 | Fx56 | |
OSX (GMP) | activé | activé | activé | |||
OSX (RDD) | activé | activé | activé | |||
OSX (prise) | activé | désactivé | désactivé | |||
OSX (Flash NPAPI) | Niveau 1 | Niveau 1 | Niveau 1 | |||
Linux (contenu) | Niveau 4 | Niveau 4 | Fx60 | Niveau 4 | Fx60 | |
Linux (GMP) | activé | activé | activé |
Une valeur de «niveau» reflète des paramètres de sécurité de bac à sable unique pour chaque plate-forme et processus. La plupart des processus n’ont que deux niveaux “actifs”, le paramètre actuel et un paramètre inférieur (publié précédent). Les paramètres de niveau autres que ces deux valeurs ne garantissent aucune garantie de modification du comportement de sécurité, les paramètres de niveau sont principalement une fonction de débogage de déploiement de version.
[1] Niveau 1 disponible mais désactivé en raison de diverses régressions avec défilement, voir Bug 1347710.
les fenêtres
Contenu
Les paramètres liés à la sécurité de Sandbox sont regroupés et associés à un niveau de sécurité. Les valeurs de niveau inférieur indiquent un bac à sable moins restrictif.
Atténuation_bottom_up_aslr
Mitigation_Heap_terminate
Atténuation_sehop
Atténuation_dep_no_atl_thunk
Atténuation_dep
Atténuation_extension_point_disable
Atténuation_image_load_no_remote
Atténuation_image_load_no_low_label
Atténuation_image_load_prefer_sys32
Atténuation_bottom_up_aslr
Mitigation_Heap_terminate
Atténuation_sehop
Atténuation_dep_no_atl_thunk
Atténuation_dep
Atténuation_extension_point_disable
Atténuation_image_load_no_remote
Atténuation_image_load_no_low_label
Atténuation_image_load_prefer_sys32
DaCl par défaut verrouillé
Gecko Media Plugin (GMP)
Atténuation_bottom_up_aslr
Mitigation_Heap_terminate
Atténuation_sehop
Atténuation_extension_point_disable
Atténuation_dep_no_atl_thunk
Atténuation_dep
DaCl par défaut verrouillé
[1] dépend du plugin multimédia
Décodeur de données à distance (RDD)
Atténuation_bottom_up_aslr
Mitigation_Heap_terminate
Atténuation_sehop
Atténuation_extension_point_disable
Atténuation_dep_no_atl_thunk
Atténuation_dep
Atténuation_image_load_prefer_sys32
Atténuation_win32k_disable
DaCl par défaut verrouillé
La mise à jour de Firefox apporte un tout nouveau type de bac à sable de sécurité
Remarque – Des niveaux supérieurs à la valeur par défaut actuelle pour un type de processus particulier ne sont pas implémentés.
Aperçu
Le sable de sécurité utilise les processus d’enfants comme limite de sécurité. Le modèle de processus, je.e. Comment Firefox est divisé en divers processus et comment ces processus interagissent entre les autres sont communs à toutes les plateformes. Pour plus d’informations, consultez la page Wiki Electrolyse et son succès, la fission du projet. Les aspects de sécurité d’un processus d’enfant sableux sont implémentés sur une base par plate-forme. Voir la section des spécificités de la plate-forme ci-dessous pour plus d’informations.
Documents techniques
- Spécificiaires de la plate-forme
- Recherche de bogue restrictions de fichiers
- Ensemble de règles de filtre OSX
- Durcissement des recherches
- Modèle de processus
Statut actuel
bac à sable | Tronc | Libérer | ||||
---|---|---|---|---|---|---|
Niveau | Niveau | Version | Niveau | Version | ||
Windows (contenu) | Niveau 6 | Niveau 6 | FX76 | Niveau 6 | FX76 | |
Windows (compositeur) | Niveau 0 [1] | |||||
Windows (GMP) | activé | activé | ||||
Windows (prise) | Niveau 1 | Niveau 1 | FX75 | Niveau 1 | FX75 | |
Windows 64bit (plugin NPAPI) | activé | activé | activé | |||
OSX (contenu) | Niveau 3 | Niveau 3 | Fx56 | Niveau 3 | Fx56 | |
OSX (GMP) | activé | activé | activé | |||
OSX (RDD) | activé | activé | activé | |||
OSX (prise) | activé | désactivé | désactivé | |||
OSX (Flash NPAPI) | Niveau 1 | Niveau 1 | Niveau 1 | |||
Linux (contenu) | Niveau 4 | Niveau 4 | Fx60 | Niveau 4 | Fx60 | |
Linux (GMP) | activé | activé | activé |
Une valeur de «niveau» reflète des paramètres de sécurité de bac à sable unique pour chaque plate-forme et processus. La plupart des processus n’ont que deux niveaux “actifs”, le paramètre actuel et un paramètre inférieur (publié précédent). Les paramètres de niveau autres que ces deux valeurs ne garantissent aucune garantie de modification du comportement de sécurité, les paramètres de niveau sont principalement une fonction de débogage de déploiement de version.
[1] Niveau 1 disponible mais désactivé en raison de diverses régressions avec défilement, voir Bug 1347710.
les fenêtres
Le paramètre lié à la sécurité de Sandbox est regroupé et associé à un niveau de sécurité. Les valeurs de niveau inférieur indiquent un bac à sable moins restrictif.
Atténuation_bottom_up_aslr
Mitigation_Heap_terminate
Atténuation_sehop
Atténuation_dep_no_atl_thunk
Atténuation_dep
Atténuation_extension_point_disable
Atténuation_image_load_no_remote
Atténuation_image_load_no_low_label
Atténuation_image_load_prefer_sys32
Atténuation_bottom_up_aslr
Mitigation_Heap_terminate
Atténuation_sehop
Atténuation_dep_no_atl_thunk
Atténuation_dep
Atténuation_extension_point_disable
Atténuation_image_load_no_remote
Atténuation_image_load_no_low_label
Atténuation_image_load_prefer_sys32
DaCl par défaut verrouillé
Gecko Media Plugin (GMP)
Atténuation_bottom_up_aslr
Mitigation_Heap_terminate
Atténuation_sehop
Atténuation_extension_point_disable
Atténuation_dep_no_atl_thunk
Atténuation_dep
DaCl par défaut verrouillé
[1] dépend du plugin multimédia
Décodeur de données à distance (RDD)
Atténuation_bottom_up_aslr
Mitigation_Heap_terminate
Atténuation_sehop
Atténuation_extension_point_disable
Atténuation_dep_no_atl_thunk
Atténuation_dep
Atténuation_image_load_prefer_sys32
Atténuation_win32k_disable
DaCl par défaut verrouillé
Atténuation_strict_handle_checks
Atténuation_dynamic_code_disable
Atténuation_dll_search_order
Mitigation_Force_MS_SIGNED_BINS
Plugin 64 bits
Atténuation_bottom_up_aslr
Mitigation_Heap_terminate
Atténuation_sehop
Atténuation_dep_no_atl_thunk
Atténuation_dep
DaCl par défaut verrouillé
- Page Wiki Firefox / Win64
- Annonce de libération
- CONSTRUCTIONS WINDOWS 64 BIT
OSX
Niveaux de contenu pour les processus de contenu Web et de fichiers
Les processus de contenu MAC utilisent le sandbox niveau 3. Les processus de contenu de fichier (pour le fichier: /// origines) utilisent également le niveau 3 avec des règles supplémentaires pour permettre l’accès en lecture au système de fichiers. Les niveaux 1 et 2 peuvent toujours être activés dans environ: config, mais ils ne sont pas pris en charge et les utiliser ne sont pas recommandés. Différents niveaux de bac à sable ont été utilisés pour les tests et le débogage pendant le déploiement des fonctionnalités de sable de sable, mais ils devraient maintenant être supprimés. Mac Sandboxing utilise une stratégie de liste blanche pour tous les types de processus. Chaque politique commence par une déclaration pour nier tout accès aux ressources système, puis spécifie les ressources autorisées. Le sandbox de niveau 3 permet à des métadonnées de lecture du système de fichiers avec un accès à lecture complet pour des répertoires système spécifiques et certains répertoires d’utilisateurs, l’accès au microphone, l’accès à divers services système, Windowserver, nommé Sysctls et Iokit Properties, et autres éléments divers. Le travail est en cours pour supprimer l’accès au microphone, à Windowserver et à d’autres services système dans la mesure du possible. Le sandbox bloque l’accès à l’écriture de tous les systèmes de fichiers, lisez l’accès au répertoire de profil (en dehors des sous-répertoires chromés et extensions, lisez l’accès au répertoire personnel, E / S de réseau entrant / sort. Les niveaux de bac à sable plus anciens 1 et 2 sont moins restrictifs. Principalement, le niveau 2 permet un accès à lecture de fichiers à tous les systèmes de fichiers sauf le répertoire ~ / bibliothèque. Le niveau 1 permet l’accès à la lecture de fichiers. Les restrictions de niveau 1 sont un sous-ensemble de niveau 2. Les restrictions de niveau 2 sont un sous-ensemble de niveau 3.
La stratégie de contenu Web et de fichier est définie dans SandboxPolicContent.H
Processus de plugin de médias Gecko
La politique Gecko Media Plugins (GMP) est définie dans sandboxpolicygmp.H.
Processus de décodeur de données à distance
La politique de décodeur de données distantes (RDD) est définie dans SandboxPolicyutility.H.
Procédé de socket
La politique de processus de socket est définie dans SandboxPolicySocket.H. À l’heure.
Processus de flash NPAPI
Activé dans Firefox en commençant par la construction 62. Le boîtier de sable Mac Flash est activé au niveau 1. Certaines fonctionnalités sont affectées par le bac à sable et celles-ci sont documentées dans “les modifications affectant Adobe Flash on Firefox pour Mac” sur la support.mozilla.org. La politique Flash est définie dans sandboxpolicyflash.H.
Linux
- De nombreux systèmes, y compris la création de processus
- Tout du niveau 1
- Écrivez un accès au système de fichiers
- Exclut la mémoire partagée, le tempdir, le matériel vidéo
- Tout du niveau 1-2
- Lire l’accès à la plupart du système de fichiers
- Exclut les thèmes / configuration GTK, les polices, les données partagées et les bibliothèques
- Tout du niveau 1-3
- Accès au réseau, y compris les prises locales
- Exclut x11 socket
- Sauf si FGXLRX ou VirtualGl sont utilisés
Règles de contenu
Plugin de média Gecko
Paramètres de personnalisation
Le Sandbox Linux permet une certaine quantité de contrôle sur la stratégie de bac à sable via divers paramètres de configuration. Ceux-ci sont destinés à permettre à plus de configurations non standard et de distributions exotiques de rester en fonction – sans compiler des versions personnalisées de Firefox – même si elles ne peuvent pas être directement prises en charge par la configuration par défaut.
Voir la journalisation des activités pour obtenir des informations sur la façon de déboguer ces scénarios.
- Voir les niveaux de contenu ci-dessus. La réduction de cela peut aider à identifier le sable comme la cause d’un problème, mais vous feriez mieux d’essayer les autorisations à grain les plus fins ci-dessous.
- Liste des chemins supplémentaires séparés par des virgules auxquels le processus de contenu est autorisé à lire ou à écrire, respectivement. Pour permettre l’accès à un arbre d’annuaire entier (plutôt qu’au répertoire lui-même), incluez une traînée / / personnage.
- Liste des numéros d’appels système supplémentaires qui devraient être autorisés dans le processus de contenu. Ceux-ci affectent le filtre SecComp-BPF.
Préférences
Type de processus Type de préférence Préférence Contenu numérique sécurité.bac à sable.contenu.niveau Plugin Windows NPAPI numérique dom.IPC.plugins.niveau de bac à sable.défaut
dom.IPC.plugins.niveau de bac à sable.Plugin OS X NPAPI numérique dom.IPC.plugins.niveau de bac à sable.défaut
dom.IPC.plugins.niveau de bac à sable.éclairCompositeur numérique sécurité.bac à sable.GPU.niveau Médias Embarqué N / A Remarque – Des niveaux supérieurs à la valeur par défaut actuelle pour un type de processus particulier ne sont pas implémentés.
Restrictions du système de fichiers
Sandboxing applique des restrictions d’écriture et de lecture du système de fichiers pour les scripts de contenu complémentaire basé sur Xul (cadre et processus). Pour éviter les problèmes, car les fonctionnalités de sandboxing déploient les auteurs de modules complémentaires devraient mettre à jour leur code complémentaire hérité dès aujourd’hui, de sorte que les scripts de contenu ne tentent plus de lire ou d’écrire à partir d’emplacements restreints. Remarque Ces restrictions n’affectent pas le script de contenu WeBextension ou le script complémentaire XUL en cours d’exécution dans le processus du navigateur.
Règles d’accès au système de fichiers pour les processus de contenu, priorité inverse:
Emplacement Type d’accès Restriction système de fichiers lire écrire nier par défaut Installer l’emplacement écrire refuser Installer l’emplacement lire permettre Emplacements de la bibliothèque système écrire refuser Emplacements de la bibliothèque système lire permettre profil/* lire écrire nier par défaut profil / extensions écrire refuser profil / extensions lire permettre Fonctionnalités de débogage
Journalisation des activités
L’exploitation de la journalisation du bac à sable suivantes suivantes. Sur Windows, la sortie est envoyée à la console du navigateur lorsqu’elle est disponible, et à une console de développeur attaché au processus de navigateur en cours d’exécution. Sur OSX, une fois activé, les entrées de journal de violation sont visibles dans la console.application (/ applications / utilitaires / console.application). Sur Linux, une fois activé, les entrées de journal de violation sont enregistrées sur la console de la ligne de commande.
sécurité.bac à sable.enregistrement.activé (booléen)
sécurité.bac à sable.les fenêtres.enregistrer.StackTracedEpth (entier, spécifique à Windows)Les variables d’environnement suivantes déclenchent également la sortie de journalisation du bac à sable:
Moz_sandbox_logging = 1
Journalisation spécifique à la bac à sable
Sur Mac, la journalisation de la violation de bac à sable est désactivée par défaut. Pour permettre la journalisation,
- Lancez l’application OS X Console (/ Applications / Utilitaires / Console.app) et filtrer sur “Plugin-Container”.
- Soit définir le préf sécurité.bac à sable.enregistrement.activé = true et redémarrer le navigateur ou lancer le navigateur avec le Moz_sandbox_logging Ensemble de variables d’environnement. Définition de la variable d’environnement Moz_sandbox_mac_flash_logging Permet la journalisation uniquement pour le sandbox sable du plugin Flash OS X NPAPI lorsqu’il est activé.
- Si Console.L’application ne s’exécute pas déjà au moment de la violation du bac à sable, la violation n’est pas enregistrée de manière fiable.
- Depuis la construction 56, où les restrictions d’accès à lecture du système de fichiers ont été resserrées, l’exécution de Firefox déclenche toujours des violations de bacs de sable et celles-ci seront enregistrées. Par exemple, le contenant du plugin tente d’accéder / applications et / utilisateurs (Bug 1378968). Nous voulons les résoudre lorsque cela est possible, mais certaines violations sont compliquées à éviter ou sont déclenchées par le code de la bibliothèque OS X qui ne peut pas encore être évité.
Logotage spécifique de bac à sable spécifique
La variable d’environnement suivante déclenche une sortie de débogage de bac à sable supplémentaire:
Moz_sandbox_logging = 1
Variables d’environnement
Variable d’environnement DESCRIPTION PLATEFORME Moz_disable_content_sandbox Désactive le sable de sable de processus de contenu à des fins de débogage. Tous Moz_disable_gmp_sandbox Désactiver le sable du plugin multimédia à des fins de débogage Tous Moz_disable_npapi_sandbox Désactiver le bac à sable du processus NPAPI 64 bits Windows et Mac Moz_disable_gpu_sandbox Désactiver le sable de sable de processus GPU les fenêtres Moz_disable_rdd_sandbox Désactiver le processus de décodeur de données Sandbox Tous Moz_disable_socket_process_sandbox Désactiver le sable de processus de processus de socket Tous Définition d’un environnement personnalisé sous Windows
1) Fermer Firefox
2) navigateur à l’emplacement de votre installation Firefox à l’aide de l’explorateur
3) Shift + cliquez avec le bouton droit dans la fenêtre du dossier où Firefox.EXE est situé, sélectionnez “ouvrir la fenêtre de commande ici”
4) Ajouter la (s) variable (s) d’environnement que vous souhaitez définir sur votre fenêtre de commande –Définir MOZ_DISABLE_NPAPI_SANDBOX = 1 (RETOUR)
5) Entrez Firefox.EXE et appuyez sur ENTER pour lancer Firefox avec votre environnement personnalisé
Options de construction locales
Pour désactiver la construction du bac à sable, construisez complètement avec cela dans votre Mozconfig:
Pour désactiver uniquement les pièces de sable de contenu:
Listes de bogues
Priorités
Listes de sandbox de sécurité / processus
Listes de triage
- Liste du triage de sable: https: // est.gd / ghrow8
- Répertorie les bogues des composants de sable qui ne sont pas suivis par un jalon
- Ignore précédemment triée dans SB-ou SB+
- Ignore les méta-bogues et les bogues avec NeedInfos
- Répertorie tout bogue dans la base de données avec SB?
- Ignore les bogues avec NeedInfos
- Bogues précédemment triées qui n’ont pas de jalon et pas de priorité
- SB Tracking + ‘webrtc’
Feuille de route
2020 H1 – Focus du travail principal
- Opérations de dessin en toile à distance,
- Préalable pour Win32k.Verrouillage SYS.
- Préalable pour Win32k.Verrouillage SYS.
- Suivi dans le bug pour le défaut sur
- Voir aussi composant Webgl hors de processus.
- Suivi dans le bug de Make It Shippable.
- Cintré sur des problèmes de terrain non reproductibles.
- Préalable pour Win32k.Verrouillage SYS.
- Victoire à la sécurité et à la mémoire.
- Les performances gagnent et résoudraient de nombreux problèmes avec des personnes rencontrant des problèmes avec les configurations Docker / Kubernetes par défaut qui ne donnent qu’une petite quantité de mémoire partagée.
2020 H2 – Focus du travail principal
- Report de win32k.SYS Lockdown Prérequis de 2020 H1.
- Report des travaux de sandboxing GPU bloqué.
- Win32k restant.bloqueurs sys.
- Activer Cig in Rdd.
- Étudier / expérimenter la faisabilité de l’expédition de cig dans le contenu.
Communication
- Zoom: par invitation, demandez GCP @ mozilla.com
- Archives de notes de réunion
- Serveur: discuter.mozilla.org
- Channel: #Hardening
Personnes
- Gian-Carlo Pascutto (GCP)
- N / A
- N / A
- Haik Aftandilian (Haik)
- Jed Davis (JLD)
- Chris Martin (CMartin)
- Bob Owen (Bobowen)
- David Parks (bricoleur)
- Stephen Pohl (Spohl)
- Toshihito Kikuchi (Toshi)
- Gian-Carlo Pascutto (GCP)
Repo Propriété du module
Liens
- Page wiki électrolyse (beaucoup de liens de ressources supplémentaires)
- Sécurité / Sandbox / MacOS_Release – Description de ce qu’il faut faire lorsqu’une nouvelle version macOS sort afin de savoir quelles mises à jour ils ont faits au bac à sable.
- Bac à sable de chrome
- Guide de bac à sable d’Apple
- “Présentation du sandbox Linux de la nouvelle génération de Chrome” (SecComp-BPF lié)
- Client natif sur Wikipedia (liens vers des articles sur la conception du client natif et l’utilisation de SFI, ainsi que des articles sur SFI lui-même.)
Archive B2G
- Page de sécurité du système Firefox OS sur MDN
- Sandboxing sur B2G Présentation
- données de filtre SecComp B2G
B2G a toujours été “en sable” dans une certaine mesure; Chaque application / onglet obtient son propre processus de contenu, qui utilise le modèle de sécurité Android: un UID séparé par processus, pas d’adhésion au groupe et des correctifs de noyau qui nécessitent un abonnement de groupe pour des choses comme l’accès au réseau. Mais l’escalade des privilèges via les vulnérabilités du noyau est relativement courante, nous utilisons donc également le filtre d’appel système SECCOMP-BPF pour réduire la surface d’attaque qu’un processus de contenu compromis peut accéder directement.
La mise à jour de Firefox apporte un tout nouveau type de bac à sable de sécurité
Aujourd’hui’s un Firefox mardi, lorsque la dernière version de Mozilla’S Browser sort, avec toutes les mises à jour de sécurité qui ont été fusionnées dans le produit depuis la version précédente.
Nous les appelions Quarante, Parce que Mozilla a suivi un cycle de codage de six semaines, au lieu de mensuellement comme Microsoft, ou trimestriel comme Oracle, et sept jours multipliés par six semaines vous ont donné le numéro vital 42.
Ces jours-ci, Mozilla va surtout pour des cycles de quatre semaines, de sorte que les mises à jour se déplacent régulièrement dans le calendrier mensuel de la même manière que les mois lunaires glissent progressivement à travers l’année solaire.
Cette mise à jour porte la version grand public à 95.0, et comprend un tas de correctifs de sécurité, répertoriés dans le MFSA-2021-52 de la Fondation Mozilla Foundation, y compris les vulnérabilités menant à:
- De nombreux accidents Cela pourrait potentiellement être s’efforcer de trous exploitables.
- Webextensions qui pourraient laisser des composants indésirables Après une désinstallation officielle.
- Astuces pour permettre aux sites distants de Découvrez certaines des applications Installé sur votre ordinateur.
- Contournement de bacs de sable Cela pourrait permettre aux scripts non fiables de faire plus que prévu.
- Astuces pour mettre le curseur au mauvais endroit, potentiellement déguiser des clics risqués.
24/7 menace la chasse, la détection et la réponse livrées par une équipe d’experts en tant que service entièrement géré.
Apprendre encore plus
Un tout nouveau bac à sable
Le grand changement dans Firefox 95.0, cependant, est l’introduction d’un nouveau système de sable, développé dans le monde universitaire et connu sous le nom de RLBox. (Nous devons admettre que nous pouvons’T Trouver une explication officielle des lettres Rl dans , alors on’en supposant qu’ils représentent Bibliothèque d’exécution, plutôt que de désigner les initiales de la personne qui a lancé le projet.) Un sable strict à l’intérieur d’un navigateur est souvent réalisé en divisant le navigateur en procession du système séparé pour chaque onglet, qui finit par isolé les uns des autres par le système d’exploitation lui-même. Par défaut, les processus peuvent’T se lire ou vous écrire’S MÉMOIRE, de sorte qu’un trou d’exécution de code distant déclenché par un site à l’esprit criminel tel que douteux.l’exemple ne fait pas’t Obtenez automatiquement la possibilité d’apicher sur le contenu d’un onglet qui’S connecté à votre serveur de messagerie ou connecté à un compte de réseautage social. Mais toutes les parties d’un navigateur’Les fonctionnalités de rendu S sont faciles à diviser en processus séparés, notamment si un processus existant charge ce’est connu comme un bibliothèque partagée – généralement un .Fichier DLL sur Windows, .donc sur Unix et Linux, et .Dylib sur macOS. Les bibliothèques partagées, par exemple pour rendre un type spécifique de police ou pour lire un type de fichier sonore spécifique, sont conçus pour s’exécuter “en cours”. Cela signifie qu’ils’Rehordé dans l’espace mémoire du processus actuel, à peu près comme s’ils’D a été compilé dans l’application dès le départ. En d’autres termes, une page Web qui peut être trompée dans le chargement d’une police piégée finira généralement par traiter le fichier de police risqué dans le même processus que’S Gestion du reste de la page. Toi’d obtenir une meilleure protection si le rendu Web et le gestionnaire de polices pouvaient fonctionner séparément et ne’T a accès les uns aux autres’ mémoire et données, mais que’est difficile à faire dans un monde dans lequel vous’re utilise déjà des bibliothèques partagées pour fournir des fonctionnalités par processus supplémentaires. Toi’d Besoin de retourner à la carte à dessin et de réimplémenter toutes les fonctions actuellement implémentées via des bibliothèques partagées (qui, comme son nom l’indique, partagent la mémoire et d’autres ressources d’exécution avec le processus parent) d’une autre manière.
Gallia est omnis divisa en parttes tres
Rlbox est un moyen de simplifier le processus de division de vos processus en parties distinctes, afin que votre code ne soit pas’T a besoin d’une réécriture complète. Néanmoins, RLBox appelle les bibliothèques partagées pas “couche de séparation” qui maintient le fonctionnement interne du programme principal et au moins certaines de ses bibliothèques. Votre code doit encore changer pour permettre à RLBox intervenir dans la façon dont les données sont passées dans les deux sens entre l’application principale et ses sous-programmes de débranchements partagés, mais la quantité de bouleversements dans l’ajout de ces vérifications de sécurité est, au moins si l’équipe RLBox et les développeurs de Firefox sont à croire, relativement modestes et faciles à obtenir. Notamment, selon l’équipe RLBox:
Plutôt que de migrer une application pour utiliser Rlbox […] en une seule photo, RLBox permet ‘migration incrémentielle’ […] La migration du code existant pour utiliser les API RLBox peut être effectuée une [opération] à la fois. Après chacune de ces migrations, vous pouvez continuer à construire, exécuter [et] tester le programme avec une fonctionnalité complète pour vous assurer que l’étape de migration est correcte.”
Malheureusement, pas beaucoup de Firefox’S Les fonctions de rendu ont encore été transférées à RLBox. Apparemment, seules quelques opérations spéciales de forme de police, le vérificateur d’orthographe et le code de jeu multimédia pour les fichiers OGG ont été déplacés dans ce mode plus sécurisé. Les fichiers OGG sont ceux que vous trouvez souvent sur les sites Web de Wikipedia et Zealous Free and Open-source, car les codecs OGG n’ont jamais été encombrés par des brevets, contrairement à de nombreux autres formats audio et vidéo. (Codec norme’t comme le mot de haute technologie que vous pouvez vous y attendre, au fait: il’s court simplement pour codeur et encodeur, de la même manière qu’un modem est un signal modulateur et démotulateur.)
Quoi de suivi?
Si tout se passe bien, la gestion RLBoxed des fichiers XML et des polices Woff (le format de fichier désormais ubique pour les polices Web intégrées) suivra dans Firefox 96.0. Vraisemblablement, si tout se passe bien, l’équipe de Mozilla continuera à diviser et à conquérir son code de navigateur afin de créer “zones de compromis” associé à chaque bibliothèque de programmation (dont une session de navigateur typique peut nécessiter des centaines) qui est nécessaire pour traiter le contenu non fiable de l’extérieur. Bien sûr, si cela ne le fait pas’t travail, là’s toujours lynx, comme nous l’avons discuté dans un récent podcast de sécurité nu. Lynx est un navigateur si old-school et si désactivé qu’il ne le fait pas’T FAITS, JavaScript ou même graphiques: seulement 100% de mode de texte de style terminal naviguant avec une dépendance minimale aux bibliothèques partagées…
LE MONDE’S Browser: Écoutez maintenant Cliquez et traîne sur les ondes sonores pour se déplacer. La section Lynx commence à 2’dix”.
Vous pouvez également écouter directement sur SoundCloud.- Suivre @NakedSecurity sur Twitter Pour les dernières nouvelles de la sécurité informatique.
- Suivre @NakedSecurity sur Instagram pour des photos, des gifs, des vidéos et des lol exclusifs!