# Witty (Computerwurm)

Der Witty-Wurm ist ein Computerwurm, der sich ab dem 19. März 2004 im Internet verbreitete, mittlerweile aber nicht mehr in-the-wild vorzukommen scheint. Der Wurm ist auch unter dem Namen Blackworm bekannt. In Malware-Datenbanken ist er meist unter der Bezeichnung W32.Witty.Worm katalogisiert.

## Einfallstor

Die Firma ISS ist Hersteller von Sicherheitssoftware. Darunter fallen beispielsweise die Personal Firewalls BlackICE PC Protection und RealSecure Desktop. Der Schwerpunkt der Produkte liegt auf Einbruchserkennungs- und -abwehrsystemen. In der Fachsprache werden diese auch Intrusion Detection Systems oder kurz IDS genannt.
Zur Erkennung möglicher Angriffe werden eingehende Datenpakete vom so genannten Protocol Analysis Module (PAM) auf Angriffsmuster untersucht. Dieses Modul ist in allen ISS-Produkten enthalten. So werden beispielsweise UDP-Pakete, die den Quellport 4000 haben, als ICQ-Server-Antworten angesehen und auf mögliche Exploits gegen ICQ-Clients untersucht.
Am 8. März 2004 entdeckt die Firma eEye Digital Security in der Programmroutine, die Pakete des ICQ-Protokolls analysiert, einen Fehler in der Verarbeitung von Zeichenfolgen. Dieser Programmfehler ist exploitbar: Durch gezielt manipulierte Pakete kann die Software, die der Einbruchsabwehr dienen soll, selbst zum Angriffsziel werden. eEye setzt ISS von der Schwachstelle in Kenntnis und kündigt die baldige Veröffentlichung auf seiner Website an.
Am 18. März veröffentlichen die Firmen eEye und ISS Details zur Sicherheitslücke. ISS stellt Sicherheitsupdates für die betroffenen Produkte bereit.
Schon am folgenden Tag, am 19. März 2004 um 05:46 MEZ taucht der Witty-Wurm auf, der diese Sicherheitslücke ausnutzt. Dies stellt das bis dato kürzeste Intervall von der Veröffentlichung einer Lücke bis zum Auftauchen eines automatisierten Angriffs dar.

## Funktionsweise des Wurms

Der Wurm befiel Rechner, auf denen Sicherheitssoftware der Firma Internet Security Systems (ISS) installiert war. Eine Sicherheitslücke in dieser Software ermöglichte es dem Wurm, im Speicher des verwundbaren Systems seinen Code so zu platzieren, dass er ausgeführt wurde. Der Witty-Wurm verfügt über eine Schadensroutine – eine so genannte Payload –, die auf befallenen Systemen Teile der Festplatte löscht. Der Code des Wurms enthält den Text:
„Witzige (engl. witty = witzig, geistreich) Nachricht hier einfügen“; daher der Name des Wurms.
Hat der Wurm den Rechner befallen, generiert er mittels Pseudozufallszahlengenerator unter Verwendung der Systemzeit Pseudozufallszahlen. Er verschickt 20.000 Kopien von sich selbst an zufällig gewählte IP-Adressen in einzelnen UDP-Paketen mit Zufallszielport. Der Quellport ist immer der UDP-Port 4000. Der Wurm öffnet eine zufällig gewählte der ersten acht Festplatten und überschreibt einen zufällig gewählten Cluster dieser Platte. Danach generiert er wieder neue Pseudozufallszahlen und schickt erneut 20.000 Kopien aus.
Die Verbreitungsgeschwindigkeit des Wurms wird durch die Bandbreite des Netzanschlusses limitiert. Durch den von befallenen Hosts ausgelösten Datenverkehr kann es zu einer Überlastung des lokalen Netzes kommen.
Der Wurm ist dateilos und speicherresident. Das bedeutet, er verweilt im Arbeitsspeicher des Systems. Im Gegensatz zu einem Computervirus befällt er keine weiteren Programmdateien. Der Wurm setzt sein Werk fort, bis der Computer neu gestartet wird oder auf Grund der vom Wurm zerstörten Daten abstürzt.

## Chronologie und Ausmaß der Verbreitung

Die University of California verfügt über einen großen, registrierten IP-Adressbereich, in dem jedoch keine Dienste angeboten werden. Die Cooperative Association for Internet Data Analysis (CAIDA) erfasst die in diesen Adressbereich eingehenden Datenpakete mit so genannten Netzwerkteleskopen. Diese Daten werden statistisch ausgewertet, um Rückschlüsse auf den Verbreitungsgrad von Internetwürmern zu ziehen.
Durch Reverse Engineering des Pseudozufallszahlengenerators des Witty-Wurms und der Auswertung der Daten von Netzwerkteleskopen gelingt es Abhishek Kumar vom Georgia Institute of Technology, Vern Paxson und Nicholas Weaver vom International Computer Science Institute, die IP-Adresse, von der der Wurm gestartet wird, ausfindig zu machen. Sie gehört zum Adressbereich eines europäischen Internetproviders.
Von dieser Adresse werden gezielt 110 Rechner eines US-Militärstützpunkts infiziert. Von diesen Rechnern ausgehend nimmt der Wurm ein für Internetwürmer typisches exponentielles Wachstum an. In nur 75 Minuten werden mehr als 12.000 Systeme befallen. Der Witty-Wurm beweist, dass sich Würmer auch auf Systemen schnell verbreiten können, die nur einen relativ geringen Marktanteil im Netz haben.
Auf Grund des destruktiven Payload, die der Wurm enthält, sind zwölf Stunden nach Verbreitungsbeginn bereits die Hälfte der befallenen Rechner nicht mehr aktiv. Der Wurm hindert sich selbst zu sehr an der Verbreitung und die Infektionswelle nimmt nach kurzer Zeit ein Ende.

## Resümee

Mit rund 12.000 befallenen Rechnern erreicht der Witty-Wurm nur ein Sechstel der Verbreitung des Computerwurms SQL Slammer (75.000 befallene Hosts) oder gar nur ein Dreißigstel der Verbreitung von Code Red (359.000 befallene Computer). Dementsprechend ist wohl auch der wirtschaftliche Schaden vergleichsweise gering.
Witty ist jedoch aus folgenden Gründen bemerkenswert:
* Ein ironischer Aspekt ist, dass ausgerechnet Sicherheitssoftware das Einfallstor des Wurms darstellt.
* Der Witty-Wurm beweist, dass auch Nischenprodukte durch Würmer gefährdet sind.
* Die kurze Zeitspanne zwischen Veröffentlichung der Sicherheitslücke und Auftauchen des Wurms ließ einen Computerwurm als Zero-Day Exploit bzw. Zero-Day-Attacke (Zero-Day = 0 Tage) realistisch erscheinen: Das Auftreten eines automatisierten Angriffs für eine noch nicht öffentlich bekannte Sicherheitslücke.
* Erstmals gelingt es bei einem Wurm, durch technische Analyse die IP-Adresse des Erstversenders ausfindig zu machen.
In den folgenden Jahren wurden, wie Witty zu befürchten gab, Zero-Day Exploits tatsächlich ausgenutzt.