Txuag qhov chaw hard drive siv steganography

Thaum peb tham txog steganography, tib neeg xav txog cov neeg phem, pedophiles, neeg soj xyuas, lossis, qhov zoo tshaj plaws, cryptoanarchists thiab lwm cov kws tshawb fawb. Thiab tiag tiag, leej twg yuav xav tau nkaum ib yam dab tsi los ntawm qhov muag sab nraud? Dab tsi yuav muaj txiaj ntsig ntawm qhov no rau ib tus neeg zoo li cas?

Nws puv tawm muaj ib tug. Tias yog vim li cas hnub no peb yuav compress cov ntaub ntawv siv txoj kev steganography. Thiab thaum kawg, tus nyeem ntawv tseem tuaj yeem siv nws cov duab zoo nkauj archives hauv JPEGs txhawm rau nce tus naj npawb ntawm cov gigabytes dawb ntawm cov ntaub ntawv kaw lus.

Txuag qhov chaw hard drive siv steganography

Dab tsi?

Yog hais tias tus nyeem ntawv nco ntsoov, steganography yog xws li coj txawv txawv algorithms uas ua rau nws muaj peev xwm mus nkaum lub xub ntiag ntawm ib cov ntaub ntawv nyob rau hauv lwm yam. Hauv cov lus yooj yim dua: daim duab + cov ntaub ntawv == kwv yees li tib daim duab, tab sis tsis heev (es tsis yog cov duab tuaj yeem muaj dab tsi, tab sis feem ntau txhua yam yog pom tseeb hauv lawv). Yuav tsum tsis txhob muaj txoj hauv kev yooj yim los txiav txim seb puas muaj ib yam dab tsi hauv lossis tsis.

Tab sis yog tias ib tug tsis tuaj yeem paub qhov txawv ntawm lwm tus, puas muaj qhov txawv ntawm txhua qhov? Los ntawm cov neeg siv khoom pom, tus neeg siv tsis quav ntsej txog kev ua lej ntawm qhov tseeb (xav los ntawm cov khoom tshwj xeeb), tsuas yog qhov pom tau los ntawm nws.

Piv txwv li, cia peb saib peb cov duab ntawm tus aub ntxim hlub:

Ceev faj, JPEG!

Txuag qhov chaw hard drive siv steganography Txuag qhov chaw hard drive siv steganography Txuag qhov chaw hard drive siv steganography

Txawm hais tias qhov sib txawv loj ntawm qhov loj me, ob peb tus neeg yuav xaiv qhov thib peb version. Ntawm qhov tod tes, qhov sib txawv ntawm thawj ob daim duab tsis pom zoo, thiab cov ntaub ntawv ntawm lawv (los ntawm kuv qhov kev xav) tuaj yeem sib npaug.

Lub hauv paus ntsiab lus no nws tus kheej twb laus lawm thiab tau nquag siv los ntawm kev poob cov ntaub ntawv compression rau ntau xyoo. Tab sis kev tawg tsis yog lub tsev; peb txaus siab rau sab siab dua ntawm qhov teeb meem. Puas muaj peev xwm embed cov ntaub ntawv loj ntxiv N mus rau cov ntaub ntawv kom nws loj nce los ntawm M < N, tab sis cov kev hloov pauv tsis pom rau tus neeg siv?

Tau kawg koj ua tau. Tab sis nws tsim nyog ua ob peb qhov tshwj xeeb tam sim ntawd:

  • Ua ntej, txoj kev yuav tsum yog universal thiab muab cov txiaj ntsig zoo ntawm feem ntau cov ntaub ntawv nkag. Ntawd yog, qhov nruab nrab, rau qhov kev nkag siab tsis sib xws, yuav tsum muaj qhov txo qis ntawm cov ntaub ntawv khaws cia. "Nyob rau hauv nruab nrab" txhais tau hais tias qhov opposite yuav tshwm sim, tab sis yuav tsum tsis txhob predominate.
  • Qhov thib ob, qhov loj ntawm lub thawv compressed ua ntej embedding cov ntaub ntawv yuav tsum loj dua nws cov kev hloov kho compressed nyob rau hauv ib txoj kev zoo sib xws. Tsuas yog embed ib pawg ntawm cov khoom rau hauv BMP cov duab siv LSB txoj kev tsis yog steganographic compression, txij li thaum, tau khiav los ntawm qee yam ntawm DEFLATE, cov duab qub feem ntau yuav pom me me.
  • Thirdly, qhov tshwm sim yuav tsum tau nqa tawm thiab muab piv nrog rau kev hwm rau cov ntaub ntawv twb compressed los ntawm classical txoj kev. Qhov no yuav tshem tawm cov txiaj ntsig tshwm sim ntawm qhov sib txawv hauv lawv qhov kev rov ua dua thiab muab kev ua haujlwm ntau dua hauv cov ntaub ntawv dav dav.

Qhov twg

Kev siv steganography txhais tau hais tias, ntxiv rau cov ntaub ntawv compressed, peb yuav xav tau cov thawv uas nws yuav muab tso rau. Qhov siab tshaj plaws ntawm cov ntaub ntawv embedded feem ntau nyob ntawm tus kheej cov khoom, tab sis nws yooj yim dua los teev nrog lawv tus lej. Yog li ntawd, lub thawv hom yuav tsum muaj ntau yam kom tus neeg siv muaj txaus ntawm lawv kom tau txais txiaj ntsig los ntawm cov txheej txheem "compression".

Hauv cov ntsiab lus no, cov duab, suab, thiab cov ntaub ntawv video yog cov neeg sib tw zoo. Tab sis, vim muaj ntau hom sib txawv, codecs, thiab lwm yam, nyob rau hauv kev xyaum peb tseem tshuav nrog kev xaiv los ntawm tsis muaj ntau txoj kev xaiv.

Xav txog tag nrho cov no, kuv qhov kev xaiv poob rau JPEG. Yuav luag txhua tus muaj nws, nws yog dav siv rau ob qho tib si ntawm tus kheej thiab kev lag luam, yuav luag yog hom de facto rau feem ntau cov duab.

Txuag qhov chaw hard drive siv steganography

Nws nyob?

Tom ntej no muaj nyob ze- thiab cov duab kos duab thiab cov lus piav qhia yam tsis muaj kev piav qhia ntau, yog li cov neeg nyiam tuaj yeem hla lawv los ntawm kev mus rau ntu "High Technologies".

Cov yam ntxwv

Txhawm rau embed cov ntaub ntawv nyob qhov twg, koj yuav tsum xub txiav txim siab qhov twg. Muaj peev xwm muaj ntau cov duab sib txawv ntawm cov ntaub ntawv kaw lus, uas tus neeg siv yuav xav siv ob peb yam nkaus xwb. Peb yuav hu cov thawv uas xav tau ib lub tsev qiv ntawv.

Nws yog tsim nyob rau hauv ob rooj plaub: ua ntej compression thiab ua ntej decompression. Hauv thawj kis, koj tuaj yeem siv cov npe ntawm cov ntaub ntawv (lossis zoo dua, cov lus qhia tsis tu ncua rau lawv) ntawm cov ntaub ntawv, tab sis qhov thib ob, yuav tsum muaj qee yam kev ntseeg siab dua: tus neeg siv tuaj yeem luam tawm thiab txav mus rau hauv cov ntaub ntawv kaw lus. , yog li tiv thaiv lawv los ntawm kev txheeb xyuas kom raug. Yog li ntawd, nws yog ib qho tsim nyog los khaws lawv cov hashes (md5 txaus) tom qab txhua qhov kev hloov kho tau ua tiav.

Nyob rau hauv rooj plaub no, tsis muaj qhov taw tes hauv kev tshawb nrhiav thawj zaug uas siv cov lus qhia tsis tu ncua thoob plaws hauv tag nrho cov ntaub ntawv kaw lus; nws txaus los qhia meej cov npe hauv paus. Cov ntaub ntawv tshwj xeeb archive yuav raug cawm hauv nws, uas yuav muaj cov hashs, nrog rau lwm cov ntaub ntawv meta-cov ntaub ntawv tsim nyog rau kev rov qab los ntawm cov ntaub ntawv compressed.

Tag nrho cov no siv sib npaug rau txhua qhov kev siv ntawm cov ntaub ntawv steganographic compression algorithm. Cov txheej txheem ntawm cov ntaub ntawv compression thiab rov qab lawv tus kheej tuaj yeem hu ua packing thiab unpacking.

F5

Tam sim no nws tau dhau los ua qhov tseeb tias peb tab tom ua dab tsi thiab vim li cas, nws tseem yuav piav qhia txog algorithm kom ua tiav lub hom phiaj. Cia peb nco qab cov txheej txheem ntawm kev encoding ib cov ntaub ntawv JPEG (ua tsaug rau wiki ntawm Bauman National Library):

Txuag qhov chaw hard drive siv steganography

Saib ntawm nws, nws yog qhov zoo dua los ua ob peb nqe lus tam sim:

  • Qhov loj ntawm cov ntaub ntawv JPEG tuaj yeem suav tias yog qhov zoo tshaj plaws yam tsis tau sim ua kom nws nrog qee hom Winrar;
  • Tsuas yog cov ntaub ntawv khaws tseg (uas yog cov khoom tso tawm los ntawm kev sib cais cosine hloov pauv, DCT) tuaj yeem hloov kho kom muab qhov tsawg kawg nkaus ua tau zoo.
  • Txhawm rau kom tsis txhob poob cov ntaub ntawv ntawm kev lag luam nplai pom tau rau tus neeg siv, nws yuav tsum ua kom tsawg kawg ntawm kev hloov kho rau txhua tus duab;

Tag nrho tsev neeg ntawm algorithms haum rau cov xwm txheej no, uas koj tuaj yeem paub koj tus kheej nrog hauv qhov kev nthuav qhia zoo no. Qhov siab tshaj plaws ntawm lawv yog algorithm F5 los ntawm Andreas Westfeld, ua hauj lwm nrog DCT coefficients ntawm brightness tivthaiv (tus tib neeg lub qhov muag yog tsawg rhiab heev rau nws cov kev hloov). Nws cov txheej txheem dav dav thaum ua haujlwm nrog cov ntaub ntawv JPEG uas twb muaj lawm tau tshwm sim raws li hauv qab no:

Txuag qhov chaw hard drive siv steganography

F5 thaiv siv cov txheej txheem embedding siab heev raws li matrix encoding. Tus nyeem ntawv tuaj yeem kawm paub ntau ntxiv txog nws thiab cov algorithm nws tus kheej ntawm qhov txuas saum toj no, tab sis peb feem ntau txaus siab rau qhov tseeb tias nrog nws cov kev pab koj tuaj yeem hloov pauv tsawg dua thaum embedding tib cov ntaub ntawv, qhov loj ntawm lub thawv siv. , thiab rau kev ua tiav Lub algorithm tsuas yog yuav tsum ua haujlwm yooj yim Huffman thiab RLE (de) coding ua haujlwm.

Cov kev hloov pauv lawv tus kheej tau ua rau cov lej sib npaug thiab nqes los txo lawv cov nqi tag nrho los ntawm ib qho, uas tso cai, feem ntau hais lus, siv F5 rau cov ntaub ntawv compression. Lub ntsiab lus yog tias qhov txo qis coefficient nyob rau hauv tus nqi kiag li feem ntau yuav nyob tsawg dua tom qab Huffman encoding vim qhov kev faib tawm ntawm cov txiaj ntsig hauv JPEG.

Txuag qhov chaw hard drive siv steganography

Nyob rau hauv cov ntaub ntawv ntawm kev tsim ntawm ib tug xoom (lub thiaj li hu ua txo), tus naj npawb ntawm cov ntaub ntawv khaws tseg yuav raug txo los ntawm nws qhov loj, txij li thaum yav tas los ywj siab coefficient yuav dhau los ua ib feem ntawm RLE encoded sequence ntawm zeros:

Txuag qhov chaw hard drive siv steganography

Kev hloov kho

Cov ntaub ntawv tiv thaiv thiab compression yog teeb meem orthogonal, yog li tus password zais cia los ntawm tus thawj algorithm tuaj yeem tsis quav ntsej. Tsis tas li ntawd, peb yuav tsum paub meej tias yuav rho tawm cov ntaub ntawv li cas, yog li tag nrho cov ntaub ntawv tsim nyog rau qhov no (cov ntim twg tau siv, nyob rau hauv qhov kev txiav txim, thiab lwm yam) yuav tsum tau sau tseg rau hauv ib daim ntawv cais thiab qhib rau kev nyeem ntawv dawb los ntawm archiver.

Tus thawj algorithm yog tsim los xa cov lus zais cia, yog li nws ua haujlwm nrog tsuas yog ib lub thawv ntawm ib lub sijhawm, piv txwv tias tus neeg siv nws tus kheej yuav rhuav nws mus rau hauv qhov chaw yog tias tsim nyog, yog tias muaj. Ntxiv mus, thaum embedded ntawm nws tus kheej nyob rau hauv txhua lub thawv, koj yuav tsum paub ua ntej yuav ua li cas muaj pes tsawg cov ntaub ntawv muab tso rau hauv txhua. Yog li ntawd, cov coefficients ntawm txhua lub caij ntawm lub tsev qiv ntawv yuav tsum tau muab tso rau hauv ib qho kev paub daws teeb loj thiab ua haujlwm nrog nws raws li tus thawj algorithm.

Txij li thaum thawj F5 tso cai rau 12% ntawm lub thawv loj, qhov kev hloov kho no tseem yuav ua rau muaj peev xwm ntau ntxiv: "txog 12%" ntawm qhov loj ntawm tag nrho cov tsev qiv ntawv loj dua los yog sib npaug rau cov lej ntawm "txog 12%". "los ntawm txhua qhov ntawm nws cov ntsiab lus.

Lub codified general scheme yog raws li nram no:

Txuag qhov chaw hard drive siv steganography

Lub algorithm nws tus kheej

Tam sim no nws yog lub sij hawm los piav txog lub algorithm nws tus kheej txij thaum pib mus txog rau thaum xaus, thiaj li tsis ua kom tus nyeem ntawv nyob rau hauv qhov tsaus ntuj nti:

  • Tus neeg siv txhais cov ntaub ntawv binary compressible M thiab lub tsev qiv ntawv L siv cov lus qhia tsis tu ncua thiab tshawb nrhiav hauv paus directory;
  • Nyob rau hauv qhov kev txiav txim lawv tshwm sim ntawm FS, lub tsev qiv ntawv cov ntsiab lus tsim MC:
    • Ib tug series ntawm coefficients C yog decoded los ntawm cov ntaub ntawv cov ntaub ntawv;
    • MC <- MC | C;
  • Parameter k yog txiav txim siab raws li qhov tsis sib xws txaus ntshai: |M| * 8 / (count_full(MC) + count_ones(MC) * k_rate(k)) < k / ((1 << k) - 1);
  • Noj tom ntej n = (1 << k) - 1 yam tsawg kawg ntawm cov khoom tsis yog xoom los ntawm MC thiab sau rau a:
    • Cov khawv koob hash muaj nuj nqi yog xam f, sawv cev ib lo lus n-ntsis a mus k-bit s;
    • Yog hais tias tus s == 0, ces tsis tas yuav hloov dab tsi thiab cov algorithm txav mus rau cov coefficients tom ntej;
    • Txo tus nqi tag nrho ntawm cov coefficient lub luag haujlwm rau s-hlo me ntsis hauv lo lus a;
    • Yog tias qhov kev txo qis tshwm sim (qhov coefficient dhau los ua 0), ces rov ua cov kauj ruam los ntawm qhov pib;
  • Tag nrho cov coefficients yog encoded los ntawm RLE thiab Huffman, sau rau hauv cov ntaub ntawv;
  • Qhov parameter k yog sau rau hauv cov ntaub ntawv archive;
  • Ib qho MD5 hash yog xam los ntawm txhua cov ntaub ntawv L nyob rau hauv qhov kev txiav txim ntawm lawv qhov chaw qub thiab sau rau hauv cov ntaub ntawv archive.

Tshiab thev naus laus zis

Daim ntawv naive ntawm lub algorithm thiab kev siv nyob rau hauv lwm cov qib siab (tshwj xeeb tshaj yog nrog cov khib nyiab khib nyiab) cov lus yuav ua tau txaus ntshai, yog li kuv tau siv tag nrho cov complexities nyob rau hauv ntshiab C thiab nqa tawm ib tug xov tooj ntawm optimizations ob qho tib si nyob rau hauv cov nqe lus ntawm kev khiav ceev thiab nco (koj tsis paub ntau npaum li cas cov duab no hnyav yam tsis muaj compression txawm ua ntej DCT). Tab sis txawm li ntawd los, thaum xub thawj qhov ceev ntawm kev tua tshuav ntau yam uas xav tau, yog li kuv yuav tsis piav qhia tag nrho cov txheej txheem thiab cov txheej txheem siv.

Hla-platform yog ua tiav nrog kev sib xyaw ntawm libjpeg, pcre thiab cov tsev qiv ntawv me me, uas peb ua tsaug rau lawv. Los ntawm lub neej ntawd, txhua yam yog muab tso ua ke ntawm qhov qub make, yog li cov neeg siv Windows xav nruab qee Cygwin rau lawv tus kheej, lossis cuam tshuam nrog Visual Studio thiab cov tsev qiv ntawv ntawm lawv tus kheej.

Kev siv yog muaj nyob rau hauv daim ntawv ntawm console utility thiab tsev qiv ntawv. Cov neeg txaus siab tuaj yeem paub ntau ntxiv txog kev siv cov ntawv tom kawg hauv readme hauv qhov chaw cia khoom ntawm Github, qhov txuas uas kuv yuav xa mus rau qhov kawg ntawm cov ntawv tshaj tawm. Thiab ntawm no peb mus rau qhov piav qhia thiab ua qauv qhia ntawm kev ua haujlwm.

Yuav siv li cas?

Ua tib zoo. Cov duab siv tau tuaj yeem txav tau, hloov npe thiab luam tawm raws li qhov xav tau. Txawm li cas los xij, koj yuav tsum ceev faj heev thiab tsis txhob hloov lawv cov ntsiab lus hauv txhua txoj kev. Hloov ib qho me ntsis yuav cuam tshuam cov hash thiab ua rau nws tsis tuaj yeem rov qab tau cov ntaub ntawv.

Piv txwv tias tom qab muab tso ua ke peb tau txais cov ntaub ntawv executable f5ar. Koj tuaj yeem txheeb xyuas qhov loj ntawm lub tsev qiv ntawv los xam qhov muaj peev xwm ntawm nws txoj kev siv siv tus chij -a: ./f5ar -a [ΠΏΠ°ΠΏΠΊΠ° поиска] [Perl-совмСстимоС рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅]. Kev ntim khoom yog ua los ntawm pab pawg ./f5ar -p [ΠΏΠ°ΠΏΠΊΠ° поиска] [Perl-совмСстимоС рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅] [ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ»] [имя Π°Ρ€Ρ…ΠΈΠ²Π°], thiab unpacking siv ./f5ar -u [Ρ„Π°ΠΉΠ» Π°Ρ€Ρ…ΠΈΠ²Π°] [имя восстановлСнного Ρ„Π°ΠΉΠ»Π°].

Ua qauv qhia ua haujlwm

Txhawm rau ua kom pom qhov ua tau zoo ntawm txoj kev, kuv tau tso ib phau ntawm 225 cov duab dawb kiag li ntawm cov dev los ntawm kev pabcuam Unsplash. Txhua tus ntawm lawv muaj qhov zoo dua me ntsis dua li cov neeg siv cov duab zoo tib yam, tab sis tseem. Txhua tus ntawm lawv tau rov encoded siv libjpeg kom tsis txhob muaj kev cuam tshuam ntawm lub tsev qiv ntawv encoding nta ntawm tag nrho qhov loj. Txhawm rau qhia qhov piv txwv phem tshaj plaws ntawm cov ntaub ntawv compressible, ib qho random 36-meter (me ntsis ntau dua 5% ntawm tag nrho cov loj) cov ntaub ntawv sib faib faib tau tsim siv dd.

Cov txheej txheem xeem yog qhov yooj yim heev:

$ 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/

Los yog screenshot rau cov kiv cua

Txuag qhov chaw hard drive siv steganography

Raws li koj tuaj yeem pom, los ntawm thawj 633 + 36 == 669 megabytes ntawm cov ntaub ntawv ntawm lub hard drive, peb tau xaus nrog qhov zoo dua 563, muab peb qhov sib piv ntawm ~ 1,188. Qhov sib txawv radical no tau piav qhia los ntawm qhov poob me me, zoo ib yam li cov tau txais thaum optimizing JPEG cov ntaub ntawv siv cov txheej txheem classical (xws li me me jpg). Lawm, thaum siv steganographic compression, cov ntaub ntawv tsis yog tsuas yog "poob", tab sis yog siv los encode lwm cov ntaub ntawv. Ntxiv mus, tus naj npawb ntawm "optimized" coefficients vim kev siv F5 yog ntau tsawg dua nrog ib txwm optimization.

Txawm li cas los hloov kho, lawv yog kiag li tsis pom ntawm lub qhov muag. Nyob rau hauv lub spoiler hauv qab no, tus nyeem ntawv tuaj yeem ntsuas qhov sib txawv ntawm qhov muag thiab los ntawm kev rho tawm cov txiaj ntsig ntawm qhov hloov pauv ntawm qhov qub (qhov ntau muted xim, qhov sib txawv me dua):

Txuas mus rau cov duab uas tsis haum rau habrastorage

Original - https://i.ibb.co/wNDLNcZ/1.jpg
Hloov kho - https://i.ibb.co/qWvpfFM/1.jpg
Qhov txawv - https://i.ibb.co/2ZzhHfD/diff.jpg

Es tsis txhob ib tug xaus

Kuv vam tias kuv muaj peev xwm hais tau cov neeg nyeem tias cov txheej txheem no ua tau thiab muaj txoj cai rau txoj sia. Txawm li cas los xij, kev yuav lub hard drive lossis ib qho channel ntxiv (rau kev sib kis hauv network) yuav zoo li qhov kev xaiv yooj yim dua li sim txuag nyiaj hauv txoj kev no. Ntawm ib sab, qhov no yog qhov tseeb; kev loj hlob dav dav feem ntau yog yooj yim dua thiab txhim khu kev qha. Tab sis ntawm qhov tod tes, peb yuav tsum tsis txhob hnov ​​qab txog qhov khaus. Tom qab tag nrho, tsis muaj kev lees paub tias tag kis koj yuav tuaj yeem tuaj rau tom khw thiab yuav koj tus kheej ntxiv ib txhiab terabyte hard drive, tab sis koj tuaj yeem siv cov uas koj twb tau pw hauv tsev.

-> GitHub

Tau qhov twg los: www.habr.com

Ntxiv ib saib