• STATISTIQUES
  • Il y a eu un total de 0 membres et 3091 visiteurs sur le site dans les dernières 24h pour un total de 3 091 personnes!
    Membres: 2 606
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Dare your mind
    JavaScript: 6, Crypto: 44, Stegano: 36, Logic: 13, Special: 27, Science: 11, Realistic: 7, Programming: 10, Crack It: 6,...
    Challenges
    [EN] Sabre Films
    Site de challenge présenté sous la forme d'une quête. Vous êtes un détective et devrez résoudre d...
    Challenges
    [EN] Rankk
    Site de challenge construit sur le principe d'une pyramide à 9 level. Level 1: 60,Level 2: 72,Level 3: 68,Lev...
    Challenges
    [EN] osix
    Site de challenge qui utilise un système de level on chaque épreuve doit être réussie avant d'accédÃ...
    Challenges
    [EN] This is legal
    Basic: 10, Realistic: 5, Programming: 1, Bonus: 11, SQL: 2, Encryption: 6, Application: 4, User Contributed: 3
    Challenges
    [FR] µContest
    µContest est un site de challenges de programmation, c'est à dire qu'il propose des épreu...
    Hacking
    [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!

    €



Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Pratique] Bit de poids faible (LSB)
01-11-2011, 15h48 (Modification du message : 06-03-2017, 14h26 par ark.)
Message : #1
itcef Hors ligne
Membre actif
*



Messages : 77
Sujets : 4
Points: 2
Inscription : Oct 2011
[Pratique] Bit de poids faible (LSB)
Bonjour à tous et bienvenue dans mon second tutoriel qui complète le précédent sur les bits de poids faible !

On a vu précédemment qu'on pouvais extraire les bits de poids faible d'une image, mais on peut même le faire pour un fichier audio, donc comme je vous ai expliqué comment ça fonctionnais pour les images on va continuer avec cette base Rolleyes

Mais avant de commencer, vous avez du vous poser une question du genre

Comment peut on savoir s'il y a des informations cachées dans le LSB?
Peut-on faire une analyse?

Hé bien évidemment c'est possible !

Je vais vous décrire d'abord une méthode qui consiste à savoir si oui ou non qu'une information soit cachée dans ces bits Big Grin

Et je vous donnerais un petit script en PHP qui pourra extraire les bits de poids faible d'une image BMP, avec une méthode simple Wink

Sans oublier de faire une démonstration d'un script écrit en python capable de faire une analyse pour savoir si des informations sont cachées ou non dans les bits de poids faible d'une image Smile

On doit savoir que toutes les méthodes de stéganographie à base de LSB altèrent le contenu de l'image, et que même si ce n'est pas visible à l'œil nu, il existe des techniques bien efficaces pour la détection

Le truc c'est que même si les bits de poids faibles sont porteurs de très peu d'informations, ça ne veut pas dire qu'il sont porteurs d'aucune information.

Alors pour commencer on doit séparer les bits de poids faible et les bits de poids fort, pour cela on va vider chaque bit des informations inutiles (bit de poids fort MSB), et seules les bits susceptibles de cacher des informations seront gardés.

Code :
compos = compos & 1; // On supprime les informations inutiles
compos = compos << 7; // On augmente le poids du bit

Ex:

[Image: 311600tableau3.png]


Pour cela j'utilise le script python dont je vous ai parlé en haut:
Code :
itcef# ./lsb.py -h
lsb.py [options] -i input_img -o output_img : le nom de l'image d'entrée et le nom de l'image de sortie
--colors|-c r|g|b : la couleur que l'on veut garder ex: -c r pour garder le Rouge
--bit|-b bit : Le bit qu'on va utiliser
--help|-h : affiche l'aide
--hide|-f : pour cacher des données, ex: -f hide.txt input.png -o output.png

Faisons un test sur cette image:
[Image: 881170toxico.png]

Code :
itcef# ./lsb.py toxico.png -o toxico_lsb.png

[Image: 494330toxicolsb.png]

La structure de l'image n'a pas changé, il y va de même pour les bits de poids faible Wink

Essayons de cacher des données dans l'image d'origine:

Code :
itcef# ./lsb.py -f hidden.txt toxico.png -o toxico_hidden.png
itcef# ./lsb.py toxico_hidden.png -o toxico_hidden_lsb.png

[Image: 573865toxico.png]

[Image: 448358toxicolsbhidden.png]

On vois très bien qu'en haut de l'image que quelque chose a changé, mais pas en bas de l'image, c'est parce que ça suffisait pour cacher ce qu'il y avait dans le fichier texte, et donc le bas n'a pas été touché.

C'est vraiment une des méthodes les plus intéressantes dans la stegano LSB.

Astuce: Vous pouvez tout de même voir si une image contient des données cachées dans le LSB en baissant la correction gamma, avec Photoshop par exemple, CTRL + L et on bouge le point gris vert la droite Wink

Exemple d'extraction
Maintenant je vais vous montrer un petit script PHP pouvant extraire le LSB d'une image BMP:

Code :
<?php
    $contents = str_split(substr(file_get_contents('lsb_hidden.bmp'), 54),4);
for($i = 0; $i < count($contents); $i++){

  $base10value = ord($contents[$i]{0});
  echo substr(decbin($base10value), -1);
  $base10value = ord($contents[$i]{1});
  echo substr(decbin($base10value), -1);
  $base10value = ord($contents[$i]{2});
  echo substr(decbin($base10value), -1);

}
?>

Cependant si on arrive a altérer une image BMP en mettant des données cachées, on pourra les extraire avec ce script, mais c'est pas toujours gagné, il y a une infinité de méthodes pour cacher des informations dans le LSB et celle qu'utilise ce dernier est une méthode assez simple.

Alors voilà pour vous montrer, j'ai extrait les données LSB d'une image et on obtient ceci:
http://pastebin.com/7n9J9VEf
Je le mets sur pastebin vu que ça prends toute la largeur de la page, ce qui peut vous gêner.

Essayez de convertir du Binaire -> ASCII
Bien évidemment c'est moi qui a caché ce petit texte dans une image, vous ne trouverez pas le même texte dans toutes les images hein :p

J'espère que ce tutoriel vous a plu, et si vous avez d'autres idées ou suggestions n’hésitez pas a me les remettre Smile

-------------------------
Tutoriel écrit par Itcef.
Libre à vous d'en faire ce que vous voulez Smile
Mieux vaut être faux que vrai.
+1 (0) -1 (0) Répondre


Messages dans ce sujet
[Pratique] Bit de poids faible (LSB) - par itcef - 01-11-2011, 15h48
[Pratique] Bit de poids faible (LSB) - par oxoo - 30-11-2011, 00h47
[Pratique] Bit de poids faible (LSB) - par oxoo - 01-12-2011, 19h23

Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Théorie] Bit de poids faible (LSB) itcef 9 1,315 07-12-2016, 00h02
Dernier message: notfound

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut