1- Introduction
Ceci est une lettre envoyée par George Sand à Alfred de Musset :
"Je suis très émue de vous dire que j'ai
bien compris, l'autre jour, que vous avez
toujours une envie folle de me faire
danser. Je garde un souvenir de votre
baiser et je voudrais que ce soit
là une preuve que je puisse être aimée
par vous. Je suis prête à vous montrer mon
Affection toute désintéressée et sans cal-
cul. Si vous voulez me voir ainsi
dévoiler, sans aucun artifice mon âme
toute nue, daignez donc me faire une visite
Et nous causerons en amis et en chemin.
Je vous prouverai que je suis la femme
sincère capable de vous offrir l'affection
la plus profonde et la plus étroite
Amitié, en un mot, la meilleure amie
que vous puissiez rêver. Puisque votre
âme est libre, alors que l'abandon où je
vis est bien long, bien dur et bien souvent
pénible, ami très cher, j'ai le coeur
gros, accourez vite et venez me le
fait oublier. À l'amour, je veux me sou-
mettre."
Maintenant relisez à partir de la permière ligne en sautant à
chaque fois une ligne. Vous obtenez le vrai message. Epatant non?
Ce procédé se nomme Steganographie.
La stéganographie est, selon Wikipédia, l’art de faire passer inaperçu un message dans un autre message. Dans l'exemple ci-dessus nous avons un
message dissimulé dans un un autre message anodin. Seul le destinatiare qui
sait comment lire le message aura la bonne information.
De meme à l'ère des technologies de l'information, on peut dissimuler
une information dans une autre, un texte dans une image ou une video,
une image dans une autre image, etc.
2- Procédé
Prenons le cas de la dissimulation d'un texte dans une image.
Nous savons qu'une image est en faite une matrice de pixels.
Le pixel :
C'est l'unité elementaire d'une image, il représente un point unique, et une
seule couleur. Selon le syteme utilise, RVB ou CMJN ou TLS , chaque couleur
est represente sur un certain nombre de bits.
Dans le cas du RVB(Rouge, Vert ,Bleu) un pixel est constitué de 3 octets : un octet pour la composante rouge, un octet pour la composante verte et un octet pour la composante bleue. A partir de ces trois octets, on peut donc avoir 256*256*256 = 16777216 couleurs différentes, ce qui est largement plus que ne peut distinguer l'oeil humain.
L'image :
L'image n'est ni plus ni moins que le stockage dans un fichier de tous les
pixels RVB composant l'image finale. Par exemple, une image 150x200 pixels est une matrice 150x200 de couleurs et correspond à
150x200x3 = 90000 octets.
La methode consiste à utiliser un bit à chaque octet RVB qui compose chaque pixel de l'image. En effet, en retirant 1 bit, on dégrade l'image, mais ce n'est pas visible à l'oeil nu...
Ainsi, on peut récupérer ce bit à chaque fois et l'utiliser pour stocker les données que l'on souhaite. Nous récupérons donc 1/8e de la taille de l'image pour cacher une information ou un document. Dans notre exemple, une image 150x200 pixels permet de stocker une information de 11250 octets. Cela peut être, par exemple, pour stocker un document texte a l'intérieur de l'image.
Plus l'image est volumineuse, plus la taille de ce qu'on peut stocker grandit.
Ce procédé peut ètre repris pour d'autres types de fichiers, videos, audio,
flash, etc. Il suffit juste de savoir comment le fichier est structuré.
3- Cas Pratique
Dans le cas qui nous intéresse, nous allons voir comment, sous Ubuntu, cacher un texte dans une photo de type jpg. Nous allons avoir besoin d'un
programme de steanographie Steghide. Il en existe d'autres, mais je préfère
celui là.
- Installation
On execute la commande suivante dans le terminal.
$ sudo apt-get install steghide
Supposons que vous avez un fichier ultrasecret.txt, un fichier texte
et une image image.jpg, dans le dossier /home/user/doc
$cd /home/user/doc
Pour dsisimuler, utilisez la commande:
$ steghide embed -cf image.jpg -ef ultrasecret.txtSteghide vous demandera de taper deux fois un mot de passe.
Prenez un mot de passe aussi compliqué que possible.
Maintenant pour extraire le fichier contenu dans l'image.
$ steghide extract -sf image.jpgEt après avoir tapé le mot de passe correspondant, un fichier texte sera
créé dans le repertoire courant, contenant le message.
4- Applications
La steganographie ne se limite pas à cacher des secrets, elle peut aussi
servir à autentifier des documents avec un copyright par exemple. Un editeur
peut imprimer son empreinte sur une de ses oeuvres, juste au cas quelqu'un
s'en approprierait une copie illégalement, sans en avoir eu l'autorisation.
Ce procédé se nomme Watermarking.
5- Les limites de la stéganographie
La dissimulation d'informations dans un document porteur est fortement dépendant de la nature de ce document porteur. Par exemple, une information dissimulée dans une image BMP est détruite si l'image est convertie en JPG. En effet, le JPG comporte son propre algorithme de compression qui dégrade volontairement l'image afin d'obtenir un compactage maximum. Les précieux bits de l'information cachée sont donc fortement altérés par le compactage.
6- Contre-Mesures
La recherche d'informartions dissimulées par la steganographie
se nomme la steganalysis.
Pour détecter la stéganographie, il faut comprendre la façon dont l'information est cachée. Et encore il faut etre sur qu'une information a vraiment été cachée. Bref, c'est aussi simple que de déchiffrer un message quand on ne connait pas l'algorithme de chiffrement qui a été utilisé, sans avoir l'assurance
que c'est vraiment un message chiffré .
Aussi la principale source de détection est la recherche d'algorithmes déjà connus. Dans certains cas, une analyse mathématique et/ou statistique peut venir compléter la détection.
Aucun commentaire:
Enregistrer un commentaire
Ajouter un commentaire