Metode untuk Menonaktifkan Lockdown Security di Ubuntu untuk Bypass UEFI Secure Boot Remotely

Andrey Konovalov dari Google diterbitkan cara untuk menonaktifkan perlindungan dari jarak jauh Lockdownditawarkan dalam paket kernel Linux yang dikirimkan bersama Ubuntu (metode yang diusulkan secara teoritis memiliki bekerja dengan kernel Fedora dan distribusi lainnya, tetapi tidak diuji).

Lockdown membatasi akses pengguna root ke kernel dan memblokir jalur bypass UEFI Secure Boot. Misalnya, dalam mode lockdown, akses ke /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, mode debugging kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Struktur Informasi Kartu), beberapa antarmuka dibatasi register ACPI dan MSR pada CPU, panggilan ke kexec_file dan kexec_load diblokir, mode tidur dilarang, penggunaan DMA untuk perangkat PCI dibatasi, impor kode ACPI dari variabel EFI dilarang, manipulasi dengan port I/O tidak diperbolehkan diperbolehkan, termasuk mengubah nomor interupsi dan port I/O untuk port serial.

Mekanisme Lockdown baru-baru ini ditambahkan ke kernel Linux utama 5.4, namun pada kernel yang disediakan di distro masih diimplementasikan dalam bentuk patch atau dilengkapi dengan patch. Salah satu perbedaan antara add-on yang disediakan dalam kit distribusi dan implementasi yang dibangun di dalam kernel adalah kemampuan untuk menonaktifkan penguncian yang disediakan jika Anda memiliki akses fisik ke sistem.

Di Ubuntu dan Fedora, kombinasi tombol Alt+SysRq+X disediakan untuk menonaktifkan Lockdown. Dapat dipahami bahwa kombinasi Alt+SysRq+X hanya dapat digunakan dengan akses fisik ke perangkat, dan dalam kasus peretasan jarak jauh dan mendapatkan akses root, penyerang tidak akan dapat menonaktifkan Lockdown dan, misalnya, memuat a modul dengan rootkit yang tidak masuk secara digital ke dalam kernel.

Andrey Konovalov menunjukkan bahwa metode berbasis keyboard untuk mengonfirmasi kehadiran fisik pengguna tidak efektif. Cara paling sederhana untuk menonaktifkan Lockdown adalah dengan cara terprogram simulasi menekan Alt+SysRq+X melalui /dev/uinput, tetapi opsi ini awalnya diblokir. Pada saat yang sama, dimungkinkan untuk mengidentifikasi setidaknya dua metode substitusi Alt+SysRq+X.

Metode pertama melibatkan penggunaan antarmuka “sysrq-trigger” - untuk mensimulasikannya, cukup aktifkan antarmuka ini dengan menulis “1” ke /proc/sys/kernel/sysrq, lalu tulis “x” ke /proc/sysrq-trigger. Celah tersebut dihilangkan pada pembaruan kernel Ubuntu bulan Desember dan di Fedora 31. Patut dicatat bahwa para pengembang, seperti dalam kasus /dev/uinput, pada awalnya mencoba blokir metode ini, tetapi pemblokiran tidak berhasil karena Kesalahan dalam kode.

Metode kedua melibatkan emulasi keyboard melalui USB/IP dan kemudian mengirimkan urutan Alt+SysRq+X dari keyboard virtual. Kernel USB/IP yang dikirimkan bersama Ubuntu diaktifkan secara default (CONFIG_USBIP_VHCI_HCD=m dan CONFIG_USBIP_CORE=m) dan menyediakan modul usbip_core dan vhci_hcd yang ditandatangani secara digital yang diperlukan untuk pengoperasian. Penyerang bisa untuk membuat perangkat USB virtual, diluncurkan pengendali jaringan pada antarmuka loopback dan menghubungkannya sebagai perangkat USB jarak jauh menggunakan USB/IP. Tentang metode yang ditentukan dilaporkan untuk pengembang Ubuntu, namun perbaikan belum dirilis.

Sumber: opennet.ru

Tambah komentar