Est-il possible de stocker des données arbitraires telles que des documents ou un programme sous la forme d'un fichier image, comme une image PNG? Ma préoccupation est que quelqu'un puisse encoder des données à utiliser par des logiciels malveillants dans une image et les télécharger sur un site comme Flickr.
25
:-P
Réponses:
Pour la plupart des formats de fichiers, oui. Par exemple, les fichiers PNG sont composés de morceaux tapés, vous pouvez donc ajouter un morceau nommé
aAAA
oulOLZ
avec des données arbitraires. JPEG a des segments "spécifiques à l'application" ; les balises Exif dans les fichiers JPEG sont en fait une structure TIFF complète à l'intérieur d'une telle balise. D'autres formats tels que GIF ne sont pas extensibles, mais ils ont souvent un champ pour les commentaires textuels; cela a déjà été abusé .APPn
Cependant, il existe des moyens de se protéger contre cela - par exemple, des sites Web tels que Imgur traitent automatiquement tous les téléchargements avec
pngcrush
ou des outils similaires, qui suppriment tout ce qui n'est pas absolument nécessaire.Mais au final, l'échange de données ne peut être empêché. Mis à part la stéganographie d'image susmentionnée, vous avez Twitter et ses clones, des dizaines de bacs à pâte (dans lesquels les messages incompréhensibles sont considérés comme assez normaux), les formes de commentaire des anciens articles de blog (j'essaie toujours de me rappeler le livre dans lequel cela a été suggéré), ... plus réaliste, la plupart des malwares contacteront simplement leurs "propres" serveurs.
la source
Les données malveillantes n'existent pas. Les données ne deviennent malveillantes que lorsqu'elles sont exécutées, auquel cas il ne s'agit plus de données. Le problème avec ce genre de chose ne serait pas l'image, ce serait le logiciel (Windows, Photoshop, peu importe) qui contient un bug qui provoque l'exécution des données. C'est évidemment une préoccupation importante des principaux éditeurs de logiciels, et vous pouvez être sûr qu'ils corrigeraient ces bogues très peu de temps après leur découverte.
Cela dit, comme indiqué dans les autres réponses, il est possible d'ajouter des données qui ne font pas partie de l'image elle-même au fichier. Cependant, c'est souvent une pratique utile, voire standard. Je pense qu'il est beaucoup plus important d'être prudent avec les exécutables qu'avec les images aléatoires que vous trouvez sur Internet. Le risque ici n'est pas si grand.
la source
Les fichiers image, y compris PNG, ont un format spécifique. La partie d'en-tête du fichier décrit l'image, et toutes les données suivantes seraient interprétées comme des données d'image (basées sur les en-têtes).
Cependant, vous pouvez ajouter des données arbitraires à la fin d'un PNG, au-delà des données d'image, qui peuvent ensuite être lues plus tard. Ce serait assez facile à détecter - il ne devrait pas y avoir de données après la fin des données d'image.
Alternativement, vous pouvez encoder des données arbitraires dans l'image elle-même, en utilisant la stéganographie . Cela modifie subtilement l'image elle-même d'une manière qui est largement indétectable à moins que vous ne sachiez exactement quoi rechercher (une connaissance préalable de la méthode de codage est souvent requise).
la source