Boloka sebaka sa hard drive u sebelisa steganography

Ha re bua ka steganography, batho ba nahana ka likhukhuni, li-pedophiles, lihloela, kapa, ka ho fetisisa, li-cryptoanarchists le bo-rasaense ba bang. 'Me ha e le hantle, ke mang hape ea ka hlokang pata ntho e tsoang mahlong a kantle? Molemo oa see e ka ba ofe ho motho ea tloaelehileng?

Hoa fumaneha hore ho na le e 'ngoe. Ke ka lebaka leo kajeno re tla hatella data ka mekhoa ea steganography. 'Me qetellong,' mali o tla khona ho sebelisa li-archive tsa hae tsa bohlokoa tsa lifoto ho JPEGs ho eketsa palo ea li-gigabyte tsa mahala tsamaisong ea lifaele.

Boloka sebaka sa hard drive u sebelisa steganography

Eng?

Haeba 'mali a hopola, steganography ke li-algorithms tse makatsang tse etsang hore ho khonehe ho pata boteng ba boitsebiso bo le bong ka hare ho e' ngoe. Ka puo e bonolo le ho feta: setšoantšo + faele == hoo e batlang e le setšoantšo se tšoanang, empa eseng haholo (ho e-na le litšoantšo ho ka ba le ntho leha e le efe, empa hangata ntho e 'ngoe le e' ngoe e hlakile ho tsona). Ha hoa lokela ho ba le mokhoa o bonolo oa ho tseba hore na ho na le ho hong ka hare kapa che.

Empa haeba e mong a ke ke a khetholloa ho e mong, na ho na le phapang ho hang? Ho latela pono ea moreki, mosebelisi ha a tsotelle ho nepahala ha lipalo (ho bonts'itsoeng ke sehlopha se itseng sa likotoana), feela seo a se bonang.

Ka mohlala, a re shebeng litšoantšo tse tharo tsa ntja e ntle:

Hlokomela, JPEG!

Boloka sebaka sa hard drive u sebelisa steganography Boloka sebaka sa hard drive u sebelisa steganography Boloka sebaka sa hard drive u sebelisa steganography

Leha ho na le phapang e kholo ka boholo, ke batho ba fokolang ba tla khetha mofuta oa boraro. Ka lehlakoreng le leng, phapang pakeng tsa lifoto tse peli tsa pele ha e hlokomelehe, 'me bongata ba boitsebiso bo ho tsona (ho ea ka pono ea ka) bo ka lekana.

Molao-motheo ona ka booona o se o tsofetse 'me o' nile oa sebelisoa ka matla ke mekhoa ea khatello ea tlhahisoleseding e lahlehileng ka lilemo tse ngata. Empa ho pshatla ha se ho haha; re thahasella lehlakore le tsoetseng pele la taba. Na hoa khoneha ho embed eketsehileng boholo boitsebiso bo N ho faele e le hore boholo ba eona bo eketsehe ka M < N, empa liphetoho li ne li sa hlokomelehe ho mosebedisi?

Ehlile u ka khona. Empa ho bohlokoa ho etsa lipehelo tse 'maloa hang-hang:

  • Taba ea pele, mokhoa ona o tlameha ho ba oa bokahohleng 'me o fane ka sephetho se nepahetseng ho bongata ba data e kentsoeng. Ke hore, ka karolelano, bakeng sa ho kenya letsoho ka tšohanyetso, ho lokela ho ba le phokotso ea sebele ea boitsebiso bo bolokiloeng. "Ka karolelano" e bolela hore ho ka etsahala se fapaneng, empa ha sea lokela ho ba teng pele.
  • Taba ea bobeli, boholo ba sets'oants'o se hatelitsoeng pele tlhahisoleseling e kentsoe e tlameha ho ba kholo ho feta phetoho ea eona e hatelitsoeng ka tsela e ts'oanang. Ho kenya feela likotoana tse ngata litšoantšong tsa BMP u sebelisa mokhoa oa LSB ha se khatello ea steganographic, kaha, ha e se e fetile ka mofuta o itseng oa DEFLATE, setšoantšo sa mantlha se tla bonahala se le nyane haholo.
  • Taba ea boraro, sephetho se tlameha ho etsoa le ho bapisoa mabapi le data e seng e hatelitsoe ke mekhoa ea khale. Sena se tla tlosa phello e ka 'nang ea e-ba teng ea liphapang ka ho fokolloa ha tsona le ho fana ka khatello e sebetsang hantle tabeng e akaretsang.

O hokae?

Tšebeliso ea steganography e fana ka maikutlo a hore, ntle le boitsebiso bo hatelitsoeng, re tla hloka lijana tseo e tla kenngoa ho tsona. Palo e phahameng ea tlhahisoleseling e kentsoeng haholo e ipapisitse le thepa ea motho ka mong, empa ho bonolo haholo ho lekanya palo ea bona. Ka hona, sebopeho sa setshelo se tlameha ho ba se tloaelehileng e le hore mosebelisi a be le tse lekaneng ho fumana molemo ofe kapa ofe ts'ebetsong ea "compression".

Boemong bona, li-graph, audio, le lifaele tsa video ke likhetho tse ntle. Empa, ka lebaka la mefuta e fapaneng ea lifomate tse fapaneng, li-codec, joalo-joalo, ka ts'ebetso re sala le khetho ho tsoa likhethong tse ngata.

Ha ke nahana ka sena sohle, khetho ea ka e ile ea oela ho JPEG. Hoo e batlang e le motho e mong le e mong o na le eona, e sebelisoa haholo bakeng sa merero ea botho le ea khoebo, hoo e batlang e le sebopeho sa de facto bakeng sa litšoantšo tse ngata.

Boloka sebaka sa hard drive u sebelisa steganography

Ho ipapisitse le?

Ka mor'a moo ho na le litšoantšo le litlhaloso tse haufi le tsa tekheniki ntle le tlhaloso e ngata, kahoo ba thahasellang ba ka li tlola ka ho ea karolong ea "High Technologies".

Likarolo tse tloaelehileng

Ho kenya data kae-kae, u tlameha ho qala ka ho tseba hore na hokae. Ho ka ba le palo efe kapa efe ea linepe tse fapaneng tsamaisong ea lifaele, tseo mosebelisi a ka batlang ho li sebelisa tse 'maloa feela. Re tla bitsa sete e joalo e lakatsehang ea lijana laebrari.

E thehoa maemong a mabeli: pele ho compression le pele decompression. Boemong ba pele, o ka sebelisa mabitso a lifaele (kapa ho molemo le ho feta, polelo e tloaelehileng bakeng sa bona) ea lifaele, empa ea bobeli, ho hlokahala ntho e 'ngoe e tšepahalang: mosebelisi a ka e kopitsa le ho e tsamaisa ka har'a sistimi ea faele. , ka hona ho li thibela ho tsejoa ka nepo. Ka hona, hoa hlokahala ho boloka li-hashes tsa bona (md5 e lekane) ka mor'a hore liphetoho tsohle li etsoe.

Tabeng ena, ha ho na lebaka la ho etsa lipatlisiso tsa pele u sebelisa polelo e tloaelehileng ho pholletsa le tsamaiso eohle ea lifaele; ho lekane ho hlalosa buka e itseng ea metso. Ho tla bolokoa faele e khethehileng ea polokelo ho eona, e tla ba le li-hashes, hammoho le lintlha tse ling tse hlokahalang bakeng sa ho hlaphoheloa ha tlhahisoleseling e hatisitsoeng.

Sena sohle se sebetsa ka ho lekana ts'ebetsong efe kapa efe ea algorithm ea compression data ea steganographic. Mekhoa ea ho hatella le ho hlaphoheloa ha data ka boeona e ka bitsoa ho paka le ho phutholla.

F5

Kaha joale ho se ho hlakile hore na re etsa eng le hore na hobaneng, e ntse e le ho hlalosa algorithm ea ho fihlela sepheo. Ha re hopoleng mokhoa oa ho khouta faele ea JPEG (ka lebaka la wiki ea Laeborari ea Sechaba ea Bauman):

Boloka sebaka sa hard drive u sebelisa steganography

Ha u e sheba, ho molemo ho fana ka maikutlo a 'maloa hang-hang:

  • Boholo ba faele ea JPEG bo ka nkoa bo nepahetse ntle le ho leka ho e hatella ka mofuta o itseng oa Winrar;
  • Ke tlhahisoleseling feela e bolokiloeng (e tsoang ho discrete cosine transform, DCT) e ka fetoloang ho fana ka bonyane ts'ebetso e amohelehang.
  • E le hore u se ke ua lahleheloa ke data ka tekanyo ea indasteri e hlokomelehang ho mosebedisi, hoa hlokahala ho etsa bonyane ba liphetoho setšoantšong ka seng;

Lelapa lohle la li-algorithms le lumellana le maemo ana, ao u ka tloaelanang le 'ona tlhahisong ena e ntle. E tsoetseng pele ka ho fetisisa ho bona ke algorithm F5 ka Andreas Westfeld, ho sebetsa le li-coefficients tsa DCT tsa karolo ea khanya (leihlo la motho ha le nahane ka liphetoho tsa lona). Sebopeho sa eona se akaretsang ha o sebetsa le faele ea JPEG e teng e bonts'oa ka tsela e latelang:

Boloka sebaka sa hard drive u sebelisa steganography

Sebaka sa F5 se sebelisa mokhoa o tsoetseng pele oa ho kenyelletsa o thehiloeng ho khouto ea matrix. 'Mali a ka ithuta ho eketsehileng ka eona le algorithm ka boeona sehokelong se kaholimo, empa re thahasella haholo taba ea hore ka thuso ea eona o ka etsa liphetoho tse fokolang ha o kenya tlhahisoleseling e lekanang, boholo ba setshelo se sebelisitsoeng. , le bakeng sa ho phethahatsa algorithm e hloka feela ho etsa ts'ebetso e bonolo ea Huffman le RLE (de) coding.

Liphetoho ka botsona li etsoa ho li-coefficients tse felletseng mme li theohile ho fokotsa boleng ba tsona bo felletseng ka e le 'ngoe, e lumellang, ho bua ka kakaretso, ho sebelisa F5 bakeng sa khatello ea data. Taba ke hore coefficient e fokotsehileng ka boleng bo felletseng e kanna ea nka likotoana tse fokolang kamora ho kengoa ha Huffman ka lebaka la kabo ea lipalo tsa boleng ho JPEG.

Boloka sebaka sa hard drive u sebelisa steganography

Tabeng ea ho thehoa ha zero (seo ho thoeng ke phokotso), palo ea tlhahisoleseding e bolokiloeng e tla fokotsoa ka boholo ba eona, kaha coefficient ea pele e ikemetseng e tla fetoha karolo ea tatellano e kentsoeng ea RLE ea zero:

Boloka sebaka sa hard drive u sebelisa steganography

Liphetoho

Tšireletso ea data le compression ke mathata a orthogonal, kahoo tumello ea lekunutu ea lekunutu e tsoang ho algorithm ea mantlha e ka hlokomolohuoa. Ho feta moo, re hloka ho tseba hantle hore na re ka ntša data joang, kahoo tlhahisoleseding eohle e hlokahalang bakeng sa sena (e leng lisebelisoa tse sebelisitsoeng, ka tatellano efe, joalo-joalo) e lokela ho tlalehoa ka faele e arohaneng 'me e bulehe bakeng sa ho bala mahala ke motlatsi oa libuka.

Algorithm ea pele e etselitsoe ho fetisa melaetsa ea sekhukhu, kahoo e sebetsa ka setshelo se le seng feela ka nako, ho nka hore mosebedisi ka boeena o tla e senya ka likarolo ha ho hlokahala, haeba ho hlokahala. Ho feta moo, ha o kenngoa ka boithaopo ka har'a setshelo se seng le se seng, o tla hloka ho tseba esale pele hore na o ka kenya likotoana tse kae tsa data ho e 'ngoe le e 'ngoe. Ka hona, li-coefficients tsa karolo e 'ngoe le e' ngoe ea laebrari li lokela ho kopanngoa hore e be e 'ngoe e kholo e sa utloahaleng' me e sebetse le eona ho latela algorithm ea pele.

Kaha F5 ea mantlha e lumella ho fihla ho 12% ea boholo ba setshelo, phetoho ena e tla eketsa matla a holimo: "ho fihla ho 12%" ea boholo ba laeborari eohle e kholo ho feta kapa e lekana le kakaretso ea "ho fihla ho 12% "ho tsoa ho e 'ngoe le e' ngoe ea likarolo tsa eona.

Sekema se akaretsang sa codified ke se latelang:

Boloka sebaka sa hard drive u sebelisa steganography

Algorithm ka boeona

Joale ke nako ea ho hlalosa algorithm ka boeona ho tloha qalong ho fihlela qetellong, e le hore u se ke ua boloka 'mali a le lefifing:

  • Mosebedisi o hlalosa binary compressible data M le laeborari L ho sebelisa polelo e tloaelehileng le bukana ea motso oa ho batla;
  • Ka tatellano eo li hlahang ho FS, likarolo tsa laeborari li theha MC:
    • Letoto la li-coefficients C li khethoa ho tsoa ho data ea faele;
    • MC <- MC | C;
  • Paramethara k e khethoa ho ipapisitsoe le ho se lekane ho tšabehang: |M| * 8 / (count_full(MC) + count_ones(MC) * k_rate(k)) < k / ((1 << k) - 1);
  • E nkuoe e latelang n = (1 << k) - 1 lintlha tse nyane tse bohlokoa tsa likarolo tseo e seng zero ho tsoa ho MC mme li ngoletsoe ho a:
    • Mosebetsi oa boselamose oa hash o nkoa f, e emelang lentsoe la n-bit a ho k-bit s;
    • haeba s == 0, joale ha ho hlokahale ho fetola ntho leha e le efe mme algorithm e fetela pele ho li-coefficients tse latelang;
    • Fokotsa boleng bo felletseng ba coefficient e ikarabellang bakeng sa s-hey bit in the word a;
    • Haeba ka lebaka la ho fokotseha ho fokotseha ho etsahala (coefficient e fetoha 0), joale pheta mohato ho tloha qalong;
  • Li-coefficients tsohle li ngotsoe ke RLE le Huffman, tse ngotsoeng ho lifaele tsa mohloli;
  • Paramethara k e ngotsoe ho faele ea polokelo;
  • MD5 hash e baloa ho tloha faeleng e 'ngoe le e' ngoe L ho ea ka tatellano ea sebaka sa eona sa pele mme e ngolloa faeleng ea polokelo.

Mahlale a phahameng

Sebopeho se se nang kelello sa algorithm le ts'ebetsong ka lipuo tse ling tsa maemo a holimo (haholo-holo ka pokello ea litšila) li ka fana ka ts'ebetso e mpe, ka hona ke ile ka kenya ts'ebetsong mathata ana kaofela ka C e hloekileng 'me ka etsa lintlafatso tse' maloa mabapi le lebelo la ts'ebetso. memori (ha o tsebe hore na litšoantšo tsena li na le boima bo bokae ntle le ho hatella le pele ho DCT). Empa leha ho le joalo, qalong lebelo la ho bolaoa le ile la siea ho hongata ho lakatsehang, kahoo nke ke ka hlalosa ts'ebetso eohle le mekhoa e sebelisoang.

Cross-platform e finyelloa ka ho sebelisa motsoako oa libjpeg, pcre le lilaebrari tse nyane, tseo re ba lebohang ka tsona. Ka tloaelo, ntho e 'ngoe le e' ngoe e hlophisitsoe ka mokhoa o tloaelehileng make, kahoo basebelisi ba Windows ba batla ho iketsetsa Cygwin, kapa ho sebetsana le Visual Studio le lilaebrari ka bobona.

Ts'ebetsong e fumaneha ka mokhoa oa lisebelisoa tsa console le laebrari. Ba nang le thahasello ba ka tseba haholoanyane ka ho sebelisa ea morao-rao ho bala sebakeng sa polokelo ho Github, sehokelo seo ke tla se hokela qetellong ea poso. 'Me mona re fetela tlhaloso le pontšo ea mosebetsi.

U ka se sebelisa joang?

Ka hloko. Litšoantšo tse sebelisitsoeng li ka sisinyeha, tsa rehoa bocha le ho kopitsoa kamoo u batlang. Leha ho le joalo, u lokela ho ba hlokolosi haholo 'me u se ke ua fetola litaba tsa bona ka tsela leha e le efe. Ho fetola karolo e le 'ngoe ho tla sitisa hashe le ho etsa hore ho se khonehe ho khutlisa tlhahisoleseling.

Ha re re ka mor'a ho bokella re fumana faele e sebetsang f5ar. U ka hlahloba boholo ba laebrari ho bala menyetla ea tšebeliso ea eona u sebelisa folakha -a: ./f5ar -a [папка поиска] [Perl-совместимое регулярное выражение]. Ho paka ho etsoa ke sehlopha ./f5ar -p [папка поиска] [Perl-совместимое регулярное выражение] [упаковываемый файл] [имя архива], le ho manolla ka ho sebelisa ./f5ar -u [файл архива] [имя восстановленного файла].

Pontšo ea mosebetsi

Ho bonts'a katleho ea mokhoa ona, ke kentse pokello ea linepe tse 225 tsa mahala tsa lintja tse tsoang ts'ebeletso. Unsplash. E 'ngoe le e' ngoe ea tsona e na le boleng bo phahameng hanyane ho feta lifoto tse tloaelehileng tsa basebelisi, empa leha ho le joalo. E 'ngoe le e 'ngoe ea tsona e ile ea khoufatsoa hape ho sebelisoa libjpeg ho fokotsa tšusumetso ea likarolo tsa khouto ea laebrari ho boholo ba kakaretso. Ho bonts'a mohlala o mobe ka ho fetesisa oa data e hatellehang, ho ile ha hlahisoa faele e ajoang ka mokhoa o ts'oanang ea 36-meter (e fetang 5% ea boholo ba kakaretso).

Mokhoa oa ho etsa liteko o bonolo haholo:

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

Kapa skrini bakeng sa balateli

Boloka sebaka sa hard drive u sebelisa steganography

Joalokaha u bona, ho tloha ho 633 + 36 == 669 megabytes ea data ho hard drive, re ile ra qetella re e-na le 563 e ntle, e re fang tekanyo ea compression ea ~ 1,188. Phapang ena e kholo e hlalosoa ke tahlehelo e nyane haholo, e ts'oanang le e fumanoeng ha ho ntlafatsoa lifaele tsa JPEG ho sebelisoa mekhoa ea khale (joalo ka tinyjpg). Ka tlhaho, ha u sebelisa compression ea steganographic, tlhahisoleseding ha e "lahlehe" feela, empa e sebelisetsoa ho kenyelletsa lintlha tse ling.Ho feta moo, palo ea "optimized" coefficients ka lebaka la tšebeliso ea F5 e fokotsehile haholo ho feta ka mokhoa o tloaelehileng oa ho ntlafatsa.

Ho sa tsotellehe hore na ho na le liphetoho life, ho hang ha li bonahale mahlong. Tlas'a sesenyi se ka tlase, 'mali a ka lekola phapang ka leihlo le ka ho tlosa boleng ba karolo e fetotsoeng ho ea mantlha (ha 'mala o khutsitse haholoanyane, phapang e nyane):

Lihokelo tsa litšoantšo tse sa keneleng habrastorage

Ea mantlha - https://i.ibb.co/wNDLNcZ/1.jpg
E fetotsoe - https://i.ibb.co/qWvpfFM/1.jpg
Phapang - https://i.ibb.co/2ZzhHfD/diff.jpg

Ho e-na phetheha

Ke tšepa hore ke khonne ho kholisa ’mali hore mekhoa e joalo e ka khoneha ’me e na le tokelo ea ho phela. Leha ho le joalo, ho reka hard drive kapa mocha o eketsehileng (bakeng sa phetiso ea marang-rang) ho ka 'na ha bonahala e le khetho e bonolo ho feta ho leka ho boloka chelete ka tsela ena. Ka lehlakoreng le leng, sena ke 'nete; tsoelo-pele e pharaletseng hangata e bonolo ebile e tšepahala haholoanyane. Empa ka lehlakoreng le leng, ha rea ​​lokela ho lebala ka matla. Ha e le hantle, ha ho na tiiso ea hore hosasane u tla khona ho tla lebenkeleng 'me u ithekele li-hard drive tse sekete tsa terabyte, empa u ka sebelisa tseo u seng u ntse u e-na le tsona lapeng.

-> GitHub

Mohloli: www.habr.com

Eketsa ka tlhaloso