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

လုံခြုံရေးစာရင်းစစ်ကုမ္ပဏီ Kudelski Security သည် သင့်အား ရှိပြီးသား partitions များပေါ်ရှိ နေရာလွတ်များတစ်လျှောက် ပြန့်ကျဲနေသော လျှို့ဝှက်ဖိုင်စနစ်များကို ဖန်တီးနိုင်ပြီး ကျပန်းလက်ကျန်ဒေတာများကို ခွဲခြားမရနိုင်သည့် Shufflecake ဟုခေါ်သည့် ကိရိယာတစ်ခုကို ထုတ်ဝေခဲ့သည်။ ဝင်ရောက်ခွင့်သော့ကို မသိဘဲ၊ မှုခင်းဆေးပညာခွဲခြမ်းစိတ်ဖြာမှုပြုလုပ်သည့်တိုင် ၎င်းတို့၏တည်ရှိမှုကို သက်သေပြရန် ခက်ခဲသည့်နည်းလမ်းဖြင့် အပိုင်းများကို ဖန်တီးထားသည်။ utilities (shufflecake-userland) နှင့် Linux kernel module (dm-sflc) တို့ကို C ဖြင့် ရေးသားထားပြီး GPLv3 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသောကြောင့် ပင်မ Linux kernel တွင် ထုတ်ဝေထားသော kernel module ကို ထည့်သွင်းရန် မဖြစ်နိုင်သောကြောင့်၊ kernel ပေးဆောင်သည့် GPLv2 လိုင်စင်။

ပရောဂျက်သည် Linux ပလပ်ဖောင်းအတွက် မူရင်းပံ့ပိုးမှုပါရှိသော ကာကွယ်မှုလိုအပ်သည့် ဒေတာကို ဝှက်ထားရန်အတွက် Truecrypt နှင့် Veracrypt ထက် ပိုမိုအဆင့်မြင့်သည့် ဖြေရှင်းချက်တစ်ခုအဖြစ် ထားရှိထားပြီး၊ ခွဲခြမ်းစိတ်ဖြာမှုအား ရှုပ်ထွေးစေရန် စက်ပေါ်တွင် ဝှက်ထားသောအပိုင်း 15 ခုအထိ ထားရှိခွင့်ပြုထားသည်။ သူတို့ရဲ့ဖြစ်တည်မှု။ အကယ်၍ Shufflecake ကိုယ်တိုင်အသုံးပြုခြင်းသည် လျှို့ဝှက်ချက်မဟုတ်ပါက၊ ဥပမာအားဖြင့်၊ စနစ်အတွင်းရှိ သက်ဆိုင်ရာ utilities များရှိနေခြင်းကြောင့်၊ ဖန်တီးထားသော ဝှက်ထားသော partitions စုစုပေါင်းအရေအတွက်ကို ဆုံးဖြတ်၍မရပါ။ ဖန်တီးထားသော ဝှက်ထားသောအပိုင်းများကို မည်သည့်ဖိုင်စနစ်၊ ဥပမာ၊ ext4၊ xfs သို့မဟုတ် btrfs တို့ကို လိုက်လျောညီထွေဖြစ်စေရန်အတွက် အသုံးပြုသူ၏ဆုံးဖြတ်ချက်ဖြင့် ဖော်မတ်လုပ်နိုင်ပါသည်။ အပိုင်းတစ်ခုစီကို ၎င်း၏ကိုယ်ပိုင်သော့ဖွင့်သော့ဖြင့် သီးခြား virtual block စက်တစ်ခုအဖြစ် သဘောထားသည်။

သဲလွန်စများကို ရှုပ်ထွေးစေရန်၊ "ယုံကြည်စိတ်ချရသော ငြင်းပယ်နိုင်မှု" အမူအကျင့်ပုံစံကို အသုံးပြုရန် အဆိုပြုထားပါသည်၊ ဆိုလိုသည်မှာ တန်ဖိုးနည်းသောဒေတာကို ကုဒ်ဝှက်ထားသောအပိုင်းများတွင် ထပ်လောင်းအလွှာများအဖြစ် တန်ဖိုးနည်းသောဒေတာများဖြင့် ဝှက်ထားသော အပိုင်းများ၏ အထက်တန်းပုံစံတစ်မျိုးကို ပေါင်းစပ်ထားသည်။ ဖိအားများရှိသောအခါတွင်၊ စက်၏ပိုင်ရှင်သည် ကုဒ်ဝှက်ထားသော partition တွင်သော့ကိုထုတ်ပြနိုင်သော်လည်း အခြားသော partitions (အသိုက်အမြိုက်အဆင့် 15 အထိ) ကို ဤ partition တွင်ဝှက်ထားနိုင်ပြီး ၎င်းတို့၏တည်ရှိမှုကိုဆုံးဖြတ်ကာ ၎င်းတို့၏တည်ရှိမှုကို သက်သေပြရန်မှာ ပြဿနာရှိသည်။

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

ခေါင်းစီးကို အကွက်များအဖြစ် ပိုင်းခြားထားပြီး တစ်ခုစီသည် ၎င်း၏ကိုယ်ပိုင်အပိုင်းနှင့် ဆက်စပ်အချပ်များကို သတ်မှတ်သည်။ ခေါင်းစီးရှိ slots များကို stacked လုပ်ပြီး ထပ်ခါတလဲလဲ ချိတ်ဆက်ထားသည် - လက်ရှိ slot တွင် အထက်အောက် လျှို့ဝှက်ထားသော အပိုင်းများ (လျှို့ဝှက်ကုဒ်ထက်နည်းသည်) တွင် ယခင်အပိုင်း၏ ကန့်သတ်ချက်များကို ကုဒ်ဝှက်ရန် သော့ပါရှိသည်။ ရွေးချယ်ထားသောအပိုင်း။ လျှို့ဝှက်မှုနည်းသောအပိုင်းတစ်ခုစီသည် nested partitions ချပ်များကို အခမဲ့အဖြစ် သတ်မှတ်သည်။

မူရင်းအားဖြင့်၊ Shufflecake အပိုင်းခွဲများအားလုံးသည် ထိပ်တန်းအဆင့်အပိုင်းနှင့် တူညီသောမြင်သာသောအရွယ်အစားရှိသည်။ ဥပမာအားဖြင့်၊ 1 GB စက်ပစ္စည်းတစ်ခုတွင် အပိုင်းသုံးပိုင်းရှိပါက၊ ၎င်းတို့တစ်ခုစီကို 1 GB အပိုင်းအဖြစ်စနစ်မှမြင်နိုင်မည်ဖြစ်ပြီး စုစုပေါင်းရရှိနိုင်သည့် disk space ကို အပိုင်းပိုင်းအားလုံးကြားတွင် မျှဝေသွားမည်ဖြစ်သည် - သိမ်းဆည်းထားသည့်ဒေတာစုစုပေါင်းအရွယ်အစားထက်ကျော်လွန်ပါက၊ စက်၏အမှန်တကယ်အရွယ်အစား၊ ၎င်းသည် I/O error ကိုချလိုက်လိမ့်မည်။

ဖွင့်မထားသော အသိုက်အဝန်း အပိုင်းများသည် အာကာသခွဲဝေမှုတွင် မပါဝင်ပါ ၊ ဆိုလိုသည်မှာ၊ ထိပ်တန်းအဆင့် partition တစ်ခုကို ဖြည့်စွက်ရန် ကြိုးပမ်းခြင်းသည် nested partitions များတွင် data များကို ဖျက်ထုတ်ပစ်ရမည်ဖြစ်ပြီး၊ သို့သော် error မစတင်မီ partition တွင်ထည့်နိုင်သော data ၏အရွယ်အစားကို ခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့် ၎င်းတို့၏တည်ရှိမှုကိုဖော်ပြရန် မဖြစ်နိုင်ပါ။ အပေါ်ပိုင်း partitions များတွင် အာရုံမပြောင်းနိုင်သော data များပါဝင်ပြီး သီးခြားဘယ်တော့မှအသုံးမပြုရဟု ယူဆရပြီး ပုံမှန်အလုပ်များကို မကြာသေးမီက nested section ဖြင့် အမြဲလုပ်ဆောင်လေ့ရှိသည်၊ အဆိုပါအစီအစဉ်ကိုယ်တိုင်က ၎င်းတည်ရှိမှု၏လျှို့ဝှက်ချက်ကို ထိန်းသိမ်းထားရန် ပိုအရေးကြီးသည်ဟု ယူဆပါသည်။ data က ဒီ data ဆုံးရှုံးတာထက်)။

တကယ်တော့၊ Shufflecake partitions 15 ခုကို အမြဲဖန်တီးထားပါသည် - user password ကို အသုံးပြုထားသော partitions များနှင့် တွဲထားပြီး အသုံးမပြုသော partitions များကို ကျပန်းထုတ်လုပ်ထားသော password တစ်ခုဖြင့် ပံ့ပိုးပေးသည် ( partitions မည်မျှကို အမှန်တကယ်အသုံးပြုသည်ကို နားလည်ရန် မဖြစ်နိုင်ပါ ) ။ Shufflecake အပိုင်းများကို စတင်သောအခါ၊ ၎င်းတို့၏ နေရာချထားမှုအတွက် ခွဲဝေပေးထားသော ဒစ်ခ်၊ အပိုင်းခွဲ သို့မဟုတ် virtual ပိတ်ဆို့သည့်ကိရိယာတွင် ကျပန်းဒေတာများဖြင့် ပြည့်နေသဖြင့် ယေဘုယျနောက်ခံနှင့် အထွေထွေနောက်ခံနှင့် ဒေတာများကို Shufflecake မက်တာဒေတာကို ခွဲခြားသတ်မှတ်ရန် မဖြစ်နိုင်ပေ။

Shufflecake အကောင်အထည်ဖော်မှုတွင် စွမ်းဆောင်ရည်မြင့်မားသော်လည်း overhead ပါဝင်မှုကြောင့် LUKS စနစ်ခွဲကိုအခြေခံသည့် disk encryption နှင့် နှိုင်းယှဉ်ပါက ခန့်မှန်းခြေအားဖြင့် နှစ်ဆနှေးကွေးပါသည်။ Shufflecake ကိုအသုံးပြုခြင်းဖြင့် ဝန်ဆောင်မှုဒေတာကို သိမ်းဆည်းရန်အတွက် RAM နှင့် disk space အတွက် အပိုကုန်ကျစရိတ်များ ဖြစ်ပေါ်စေပါသည်။ မမ်မိုရီသုံးစွဲမှုမှာ partition တစ်ခုလျှင် 60 MB နှင့် disk space စုစုပေါင်းအရွယ်အစား၏ 1% ရှိသည်။ နှိုင်းယှဉ်ရန်အတွက် ရည်ရွယ်ချက်တူသော WORAM နည်းပညာသည် အသုံးပြုနိုင်သော disk space 5% ဆုံးရှုံးခြင်းဖြင့် 200 ကြိမ်မှ 75 အထိ နှေးကွေးသွားစေသည်။

toolkit နှင့် kernel module ကို kernels 5.13 နှင့် 5.15 ဖြင့် Debian နှင့် Ubuntu တွင်သာ စမ်းသပ်ခဲ့သည် ( Ubuntu 22.04 တွင် ပံ့ပိုးထားသည်)။ ပရောဂျက်အား အရေးကြီးသောဒေတာကို သိမ်းဆည်းရန် အသုံးမပြုသင့်သော လုပ်ငန်းခွင် နမူနာပုံစံအဖြစ် ယူဆဆဲဖြစ်ကြောင်း မှတ်သားရပါသည်။ အနာဂတ်တွင်၊ ကျွန်ုပ်တို့သည် စွမ်းဆောင်ရည်၊ ယုံကြည်စိတ်ချရမှုနှင့် လုံခြုံရေးအတွက် ထပ်လောင်းပိုကောင်းအောင်ပြုလုပ်ရန်စီစဉ်ထားပြီး၊ Shufflecake partitions များမှ boot လုပ်နိုင်စွမ်းကို ပံ့ပိုးပေးပါသည်။

source: opennet.ru

မှတ်ချက် Add