Ħej Habr.
Nixtieq nippreżentalkom proġett żgħir fuq
Għamilt proġett dwar il-ħażna moħbija ta 'informazzjoni fis-sistema tal-fajls (aktar FS).
Dan jista 'jintuża biex tisraq informazzjoni kunfidenzjali għal skopijiet edukattivi.
Ġie magħżul Linux FS antik ħafna bħala prototip
Реализация
Konsiderazzjonijiet ta' Implimentazzjoni
Jekk huwa tajjeb li "tiżvela" l-istandard ext2, allura tista 'tissostitwixxi li fl-FS hemm l-hekk imsejjaħ
Jekk taħżen informazzjoni moħbija mingħajr encryption, allura, anke minkejja ċ-ċajpra tagħha fl-FS, xorta tkun tidher wisq, speċjalment jekk il-programmatur ikun jaf x'għandu jfittex. Għalhekk, ġie deċiż li jikkripta l-blokki kollha tal-fajl tas-sors. Għażilt block cipher
Biex tissepara l-blokki meħtieġa mill-oħrajn kollha waqt il-qari, ġie deċiż li jiżdied markatur speċjali għal kull blokka fil-bidu tal-blokk. Dan it-token kien encrypted skont in-numru tal-blokk fil-fajl tas-sors. Dan il-trick immedjatament għamilha possibbli mhux biss li jinstabu l-blokki meħtieġa, iżda wkoll li jirrikonoxxu l-ordni korretta tagħhom.
Prinċipju operattiv ġenerali tas-sistema.
Algoritmu ta' reġistrazzjoni
Il-punti:
- L-ewwel ikteb xi informazzjoni lis-sistema tal-fajl tas-sors;
- Ħassar din l-informazzjoni (mhux neċessarjament kollha);
- Il-fajl li għandu jiġi moħbi huwa maqsum fi blokki ta 'tul ugwali, u żżid markatur;
- Kriptaġġ dawn il-blokki;
- Poġġi blokki encrypted fi blokki FS vojta.
Għal min iħobb dijagramma blokk
Hawn taħt hemm dijagramma blokk tal-algoritmu tar-reġistrazzjoni. L-algoritmu jirċievi erba' fajls bħala input:
-Immaġini ta 'sistema ta' fajls modifikabbli;
-File soġġett għal steganografija;
-Fajl b'ċavetta ta 'encryption għal AES;
-Fajl b'markatur.
Ta 'min jinnota minnufih li dan l-algoritmu għandu żvantaġġ wieħed: wara li tikteb il-fajl lill-FS, m'għandhomx ikteb xi ħaġa ġdida fl-FS, peress li kwalunkwe informazzjoni ġdida tista' tispiċċa fil-blokki li allokajna lill-fajl zipped tagħna, għalkemm dan jiftaħ ukoll il-possibbiltà li "malajr inkopru l-binarji tagħna."
Iżda huwa pjuttost ovvju kif dan jista 'jiġi ffissat: huwa meħtieġ li jerġa' jikteb l-algoritmu għall-kitba ta 'blokki fl-FS. Dan huwa kompitu li jinftiehem, iżda li jieħu ħafna ħin.
Għal Proof Of Consept ma implimentajtx dan.
Bħala riżultat, il-bidliet li ġejjin se jsiru lill-FS; dan huwa kif jidher l-FS qabel l-isteganografija (fajl awdjo kien irreġistrat qabel).
U dan huwa kif jidher l-FS bl-informazzjoni diġà zipped up.
Algoritmu tal-qari
Il-punti:
- B'għarfien taċ-ċavetta u l-metodu tal-kostruzzjoni tal-markers, ikkomponi l-ewwel N markaturi, bil-garanzija li N immultiplikat bit-tul tal-blokka tas-sistema tal-fajls huwa akbar mit-tul tal-fajl zipped;
- Fittex għal blokki fl-FS li jibdew bil-markaturi;
- Iddeċifra l-blokki riċevuti u ssepara l-markaturi;
- Iġbor il-blokki li jirriżultaw fl-ordni korretta u ġib il-fajl tas-sors.
Għal min iħobb dijagramma blokk
Hawn taħt hemm dijagramma blokk tal-algoritmu tar-reġistrazzjoni. L-algoritmu jirċievi tliet fajls bħala input:
-Immaġini tas-sistema tal-fajls;
-Fajl b'ċavetta ta 'encryption għal AES;
-Fajl b'markatur.
Wara li jibda l-programm, jidher il-fajl Aqra, li se jkun il-fajl estratt mis-sistema tal-fajl steganographed; jekk iċ-ċavetta jew il-markatur kienu speċifikati b'mod żbaljat, allura l-fajl Aqra jkun vojt.
(Għal min iħobb is-sbuħija, tista' daħħal mhux biss il-fajl, iżda "header" li jkun fih meta-informazzjoni: isem tal-fajl, drittijiet, l-aħħar ħin modifikat, eċċ.)
Awtomazzjoni tal-istartjar
Għall-konvenjenza, skripts bash inkitbu biex awtomat it-tnedija fuq Linux (ittestjat fuq Ubuntu 16.04.3 LTS).
Ejja nħarsu lejn it-tnedija pass pass.
Rekord:
- sudo Copy_Flash.sh "DEVICE" - tikseb l-immaġni FS minn DEVICE (flash);
- ./Write.sh “FILE” “KEY” “MARKER” – oħloq ambjent virtwali, niżżel il-libreriji meħtieġa u ħaddem l-iskrittura tal-kitba;
- sudo ./Write_Flash.sh “DEVICE” – ikteb l-FS mibdula mill-ġdid fuq DEVICE.
Qari:
- sudo Copy_Flash.sh "DEVICE" - tikseb l-immaġni FS minn DEVICE (flash);
- ./Read.sh “KEY” 'MARKER” - oħloq ambjent virtwali, niżżel il-libreriji meħtieġa u mexxi l-iskipt għall-qari;
- Fid-direttorju attwali, iftaħ il-fajl Aqra - din hija l-informazzjoni zipped.
Konklużjoni
Dan il-metodu ta 'steganografija probabbilment jeħtieġ titjib, ittestjar addizzjonali u estensjoni għal sistemi ta' fajls aktar popolari, bħal
Iżda l-għan ta 'dan ix-xogħol kien li juri l-prinċipju li bih huwa possibbli li titwettaq ħażna moħbija ta' informazzjoni fis-sistema tal-fajls.
Bl-għajnuna ta 'algoritmi bħal dawn, tista' bla biża' taħżen l-informazzjoni, u jekk, jekk taf iċ-ċavetta, huwa possibbli li tħassar sistema bħal din mhux b'forza bruta (iżda b'algoritmu twil ħafna), allura mingħajr ma tkun taf iċ-ċavetta, dan jidhirli li hija assolutament stabbli, madankollu, dan jista' jservi bħala raġuni għal artikolu separat.
Il-kodiċi kollu huwa implimentat fil-verżjoni Python 3.5.2.
(Iva, iva, naf li għall-verżjoni tal-produzzjoni trid tikteb xi ħaġa "mgħaġġla", pereżempju C 😉)
F'din l-implimentazzjoni, id-daqs tal-fajl tal-input għall-steganografija m'għandux jaqbeż l-1000 kB.
Irrid nesprimi l-gratitudni tiegħi lill-utent
Sors: www.habr.com