navigateur safari
Produits et Services PRODUITS & SERVICES

Ne partagez pas le lien qui fait planter votre navigateur Safari !

Ne partagez pas le lien qui fait planter votre navigateur Safari !

navigateur safariMerci de ne pas essayer ceci chez vous !

Et surtout n’essayez pas ceci non plus au travail, n’incitez personne dans votre entreprise à le faire, et n’envoyer pas ce lien par email à d’autres personnes, dans l’espoir qu’ils l’essaieront.

Cependant, nous admettons volontiers que ce type de mise en garde est du même style que l’effet Streisand. En effet Barbara Streisand avait tenté d’empêcher en vain les photos de sa maison de circuler sur internet, mais nous sommes tout de même obligé d’en parler.

Ainsi, n’essayez pas et n’incitez vos amis fans d’Apple à visiter le site crashsafari dot com.

Techniquement, le site en question ne fait pas planter réellement le navigateur Safari, du moins pas au début. En effet, ce dernier entre tout d’abord dans une boucle sans fin qui surconsomme de l’espace mémoire, et qui au final fait planter votre Mac (ou apparemment votre iPhone), et ce sans que vous ne puissiez rien y faire.

Ironiquement, le code utilisé par les hackers est extrêmement simple :

navigateur safari

Le texte HTML doit en principe apparaitre comme ceci :

navigateur safari

Ne vous inquiétez pas, même si vous n’être pas un informaticien chevronné : le JavaScript qui nous intéresse ici est très simple à décortiquer.

Il créé, tout d’abord, une série de chaînes de caractères allant des chiffres 0, 1, 2 et ainsi de suite, jusqu’à 99 999, grâce à une séquence comme celle-ci :

navigateur safari

Chaque fois qu’une nouvelle chaîne de caractères est créée, elle est intégrée dans l’historique du navigateur Safari, en utilisant la fonction history.pushState(), qui rapidement donne la situation suivante :

navigateur safari

Vous finissez avec la dernière URL dans votre historique qui se trouve être tous les chiffres allant de 0 à 100 000 écrits les uns après les autres, ce qui représente tout de même une chaîne de caractères de 1×10 + 2×90 + 3×900 + 4×9000 + 5×90000 octets de long (tous les nombres à 1 chiffre s’ajoute à tous les nombres à 2 chiffres, et ainsi de suite).

Cette chaîne de caractères seule à une taille d’environ 0.5 Mo (488 890 octets), mais il ne s’agit que de la dernière dans la liste.

En effet, entre-temps 100 000 chaînes de caractères à base de chiffres ont été créées en mémoire, et placées au sein de l’historique du navigateur Safari. Ainsi, la taille totale des chaînes de caractères créer est 488,890 + 488,885 + 488,880 … 3 + 2 +1 octets.

Ainsi, la taille totale n’est pas proportionnelle aux nombres d’itérations de la boucle (100 000 boucles), mais est proportionnelle au carré du nombre d’itérations (100 000 x 100 000, soit 10 billions).

Cela vient du fait qu’il y a 100 000 entrées au sein de l’historique du navigateur Safari, et que chacune a un taille de 2520 Ko, pour un total d’environ 25 Go d’espace mémoire.

Finalement, le navigateur Safari utilise tellement d’espace mémoire, au niveau de votre ordinateur, que le système ne répond plus, et vous devez redémarrer le système.

Si vous êtes patients, vous pouvez ouvrir la fenêtre du Terminal (il se peut que cette opération prenne un peu de temps) et utiliser la commande killall -9 Safari, qui pourra peut-être persuader OS X de terminer le processus au niveau du navigateur Safari qui accapare intégralement le système.

Ou bien vous pouvez basculer sur l’application Finder, cliquer sur le menu Apple, et utiliser la fonctionnalité Forcer à quitter, pour arriver au même résultat qu’avec le killall du navigateur Safari.

Préparez-vous à attendre un certain temps afin de permettre au système de récupérer, et à la mémoire ainsi qu’au CPU, surutilisés pendant le plantage du navigateur Safari, d’en faire autant …

navigateur safari

… et retrouver leurs niveaux habituels d’utilisation :

navigateur safari

Est-ce que cette astuce fonctionne également avec d’autres navigateurs ?

Nous avons essayé Firefox, qui assez tôt vous avertit que le script au niveau de la page web malveillante ne répond plus, et vous offre la possibilité de stopper le processus assez rapidement.

Nous n’avons pas testé les autres navigateurs, cependant nous pouvons nous attendre au pire, car gérer une utilisation massive de l’espace mémoire est toujours un vrai problème pour les navigateurs. Différents navigateurs auront des comportements différents suivants les pages internet piégées qu’ils rencontreront.

Encore une fois, au risque de paraitre ringard et sans aucun sens de l’humour, nous vous recommandons de nouveau “de ne pas essayer ceci chez vous !”.

Si vous mettez vos amis dans une position délicate, dans laquelle ils seront poussés à effectuer un killall au niveau du navigateur Safari pour reprendre le contrôle de leur ordinateur, ils perdront du temps et de l’énergie, même s’il s’agit d’une simple fenêtre à ouvrir.

Lorsqu’il s’agit de cybersécurité, ne ressemblez pas à ce type de personne dont l’entourage dit :”avec ce genre d’amis, nous n’avons pas besoin d’ennemis !”.

Nous avons, en effet, assez de cyber-ennemis, pour ne pas en rajouter !


Billet inspiré de “Do not share the link that crashes iPhones and Mac browsers” par Paul Ducklin de Naked Security
Partagez “Ne partagez pas le lien qui fait planter votre navigateur Safari !” avec http://wp.me/p2YJS1-2pC

Lire des articles similaires