Peinliche Panne

Am 17.September erschütterte die Internet-Mailing-Liste der 'Cypherpunks' einmal mehr den Glauben an eine sichere Kommunikation im Internet: Zwei Studenten im ersten Semester der Universität Berkeley, Ian Goldberg und David Wagner, offenbarten einen Designfehler des Web-Browsers Netscape Navigator.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 5 Min.
Von
  • Holger Reif

Es sei möglich, den für die Verschlüsselung geheimer Daten mit dem SSL-Protokoll verwendeten Masterkey mit einer gewöhnlichen Workstation binnen kürzester Zeit zu ermitteln. Nachdem Netscape erst kürzlich durch erfolgreiche Angriffe auf SSL-Verbindungen mit einer Schlüssellänge von 40 Bit unverschuldet in die Schlagzeilen geriet, sieht sich die Firma wiederum der öffentlichen Kritik ausgesetzt, diesmal allerdings zu Recht. Brute-Force-Attacken probierten bisher einfach mit großer CPU-Leistung den durch US-Exportbeschränkungen auf 240 Schlüssel verringerten Vorrat durch; bei der vollen Schlüssellänge von 128 Bit ist diese Methode heute undurchführbar. Goldberg und Wagner nutzten dagegen eine andere Schwäche: Netscape hatte den Pseudozufallszahlengenerator (PRNG) dilettantisch realisiert. Dieser PRNG erzeugt unter anderem den Masterkey für das SSL-Protokoll. Ein PRNG produziert allerdings keine wirklichen Zufallszahlen, sondern eine deterministische Reihe von Zahlen, die zufällig erscheinen. Die Werte dieser Zahlenreihe resultieren aus einem bestimmten Startwert, mit dessen Kenntnis (und der des Algorithmus) die gesamte Reihe zu errechnen ist.

Genau dieses Wissen verschafften sich Goldberg und Wagner. Aus dem Programmcode schlossen sie nicht nur auf die Funktionsweise des PRNG, sondern ermittelten auch, wie der Startwert zustande kommt: Unter Unix aus systemspezifischen Daten - der Prozeß-ID des Navigators und des aufrufenden Prozesses sowie des Startzeitpunkts -, auf die mit Ausnahme der Mikrosekunden jeder Nutzer des Systems Zugriff hat. Ein Angreifer braucht nur den Mikrosekundenbereich (knapp 220 Werte) zu durchsuchen, um den Startwert zu finden. Selbst wenn sich der Angreifer keinen direkten Zugang zum System verschafft, kann er durch Schätzen der Prozeßdaten den Suchbereich auf unter 230 Startwerte eingrenzen - das ist weniger als ein Millionstel des Aufwandes, den das Probieren aller 240 Schlüssel der Exportversion benötigte. Da das Problem auch die US-Version mit 128-Bit-Schlüsseln betrifft, schloß Netscape-Kundin Wells Fargo ihren Online-Bankschalter bis auf weiteres. Netscape hat ebenfalls offenbart, daß nicht nur Unix betroffen ist: Auch die Startwerterzeugung auf Windows- und Mac-Systemen beruhe auf der Systemzeit. Diese Leichtfertigkeit betrifft auch den kommerziellen Web-Server, den Netscape für fünfstellige Summen verkauft. Die gleiche fehlerhafte Initialisierungsroutine kommt bei der Generierung des RSA-Schlüsselpaars zum Einsatz, dessen geheimer Teil zusammen mit dem Zertifikat die Echtheit des Servers bezeugen soll. Der Aufwand zum Knacken des Geheimschlüssels ist zwar deutlich höher als zum Brechen des Masterkeys - aber ein Betrug allemal lohnender. Netscape arbeitet an einem Patch der Programmdateien, der mit dem Erscheinen der vorliegenden Ausgabe kostenlos bereitstehen sollte. Patches für die Nutzer des Commerce Servers wird es ebenfalls geben, gemeinsam mit dem Angebot kostenloser neuer Zertifikate von der Firma Verisign. Den sicherheitsrelevanten Code will Netscape zuvor durch ein Expertenteam von RSA überprüfen lassen; Netscape hatte ein Angebot von dort für eine unabhängige Überprüfung des Codes zuvor abgelehnt. Mittlerweile ist der strittige Teil der Quellen offengelegt, um einer größeren Anzahl von Kryptographieexperten die Möglichkeit zur Stellungnahme zu geben. Außerdem ersucht Netscape die 'Cypherpunks'-Mitglieder um Vorschläge für die Realisierung nicht vorhersagbarer Startwerte.

Zusammen mit den Security-Patches wird Netscape hoffentlich auch einen im Rummel um die 'Zufallszahlen' untergegangenen Bug beseitigen, der in der Praxis noch gefährlicher ist und ebenfalls auf Nachlässigkeit bei der Programmierung des Navigators beruht: ein URL mit einem überlangen Domain-Namen läßt einen statisch auf dem Stack angelegten Puffer überlaufen. Dadurch ist bei Kenntnis des Assemblercodes prinzipiell jedes beliebige Programm mit den Rechten des arglosen Nutzers ausführbar, der einen speziell präparierten Link anklickt oder eine Animation laufen läßt. Leider sind diese Probleme auch bei anderen Browsern wie X-Mosaic, Arena oder Lynx verifiziert worden – ähnliche Schlampereien öffneten bereits 1988 dem berüchtigten Internet-Worm Tür und Tor. Die Netscape-Panne macht einmal mehr deutlich, daß der beste Krypto-Algorithmus bei laienhafter Implementation zum Scheitern verurteilt ist. Nach anfänglichem Zögern gibt sich Netscape jetzt immerhin offen und scheint bereit, sie baldigst nachzubessern. Außerdem ist bei aller Aufregung zu bedenken, daß der Navigator ein komplexes Produkt für viele Plattformen darstellt und als erste kommerzielle Anwendung für den Massenmarkt starke kryptographische Verfahren benutzt (zumindest in den USA), die bisher Geheimdiensten, Militärs und engagierten 'Cypherpunks' vorbehalten waren. Netscape hat durch den Vorfall hoffentlich etwas gelernt, das andere noch vor sich haben: Wer sichere Kommunikation im Internet anstrebt, muß seine Krypto-Karten rechtzeitig vor der Fachwelt auf den Tisch legen. (un) (un)