Linux 5.4 միջուկը ստացել է patches՝ սահմանափակելու արմատային հասանելիությունը միջուկի ներքին մասերին

Լինուս Տորվալդս ընդունեց Linux 5.4 միջուկի առաջիկա թողարկման մեջ ներառված է կարկատների մի շարք:Մեկուսացում", առաջարկված Դեյվիդ Հաուելս (Կարմիր գլխարկ) և Մեթյու Գարեթ (Մեթյու Գարեթ, աշխատում է Google-ում)՝ սահմանափակելու արմատային օգտվողի մուտքը միջուկ: Կողպման հետ կապված ֆունկցիոնալությունը ներառված է ընտրովի բեռնված LSM մոդուլում (Linux անվտանգության մոդուլ), որը խոչընդոտ է դնում UID 0-ի և միջուկի միջև՝ սահմանափակելով ցածր մակարդակի որոշակի գործառույթներ:

Եթե ​​հարձակվողը հասնում է կոդի կատարման արմատային իրավունքներով, նա կարող է իր կոդը գործարկել միջուկի մակարդակում, օրինակ՝ փոխարինելով միջուկը kexec-ի միջոցով կամ կարդալով/գրելով հիշողությունը /dev/kmem-ի միջոցով: Նման գործունեության ամենաակնառու հետևանքը կարող է լինել շրջանցում UEFI Secure Boot կամ միջուկի մակարդակում պահվող զգայուն տվյալների առբերում:

Սկզբում արմատային սահմանափակման գործառույթները մշակվել են ստուգված բեռնախցիկի պաշտպանությունն ուժեղացնելու համատեքստում, և բաշխումները բավականին երկար ժամանակ օգտագործում են երրորդ կողմի պատչերը՝ արգելափակելու UEFI Secure Boot-ի շրջանցումը: Միևնույն ժամանակ, նման սահմանափակումները չեն ներառվել միջուկի հիմնական կազմում՝ պայմանավորված տարաձայնություններ դրանց իրականացման մեջ և գոյություն ունեցող համակարգերի խափանման մտավախությունները: «Արգելափակման» մոդուլը ներծծում էր բաշխումների մեջ արդեն օգտագործվող պատչերը, որոնք վերանախագծվել էին առանձին ենթահամակարգի տեսքով, որը կապված չէ UEFI Secure Boot-ի հետ:

Կողպման ռեժիմը սահմանափակում է մուտքը /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes կարգաբերման ռեժիմ, mmiotrace, tracefs, BPF, PCMCIA CIS (Քարտի տեղեկատվական կառուցվածք), որոշ ACPI միջերեսներ և պրոցեսոր: MSR գրանցամատյանները, kexec_file և kexec_load զանգերն արգելափակված են, քնի ռեժիմն արգելված է, DMA-ի օգտագործումը PCI սարքերի համար սահմանափակ է, ACPI կոդի ներմուծումը EFI փոփոխականներից արգելված է,
Չի թույլատրվում I/O պորտերով մանիպուլյացիաները, ներառյալ սերիական պորտի համար ընդհատման համարը և I/O պորտը փոխելը:

Լռելյայնորեն, արգելափակման մոդուլը ակտիվ չէ, այն ստեղծվում է, երբ kconfig-ում նշված է SECURITY_LOCKDOWN_LSM տարբերակը և ակտիվանում է միջուկի «lockdown=» պարամետրի, կառավարման ֆայլի «/sys/kernel/security/lockdown» կամ հավաքման ընտրանքների միջոցով: LOCK_DOWN_KERNEL_FORCE_*, որը կարող է ընդունել «ամբողջականություն» և «գաղտնիություն» արժեքները։ Առաջին դեպքում, գործառույթները, որոնք թույլ են տալիս փոփոխություններ կատարել գործող միջուկում օգտագործողի տարածքից, արգելափակված են, իսկ երկրորդ դեպքում, գործառույթը, որը կարող է օգտագործվել միջուկից զգայուն տեղեկատվություն հանելու համար, նույնպես անջատված է:

Կարևոր է նշել, որ արգելափակումը սահմանափակում է միայն միջուկի ստանդարտ մուտքը, բայց չի պաշտպանում խոցելիությունների շահագործման արդյունքում փոփոխություններից: Գործող միջուկի փոփոխություններն արգելափակելու համար, երբ Exploit-ներն օգտագործվում են Openwall նախագծի կողմից զարգանում է առանձին մոդուլ LKRG (Linux Kernel Runtime Guard):

Source: opennet.ru

Добавить комментарий