927916

Lücken im System

27.10.2004 | 11:29 Uhr |

Schließen die regelmäßigen Updates für das Mac-OS gefährliche Lücken oder sind sie Baldrian für Kontrollfreaks? Die Wahrheit liegt wie so oft in der Mitte.

Von Matthias Zehden

Unter dem Begriff Sicherheitslöcher fasst man diverse sehr unterschiedliche Einbruchsmöglichkeiten zusammen, die aber immer wieder auf die gleichen Aktionen hinauslaufen. Sie erlauben etwa einem Angreifer, Befehle mit den Rechten eines anderen Benutzers auszuführen beziehungsweise Programme in dessen Namen zu starten. Oder sie ermöglichen ihm das Lesen von Daten, für er eigentlich keine Zugriffsrechte hat. Letztlich könnte sich ein Angreifer mit Hilfe einer Sicherheitslücke auch als jemand anders ausgeben.
Neben diesen Zugriffsversuchen unterschiedlicher Art, gibt es auch noch Lücken, die reine Sabotageakte erlauben. So genannte "Denial of Service"-Angriffe (DoS) haben zum Ziel, einen Service, zum Beispiel einen Mail- oder Webserver, schlicht außer Funktion zu setzen indem sie ihn überlasten oder auch komplett zum Absturz bringen.

Buffer Overflow

Soviel zur Theorie. Wie das ganze in der Praxis aussehen kann, wollen wir kurz anhand konkreter Fälle zeigen. Das aktuelle Security Update behebt beispielsweise einen Fehler in Quicktime, der beim Öffnen eines BMP-Bildes zu einem "Buffer Overflow" führen konnte in dessen Folge im Bild versteckter Code ausgeführt wurde.
Dabei passiert vereinfacht folgendes. Ein Programm, hier Quicktime, legt Daten im Speicher ab, wofür es vorher einen Speicherbereich reserviert. Vergisst der Programmierer eine Prüfung einzubauen, ob die zu schreibenden Daten auch tatsächlich in den dafür vorgesehenen Speicher passen, kann es passieren, dass angrenzende Bereiche des Speichers versehentlich überschrieben werden. Kommt es dazu, spricht man vom Buffer Overflow, zu deutsch Puffer- oder Speicherüberlauf.
In den meisten Fällen führt der Überlauf direkt zum Programmabsturz, da unkontrolliert Daten des Programms überschrieben werden. Findige Programmierer können eine solche Situation aber manchmal auch dazu nutzen, eigene Befehle direkt im Speicher abzulegen und dadurch vom laufenden Programm ausführen zu lassen. Im beschriebenen Fall müssten sie die entsprechenden Daten in einem manipulierten BMP-Bild unterbringen. Zum Öffnen einer Shell braucht man nicht einmal ein Kilobyte Code. Der Speicherschutz des Betriebssystems greift hierbei übrigens nicht, da er nur verhindert, dass sich unterschiedliche Programme gegenseitig etwas in die jeweiligen Speichersegmente schreiben.

0 Kommentare zu diesem Artikel
927916