Amafayela esikhathi esidlule we-Steganography: ukufihla idatha ngokuqondile emikhakheni

Isandulelo esifushane

I-Steganography, uma kukhona ongakhumbuli, ifihla ulwazi kwezinye iziqukathi. Isibonelo, ezithombeni (okuxoxiwe ngakho lapha ΠΈ lapha). Ungakwazi futhi ukufihla idatha kumathebula wesevisi wesistimu yefayela (lokhu kwabhalwa ngakho lapha), futhi kumaphakethe wesevisi yephrothokholi ye-TCP. Ngeshwa, zonke lezi zindlela zine-drawback eyodwa: ukuze "ufake" ulwazi ngokungaqondakali esitsheni, udinga ama-algorithms anobuqili acabangela izici ezingavamile zesakhiwo sangaphakathi sesiqukathi. Futhi izinkinga ziphakama ngokumelana nesiqukathi ekukhohliseni: isibonelo, uma uhlela kancane isithombe, ulwazi olufihliwe luyalahleka.

Kungenzeka yini ukwenza ngandlela-thile ngaphandle kwama-algorithms anobuqili kanye nokukhohlisa okucashile ngedatha, futhi usaqinisekisa ukusebenza kwesiqukathi kanye nezinga elamukelekayo lokuphepha kwedatha efihliwe? Ngibheke phambili, ngizothi - yebo, ungakwenza! Ngizokunikeza nosizo.

Imininingwane enegazi yendlela

Umqondo oyisisekelo ulula njengokushaywa ebunzini: kunezindawo kudiski uhlelo lokusebenza olungalokothi lubhale kuzo (noma lubhale ezimweni ezingavamile). Ukuze sigweme isidingo sokucinga lezi zindawo sisebenzisa ama-algorithms anobuqili, sizosebenzisa i-redundancy - okungukuthi, sizophinda imininingwane yethu efihliwe kaningi, kaningi kuyo yonke imikhakha yediski. Khona-ke, phezu kwabo bonke lobu bukhazikhazi, ungakha ukwahlukanisa okudingekayo, ukufometha izinhlelo zefayela, ubhale amafayela futhi ufake ama-OS - konke okufanayo, ingxenye yedatha eyimfihlo izogcinwa futhi ingabuyiswa, futhi ukuphindaphinda okuphindaphindiwe kuzosisiza. hlanganisa konke okwangempela kusuka ezingxenyeni.

Inzuzo yale ndlela isobala: asinciki kufomethi yefayela, noma ngisho nohlobo lwesistimu yefayela esetshenzisiwe.

Ukubi nakho, ngicabanga, kusobala:

  • Idatha eyimfihlo ingashintshwa kuphela ngokubhala kabusha yonke idiski, kulandele ukuphinda kudalwe okuqukethwe okubonakala kumsebenzisi. Nokho, awukwazi ukusebenzisa isofthiwe edala kabusha idiski kusuka esithombeni: izophinda idale idatha eyimfihlo yangaphambilini.
  • Uma sikhulu umthamo wedatha eyimfihlo, maningi amathuba okuthi ulahlekelwe ulwazi oluthile.
  • Ukubuyisa idatha kudiski kungathatha isikhathi eside. Kusukela emaminithini ambalwa kuya ezinsukwini ezimbalwa (amadiski anamuhla makhulu).

Manje ake siqhubekele kokucacisiwe.

Kuyacaca ukuthi uma uvele ugcobe idatha eyimfihlo kuyo yonke idiski, izofihlwa kuphela emehlweni enyama. Uma uhlomisa amehlo akho, yithi, umhleli wediski, idatha izovela kuyo yonke inkazimulo yayo. Ngakho-ke, kungaba umqondo omuhle ukubethela idatha ukuze ingaveli. Sizobethela kalula, kodwa ngokunambitheka: sisebenzisa i-algorithm ye-aes256-cbc. Sizocela umsebenzisi ukhiye wokubethela futhi simvumele eze nephasiwedi enhle.

Umbuzo olandelayo ukuthi singahlukanisa kanjani idatha "enhle" kudatha embi. Lapha i-checksum izosisiza, kodwa hhayi elula, kodwa i-SHA1. Yini futhi? Ilungele i-git, ngakho izosifanela nathi. Kunqunyiwe: sinikeza ucezu ngalunye lolwazi olugciniwe nge-checksum, futhi uma ngemva kokukhishwa kwemfihlo lufana, kusho ukuthi ukukhishwa kwekhodi kube yimpumelelo.

Uzodinga futhi inombolo yesiqephu kanye nobude obuphelele bedatha eyimfihlo. Inombolo yesiqeshana iwukulandelela ukuthi yiziphi izingcezu esezivele sizichazile nokuthi yiziphi ezisele. Ubude obuphelele buyoba usizo kithi lapho sicubungula isiqeshana sokugcina, ukuze singabhali idatha engadingekile (okungukuthi, ukupakisha). Nokho, njengoba sisenesihloko, sizofaka igama lefayela eliyimfihlo lapho. Kuzoba usizo ngemuva kokukhishwa kwekhodi, ukuze ungaqagela ukuthi ungayivula kanjani.

Ukuhlola indlela ngokusebenza

Ukuze uhlole, ake sithathe i-medium evamile kakhulu - i-flash drive. Ngithole endala enomthamo ongu-1 GB, elungele ukuhlolwa. Uma, njengami, uqhamuke nomqondo wokungazihluphi ngemidiya yenyama, kodwa uyihlole efayeleni - isithombe sediski, ngizothi ngokushesha: ngeke isebenze. Lapho ifometha β€œidiski” enjalo, i-Linux idala ifayela futhi, futhi yonke imikhakha engasetshenzisiwe izogcwaliswa ngoziro.

Njengomshini one-Linux, ngeshwa, kwakudingeka ngisebenzise isiteshi sezulu ku-Raspberry Pi 3 elele kuvulandi. Ayikho inkumbulo eningi lapho, ngakho-ke ngeke sifihle amafayela amakhulu. Sizikhawulela kusayizi omkhulu wamamegabhayithi ayi-10. Akukho futhi iphuzu ekufihleni amafayela amancane kakhulu: insiza ibhala idatha kudiski ngamaqoqo angu-4 KB. Ngakho-ke, ngezansi sizozikhawulela kufayela elingu-3 kb - lilingana neqoqo elinjalo.

Sizohlekisa nge-flash drive ngezigaba, sibheka ngemuva kwesigaba ngasinye ukuthi ulwazi olufihliwe luyafundeka yini:

  1. Ukufometha okusheshayo ngefomethi ye-FAT16 enosayizi weqoqo ongu-16 KB. Yilokhu okunikezwa yiWindows 7 nge-flash drive engenalo uhlelo lwefayela.
  2. Ukugcwalisa i-flash drive ngazo zonke izinhlobo zikadoti ngo-50%.
  3. Ukugcwalisa i-flash drive ngazo zonke izinhlobo zikadoti ngo-100%.
  4. Ukufometha "Kude" ngefomethi ye-FAT16 (ibhala phezu kwayo yonke into).

Izivivinyo ezimbili zokuqala, njengoba bekulindelekile, ziphelile ngokunqoba okuphelele: insiza ikwazi ukukhipha ngempumelelo ama-megabytes ayi-10 wedatha eyimfihlo ku-flash drive. Kodwa ngemva kokuba i-flash drive igcwaliswe ngomthamo ngamafayela, kwenzeka ukwehluleka:

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

Njengoba ubona, amaqoqo angu-158 kuphela asuswe ukubethela ngempumelelo (amakhilobhayithi angu-632 wedatha eluhlaza, enikeza amabhayithi angu-636424 omthwalo okhokhelwayo). Kuyacaca ukuthi ayikho indlela yokuthola ama-megabyte ayi-10 lapha, nokho phakathi kwalawa maqoqo kukhona okuphindwe kabili. Awukwazi ngisho ukubuyisela i-megabyte engu-1 ngale ndlela. Kodwa singaqinisekisa ukuthi sizothola ama-kilobytes angu-3 edatha eyimfihlo ku-flash drive ngisho nangemva kokuba ifomethwe futhi yabhalwa umthamo. Nokho, ukuhlola kubonisa ukuthi kungenzeka ngempela ukukhipha ifayela 120 kilobytes ubude kusukela flash drive enjalo.

Ukuhlolwa kokugcina, ngeshwa, kubonise ukuthi yonke i-flash drive ibhalwe ngaphezulu:

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

Alikho nelilodwa iqoqo elisindile... Kuyadabukisa, kodwa akubanga yinhlekelele! Ngaphambi kokufometha, ake sizame ukwakha ukwahlukanisa ku-flash drive, futhi kakade kukho uhlelo lwefayela. Kodwa-ke, ivele efekthri inalokhu kufometha, ngakho asenzi lutho olusolisayo.
Kulindeleke impela ukuthi isikhala esitholakalayo ku-flash drive sehle kancane.

Kulindeleke futhi ukuthi ama-megabyte ayi-10 awakwazanga ukufihlwa kudiski egcwele ngokuphelele. Kodwa manje inani lamaqoqo akhishwe ngempumelelo seliphindeke ngaphezu kokuphindwe kabili!

Total clusters read: 250752, decrypted: 405

Ngeshwa, akunakwenzeka ukuhlanganisa i-megabyte kusuka ezicucu, kodwa ama-kilobytes angamakhulu amabili alula.

Nokho, izindaba mayelana nesheke lokugcina, lesi-4, lesi sikhathi sijabulisayo: ukufometha ngokuphelele i-flash drive enjalo akuzange kuholele ekubhujisweni kwalo lonke ulwazi! Amakhilobhayithi angu-120 edatha eyimfihlo angena kahle esikhaleni esingasetshenzisiwe.

Ithebula lesifinyezo sokuhlola:

Amafayela esikhathi esidlule we-Steganography: ukufihla idatha ngokuqondile emikhakheni

Ithiyori encane: mayelana nesikhala samahhala nemikhakha engasetshenzisiwe

Uma uke wahlukanisa i-hard drive yakho ngama-partitions, kungenzeka ukuthi uqaphele ukuthi akwenzeki ngaso sonke isikhathi ukwaba sonke isikhala samahhala kudiski. Isigaba sokuqala sihlala siqala ngokuhlehlisa okuthile (imvamisa i-megabyte engu-1, noma imikhakha engu-2048). Ngemuva kwesigaba sokugcina, kwenzeka futhi ukuthi kusele "umsila" omncane wemikhakha engasetshenzisiwe. Futhi ngezinye izikhathi kunezikhala phakathi kwezigaba, nakuba kungavamile.

Ngamanye amazwi, kunemikhakha ku-disk engakwazi ukufinyeleleka ngesikhathi somsebenzi ojwayelekile ngediski, kodwa idatha ingabhalwa kule mikhakha! Futhi lokho kusho ukuyifunda nayo. Kulungiswe iqiniso lokuthi kukhona netafula lokuhlukanisa kanye nekhodi ye-bootloader, etholakala endaweni engenalutho ekuqaleni kwediski.

Ake sithathe ikhefu ezingxenyeni isikhashana futhi sibheke idiski ngombono wenyoni, ngomqondo ongokomfanekiso. Lapha sinokuhlukaniswa okungenalutho kudiski. Ake sakhe isistimu yefayela kuyo. Singasho ukuthi eminye imikhakha kudiski ihlala ingasuliwe?

E-e-e - isigubhu esigingqika! Cishe impendulo izoba yebo njalo! Ngempela, ezimweni eziningi, ukudala uhlelo lwefayela kwehla ekubhaleni amabhlogo ambalwa olwazi lwesevisi kudiski, futhi ngaphandle kwalokho okuqukethwe kokuhlukaniswa akushintshi.

Futhi futhi - ngokunamandla - singacabanga ukuthi isistimu yefayela ayikwazi ukuhlala ithatha sonke isikhala esabelwe kulo kuze kufike emkhakheni wokugcina. Isibonelo, isistimu yefayela ye-FAT16 enosayizi weqoqo lamakhilobhayithi angama-64 ngokusobala ngeke ikwazi ukuthatha ingxenye enosayizi ongeyona impinda yamakhilobhayithi angama-64. Ekupheleni kwesigaba esinjalo kuzodingeka kube "nomsila" wemikhakha eminingana, engafinyeleleki ekugcineni idatha yomsebenzisi. Nokho, lo mcabango awukwazanga ukuqinisekiswa ngokokuhlola.

Ngakho-ke, ukuze wandise isikhala esitholakalayo se-steganogram, udinga ukusebenzisa isistimu yefayela enosayizi omkhulu weqoqo. Ungakha futhi ukwahlukanisa, noma ngabe lokhu akudingekile (ku-flash drive, isibonelo). Asikho isidingo sokudala izingxenye ezingenalutho noma ukushiya izindawo ezingabelwe - lokhu kuzodonsa ukunaka kwezakhamuzi ezinentshisekelo.

Isisetshenziswa sokuhlola

Ungathinta ikhodi yomthombo yokusetshenziswa lapha

Ukuze wakhe, uzodinga inguqulo ye-Qt 5.0 noma ngaphezulu kanye ne-OpenSSL. Uma okuthile kungasebenzi, kungase kudingeke uhlele ifayela le-steganodisk.pro.

Ungashintsha usayizi weqoqo usuke ku-4 KB uye, uthi, 512 bytes (ku-secretfile.h). Ngesikhathi esifanayo, izindleko zolwazi lwesevisi zizokhula: unhlokweni kanye nesheke thatha amabhayithi angu-68 ahleliwe.

Udinga ukusebenzisa insiza, yebo, ngamalungelo omsebenzisi wezimpande, futhi ngokuqapha. Ngeke kube khona imibuzo ebuzwayo ngaphambi kokubhala phezu kwefayela elishiwo noma idivayisi!

Jabulela.

Source: www.habr.com

Engeza amazwana