Zum Inhalt springen

Symlink bug

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. Februar 2004 um 01:14 Uhr durch D (Diskussion | Beiträge) (so.. ersma..). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Um die Entstehung des Symlink-Bugs zu verstehen, muß man wissen, dass auf einigen Betriebssystemen der Inhalt einer Datei unter unterschiedlichen Dateinamen auch in unterschiedlichen Verzeichnissen zugegriffen werden kann. Dazu wird unter einem beliebigen Namen ein sogenannter Symlink angelegt, der nichts als ein Verweis auf den Namen, unter der die Datei wirklich zu finden ist darstellt. Diese Fähigkeiten besitzen vor allem Unix-ähnliche Systeme wie Linux und Max OS X, aber auch der Amiga. Systeme aus der Windows-Linie beherrschen keine wirklichen Links auf Dateisystem-Ebene, sie können nur durch sogenannte .lnk-Dateien in Grenzen simuliert werden.

Auf einem Mehrbenutzersystem können Dateien üblicherweise durch Vergabe von Rechten davor geschützt werden, von unbefugten Benutzern gelöscht, gelesen, ausgeführt oder verändert zu werden. Außerdem legen viele Programme Dateien an vorhersehbaren Pfaden (=Ordner/Name) an. Eine Symlink-Attacke ermöglicht es einem Angreifer das Ändern von Dateien, zu deren Änderung er nicht berechtigt ist, einfach eine anderen, entsprechend berechtigten Benutzer erledigen zu lassen. Dazu legt er einer Stelle, wo er weiß, daß ein Programm dieses berechtigten Benutzers in absehbarer Zeit eine Datei anlegen wird einen Symlink auf die zu ändernde Datei. Wenn jetzt im Programm, was leider nur allzuoft vorkommt, vor dem Beschreiben der Datei nicht überprüft wird, ob bereits ein solcher Symlink existiert, hat der Angreifer gewonnen.