Steganography e nā faila: hūnā pololei i ka ʻikepili i nā ʻāpana

He olelo mua pokole

ʻO Steganography, inā ʻaʻole hoʻomanaʻo kekahi, ke hūnā nei i ka ʻike i loko o kekahi mau pahu. No ka laʻana, ma nā kiʻi (i kūkākūkā ʻia maanei и maanei). Hiki iā ʻoe ke hūnā i ka ʻikepili i nā papa lawelawe o ka ʻōnaehana faila (ua kākau ʻia e pili ana maanei), a hiki i nā ʻeke lawelawe protocol TCP. ʻO ka mea pōʻino, hoʻokahi drawback kēia mau ʻano a pau: i mea e "hoʻokomo" i ka ʻike i loko o kahi pahu, pono ʻoe i nā algorithm maalea e noʻonoʻo i nā ʻano o ka hale o loko o ka ipu. A kū mai nā pilikia me ke kūʻē ʻana o ka pahu i ka manipulation: no ka laʻana, inā hoʻoponopono iki ʻoe i ke kiʻi, nalowale ka ʻike huna.

Hiki paha ke hana me ka ʻole o nā algorithms maalea a me nā manipulations maʻalahi me ka ʻikepili, a e hōʻoia mau i ka hana o ka ipu a me kahi pae palekana o ka ʻikepili huna? Ke nānā nei i mua, e ʻōlelo wau - ʻae, hiki iā ʻoe! E hāʻawi nō wau i kahi pono.

Nā kikoʻī koko o ke ʻano

He mea maʻalahi ka manaʻo kumu e like me ka puʻu ʻana i ka lae: aia nā wahi ma ka disk i kākau ʻole ʻia e ka ʻōnaehana hana (a i ʻole ke kākau ʻana i nā hihia liʻiliʻi). I mea e pale aku ai i ka pono e ʻimi i kēia mau wahi me ka hoʻohana ʻana i nā algorithm maalea, e hoʻohana mākou i ka redundancy - ʻo ia hoʻi, e hoʻopalike mākou i kā mākou ʻike huna i nā manawa he nui ma nā ʻāpana āpau o ka disk. A laila, ma luna pono o kēia nani a pau, hiki iā ʻoe ke hana i nā ʻāpana e pono ai, nā ʻōnaehana faila, kākau i nā faila a hoʻokomo i nā OSes - nā mea like a pau, e mālama ʻia kahi ʻāpana o ka ʻikepili huna a hiki ke kiʻi ʻia, a ʻo ka hana hou ʻana e kōkua iā mākou. e hui pū i ka mea mua mai nā ʻāpana.

ʻIke ʻia ka maikaʻi o kēia ʻano: ʻaʻole mākou e hilinaʻi i ke ʻano faila, a i ʻole ke ʻano o ka ʻōnaehana faila i hoʻohana ʻia.

ʻO nā hemahema hoʻi, manaʻo wau, maopopo.

  • Hiki ke hoʻololi wale ʻia ka ʻikepili huna ma ke kākau hou ʻana i ka diski holoʻokoʻa, a ma hope o ka hana hou ʻana i ka ʻike i ʻike ʻia e ka mea hoʻohana. Eia naʻe, ʻaʻole hiki iā ʻoe ke hoʻohana i ka polokalamu e hana hou i ka disk mai kahi kiʻi: e hana hou ia i ka ʻikepili huna mua.
  • ʻO ka nui o ka nui o ka ʻikepili huna, ʻoi aku ka nui o ka nalowale ʻana o kekahi ʻike.
  • Hiki ke lawe i ka ʻikepili mai ka diski i ka manawa lōʻihi. Mai kekahi mau minuke a hiki i kekahi mau lā (nui nā disks hou).

I kēia manawa e neʻe kākou i nā kikoʻī.

He mea maopopo, inā ʻoe e hamo wale i ka ʻikepili huna a puni ka disk, e hūnā ʻia ia mai ka maka ʻōlohelohe. Inā hoʻolako ʻoe i kou maka me ka mea hoʻoponopono disk, e ʻike ʻia ka ʻikepili i kona nani. No laila, he mea maikaʻi e hoʻopili i ka ʻikepili i ʻole e hōʻike ʻia. E hoʻopili maʻalahi mākou, akā maikaʻi: me ka hoʻohana ʻana i ka algorithm aes256-cbc. E noi mākou i ka mea hoʻohana i ke kī hoʻopunipuni a hāʻawi iā ia i kahi ʻōlelo huna maikaʻi.

ʻO ka nīnau aʻe pehea e hiki ai iā mākou ke hoʻokaʻawale i ka ʻikepili "maikaʻi" mai ka ʻikepili maikaʻi ʻole. Eia kahi checksum e kōkua iā mākou, akā ʻaʻole maʻalahi, akā SHA1. A pehea? Ua lawa ia no ka git, no laila e kūpono hoʻi iā mākou. Hoʻoholo: hāʻawi mākou i kēlā me kēia ʻāpana o ka ʻike i mālama ʻia me kahi checksum, a inā ma hope o ka hoʻokaʻawale ʻana ua kūlike ia, ʻo ia hoʻi ua kūleʻa ka decryption.

Pono ʻoe i ka helu ʻāpana a me ka lōʻihi o ka ʻikepili huna. ʻO ka helu ʻāpana ʻo ia ka mālama ʻana i nā ʻāpana a mākou i wehewehe mua ai a waiho ʻia. ʻO ka lōʻihi o ka lōʻihi e pono iā mākou i ka wā e hoʻoponopono ai i ka ʻāpana hope, i ʻole e kākau i ka ʻikepili pono ʻole (ʻo ia hoʻi, padding). ʻAe, ʻoiai he poʻomanaʻo kā mākou, e hoʻohui mākou i ka inoa o ka faila huna ma laila. He mea pono ia ma hope o ka decryption, i ʻole e koho pehea e wehe ai.

Ke ho'āʻo nei i ke ʻano ma ka hana

No ka nānā ʻana, e lawe kāua i ka mea maʻamau maʻamau - kahi flash drive. Ua loaʻa iaʻu kahi mea kahiko me ka mana 1 GB, kūpono loa ia no nā hoʻokolohua. Inā ʻoe, e like me aʻu, i hele mai me ka manaʻo ʻaʻole e hoʻopilikia i ka media kino, akā e hoʻāʻo iā ia ma kahi faila - kahi kiʻi disk, a laila e ʻōlelo koke wau: ʻaʻole ia e hana. Ke hoʻohālikelike nei i kēlā "disk," hana hou ʻo Linux i ka faila, a e hoʻopiha ʻia nā ʻāpana āpau ʻole i nā zeros.

Ma ke ʻano he mīkini me Linux, ʻaʻole naʻe, pono wau e hoʻohana i kahi kikowaena weather ma ka Raspberry Pi 3 e waiho ana ma ka balcony. ʻAʻole nui ka hoʻomanaʻo ma laila, no laila ʻaʻole mākou e hūnā i nā faila nui. Hoʻopaʻa mākou iā mākou iho i ka nui loa o 10 megabytes. ʻAʻohe kumu o ka hūnā ʻana i nā faila liʻiliʻi loa: kākau ka mea hoʻohana i ka ʻikepili i ka disk ma nā pūʻulu 4 KB. No laila, ma lalo mākou e kaupalena iā mākou iho i kahi faila 3 kb - kūpono ia i hoʻokahi puʻupuʻu.

E hoʻomāʻewaʻewa mākou i ka flash drive i nā pae, e nānā ana ma hope o kēlā me kēia pae inā hiki ke heluhelu ʻia ka ʻike huna:

  1. Hoʻopili wikiwiki i ka format FAT16 me ka nui puʻupuʻu o 16 KB. ʻO kēia ka mea a Windows 7 e hāʻawi ai e hana me kahi flash drive ʻaʻohe ʻōnaehana faila.
  2. ʻO ka hoʻopiha ʻana i ka ʻōpala uila me nā ʻōpala āpau e 50%.
  3. ʻO ka hoʻopiha ʻana i ka ʻōpala uila me nā ʻōpala āpau e 100%.
  4. "Long" formating ma FAT16 format (overwriting mea a pau).

ʻO nā hoʻokolohua mua ʻelua, e like me ka mea i manaʻo ʻia, ua pau i ka lanakila piha: ua hiki i ka mea hoʻohana ke hoʻopuka maikaʻi i 10 megabytes o ka ʻikepili huna mai ka flash drive. Akā ma hope o ka hoʻopiha ʻia ʻana o ka flash drive me nā faila, ua hiki ʻole mai kahi hemahema:

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

E like me kāu e ʻike ai, ʻo 158 mau pūʻulu wale nō i hoʻopau maikaʻi ʻia (632 kilobytes o ka ʻikepili maka, e hāʻawi ana i 636424 bytes o ka uku uku). ʻIke ʻia ʻaʻohe ala e loaʻa ai ka 10 megabytes ma ʻaneʻi, akā naʻe ma waena o kēia mau puʻupuʻu ua maopopo nā kope. ʻAʻole hiki iā ʻoe ke hoʻihoʻi hou i ka 1 megabyte ma kēia ala. Akā hiki iā mākou ke hōʻoiaʻiʻo e hoʻihoʻi mākou i 3 kilobytes o ka ʻikepili huna mai kahi flash drive ʻoiai ma hope o ke ʻano a kākau ʻia i ka hiki. Eia naʻe, hōʻike ʻia nā hoʻokolohua he hiki ke unuhi i kahi faila 120 kilobytes ka lōʻihi mai kahi flash drive.

ʻO ka hōʻike hope loa, ʻaʻole naʻe, ua hōʻike ʻia ua hoʻopau ʻia ka flash drive holoʻokoʻa:

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

ʻAʻole hoʻokahi puʻupuʻu i ola ... Kaumaha, akā ʻaʻole pōʻino! Ma mua o ka hoʻopili ʻana, e hoʻāʻo mākou e hana i kahi pā ma ka flash drive, a aia i loko o kahi ʻōnaehana faila. Ma ke ala, hele mai ia mai ka hale hana me kēia ʻano hoʻohālikelike, no laila ʻaʻole mākou e hana i kekahi mea kānalua.
Manaʻo ʻia ua emi iki ka wahi i loaʻa ma ka flash drive.

Manaʻo ʻia ʻaʻole hiki ke hūnā ʻia nā megabytes 10 ma kahi disk piha piha. Akā i kēia manawa ua ʻoi aku ka nui o nā pūʻulu decrypted kūleʻa ma mua o ka pālua!

Total clusters read: 250752, decrypted: 405

ʻO ka mea pōʻino, ʻaʻole hiki ke hōʻuluʻulu i kahi megabyte mai nā ʻāpana, akā maʻalahi ʻelua haneli kilobytes.

ʻAe, ʻo ka nūhou e pili ana i ka helu hope loa, 4th check, ʻoliʻoli kēia manawa: ʻaʻole i alakaʻi i ka luku ʻana i nā ʻike āpau i ka hoʻopili piha ʻana i kēlā flash drive! ʻO 120 kilobytes o ka ʻikepili huna i kūpono loa i ka lewa i hoʻohana ʻole ʻia.

Papa hōʻuluʻulu hoʻāʻo:

Steganography e nā faila: hūnā pololei i ka ʻikepili i nā ʻāpana

ʻO kahi manaʻo liʻiliʻi: e pili ana i kahi ākea a me nā ʻāpana i hoʻohana ʻole ʻia

Inā ʻoe i hoʻokaʻawale i kāu kīkī paʻa i nā ʻāpana, ua ʻike paha ʻoe ʻaʻole hiki ke hoʻokaʻawale i nā wahi āpau āpau ma ka disk. Hoʻomaka mau ka ʻāpana mua me kekahi indentation (maʻamau 1 megabyte, a i ʻole 2048 mau ʻāpana). Ma hope o ka pauku hope, aia kekahi "huelo" liʻiliʻi o nā ʻāpana i hoʻohana ʻole ʻia. A i kekahi manawa aia nā āpau ma waena o nā ʻāpana, ʻoiai kakaʻikahi.

I nā huaʻōlelo ʻē aʻe, aia nā māhele ma ka disk i hiki ʻole ke komo i ka wā hana maʻamau me ka disk, akā hiki ke kākau ʻia nā ʻikepili i kēia mau ʻāpana! A ʻo ia hoʻi ka heluhelu ʻana. Hoʻoponopono ʻia no ka ʻoiaʻiʻo aia kekahi papa ʻaina a me ka code bootloader, aia ma ka wahi ʻole i ka hoʻomaka ʻana o ka disk.

E hoʻomaha kākou i nā ʻāpana no kekahi manawa a nānā i ka diski mai ka maka o ka manu, pēlā e ʻōlelo ai. Eia mākou i kahi ʻāpana hakahaka ma ka disk. E hana kākou i ʻōnaehana faila i loko. Hiki iā mākou ke ʻōlelo ʻaʻole i holoi ʻia kekahi mau ʻāpana ma ka disk?

E-e-e - pahu pahu! ʻO ka pane ʻaneʻane he ʻae! ʻOiaʻiʻo, i ka hapa nui o ka hana ʻana i kahi ʻōnaehana faila e kākau wale i nā poloka o ka ʻike lawelawe i ka disk, a i ʻole e loli nā mea o ka pā.

A ʻo - maʻemaʻe maoli - hiki iā mākou ke manaʻo ʻaʻole hiki i ka ʻōnaehana faila ke noho mau i nā wahi āpau i hāʻawi ʻia iā ia a hiki i ka ʻāpana hope. No ka laʻana, ʻaʻole hiki i kahi ʻōnaehana faila FAT16 me ka nui o ka puʻupuʻu o 64 kilobytes ke hoʻopaʻa piha i kahi pā me ka nui ʻaʻole ka nui o 64 kilobytes. Ma ka hopena o ia ʻāpana, pono e loaʻa kahi "huelo" o kekahi mau ʻāpana, hiki ʻole ke loaʻa no ka mālama ʻana i ka ʻikepili mea hoʻohana. Eia naʻe, ʻaʻole hiki ke hōʻoia ʻia kēia manaʻo ma ka hoʻokolohua.

No laila, no ka hoʻonui ʻana i ka wahi i loaʻa no ka steganogram, pono ʻoe e hoʻohana i kahi ʻōnaehana faila me ka nui o ka cluster nui. Hiki iā ʻoe ke hana i kahi ʻāpana, ʻoiai inā ʻaʻole pono kēia (ma ka flash drive, no ka laʻana). ʻAʻohe pono e hana i nā ʻāpana ʻole a waiho i nā wahi i hoʻokaʻawale ʻole ʻia - e huki kēia i ka manaʻo o nā kamaʻāina hoihoi.

Pono no nā hoʻokolohua

Hiki iā ʻoe ke pā i ke kumu kumu o ka pono maanei

No ke kūkulu ʻana, pono ʻoe i ka mana Qt 5.0 a i ʻole ke kiʻekiʻe a me OpenSSL. Inā hana ʻole kekahi mea, pono paha ʻoe e hoʻoponopono i ka faile steganodisk.pro.

Hiki iā ʻoe ke hoʻololi i ka nui puʻupuʻu mai ka 4 KB a i ka 512 bytes (ma secretfile.h). I ka manawa like, e hoʻonui ʻia ke kumukūʻai o ka ʻike lawelawe: noho ke poʻo a me ka checksum i kahi paʻa 68 bytes.

Pono ʻoe e holo i ka pono, ʻoiaʻiʻo, me nā kuleana mea hoʻohana aʻa, a me ka akahele. ʻAʻohe nīnau e nīnau ʻia ma mua o ke kākau ʻana i ka faila a i ʻole ka mea i ʻōlelo ʻia!

Nanea.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka