I-Steganography ngeefayile: ukufihla idatha ngokuthe ngqo kumacandelo

Intshayelelo emfutshane

I-Steganography, ukuba nabani na akakhumbuli, ifihla ulwazi kwezinye izitya. Umzekelo, kwimifanekiso (ixoxiwe apha ΠΈ apha). Unako kwakhona ukufihla idatha kwiitafile zenkonzo yesixokelelwano sefayile (oku kubhaliwe malunga apha), kwaye kunjalo kwiipakethi zenkonzo yeprotocol yeTCP. Ngelishwa, zonke ezi ndlela zine-drawback enye: ukwenzela ukuba "ufake" ngokungabonakaliyo ulwazi kwi-container, udinga i-algorithms enobuqili eqwalasela izinto ezikhethekileyo zesakhiwo sangaphakathi sesitya. Kwaye iingxaki zivela kunye nokuchasana kwesikhongozeli ekusebenzisaneni: umzekelo, ukuba uhlela kancinane umfanekiso, ulwazi olufihliweyo lulahlekile.

Ngaba kunokwenzeka ukwenza ngandlela-thile ngaphandle kwe-algorithms yobuqili kunye nokukhwabanisa okufihlakeleyo kunye nedatha, kwaye uqinisekisa ukusebenza kwesitya kunye nenqanaba elamkelekileyo lokhuseleko lwedatha efihliweyo? Ukujonga phambili, ndiza kuthi-ewe, unako! Ndiza kukunika into eluncedo.

Iinkcukacha zegazi lendlela

Ingcamango esisiseko ilula njengokubethelwa ebunzini: kukho iindawo kwidiski apho inkqubo yokusebenza engazange ibhale kuyo (okanye ibhale kwiimeko ezinqabileyo). Ukuze ugweme isidingo sokukhangela ezi ndawo ngokusebenzisa i-algorithms yobuqili, siya kusebenzisa ukuphindaphinda - oko kukuthi, siya kuphindaphinda ulwazi lwethu olufihliweyo kaninzi, ngamaxesha amaninzi kuwo onke amacandelo ediski. Emva koko, kanye phezu kwabo bonke obu bukhazikhazi, unokwenza izahlulelo eziyimfuneko, iinkqubo zefayile zefomati, bhala iifayile kwaye ufake ii-OS - konke okufanayo, inxalenye yedatha eyimfihlo iya kugcinwa kwaye inokufunyanwa, kwaye ukuphindaphinda okuphindaphindiweyo kuya kusinceda. hlanganisa yonke into yokuqala ukusuka kumaqhekeza.

Inzuzo yale ndlela icacile: asixhomekeke kwifomathi yefayile, okanye nakwindlela yefayile esetyenzisiweyo.

Iintsilelo nazo, ndicinga ukuba zicacile:

  • Idatha eyimfihlo ingatshintshwa kuphela ngokuphinda ubhale ngokupheleleyo idiski yonke, ilandelwe ngokuphinda kuqulunqwe umxholo obonakalayo kumsebenzisi. Nangona kunjalo, awukwazi ukusebenzisa isofthiwe eyenza kwakhona idiski kumfanekiso: iya kuphinda iphinde iphinde iphinde iphinde iphinde iphinde ifake idatha eyimfihlo yangaphambili.
  • Okukhona mkhulu umthamo wedatha eyimfihlo, kokukhona amathuba okuba uphulukane nolunye ulwazi.
  • Ukufumana kwakhona idatha kwidiski kunokuthatha ixesha elide. Ukususela kwimizuzu emininzi ukuya kwiintsuku ezininzi (iidiski zanamhlanje zikhulu).

Ngoku makhe siqhubele phambili kwiinkcukacha.

Kuyacaca ukuba ukuba uthambisa idatha eyimfihlo kuyo yonke idiski, iya kufihlwa kuphela kwiliso lenyama. Ukuba uxhobisa amehlo akho, yithi, umhleli wediski, idatha iya kubonakala kubo bonke ubuqaqawuli bayo. Ke ngoko, iya kuba licebo elilungileyo ukufihla idatha ukuze ingabonakali. Siza kufihla ngokulula, kodwa ngokunambitheka: usebenzisa i-aes256-cbc algorithm. Siza kucela umsebenzisi isitshixo soguqulelo oluntsonkothileyo kwaye simvumele eze negama lokugqitha elilungileyo.

Umbuzo olandelayo yindlela esinokuhlula ngayo idatha "elungileyo" kwidatha embi. Apha i-checksum iya kusinceda, kodwa hayi elula, kodwa i-SHA1. Ke ngoku ntoni? Ilungile ngokwaneleyo kwi-git, ngoko iya kusifanela nathi. Igqibo: sinikezela ngolwazi ngalunye olugciniweyo nge-checksum, kwaye ukuba emva kokuguqulelwa kwentsonkotha iyahambelana, oko kuthetha ukuba ukukhutshwa kuphumelele.

Uya kufuna kwakhona inombolo yeqhekeza kunye nobude obupheleleyo bedatha eyimfihlo. Inombolo yesiqwenga kukugcina umkhondo ukuba zeziphi iziqwenga esele sizicikidile kwaye zeziphi ezishiyekileyo. Ubude obupheleleyo buya kuba luncedo kuthi xa kusetyenzwa isiqwenga sokugqibela, ukuze ungabhali idatha engadingekile (oko kukuthi, i-padding). Ewe, ekubeni sisenentloko, siya kongeza igama lefayile eyimfihlo apho. Kuya kuba luncedo emva kwe-decryption, ukuze ungaqikelele ukuba uyivula njani.

Ukuvavanya indlela yokusebenza

Ukujonga, makhe sithathe eyona ndlela iqhelekileyo - i-flash drive. Ndifumene endala enomthamo we-1 GB, olungele kakhulu imifuniselo. Ukuba wena, njengam, weza nombono wokungazikhathazi ngemidiya yenyama, kodwa ukuyivavanya kwifayile - umfanekiso wedisk, ndiya kuthi kwangoko: ayiyi kusebenza. Xa ufomatha "idiski" enjalo, i-Linux idala ifayile kwakhona, kwaye onke amacandelo angasetyenziswanga aya kuzaliswa ngo-zero.

Njengomatshini oneLinux, ngelishwa, kwafuneka ndisebenzise isikhululo semozulu kwi-Raspberry Pi 3 elele kwi-balcony Akukho memori eninzi apho, ngoko asiyi kufihla iifayile ezinkulu. Sizikhawulela kubungakanani obukhulu beemegabytes ezili-10. Kwakhona akukho sizathu sokufihla iifayile ezincinci kakhulu: i-utility ibhala idatha kwidiski kwii-4 KB zamaqela. Ngoko ke, ngezantsi siyakuzinqanda kwifayile ye-3 kb - ingena kwiqela elinye elinjalo.

Siza kuhlekisa nge-flash drive ngezigaba, sijonga emva kwenqanaba ngalinye ukuba ulwazi olufihliweyo luyafundeka:

  1. Ukufomatha ngokukhawuleza kwi-FAT16 ifomathi kunye nobukhulu beqela le-16 KB. Yile nto i-Windows 7 inikezela ukuyenza nge-flash drive engenayo inkqubo yefayile.
  2. Ukuzalisa i-flash drive kunye nazo zonke iintlobo zenkunkuma nge-50%.
  3. Ukuzalisa i-flash drive kunye nazo zonke iintlobo zenkunkuma nge-100%.
  4. Ukufomatha "Inde" kwifomathi ye-FAT16 (ukubhala phezu kwayo yonke into).

Iimvavanyo ezimbini zokuqala, njengoko zilindelwe, zaphela ekuphumeleleni okupheleleyo: i-utility yakwazi ukukhupha ngempumelelo i-megabytes ezili-10 zedatha eyimfihlo kwi-flash drive. Kodwa emva kokuba i-flash drive izaliswe kumthamo ngeefayile, ukusilela kwenzeka:

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

Njengoko ubona, ngamaqela angama-158 kuphela akhutshiwe ngempumelelo (i-632 kilobytes yedatha ekrwada, enika i-636424 bytes yomthwalo wokuhlawula). Kucacile ukuba akukho ndlela yokufumana i-10 megabytes apha, kodwa phakathi kwala maqela kukho ukuphindaphinda ngokucacileyo. Awukwazi ukufumana i-megabyte enye ngale ndlela. Kodwa sinokuqinisekisa ukuba siya kuphinda sibuyise iikhilobhayithi ezi-1 zedatha eyimfihlo kwi-flash drive nasemva kokuba ifomathiwe kwaye ibhaliwe kumthamo. Nangona kunjalo, iimvavanyo zibonisa ukuba kunokwenzeka ukukhupha ifayile eyi-3 kilobytes ubude ukusuka kwi-flash drive.

Uvavanyo lokugqibela, ngelishwa, lubonise ukuba yonke i-flash drive yabhalwa ngaphezulu:

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

Akukho nalinye iqela eliye lasinda... Kulusizi, kodwa akuyongozi! Ngaphambi kokufomatha, makhe sizame ukwenza isahlulelo kwi-flash drive, kwaye sele ikuyo inkqubo yefayile. Ngendlela, ivele kumzi-mveliso kanye nale ndlela yokufomatha, ngoko ke asenzi nto ikrokrisayo.
Kulindeleke ukuba indawo ekhoyo kwi-flash drive yehle kancinci.

Kukwalindeleke ukuba iimegabytes ezili-10 zingafihlwa kwidiski epheleleyo. Kodwa ngoku inani lamaqela akhutshiweyo ngempumelelo liye laphinda kabini!

Total clusters read: 250752, decrypted: 405

Ngelishwa, akunakwenzeka ukudibanisa i-megabyte kwiinqununu, kodwa iikhilobhayithi ezingamakhulu amabini zilula.

Ewe, iindaba malunga neyokugqibela, isheke lesi-4, ngeli xesha livuya: ukufomatha ngokupheleleyo i-flash drive enjalo akuzange kukhokelele ekutshatyalalisweni kwalo lonke ulwazi! I-120 kilobytes yedatha eyimfihlo ingena ngokugqibeleleyo kwindawo engasetyenziswanga.

Itheyibhile yesishwankathelo sovavanyo:

I-Steganography ngeefayile: ukufihla idatha ngokuthe ngqo kumacandelo

Ithiyori encinci: malunga nendawo yasimahla kunye namacandelo angasetyenziswanga

Ukuba ukhe wahlulahlula i-hard drive yakho kwizahlulo, usenokuba uqaphele ukuba akusoloko kusenzeka ukwaba yonke indawo esimahla kwidiski. Icandelo lokuqala lihlala liqala ngokuhlehlisa (ngokuqhelekileyo i-megabyte eyi-1, okanye amacandelo angama-2048). Emva kwecandelo lokugqibela, kwenzeka kwakhona ukuba kukho "umsila" omncinci wamacandelo angasetyenziswanga. Kwaye ngamanye amaxesha kukho izikhewu phakathi kwamacandelo, nangona kunqabile.

Ngamanye amazwi, kukho amacandelo kwidiski angenakufikeleleka ngexesha lomsebenzi oqhelekileyo kunye nediski, kodwa idatha ingabhalwa kula macandelo! Yaye oko kuthetha ukuyifunda nayo. Ukulungelelaniswa kwinto yokuba kukho itafile yokwahlula kunye nekhowudi ye-bootloader, efumaneka kwindawo engenanto ekuqaleni kwediski.

Makhe sithathe ikhefu kumacandelo okwethutyana kwaye sijonge kwidisk kwiliso leentaka, ngoko kuthetha. Apha sinolwahlulo olungenanto kwidiski. Masenze inkqubo yefayile kuyo. Ngaba sinokuthi amanye amacandelo kwidiski ahlala engacinywanga?

E-e-e - igubu eliqengqelekayo! Impendulo iya kuhlala inguewe! Enyanisweni, kwiimeko ezininzi, ukudala inkqubo yefayile yehla ekubhaleni kuphela iibhloko ezimbalwa zolwazi lwenkonzo kwidiski, kwaye ngaphandle koko imixholo yokwahlula ayitshintshi.

Kwaye kwakhona - ngokunyanisekileyo - sinokucinga ukuba inkqubo yefayile ayinakuhlala ithatha yonke indawo eyabelwe yona ukuya kwicandelo lokugqibela. Umzekelo, inkqubo yefayile ye-FAT16 enobukhulu beqela leekhilobhayithi ezingama-64 ngokucacileyo ayinakuthatha isahlulelo esinobungakanani obungaphindi bama-64 kilobytes. Ekupheleni kwecandelo elinjalo kuya kufuneka kubekho "umsila" wamacandelo amaninzi, ongafikelelekiyo ekugcineni idatha yomsebenzisi. Nangona kunjalo, le ngcinga ayikwazanga ukuqinisekiswa ngokomfuniselo.

Ke, ukwandisa indawo ekhoyo ye-steganogram, kufuneka usebenzise inkqubo yefayile enobungakanani beqela elikhulu. Unokwenza kwakhona ulwahlulo, nokuba oku akuyomfuneko (kwi-flash drive, umzekelo). Akukho mfuneko yokwenza amacandelo angenanto okanye ushiye iindawo ezingabelwe - oku kuya kutsala ingqalelo yabemi abanomdla.

Uncedo lwemifuniselo

Ungachukumisa ikhowudi yemvelaphi yosetyenziso apha

Ukwakha, uya kufuna inguqulo ye-Qt 5.0 okanye ngaphezulu kunye ne-OpenSSL. Ukuba kukho into engasebenziyo, kusenokufuneka uhlele ifayile ye-steganodisk.pro.

Ungatshintsha ubungakanani beqela ukusuka kwi-4 KB ukuya, yithi, i-512 bytes (kwi-secretfile.h). Ngexesha elifanayo, iindleko zolwazi lwenkonzo ziya kwanda: i-header kunye ne-checksum ithatha i-68 bytes esisigxina.

Kufuneka usebenzise usetyenziso, ewe, ngamalungelo omsebenzisi weengcambu, kwaye ngononophelo. Akusayi kubakho mibuzo ibuzwayo phambi kokubhala ngaphezulu ifayile okanye isixhobo esikhankanyiweyo!

Nandipha.

umthombo: www.habr.com

Yongeza izimvo