ဖိုင်စနစ် ပုံသဏ္ဍာန်

ဟေး ဟာဘ

ပရောဂျက်လေးတစ်ခု တင်ပြချင်ပါတယ်။ ပုံသေပညာအားလပ်ချိန်တွေမှာ လေ့လာပြီး လုပ်ခဲ့တာ။

ဖိုင်စနစ်ရှိ အချက်အလက်များကို လျှို့ဝှက်သိမ်းဆည်းခြင်းဆိုင်ရာ ပရောဂျက်တစ်ခု ပြုလုပ်ခဲ့သည် (နောက်ထပ် FS).
၎င်းကို ပညာရေးဆိုင်ရာ ရည်ရွယ်ချက်များအတွက် လျှို့ဝှက်အချက်အလက်များခိုးယူရန် အသုံးပြုနိုင်သည်။

ဖိုင်စနစ် ပုံသဏ္ဍာန်

အလွန်ဟောင်းသော Linux FS ကို နမူနာပုံစံအဖြစ် ရွေးချယ်ခဲ့သည်။ ext2.

အကောင်အထည်ဖော်မှု

အကောင်အထည်ဖော်ရေး ထည့်သွင်းစဉ်းစားမှုများ

ext2 စံနှုန်းကို “ဖော်ထုတ်” ရန်ကောင်းပါက၊ FS တွင် ၎င်းကို အစားထိုးနိုင်သည်။ စူပါဘလောက်များစနစ်နှင့်ပတ်သက်သော အခြေခံအချက်အလက်များကို ပေးဆောင်သည်။ တွေ့ပြီးနောက် Bitmap ကိုပိတ်ပါ။ и Inode ဇယား. ချက်ခြင်းနီးပါး၊ လက်ရှိ FS လုပ်ကွက်အလွတ်များတွင် အချက်အလက်များကို မှတ်တမ်းတင်ရန် စိတ်ကူး ပေါ်ပေါက်လာသည်။ ယခုအခါ ပရိုဂရမ်မာ လက်နက်ကိုင်တစ်ဦးထံမှ အကာအကွယ်ပေးရန် စဉ်းစားသင့်သည်။ hex တည်းဖြတ်သူ.

အကယ်၍ သင်သည် ဝှက်ထားသော အချက်အလက်များကို ကုဒ်ဝှက်ခြင်းမရှိဘဲ သိမ်းဆည်းထားပါက၊ ထို့ကြောင့် FS တွင် မှုန်ဝါးနေသော်လည်း၊ အထူးသဖြင့် ပရိုဂရမ်မာသည် ရှာဖွေရမည့်အရာကို သိပါက၊ ၎င်းသည် အလွန်ထင်ရှားနေလိမ့်မည်။ ထို့ကြောင့်၊ အရင်းအမြစ်ဖိုင်၏ ဘလောက်များအားလုံးကို စာဝှက်ရန် ဆုံးဖြတ်ခဲ့သည်။ ကျွန်တော် block cipher ကို ရွေးလိုက်တယ်။ AESဒါပေမယ့် မင်းနားလည်တဲ့အတိုင်း ဒါက အရေးမကြီးဘူး။

ဖတ်သောအခါတွင် လိုအပ်သော ဘလောက်များကို အခြားသူများနှင့် ခွဲရန်၊ ဘလောက်တစ်ခုစီ၏ အစတွင် အထူးအမှတ်အသားတစ်ခုကို ထည့်ရန် ဆုံးဖြတ်ခဲ့သည်။ အရင်းအမြစ်ဖိုင်ရှိ ပိတ်ဆို့နံပါတ်ပေါ်မူတည်၍ ဤတိုကင်ကို ကုဒ်ဝှက်ထားသည်။ ဤလှည့်ကွက်သည် လိုအပ်သောတုံးများကို ရှာဖွေရုံသာမက ၎င်းတို့၏ မှန်ကန်သောအစီအစဥ်ကို အသိအမှတ်ပြုရန်လည်း ချက်ချင်းလုပ်ဆောင်နိုင်စေခဲ့သည်။

စနစ်၏အထွေထွေလည်ပတ်မှုနိယာမ။

ဖိုင်စနစ် ပုံသဏ္ဍာန်

မှတ်တမ်းတင်ခြင်း အယ်လဂိုရီသမ်

အချက်များ -

  • အရင်းအမြစ်ဖိုင်စနစ်သို့ အချက်အလက်အချို့ကို ဦးစွာရေးပါ။
  • ဤအချက်အလက်ကို ဖျက်ပါ (အားလုံးမဟုတ်ပါ);
  • ဝှက်ထားရမည့် ဖိုင်ကို အညီအမျှ အလျားလိုက် အတုံးများ ခွဲကာ အမှတ်အသားတစ်ခု ထည့်သည်။
  • ဤလုပ်ကွက်များကို စာဝှက်ခြင်း၊
  • အချည်းနှီးသော FS ဘလောက်များတွင် ကုဒ်ဝှက်ထားသော ဘလောက်များကို ထားပါ။

Block Diagram ချစ်သူများအတွက်

အောက်တွင် မှတ်တမ်းတင်ခြင်းဆိုင်ရာ အယ်လဂိုရီသမ်၏ ဘလောက်ပုံစံတစ်ခုဖြစ်သည်။ algorithm သည် input အဖြစ် ဖိုင်လေးခုကို လက်ခံရရှိသည်-
- ပြင်ဆင်နိုင်သော ဖိုင်စနစ်၏ ရုပ်ပုံ၊
-Steganography အရ ဖိုင်၊
- AES အတွက် စာဝှက်စနစ်သော့ပါသော ဖိုင်။
- အမှတ်အသားနှင့်အတူဖိုင်။
ဖိုင်စနစ် ပုံသဏ္ဍာန်

ဤ algorithm တွင် အားနည်းချက်တစ်ခုရှိသည် - ဖိုင်ကို FS သို့ရေးသားပြီးနောက်၊ မဟုတ်ရပါမည် အချက်အလက်အသစ်တိုင်းသည် ကျွန်ုပ်တို့၏ဇစ်ဖိုင်တွင် ခွဲဝေချထားပေးသည့် ပိတ်ဆို့မှုများတွင် အဆုံးသတ်နိုင်သောကြောင့် FS တွင် အသစ်တစ်စုံတစ်ရာရေးပါသော်လည်း၊

သို့သော် ၎င်းကို မည်သို့ပြုပြင်ရမည်ကို သိသာထင်ရှားသည်- FS တွင် တုံးများရေးသားခြင်းအတွက် algorithm ကို ပြန်လည်ရေးသားရန် လိုအပ်ပါသည်။ ဒါက နားလည်နိုင်ပေမယ့် မယုံနိုင်လောက်အောင် အချိန်ကုန်တဲ့ အလုပ်ပါ။
Consept အထောက်အထားအတွက် ကျွန်တော် ဒါကို အကောင်အထည်မဖော်ခဲ့ပါဘူး။

ရလဒ်အနေဖြင့် FS တွင် အောက်ပါပြောင်းလဲမှုများကို ပြုလုပ်ရမည်ဖြစ်ပြီး၊ ၎င်းသည် steganography (အသံဖိုင်ကို ယခင်က မှတ်တမ်းတင်ထားသည်) မတိုင်မီ FS ၏ပုံပန်းသဏ္ဌာန်ဖြစ်သည်။
ဖိုင်စနစ် ပုံသဏ္ဍာန်
ဤသည်မှာ ဇစ်ဖွင့်ထားပြီးသော အချက်အလက်များဖြင့် FS ၏ပုံသဏ္ဌာန်ဖြစ်သည်။
ဖိုင်စနစ် ပုံသဏ္ဍာန်

Reading algorithm

အချက်များ -

  • သော့နှင့် အမှတ်အသားများတည်ဆောက်ပုံနည်းလမ်းကို သိရှိခြင်းဖြင့် N သည် ဖိုင်စနစ်ပိတ်ဆို့ခြင်း၏အရှည်ဖြင့် မြှောက်ထားသော ဇစ်ဖိုင်၏အရှည်ထက် ပိုကြီးသည်ဟု အာမခံချက်ဖြင့် ပထမ N အမှတ်အသားများကို ရေးဖွဲ့ပါ။
  • အမှတ်အသားများဖြင့် စတင်သော FS တွင် ပိတ်ဆို့မှုများကို ရှာဖွေပါ။
  • ရရှိလာသော ဘလောက်များကို ပုံဖော်ပြီး အမှတ်အသားများကို ခွဲခြားပါ။
  • ရရှိလာသောဘလောက်များကို မှန်ကန်သောအစီအစဉ်ဖြင့် စုဆောင်းပြီး အရင်းအမြစ်ဖိုင်ကို ရယူပါ။

Block Diagram ချစ်သူများအတွက်

အောက်တွင် မှတ်တမ်းတင်ခြင်းဆိုင်ရာ အယ်လဂိုရီသမ်၏ ဘလောက်ပုံစံတစ်ခုဖြစ်သည်။ algorithm သည် input အဖြစ် ဖိုင်သုံးခုကို လက်ခံရရှိသည်-
- ဖိုင်စနစ်ပုံရိပ်;
- AES အတွက် စာဝှက်စနစ်သော့ပါသော ဖိုင်။
- အမှတ်အသားနှင့်အတူဖိုင်။
ဖိုင်စနစ် ပုံသဏ္ဍာန်

ပရိုဂရမ်လည်ပတ်ပြီးနောက်၊ အမျိုးအစားခွဲထားသောဖိုင်စနစ်မှထုတ်နုတ်ထားသောဖိုင်ဖြစ်မည့် Read ဖိုင်ပေါ်လာသည်၊ သော့ သို့မဟုတ် အမှတ်အသားကို မှားယွင်းစွာသတ်မှတ်ထားပါက Read ဖိုင်သည် ဗလာဖြစ်နေလိမ့်မည်။
(အလှတရားကိုနှစ်သက်သူများအတွက်၊ ဖိုင်ကိုသာမက မက်တာအချက်အလက်ပါရှိသော "ခေါင်းစီး" ကို ထည့်သွင်းနိုင်သည်- ဖိုင်အမည်၊ လုပ်ပိုင်ခွင့်၊ နောက်ဆုံးပြင်ဆင်ထားသောအချိန်၊ စသည်ဖြင့်။)

အလိုအလျောက်စတင်ခြင်း

အဆင်ပြေစေရန်အတွက် Linux တွင် လွှင့်တင်ခြင်းကို အလိုအလျောက်လုပ်ဆောင်ရန် bash scripts များ ( Ubuntu 16.04.3 LTS တွင် စမ်းသပ်ထားသည်)။
လွှင့်တင်ခြင်းအဆင့်ဆင့်ကို ကြည့်ကြပါစို့။
စံချိန်:

  1. sudo Copy_Flash.sh “DEVICE” - DEVICE မှ FS ပုံကို ရယူပါ (flash);
  2. ./write.sh “FILE” “KEY” “MARKER” – ပကတိပတ်ဝန်းကျင်ကို ဖန်တီးပါ၊ လိုအပ်သော ဒစ်ဂျစ်တိုက်များကို ဒေါင်းလုဒ်လုပ်ပြီး ရေးရန် ဇာတ်ညွှန်းကို ဖွင့်ပါ။
  3. sudo ./Write_Flash.sh “DEVICE” – ပြောင်းလဲထားသော FS ကို DEVICE သို့ ထပ်မံရေးပါ။

စာဖတ်ခြင်း -

  1. sudo Copy_Flash.sh “DEVICE” - DEVICE မှ FS ပုံကို ရယူပါ (flash);
  2. ./read.sh “KEY” 'MARKER” - ပကတိပတ်ဝန်းကျင်ကို ဖန်တီးပါ၊ လိုအပ်သော စာကြည့်တိုက်များကို ဒေါင်းလုဒ်လုပ်ပြီး စာဖတ်ရန်အတွက် skip ကို ဖွင့်ပါ။
  3. လက်ရှိလမ်းညွှန်တွင် Read ဖိုင်ကိုဖွင့်ပါ - ၎င်းသည် ဇစ်ချထားသော အချက်အလက်ဖြစ်သည်။

ကောက်ချက်

ဤ steganography နည်းလမ်းသည် ပိုမိုနာမည်ကြီးသော ဖိုင်စနစ်များအတွက် တိုးတက်မှု၊ ထပ်လောင်းစမ်းသပ်ခြင်းနှင့် တိုးချဲ့မှု လိုအပ်ပါသည်။ အဆီ၃၂, NTFS и ext4.
သို့သော် ဤလုပ်ငန်း၏ရည်ရွယ်ချက်မှာ ဖိုင်စနစ်အတွင်း လျှို့ဝှက်သိမ်းဆည်းထားသော အချက်အလက်များကို လုပ်ဆောင်နိုင်စေသည့် နိယာမကို ပြသရန်ဖြစ်သည်။
ထိုကဲ့သို့သော အယ်လဂိုရီသမ်များ၏အကူအညီဖြင့် သင်သည် အချက်အလက်များကို မကြောက်မရွံ့သိမ်းဆည်းနိုင်ပြီး၊ အကယ်၍ သော့ကိုသိပါက၊ ရက်စက်ကြမ်းကြုတ်သောအင်အားဖြင့်မဟုတ်ဘဲ (သို့သော်အလွန်ရှည်လျားသော algorithm ဖြင့်) သော့ကိုမသိဘဲ၊ ၎င်းသည် သော့ကိုသိပါက၊ စနစ်သည် လုံးဝတည်ငြိမ်သည်ဟု ကျွန်ုပ်ထင်သော်လည်း၊ ၎င်းသည် သီးခြားဆောင်းပါးအတွက် အကြောင်းပြချက်တစ်ခုအဖြစ် လုပ်ဆောင်နိုင်သည်။

ကုဒ်အားလုံးကို Python ဗားရှင်း 3.5.2 တွင် အသုံးပြုထားသည်။ အလုပ်ဥပမာ ကျွန်တော့်ရဲ့ youtube channel မှာ တင်ပြထားပါတယ်။ ပရောဂျက်၏ ကုဒ်အပြည့်အစုံကို တွင်တင်ထားသည်။ github.
(ဟုတ်ကဲ့၊ ဟုတ်ကဲ့၊ ထုတ်လုပ်ရေးဗားရှင်းအတွက်၊ ဥပမာ C ၊ မြန်မြန်ရေးရမယ်ဆိုတာ သိပါတယ် 😉)
ဤအကောင်အထည်ဖော်မှုတွင်၊ steganography အတွက်ထည့်သွင်းသည့်ဖိုင်၏အရွယ်အစားသည် 1000 kB ထက်မပိုသင့်ပါ။

အသုံးပြုသူအား ကျေးဇူးတင်ကြောင်း ဖော်ပြလိုပါသည်။ PavelMSTU လေ့လာမှုအစီအစဥ်နှင့် ဆောင်းပါးဒီဇိုင်းဆိုင်ရာ အကြံပြုချက်များအတွက် အဖိုးတန်သော အကြံဉာဏ်များ။

source: www.habr.com

မှတ်ချက် Add