Andrey Konovalov, podzielił się metodą wyłączania blokady

Andriej Konowałow Inżynier oprogramowania Google, ujawnił metodę zdalnego wyłączania ochrony przed blokowania oferowane w jądrze Linux dostarczonym w Ubuntu. Z którym pokazuje, że metody ochrony są nieskuteczne, a ponadto wspomina, że ​​metody, które ujawnił teoretycznie, powinny działać z jądrem Fedory i innymi dystrybucjami (ale nie zostały przetestowane).

Dla nieświadomych Lockdown, powinni wiedzieć, że jest to składnik jądra Linuksa Jego główną funkcją jest ograniczenie dostępu użytkownika root do jądra systemu i tę funkcjonalność został przeniesiony do modułu LSM opcjonalnie załadowany (Linux Security Module), który tworzy barierę między UID 0 a jądrem, ograniczając niektóre funkcje niskiego poziomu.

Dzięki temu funkcja blokady może być oparta na zasadach, a nie na sztywnym kodowaniu niejawnej polityki w mechanizmie, tak więc blokada zawarta w module bezpieczeństwa Linuksa zapewnia implementację z prostą polityką przeznaczone do użytku ogólnego. Ta zasada zapewnia poziom szczegółowości kontrolowany za pomocą wiersza poleceń jądra.

O blokadzie

Blokada ogranicza dostęp roota do jądra i blokuje ścieżki obejścia bezpiecznego rozruchu UEFI.

Na przykład w trybie blokady dostęp do / dev / mem, / dev / kmem, / dev / port, / proc / kcore, debugfs, tryb debugowania kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS, między innymi, niektóre interfejsy są ograniczone, jak również rejestry ACPI i MSR procesora.

Podczas gdy wywołania kexec_file i kexec_load są zablokowane, tryb uśpienia jest zabroniony, użycie DMA dla urządzeń PCI jest ograniczone, importowanie kodu ACPI ze zmiennych EFI jest zabronione, a manipulowanie portami wejścia / wyjścia, w tym zmiana numeru przerwania i I / O port dla portu szeregowego.

Jak niektórzy mogą wiedzieć, mechanizm blokada została dodana w jądrze Linuksa 5.4, ale nadal jest zaimplementowany w postaci łatek lub uzupełniony o łatki na jądra dostarczane z dystrybucjami.

Tutaj jedną z różnic między wtyczkami dostarczanymi w dystrybucjach a implementacją osadzonego jądra jest możliwość wyłączenia blokady zapewnianej, gdy istnieje fizyczny dostęp do systemu.

Ubuntu i Fedora używają kombinacji klawiszy Alt + SysRq + X aby wyłączyć blokadę. Rozumie się, że połączenie Alt + SysRq + X może być używany tylko z fizycznym dostępem do urządzenia, aw przypadku zdalnego ataku i dostępu do roota, atakujący nie będzie w stanie wyłączyć blokady.

Blokadę można wyłączyć zdalnie

Andrei Konovalov to udowodnił metody związane z klawiaturą dla potwierdzanie fizycznej obecności użytkownika są bezskuteczne.

él ujawnił, że najłatwiejszym sposobem wyłączenia blokady byłaby symulacja naciśnij Alt + SysRq + X przez / dev / uinput, ale ta opcja jest początkowo zablokowana.

Ale co najmniej dwa dodatkowe sposoby na zastąpienie Alt + SysRq + X.

  • Pierwsza metoda polega na użyciu interfejsu wyzwalacz sysrq: aby zasymulować, po prostu włącz ten interfejs, wpisując "1" / proc / sys / kernel / sysrq a następnie wpisując „x” / proc / sysrq-trigger.
    Ta luka została naprawiona w grudniowej aktualizacji jądra Ubuntu oraz w Fedorze 31. Warto zauważyć, że programiści, podobnie jak w przypadku / dev / uinput, początkowo próbowali zablokować tę metodę, ale blokowanie nie działało z powodu błędu w kodzie.
  • Drugą metodą jest emulowanie klawiatury przez USB / IP, a następnie wysłanie sekwencji Alt + SysRq + X z wirtualnej klawiatury.
    W jądrze USB / IP dostarczane przez Ubuntu jest domyślnie włączone i moduły usbip_core y vhci_hcd niezbędne są opatrzone wymaganym podpisem cyfrowym.
    Atakujący może utworzyć wirtualne urządzenie USB, uruchamiając kontroler sieciowy w interfejsie sprzężenia zwrotnego i podłączając go jako zdalne urządzenie USB za pomocą USB / IP.

Określona metoda została zgłoszona programistom Ubuntu, ale rozwiązanie nie zostało jeszcze wydane.

źródło: https://github.com


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.