aksp — Advanced Kernel Self‑Protection

Zestaw zabezpieczeń wzmacniających jądro systemu Linux przed exploitami, rootkitami i nadużyciami przestrzeni jądra.

Otwórz repozytorium Instalacja

Opis projektu

Projekt aksp to eksperymentalny zestaw łatek i rozszerzeń bezpieczeństwa dla jądra Linux, którego celem jest utrudnienie eskalacji uprawnień, ukrywania procesów, manipulacji pamięcią oraz exploitów wykorzystujących luki w przestrzeni jądra. Motywacja projektu obejmuje:

  • ograniczanie technik wykorzystywanych przez współczesne rootkity,
  • wzmacnianie infrastruktury ochronnej kernela,
  • eksperymentowanie z agresywnymi mechanizmami obrony, które nie zawsze trafiają do upstream Linux.

Zestaw patchy jest dostosowany do wersji jądra używanej przez autora repozytorium i może wymagać adaptacji do innych wersji.

Najważniejsze funkcje

  • Wzmocniony SLUB allocator
    Dodatkowe kontrole integralności struktur i odporność na nadpisania w slotach pamięci.
  • Losowanie stosu
    Zwiększona nieprzewidywalność przestrzeni stosu procesów.
  • Ptrace hardening
    Surowsze reguły śledzenia / debugowania procesów.
  • Namespace escape defence
    Mechanizmy utrudniające wydostanie się z kontenerów.
  • Socket‑level hardening
    Dodatkowe kontrole dla niektórych operacji gniazd sieciowych.
  • Anti‑rootkit logic
    Wykrywanie anomalii i typowych artefaktów ukrywania obiektów jądra.

Instalacja i budowanie

Z uwagi na charakter projektu, instalacja zakłada kompilację własnego jądra lub modułu. Przykładowy proces:

git clone https://github.com/MindMaster72/aksp
cd aksp
# Zastosuj patch do drzewa jądra
patch -p1 < aksp.patch
# Kompilacja
make -j$(nproc)
# Instalacja jądra / modułów
make modules_install
make install
        

Przed kompilacją upewnij się, że posiadasz pełne źródła jądra, zgodne wersją z patchsetem.

Architektura i działanie

Patchset ingeruje w kluczowe obszary jądra:

  • alokatory pamięci (SLUB),
  • mechanizmy izolacji (namespaces, cgroups),
  • obsługę sygnałów i przełączania kontekstu,
  • warstwy sieciowe odpowiedzialne za kontrolę socketów,
  • procedury śledzenia, debugowania oraz inspekcji procesów.

Wprowadzane zmiany obejmują zarówno twarde reguły odrzucania operacji, jak i mechanizmy detekcji zachowań podejrzanych z punktu widzenia bezpieczeństwa.

Status projektu i przeznaczenie

Według autora repozytorium, projekt ma charakter eksperymentalny. Nie jest przeznaczony do produkcyjnych instalacji i może zawierać znaczące ograniczenia. Jego głównym celem jest edukacja, analiza technik ochronnych oraz badanie skutków różnych podejść do zabezpieczania kernela.

Patchset może być przydatny:

  • researcherom bezpieczeństwa,
  • twórcom własnych dystrybucji systemowych,
  • osobom analizującym rootkity lub techniki ataków na jądro.