Hei Habr.
Hoffwn gyflwyno prosiect bach i chi ar
Gwneuthum brosiect ar storio gwybodaeth yn gudd yn y system ffeiliau (ymhellach FS).
Gellir defnyddio hwn i ddwyn gwybodaeth gyfrinachol at ddibenion addysgol.
Dewiswyd Linux FS hen iawn fel prototeip
Gweithredu
Ystyriaethau Gweithredu
Os yw'n dda “ddatod” y safon ext2, yna gallwch chi ddisodli'r hyn a elwir yn yr FS.
Os ydych chi'n storio gwybodaeth gudd heb ei amgryptio, yna, hyd yn oed er gwaethaf ei aneglurder yn yr FS, bydd yn dal yn rhy amlwg, yn enwedig os yw'r rhaglennydd yn gwybod beth i'w chwilio. Felly, penderfynwyd amgryptio pob bloc o'r ffeil ffynhonnell. Dewisais seiffr bloc
Er mwyn gwahanu'r blociau angenrheidiol oddi wrth y lleill i gyd wrth ddarllen, penderfynwyd ychwanegu marciwr arbennig i bob bloc ar ddechrau'r bloc. Cafodd y tocyn hwn ei amgryptio yn dibynnu ar rif y bloc yn y ffeil ffynhonnell. Roedd y tric hwn yn ei gwneud hi'n bosibl ar unwaith nid yn unig dod o hyd i'r blociau angenrheidiol, ond hefyd i gydnabod eu trefn gywir.
Egwyddor gweithredu cyffredinol y system.
Algorithm recordio
Ar bwyntiau:
- Yn gyntaf, ysgrifennwch rywfaint o wybodaeth i'r system ffeiliau ffynhonnell;
- Dileu'r wybodaeth hon (nid o reidrwydd y cyfan);
- Rhennir y ffeil sydd i'w chuddio yn flociau o hyd cyfartal, gan ychwanegu marciwr;
- Amgryptio'r blociau hyn;
- Rhowch flociau wedi'u hamgryptio mewn blociau FS gwag.
Ar gyfer y rhai sy'n hoff o ddiagramau bloc
Isod mae diagram bloc o'r algorithm recordio. Mae'r algorithm yn derbyn pedair ffeil fel mewnbwn:
-Delwedd o system ffeil y gellir ei haddasu;
-Ffeil yn amodol ar steganograffeg;
-Ffeil gydag allwedd amgryptio ar gyfer AES;
-Ffeil gyda marciwr.
Mae'n werth nodi ar unwaith bod gan yr algorithm hwn un anfantais: ar ôl ysgrifennu'r ffeil i'r FS, Ni ddylai ysgrifennwch unrhyw beth newydd i'r FS, gan y gall unrhyw wybodaeth newydd ddod i ben yn y blociau yr ydym wedi'u dyrannu i'n ffeil sip, er bod hyn hefyd yn agor y posibilrwydd o “orchuddio ein traciau yn gyflym.”
Ond mae'n eithaf amlwg sut y gellir ei drwsio: mae angen ailysgrifennu'r algorithm ar gyfer ysgrifennu blociau yn yr FS. Mae hon yn dasg ddealladwy, ond sy'n cymryd llawer o amser.
Er Prawf o Gonsept ni weithredais hyn.
O ganlyniad, bydd y newidiadau canlynol yn cael eu gwneud i'r FS; dyma sut olwg sydd ar yr FS cyn steganograffeg (fe recordiwyd ffeil sain yn flaenorol).
A dyma sut olwg sydd ar yr FS gyda'r wybodaeth sydd eisoes wedi'i sipio.
Darllen algorithm
Ar bwyntiau:
- Gyda gwybodaeth am yr allwedd a'r dull o adeiladu marcwyr, cyfansoddwch y marcwyr N cyntaf, gyda'r warant bod N wedi'i luosi â hyd bloc y system ffeiliau yn fwy na hyd y ffeil steganograffedig;
- Chwilio am flociau yn yr FS gan ddechrau gyda marcwyr;
- Decipher y blociau a dderbyniwyd a gwahanu'r marcwyr;
- Casglwch y blociau canlyniadol yn y drefn gywir a chael y ffeil ffynhonnell.
Ar gyfer y rhai sy'n hoff o ddiagramau bloc
Isod mae diagram bloc o'r algorithm recordio. Mae'r algorithm yn derbyn tair ffeil fel mewnbwn:
-Delwedd system ffeil;
-Ffeil gydag allwedd amgryptio ar gyfer AES;
-Ffeil gyda marciwr.
Ar ôl i'r rhaglen redeg, mae'r ffeil Read yn ymddangos, sef y ffeil a dynnwyd o'r system ffeiliau steganograff; os yw'r allwedd neu'r marciwr wedi'i nodi'n anghywir, yna bydd y ffeil Read yn wag.
(i'r rhai sy'n hoff o harddwch, gallwch chi fewnosod nid yn unig y ffeil, ond "pennawd" sy'n cynnwys meta-wybodaeth: enw ffeil, hawliau, yr amser a addaswyd ddiwethaf, ac ati)
Awtomatiaeth cychwyn
Er hwylustod, ysgrifennwyd sgriptiau bash i awtomeiddio'r lansiad ar Linux (wedi'i brofi ar Ubuntu 16.04.3 LTS).
Gadewch i ni edrych ar y lansiad gam wrth gam.
Cofnod:
- sudo Copy_Flash.sh “DYFAIS” - cael y ddelwedd FS o DYFAIS (fflach);
- ./Write.sh “FFEIL” “ALLWEDDOL” “MARCWR” - creu amgylchedd rhithwir, lawrlwytho'r llyfrgelloedd angenrheidiol a rhedeg y sgript ysgrifennu;
- sudo ./Write_Flash.sh “DYFAIS” – ysgrifennwch yr FS wedi'i newid eto i DDYFAIS.
Darllen:
- sudo Copy_Flash.sh “DYFAIS” - cael y ddelwedd FS o DYFAIS (fflach);
- ./Read.sh “MARFER ALLWEDDOL” - creu amgylchedd rhithwir, lawrlwytho'r llyfrgelloedd angenrheidiol a rhedeg y sgip ar gyfer darllen;
- Yn y cyfeiriadur cyfredol, agorwch y ffeil Darllen - dyma'r wybodaeth wedi'i sipio.
Casgliad
Mae'n debyg bod angen gwella'r dull steganograffeg hwn, profion ychwanegol ac estyniad i systemau ffeiliau mwy poblogaidd, megis
Ond pwrpas y gwaith hwn oedd dangos yr egwyddor y gellir ei defnyddio i storio gwybodaeth yn gudd yn y system ffeiliau.
Gyda chymorth algorithmau o'r fath, gallwch chi storio gwybodaeth yn ddi-ofn, ac os, os ydych chi'n gwybod yr allwedd, mae'n bosibl hacio system o'r fath nid trwy rym 'n Ysgrublaidd (ond gan algorithm hir iawn), yna heb wybod yr allwedd, hyn system yn ymddangos i mi i fod yn gwbl sefydlog, fodd bynnag, gall hyn fod yn rheswm dros erthygl ar wahân.
Gweithredir yr holl god yn fersiwn Python 3.5.2.
(Ie, ydw, dwi'n gwybod bod angen ysgrifennu rhywbeth “cyflym” ar gyfer y fersiwn cynhyrchu, er enghraifft C 😉)
Yn y gweithrediad hwn, ni ddylai maint y ffeil mewnbwn ar gyfer steganograffeg fod yn fwy na 1000 kB.
Rwyf am fynegi fy niolch i'r defnyddiwr
Ffynhonnell: hab.com