UEFI Secure Bootту алыстан айланып өтүү үчүн Ubuntuдо Lockdown коргоосун өчүрүү ыкмалары

Google компаниясынан Андрей Коновалов жарыяланган коргоону алыстан өчүрүү жолу БөгөтUbuntu менен жөнөтүлгөн Linux ядро ​​пакетинде сунушталган (теориялык жактан сунушталган техникалар керек Fedora ядросу жана башка бөлүштүрүү менен иштөө, бирок алар текшерилген эмес).

Lockdown тамыр колдонуучунун ядрого кирүү мүмкүнчүлүгүн чектейт жана UEFI Secure Boot айланып өтүү жолдорун бөгөттөйт. Мисалы, кулпулоо режиминде, /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debug mode, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), кээ бир интерфейстер чектелген CPU ACPI жана MSR регистрлери, kexec_file жана kexec_load чалуулар бөгөттөлгөн, уйку режимине тыюу салынган, PCI түзмөктөрү үчүн DMA колдонуу чектелген, EFI өзгөрмөлөрүнөн ACPI кодун импорттоого тыюу салынган, I/O порттору менен манипуляцияларга тыюу салынган уруксат, анын ичинде үзгүлтүккө учуроо номерин жана сериялык порт үчүн киргизүү/чыгаруу портун өзгөртүү.

Lockdown механизми жакында негизги Linux ядросуна кошулду 5.4, бирок бөлүштүрүүдө берилген ядродо ал дагы эле тактар ​​түрүндө ишке ашырылат же тактар ​​менен толукталат. Бөлүштүрүүчү топтомдордо берилген кошумчалар менен ядрого орнотулган ишке ашыруунун ортосундагы айырмачылыктардын бири, эгерде сизде системага физикалык мүмкүнчүлүк болсо, берилген кулпулоону өчүрүү мүмкүнчүлүгү.

Ubuntu жана Fedoraда, Alt+SysRq+X баскычтар айкалышы Lockdownду өчүрүү үчүн берилген. Alt+SysRq+X айкалышы түзмөккө физикалык жетүү менен гана колдонулушу мүмкүн, ал эми алыстан хакерлик кылуу жана тамыр мүмкүнчүлүгүнө ээ болгон учурда, чабуулчу Lockdown'ду өчүрө албайт жана, мисалы, жүктөй албайт. ядрого санарип кирбеген руткит менен модул.

Андрей Коновалов колдонуучунун физикалык катышуусун тастыктоо үчүн клавиатурага негизделген ыкмалар натыйжасыз экенин көрсөттү. Lockdown өчүрүүнүн эң жөнөкөй жолу программалык түрдө болмок симуляция /dev/uinput аркылуу Alt+SysRq+X баскычтарын басыңыз, бирок бул параметр башында бөгөттөлгөн. Ошол эле учурда Alt+SysRq+X алмаштыруунун жок дегенде дагы эки ыкмасын аныктоого мүмкүн болду.

Биринчи ыкма “sysrq-trigger” интерфейсин колдонууну камтыйт – аны имитациялоо үчүн жөн гана /proc/sys/kernel/sysrq үчүн “1” жазуу менен бул интерфейсти иштетиңиз, андан кийин /proc/sysrq-triggerге “x” деп жазыңыз. Укуктук деди жок кылынды Декабрдагы Ubuntu өзөгүн жаңыртуу жана Fedora 31. Белгилей кетчү нерсе, иштеп чыгуучулар, /dev/uinput сыяктуу, алгач аракет бул ыкманы бөгөттөө, бирок бөгөттөө улам ишке ашкан жок укуктарынын каталары коддо.

Экинчи ыкма аркылуу клавиатура эмуляциясы кирет USB/IP анан виртуалдык клавиатурадан Alt+SysRq+X ырааттуулугун жөнөтүү. Ubuntu менен жөнөтүлгөн USB/IP ядросу демейки боюнча иштетилген (CONFIG_USBIP_VHCI_HCD=m жана CONFIG_USBIP_CORE=m) жана иштөө үчүн талап кылынган санарип кол коюлган usbip_core жана vhci_hcd модулдарын камсыз кылат. Кол салган адам алат түзүү виртуалдык USB түзмөк, ишке киргизилди кайра интерфейсинде тармак иштеткич жана аны USB/IP аркылуу алыскы USB түзмөгү катары туташтыруу. Көрсөтүлгөн ыкма жөнүндө билдирди Ubuntu иштеп чыгуучуларына, бирок оңдоо азырынча чыга элек.

Source: opennet.ru

Комментарий кошуу