Metodat për të çaktivizuar mbrojtjen e bllokimit në Ubuntu për të anashkaluar nga distanca UEFI Secure Boot

Andrey Konovalov nga Google publikuar mënyra për të çaktivizuar mbrojtjen nga distanca Lockdownofrohet në paketën e kernelit Linux të dërguar me Ubuntu (teknikat e sugjeruara teorikisht kam punoni me bërthamën e Fedora-s dhe shpërndarjet e tjera, por ato nuk janë testuar).

Lockdown kufizon aksesin e përdoruesit rrënjë në kernel dhe bllokon shtigjet e anashkalimit të UEFI Secure Boot. Për shembull, në modalitetin e bllokimit, qasja në /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes mode debugging, mmiotrace, tracefs, BPF, PCMCIA CIS (Struktura e Informacionit të Kartës), disa ndërfaqet janë të kufizuara Regjistrat ACPI dhe MSR të CPU, thirrjet në kexec_file dhe kexec_load janë të bllokuara, modaliteti i gjumit është i ndaluar, përdorimi i DMA për pajisjet PCI është i kufizuar, importi i kodit ACPI nga variablat EFI është i ndaluar, manipulimet me portet I/O nuk janë lejohet, duke përfshirë ndryshimin e numrit të ndërprerjes dhe portës I/O për portën serike.

Mekanizmi Lockdown u shtua kohët e fundit në kernelin kryesor Linux 5.4, por në bërthamat e furnizuara në shpërndarje ai ende zbatohet në formën e arnimeve ose i plotësuar me arna. Një nga ndryshimet midis shtesave të ofruara në komplet e shpërndarjes dhe zbatimit të integruar në kernel është aftësia për të çaktivizuar bllokimin e dhënë nëse keni akses fizik në sistem.

Në Ubuntu dhe Fedora, kombinimi i tasteve Alt+SysRq+X ofrohet për të çaktivizuar Lockdown. Kuptohet që kombinimi Alt+SysRq+X mund të përdoret vetëm me akses fizik në pajisje, dhe në rastin e hakimit në distancë dhe fitimit të aksesit në rrënjë, sulmuesi nuk do të jetë në gjendje të çaktivizojë Lockdown dhe, për shembull, të ngarkojë një modul me një rootkit që nuk është nënshkruar në mënyrë dixhitale në kernel.

Andrey Konovalov tregoi se metodat e bazuara në tastierë për të konfirmuar praninë fizike të përdoruesit janë joefektive. Mënyra më e thjeshtë për të çaktivizuar Lockdown do të ishte programatikisht simulimi duke shtypur Alt+SysRq+X nëpërmjet /dev/uinput, por ky opsion fillimisht është i bllokuar. Në të njëjtën kohë, ishte e mundur të identifikoheshin të paktën dy metoda të tjera të zëvendësimit Alt+SysRq+X.

Metoda e parë përfshin përdorimin e ndërfaqes "sysrq-trigger" - për ta simuluar atë, thjesht aktivizoni këtë ndërfaqe duke shkruar "1" në /proc/sys/kernel/sysrq dhe më pas shkruani "x" në /proc/sysrq-trigger. Tha shteg eliminohet në përditësimin e kernelit të Ubuntu në dhjetor dhe në Fedora 31. Vlen të përmendet se zhvilluesit, si në rastin e /dev/uinput, fillimisht u përpoq të bllokoni këtë metodë, por bllokimi nuk funksionoi për shkak të gabimet në kod.

Metoda e dytë përfshin emulimin e tastierës nëpërmjet USB/IP dhe më pas dërgimi i sekuencës Alt+SysRq+X nga tastiera virtuale. Kerneli USB/IP i dërguar me Ubuntu është aktivizuar si parazgjedhje (CONFIG_USBIP_VHCI_HCD=m dhe CONFIG_USBIP_CORE=m) dhe siguron modulet usbip_core dhe vhci_hcd të nënshkruara dixhitale të kërkuara për funksionim. Sulmuesi mund krijoj pajisje virtuale USB, nisur mbajtësi i rrjetit në ndërfaqen loopback dhe duke e lidhur atë si një pajisje USB në distancë duke përdorur USB/IP. Rreth metodës së specifikuar raportuar për zhvilluesit e Ubuntu, por një rregullim nuk është lëshuar ende.

Burimi: opennet.ru

Shto një koment