Linux 5.4 kernel သည် kernel အတွင်းပိုင်းများသို့ root access ကိုကန့်သတ်ရန် patches ကိုလက်ခံရရှိထားပါသည်။

Linus Torvalds လက်ခံတယ်။ လာမည့်ထွက်ရှိမည့် Linux 5.4 kernel တွင်ပါဝင်သော patch အစုံဖြစ်သည်ပိတ်ဆို့ရှာဖွေမှုပြီးမှသာ", အဆိုပြုသည်။ David Howells (Red Hat) နှင့် Matthew Garrett (Matthew garrett, Google တွင်အလုပ်လုပ်သည်) kernel ကို root user access ကိုကန့်သတ်ရန်။ Lockdown-related functionality ကို ရွေးချယ်နိုင်သော LSM module တစ်ခုတွင် ထည့်သွင်းထားသည် (Linux လုံခြုံရေး မော်ဂျူးUID 0 နှင့် kernel အကြား အတားအဆီးတစ်ခု ထားရှိကာ အချို့သော အဆင့်နိမ့်လုပ်ဆောင်ချက်များကို ကန့်သတ်ထားသည်။

အကယ်၍ တိုက်ခိုက်သူသည် root လုပ်ပိုင်ခွင့်ဖြင့် ကုဒ်ကို အကောင်အထည်ဖော်မှုအောင်မြင်ပါက၊ ဥပမာ၊ kexec သို့မဟုတ် /dev/kmem မှတဆင့် kernel ကိုအသုံးပြု၍ kernel ကိုအစားထိုးခြင်းဖြင့် သူ၏ကုဒ်ကို kernel အဆင့်တွင် လုပ်ဆောင်နိုင်သည်။ ထိုကဲ့သို့ လုပ်ဆောင်မှု၏ အထင်ရှားဆုံး အကျိုးဆက်မှာ ဖြစ်နိုင်သည်။ ဝိုက် UEFI Secure Boot သို့မဟုတ် kernel အဆင့်တွင် သိမ်းဆည်းထားသော အရေးကြီးသော အချက်အလက်များကို ပြန်လည်ရယူခြင်း။

အစပိုင်းတွင်၊ အတည်ပြုပြီးသော boot ကိုကာကွယ်မှုအားကောင်းလာသောအခါတွင် root ကန့်သတ်ခြင်းလုပ်ဆောင်ချက်များကို တီထွင်ခဲ့ပြီး ဖြန့်ချီမှုများသည် UEFI Secure Boot ၏ရှောင်ကွင်းမှုကို အချိန်အတော်ကြာကြာပိတ်ဆို့ရန် ပြင်ပကုမ္ပဏီဖာထေးမှုများကို အသုံးပြုခဲ့သည်။ တစ်ချိန်တည်းမှာပင်၊ ထိုသို့သောကန့်သတ်ချက်များကြောင့် kernel ၏အဓိကဖွဲ့စည်းမှုတွင်မပါဝင်ပါ။ သဘောထားကွဲလွဲမှုများ ၎င်းတို့၏ အကောင်အထည်ဖော်မှုနှင့် တည်ဆဲစနစ်များကို အနှောင့်အယှက်ဖြစ်စေမည်ကို စိုးရိမ်သည်။ UEFI Secure Boot နှင့်မချိတ်ဘဲ သီးခြားစနစ်ခွဲပုံစံဖြင့် ပြန်လည်ဒီဇိုင်းထုတ်ထားသည့် ဖြန့်ချီမှုများတွင် အသုံးပြုထားပြီးဖြစ်သော "လော့ခ်ချခြင်း" မော်ဂျူးသည် ဖာထေးမှုများကို စုပ်ယူထားသည်။

လော့ခ်ဒေါင်းမုဒ်သည် /dev/mem၊ /dev/kmem၊ /dev/port၊ /proc/kcore၊ debugfs၊ kprobes အမှားရှာပြင်မုဒ်၊ mmiotrace၊ tracefs၊ BPF၊ PCMCIA CIS (Card Information Structure)၊ ACPI အင်တာဖေ့စ်နှင့် CPU အချို့ MSR မှတ်ပုံတင်မှုများ၊ kexec_file နှင့် kexec_load ခေါ်ဆိုမှုများကို ပိတ်ဆို့ထားသည်၊ အိပ်စက်ခြင်းမုဒ်ကို တားမြစ်ထားသည်၊ PCI စက်ပစ္စည်းများအတွက် DMA အသုံးပြုမှုကို ကန့်သတ်ထားပြီး၊ EFI ကိန်းရှင်များမှ ACPI ကုဒ်တင်သွင်းခြင်းကို တားမြစ်ထားသည်။
I/O port များနှင့်အတူ ကိုင်တွယ်ခြင်းအား ကြားဖြတ်နံပါတ်နှင့် အမှတ်စဉ် ပို့တ်အတွက် I/O ပို့တ်ကို ပြောင်းလဲခြင်းအပါအဝင် ခွင့်မပြုပါ။

ပုံမှန်အားဖြင့်၊ lockdown module သည် အသက်ဝင်ခြင်းမရှိပါ၊ SECURITY_LOCKDOWN_LSM option ကို kconfig တွင်သတ်မှတ်ထားပြီး kernel parameter “lockdown=”၊ ထိန်းချုပ်ဖိုင် “/sys/kernel/security/lockdown” သို့မဟုတ် စည်းဝေးပွဲရွေးချယ်စရာများမှတဆင့် အသက်ဝင်လာသောအခါတွင် ၎င်းကိုတည်ဆောက်ထားသည်။ LOCK_DOWN_KERNEL_FORCE_*တန်ဖိုးများ "သမာဓိ" နှင့် "လျှို့ဝှက်မှု" ကိုယူနိုင်သည်။ ပထမအခြေအနေတွင်၊ အသုံးပြုသူနေရာမှ လည်ပတ်နေသော kernel သို့ ပြောင်းလဲမှုများကို ပြုလုပ်ခွင့်ပြုသည့် အင်္ဂါရပ်များကို ပိတ်ဆို့ထားပြီး ဒုတိယအခြေအနေတွင်၊ kernel မှ အရေးကြီးသောအချက်အလက်များကို ထုတ်ယူရန် အသုံးပြုနိုင်သည့် လုပ်ဆောင်ချက်ကိုလည်း ပိတ်ထားသည်။

lockdown သည် kernel သို့ စံဝင်ရောက်ခွင့်ကိုသာ ကန့်သတ်ထားသော်လည်း အားနည်းချက်များကို အသုံးချခြင်းကြောင့် ပြုပြင်မွမ်းမံခြင်းမှ အကာအကွယ်မပေးကြောင်း သတိပြုရန် အရေးကြီးပါသည်။ Openwall ပရောဂျက်မှ exploits များကို အသုံးပြုသောအခါတွင် လုပ်ဆောင်နေသော kernel မှ အပြောင်းအလဲများကို ပိတ်ဆို့ရန် ဖွံ့ဖြိုးဆဲ သီးခြား module LKRG (Linux Kernel Runtime Guard)။

source: opennet.ru

မှတ်ချက် Add