Hello World vs Hello Apple : que voyez-vous lorsque vous regardez cette image ?

casse-tête pomme

Exemples de captures d’écran montrant à quoi ressemblent les quatre variantes pour différents utilisateurs.
Image: David Buchanan

Nous nous souvenons tous du « De quelle couleur est cette robe ? phénomène suivi de « Yanny contre Laurel. » Maintenant, le monde a un nouveau casse-tête à obséder, et il opposera les utilisateurs d’Apple à leurs rivaux de longue date.

Voici comment cela fonctionne : regardez cette image sur un PC ou un téléphone Android (ou tout autre produit non Apple). Ensuite, affichez la même image sur un appareil Apple. Si vous utilisiez déjà un Mac, un iPhone ou un iPad, passez à une autre plate-forme.

Essayons à nouveau avec un image différente.

Plutôt chouette, hein ? Lors de la visualisation de la première image sur un PC ou un téléphone Android, vous devriez avoir vu le message « HELLO WORLD ». Sur un appareil Apple, ce même fichier image lit « HELLO APPLE ». (Il y a une mise en garde que nous aborderons plus en détail ci-dessous.)

Bonjour Apple Bonjour tout le monde

Image: David Buchanan

La deuxième image est encore plus trippante. Sur un appareil non Apple, l’image montre un ancien PC IBM, mais passez à un i-device et vous verrez un ancien Mac.

IBM et Apple

Image: David Buchanan

OK, alors qu’est-ce qui se passe ici ? Laissez l’ingénieur et cryptographe David Buchanan – le cerveau derrière ce puzzle – faire l’explication :

« J’ai trouvé cela en écrivant mon propre décodeur PNG multi-thread. En réfléchissant à ma conception, j’ai réalisé que j’avais un bug d’implémentation exploitable », a écrit Buchanan dans un article de blog. « Après avoir appris qu’Apple avait sa propre implémentation de PNG décodables en parallèle, j’ai réalisé qu’ils avaient fait exactement la même erreur ! »

En termes simplifiés, il existe différentes manières de décoder une image. Vous pouvez le faire dans un seul thread ou dans des threads parallèles divisés en blocs (une méthode utilisée pour accélérer l’exécution des programmes), comme Buchanan l’a tenté. Il a découvert un bogue dans son propre projet, puis a découvert qu’Apple avait fait la même erreur. Il a déterminé qu’il était possible de rendre un fichier PNG où : décompresser(a + b) != décompresser(a) + décompresser(b) (où != signifie différent de). C’est-à-dire que deux parties décodées séparément puis assemblées n’ont pas toujours créé les mêmes résultats que ces mêmes deux parties décodées ensemble.

« Cela pourrait arriver si une se termine à mi-chemin à travers un bloc non compressé. Il est donc possible qu’une image ait deux interprétations possibles, selon qu’un décodeur parallèle ou non parallèle la décode », a poursuivi Buchanan.

Pour vous les sceptiques, lorsque j’ai montré ces images à mon frère, chercheur à l’Université de Virginie, il a haché les fichiers (les a convertis en nombres) et a confirmé qu’ils sont bien les mêmes, prouvant que Buchanan ne coupe pas les coins ronds en vous servant différents fichiers en fonction du navigateur ou du système d’exploitation que vous utilisez.

Si vous rencontrez des difficultés pour reproduire ce puzzle, cela peut être dû à votre navigateur, car l’astuce repose sur le logiciel Apple et non sur le matériel. Après avoir visionné l’image sur plusieurs appareils et navigateurs, nous avons appris que les produits Apple exécutant Safari afficheront toujours HELLO APPLE tandis que les appareils non Apple utilisant d’autres navigateurs afficheront HELLO WORLD.

Mais les choses deviennent confuses une fois que vous commencez à mélanger et à assortir.

Lors de l’utilisation de navigateurs autres que Safari sur les appareils mobiles d’Apple (iPad, iPhone), le message BONJOUR APPLE est apparu. Curieusement, l’utilisation de ces mêmes navigateurs (Chrome, Opera, Edge, par exemple) sur un Mac montrait le message HELLO WORLD. Bien que nous ne puissions pas en être certains, cela suggère que les applications de navigateur écrites pour l’App Store utilisent la bibliothèque d’images de rendu PNG d’Apple, tandis que les navigateurs téléchargés en tant que programmes sur macOS utilisent leur propre analyseur PNG.

Quoi qu’il en soit, si vous voulez vous amuser, Buchanan a publié un outil appelé ‘Packer PNG ambigu’ qui permet à quiconque de créer des images qui ont un aspect différent lorsqu’elles sont exécutées via un logiciel Apple. Nous devons cependant avertir que ces écarts dans l’analyse des fichiers image pourraient être un problème de sécurité, et quelque chose, selon Buchanan, « doit être abordé avec prudence ».

Mise à jour à 13h30 HE : Nous avons initialement publié cet article avec des photos intégrées. Malheureusement, notre CMS a suffisamment modifié les fichiers pour briser l’illusion. Nous avons mis à jour l’article avec des liens qui vous mèneront à des photos qui devraient être différentes sur Apple par rapport aux autres plates-formes.

passant par BipOrdinateur

Source-143