Dateisystem Steganographie

Hey Habr.

Ech géif Iech gären e klenge Projet presentéieren Steganographie, gemaach a menger Fräizäit vum Studium.

Ech hunn e Projet iwwer verstoppte Späichere vun Informatioun am Dateiesystem gemaach (weider FS).
Dëst kann benotzt ginn fir vertraulech Informatioun fir pädagogesch Zwecker ze klauen.

Dateisystem Steganographie

E ganz alen Linux FS gouf als Prototyp gewielt ext2.

Ëmsetzung

Ëmsetzung Considératiounen

Wann et gutt ass den ext2 Standard ze "enravellen", da kënnt Dir ersetzen datt am FS e sougenannte Superblocks, déi Basisinformatioun iwwer de System gëtt. Nodeems ech fonnt gouf Block Bitmap и Inode Dësch. Bal direkt ass d'Iddi fir Informatioun an aktuell eidel FS Blocken opzehuelen. Elo war et derwäert ze denken iwwer de Schutz vun engem bewaffnete Programméierer hex editor.

Wann Dir verstoppt Informatioun ouni Verschlësselung späichert, dann, och trotz senger Blurriness am FS, wäert et nach ëmmer ze opfälleg sinn, besonnesch wann de Programméierer weess wat fir ze kucken. Dofir gouf decidéiert all Block vun der Quelldatei ze verschlësselen. Ech hunn de Block Chiffer gewielt AES, mee wéi Dir verstitt, ass dëst net wichteg.

Fir déi néideg Blöcke vun all deenen anere beim Liesen ze trennen, gouf decidéiert, e spezielle Marker fir all Block am Ufank vum Block ze addéieren. Dësen Token gouf verschlësselt ofhängeg vun der Blocknummer an der Quelldatei. Dësen Trick huet et direkt erlaabt net nëmmen déi néideg Blöden ze fannen, awer och hir korrekt Uerdnung ze erkennen.

Allgemeng Betribsprinzip vum System.

Dateisystem Steganographie

Opnam Algorithmus

D'Punkten:

  • Éischt schreiwen e puer Informatiounen un der Quell Fichier System;
  • Läschen dës Informatioun (net onbedéngt all);
  • D'Datei fir ze verstoppen ass opgedeelt a Blöcke vun der gläicher Längt, doduerch e Marker;
  • Verschlëssele dës Blocken;
  • Plaz verschlësselte Blocken an eidel FS Blocks.

Fir Blockdiagramm Liebhaber

Drënner ass e Blockdiagramm vum Opnahmalgorithmus. Den Algorithmus kritt véier Dateien als Input:
-Bild vun engem modifiable Dateiesystem;
-Fichier ënnerleien Steganographie;
-Datei mat Verschlësselungsschlëssel fir AES;
-Datei mat Marker.
Dateisystem Steganographie

Et ass derwäert direkt ze notéieren datt dësen Algorithmus een Nodeel huet: nodeems Dir d'Datei op d'FS schreift, net kann Schreift eppes Neies an den FS, well all nei Informatioun kann an de Blocken ophalen, déi mir un eis zipped Datei zougewisen hunn, obwuel dëst och d'Méiglechkeet opmaacht fir "schnell eis Bunnen ze decken."

Awer et ass ganz offensichtlech wéi dëst fixéiert ka ginn: et ass néideg den Algorithmus fir d'Schreiwe vun Blocken am FS ze iwwerschreiwen. Dëst ass eng verständlech, awer onheemlech Zäit-opwänneg Aufgab.
Fir Proof Of Consept hunn ech dëst net ëmgesat.

Als Resultat ginn déi folgend Ännerungen un der FS gemaach; dëst ass wéi de FS ausgesäit virun der Steganographie (eng Audiodatei gouf virdru opgeholl).
Dateisystem Steganographie
An dat ass wéi den FS ausgesäit mat der Informatioun déi scho gezippt ass.
Dateisystem Steganographie

Liesen Algorithmus

D'Punkten:

  • Mat Wëssen iwwer de Schlëssel an d'Methode fir Markéierer ze bauen, komponéieren déi éischt N Marker, mat der Garantie datt N multiplizéiert mat der Längt vum Dateisystemblock méi grouss ass wéi d'Längt vun der zipped Datei;
  • Sich no Blocken am FS ugefaange mat Markéierer;
  • Entschlësselt déi empfaange Blöcke an trennt d'Markéierer;
  • Sammelt déi resultéierend Block an der korrekter Uerdnung a kritt d'Quelldatei.

Fir Blockdiagramm Liebhaber

Drënner ass e Blockdiagramm vum Opnahmalgorithmus. Den Algorithmus kritt dräi Dateien als Input:
- Dateisystem Bild;
-Datei mat Verschlësselungsschlëssel fir AES;
-Datei mat Marker.
Dateisystem Steganographie

Nodeems de Programm leeft, erschéngt d'Liesdatei, déi d'Datei aus dem steganographéierten Dateiesystem extrahéiert gëtt; wann de Schlëssel oder de Marker falsch spezifizéiert gouf, da wäert d'Liesdatei eidel sinn.
(fir d'Liebhaber vun der Schéinheet kënnt Dir net nëmmen d'Datei aginn, mee e "Header" mat Meta-Informatioun: Dateinumm, Rechter, lescht geännert Zäit, etc.)

Startup Automatisatioun

Fir d'Bequemlechkeet goufen Bash Scripte geschriwwe fir de Start op Linux ze automatiséieren (getest op Ubuntu 16.04.3 LTS).
Loosst eis de Start Schrëtt fir Schrëtt kucken.
Opname:

  1. sudo Copy_Flash.sh "DEVICE" - kritt de FS Bild vum DEVICE (Flash);
  2. ./Write.sh "FILE" "KEY" "MARKER" - e virtuellt Ëmfeld erstellen, déi néideg Bibliothéiken eroflueden an de Schreifskript ausféieren;
  3. sudo ./Write_Flash.sh "DEVICE" - schreift de geännerten FS erëm op DEVICE.

Liesen:

  1. sudo Copy_Flash.sh "DEVICE" - kritt de FS Bild vum DEVICE (Flash);
  2. ./Read.sh "KEY" 'MARKER' - e virtuellt Ëmfeld erstellen, déi néideg Bibliothéiken eroflueden an de Skip fir Liesen lafen;
  3. Am aktuellen Verzeechnes, öffnen d'Liesdatei - dëst ass déi gezippt Informatioun.

Konklusioun

Dës Steganographie-Methode brauch méiglecherweis Verbesserung, zousätzlech Testen an Extensioun op méi populär Dateiesystemer, wéi z Fett 32, NTFS и ext4.
Awer den Zweck vun dëser Aarbecht war de Prinzip ze weisen, duerch deen et méiglech ass verstoppte Späichere vun Informatioun am Dateiesystem auszeféieren.
Mat der Hëllef vun esou Algorithmen kënnt Dir ouni Angscht Informatioun späicheren, a wann, wann Dir de Schlëssel kennt, et méiglech ass esou e System net duerch brute Kraaft ze hacken (mee mat engem ganz laangen Algorithmus), dann ouni de Schlëssel ze kennen, ass dëst System schéngt mir absolut stabil ze sinn, awer dëst kann als Grond fir en separaten Artikel déngen.

All Code gëtt an Python Versioun 3.5.2 implementéiert. Beispill vun Aarbecht op mengem YouTube Kanal presentéiert. De komplette Code vum Projet gëtt op gepost github.
(Jo, jo, ech weess datt Dir fir d'Produktiounsversioun eppes "schnell" schreift, zum Beispill C 😉 )
An dëser Ëmsetzung däerf d'Gréisst vun der Inputdatei fir Steganographie net méi wéi 1000 kB sinn.

Ech wëll dem Benotzer meng Dankbarkeet ausdrécken PavelMSTU fir wäertvoll Berodung bei der Planung vun der Studie an Empfehlungen iwwer den Design vum Artikel.

Source: will.com

Setzt e Commentaire