UEFI Güvenli Önyüklemeyi Uzaktan Atlamak için Ubuntu'da Kilitleme Güvenliğini Devre Dışı Bırakma Yöntemleri

Google'dan Andrey Konovalov опубликовал korumayı uzaktan devre dışı bırakmanın yolu KilitlemeUbuntu ile birlikte gönderilen Linux çekirdek paketinde sunulmaktadır (teorik olarak önerilen yöntemler sahip Fedora çekirdeği ve diğer dağıtımlarla çalışır ancak test edilmez).

Kilitleme, kök kullanıcının çekirdeğe erişimini kısıtlar ve UEFI Güvenli Önyükleme atlama yollarını engeller. Örneğin, kilitleme modunda /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes hata ayıklama modu, mmiotrace, tracefs, BPF, PCMCIA CIS (Kart Bilgi Yapısı), bazılarına erişim arayüzler sınırlıdır, CPU'nun ACPI ve MSR kayıtları sınırlıdır, kexec_file ve kexec_load çağrıları engellenir, hazırda bekletme yasaktır, PCI aygıtları için DMA kullanımı sınırlıdır, EFI değişkenlerinden ACPI kodunun içe aktarılması yasaktır, I/O bağlantı noktalarıyla manipülasyonlara izin verilmez seri bağlantı noktası için kesme numarasını ve G/Ç bağlantı noktasını değiştirmek dahil.

Kilitleme mekanizması yakın zamanda ana Linux çekirdeğine eklendi 5.4, ancak dağıtımlarda sağlanan çekirdeklerde hala yamalar şeklinde uygulanıyor veya yamalarla destekleniyor. Dağıtım kitlerinde sağlanan eklentiler ile çekirdeğe yerleşik uygulama arasındaki farklardan biri, sisteme fiziksel erişiminiz varsa sağlanan kilitlemeyi devre dışı bırakabilme yeteneğidir.

Ubuntu ve Fedora'da Kilitlemeyi devre dışı bırakmak için Alt+SysRq+X tuş kombinasyonu sağlanmıştır. Alt+SysRq+X kombinasyonunun yalnızca cihaza fiziksel erişim ile kullanılabileceği, uzaktan hackleme ve root erişimi elde edilmesi durumunda saldırganın Kilitlemeyi devre dışı bırakamayacağı ve örneğin bir Çekirdeğe dijital olarak giriş yapılmamış bir kök kitine sahip modül.

Andrey Konovalov, kullanıcının fiziksel varlığını doğrulamaya yönelik klavye tabanlı yöntemlerin etkisiz olduğunu gösterdi. Kilitlemeyi devre dışı bırakmanın en basit yolu yazılım olacaktır simülasyon /dev/uinput yoluyla Alt+SysRq+X tuşlarına basın, ancak bu seçenek başlangıçta engellenir. Aynı zamanda, Alt+SysRq+X için en az iki ikame yöntemini daha tanımlamak mümkündü.

İlk yöntem "sysrq-trigger" arayüzünü kullanmayı içerir - simüle etmek için, /proc/sys/kernel/sysrq dosyasına "1" yazarak bu arayüzü etkinleştirmeniz ve ardından /proc/sysrq-trigger dosyasına "x" yazmanız yeterlidir. Söz konusu boşluk elendi Aralık ayındaki Ubuntu çekirdek güncellemesinde ve Fedora 31'de. Geliştiricilerin, /dev/uinput durumunda olduğu gibi, başlangıçta denenmiş bu yöntemi engelle, ancak engelleme nedeniyle işe yaramadı Hatalar kodda.

İkinci yöntem, klavye emülasyonunu içerir. USB/IP ve ardından sanal klavyeden Alt+SysRq+X dizisinin gönderilmesi. Ubuntu ile birlikte gönderilen USB/IP çekirdeği varsayılan olarak etkindir (CONFIG_USBIP_VHCI_HCD=m ve CONFIG_USBIP_CORE=m) ve işlem için gereken dijital olarak imzalanmış usbip_core ve vhci_hcd modüllerini sağlar. Saldırgan şunları yapabilir: создать sanal USB aygıtı, koşarak ağ işleyicisini geridöngü arayüzüne bağlayıp USB/IP kullanarak uzak bir USB cihazı olarak bağlamak. Belirtilen yöntem hakkında bildirildi Ubuntu geliştiricilerine, ancak henüz bir düzeltme yayınlanmadı.

Kaynak: opennet.ru

Yorum ekle