Линук 5.4 кернел је добио закрпе за ограничавање роот приступа унутрашњим деловима кернела

Линус Торвалдс прихваћен укључен у предстојеће издање Линук 5.4 кернела је скуп закрпа "закључавање", предложио Дејвид Хауелс (Црвени шешир) и Метју Герет (Маттхев Гарретт, ради у Гоогле-у) да ограничи приступ роот кориснику кернелу. Функционалност везана за закључавање је укључена у опционо учитани ЛСМ модул (Линук сигурносни модул), који поставља баријеру између УИД-а 0 и кернела, ограничавајући одређене функционалности ниског нивоа.

Ако нападач постигне извршење кода са роот правима, он може да изврши свој код на нивоу кернела, на пример, заменом кернела користећи кекец или меморију за читање/писање преко /дев/кмем. Најочигледнија последица такве активности може бити обилазни пут УЕФИ Сецуре Боот или преузимање осетљивих података ускладиштених на нивоу кернела.

У почетку су функције ограничења роот-а развијене у контексту јачања заштите верификованог покретања, а дистрибуције су већ дуже време користиле закрпе трећих страна да блокирају заобилажење УЕФИ Сецуре Боот-а. Истовремено, таква ограничења нису укључена у главни састав језгра због несугласице у њиховој имплементацији и страх од поремећаја постојећих система. Модул „закључавања“ је апсорбовао закрпе које су већ коришћене у дистрибуцијама, које су редизајниране у облику засебног подсистема који није везан за УЕФИ Сецуре Боот.

Режим закључавања ограничава приступ /дев/мем, /дев/кмем, /дев/порт, /проц/кцоре, дебугфс, кпробес режим за отклањање грешака, ммиотраце, трацефс, БПФ, ПЦМЦИА ЦИС (Информациона структура картице), неким АЦПИ интерфејсима и ЦПУ-у МСР регистри, позиви кекец_филе и кекец_лоад су блокирани, режим спавања је забрањен, употреба ДМА за ПЦИ уређаје је ограничена, увоз АЦПИ кода из ЕФИ променљивих је забрањен,
Манипулације са И/О портовима нису дозвољене, укључујући промену броја прекида и И/О порта за серијски порт.

Подразумевано, модул закључавања није активан, направљен је када је опција СЕЦУРИТИ_ЛОЦКДОВН_ЛСМ наведена у кцонфиг и активира се преко параметра кернела „лоцкдовн=“, контролне датотеке „/сис/кернел/сецурити/лоцкдовн“ или опција склопа ЛОЦК_ДОВН_КЕРНЕЛ_ФОРЦЕ_*, који може узети вредности „интегритет“ и „поверљивост“. У првом случају, функције које омогућавају да се изврше промене у језгру које ради из корисничког простора су блокиране, ау другом случају је онемогућена и функционалност која се може користити за издвајање осетљивих информација из кернела.

Важно је напоменути да закључавање само ограничава стандардни приступ језгру, али не штити од модификација као резултат искоришћавања рањивости. За блокирање промена у покренутом језгру када Опенвалл пројекат користи експлоатацију се развија одвојени модул ЛКРГ (Линук Кернел Рунтиме Гуард).

Извор: опеннет.ру

Додај коментар