Steganography vun Fichieren: verstoppt Daten direkt an Secteuren

E kuerze Virwuert

Steganographie, wann iergendeen sech net erënnert, verstoppt Informatioun an e puer Container. Zum Beispill, a Biller (diskutéiert hei и hei). Dir kënnt och Daten an Servicetabellen vum Dateiesystem verstoppen (dëst gouf geschriwwe hei), a souguer an TCP Protokoll Service Pakete. Leider hunn all dës Methoden een Nodeel: fir onmerkbar "Informatioun an e Container ze setzen", braucht Dir lëschteg Algorithmen, déi d'Besonderheete vun der interner Struktur vum Container berücksichtegen. A Problemer entstinn mat der Resistenz vum Container géint Manipulatioun: zum Beispill, wann Dir d'Bild liicht ännert, verstoppt Informatioun ass verluer.

Ass et méiglech iergendwéi ouni lëschteg Algorithmen a subtile Manipulatioune mat Daten ze maachen, an ëmmer nach d'Funktionalitéit vum Container an en akzeptablen Sécherheetsniveau vu verstoppte Daten ze garantéieren? No vir kucken, wäert ech soen - jo, Dir kënnt! Ech bidden Iech souguer en Utility.

Bluddeg Detailer vun der Method

D'Basis Iddi ass sou einfach wéi e Schlag op d'Stir: Et gi Beräicher op der Disk op déi de Betribssystem ni schreift (oder a rare Fäll schreift). Fir d'Noutwennegkeet ze vermeiden fir dës Beräicher mat lëschtegen Algorithmen ze sichen, benotze mir Redundanz - dat ass, mir duplizéieren eis verstoppt Informatioun vill, vill Mol iwwer all Secteuren vun der Disk. Dann, direkt uewen op all dësem Glanz, kënnt Dir déi néideg Partitionen erstellen, Dateisystemer formatéieren, Dateien schreiwen an OSes installéieren - all d'selwecht, en Deel vun de geheime Donnéeën gëtt gespäichert a kann erëmfonnt ginn, a widderholl Duplikatioun hëlleft eis d'Original Ganzen zesummen aus de Stécker.

De Virdeel vun dëser Method ass evident: mir hänken net vum Dateiformat of, oder souguer vun der Aart vum Dateiesystem dat benotzt gëtt.

D'Nodeeler sinn och, mengen ech, evident:

  • Geheimdaten kënnen nëmme geännert ginn andeems de ganzen Disk komplett nei geschriwwen ass, gefollegt vun der neierstellung vum Inhalt sichtbar fir de Benotzer. Wéi och ëmmer, Dir kënnt keng Software benotzen déi d'Disk vun engem Bild erstallt: et wäert och déi viregt geheim Daten erstallt.
  • Wat méi grouss ass de Volume vu geheimen Donnéeën, wat méi grouss ass d'Wahrscheinlechkeet fir e puer Informatioun ze verléieren.
  • Date vun der Disk zréckzéien kann laang daueren. Vun e puer Minutten bis e puer Deeg (modern Scheiwen si grouss).

Loosst eis elo op d'Spezifizitéite goen.

Et ass kloer datt wann Dir einfach geheim Daten iwwer d'Disk schmiert, se nëmmen aus bloussem A verstoppt sinn. Wann Dir Äre Bléck mat, soen, engem Disk Editor equipéiert, erschéngen d'Donnéeën an all senger Herrlechkeet. Dofir wier et eng gutt Iddi d'Donnéeën ze verschlësselen sou datt se net opdauchen. Mir verschlëssele einfach, awer schmackhaft: mam aes256-cbc Algorithmus benotzen. Mir froen de Benotzer fir de Verschlësselungsschlëssel a loossen him mat engem gutt Passwuert kommen.

Déi nächst Fro ass wéi mir "gutt" Donnéeë vu schlechten Donnéeën z'ënnerscheeden. Hei hëlleft e Checksum eis, awer net eng einfach, mee SHA1. A wat? Et ass gutt genuch fir Git, sou datt et eis och passt. Entscheet: Mir bidden all gespäichert Stéck Informatioun mat enger Kontrollsumme, a wann et no der Entschlësselung passt, heescht et datt d'Entschlësselung erfollegräich war.

Dir braucht och d'Fragmentnummer an d'Gesamtlängt vun de geheimen Donnéeën. D'Fragmentnummer ass fir ze verfollegen wéi eng Stécker mir scho entschlësselt hunn a wéi eng lénks sinn. D'Gesamtlängt wäert eis nëtzlech sinn beim Veraarbechtung vum leschte Fragment, fir net onnéideg Donnéeën ze schreiwen (dat ass Polsterung). Gutt, well mir nach ëmmer en Header hunn, addéiere mir den Numm vun der geheimer Datei do. Et wäert nëtzlech sinn no der Entschlësselung, fir net ze roden wéi et opmaacht.

Test d'Method an der Praxis

Fir z'iwwerpréiwen, loosst eis déi allgemeng Medium huelen - e Flash Drive. Ech hunn en alen mat 1 GB Kapazitéit fonnt, wat ganz gëeegent ass fir Experimenter. Wann Dir, wéi ech, op d'Iddi komm ass net mat kierperleche Medien ze stéieren, awer et op enger Datei ze testen - e Disk Image, da wäert ech direkt soen: et funktionnéiert net. Wann Dir esou eng "Disk" formatéiert, erstellt Linux d'Datei erëm, an all onbenotzt Secteuren ginn mat Nullen gefëllt.

Als Maschinn mat Linux hunn ech leider missen eng Wiederstatioun um Balkon leien Raspberry Pi 3. Et gëtt net vill Erënnerung do, dofir verstoppe mir keng grouss Dateien. Mir limitéieren eis op eng maximal Gréisst vun 10 megabytes. Et ass och kee Sënn fir Dateien ze verstoppen déi ze kleng sinn: d'Utility schreift Daten op Disk an 4 KB Cluster. Dofir wäerte mir eis hei ënnen op eng 3 kb Datei limitéieren - et passt an esou engem Cluster.

Mir spotten de Flash Drive an Etappen, no all Etapp kontrolléieren ob déi verstoppt Informatioun liesbar ass:

  1. Schnell Formatéierung am FAT16 Format mat enger Clustergréisst vun 16 KB. Dëst ass wat Windows 7 bitt mat engem Flash Drive ze maachen deen keen Dateiesystem huet.
  2. Fëllt de Flash Drive mat all Zorte vu Gerempels ëm 50%.
  3. Fëllt de Flash Drive mat all Zorte vu Gerempels ëm 100%.
  4. "Long" Formatéierung am FAT16 Format (iwwerschreift alles).

Déi éischt zwee Tester, wéi erwaart, hunn an der kompletter Victoire ofgeschloss: d'Utility konnt erfollegräich 10 Megabytes vu geheime Daten aus dem Flash Drive extrahéieren. Awer nodeems de Flash Drive op Kapazitéit mat Dateien gefëllt war, ass e Feeler geschitt:

Total clusters read: 250752, decrypted: 158
ERROR: cannot write incomplete secretFile

Wéi Dir gesitt, sinn nëmmen 158 Stärekéip erfollegräich entschlësselt (632 Kilobytes vu Matière Daten, wat 636424 Bytes Notzlaascht gëtt). Et ass kloer datt et kee Wee ass fir 10 Megabytes hei ze kréien, an awer ënner dëse Cluster sinn et kloer Duplikater. Dir kënnt net emol 1 Megabyte op dës Manéier recuperéieren. Awer mir kënne garantéieren datt mir 3 Kilobytes vu geheime Donnéeën vun engem Flash Drive recuperéieren och nodeems se formatéiert an op Kapazitéit geschriwwe sinn. Wéi och ëmmer, Experimenter weisen datt et ganz méiglech ass eng Datei 120 Kilobytes laang aus esou engem Flash Drive ze extrahieren.

De leschten Test huet leider gewisen datt de ganze Flash Drive iwwerschriwwe gouf:

$ sudo ./steganodisk -p password /dev/sda
Device size: 250752 clusters
250700 99%
Total clusters read: 250752, decrypted: 0
ERROR: cannot write incomplete secretFile

Keen eenzege Stärekoup huet iwwerlieft ... Traureg, awer net tragesch! Ier Dir formatéiert, loosst eis probéieren eng Partition op der Flash Drive ze kreéieren, a schonn e Dateiesystem dran. Iwwregens, et koum aus der Fabréck mat genee dëser Formatéierung, also mir maachen näischt verdächteg.
Et ass ganz erwaart datt de verfügbare Raum op der Flash Drive liicht erofgaang ass.

Et gëtt och zimlech erwaart datt 10 Megabytes net op enger komplett voller Disk verstoppt kënne ginn. Awer elo ass d'Zuel vun erfollegräich dekryptéierte Stärekéip méi wéi verduebelt!

Total clusters read: 250752, decrypted: 405

Leider ass et onméiglech e Megabyte aus Stécker ze sammelen, awer zweehonnert Kilobytes sinn einfach.

Gutt, d'Nouvelle iwwer déi lescht, 4. Scheck, dës Kéier ass frou: d'komplett Formatéierung vun esou engem Flash Drive huet net zu der Zerstéierung vun all Informatioun gefouert! 120 Kilobytes vu geheime Daten passen perfekt an onbenotzten Raum.

Test Zesummefaassung Dësch:

Steganography vun Fichieren: verstoppt Daten direkt an Secteuren

E bëssen theoretizing: iwwer fräi Plaz an onbenotzt Secteuren

Wann Dir jeemools Är Festplack an Partitionen opgedeelt hutt, hutt Dir vläicht gemierkt datt et net ëmmer méiglech ass all fräi Plaz op der Disk ze verdeelen. Déi éischt Sektioun fänkt ëmmer mat e puer Indentatioun un (normalerweis 1 Megabyte oder 2048 Secteuren). Hannert der leschter Rubrik geschitt et och, datt et e klenge "Schwanz" vun onbenotzten Secteuren bleift. An heiansdo ginn et Lücken tëscht Sektiounen, obwuel seelen.

An anere Wierder, et sinn Secteuren op der Scheif, déi net während normal Aarbecht mat der Scheif zougänglech sinn, mee Daten kënnen op dës Secteuren geschriwwe ginn! An dat heescht och liesen. Ajustéiert fir d'Tatsaach datt et och eng Partitionstabell a Bootloader Code ass, déi am eidele Gebitt um Ufank vun der Disk sinn.

Loosst eis e bëssen eng Paus vun de Rubriken huelen a kucken d'Disk souzesoen aus engem Vugel Bléck. Hei hu mir eng eidel Partition op der Disk. Loosst eis e Dateiesystem dran erstellen. Kënne mir soen, datt e puer Secteuren op der Scheif unerased bleiwen?

E-e-e - drum roll! D'Äntwert wäert bal ëmmer Jo sinn! Tatsächlech, an de meeschte Fäll, e Dateiesystem erstellen kënnt erof op nëmmen e puer Block Serviceinformatioun op der Disk ze schreiwen, a soss ännert sech den Inhalt vun der Partition net.

An och - reng empiresch - kënne mir dovun ausgoen, datt de Dateiesystem net ëmmer de ganzen Raum, deen him bis zum leschte Secteur zougewisen huet, kann besetzen. Zum Beispill, e FAT16 Dateiesystem mat enger Clustergréisst vu 64 Kilobytes kann offensichtlech net eng Partition mat enger Gréisst net e Multiple vu 64 Kilobytes komplett besetzen. Um Enn vun esou enger Sektioun muss et e "Schwanz" vu verschiddene Secteuren sinn, onzougänglech fir Benotzerdaten ze späicheren. Allerdéngs konnt dës Virgab net experimentell bestätegt ginn.

Also, fir de Raum verfügbar fir de Steganogramm ze maximéieren, musst Dir e Dateiesystem mat enger méi grousser Clustergréisst benotzen. Dir kënnt och eng Partition erstellen, och wann dat net néideg ass (zum Beispill op engem Flash Drive). Et gëtt kee Besoin fir eidel Sektiounen ze kreéieren oder onallokéiert Beräicher ze verloossen - dëst wäert d'Opmierksamkeet vun interesséierte Bierger unzéien.

Utility fir Experimenter

Dir kënnt de Quellcode vum Utility beréieren hei

Fir ze bauen, braucht Dir Qt Versioun 5.0 oder méi héich an OpenSSL. Wann eppes net funktionnéiert, musst Dir vläicht d'steganodisk.pro Datei änneren.

Dir kënnt de Stärekoup Gréisst änneren aus 4 KB ze soen, 512 Bytes (an secretfile.h). Zur selwechter Zäit wäert d'Käschte vun der Serviceinformatioun eropgoen: den Header an d'Kontrollsumme besetzen e fixe 68 Bytes.

Dir musst d'Utility natierlech lafen, mat root Benotzerrechter, a mat Vorsicht. Et gi keng Froen gefrot ier Dir déi spezifizéiert Datei oder Apparat iwwerschreift!

Genéisst et.

Source: will.com

Setzt e Commentaire