Äau, Habr.
Es vÄlÄtos jÅ«s iepazÄ«stinÄt ar nelielu projektu
Es izveidoju projektu par slÄptu informÄcijas glabÄÅ”anu failu sistÄmÄ (turpmÄk FS).
To var izmantot, lai nozagtu konfidenciÄlu informÄciju izglÄ«tÄ«bas nolÅ«kos.
KÄ prototips tika izvÄlÄts ļoti vecs Linux FS
IevieŔana
IevieÅ”anas apsvÄrumi
Ja ir labi āatŔķetinÄtā ext2 standartu, tad var aizstÄt to, ka FS ir t.s.
Ja slÄptu informÄciju glabÄjat bez Å”ifrÄÅ”anas, tad, neskatoties uz tÄs neskaidrÄ«bu FS, tÄ joprojÄm bÅ«s pÄrÄk pamanÄma, it Ä«paÅ”i, ja programmÄtÄjs zina, ko meklÄt. TÄpÄc tika nolemts Å”ifrÄt visus avota faila blokus. Es izvÄlÄjos bloka Å”ifru
Lai lasot nepiecieÅ”amos blokus atdalÄ«tu no visiem pÄrÄjiem, tika nolemts katram blokam bloka sÄkumÄ pievienot speciÄlu marÄ·ieri. Å is marÄ·ieris tika Å”ifrÄts atkarÄ«bÄ no bloka numura avota failÄ. Å is triks uzreiz ļÄva ne tikai atrast nepiecieÅ”amos blokus, bet arÄ« atpazÄ«t to pareizo secÄ«bu.
SistÄmas vispÄrÄjais darbÄ«bas princips.
IerakstīŔanas algoritms
Punkti:
- Vispirms ierakstiet kÄdu informÄciju avota failu sistÄmÄ;
- DzÄst Å”o informÄciju (ne vienmÄr visu);
- SlÄpjamais fails tiek sadalÄ«ts vienÄda garuma blokos, pievienojot marÄ·ieri;
- Å ifrÄt Å”os blokus;
- Ievietojiet Å”ifrÄtos blokus tukÅ”os FS blokos.
BlokshÄmu cienÄ«tÄjiem
ZemÄk ir ierakstÄ«Å”anas algoritma blokshÄma. Algoritms kÄ ievadi saÅem Äetrus failus:
-ModÄjamas failu sistÄmas attÄls;
-SteganogrÄfijai pakļauts fails;
-Fails ar AES Å”ifrÄÅ”anas atslÄgu;
- Fails ar marÄ·ieri.
TÅ«lÄ«t ir vÄrts atzÄ«mÄt, ka Å”im algoritmam ir viens trÅ«kums: pÄc faila ierakstÄ«Å”anas FS, nevar ierakstiet FS jebko jaunu, jo jebkura jauna informÄcija var nonÄkt blokos, ko esam pieŔķīruÅ”i mÅ«su zip failam, lai gan tas arÄ« paver iespÄju āÄtri aptvert mÅ«su pÄdasā.
Bet ir diezgan skaidrs, kÄ to var labot: ir jÄpÄrraksta bloku rakstÄ«Å”anas algoritms FS. Tas ir saprotams, bet neticami laikietilpÄ«gs uzdevums.
Proof Of Consept es to neieviesu.
RezultÄtÄ FS tiks veiktas Å”Ädas izmaiÅas; Å”Ädi FS izskatÄs pirms steganogrÄfijas (iepriekÅ” tika ierakstÄ«ts audio fails).
Un Å”Ädi izskatÄs FS ar jau saspiesto informÄciju.
LasīŔanas algoritms
Punkti:
- Zinot atslÄgu un marÄ·ieru konstruÄÅ”anas metodi, izveidojiet pirmos N marÄ·ierus ar garantiju, ka N, reizinÄts ar failu sistÄmas bloka garumu, ir lielÄks par zip faila garumu;
- MeklÄt blokus FS, sÄkot ar marÄ·ieriem;
- AtÅ”ifrÄjiet saÅemtos blokus un atdaliet marÄ·ierus;
- SavÄciet iegÅ«tos blokus pareizÄ secÄ«bÄ un iegÅ«stiet avota failu.
BlokshÄmu cienÄ«tÄjiem
ZemÄk ir ierakstÄ«Å”anas algoritma blokshÄma. Algoritms kÄ ievadi saÅem trÄ«s failus:
-Failu sistÄmas attÄls;
-Fails ar AES Å”ifrÄÅ”anas atslÄgu;
- Fails ar marÄ·ieri.
PÄc programmas palaiÅ”anas parÄdÄs lasÄ«Å”anas fails, kas bÅ«s fails, kas iegÅ«ts no steganogrÄfÄtÄs failu sistÄmas; ja atslÄga vai marÄ·ieris ir norÄdÄ«ts nepareizi, lasÄ«Å”anas fails bÅ«s tukÅ”s.
(skaistuma cienÄ«tÄjiem varat ievietot ne tikai failu, bet arÄ« āgalveniā, kurÄ ir metainformÄcija: faila nosaukums, tiesÄ«bas, pÄdÄjÄs modifikÄcijas laiks utt.)
StartÄÅ”anas automatizÄcija
ÄrtÄ«bas labad tika rakstÄ«ti bash skripti, lai automatizÄtu palaiÅ”anu operÄtÄjsistÄmÄ Linux (testÄts Ubuntu 16.04.3 LTS).
Apskatīsim palaiŔanu soli pa solim.
Ieraksts:
- sudo Copy_Flash.sh āDEVICEā - iegÅ«stiet FS attÄlu no DEVICE (flash);
- ./Write.sh āFILEā āKEYā āMARKERā ā izveido virtuÄlo vidi, lejupielÄdÄ vajadzÄ«gÄs bibliotÄkas un palaid rakstÄ«Å”anas skriptu;
- sudo ./Write_Flash.sh āDEVICEā ā ierakstiet mainÄ«to FS vÄlreiz uz DEVICE.
LasīŔana:
- sudo Copy_Flash.sh āDEVICEā - iegÅ«stiet FS attÄlu no DEVICE (flash);
- ./Read.sh āKEYā 'MARKERā - izveidojiet virtuÄlo vidi, lejupielÄdÄjiet nepiecieÅ”amÄs bibliotÄkas un palaidiet izlaiÅ”anu lasÄ«Å”anai;
- PaÅ”reizÄjÄ direktorijÄ atveriet LasÄ«t failu - Ŕī ir zip informÄcija.
SecinÄjums
Å ai steganogrÄfijas metodei, iespÄjams, ir nepiecieÅ”ami uzlabojumi, papildu pÄrbaude un paplaÅ”inÄÅ”ana uz populÄrÄkÄm failu sistÄmÄm, piemÄram,
Bet Ŕī darba mÄrÄ·is bija parÄdÄ«t principu, pÄc kura ir iespÄjams veikt slÄptu informÄcijas uzglabÄÅ”anu failu sistÄmÄ.
Ar Å”Ädu algoritmu palÄ«dzÄ«bu var bezbailÄ«gi uzglabÄt informÄciju, un, ja, zinot atslÄgu, ir iespÄjams uzlauzt Å”Ädu sistÄmu nevis ar brutÄlu spÄku (bet ar ļoti garu algoritmu), tad, nezinot atslÄgu, Ŕī sistÄma man Ŕķiet absolÅ«ti stabila, tomÄr tas var bÅ«t par iemeslu atseviŔķam rakstam.
Viss kods ir ieviests Python versijÄ 3.5.2.
(JÄ, jÄ, es zinu, ka ražoÅ”anas versijai ir jÄraksta kaut kas "Ätri", piemÄram, C š)
Å ajÄ ievieÅ”anÄ steganogrÄfijas ievades faila lielums nedrÄ«kst pÄrsniegt 1000 kB.
Es vÄlos izteikt pateicÄ«bu lietotÄjam
Avots: www.habr.com