Steganografija mill-fajls: ħabi tad-dejta direttament fis-setturi

Prefazju qasir

L-isteganografija, jekk xi ħadd ma jiftakarx, qed taħbi l-informazzjoni f'xi kontenituri. Per eżempju, fl-istampi (diskuss hawn и hawn). Tista 'wkoll taħbi data fit-tabelli tas-servizz tas-sistema tal-fajls (dan inkiteb dwaru hawn), u anke f'pakketti tas-servizz tal-protokoll TCP. Sfortunatament, dawn il-metodi kollha għandhom żvantaġġ wieħed: sabiex imperċettibbilment "daħħal" informazzjoni f'kontenitur, għandek bżonn algoritmi għaqlin li jqisu l-partikolaritajiet tal-istruttura interna tal-kontenitur. U jinqalgħu problemi bir-reżistenza tal-kontenitur għall-manipulazzjoni: pereżempju, jekk teditja kemmxejn l-istampa, tintilef informazzjoni moħbija.

Huwa possibbli li b'xi mod tagħmel mingħajr algoritmi cunning u manipulazzjonijiet sottili bid-dejta, u xorta tiżgura l-funzjonalità tal-kontenitur u livell aċċettabbli ta 'sigurtà ta' data moħbija? B'ħarsa 'l quddiem, jien ngħid - iva, tista'! Saħansitra noffri utilità.

Dettalji imdemmi tal-metodu

L-idea bażika hija sempliċi daqs daqqa għal forehead: hemm żoni fuq id-diska li s-sistema operattiva qatt ma tikteb fihom (jew tikteb f'każijiet rari). Biex tiġi evitata l-ħtieġa li tfittex dawn iż-żoni bl-użu ta 'algoritmi cunning, aħna se nużaw redundancy - jiġifieri, aħna se nidduplikaw l-informazzjoni moħbija tagħna ħafna, ħafna drabi fis-setturi kollha tad-diska. Imbagħad, eżatt fuq dan kollu splendor, tista 'toħloq il-ħitan meħtieġa, is-sistemi tal-fajls tal-format, tikteb fajls u tinstalla OSes - l-istess, parti mid-dejta sigrieta tiġi ssejvjata u tista' tiġi rkuprata, u duplikazzjoni ripetuta tgħinna poġġi l-oriġinal kollu flimkien mill-biċċiet.

Il-vantaġġ ta 'dan il-metodu huwa ovvju: aħna ma niddependux fuq il-format tal-fajl, jew saħansitra fuq it-tip ta' sistema ta 'fajls użata.

L-iżvantaġġi huma wkoll, naħseb, ovvji:

  • Id-dejta sigrieta tista' tinbidel biss billi terġa' tinkiteb kompletament id-diska kollha, segwita billi terġa' toħloq il-kontenut viżibbli għall-utent. Madankollu, ma tistax tuża softwer li jirrikrea d-diska minn immaġni: se jirrikreja wkoll id-dejta sigrieta preċedenti.
  • Iktar ma jkun kbir il-volum ta 'data sigrieta, akbar tkun il-probabbiltà li titlef xi informazzjoni.
  • L-irkupru tad-data mid-disk jista 'jieħu żmien twil. Minn diversi minuti sa diversi jiem (id-diski moderni huma kbar).

Issa ejja ngħaddu għall-ispeċifiċitajiet.

Huwa ċar li jekk sempliċiment smear data sigrieta fuq id-diska kollha, se tkun moħbija biss mill-għajn. Jekk tgħammar il-ħarsa tiegħek, ngħidu aħna, editur tad-diska, id-dejta tidher fil-glorja kollha tagħha. Għalhekk, tkun idea tajba li d-data tiġi kkriptata sabiex ma turix. Aħna se nikkriptaw b'mod sempliċi, iżda b'togħma: billi nużaw l-algoritmu aes256-cbc. Aħna ser nistaqsu lill-utent għaċ-ċavetta tal-kriptaġġ u nħalluh joħroġ b'password tajba.

Il-mistoqsija li jmiss hija kif nistgħu niddistingwu data "tajba" minn data ħażina. Hawnhekk checksum tgħinna, iżda mhux waħda sempliċi, iżda SHA1. U xiex? Huwa tajjeb biżżejjed għal git, għalhekk jaqbel lilna wkoll. Iddeċid: aħna nipprovdu kull biċċa informazzjoni maħżuna b'checksum, u jekk wara d-deċifrar taqbel, dan ifisser li d-deċifrar kien suċċess.

Ikollok bżonn ukoll in-numru tal-framment u t-tul totali tad-dejta sigrieta. In-numru tal-framment huwa li nżommu rekord ta' liema biċċiet diġà ddeċifrajna u liema fadal. It-tul totali se jkun utli għalina meta nipproċessaw l-aħħar framment, sabiex ma niktebx dejta mhux meħtieġa (jiġifieri, padding). Ukoll, peress li għad għandna header, aħna ser inżidu l-isem tal-fajl sigriet hemmhekk. Ikun utli wara d-decryption, sabiex ma taqtax kif tiftaħha.

Ittestjar tal-metodu fil-prattika

Biex tiċċekkja, ejja nieħdu l-aktar mezz komuni - flash drive. Sibt wieħed antik b'kapaċità ta '1 GB, li huwa pjuttost adattat għall-esperimenti. Jekk int, bħali, ħriġt bl-idea li ma tiddejjaqx bil-midja fiżika, iżda tittestjaha fuq fajl - immaġni tad-diska, allura jien ngħid mill-ewwel: mhux se taħdem. Meta tifformattja "diska" bħal din, Linux jerġa' joħloq il-fajl, u s-setturi kollha mhux użati se jimtlew b'żerijiet.

Bħala magna bil-Linux, sfortunatament, kelli nuża stazzjon tat-temp fuq ir-Raspberry Pi 3 li tinsab fuq il-gallarija. M'hemmx ħafna memorja hemmhekk, għalhekk mhux se naħbu fajls kbar. Aħna nillimitaw ruħna għal daqs massimu ta '10 megabytes. M'hemm l-ebda punt ukoll li taħbi fajls li huma żgħar wisq: l-utilità tikteb data fuq disk f'raggruppamenti ta '4 KB. Għalhekk, hawn taħt se nillimitaw ruħna għal fajl ta '3 kb ​​- jidħol f'grupp wieħed bħal dan.

Aħna se niffakkaw il-flash drive fi stadji, u wara kull stadju niċċekkjaw jekk l-informazzjoni moħbija tinqarax:

  1. Formattjar veloċi f'format FAT16 b'daqs ta 'cluster ta' 16 KB. Dan huwa dak li joffri Windows 7 li jagħmel ma 'flash drive li m'għandux sistema ta' fajls.
  2. Imla l-flash drive b'kull tip ta 'żibel b'50%.
  3. Imla l-flash drive b'kull tip ta 'żibel b'100%.
  4. Ifformattjar "Twal" fil-format FAT16 (kitba fuq kollox).

L-ewwel żewġ testijiet, kif mistenni, spiċċaw b'rebħa sħiħa: l-utilità kienet kapaċi tiġbed b'suċċess 10 megabytes ta 'dejta sigrieta mill-flash drive. Iżda wara li l-flash drive kienet mimlija bil-fajls, seħħet falliment:

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

Kif tistgħu taraw, 158 raggruppament biss ġew decrypted b'suċċess (632 kilobytes ta 'dejta mhux maħduma, li tagħti 636424 bytes ta' payload). Huwa ċar li m'hemm l-ebda mod biex tikseb 10 megabytes hawn, u madankollu fost dawn il-clusters hemm duplikati b'mod ċar. Lanqas tista' tirkupra 1 megabyte b'dan il-mod. Iżda nistgħu niggarantixxu li se nirkupraw 3 kilobytes ta 'dejta sigrieta minn flash drive anke wara li tkun ifformattjata u miktuba sal-kapaċità. Madankollu, l-esperimenti juru li huwa pjuttost possibbli li jiġi estratt fajl twil 120 kilobytes minn tali flash drive.

L-aħħar test, sfortunatament, wera li l-flash drive kollu kien miktub fuqu:

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

L-ebda raggruppament wieħed ma baqa’ ħaj... Diqa, iżda mhux traġiku! Qabel l-ifformattjar, ejja nippruvaw noħolqu partizzjoni fuq il-flash drive, u diġà fiha sistema ta 'fajls. Mill-mod, ġie mill-fabbrika eżattament b'dan l-ifformattjar, għalhekk m'aħniex nagħmlu xejn suspettuż.
Huwa pjuttost mistenni li l-ispazju disponibbli fuq il-flash drive naqas ftit.

Huwa wkoll pjuttost mistenni li 10 megabytes ma setgħux jinħbew fuq disk kompletament sħiħ. Imma issa n-numru ta 'clusters decrypted b'suċċess aktar mid-doppju!

Total clusters read: 250752, decrypted: 405

Sfortunatament, huwa impossibbli li tiġbor megabyte minn biċċiet, iżda mitejn kilobyte huma faċli.

Ukoll, l-aħbarijiet dwar l-aħħar, ir-4 kontroll, din id-darba hija ferrieħa: l-ifformattjar kompletament ta 'tali flash drive ma wassalx għall-qerda tal-informazzjoni kollha! 120 kilobytes ta' data sigrieta jidħlu perfettament fl-ispazju mhux użat.

Tabella fil-qosor tat-test:

Steganografija mill-fajls: ħabi tad-dejta direttament fis-setturi

Ftit teorizzazzjoni: dwar l-ispazju ħieles u s-setturi mhux użati

Jekk qatt qassejt il-hard drive tiegħek f'diviżorji, jista 'jkollok innotajt li mhux dejjem ikun possibbli li talloka l-ispazju ħieles kollu fuq id-diska. L-ewwel taqsima dejjem tibda b'xi indentazzjoni (ġeneralment 1 megabyte, jew 2048 settur). Wara l-aħħar taqsima, jiġri wkoll li jibqa '"denb" żgħir ta' setturi mhux użati. U kultant ikun hemm lakuni bejn is-sezzjonijiet, għalkemm rari.

Fi kliem ieħor, hemm setturi fuq id-diska li ma jistgħux jiġu aċċessati waqt ix-xogħol normali mad-disk, iżda d-dejta tista 'tinkiteb f'dawn is-setturi! U dan ifisser li taqrah ukoll. Aġġustat għall-fatt li hemm ukoll tabella diviżorja u kodiċi bootloader, li jinsabu fiż-żona vojta fil-bidu tad-diska.

Ejja nieħdu pawża mis-sezzjonijiet għal ftit u nħarsu lejn id-diska minn għajn ta' għasfur, biex ngħidu hekk. Hawnhekk għandna partizzjoni vojta fuq id-diska. Ejja noħolqu sistema ta 'fajls fiha. Nistgħu ngħidu li xi setturi fuq id-diska jibqgħu mhux imħassra?

E-e-e - roll roll! It-tweġiba kważi dejjem tkun iva! Tabilħaqq, fil-biċċa l-kbira tal-każijiet, il-ħolqien ta 'sistema ta' fajls jasal biex tikteb biss ftit blokki ta 'informazzjoni tas-servizz fuq id-diska, u inkella l-kontenut tal-partizzjoni ma jinbidilx.

U wkoll - purament empirikament - nistgħu nassumu li s-sistema tal-fajls ma tistax dejjem tokkupa l-ispazju kollu allokat lilha sal-aħħar settur. Pereżempju, sistema ta 'fajls FAT16 b'daqs ta' cluster ta '64 kilobytes ovvjament ma tistax tokkupa kompletament partizzjoni b'daqs mhux multiplu ta' 64 kilobytes. Fl-aħħar ta 'sezzjoni bħal din irid ikun hemm "denb" ta' diversi setturi, inaċċessibbli għall-ħażna tad-dejta tal-utent. Madankollu, din is-suppożizzjoni ma setgħetx tiġi kkonfermata b'mod sperimentali.

Għalhekk, biex timmassimizza l-ispazju disponibbli għall-steganogram, għandek bżonn tuża sistema ta 'fajls b'daqs akbar ta' cluster. Tista 'wkoll toħloq partizzjoni, anki jekk dan mhux meħtieġ (fuq flash drive, pereżempju). M'hemmx bżonn li jinħolqu sezzjonijiet vojta jew jitħallew żoni mhux allokati - dan se jiġbed l-attenzjoni taċ-ċittadini interessati.

Utilità għall-esperimenti

Tista 'tmiss il-kodiċi tas-sors tal-utilità hawn

Biex tibni, ser ikollok bżonn Qt verżjoni 5.0 jew ogħla u OpenSSL. Jekk xi ħaġa ma taħdimx, jista 'jkollok teditja l-fajl steganodisk.pro.

Tista' tibdel id-daqs tal-cluster minn 4 KB għal, ngħidu aħna, 512 bytes (f'sigriet.h). Fl-istess ħin, l-ispiża tal-informazzjoni tas-servizz se tiżdied: l-header u l-checksum jokkupaw 68 bytes fiss.

Ikollok bżonn tmexxi l-utilità, ovvjament, bi drittijiet tal-utent tal-għeruq, u b'kawtela. Mhux se jkun hemm mistoqsijiet qabel ma tikteb fuq il-fajl jew apparat speċifikat!

Igawdu.

Sors: www.habr.com

Żid kumment