Uzaqdan UEFI Təhlükəsiz Yükləmədən keçmək üçün Ubuntu-da Kilidləmə Təhlükəsizliyini aradan qaldırmaq üsulları

Google-dan Andrey Konovalov nəşr mühafizəni uzaqdan söndürməyin yolu KilidləməUbuntu ilə təchiz edilmiş Linux kernel paketində təklif olunur (nəzəri olaraq, təklif olunan üsullar olmaq Fedora və digər paylamaların nüvəsi ilə işləmək, lakin bunlar sınaqdan keçirilməyib).

Kilidləmə kök istifadəçinin nüvəyə girişini məhdudlaşdırır və UEFI Secure Boot bypass yollarını bloklayır. Məsələn, kilidləmə rejimi /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debug rejimi, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), bəzi interfeyslərə girişi məhdudlaşdırır. CPU-nun ACPI və MSR registrləri, kexec_file və kexec_load-a zənglər bloklanır, yuxu rejiminə keçid qadağandır, PCI cihazları üçün DMA-dan istifadə məhduddur, EFI dəyişənlərindən ACPI kodunun idxalı qadağandır, I/O ilə manipulyasiyalar portlara icazə verilmir, o cümlədən fasilə nömrəsinin və seriya portu üçün I/O portunun dəyişdirilməsi.

Kilidləmə mexanizmi bu yaxınlarda Linux nüvəsinin nüvəsinə əlavə edilmişdir. 5.4, lakin hələ də yamaqlar şəklində həyata keçirilir və ya paylamalarla təchiz edilmiş nüvələrdə yamaqlarla tamamlanır. Dağıtımlarda təqdim olunan əlavələr ilə nüvəyə quraşdırılmış tətbiq arasındakı fərqlərdən biri sistemə fiziki giriş olduqda təmin edilmiş kilidi söndürmək imkanıdır.

Ubuntu və Fedora-da Kilidi söndürmək üçün Alt+SysRq+X düymələr kombinasiyası təmin edilir. Anlaşılır ki, Alt+SysRq+X kombinasiyası yalnız cihaza fiziki girişlə istifadə oluna bilər və uzaqdan sındırma və kök girişi əldə etdikdə təcavüzkar Lockdown-u söndürə bilməyəcək və məsələn, yükləyə bilməyəcək. nüvəyə rootkiti olan imzasız modul.

Andrey Konovalov göstərdi ki, istifadəçinin fiziki mövcudluğunu təsdiqləyən klaviatura əsaslı üsullar səmərəsizdir. Lockdown-u söndürməyin ən asan yolu proqramlı olardı simulyasiya /dev/uinput vasitəsilə Alt+SysRq+X düymələrini sıxın, lakin bu seçim standart olaraq qeyri-aktivdir. Eyni zamanda, Alt + SysRq + X-i əvəz etməyin ən azı daha iki yolunu müəyyən edə bildik.

Birinci üsul “sysrq-trigger” interfeysindən istifadə etməyi nəzərdə tutur – simulyasiya üçün /proc/sys/kernel/sysrq-ə “1” yazmaqla, sonra isə /proc/sysrq--ə “x” yazmaqla bu interfeysi aktivləşdirmək kifayətdir. tətik. Müəyyən edilmiş boşluq aradan qaldırıldı Ubuntu nüvəsinin dekabr yeniləməsində və Fedora 31-də. Maraqlıdır ki, tərtibatçılar, /dev/uinput vəziyyətində olduğu kimi, ilkin olaraq, çalışdı bloklama üsulu verilmişdir, lakin ona görə bloklama işləmədi Səhvlər kodda.

İkinci üsul klaviatura emulyasiyası ilə bağlıdır USB/IP sonra virtual klaviaturadan Alt+SysRq+X ardıcıllığının göndərilməsi. Ubuntu ilə göndərilən USB/IP nüvəsi defolt olaraq aktivdir (CONFIG_USBIP_VHCI_HCD=m və CONFIG_USBIP_CORE=m) və əməliyyat üçün tələb olunan usbip_core və vhci_hcd rəqəmsal imzalanmış modulları təmin edir. Hücum edən bilər yaratmaq virtual USB Cihazı, işə salındı geri döngə interfeysində şəbəkə işləyicisi və onu USB/IP istifadə edərək uzaq USB cihazı kimi birləşdirin. Sözügedən üsul haqqında məlumat verib Ubuntu tərtibatçıları, lakin hələ heç bir düzəliş buraxılmayıb.

Mənbə: opennet.ru

Добавить комментарий