Comment Facebook désactive les outils de développement du navigateur pour se protéger contre les escroqueries
Dans le but de lutter contre les escroqueries généralisées, Facebook a mis en œuvre une mesure pour bloquer le outils de développement intégrés au navigateur. Cette décision a attiré l’attention, certains experts affirmant qu’elle est techniquement impossible. Cependant, Facebook a démontré le contraire.
Le mécanisme de blocage
Facebook désactive efficacement les outils de développement en remplaçant la propriété commandLineAPI de la console. Ceci est réalisé en définissant la propriété comme un getter qui génère une erreur lors de l'accès.
Object.defineProperty(console, '_commandLineAPI', { get : function() { throw 'Nooo!' } })
Cela empêche l'exécution de tout code exécuté dans la console.
Pourquoi le blocage ?
La motivation derrière l'action de Facebook est de protéger les utilisateurs contre les attaques sophistiquées d'ingénierie sociale. Les fraudeurs incitent souvent leurs victimes à coller du code JavaScript malveillant dans la console du navigateur, ce qui peut entraîner un piratage de compte ou d'autres conséquences néfastes.
Correction de bugs et protection supplémentaire de Chrome
Cependant , l'équipe de Chrome a identifié le blocage de la console depuis JS côté utilisateur comme un bug et l'a corrigé. Pour protéger davantage les utilisateurs, Facebook a mis en œuvre des mesures supplémentaires pour empêcher les auto-xss, où les utilisateurs sont amenés à exécuter du code malveillant dans leur propre navigateur.
Implications
L'approche de Facebook met en évidence l'inquiétude suscitée par les attaques côté client, mais soulève également des questions sur l'efficacité de telles mesures. Bien que le blocage temporaire des outils de développement puisse atténuer les menaces immédiates, il ne résout pas le problème sous-jacent consistant à empêcher l’exécution de code malveillant en premier lieu. Il reste à voir si des mesures de sécurité supplémentaires seront utilisées pour résoudre le problème de manière plus globale.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!