mini|325px|Der Hexdump des Blaster-Wurms zeigt eine Nachricht des Wurm-Programmierers für den Microsoft-CEO Bill Gates. Ein Computerwurm (im Computerkontext kurz Wurm) ist ein Schadprogramm (Computerprogramm oder Skript) mit der Eigenschaft, sich selbst zu vervielfältigen, nachdem es einmal ausgeführt wurde.Definition Computerwurm aus computerlexikon.com In Abgrenzung zum Computervirus verbreitet sich der Wurm, ohne fremde Dateien oder Bootsektoren mit seinem Code zu infizieren. von symantec.com, Auszug: „Worms are programs that replicate themselves from system to system without the use of a host file. This is in contrast to viruses, which requires the spreading of an infected host file […]“

Würmer verbreiten sich häufig per Massen-E-Mailversand, über NetzwerkeDefinition Computerwurm aus dem IT-Lexikon von wissen.de oder über WechselmedienUSB-Stick-Würmer mit Autorun: von info-point-security.com; Downadup is a USB worm von f-secure.com, 27. Januar 2009; W32.USBWorm von spywareguide.com, Mai 2007. wie USB-Sticks. Dafür benötigen sie gewöhnlich (aber nicht zwingendFloppy-Wurm ohne Autorun: W32/Trab.worm von McAfee, 28. März 2003; W32/Winfig.worm von McAfee, 4. Oktober 2001.) ein Hilfsprogramm wie einen Netzwerkdienst oder eine Anwendungssoftware als Schnittstelle zum jeweiligen Netz; für Wechselmedien benötigen sie meist einen Dienst, der nach dem Anschluss des belasteten Mediums den automatischen Start des Wurms ermöglicht (wie z. B. Autorun, mitunter auch den aktiven Desktop von WindowsFloppy-Wurm mit Autorun über den aktiven Desktop von Windows: Worm Propagation Via Floppies, Revisited von avertlabs.com, McAfee Labs Blog, Rodney Andres, 12. Dezember 2007.).

Ein solches Hilfsprogramm könnte beispielsweise ein E-Mail-Programm sein, das der Wurm verwendet, um sich an alle dort eingetragenen E-Mail-Adressen zu verteilen. Je nach Art des Hilfsprogramms kann sich der Wurmcode auf den Zielsystemen manchmal sogar selbst ausführen, weshalb dann keine Interaktion mit dem Benutzer mehr notwendig ist, um sich von dort aus weiter zu verbreiten. Daher ist diese Methode im Vergleich zum Ausbreitungsverfahren eines Virus sowohl effektiver als auch effizienter. Auf Systemen, die dem Wurm keinen Zugriff auf das benötigte Hilfsprogramm ermöglichen, kann sich der Wurm allerdings nicht, oder zumindest nicht automatisiert, reproduzieren.

Der Wurm zählt zur Familie unerwünschter bzw. schädlicher Programme, der sogenannten Malware, was Schutzmaßnahmen gegen Würmer notwendig macht. Neben der geheimen Verbreitung, die bereits ungefragt Ressourcen bindet, kann eine mögliche Schadfunktion des Wurms vom Anwender nicht kontrollierbare Veränderungen am System vornehmen. Es besteht die Gefahr, dass zahlreiche miteinander vernetzte Computer kompromittiert werden.

Unterschied zwischen Wurm, Virus und Trojaner

Einem Virus und einem Wurm gemein ist die Eigenschaft, sich auf Computern zu verbreiten. Ein Virus tut dies, indem er sich in den Bootbereichen eines Datenträgers einträgt (Bootsektorvirus) oder in andere Dateien einbettet (Dateivirus, Makrovirus). (PDF; 72 kB) von Baowen Yu, tu-muenchen.de, 13. November 2002. Durch Interaktion des Benutzers, der ein infiziertes Wechselmedium an ein anderes System anschließt (und in diesem Zustand rebootet) oder eine infizierte Datei öffnet, gelangt der Virencode auch dort zur Ausführung, wodurch weitere Systeme mit dem Virus infiziert werden. Der Virus wird durch Mithilfe des Anwenders verbreitet.

Ein Wurm verbreitet sich auf eine andere Art, ohne Dateien oder Bootbereiche der Datenträger zu infizieren. Er nutzt gewöhnlich eine bestehende Infrastruktur, um sich automatisiert auf andere Systeme zu kopieren. Um bei dem Beispiel der Einleitung zu bleiben, könnte der Wurm sich selbst an alle von einem E-Mail-Programm verwalteten E-Mail-Adressen verschicken. von viruslist.com Auf den Zielsystemen braucht es mitunter auch hier eine Interaktion mit dem Benutzer, der den E-Mail-Anhang öffnet und damit den darin erhaltenen Wurm ausführt. Einmal ausgeführt, verschickt sich der Wurm dann wiederum an alle E-Mail-Adressen, die das neue System verwaltet, und gelangt so auf weitere Systeme.

Als Trojanisches Pferd, kurz Trojaner, wird ein Computerprogramm oder Skript bezeichnet, das sich als nützliche Anwendung tarnt, im Hintergrund aber ohne Wissen des Anwenders eine andere Funktion erfüllt. Das einfachste Beispiel dafür ist eine schädigende Datei, wie ich_zerstoere_Daten.exe, die einen Dateinamen erhält, der auf eine andere Funktion schließen lässt, wie lustiger_Bildschirmschoner.exe. Dabei ist es unerheblich, ob der „lustige Bildschirmschoner“ tatsächlich auch einen Bildschirmschoner anzeigt, während er die Daten zerstört. Die Nutzung des irreführenden Dateinamens genügt völlig, um das Programm als Trojanisches Pferd zu klassifizieren. Des Weiteren können Trojanische Pferde sich grundsätzlich nicht selbst oder automatisiert verbreiten.

In dem oben aufgezeigten Beispiel des Wurms, der als E-Mail-Anhang darauf aus ist, dass der Anwender ihn öffnet, nutzt der Wurm gerne die Verschleierungstechniken des Trojanischen Pferdes. Statt also einen Anhang mit dem Namen „ich bin ein Wurm“ zu verwenden, gibt er sich lieber als „wichtiges Dokument“ (z. B. eine „Rechnung“, wobei es unerheblich ist, ob diese echt ist) aus, damit der Anwender den Wurm auch öffnet. Er bildet dann eine Mischform aus Wurm und Trojaner.

Ebenso hält niemand den Entwickler des Wurms davon ab, für die Verbreitung seines Programms einen zweiten Weg, den Weg des Virus, einzuschlagen. Der Wurm kann also zusätzlich auch Dateien des Systems, auf dem er ausgeführt wird, mit seinem Code infizieren. Ein solches Programm bildet dann eine Mischform aus Wurm und Virus.

Verbreitung Würmer verbreiten sich über Netzwerke oder über Wechselmedien wie z. B. USB-Sticks.

Da der Wurm selbst in Form eines ausführbaren Programms oder Skripts auftritt, ist er darauf angewiesen, auf dem Zielsystem ausgeführt zu werden. Entweder geschieht dies durch den Benutzer, der den Wurm „von Hand“ öffnet, oder er wird im Zusammenhang mit dem Empfang des Wurmcodes automatisch auf dem Zielsystem ausgeführt. im IT-Lexikon von masterscripts.de Letzteres ist auch durch einen Fehler im Design des Hilfsprogramms, einen technischen Programmierfehler (wie Pufferüberlauf) oder eine andere Sicherheitslücke möglich. Da dem Hersteller bekannte Sicherheitslücken bei funktionierender Unterstützung über kurz oder lang geschlossen werden, kommt der Verbreitung des Wurms durch Bequemlichkeit, Unwissenheit und Fehlverhalten des Benutzers eine große Bedeutung zu, indem er die Software seines Systems nicht aktualisiert oder den Wurm selbst startet.

Für den Start des Wurms „von Hand“ siehe das Beispiel zum E-Mail-Wurm mit Ausführung durch den Benutzer.

Automatische Ausführung mini|Morris-Wurm-Sourcecode-Diskette im Computer History Museum. Robert T. Morris schrieb 1988 ein Programm, das unter anderem eine Remote Shell nutzt, um sich auf andere Systeme zu kopieren und dort auszuführen, mit dem Ziel, sich von dort aus auf weitere Systeme zu kopieren und dort auszuführen. Als sein Programm außer Kontrolle geriet, sah sich die Welt mit dem ersten Internetwurm konfrontiert. Sein Programm versuchte, sich der Entdeckung und Analyse auf den befallenen Systemen zu entziehen, enthielt aber keine explizite Schadroutine. Dessen permanent arbeitende Verbreitungsroutine legte dennoch zahlreiche Systeme lahm. Moderne Würmer nutzen mitunter noch immer solche oder ähnliche Automatisierungsmechanismen eines Programms, wie sie beispielsweise die Remote Shell zur Verfügung stellt, um ihren Code auf ein entferntes System zu kopieren und dort auszuführen.

Der Morris-Wurm zeigte darüber hinaus einen Weg auf, wie man Programmierfehler ausnutzt, um einen solchen Mechanismus in Programmen zu erschaffen, die normalerweise eine derartige Automatisierung gar nicht vorsehen (Command-Execution-Exploit durch einen Fehler im Netzwerkdienst finger über einen buffer overflow in der Funktion gets()).Auszug aus „Angewandte IT-Sicherheit“ (PDF; 111 kB) ab Seite 73, von Prof. Dr. Felix Freiling, Vorlesung im Herbstsemester 2006, Universität Mannheim Als weiteres Beispiel nutzt der Wurm Blaster einen Exploit in der RPC/DCOM-Schnittstelle von Windows 2000 und XP, um Computer über Netzwerke zu suchen und zu infizieren, auf denen die von dem Wurm genutzte Sicherheitslücke existiert.

Alternativ dazu können Würmer auch Sicherheitslücken im Design einer Anwendung nutzen, wenn die Anwendung beispielsweise Funktionen vorsieht, die den Komfort der Anwendung erhöhen, dafür aber die üblichen Sicherheitseinschränkungen durchbrechen. Dazu gehört ein Programmcode, der als „Objekt“ in eine Webseite oder eine HTML-E-Mail eingebunden werden kann, und Ähnliches. Bei Letzterem wird der Wurmcode dann bereits beim Lesen der E-Mail gestartet, ohne einen Anhang öffnen zu müssen. Konkret kann die Verwendung von ActiveX-Objekten sowie die Implementierung von JScript und VBScript eine gewisse Benutzerfreundlichkeit ermöglichen, birgt aber die genannten Risiken. Letztlich führte dies dazu, bestimmte vom Entwickler eigentlich gewollte Funktionen wieder zu blockieren; der Anwender muss sie nun explizit in seiner Anwendung freischalten, wenn er sie trotzdem nutzen möchte. Demgegenüber gibt es die Methode, bestimmte Quellen mit Hilfe von digitalen Zertifikaten als vertrauenswürdig einzustufen und ihnen den Zugriff auf sonst blockierte Mechanismen zu erlauben. Bei all diesen Methoden, angefangen von der Softwareimplementierung der Blockade bis hin zum Regelwerk, kommt es hin und wieder zu Fehlern, die bei der Verbreitung von Würmern genutzt werden.

Konkret gibt es beispielsweise eine Reihe von Würmern, die einen Fehler einer älteren Version des E-Mail-Programms Microsoft Outlook Express in der folgenden Form ausnutzen: Die Anlagen von HTML-E-Mails werden von Outlook Express üblicherweise inline, also direkt in der Nachricht selbst, dargestellt. Alternativ kann der Quelltext der E-Mail auch eine Referenz enthalten, unter der die betreffende Datei online hinterlegt ist, und dann in einem Inlineframe dargestellt wird. Innerhalb eines HTML-Quelltextes können Dateiformate, die nicht dem Internetstandard entsprechen und deshalb normalerweise nicht direkt in eine HTML-Seite eingebunden werden können, als „Objekte“ definiert werden. Dazu wird dem System mitgeteilt, welcher Art das „Objekt“ ist und wie das System damit zu verfahren hat. Der HTML-Parser mshtml.dll müsste jetzt abfragen, ob diese Art von „Objekt“ bekannt ist und ausgeführt werden darf. Diese Abfrage ist der Schwachpunkt des Systems, da eine bestimmte fehlerhafte Abfrage zu einem Systemfehler und daraufhin zur Ausführung des „Objektes“ führt, obwohl das Gegenteil zu erwarten wäre. Allein das Betrachten des E-Mail-Textes startete also – ohne weiteres Zutun des Anwenders – die Schadsoftware. Dieser Fehler wurde durch eine Aktualisierung der Software behoben. Eine ähnliche Sicherheitslücke existierte auch im E-Mail-Programm „Eudora“.

Verbreitungsarten E-Mail-Würmer Viele Würmer benutzen E-Mails, um sich zu verbreiten. Dabei wird entweder die ausführbare Datei oder ein Hyperlink zur ausführbaren Datei versendet. Die E-Mails können entweder durch Fernsteuerung von vorinstallierten Programmen wie Microsoft Outlook oder durch ein eigenes SMTP-Unterprogramm des Wurms verschickt werden. Die E-Mail-Adresse des Empfängers wird häufig in vorinstallierten Adressbüchern gefunden. Es können aber auch andere Dateien auf den Festplatten (wie in temporären Internetdateien) von dem Wurm genutzt oder für die initiale Verteilung E-Mail-Adressen aus speziellen Webseiten (etwa Online-Gästebücher) verwendet werden. Bekannte Vertreter dieser Art sind Loveletter, der sich im Mai 2000 explosionsartig per E-Mail verbreitet hat, oder Netsky.

Instant-Messaging-Würmer