Chekwaa oghere draịvụ ike site na iji steganography

Mgbe anyị na-ekwu banyere steganography, ndị mmadụ na-eche banyere ndị na-eyi ọha egwu, ndị na-azụ ụmụ nwoke, ndị nledo, ma ọ bụ, na nke kachasị mma, ndị cryptoanarchists na ndị ọkà mmụta sayensị ndị ọzọ. Na n'ezie, onye ọzọ nwere ike mkpa zoo ihe si n'anya mpụga? Olee uru nke a ga-abara onye nkịtị?

Ọ na-apụta na e nwere otu. Ọ bụ ya mere taa, anyị ga-agbakọ data site na iji usoro steganography. Na njedebe, onye na-agụ ga-enwe ike iji ebe nchekwa foto ya dị oké ọnụ ahịa na JPEG mee ka ọnụ ọgụgụ nke gigabytes efu na sistemụ faịlụ.

Chekwaa oghere draịvụ ike site na iji steganography

Gịnị?

Ọ bụrụ na onye na-agụ ya cheta, steganography bụ algọridim dị iche iche na-eme ka o kwe omume izochi ọnụnọ nke otu ozi n'ime ọzọ. N'asụsụ dị mfe: foto + faịlụ == odika otu foto, mana ọ bụghị nke ukwuu (kama foto enwere ike ịnwe ihe ọ bụla, mana na-abụkarị ihe niile na-edo anya na ha). E kwesịghị inwe ụzọ dị mfe iji chọpụta ma ọ dị ihe dị n'ime ma ọ bụ na ọ dịghị.

Ma ọ bụrụ na a pụghị ịpụ iche na nke ọzọ, ọ dị ihe dị iche ma ọlị? Site n'echiche nke onye na-azụ ahịa, onye ọrụ ahụ adịghị eche banyere nkenke mgbakọ na mwepụ (nke a na-egosipụta site na otu set nke ibe n'ibe), naanị ihe ọ ghọtara.

Dịka ọmụmaatụ, ka anyị lelee onyonyo atọ nke nkịta mara mma:

Kpachara anya, JPEG!

Chekwaa oghere draịvụ ike site na iji steganography Chekwaa oghere draịvụ ike site na iji steganography Chekwaa oghere draịvụ ike site na iji steganography

N'agbanyeghị nnukwu ọdịiche dị na nha, mmadụ ole na ole ga-ahọrọ ụdị nke atọ. N'aka nke ọzọ, ọdịiche dị n'etiti foto abụọ mbụ ahụ abụghị nke a na-ahụ anya, na ọnụọgụ ozi dị na ha (site n'echiche m) nwere ike ịha nhata.

Ụkpụrụ a n'onwe ya adịlarị ma bụrụkwa nke a na-erigbu ya site na ụzọ mkpakọ ozi na-efu efu kemgbe ọtụtụ afọ. Ma nbibi anaghị ewuli elu; anyị nwere mmasị na akụkụ dị elu nke okwu ahụ. Ọ ga-ekwe omume itinye ozi nha agbakwunyere N na faịlụ ka nha ya na-abawanye site M < N, mana mgbanwe ndị ahụ ahụghị onye ọrụ?

N'ezie ị nwere ike. Mana ọ bara uru ịme ndoputa abụọ ozugbo:

  • Nke mbụ, usoro a ga-abụrịrị ụwa niile ma nye nsonaazụ dị mma na ọtụtụ data ntinye. Ya bụ, na nkezi, maka ntinye enweghị usoro, a ga-enwe mbelata n'ezie na ọnụọgụ ozi echekwara. "Na nkezi" pụtara na ihe dị iche nwere ike ime, mana ekwesịghị ịkacha ya.
  • Nke abuo, size nke abịakọrọ akpa tupu embeding ọmụma ga-abụ ibu karịa ya mgbanwe abịakọrọ n'otu ụzọ ahụ. Naanị itinye ụyọkọ nke ibe n'ime ihe oyiyi BMP site na iji usoro LSB abụghị mkpakọ steganographic, ebe ọ bụ na, na-agba ọsọ site n'ụdị ụfọdụ nke DEFLATE, ihe oyiyi mbụ ga-abụ na ọ dị ntakịrị.
  • Nke atọ, a ga-emerịrị nsonaazụ ya ma jiri ya tụnyere data ejirila ụzọ oge gboo chịkọbara. Nke a ga-ewepụ mmetụta nke puru omume nke ọdịiche dị na redundancy ha ma nye mkpakọ dị irè karị na ikpe n'ozuzu.

Ebee

Ojiji nke steganography na-egosi na, na mgbakwunye na ozi abịakọrọ, anyị ga-achọ arịa nke a ga-etinye n'ime ya. Ọnụ ọgụgụ kachasị nke ozi agbakwunyere na-adabere n'ụzọ dị ukwuu na akụrụngwa nke onye ọ bụla, mana ọ dị mfe iji ọnụ ọgụgụ ha tụọ ọnụ. Ya mere, akpa format ga-nkịtị nke mere na onye ọrụ nwere ezuru ha iji nweta ọ bụla uru site na "mkpakọ" usoro.

N'okwu a, eserese, ọdịyo, na faịlụ vidiyo bụ ezigbo ndị na-eme ntuli aka. Mana, n'ihi ụdị dị iche iche dị iche iche, codecs, wdg, na omume anyị na-ahapụ nhọrọ site na ọ bụghị ọtụtụ nhọrọ.

N'ịtụle ihe ndị a niile, nhọrọ m dabara na JPEG, ihe fọrọ nke nta ka ọ bụrụ onye ọ bụla nwere ya, a na-eji ya maka ebumnuche nkeonwe yana nke azụmahịa, ebe ọ bụ ihe fọrọ nke nta ka ọ bụrụ usoro de facto maka ọtụtụ onyonyo.

Chekwaa oghere draịvụ ike site na iji steganography

Ọ dabere?

Na-esote e nwere nso- na teknuzu eserese na nkọwa na-enweghị ọtụtụ nkọwa, otú ndị nwere mmasị nwere ike ịmafe ha site na ịpịgharịa gaa na "High Teknụzụ" ngalaba.

Ihe ndị a na-ahụkarị

Iji tinye data ebe, ị ga-ebu ụzọ chọpụta ebe. Enwere ike inwe ọnụọgụ foto dị iche iche na sistemụ faịlụ, nke onye ọrụ nwere ike chọọ iji naanị ole na ole. Anyị ga-akpọ ụdị arịa a chọrọ ka ọ bụrụ ọba akwụkwọ.

A na-emepụta ya n'ọnọdụ abụọ: tupu mkpakọ na tupu nkwụsị. N'okwu nke mbụ, ị nwere ike iji otu faịlụ aha (ma ọ bụ ka mma, nkwupụta oge niile maka ha) nke faịlụ, ma na nke abụọ, a chọrọ ihe ọzọ a pụrụ ịdabere na ya: onye ọrụ nwere ike iṅomi ma bugharịa ha n'ime usoro faịlụ. , si otú a na-egbochi ka a mata ha nke ọma. Ya mere, ọ dị mkpa iji chekwaa hashes ha (md5 ezuola) mgbe emechara mgbanwe niile.

N'okwu a, ọ dịghị uru ịme ọchụchọ mbụ site na iji okwu mgbe niile n'ime usoro faịlụ niile; o zuru ezu ịkọwapụta ụfọdụ akwụkwọ ndekọ mgbọrọgwụ. A ga-echekwa faịlụ nchekwa pụrụ iche n'ime ya, nke ga-enwe hashes ndị ahụ, yana ozi meta-ozi ndị ọzọ dị mkpa maka iweghachi ozi abịakọrọ na-esote.

Ihe a niile na-emetụtakwa mmejuputa ọ bụla nke mkpakọ data steganographic ọ bụla. Usoro nke mkpakọ data na mgbake n'onwe ha nwere ike ịkpọ mbukota na ịkwatu.

F5

Ugbu a na ọ bịara doo anya ihe anyị na-eme na ihe kpatara ya, ọ na-anọgide na-akọwa algọridim maka imezu ihe mgbaru ọsọ ahụ. Ka anyị cheta usoro nke itinye koodu JPEG faịlụ (n'ihi wiki nke Bauman National Library):

Chekwaa oghere draịvụ ike site na iji steganography

N'ile ya anya, ọ ka mma ikwu okwu ole na ole ozugbo:

  • The size nke a JPEG faịlụ nwere ike na-atụle ezigbo na-enweghị ọbụna na-agbalị mpikota onu ya na ụfọdụ ụdị Winrar;
  • Naanị ozi echekwara (nke sitere na mgbanwe cosine discrete, DCT) nwere ike gbanwee iji nye opekata mpe arụmọrụ anabatara.
  • Ka ị ghara ida data na ọnụ ọgụgụ ụlọ ọrụ mmepụta ihe nke onye ọrụ na-ahụ anya, ọ dị mkpa ime mgbanwe nke kachasị nta na ihe oyiyi ọ bụla;

Ezinụlọ dum nke algọridim dabara na ọnọdụ ndị a, nke ị nwere ike ịmara onwe gị na nke a ọma ngosi. Nke kachasị n'ime ha bụ algọridim F5 site na Andreas Westfeld, na-arụ ọrụ na ọnụọgụ DCT nke akụkụ nchapụta (anya mmadụ na-enwechaghị mmetụta maka mgbanwe ya). A na-egosipụta nhazi ya n'ozuzu mgbe ya na faịlụ JPEG dị adị na-arụ ọrụ dị ka ndị a:

Chekwaa oghere draịvụ ike site na iji steganography

Ihe mgbochi F5 na-eji usoro ntinye dị elu dabere na ntinye matriks. Onye na-agụ nwere ike ịmatakwu banyere ya na algọridim n'onwe ya na njikọ dị n'elu, ma anyị na-enwe mmasị na eziokwu ahụ bụ na site n'enyemaka ya ị nwere ike ime mgbanwe ole na ole mgbe ị na-etinye otu ozi ahụ, na-ebuwanye ibu nke akpa ahụ ejiri. , na maka imezu Algọridim naanị kwesịrị ịrụ ọrụ ntinye koodu Huffman na RLE (de) dị mfe.

A na-eme mgbanwe ndị ahụ n'onwe ha ka ọnụọgụ ọnụọgụ integer wee gbadata iji belata uru ha zuru oke site na otu, nke na-enye ohere, n'ikwu okwu n'ozuzu, iji F5 maka mkpakọ data. Isi ihe bụ na ọnụ ọgụgụ dị ntakịrị na uru zuru oke ga-adị ole na ole ka Huffman kpuchiri ya n'ihi nkesa ọnụ ọgụgụ nke ụkpụrụ na JPEG.

Chekwaa oghere draịvụ ike site na iji steganography

N'ihe banyere nguzobe efu (nke a na-akpọ mbelata), ọnụ ọgụgụ nke ozi echekwara ga-ebelata site na nha ya, ebe ọ bụ na ọnụọgụ nke mbụ nwere onwe ga-abụ akụkụ nke usoro efu nke RLE:

Chekwaa oghere draịvụ ike site na iji steganography

Mgbanwe

Nchedo data na mkpakọ bụ nsogbu orthogonal, yabụ enwere ike ileghara mbanye paswọọdụ nzuzo sitere na algọridim mbụ. Ọzọkwa, anyị kwesịrị ịma kpọmkwem otu esi ewepụ data ahụ, ya mere, ozi niile dị mkpa maka nke a (nke a na-eji arịa, n'usoro, wdg) kwesịrị ịdekọ na faịlụ dị iche iche ma mepee maka ịgụ akwụkwọ n'efu site na onye na-edebe ihe.

Emebere algọridim mbụ iji nyefee ozi nzuzo, ya mere ọ na-arụ ọrụ naanị otu akpa n'otu oge, na-eche na onye ọrụ n'onwe ya ga-agbaji ya n'ime akụkụ ma ọ bụrụ na ọ dị mkpa, ọ bụrụ na ọ bụla. Ọzọkwa, mgbe etinyere onwe gị n'ime akpa ọ bụla, ị ga-achọ tupu oge eruo nkeji ole ị ga-etinye na nke ọ bụla. Ya mere, ọnụọgụ nke akụkụ nke ọ bụla nke ọbá akwụkwọ kwesịrị ijikọta n'ime otu nnukwu nnukwu ma rụọ ọrụ na ya dịka algọridim mbụ.

Ebe ọ bụ na F5 mbụ na-enye ohere ruo 12% nke akpa akpa, mgbanwe a ga-abawanye ikike: "ruo 12%" nke nha nke ụlọ akwụkwọ ahụ dum karịrị ma ọ bụ hà nhata na nchikota "ruo 12% "site na nke ọ bụla n'ime ihe ndị dị na ya.

Atụmatụ izugbe akwadoro bụ nke a:

Chekwaa oghere draịvụ ike site na iji steganography

Algọridim n'onwe ya

Ugbu a ọ bụ oge ịkọwa algọridim n'onwe ya site na mmalite ruo n'isi, ka ọ ghara idobe onye na-agụ ya n'ọchịchịrị:

  • Onye ọrụ na-akọwa ọnụọgụ ọnụọgụ abụọ M na ọbá akwụkwọ L na-eji okwu mgbe niile na ndekọ ndekọ mgbọrọgwụ ọchụchọ;
  • N'usoro ha pụtara na FS, akụkụ ọba akwụkwọ na-etolite MC:
    • A na-edozi usoro ọnụọgụ C site na data faịlụ;
    • MC <- MC | C;
  • A na-ekpebi oke k dabere na oke ahaghị nhata dị egwu: |M| * 8 / (count_full(MC) + count_ones(MC) * k_rate(k)) < k / ((1 << k) - 1);
  • Ewere ọzọ n = (1 << k) - 1 opekempe dị mkpa nke ihe na-abụghị efu sitere na MC wee degara ya a:
    • A na-atụle ọrụ hash anwansi f, na-anọchi anya okwu n-bit a ka k-bit s;
    • ma ọ bụrụ na s == 0, mgbe ahụ ọ dịghị mkpa ịgbanwe ihe ọ bụla na algọridim na-aga n'ihu na ọnụọgụ ndị ọzọ;
    • Belata uru zuru oke nke ọnụọgụgụ maka ya s- hey bit na okwu a;
    • Ọ bụrụ na n'ihi mbelata mbelata na-eme (ọnụọgụ ahụ na-aghọ 0), wee megharịa nzọụkwụ site na mmalite;
  • RLE na Huffman debanyere ọnụọgụgụ niile, edere na faịlụ isi mmalite;
  • Edere oke k na faịlụ ebe nchekwa;
  • A na-agbakọ hash MD5 site na faịlụ ọ bụla L n'usoro ebe izizi ha wee dee na faịlụ ebe nchekwa.

Teknụzụ dị elu

Ụdị naive nke algọridim na mmejuputa asusu ndị ọzọ dị elu (karịsịa na nchịkọta mkpofu) ga-eme ka arụ ọrụ dị egwu, n'ihi ya, etinyere m mgbagwoju anya ndị a niile na C dị ọcha ma mee ọtụtụ njikarịcha ma n'usoro nke ngwa ngwa na ngwa ngwa. ebe nchekwa (ị maghị ole foto ndị a dị na-enweghị mkpakọ ọbụlagodi tupu DCT). Ma n'agbanyeghị nke ahụ, na mbụ ọsọ nke igbu egbu hapụrụ ọtụtụ ihe a chọrọ, n'ihi ya, agaghị m akọwa usoro na ụzọ niile eji.

A na-enweta ikpo okwu site na iji nchikota libjpeg, pcre na tinydir ọba akwụkwọ, nke anyị na-ekele ha maka ya. Site na ndabara, a na-achịkọta ihe niile site na nkịtị make, yabụ ndị ọrụ Windows chọrọ ịwụnye ụfọdụ Cygwin maka onwe ha, ma ọ bụ na-emeso Visual Studio na ọba akwụkwọ n'onwe ha.

Mmejuputa a dị n'ụdị akụrụngwa njikwa na ọba akwụkwọ. Ndị nwere mmasị nwere ike ịmatakwu banyere iji nke ikpeazụ na readme na ebe nchekwa na Github, njikọ nke m ga-etinye na njedebe nke post. Na ebe a anyị na-aga na nkọwa na ngosi nke ọrụ.

Esi mee ihe?

Kpachapụ anya. Enwere ike ibugharị onyonyo ejiri mee ihe, nyegharịa aha na depụtaghachi ya dịka achọrọ. Agbanyeghị, ị kwesịrị ịkpachara anya nke ukwuu ma ghara ịgbanwe ọdịnaya ha n'ụzọ ọ bụla. Ịgbanwe otu bit ga-akpaghasị hash ma mee ka ọ ghara ikwe omume ị nwetaghachi ozi ahụ.

Ka e were ya na mgbe chịkọtachara, anyị ga-enweta faịlụ executable f5ar. Ị nwere ike nyochaa nha ọbá akwụkwọ ahụ iji gbakọọ ohere ọ ga-eji jiri ọkọlọtọ -a: ./f5ar -a [папка поиска] [Perl-совместимое регулярное выражение]. Ndị otu na-eme nkwakọ ngwaahịa ./f5ar -p [папка поиска] [Perl-совместимое регулярное выражение] [упаковываемый файл] [имя архива], na iji bupu ihe ./f5ar -u [файл архива] [имя восстановленного файла].

Ngosipụta ọrụ

Iji gosi ịdị irè nke usoro ahụ, ebugoro m nchịkọta foto 225 n'efu nke nkịta sitere na ọrụ ahụ. Unsplash. Onye ọ bụla n'ime ha nwere ogo dị elu karịa foto ndị ọrụ nkịtị, mana ka. Edegharịrị nke ọ bụla n'ime ha site na iji libjpeg iji wepụ mmetụta nke njirimara ngbanwe nke ọba akwụkwọ ahụ n'ogo n'ozuzu ya. Iji gosi ihe atụ kacha njọ nke data mgbakọ, a na-eji dd mepụta faịlụ 36-enweghị usoro (obere karịa 5% nke mkpokọta nha).

Usoro nnwale dị nnọọ mfe:

$ ls
binary_data dogs f5ar
$ du -sh dogs/
633M dogs/
$ du -h binary_data
36M binary_data

$ ./f5ar -p dogs/ .*jpg binary_data dogs.f5ar
Reading compressing file... ok
Initializing the archive... ok
Analysing library capacity... done in 16.8s
Detected somewhat guaranteed capacity of 48439359 bytes
Detected possible capacity of upto 102618787 bytes
Compressing... done in 32.6s
Saving the archive... ok

$ ./f5ar -u dogs/dogs.f5ar unpacked
Initializing the archive... ok
Reading the archive file... ok
Filling the archive with files... done in 1.2s
Decompressing... done in 17.5s
Writing extracted data... ok

$ sha1sum binary_data unpacked
ba7ade4bc77881ab463121e77bbd4d41ee181ae9 binary_data
ba7ade4bc77881ab463121e77bbd4d41ee181ae9 unpacked
$ du -sh dogs/
563M dogs/

Ma ọ bụ nseta ihuenyo maka Fans

Chekwaa oghere draịvụ ike site na iji steganography

Dịka ị na-ahụ, site na mbụ 633 + 36 == 669 megabyte data na draịvụ ike, anyị mechiri 563 kacha mma, na-enye anyị oke mkpakọ nke ~ 1,188. A na-akọwa ọdịiche a dị egwu site na mfu dị ntakịrị, dị ka nke enwetara mgbe ị na-ebuli faịlụ JPEG site na iji ụzọ oge gboo (dị ka tinyjpg). Dị ka o kwesịrị ịdị, mgbe ị na-eji mkpakọ steganographic, ozi abụghị naanị “efunahụ” mana a na-eji ya echekwa data ndị ọzọ.

Ngbanwe ọ bụla enwere, anya anaghị ahụ ha anya. N'okpuru onye na-emebi ihe n'okpuru ebe a, onye na-agụ nwere ike nyochaa ihe dị iche site na anya na site n'iwepụ ụkpụrụ nke ihe gbanwere na mbụ (ka agba agba agba, nke ahụ dị ntakịrị):

Njikọ na onyonyo na-adabaghị na habrastorage

Nke izizi - https://i.ibb.co/wNDLNcZ/1.jpg
Emeziri - https://i.ibb.co/qWvpfFM/1.jpg
Ọdịiche - https://i.ibb.co/2ZzhHfD/diff.jpg

Kama nkwubi okwu

Enwere m olileanya na m nwere ike ime ka onye na-agụ ya kwenye na ụzọ ndị dị otú ahụ ga-ekwe omume ma nwee ikike ndụ. Otú ọ dị, ịzụrụ draịvụ ike ma ọ bụ ọwa ọzọ (maka nnyefe netwọk) nwere ike ịdị ka nhọrọ dị mfe karịa ịnwa ịchekwa ego n'ụzọ dị otú a. N'otu aka, nke a bụ eziokwu; mmepe buru ibu na-adịkarị mfe ma bụrụ nke a pụrụ ịdabere na ya. Ma n'aka nke ọzọ, anyị ekwesịghị ichefu banyere oké ike. A sị ka e kwuwe, ọ dịghị nkwa na echi ị ga-enwe ike ịbịa n'ụlọ ahịa wee zụta onwe gị otu puku terabyte hard drive, ma ị nwere ike iji ndị ị na-edina n'ụlọ mgbe niile.

-> GitHub

Isi mmalite: www.habr.com

Tinye a comment