Odkryli problemy z bezpieczeństwem w łatkach jądra Linuksa zaproponowanych przez pracownika Huawei

Twórcy projektu Grsecurity opublikował informacje o kwestiach bezpieczeństwa które zostały znalezione w proponowanej łatce poprawiającej bezpieczeństwo jądra Linuksa przez pracownika Huawei, obecność trywialnie wykorzystywanej luki w zestawie poprawek HKSP (Ochrona własna jądra Huawei).

Te łatki „HKSP” zostały opublikowane przez pracownika Huawei 5 dni temu i zawierają wzmiankę o Huawei w profilu GitHub oraz wykorzystują słowo Huawei w dekodowaniu nazwy projektu (HKSP – Huawei Kernel Self Protection), mimo że pracownik wspomina że projekt nie ma nic wspólnego z firmą i jest własnego autorstwa.

Ten projekt przeprowadził moje badania w wolnym czasie, nazwę hksp nadałem sam, nie jest ona powiązana z firmą Huawei, nie ma produktu Huawei używającego tego kodu.

Ten kod poprawki został stworzony przeze mnie, ponieważ dana osoba nie ma wystarczającej mocy, aby pokryć wszystko. Dlatego brakuje mechanizmów zapewniania jakości, takich jak przegląd i testowanie.

O HKSP

HKSP zawiera zmiany, takie jak randomizacja kompromisy w strukturze, ochrona przed atakami na przestrzeń nazw ID użytkownika (przestrzeń nazw pid), separacja stosów technologicznych obszar mmap, wykrywanie podwójnych wywołań funkcji kfree, blokowanie wycieków przez pseudo-FS / proc (/ proc / {moduły, klucze, użytkownicy kluczy}, / proc / sys / kernel / * i / proc / sys / vm / mmap_min_addr, / proc / kallsyms), ulepszona randomizacja adresów w przestrzeni użytkownika, dodatkowa ochrona Ptrace, ulepszona ochrona smap i smep, możliwość zakazania przesyłania danych przez surowe gniazda, blokowanie adresów Nieprawidłowe na gniazdach UDP i sprawdzeniach oraz integralność uruchomionych procesów.

Framework zawiera także moduł jądra Ksguard, którego zadaniem jest identyfikowanie prób wprowadzenia typowych rootkitów.

Naszywki wzbudziły zainteresowanie Grega Kroaha-Hartmana, odpowiedzialny za utrzymanie stabilnej gałęzi jądra Linuksa, który poprosił autora o podzielenie monolitycznego patcha na części, aby uprościć recenzję i awans do kompozycji centralnej.

Kees Cook (Kees Cook), szef projektu promującego technologię aktywnej ochrony w jądrze Linuksa, również pozytywnie wypowiadał się na temat poprawek i problemów, zwrócił uwagę na architekturę x86 i charakter powiadamiania w wielu trybach tylko logowania, informacje o problemie, ale nie próbuje tego blokować.

Badanie łatki przeprowadzone przez twórców Grsecurity ujawnił wiele błędów i słabości w kodzie wykazało także brak modelu zagrożeń pozwalającego na odpowiednią ocenę możliwości projektu.

Aby zilustrować, że kod został napisany bez użycia bezpiecznych metod programowania, Przykład trywialnej luki znajduje się w procedurze obsługi pliku /proc/ksguard/state, która jest tworzona z uprawnieniami 0777, co oznacza, że ​​każdy ma prawo do zapisu.

Funkcja ksg_state_write używana do parsowania poleceń zapisanych w / proc / ksguard / state tworzy bufor tmp [32], w którym dane są zapisywane w oparciu o rozmiar przekazanego operandu, bez uwzględnienia rozmiaru bufora docelowego i bez sprawdzania parametr z rozmiarem łańcucha. Innymi słowy, aby nadpisać część stosu jądra, atakujący musi tylko napisać specjalnie spreparowaną linię w / proc / ksguard / state.

Po otrzymaniu odpowiedzi deweloper skomentował na stronie GitHub projektu „HKSP”. z mocą wsteczną po odkryciu luki dodano również notatkę, że projekt postępuje w wolnym czasie na badania.

Dziękujemy zespołowi ds. bezpieczeństwa za znalezienie wielu błędów w tej łatce.
ksg_guard to przykładowy plik POC do wykrywania rootkitów na poziomie jądra, komunikacja między użytkownikiem a jądrem polega na uruchomieniu interfejsu proc. Moim celem źródłowym jest szybkie sprawdzenie pomysłu, więc nie dodaję wystarczającej liczby kontroli bezpieczeństwa.

Właściwie sprawdzenie rootkita na poziomie jądra wymaga jeszcze omówienia ze społecznością, czy konieczne jest zaprojektowanie narzędzia ARK (anty rootkit) dla systemu Linux…


Bądź pierwszym który skomentuje

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.