Steganography nipasẹ awọn faili: nọmbafoonu data taara ni awọn apa

A kukuru Àkọsọ

Steganography, ti ẹnikẹni ko ba ranti, n tọju alaye ni diẹ ninu awọn apoti. Fun apẹẹrẹ, ninu awọn aworan (sọrọ nibi и nibi). O tun le tọju data ni awọn tabili iṣẹ ti eto faili (eyi ni a kọ nipa nibi), ati paapaa ni TCP bèèrè iṣẹ awọn apo-iwe. Laisi ani, gbogbo awọn ọna wọnyi ni apadabọ kan: lati le “fi sii” alaye ni aibikita sinu apo eiyan, o nilo awọn algoridimu arekereke ti o ṣe akiyesi awọn ẹya ara ẹrọ ti inu inu eiyan naa. Ati pe awọn iṣoro dide pẹlu idiwọ eiyan si ifọwọyi: fun apẹẹrẹ, ti o ba ṣatunkọ aworan diẹ, alaye ti o farapamọ ti sọnu.

Ṣe o ṣee ṣe lati bakan ṣe laisi awọn algorithms arekereke ati awọn ifọwọyi arekereke pẹlu data, ati tun rii daju iṣẹ ṣiṣe ti eiyan ati ipele itẹwọgba ti aabo ti data farasin? Wiwa iwaju, Emi yoo sọ - bẹẹni, o le! Emi yoo paapaa funni ni ohun elo kan.

Awọn alaye ẹjẹ ti ọna naa

Ero ipilẹ jẹ rọrun bi fifun si iwaju: awọn agbegbe wa lori disiki ti ẹrọ ṣiṣe ko kọwe si (tabi kọ ni awọn ọran toje). Lati yago fun iwulo lati wa awọn agbegbe wọnyi nipa lilo awọn algoridimu arekereke, a yoo lo apọju - iyẹn ni, a yoo ṣe pidánpidán alaye wa ti o farapamọ ni ọpọlọpọ, ni ọpọlọpọ igba kọja gbogbo awọn apakan ti disk naa. Lẹhinna, ọtun lori oke gbogbo ẹwa yii, o le ṣẹda awọn ipin ti o yẹ, awọn ọna kika faili, kọ awọn faili ki o fi OSes sori ẹrọ - gbogbo kanna, apakan ti data aṣiri yoo wa ni fipamọ ati pe o le gba pada, ati pe ẹda atunwi yoo ran wa lọwọ. fi awọn atilẹba gbogbo papo lati awọn ege.

Awọn anfani ti ọna yii jẹ kedere: a ko dale lori ọna kika faili, tabi paapaa lori iru eto faili ti a lo.

Awọn aila-nfani tun jẹ, Mo ro pe, o han gedegbe:

  • Awọn data aṣiri le yipada nikan nipasẹ atunkọ gbogbo disk patapata, atẹle nipa ṣiṣe atunda akoonu ti o han si olumulo. Sibẹsibẹ, o ko le lo sọfitiwia ti o ṣe atunda disk lati aworan kan: yoo tun ṣe data aṣiri iṣaaju.
  • Ti o tobi iwọn didun ti data aṣiri, o pọju o ṣeeṣe lati padanu alaye diẹ.
  • Gbigba data lati disk le gba igba pipẹ. Lati iṣẹju pupọ si ọpọlọpọ awọn ọjọ (awọn disiki ode oni tobi).

Bayi jẹ ki a lọ si awọn pato.

O han gbangba pe ti o ba kan smear aṣiri data ni gbogbo disiki naa, yoo farapamọ nikan lati oju ihoho. Ti o ba pese wiwo rẹ pẹlu, sọ, olootu disk kan, data naa yoo han ni gbogbo ogo rẹ. Nitorinaa, yoo jẹ imọran ti o dara lati encrypt data naa ki o ma ṣe han. A yoo encrypt ni irọrun, ṣugbọn ni itọwo: lilo aes256-cbc algorithm. A yoo beere lọwọ olumulo fun bọtini fifi ẹnọ kọ nkan ati jẹ ki o wa pẹlu ọrọ igbaniwọle to dara.

Ibeere ti o tẹle ni bawo ni a ṣe le ṣe iyatọ data “dara” lati data buburu. Nibi checksum yoo ran wa lọwọ, ṣugbọn kii ṣe ọkan ti o rọrun, ṣugbọn SHA1. Ati kini? O dara to fun git, nitorinaa yoo baamu fun wa paapaa. Ti pinnu: a pese alaye kọọkan ti o fipamọ pẹlu checksum kan, ati pe ti o ba jẹ pe lẹhin piparẹ o baamu, o tumọ si pe idinku naa ṣaṣeyọri.

Iwọ yoo tun nilo nọmba ajẹkù ati ipari lapapọ ti data aṣiri naa. Nọmba ajẹkù ni lati tọju abala awọn ege wo ti a ti pinnu tẹlẹ ati eyiti o kù. Lapapọ ipari yoo jẹ iwulo fun wa nigbati o ba n ṣiṣẹ ajẹkù ti o kẹhin, ki o ma ba kọ data ti ko wulo (iyẹn, padding). O dara, niwọn igba ti a tun ni akọsori, a yoo ṣafikun orukọ faili aṣiri nibẹ. Yoo wulo lẹhin piparẹ, nitorinaa ki o ma ṣe gboju bi o ṣe le ṣii.

Idanwo ọna ni iwa

Lati ṣayẹwo, jẹ ki a mu alabọde ti o wọpọ julọ - kọnputa filasi kan. Mo ti ri ohun atijọ pẹlu 1 GB agbara, eyi ti o jẹ ohun dara fun awọn adanwo. Ti o ba, bii mi, wa pẹlu imọran ti kii ṣe wahala pẹlu media ti ara, ṣugbọn idanwo lori faili kan - aworan disk, lẹhinna Emi yoo sọ lẹsẹkẹsẹ: kii yoo ṣiṣẹ. Nigbati o ba n ṣe akoonu iru “disk,” Lainos tun ṣẹda faili naa, ati pe gbogbo awọn apa ajeku yoo kun fun awọn odo.

Gẹgẹbi ẹrọ pẹlu Linux, laanu, Mo ni lati lo ibudo oju ojo lori Rasipibẹri Pi 3 ti o dubulẹ lori balikoni. Ko si iranti pupọ nibẹ, nitorina a kii yoo fi awọn faili nla pamọ. A fi opin si ara wa si iwọn ti o pọju ti 10 megabyte. Ko si aaye tun ni fifipamọ awọn faili ti o kere ju: ohun elo naa kọ data si disk ni awọn iṣupọ 4 KB. Nitorinaa, ni isalẹ a yoo fi opin si ara wa si faili 3 kb - o baamu sinu iru iṣupọ kan.

A yoo ṣe ẹlẹyà kọnputa filasi ni awọn ipele, ṣayẹwo lẹhin ipele kọọkan boya alaye ti o farapamọ jẹ kika:

  1. Ṣiṣe kika iyara ni ọna kika FAT16 pẹlu iwọn iṣupọ kan ti 16 KB. Eyi ni ohun ti Windows 7 nfunni lati ṣe pẹlu kọnputa filasi ti ko ni eto faili kan.
  2. Nmu kọnputa filasi pẹlu gbogbo iru idoti nipasẹ 50%.
  3. Nmu kọnputa filasi pẹlu gbogbo iru idoti nipasẹ 100%.
  4. Tito kika "Gun" ni ọna kika FAT16 (ikọkọ ohun gbogbo).

Awọn idanwo meji akọkọ, bi o ti ṣe yẹ, pari ni iṣẹgun pipe: ohun elo naa ni anfani lati yọkuro megabytes 10 ti data aṣiri lati kọnputa filasi naa ni aṣeyọri. Ṣugbọn lẹhin awakọ filasi ti kun si agbara pẹlu awọn faili, ikuna kan waye:

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

Gẹgẹbi o ti le rii, awọn iṣupọ 158 nikan ni a ti yọkuro ni aṣeyọri (632 kilobytes ti data aise, eyiti o fun 636424 awọn baiti ti fifuye isanwo). O han gbangba pe ko si ọna lati gba megabyte 10 nibi, ati pe sibẹsibẹ laarin awọn iṣupọ wọnyi awọn ẹda-ẹda ni o han gbangba. O ko le paapaa gba megabyte 1 pada ni ọna yii. Ṣugbọn a le ṣe iṣeduro pe a yoo gba 3 kilobytes ti data aṣiri pada lati inu kọnputa filasi paapaa lẹhin ti o ti pa akoonu ati kikọ si agbara. Sibẹsibẹ, awọn adanwo fihan pe o ṣee ṣe pupọ lati jade faili kan 120 kilobytes gun lati iru kọnputa filasi kan.

Idanwo ti o kẹhin, laanu, fihan pe gbogbo kọnputa filasi ti kọkọ kọ:

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

Ko si iṣupọ kan ti ye... Ibanujẹ, ṣugbọn kii ṣe ajalu! Ṣaaju kika, jẹ ki a gbiyanju lati ṣẹda ipin kan lori kọnputa filasi, ati tẹlẹ ninu rẹ eto faili kan. Nipa ọna, o wa lati ile-iṣẹ pẹlu ọna kika gangan, nitorinaa a ko ṣe ohunkohun ifura.
O nireti pupọ pe aaye ti o wa lori kọnputa filasi ti dinku diẹ.

O tun nireti pupọ pe megabytes 10 ko le farapamọ lori disiki kikun patapata. Ṣugbọn ni bayi nọmba awọn iṣupọ decrypted aṣeyọri ti ni diẹ sii ju ilọpo meji lọ!

Total clusters read: 250752, decrypted: 405

Laanu, ko ṣee ṣe lati pejọ megabyte kan lati awọn ege, ṣugbọn awọn ọgọrun meji kilobytes rọrun.

O dara, awọn iroyin nipa kẹhin, 4th ayẹwo, akoko yii jẹ ayọ: kika patapata iru kọnputa filasi ko ja si iparun gbogbo alaye! 120 kilobytes ti data aṣiri dada ni pipe sinu aaye ti ko lo.

Idanwo akopọ tabili:

Steganography nipasẹ awọn faili: nọmbafoonu data taara ni awọn apa

Imọran diẹ: nipa aaye ọfẹ ati awọn apa ti ko lo

Ti o ba ti pin dirafu lile rẹ si awọn ipin, o le ti ṣe akiyesi pe kii ṣe nigbagbogbo ṣee ṣe lati pin gbogbo aaye ọfẹ lori disiki naa. Abala akọkọ nigbagbogbo bẹrẹ pẹlu diẹ ninu awọn indentation (nigbagbogbo 1 megabyte, tabi awọn apa 2048). Lẹhin apakan ti o kẹhin, o tun ṣẹlẹ pe “iru” kekere kan wa ti awọn apa ti ko lo. Ati nigba miiran awọn ela wa laarin awọn apakan, botilẹjẹpe ṣọwọn.

Ni awọn ọrọ miiran, awọn apa wa lori disiki ti ko le wọle si lakoko iṣẹ deede pẹlu disiki, ṣugbọn data le kọ si awọn apa wọnyi! Ati pe iyẹn tumọ si kika rẹ paapaa. Ti ṣe atunṣe fun otitọ pe tabili ipin tun wa ati koodu bootloader, eyiti o wa ni agbegbe ti o ṣofo ni ibẹrẹ disiki naa.

Jẹ ki a ya isinmi lati awọn apakan fun igba diẹ ki o wo disk lati oju oju eye, bẹ si sọrọ. Nibi ti a ni ohun ṣofo ipin lori disk. Jẹ ki a ṣẹda eto faili kan ninu rẹ. Njẹ a le sọ pe diẹ ninu awọn apa lori disiki naa ko ni paarẹ?

E-e-e-yipo ilu! Idahun si yoo fẹrẹ jẹ bẹẹni! Lootọ, ni ọpọlọpọ awọn ọran, ṣiṣẹda eto faili kan wa si kikọ awọn bulọọki diẹ ti alaye iṣẹ si disk, ati bibẹẹkọ awọn akoonu ti ipin ko yipada.

Ati paapaa - odasaka ti o ni agbara - a le ro pe eto faili ko le nigbagbogbo gba gbogbo aaye ti o pin si rẹ titi di eka ti o kẹhin. Fun apẹẹrẹ, eto faili FAT16 pẹlu iwọn iṣupọ ti 64 kilobytes o han ni ko le gba ipin kan patapata pẹlu iwọn kii ṣe ọpọ ti 64 kilobytes. Ni ipari iru apakan kan yoo ni lati jẹ “iru” ti awọn apa pupọ, ti ko ni iraye si fun titoju data olumulo. Sibẹsibẹ, airotẹlẹ yii ko le jẹrisi ni idanwo.

Nitorinaa, lati mu aaye ti o wa fun steganogram pọ si, o nilo lati lo eto faili pẹlu iwọn iṣupọ nla kan. O tun le ṣẹda ipin kan, paapaa ti eyi ko ba wulo (lori kọnputa filasi, fun apẹẹrẹ). Ko si iwulo lati ṣẹda awọn apakan ofo tabi fi awọn agbegbe ti a ko pin silẹ - eyi yoo fa akiyesi awọn ara ilu ti o nifẹ si.

IwUlO fun adanwo

O le fi ọwọ kan koodu orisun ti ohun elo naa nibi

Lati kọ, iwọ yoo nilo ẹya Qt 5.0 tabi ga julọ ati OpenSSL. Ti nkan ko ba ṣiṣẹ, o le ni lati ṣatunkọ faili steganodisk.pro.

O le yi iwọn iṣupọ pada lati 4 KB si, sọ, 512 baiti (ni secretfile.h). Ni akoko kanna, idiyele ti alaye iṣẹ yoo pọ si: akọsori ati checksum gba awọn baiti 68 ti o wa titi.

O nilo lati ṣiṣẹ ohun elo, nitorinaa, pẹlu awọn ẹtọ olumulo olumulo, ati pẹlu iṣọra. Ko si awọn ibeere ti o beere ṣaaju ki o to kọ faili tabi ẹrọ ti a ti sọ tẹlẹ!

Gbadun.

orisun: www.habr.com

Fi ọrọìwòye kun