Ange Albertini – Funky File Formats

Funky File FormatsDans cet épisode, Ange Albertini  qui est l’auteur de Corkami, nous explique quelles sont les problématiques liées au formats de fichiers (En référence à sa conférence du Chaos Computer Club 2014)

Après avoir suivi cette conférence, vous ne verrez plus vos fichiers de la même façon… 🙂

 

définition des termes abordés dans cet épisode  :

    • Fichier polyglotte : C’est un même fichier qui est valide pour des formats différents. Par exemple un fichier image qui peut donc être visualisé et qui est aussi un fichier jar (que l’on peut donc exécuter). Il existe plusieurs types de types de fichiers polyglottes :
    • Fichier polyglotte en mode “simple” : C’est une concaténation de fichiers
    •  Fichier polyglotte en mode “parasite” : C’est un fichier qui contient un autre type de fichier
    • Fichier polyglotte en mode “mille-feuilles” : Les couches sont alternées en contrôlant la structure interne du fichier. Par exemple, pour CorkaMix (https://code.google.com/p/corkami/wiki/mix?show=content), voici les couches (dans l’ordre) alors qu’il n’y a qu’un seul ‘fichier’ de chaque type:

Fichier Polyglotte en mode mille-feuilles

      • Fichier polyglotte en mode “chimère” : Un corps (données) et plusieurs têtes. Vu que plusieurs formats utilisent le même algorithme pour stocker les données, tel que Deflate de Zlib, le même bloc de données est utilisé par des entêtes différents. (par exemple, les pixels d’une image).  Plusieurs entêtes sont présents pour que cette image soit visible via plusieurs formats (jpg, png, ..), au sein du même fichier.​
  • Fichiers schizophrènes : Un seul type de fichier, mais contenu affiché différent (interprétation de la structure différente en fonction de l’outil qui exécute ou qui accède à ce fichier). exemple :

Fichier Schizonphrène

  • Angecryption : Le résultat d’un chiffrement ou d’un déchiffrement d’un fichier donne un autre fichier valide de même type ou de type différent

Ci-dessous, une illustration d’un fichier polyglotte (en haut à gauche), qui est à la fois un fichier image et un fichier jar (exécutable).  Lorsque ce fichier est chiffré (ou déchiffré), le résultat de cette opération donne des fichiers de différentes natures (angecryption)

NolimitSecu - Funcky File Formats

 

Les slides, la video et les POCs sont disponibles ici

Un grand merci à Ange pour sa participation à cet épisode et pour son aide à la rédaction des définitions ci-dessus.

 

 

Lire