{"id":33377,"date":"2019-10-31T21:52:15","date_gmt":"2019-10-31T18:52:15","guid":{"rendered":"https:\/\/prohoster.info\/blog\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox\/"},"modified":"2019-10-31T21:52:15","modified_gmt":"2019-10-31T18:52:15","slug":"tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox","title":{"rendered":"D\u00e9tails techniques de la r\u00e9cente d\u00e9sactivation des extensions dans Firefox","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Remarque du traducteur : pour le confort des lecteurs, les dates sont donn\u00e9es selon l'heure de Moscou<\/i><\/p>\n<p>R\u00e9cemment, nous avons manqu\u00e9 le moment d'expiration d'un des certificats utilis\u00e9s pour signer les extensions. Cela a entra\u00een\u00e9 la d\u00e9sactivation des extensions pour les utilisateurs. Maintenant que la plupart des probl\u00e8mes sont r\u00e9solus, j'aimerais parler des d\u00e9tails de ce qui s'est pass\u00e9 et du travail que nous avons accompli.\n<\/p>\n<p><b>Contexte : extensions et signatures<\/b><\/p>\n<p><noindex>Bien que beaucoup utilisent le navigateur \u00ab out of the box \u00bb, Firefox prend en charge des extensions appel\u00e9es \u00ab modules compl\u00e9mentaires \u00bb. Gr\u00e2ce \u00e0 celles-ci, les utilisateurs ajoutent diverses fonctionnalit\u00e9s au navigateur. Il existe plus de 15 000 modules compl\u00e9mentaires : allant de <a rel=\"nofollow\" href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/ublock-origin\/\">blocage des publicit\u00e9s<\/a> \u00e0 <a rel=\"nofollow\" href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/tree-style-tab\/\">gestion de centaines d'onglets<\/a>.<\/noindex><\/p>\n<p>Les modules compl\u00e9mentaires install\u00e9s doivent avoir <a rel=\"nofollow\" href=\"https:\/\/blog.mozilla.org\/addons\/2015\/02\/10\/extension-signing-safer-experience\/\">une signature num\u00e9rique<\/a>, qui prot\u00e8ge les utilisateurs contre les modules compl\u00e9mentaires malveillants, et exige un minimum de v\u00e9rification des modules compl\u00e9mentaires par les employ\u00e9s de Mozilla. Nous avons introduit cette exigence en 2015, car nous rencontrions <a rel=\"nofollow\" href=\"https:\/\/blog.mozilla.org\/addons\/2015\/04\/15\/the-case-for-extension-signing\/\">de graves probl\u00e8mes<\/a> avec des modules compl\u00e9mentaires malveillants.<\/p>\n<p>Comment cela fonctionne : chaque copie de Firefox contient un \u00ab certificat racine \u00bb. La cl\u00e9 de ce \u00ab racine \u00bb est stock\u00e9e dans <a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Hardware_security_module\">un module de protection mat\u00e9riel (HSM)<\/a>, qui n'a pas acc\u00e8s au r\u00e9seau. Tous les quelques ann\u00e9es, cette cl\u00e9 signe un nouveau \u00ab certificat interm\u00e9diaire \u00bb, qui est utilis\u00e9 lors de la signature des modules compl\u00e9mentaires. Lorsque le d\u00e9veloppeur envoie un module compl\u00e9mentaire, nous cr\u00e9ons un \u00ab certificat final \u00bb temporaire et le signons en utilisant le certificat interm\u00e9diaire. Ensuite, le module compl\u00e9mentaire lui-m\u00eame est sign\u00e9 avec le certificat final. Sch\u00e9matiquement <a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/files\/2019\/05\/Add-on-blog-post-visual-May-7-2019-768x859.png\">cela ressemble \u00e0 ceci<\/a>.<\/p>\n<p>Notez bien : chaque certificat a un \u00ab sujet \u00bb (\u00e0 qui le certificat est d\u00e9livr\u00e9) et un \u00ab \u00e9metteur \u00bb (qui a d\u00e9livr\u00e9 le certificat). Dans le cas du certificat racine, le \u00ab sujet \u00bb = \u00ab \u00e9metteur \u00bb, mais pour les autres certificats, l'\u00e9metteur du certificat est le sujet du certificat sup\u00e9rieur qui l'a sign\u00e9.<\/p>\n<p>Point important : chaque module compl\u00e9mentaire est sign\u00e9 avec un certificat final unique, mais presque toujours ces certificats finaux sont sign\u00e9s par le m\u00eame certificat interm\u00e9diaire.<\/p>\n<p><i>Remarque de l'auteur : une exception \u2014 les modules compl\u00e9mentaires tr\u00e8s anciens. \u00c0 l'\u00e9poque, diff\u00e9rents certificats interm\u00e9diaires \u00e9taient utilis\u00e9s.<\/i><\/p>\n<p>Ce certificat interm\u00e9diaire a pos\u00e9 des probl\u00e8mes : chaque certificat est valide pendant une certaine p\u00e9riode. Avant ou apr\u00e8s cette p\u00e9riode, le certificat est invalide et le navigateur n'utilisera pas les extensions sign\u00e9es avec ce certificat. Malheureusement, le certificat interm\u00e9diaire a expir\u00e9 le 4 mai \u00e0 4 heures du matin.<\/p>\n<p>Les cons\u00e9quences ne se sont pas faites sentir imm\u00e9diatement. Firefox v\u00e9rifie les signatures des extensions install\u00e9es non pas en continu, mais environ toutes les 24 heures, et le moment de la v\u00e9rification est diff\u00e9rent pour chaque utilisateur. Par cons\u00e9quent, certaines personnes ont rencontr\u00e9 des probl\u00e8mes imm\u00e9diatement, tandis que d'autres beaucoup plus tard. Nous avons \u00e9t\u00e9 inform\u00e9s du probl\u00e8me \u00e0 peu pr\u00e8s au moment o\u00f9 le certificat a expir\u00e9 et avons imm\u00e9diatement commenc\u00e9 \u00e0 chercher une solution.<\/p>\n<p>\n<b>R\u00e9duire les dommages<\/b><\/p>\n<p>D\u00e8s que nous avons compris ce qui s'\u00e9tait pass\u00e9, nous avons essay\u00e9 d'\u00e9viter d'aggraver la situation.<\/p>\n<p>Tout d'abord, nous avons cess\u00e9 d'accepter et de signer de nouvelles extensions. Il n'est pas utile d'utiliser un certificat expir\u00e9 pour cela. Avec le recul, je dirais qu'il aurait \u00e9t\u00e9 possible de laisser les choses telles qu'elles \u00e9taient. La r\u00e9ception des extensions a \u00e9t\u00e9 reprise maintenant.<\/p>\n<p>Deuxi\u00e8mement, nous avons imm\u00e9diatement envoy\u00e9 un correctif qui a emp\u00each\u00e9 la v\u00e9rification quotidienne des signatures. De cette mani\u00e8re, nous avons sauv\u00e9 les utilisateurs dont le navigateur n'avait pas encore v\u00e9rifi\u00e9 les extensions au cours des derni\u00e8res 24 heures. Ce correctif a maintenant \u00e9t\u00e9 r\u00e9voqu\u00e9, car il n'est plus n\u00e9cessaire.<\/p>\n<p>\n<b>Travail parall\u00e8le<\/b><\/p>\n<p>En th\u00e9orie, la solution au probl\u00e8me semble simple : cr\u00e9er un nouveau certificat interm\u00e9diaire valide et re-signer chaque extension. Malheureusement, cela ne fonctionnera pas :\n<\/p>\n<ul>\n<li>nous ne pouvons pas rapidement re-signer 15 000 extensions en m\u00eame temps, le syst\u00e8me n'est pas con\u00e7u pour une telle charge\n<\/li>\n<li>une fois que nous aurons sign\u00e9 les extensions, les versions mises \u00e0 jour devront \u00eatre livr\u00e9es aux utilisateurs. La plupart des extensions sont install\u00e9es depuis les serveurs de Mozilla, donc dans les prochaines 24 heures, Firefox trouvera des mises \u00e0 jour, mais certains d\u00e9veloppeurs distribuent des extensions sign\u00e9es par des canaux tiers, donc les utilisateurs devraient mettre \u00e0 jour ces extensions manuellement<\/li>\n<\/ul>\n<p>Au lieu de cela, nous avons essay\u00e9 de d\u00e9velopper un correctif qui atteindrait tous les utilisateurs, sans n\u00e9cessiter (ou presque pas) d'actions de leur part.<\/p>\n<p>Nous avons rapidement identifi\u00e9 deux strat\u00e9gies principales que nous avons utilis\u00e9es simultan\u00e9ment :\n<\/p>\n<ul>\n<li>Mettre \u00e0 jour Firefox pour modifier la p\u00e9riode de validit\u00e9 du certificat. Cela fera miraculeusement fonctionner \u00e0 nouveau les extensions existantes, mais n\u00e9cessitera la publication et la livraison d'un nouveau build de Firefox.\n<\/li>\n<li>Cr\u00e9er un certificat valide et d'une mani\u00e8re ou d'une autre convaincre Firefox de l'accepter \u00e0 la place de l'existant, dont la date d'expiration est d\u00e9pass\u00e9e.<\/li>\n<\/ul>\n<p>Nous avons d\u00e9cid\u00e9 de commencer par la premi\u00e8re option, qui semblait parfaitement fonctionnelle. \u00c0 la fin de la journ\u00e9e, nous avons publi\u00e9 une deuxi\u00e8me correction (un nouveau certificat), dont nous parlerons plus tard.<\/p>\n<p>\n<b>Remplacement du certificat<\/b><\/p>\n<p>Comme je l'ai mentionn\u00e9 pr\u00e9c\u00e9demment, il \u00e9tait n\u00e9cessaire de :\n<\/p>\n<ul>\n<li>cr\u00e9er un nouveau certificat valide\n<\/li>\n<li>l'installer \u00e0 distance dans Firefox\n<\/li>\n<\/ul>\n<p>Pour comprendre pourquoi cela fonctionnera, examinons de plus pr\u00e8s le processus de v\u00e9rification de l'extension. L'extension elle-m\u00eame est fournie sous la forme d'un ensemble de fichiers, y compris la cha\u00eene de certificats utilis\u00e9s pour la signature. Ainsi, l'extension peut \u00eatre v\u00e9rifi\u00e9e si le navigateur conna\u00eet le certificat racine, qui est int\u00e9gr\u00e9 dans Firefox lors de la construction. Cependant, comme nous le savons d\u00e9j\u00e0, le certificat interm\u00e9diaire est expir\u00e9, donc l'extension ne peut pas \u00eatre v\u00e9rifi\u00e9e.<\/p>\n<p>Lorsque Firefox tente de v\u00e9rifier l'extension, il ne se limite pas \u00e0 utiliser les certificats contenus \u00e0 l'int\u00e9rieur de l'extension elle-m\u00eame. Au lieu de cela, le navigateur essaie de cr\u00e9er une cha\u00eene de certificats valide, en commen\u00e7ant par le certificat final et en continuant jusqu'\u00e0 atteindre la racine. Au premier niveau, nous commen\u00e7ons par le certificat final, puis nous trouvons le certificat dont le sujet est l'\u00e9diteur du certificat final (c'est-\u00e0-dire, le certificat interm\u00e9diaire). Ce certificat interm\u00e9diaire est g\u00e9n\u00e9ralement fourni avec l'extension, mais tout certificat du magasin du navigateur peut \u00e9galement jouer ce r\u00f4le. Si nous pouvons ajouter \u00e0 distance un nouveau certificat valide dans le magasin de certificats, Firefox essaiera de l'utiliser. <a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/files\/2019\/05\/Add-on-blog-post-visual-2-May-7-2019.png\">Situation avant et apr\u00e8s l'installation du nouveau certificat<\/a>.<\/p>\n<p>Apr\u00e8s l'installation d'un nouveau certificat, Firefox aura deux options lors de la v\u00e9rification de la cha\u00eene de certificats : utiliser l'ancien certificat invalide (qui ne fonctionnera pas), ou le nouveau certificat valide (qui fonctionnera). Il est important que le nouveau certificat contienne le m\u00eame nom de sujet et la m\u00eame cl\u00e9 publique que l'ancien certificat, donc sa signature sur le certificat final sera valide. Firefox est suffisamment intelligent pour essayer les deux options jusqu'\u00e0 ce qu'il trouve celle qui fonctionne, garantissant ainsi que les extensions seront v\u00e9rifi\u00e9es \u00e0 nouveau. Notez que c'est la m\u00eame logique que nous utilisons pour v\u00e9rifier les certificats TLS.<\/p>\n<p><i>Note de l'auteur : les lecteurs familiers avec WebPKI remarqueront que les certificats crois\u00e9s fonctionnent de la m\u00eame mani\u00e8re.<\/i><\/p>\n<p>La meilleure chose \u00e0 propos de cette solution est qu'elle ne n\u00e9cessite pas de r\u00e9inscription des extensions existantes. Une fois que le navigateur obtient le nouveau certificat, toutes les extensions fonctionneront \u00e0 nouveau. Reste le d\u00e9fi de livrer le nouveau certificat aux utilisateurs (automatiquement et \u00e0 distance), ainsi que de forcer Firefox \u00e0 rev\u00e9rifier les extensions d\u00e9sactiv\u00e9es.<\/p>\n<p>\n<b>Normandy et le syst\u00e8me de recherche<\/b><\/p>\n<p>Ironiquement, ce probl\u00e8me est r\u00e9solu par un module compl\u00e9mentaire sp\u00e9cial appel\u00e9 \u00ab syst\u00e8me \u00bb. Pour mener des recherches, nous avons d\u00e9velopp\u00e9 un syst\u00e8me appel\u00e9 Normandy, qui livre des recherches aux utilisateurs. Ces recherches s'ex\u00e9cutent automatiquement dans le navigateur et ont un acc\u00e8s \u00e9largi aux API internes de Firefox. Les recherches peuvent ajouter de nouveaux certificats au magasin de certificats.<\/p>\n<p><i>Note de l'auteur : nous n'ajoutons pas le certificat avec des privil\u00e8ges sp\u00e9ciaux ; il est sign\u00e9 par le certificat d'autorit\u00e9 racine, donc Firefox lui fait confiance. Nous l'ajoutons simplement au pool de certificats qui peuvent \u00eatre utilis\u00e9s par le navigateur.<\/i><\/p>\n<p>Ainsi, la solution consiste \u00e0 cr\u00e9er une enqu\u00eate :\n<\/p>\n<ul>\n<li>installant le nouveau certificat que nous avons cr\u00e9\u00e9 pour les utilisateurs\n<\/li>\n<li>for\u00e7ant le navigateur \u00e0 rev\u00e9rifier les extensions d\u00e9sactiv\u00e9es afin qu'elles fonctionnent \u00e0 nouveau\n<\/li>\n<\/ul>\n<p>\u00ab Mais attends \u00bb, direz-vous, \u00ab les modules compl\u00e9mentaires ne fonctionnent pas, comment lancer un module compl\u00e9mentaire syst\u00e8me ? \u00bb. Nous allons le signer avec un nouveau certificat !<\/p>\n<p>\n<b>Mettons tout ensemble... pourquoi cela prend-il si longtemps ?<\/b><\/p>\n<p>Donc, le plan : \u00e9mettre un nouveau certificat pour remplacer l'ancien, cr\u00e9er un module syst\u00e8me et l'installer pour les utilisateurs via Normandy. Les probl\u00e8mes, comme je l'ai dit, ont commenc\u00e9 le 4 mai \u00e0 4h00, et d\u00e9j\u00e0 \u00e0 12h44 le m\u00eame jour, moins de 9 heures plus tard, nous avons envoy\u00e9 la correction \u00e0 Normandy. Il a fallu encore 6 \u00e0 12 heures pour qu'elle atteigne tous les utilisateurs. Ce n'est pas mal, mais les utilisateurs sur Twitter demandent pourquoi nous n'avons pas pu agir plus vite.<\/p>\n<p>Tout d'abord, il a fallu du temps pour \u00e9mettre un nouveau certificat interm\u00e9diaire. Comme je l'ai mentionn\u00e9 pr\u00e9c\u00e9demment, la cl\u00e9 du certificat racine est stock\u00e9e hors ligne dans un module de s\u00e9curit\u00e9 mat\u00e9riel. C'est bien du point de vue de la s\u00e9curit\u00e9, car la racine est utilis\u00e9e tr\u00e8s rarement et doit \u00eatre prot\u00e9g\u00e9e de mani\u00e8re fiable, mais c'est un peu ennuyeux quand on a besoin d'\u00e9mettre d'urgence un nouveau certificat. Un de nos ing\u00e9nieurs a d\u00fb se rendre au stockage HSM. Ensuite, il y a eu des tentatives infructueuses de d\u00e9livrer le bon certificat, chaque tentative co\u00fbtant une \u00e0 deux heures de tests.<\/p>\n<p>Deuxi\u00e8mement, le d\u00e9veloppement du module syst\u00e8me a \u00e9galement pris du temps. Conceptuellement, c'est tr\u00e8s simple, mais m\u00eame des programmes simples n\u00e9cessitent de l'attention. Nous voulions nous assurer que nous ne rendions pas la situation pire. La recherche doit \u00eatre test\u00e9e avant d'\u00eatre envoy\u00e9e aux utilisateurs. De plus, le module doit \u00eatre sign\u00e9, mais notre syst\u00e8me de signature des modules \u00e9tait d\u00e9sactiv\u00e9, ce qui a n\u00e9cessit\u00e9 de trouver un moyen de contourner cette situation.<\/p>\n<p>Enfin, une fois que nous avons pr\u00e9par\u00e9 la recherche pour l'envoi, le d\u00e9ploiement a pris du temps. Le navigateur v\u00e9rifie les mises \u00e0 jour de Normandy toutes les 6 heures. Tous les ordinateurs ne sont pas toujours allum\u00e9s et connect\u00e9s \u00e0 Internet, il faut donc du temps pour que la correction se propage parmi les utilisateurs.<\/p>\n<p>\n<b>\u00c9tapes finales<\/b><\/p>\n<p>La recherche devrait corriger le probl\u00e8me pour la plupart des utilisateurs, mais elle n'est pas disponible pour tout le monde. Certaines utilisateurs n\u00e9cessitent une approche particuli\u00e8re :\n<\/p>\n<ul>\n<li>les utilisateurs qui ont d\u00e9sactiv\u00e9 les recherches ou la t\u00e9l\u00e9m\u00e9trie\n<\/li>\n<li>les utilisateurs de la version Android (Fennec), o\u00f9 les recherches ne sont pas prises en charge\n<\/li>\n<li>les utilisateurs de versions personnalis\u00e9es de Firefox ESR en entreprise, o\u00f9 la t\u00e9l\u00e9m\u00e9trie ne peut pas \u00eatre activ\u00e9e\n<\/li>\n<li>les utilisateurs derri\u00e8re un proxy MitM, car notre syst\u00e8me d'installation d'extensions utilise un verrouillage de cl\u00e9 (key pinning), qui ne fonctionne pas avec de tels proxies\n<\/li>\n<li>les utilisateurs des anciennes versions de Firefox, qui ne prennent pas en charge les recherches\n<\/li>\n<\/ul>\n<p>Nous ne pouvons rien faire pour cette derni\u00e8re cat\u00e9gorie d'utilisateurs \u2014 ils devraient absolument mettre \u00e0 jour vers la nouvelle version de Firefox, car les versions obsol\u00e8tes pr\u00e9sentent d'importantes vuln\u00e9rabilit\u00e9s non corrig\u00e9es. Nous savons que certaines personnes restent sur de vieilles versions de Firefox parce qu'elles souhaitent ex\u00e9cuter de vieilles extensions, mais beaucoup des anciennes extensions ont d\u00e9j\u00e0 \u00e9t\u00e9 port\u00e9es sur les nouvelles versions du navigateur. Pour les autres utilisateurs, nous avons d\u00e9velopp\u00e9 un correctif qui installera un nouveau certificat. Il a \u00e9t\u00e9 publi\u00e9 comme une mise \u00e0 jour de correction de bogue (<i>note du traducteur : Firefox 66.0.5<\/i>), donc les gens l'obtiendront \u2014 probablement l'ont d\u00e9j\u00e0 re\u00e7u \u2014 via le canal de mise \u00e0 jour habituel. Si vous utilisez une version personnalis\u00e9e de Firefox ESR, veuillez contacter votre mainteneur.<\/p>\n<p>Nous comprenons que tout cela n'est pas id\u00e9al. Dans certains cas, les utilisateurs ont perdu des donn\u00e9es d'extensions (par exemple, les donn\u00e9es de l'extension <a rel=\"nofollow\" href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1549204\">Multi-Account Containers<\/a>).<\/p>\n<p>Ce ph\u00e9nom\u00e8ne secondaire n'a pas pu \u00eatre \u00e9vit\u00e9, mais nous pensons que nous avons choisi la meilleure solution \u00e0 court terme pour la majorit\u00e9 des utilisateurs. \u00c0 long terme, nous rechercherons d'autres approches architecturales plus avanc\u00e9es.<\/p>\n<p>\n<b>Le\u00e7ons<\/b><\/p>\n<p>Tout d'abord, notre \u00e9quipe a fait un travail incroyable en cr\u00e9ant et en envoyant le correctif en moins de 12 heures apr\u00e8s la d\u00e9couverte du probl\u00e8me. En tant que personne pr\u00e9sente lors des r\u00e9unions, je peux dire qu'en cette situation complexe, les gens ont travaill\u00e9 tr\u00e8s dur et peu de temps a \u00e9t\u00e9 perdu en vain.<\/p>\n<p>Il est \u00e9vident que tout cela n'aurait jamais d\u00fb se produire. Il est clairement n\u00e9cessaire de corriger nos processus pour r\u00e9duire la probabilit\u00e9 de tels incidents et faciliter la correction des cons\u00e9quences.<\/p>\n<p>La semaine prochaine, nous publierons un post-mortem officiel et une liste des modifications que nous pr\u00e9voyons d'apporter. En attendant, je souhaite partager mes r\u00e9flexions. Tout d'abord, il devrait y avoir un meilleur moyen de suivre l'\u00e9tat de ce qui pourrait \u00eatre une bombe \u00e0 retardement. Nous devons nous assurer que nous ne nous retrouvons pas dans une situation o\u00f9 l'un d'eux explose soudainement. Nous travaillons encore sur les d\u00e9tails, mais au minimum, nous devons tenir un inventaire de toutes ces choses.<\/p>\n<p>Deuxi\u00e8mement, un m\u00e9canisme de livraison rapide des mises \u00e0 jour aux utilisateurs est requis, m\u00eame lorsque \u2014 surtout lorsque \u2014 tout le reste ne fonctionne pas. C'\u00e9tait formidable que nous ayons pu utiliser le syst\u00e8me de \u00ab recherches \u00bb, mais c'est un outil imparfait et il pr\u00e9sente certains effets secondaires ind\u00e9sirables. En particulier, nous savons que de nombreux utilisateurs ont activ\u00e9 les mises \u00e0 jour automatiques, mais ils pr\u00e9f\u00e9reraient ne pas participer aux enqu\u00eates (je dois avouer que je les ai \u00e9galement d\u00e9sactiv\u00e9es !). En m\u00eame temps, nous avons besoin d'un moyen d'envoyer des mises \u00e0 jour aux utilisateurs, mais quelle que soit la mise en \u0153uvre technique interne, les utilisateurs doivent pouvoir s'abonner aux mises \u00e0 jour (y compris les correctifs urgents) tout en se d\u00e9sinscrivant de tout le reste. De plus, le canal de mise \u00e0 jour doit \u00eatre plus r\u00e9actif qu'il ne l'est actuellement. M\u00eame le 6 mai, il y avait encore des utilisateurs qui n'avaient profit\u00e9 ni du correctif ni de la nouvelle version. Ce probl\u00e8me a d\u00e9j\u00e0 \u00e9t\u00e9 examin\u00e9, mais ce qui s'est pass\u00e9 a montr\u00e9 \u00e0 quel point il est crucial.<\/p>\n<p>Enfin, nous allons examiner l'architecture de s\u00e9curit\u00e9 des modules compl\u00e9mentaires pour nous assurer qu'elle garantit un niveau de s\u00e9curit\u00e9 ad\u00e9quat avec un risque minimal de causer des dysfonctionnements.<\/p>\n<p>La semaine prochaine, nous examinerons les r\u00e9sultats d'une analyse plus approfondie de ce qui s'est pass\u00e9, mais en attendant, je serais heureux de r\u00e9pondre \u00e0 vos questions par e-mail : ekr-blog@mozilla.com<\/p>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/mozilla\/14982826\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430: \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u0430\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u043e \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439. \u042d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430, \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u0445 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u0434\u0448\u0435\u0433\u043e \u0438 \u043e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435. \u041f\u043e\u0434\u043e\u043f\u043b\u0451\u043a\u0430: \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0425\u043e\u0442\u044f \u043c\u043d\u043e\u0433\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-33377","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430: \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u0430\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u043e \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0433\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0432 Firefox | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430: \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u0430\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u043e \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:52:15+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:52:15+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47D\u00e9tails techniques de la r\u00e9cente d\u00e9sactivation des modules compl\u00e9mentaires dans Firefox | ProHoster","description":"Note du traducteur : pour le confort des lecteurs, les dates sont fournies selon l'heure de Moscou. R\u00e9cemment, nous avons rat\u00e9 la date d'expiration d'un des certificats utilis\u00e9s pour signer les extensions.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0433\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0432 Firefox | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u0430: \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u0430\u0442\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u043e \u043c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u043e\u043a\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/tehnicheskie-podrobnosti-nedavnego-otklyucheniya-dopolnenij-v-firefox","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:52:15+00:00","article:modified_time":"2019-10-31T18:52:15+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33377","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 14:58:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:46:11","updated":"2026-01-21 14:58:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/33377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=33377"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/33377\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=33377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=33377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=33377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}