Методе за онемогућавање заштите од закључавања у Убунту-у да бисте даљински заобишли УЕФИ Сецуре Боот

Андреј Коновалов из Гугла опубликовал начин да се даљински онемогући заштита лоцкдовнпонуђено у пакету Линук кернела који се испоручује уз Убунту (теоретски предложене технике имати раде са језгром Федоре и другим дистрибуцијама, али оне нису тестиране).

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

Механизам закључавања је недавно додат главном Линук кернелу 5.4, али у језгрима који се испоручују у дистрибуцијама и даље је имплементиран у облику закрпа или допуњен закрпама. Једна од разлика између додатака који се налазе у комплетима за дистрибуцију и имплементације уграђене у кернел је могућност да онемогућите обезбеђено закључавање ако имате физички приступ систему.

У Убунту и Федора-и, комбинација тастера Алт+СисРк+Кс је обезбеђена за онемогућавање закључавања. Подразумева се да се комбинација Алт+СисРк+Кс може користити само са физичким приступом уређају, а у случају даљинског хаковања и добијања роот приступа, нападач неће моћи да онемогући закључавање и, на пример, учита модул са рооткитом који није дигитално потписан у кернелу.

Андреј Коновалов је показао да су методе засноване на тастатури за потврђивање физичког присуства корисника неефикасне. Најједноставнији начин да онемогућите закључавање био би програмски симулација притиском на Алт+СисРк+Кс преко /дев/уинпут, али је ова опција иницијално блокирана. Истовремено, било је могуће идентификовати још најмање две методе замене Алт+СисРк+Кс.

Први метод укључује коришћење интерфејса „сисрк-триггер“ – да бисте га симулирали, само омогућите овај интерфејс тако што ћете написати „1“ у /проц/сис/кернел/сисрк, а затим уписати „к“ у /проц/сисрк-триггер. Речена рупа елиминисан у децембарском ажурирању Убунту кернела и у Федора 31. Важно је напоменути да су програмери, као у случају /дев/уинпут, у почетку покушао блокирајте овај метод, али блокирање није успело због Грешке у коду.

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

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

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