Усулҳои хомӯш кардани амнияти қулф дар Ubuntu барои гузаштан аз пурборкунии UEFI ба таври фосилавӣ

Андрей Коновалов аз Google нашр роҳи дур аз хомӯш кардани муҳофизат Локдокдар бастаи ядрои Linux пешниҳод карда мешавад, ки бо Ubuntu фиристода мешавад (усулҳои назариявӣ пешниҳодшуда бояд бо ядрои Fedora ва дигар тақсимот кор кунед, аммо онҳо санҷида намешаванд).

Lockdown дастрасии корбари решаро ба ядро ​​маҳдуд мекунад ва роҳҳои гузариши UEFI Secure Boot-ро маҳкам мекунад. Масалан, дар ҳолати басташавӣ, дастрасӣ ба /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, ҳолати ислоҳи kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Сохтори иттилооти корт), баъзе интерфейсҳо маҳдуд аст регистрҳои ACPI ва MSR-и CPU, зангҳо ба kexec_file ва kexec_load баста шудаанд, ҳолати хоб манъ аст, истифодаи DMA барои дастгоҳҳои PCI маҳдуд аст, воридоти рамзи ACPI аз тағирёбандаҳои EFI манъ аст, манипуляцияҳо бо портҳои I/O нест иҷозат дода шудааст, аз ҷумла тағир додани рақами қатъ ва порти вуруд / баромад барои порти силсилавӣ.

Механизми Lockdown ба наздикӣ ба ядрои асосии Linux илова карда шуд 5.4, аммо дар ядроҳои дар дистрибюторҳо таъминшуда он ҳоло ҳам дар шакли часпакҳо амалӣ карда мешавад ё бо часбчаҳо пурра карда мешавад. Яке аз фарқиятҳои замимаҳои дар маҷмӯаҳои тақсимот пешниҳодшуда ва татбиқи дар ядро ​​сохташуда қобилияти хомӯш кардани қулфи таъминшуда мебошад, агар шумо ба система дастрасии ҷисмонӣ дошта бошед.

Дар Ubuntu ва Fedora, маҷмӯи калидҳои Alt+SysRq+X барои хомӯш кардани Lockdown пешбинӣ шудааст. Маълум аст, ки комбинатсияи Alt+SysRq+X метавонад танҳо бо дастрасии ҷисмонӣ ба дастгоҳ истифода шавад ва дар ҳолати ҳакерии дурдаст ва дастрасии реша, ҳамлакунанда наметавонад Lockdown-ро хомӯш кунад ва масалан, модул бо руткит, ки ба ядро ​​​​ба таври рақамӣ ворид нашудааст.

Андрей Коновалов нишон дод, ки усулҳои клавиатура барои тасдиқи ҳузури ҷисмонии корбар бесамаранд. Роҳи соддатарини хомӯш кардани Lockdown ин ба таври барномавӣ мебошад симулятсия пахшкунии Alt+SysRq+X тавассути /dev/uinput, аммо ин хосият дар аввал баста мешавад. Дар баробари ин, боз камаш ду усули ивазкунии Alt+SysRq+X-ро муайян кардан мумкин буд.

Усули аввал истифодаи интерфейси "sysrq-trigger" -ро дар бар мегирад - барои тақлид кардани он, танҳо бо навиштани "1" ба /proc/sys/kernel/sysrq ин интерфейсро фаъол созед ва сипас ба /proc/sysrq-trigger "x" нависед. Гуфт лахза бартараф карда шуд дар навсозии ядрои Ubuntu моҳи декабри соли ва дар Fedora 31. Қобили зикр аст, ки таҳиягарон, ба монанди дар мавриди /dev/uinput, дар аввал кушиш намуд ин усулро маҳкам кард, аммо басташавӣ аз сабаби он кор накард Хатогии дар код.

Усули дуюм тақлид кардани клавиатураро дар бар мегирад USB/IP ва сипас аз клавиатураи виртуалӣ пайдарпаии Alt+SysRq+X-ро фиристед. Ядрои USB/IP, ки бо Ubuntu фиристода мешавад, бо нобаёнӣ фаъол аст (CONFIG_USBIP_VHCI_HCD=m ва CONFIG_USBIP_CORE=m) ва модулҳои ба таври рақамӣ имзошудаи usbip_core ва vhci_hcd, ки барои кор заруранд, таъмин мекунад. Ҳамлагар метавонад сохтан дастгоҳи виртуалии USB, ба кор андохта шуд коркардкунандаи шабака дар интерфейси бозгашт ва пайваст кардани он ҳамчун дастгоҳи дурдасти USB бо истифода аз USB/IP. Дар бораи усули муайяншуда хабар дод ба таҳиягарони Ubuntu, аммо ислоҳ ҳанӯз нашр нашудааст.

Манбаъ: opennet.ru

Илова Эзоҳ