Kernel-Adressen verbergen

Geringes Risiko In IbexWall standardmäßig angehakt Katalog geprüft: 2026-11-05

Programme ohne besondere Rechte können nicht mehr lesen, wo etwas im Kernel-Speicher liegt. Angreifer nutzen diese Adressen, um Exploits gezielt auszurichten.

Warum es wichtig ist

Viele Kernel-Exploits müssen genau wissen, wo bestimmter Code oder bestimmte Daten im Speicher liegen. Kernel-Adressen können über mehrere Schnittstellen lecken, und ein Angreifer, der bereits ein Programm auf Ihrem Rechner laufen hat, kann sie sammeln und den Exploit genau zielen. Sie zu verbergen behebt keinen Fehler, nimmt dem Angreifer aber eine Karte, die er sonst benutzen würde.

Wie es funktioniert

Setzt den Kernelparameter kernel.kptr_restrict auf 2. Kernel-Zeiger, die im Format %pK ausgegeben werden, erscheinen dann für jeden Benutzer, auch root, als Nullen. Der Wert 1 verbirgt sie nur für Benutzer ohne die Capability CAP_SYSLOG.

Für wen es sich eignet

Passt auf fast jeden Desktop und Server. Lassen Sie 0 oder 1, wenn Sie den Kernel selbst debuggen oder auf einer Entwicklungsmachine Profiling-Werkzeuge nutzen, die echte Kernel-Adressen brauchen.

Was Sie bemerken könnten

Meist nichts. Werkzeuge wie perf können warnen, dass Kernel-Adresskarten eingeschränkt sind, und /proc/kallsyms zeigt sogar root Nullen.

Auf Ihrem Computer prüfen

Den aktuellen Wert lesen:

sysctl kernel.kptr_restrict

Von Hand anwenden

Jetzt setzen (bis zum nächsten Neustart):

sudo sysctl -w kernel.kptr_restrict=2

Nach Neustarts beibehalten, in einer eigenen Datei:

sudo tee /etc/sysctl.d/90-kernel-kptr-restrict.conf <<'EOF'
kernel.kptr_restrict = 2
EOF
sudo sysctl --system

Rückgängig machen

Entfernen Sie die Datei und starten Sie neu, oder setzen Sie den alten Wert mit sysctl -w zurück.

Verwandte Einstellungen

Quellen

Linux Hardening Guide (madaidans)
2.2.1
Linux kernel documentation
kernel.kptr_restrict