Kernel 3.6 soll Symlink-Angriffe erschweren

09.10.2012

Der kommende Kernel 3.6 beschränkt das Anlegen von harten und symbolischen Links und behebt damit eine ganze Klasse von Sicherheitslücken.

Diese Schwächen treten auf, wenn ein normaler Anwender einen symbolischen Link auf eine Datei anlegt, die er nicht beschreiben darf. Handelt es sich um eine Systemdatei oder eine temporäre in "/tmp", kann es vorkommen, dass ein Root-Prozess dem Link folgt und die gewünschte Änderung an der Datei für einen Angreifer ausführt. Um das zu verhindern, wird Linux 3.6 solchen Links nicht mehr folgen, wenn sie sich in einem Verzeichnis wie "/tmp" befinden, das für alle Benutzer beschreibbar ist und Berechtigungen per Sticky-Bit vererbt. Daneben muss die UID des Links gleich der des Prozesses sein oder der selbe Benutzer Link und Zieldatei besitzen. Hardlinks darf nur anlegen, wer Eigentümer der Zieldatei ist.

Damit beugt der kommende Kernel Sicherheitsschwächen des Typs Time-of-Check-to-Time-of-Use vor, insbesondere der Symlink-Schwachstelle. Die Diskussion über solche Vorkehrungen habe es bereits im Jahr 1996 gegeben, schreibt der Entwickler Kees Cook in seiner Commit-Nachricht .

Die jetzt für das Linux-VFS gewählte Implementierung stammt von der Distribution Openwall und dem Patchset Grsecurity. Daneben hat der Kernelentwickler Al Viro einige Anregungen gegeben. Distributionen wie Openwall sowie auch Ubuntu oder Chrome OS benutzen bereits länger derartige Link-Beschränkungen. Diese können Probleme mit dem At-Daemon verursachen, die sich aber beheben lassen, wie etwa Ubuntu zeigt.

[Diese Meldung stammt von Linux-Magazin Online ]

Ähnliche Artikel

comments powered by Disqus
Mehr zum Thema

LKRG: Kernelmodul soll Linux vor Exploits schützen

Die Openwall-Entwickler haben ein neues Kernelmodul veröffentlicht, dessen Entwicklung noch ganz am Anfang steht.

Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023