Steganografi pa dosye: kache done dirèkteman nan sektè yo

Yon ti entwodiksyon

Steganografi, si yon moun pa sonje, ap kache enfòmasyon nan kèk resipyan. Pou egzanp, nan foto (diskite isit la и isit la). Ou kapab tou kache done nan tab sèvis nan sistèm dosye a (sa a te ekri sou isit la), e menm nan pake sèvis pwotokòl TCP. Malerezman, tout metòd sa yo gen yon sèl dezavantaj: yo nan lòd yo insansibl "mete" enfòmasyon nan yon veso, ou bezwen algoritm rize ki pran an kont sengularite yo nan estrikti entèn veso a. Ak pwoblèm rive ak rezistans veso a nan manipilasyon: pou egzanp, si ou yon ti kras modifye foto a, enfòmasyon kache yo pèdi.

Èske li posib yon jan kanmenm fè san yo pa algoritm atizan konn fè ak manipilasyon sibtil ak done, epi toujou asire fonksyonalite a nan veso a ak yon nivo akseptab nan sekirite nan done kache? Gade pi devan, mwen pral di - wi, ou kapab! Mwen pral menm ofri ou yon sèvis piblik.

Detay san nan metòd la

Lide debaz la se senp tankou yon souflèt nan fwon an: gen zòn sou disk la ke sistèm operasyon an pa janm ekri (oswa ekri nan ka ki ra). Pou evite bezwen pou chèche zòn sa yo lè l sèvi avèk algorithm malen, nou pral sèvi ak redondance - sa vle di, nou pral kopi enfòmasyon kache nou yo anpil, anpil fwa atravè tout sektè nan disk la. Lè sa a, dwa sou tèt tout bèl bagay sa a, ou ka kreye patisyon ki nesesè yo, fòma sistèm dosye, ekri fichye ak enstale OS - tout menm bagay la tou, yon pati nan done yo sekrè yo pral sove epi yo ka rekipere, epi repete repetisyon pral ede nou. mete tout orijinal la ansanm soti nan moso yo.

Avantaj nan metòd sa a se evidan: nou pa depann sou fòma nan dosye, oswa menm sou ki kalite sistèm dosye yo itilize.

Dezavantaj yo tou, mwen panse, evidan:

  • Done sekrè yo ka chanje sèlman pa konplètman reekri disk la tout antye, ki te swiv pa rkree kontni an vizib itilizatè a. Sepandan, ou pa ka itilize lojisyèl ki rkree yon disk ki soti nan yon imaj: li pral tou rkree done sekrè anvan yo.
  • Pi gwo volim nan done sekrè, se pi gwo chans pou pèdi kèk enfòmasyon.
  • Rekipere done ki soti nan disk ka pran yon bon bout tan. Soti nan plizyè minit a plizyè jou (disk modèn yo gwo).

Koulye a, kite a deplase sou spesifik.

Li klè ke si ou tou senpleman fwote done sekrè sou tout disk la, li pral sèlman kache nan je a toutouni. Si ou ekipe gade ou ak, di, yon editè ki gen kapasite, done yo ap parèt nan tout bèl pouvwa li yo. Se poutèt sa, li ta yon bon lide yo ankripte done yo pou ke li pa parèt. Nou pral ankripte tou senpleman, men ak bon gou: lè l sèvi avèk algorithm aes256-cbc. Nou pral mande itilizatè a kle chifreman epi kite l vini ak yon bon modpas.

Pwochen kesyon an se ki jan nou ka fè distenksyon ant "bon" done ak move done. Isit la yon chèk ap ede nou, men se pa yon senp, men SHA1. E kisa? Li bon ase pou git, kidonk li pral kostim nou tou. Deside: nou bay chak moso enfòmasyon ki estoke ak yon chèk, epi si apre dechifre li matche, sa vle di dechifre a te reyisi.

Ou pral bezwen tou nimewo fragman an ak longè total done sekrè yo. Nimewo a fragman se kenbe tras nan ki moso nou te deja dechifre ak ki moun ki rete. Longè total la pral itil nou lè w ap trete dènye fragman an, pou yo pa ekri done ki pa nesesè (ki se, padding). Oke, depi nou toujou gen yon header, nou pral ajoute non an nan dosye sekrè a la. Li pral itil apre dechifre, se konsa yo pa devine ki jan yo louvri li.

Tès metòd la nan pratik

Pou tcheke, ann pran mwayen ki pi komen an - yon kondwi flash. Mwen te jwenn yon ansyen ak 1 GB kapasite, ki se byen apwopriye pou eksperyans. Si ou, tankou m ', te vini ak lide a pa anmède ak medya fizik, men teste li sou yon dosye - yon imaj ki gen kapasite, Lè sa a, mwen pral di touswit: li pa pral travay. Lè fòma yon "disk," Linux kreye dosye a ankò, epi tout sektè ki pa itilize yo pral ranpli ak zewo.

Kòm yon machin ak Linux, malerezman, mwen te oblije sèvi ak yon estasyon metewolojik sou Raspberry Pi 3 kouche sou balkon la Pa gen anpil memwa la, kidonk nou pa pral kache gwo dosye. Nou limite tèt nou nan yon gwosè maksimòm 10 megabyte. Pa gen okenn pwen tou nan kache dosye ki twò piti: sèvis piblik la ekri done sou disk nan grap 4 KB. Se poutèt sa, anba a nou pral limite tèt nou nan yon dosye 3 kb - li adapte nan yon sèl gwoup sa yo.

Nou pral moke kondwi flash la an etap, tcheke apre chak etap si enfòmasyon ki kache yo lizib:

  1. Fòma rapid nan fòma FAT16 ak yon gwosè gwoup 16 KB. Sa a se sa Windows 7 ofri fè ak yon kondwi flash ki pa gen yon sistèm dosye.
  2. Konble kondwi flash la ak tout kalite fatra pa 50%.
  3. Konble kondwi flash la ak tout kalite fatra pa 100%.
  4. Fòma "Long" nan fòma FAT16 (ranplase tout bagay).

De premye tès yo, jan yo espere, te fini nan viktwa konplè: sèvis piblik la te kapab avèk siksè ekstrè 10 megabyte nan done sekrè nan kondwi a flash. Men, apre yo fin ranpli kondwi flash la ak dosye, yon echèk te fèt:

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

Kòm ou ka wè, sèlman 158 grap yo te dechifre avèk siksè (632 kilobyte done anvan tout koreksyon, ki bay 636424 bytes nan chaj). Li klè ke pa gen okenn fason yo jwenn 10 megabyte isit la, e ankò nan mitan grap sa yo gen klèman kopi. Ou pa ka menm refè 1 megabit konsa. Men, nou ka garanti ke nou pral refè 3 kilobyte nan done sekrè nan yon kondwi flash menm apre li se fòma ak ekri nan kapasite. Sepandan, eksperyans yo montre ke li se byen posib yo ekstrè yon fichye 120 kilobyte longè soti nan tankou yon kondwi flash.

Dènye tès la, malerezman, te montre ke tout kondwi flash la te ranplase:

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

Pa gen yon sèl gwoup ki te siviv... Tris, men pa trajik! Anvan fòma, se pou yo eseye kreye yon patisyon sou kondwi a flash, e deja nan li yon sistèm dosye. By wout la, li te soti nan faktori a ak egzakteman fòma sa a, kidonk nou pa ap fè anyen sispèk.
Li se byen espere ke espas ki disponib sou kondwi a flash te diminye yon ti kras.

Li se tou byen espere ke 10 megabytes pa t 'kapab kache sou yon disk konplètman plen. Men koulye a, kantite grap ki gen siksè dechifre plis pase double!

Total clusters read: 250752, decrypted: 405

Malerezman, li enposib rasanble yon megabyte soti nan moso, men de san kilobyte yo fasil.

Oke, nouvèl la sou dènye chèk la, 4yèm, fwa sa a se kè kontan: konplètman fòma tankou yon kondwi flash pa mennen nan destriksyon nan tout enfòmasyon! 120 kilobyte done sekrè anfòm parfe nan espas ki pa itilize yo.

Tablo rezime tès la:

Steganografi pa dosye: kache done dirèkteman nan sektè yo

Yon ti teorize: sou espas lib ak sektè ki pa itilize yo

Si ou te janm divize kondwi difisil ou an patisyon, ou ka remake ke li pa toujou posib yo asiyen tout espas ki la gratis sou disk la. Premye seksyon an toujou kòmanse ak kèk indentation (anjeneral 1 megabyte, oswa 2048 sektè). Dèyè dènye seksyon an, li rive tou ke rete yon ti "ke" nan sektè ki pa itilize yo. Epi pafwa gen twou vid ki genyen ant seksyon, byenke raman.

Nan lòt mo, gen sektè sou disk la ki pa ka jwenn aksè pandan travay nòmal ak disk la, men done yo ka ekri nan sektè sa yo! E sa vle di li tou. Ajiste pou lefèt ke gen tou yon tab patisyon ak kòd bootloader, ki sitiye nan zòn nan vid nan kòmansman an nan disk la.

Ann pran yon ti repo nan seksyon yo pou yon ti tan epi gade nan disk la nan yon je zwazo, se konsa pale. Isit la nou gen yon patisyon vid sou disk la. Ann kreye yon sistèm fichye ladan l. Èske nou ka di ke kèk sektè sou disk la rete san efase?

E-e-e - woule tanbou! Repons lan pral prèske toujou wi! Vreman vre, nan pifò ka yo, kreye yon sistèm dosye desann nan ekri sèlman kèk blòk nan enfòmasyon sèvis nan disk la, epi otreman sa ki nan patisyon an pa chanje.

Epi tou - piman anpirik - nou ka asime ke sistèm fichye a pa ka toujou okipe tout espas yo bay li jiska dènye sektè a. Pa egzanp, yon sistèm fichye FAT16 ak yon gwosè gwoup 64 kilobyte evidamman pa ka konplètman okipe yon patisyon ak yon gwosè pa yon miltip 64 kilobyte. Nan fen yon seksyon sa yo pral gen yon "ke" nan plizyè sektè, aksesib pou estoke done itilizatè. Sepandan, sipozisyon sa a pa t 'kapab konfime eksperimantal.

Se konsa, pou maksimize espas ki disponib pou steganogram la, ou bezwen sèvi ak yon sistèm fichye ki gen yon pi gwo gwosè gwoup. Ou kapab tou kreye yon patisyon, menm si sa a pa nesesè (sou yon kondwi flash, pou egzanp). Pa gen okenn nesesite pou kreye seksyon vid oswa kite zòn ki pa alocate - sa a pral atire atansyon sitwayen ki enterese yo.

Itilite pou eksperyans

Ou ka manyen kòd sous sèvis piblik la isit la

Pou konstwi, w ap bezwen Qt vèsyon 5.0 oswa pi wo ak OpenSSL. Si yon bagay pa mache, ou ka oblije modifye fichye steganodisk.pro.

Ou ka chanje gwosè gwoup la soti nan 4 KB a, di, 512 bytes (nan secretfile.h). An menm tan an, pri a nan enfòmasyon sèvis yo ap ogmante: header a ak checksum okipe yon fiks 68 bytes.

Ou bezwen kouri sèvis piblik la, nan kou, ak dwa itilizatè rasin, ak prekosyon. Pa pral gen okenn kesyon ki poze anvan ou ranplase dosye a oswa aparèy espesifye!

Jwi.

Sous: www.habr.com

Add nouvo kòmantè