Samstag, 04. Mai 2024

Archiv


Schlösser für die Hintertüren zum Rechner

Der Wurm W32.Blaster hat uns wieder einmal die Augen geöffnet - Sicherheitslöcher gibt es überall. Egal ob ein offener Internet-Port die Schädlinge anzieht oder ein Buffer-Overflow die Tore öffnet - schlampig programmierte Betriebssystemteile und von unbekümmerten Programmierern eingebaute Hintertürchen sorgen für enormen Schaden. Diese Hintertürchen will jetzt der amerikanische Geheimdienst NSA gezielt aufspüren.

06.09.2003
    Von Holger Bruns

    Die National Security Agency, in den USA auch zuständig für die Sicherheit von Rechnernetzen, fordert jetzt ein so genanntes Backdoor Detection Center, um Hintertüren in Softwaresystemen zu bekämpfen. Unter Hintertüren versteht man verborgene Zugänge, über die Eindringlinge den Zugang zu meist sensiblen Datenbeständen erhalten. In einer Anhörung vor dem amerikanischen Comittee of Homeland Security kritisierte der NSA-Vertreter Daniel Wolf, daß es keine Tools gibt, die sowohl Quellcode als auch den Binärcode nach Manipulationen durchsuchen. Ein Thema, das auch deutsche Sicherheitsfachleute interessiert. Klaus Moeller vom DFN-CERT in Hamburg wünscht sich ein solches Tool schon lange, bleibt aber skeptisch.

    Das ist in der Praxis schon einigermaßen schwierig. Es gibt theoretische Überlegungen dazu, die gehen bis auf das Jahr 1984 und früher zurück, wo man zum Beispiel zeigen kann, dass man die Hintertür nicht im eigentlichen Programm versteckt, sondern zum Beispiel im Compiler. Und damit ist die Hintertür im eigentlichen Programmcode nicht aufzufinden, zumindest im Sourcecode nicht, sondern nur im Binärcode. Und den zu analysieren, ist derzeit deutlich schwieriger. Es gibt weitere Überlegungen auch aus dem Bereich des so genannten Hacker-Untergrunds, die zeigen, dass man in der Praxis sich zum Beispiel mit gewöhnlichen Scans nicht entdeckbare Hintertüren bauen kann. Das ist im Phreak Magazine vor einigen Jahren veröffentlicht worden. Also es ist in der Praxis schon schwierig, solche Werkzeuge zu entwickeln, die etwas anderes an rein triviale Hintertüren aufspüren.

    Zu diesen trivialen Hintertüren gehört ein beispweise die Open-Source-Version der Borland Interbase Datenbank, ein Entwicklungspaket für Datenbank-anwendungen. Klaus Moeller:

    Diese Datenbank hat eine vom Entwickler selbst entwickelte Hintertür gehabt, beziehungsweise vom Entwicklerteam. Die konnte man über einen bestimmten TCP-Port erreichen und sich dann dort mit einem bestimmten Useraccount einloggen und beliebige Veränderungen in der Datenbank vornehmen. Und dieser Account und diese Hintertür, die waren auch mit den Bordmitteln der Datenbank nicht zu entfernen.

    Korrupte Software-Entwickler und Spione könnten solche Schadroutinen in beinahe jedes Softwaresystem einbauen und sind diesbezüglich bis jetzt nicht zu kontrollieren. Was bleibt, ist die Schadensbegrenzung. Was ein CERT erreichen kann, erläutert Klaus Moeller so:

    Man kann die Häufigkeit von Einbrüchen verringern und man kann die Schwere der Folgen deutlich abmildern. Und eine wichtige Maßnahme ist eigentlich die so genannte Minimierung der Angriffsfläche. Das heißt, dass man die Dienste und Programme, die man nicht benötigt, abschaltet und in zweiter Linie auch versucht, auf möglichst viele Automatismen zu verzichten, also was gerade das automatische Ausführen heruntergeladener Programme oder Programmteile anbetrifft. Es läßt sich in entsprechenden Browsern und Mailprogrammen heutzutage abschalten, ist häufig aber per default aktiviert. Und es ist eines der großen Einfallstore für Viren und Würmer.

    Während sich Viren und Würmer noch relativ leicht mit Virenscannern aufstöbern lassen, bleiben hartnäckige Sicherheitslöcher lange unentdeckt. Ein Grund für solche Sicherheitslöcher ist der Puffer-Überlauf, der bedeutet, dass plötzlich Daten von überall her aus dem gesamten System abrufbar sind. Er ist der Angewohnheit der C-Programmierer geschuldet, zwecks Geschwindigkeitsoptimierung auf die Überprüfung von Bereichsgrenzen zu verzichten.

    Im wesentlichen lernt die Szene langsam bis gar nicht dazu, wobei die Erkenntnisse schon da sind, aber die Umsetzung in der Praxis erfolgt sehr langsam. Es gibt eine Keynote aus der Konferenz von 1999. Da hat ein Multix-Entwickler gesagt, daß das Thema Buffer Overflow schon seit 30 Jahren bekannt ist.

    Die Experten für sichere Computersysteme müssen sich also vor allem mit historisch gewachsenen Folgen schlampiger Programmierung befassen.