Ядрои Linux 5.4 часбҳоро барои маҳдуд кардани дастрасии реша ба ҷузъҳои дохилии ядро ​​гирифт

Линус Торвалдс қабул карданд ки ба нашри дарпешистодаи ядрои Linux 5.4 дохил карда шудааст, маҷмӯи часбҳо мебошад "қуфлҳост", пешниҳод кардааст Дэвид Хоуэллс (Хати сурх) ва Мэттью Гарретт (Матто Гаррет, дар Google кор мекунад) барои маҳдуд кардани дастрасии корбари реша ба ядро. Функсияи марбут ба Lockdown ба модули ихтиёрии боргузори 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 реҷаи debug, mmiotrace, tracefs, BPF, PCMCIA CIS (Сохтори иттилооти корт), баъзе интерфейсҳои ACPI ва CPU маҳдуд мекунад. Регистрҳои MSR, зангҳои kexec_file ва kexec_load баста шудаанд, ҳолати хоб манъ аст, истифодаи DMA барои дастгоҳҳои PCI маҳдуд аст, воридоти рамзи ACPI аз тағирёбандаҳои EFI манъ аст,
Манипулятсия бо бандарҳои вуруди баромад иҷозат дода намешавад, аз ҷумла тағир додани рақами қатъ ва бандари вуруди баромад барои бандари силсилавӣ.

Бо нобаёнӣ, модули қулф фаъол нест, он вақте сохта мешавад, ки опсияи SECURITY_LOCKDOWN_LSM дар kconfig муайян карда шудааст ва тавассути параметри ядрои "lockdown =", файли идоракунии "/sys/kernel/security/lockdown" ё имконоти васлкунӣ фаъол карда мешавад. Қулф_поёни_ядро_Қуввати_*, ки метавонад арзишҳои "беайбӣ" ва "махфият" -ро қабул кунад. Дар ҳолати аввал, хусусиятҳое, ки имкон медиҳанд, ки ба ядрои корбар аз фазои корбар тағирот ворид карда шаванд, баста мешаванд ва дар ҳолати дуюм, функсияе, ки метавонад барои истихроҷи иттилооти ҳассос аз ядро ​​истифода шавад, низ ғайрифаъол аст.

Бояд қайд кард, ки қуфл танҳо дастрасии стандартиро ба ядро ​​маҳдуд мекунад, аммо аз тағирот дар натиҷаи истифодаи осебпазириҳо муҳофизат намекунад. Барои манъ кардани тағирот дар ядрои иҷрошаванда ҳангоми истифодаи эксплоитҳо аз ҷониби лоиҳаи Openwall рушд карда истодааст модули алоҳида ЛКРГ (Linux Kernel Runtime Guard).

Манбаъ: opennet.ru

Илова Эзоҳ