22.01.2007 15:13
Setuid-Programme sind auf Unix-Systemen ein Standardmechanismus, um bestimmte Aktivitäten mit anderen Rechten als denen des angemeldeten Benutzers auszuführen, der seit über zwanzig Jahren zum Einsatz kommt. Genauso lange ist bekannt, dass dies ein Sicherheitsrisiko darstellt und welche minimalen Sicherheitsvorkehrungen man dabei zu treffen hat. Dies scheint sich jedoch noch nicht zu den Entwicklern von Mac OS X herumgesprochen zu haben. So verwenden die Systemeinstellungen das Hilfsprogramm writeconfig, das als Setuid-Root-Programm immer mit den Rechten des Administrators läuft. Dies ruft unter anderem das Shell-Skript /sbin/service auf, welches wiederum launchctl startet. Dabei werden gleich mehrere elementare und altbekannte Sicherheitsregeln außer Acht gelassen:
In diesem Fall kann sich ein lokales Programm unter Mac OS X Root-Rechte verschaffen, indem es die Systemeinstellungen mit einer speziellen Pfad-Variable öffnet. Ob dies die Mitwirkung des Anwenders erfordert, ist bislang nicht ganz klar – bisherige Demonstrationen kommen jedenfalls nicht ohne aus.
Doch das ist sekundär. Viel beunruhigender als das konkrete Problem ist die Tatsache, welch elementare Sicherheitskonzepte bei der Entwicklung von Mac OS X offenbar außer Acht gelassen wurden. Wirklich alarmierend ist, dass dieses Problem der internen Qualitätssicherung entgangen ist. Denn Setuid-Programme sind die erste Anlaufstelle für jeden, der auf einem System nach Sicherheitslücken sucht, derartige Fehler sind recht einfach aufzuspüren. Es ist durchaus naheliegend, dass Mac OS X weitere ähnliche Fehler aufweist. Ein kurzer Test von heise Security erbrachte jedenfalls, dass writeconfig drei weitere Shell-Skripte aufruft.
Um sich vor diesem konkreten Problem zu schützen, genügt es, oben in /sbin/service eine Zeile wie:
export PATH="/bin:/sbin:/usr/sbin:/usr/bin"
einzufügen, die eine saubere Pfad-Variable definiert.
Siehe dazu auch:
(ju/c't)
Version zum Drucken | Per E-Mail versenden | Newsletter abonnieren
Kommentare lesen (616 Beiträge)
Themen-Forum Schwachstellen
English version: Beginners' mistakes in Mac OS X
Programmieren von Exploits
Sieben Tutorials zeigen alles, was man wissen muss, um zuverlässige Exploits für Buffer Overflows in Software zu schreiben
mehr...
TLS-Renegotiation-Schwachstelle erklärt
Anhand einfacher Grafiken zeigt Thierry Zoller, wie sich die TLS-Renegotiation-Schwachstelle ausnutzen lässt.
mehr...
Security Operations von Innen
Im Security Operations Center (SOC) überwacht Symantec aus der Ferne die Netzwerke seiner Kunden auf Hackerangriffe und verdächtige Aktivitäten. Wir haben uns das SOC von innen angeschaut.
mehr...
Sicherheitslücken in Add-ons gefährden Firefox-Anwender
ENISA-Studie hilft bei Risikoabschätzung für Cloud Computing
Fedora rudert bei den Installationsrechten zurück
PHP 5.3.1: Bug-Fixes und Sicherheitskorrekturen
Forderungen nach mehr Videoüberwachung für Sicherheit in Bus und Bahn
ONLINE MARKT
Werbung