Entwurmung
Würmer: Neue Bedrohung für Linuxer
Würmer sind längst nicht mehr nur für
Rüdiger Nehberg von Bedeutung. Spätestens seit dem Ramen-Wurm wurde die
Gefahr von Würmern erneut verdeutlicht. Kleine Programme, die auf
Sicherheitslücken in Betriebssystemen beziehungsweise installierter
Software beruhen, können sich nahezu ungestört verbreiten. Zwar galt
der Spot und Hohn des Ramen-Wurms den Entwicklern von RedHat, doch ist
dies alles andere als nur ein Betriebssysteminternes Problem. Parallel
zu Ramen gibt es mittlerweile etliche weitere Würmer, teilweise
Bastarde, teilweise komplett neu konzipierte Programme.
Was ist überhaupt ein Wurm? Diese Frage lässt sich mit einem Satz beantworten: Ein
Wurm ist ein Programm, daß speziell dafür konstruiert wurde, sich über
Netzwerke hinweg auszubreiten und verschiedene Computer ohne
menschliches Zutun automatisch zu insfizieren. Würmer sind in ihrem
Aufbau dem von Viren recht ähnlich. Der Fortpflanzungsteil besteht
hierbei aus einer Transportfunktion zur Verbreitung über Netzwerke und
den dazu benötigten Mechanismen, um illegal Zugang zu anderen Rechnern
zu bekommen. Dies geschieht meist anhand von vorgefertigten Exploits,
die automatisch einen Vollzugang zum Fremdsystem ermöglichen.
Geschichtliches
Der erste Wurm wurde 1982 ursprünglich
für nützliche Zwecke von der Firma Xerox programmiert und diente dazu,
regelmässige Aufgaben ,wie zum Beispiel das Löschen von temporären
Dateien, zu automatisieren. Ein sehr nützliches Programm bis es eines
Tages wohl durch einen Fehler im Code die Seiten wechselte und damit
begann, Systeme zum Absturz zu bringen. (So entstand auch eines der
ersten Anti-Viren Programme, dass diesen Wurm stoppen sollte.)
Am zweiten November 1988 trat der erste Internet-Wurm auf. Benannt wurde der ,,Morris Wurm''
nach seinem Autor Robert Tappan Morris Jr., der zum damaligen Zeitpunkt
an der Cornell University studierte. Sein Wurm insfizierte damals
ungefähr 2.000 - 6.000 Systeme im Internet (genaue Zahlen nicht
bekannt). Potentielles Angriffsziel waren alle mit BSD UNIX betriebenen
Rechner der Firmen DEC und SUN. Hinzu kamen Rechner die mit UNIX System
V ausgerüstet waren und bei denen durch Programme wie Sendmail,
fingerd oder rexec eine Kompatibilität zu BSD UNIX geschaffen wurde.
Zur Verbreitung setzte Morrison insgesamt vier verschiedene Verfahren
ein. Zwei davon beruhten auf bekannten Sicherheitslücken in Sendmail
und im fingerd, wodurch der Wurm von ''Aussen'' auch ohne Account
vollen Zugriff zum Rechner bekam. Desweiteren machte sich der Wurm die
weitverbreiteten sogenannten 'r'-Protokolle zunutzen, wodurch er auf
entfernten Rechnern ohne Authentifizierung einfach Befehle ausführen
beziehungsweise eine remote Shell starten konnte. Als letzte Technik
wurde das sogenannte ''Brute-Force''-Verfahren angewandt,
welches versuchte die Passwörter der einzelnen Benutzer des lokalen
Systems zu knacken und anhand dieser Passwörter Zugang zu weiteren
Systemen zu bekommen.
Ausserdem war geplant, ein weiteres
Verfahren einzubinden, welches einen Fehler im File Transfer Protocol
ausnutzt, der zuvor von R.T.Morris Jr. gefunden wurde. Aufgrund eines
Fehlers im Programm kam es dazu, dass ein Großteil der insfizierten
Rechner teilweise total überlastet war und somit nur eingeschränkt
genutzt werden konnte.
Das Ausmaß dieses Pioniers der heutigen Würmer zeigt wie bedrohlich
diese vor allem für große Netze sind. Morris selbst hätte nie daran
geglaubt, daß sich sein Wurm so erfolgreich verbreiten würde und eine
solche Katastrophe anrichten könnte. Die Folgen dieses ''harmlosen''
Wurms waren eine Strafe für Morrison in Form von drei Jahren Gefängnis
auf Bewährung, eine Geldstrafe in Höhe von 10.000 Dollar und 400
Stunden Sozialarbeit. Zudem befand sich der Morrison Wurm eine Woche
lang auf der Titelseite der New York Times. Direkt im Anschluss an
dieses Disaster wurde das sogenannte Computer Emergency Response Team,
kurz CERT (www.cert.org), gegründet.
Gefährlich! Aber warum?
Die Gefahr haben wir oben
gesehen, aber wie kommt es, dass sich ein Wurm, der vor allem auf
bekannten Sicherheitslücken basiert sich so schnell verbreitet? Die
Erklärung hierfür ist wohl vor allem, dass die Administratoren der
jeweiligen Systeme und Netze sich zu wenig mit dem Thema Sicherheit
beschäftigen und somit auch gegen solche standardisierten Angriffe
verwundbar sind. Zudem tauchen täglich neue, mehr oder minder
gefährliche Sicherheitslücken in häufig verwendeter Software auf.
Je mehr ungepatchte Rechner ein Wurm verseuchen kann, desto mehr
Potential hat er um sich weiter zu verbreiten, da er von jedem
insfizierten Rechner weitere Angriffe auf bestimmte Adressbereiche
startet. Die Wahrscheinlichkeit, dass er fündig wird und neue Rechner
übernimmt ist vor allem bei kleineren Firmen sehr hoch, da sich dort
meist kleinere Rechner am Netz befinden, die nicht regelmässig gewartet
und geupdatet werden!
Eine weitere Gefahr bei Würmern ist, daß sie sich bei geschickter
Programmierung plattformunabhängig vermehren können, so kann ein Wurm
zum Beispiel gleichzeitig Sicherheitslücken bei Linux(UNIX)- und
Windowsrechnern erkennen und ausnutzen.
Nun besteht die Hauptfunktion eines Wurms ja nicht allein darin, sich zu
verbreiten, sondern dabei auch noch Schaden anzurichten. Dieser Schaden
variiert mit der Intention des Autors. Es gibt zum Einen Würmer, die
Dateien beschädigen, User ausspionieren, etc. Hingegen gibt es zum
Anderen auch Würmer die eher niedere aber genauso schädliche Absichten
verfolgen, so zum Beispiel Ramen, der lediglich daran interessiert war
die Webseite zu modifizieren.
Verbreitung
Die Techniken, die die meisten Würmer
heutzutage benutzen sind ebenso interessant wie primitiv. Sie alle
basieren sogenannten Bannergrabbern. Das sind kleine Programme, die es
ermöglichen zum Beispiel ganze Class-A Netze nach bestimmten Dämonen
(z.B. Sendmail, Wu-FTPd) zu scannen. Ausserdem gibt es Scanner, die
zum Beispiel direkt nach bekannten Bugs scannen, wie zum Beispiel den
Unicode Bug im IIS 4.0/5.0. Nachdem verwundbare Rechner gefunden wurden
wird ein System gestartet, welches man eigentlich schon als AIS, sprich
als Automated Intrusion System bezeichnen kann. Dieses Programm ist in
der Lage automatisch über die gefundene Sicherheitslücke in den Rechner
einzubrechen und dort erneut den Wurm zu installieren.
Für die Übertragung des Wurm-Quellcodes gibt es verschiedenste
Techniken, die meist sehr deutlich zeigen, wieviel Ahnung die
jeweiligen Autoren vom System haben (in den letzten Fällen eher
weniger). Sobald der Wurm auf dem neuen Rechner gestartet wurde
beginnt er auch dort Schaden anzurichten und nach neuen potentiellen
Opfern zu suchen.
Aktuelle Beispiele
Die Anzahl der Würmer die zur Zeit ''in the wild''
zu finden sind ist vor allem aufgrund der ganzen Bastarde der einzelnen
Würmer nicht genau feststellbar. Die derzeitigen Würmer basieren
größtenteils auf die Skriptsprachen Perl und Shellskript und stützen
sich auf Fremdcode, sprich zum Beispiel Scanner die von anderen Autoren
entworfen worden. Hauptangriffsziel der aktuellen Würmer sind meistens
Linuxrechner, da diese in der Regel am leichtesten zu übernehmen sind.
Zwei Würmer die in der letzten Zeit für grosse Furore gesorgt haben sind sicherlich der Ramen und der Lion Wurm.
Ramen
Ramen's ''Zielgruppe'' sind RedHat-Benutzer, die
die Versionen 6.2 oder 7.0 verwenden. Der Wurm basiert auf
Sicherheitslücken im Wu-FTP-Server, im statd (rpc), und im LPRng,
welche alle miteinander von aussen gegen eine sogenannte ''remote
root'' Attacke verwundbar sind, das heisst der Wurm bekommt ohne
Authentifizierung kompletten Zugang zum Rechner des Opfers. Hat er ein
Opfer gefunden und erfolgreich insfiziert, so überschreibt er sämtliche
''index.html''-Dateien
in der Hoffnung, der Rechner hostet eine Webseite. Inhalt der neuen
index.html ist ein primitives: ''Ramen Crew - Hacker looooove
noodles'', welches wohl auch die (nicht vorhandene) Intention dieses
Wurms verdeutlicht. Dennoch ist es erstaunlich, nahezu beeindruckend,
wie es dieser Wurm geschafft hat, sogar Rechner der NASA (nasa.gov)
zu übernehmen. Genau aus diesem Grund könnte man Ramen auch als eine
Art Schocktherapie für SysAdmins bezeichen (natürlich nur mit viel
Fantasie).
Lion
Von Lion gibt es 3 ursprüngliche Version. Eine
ähnelt der von Ramen sehr stark, man kann eigentlich sagen, dass
lediglich die Sicherheitslücke, die dieser Wurm zur Verbreitung
benutzt, eine andere ist, und zwar ein Fehler in Bind. Die anderen
beiden Versionen sind beinahe identisch, mit dem kleinen Unterschied,
dass eine von Ihnen ein sogenanntes ''Rootkit''
mitinstalliert. Ein Rootkit ist meist ein Set , bestehend aus mehreren
Skripten, welches dazu gedacht ist, Spuren zu verwischen und Backdoors
zu installieren. Im restlichen Aufbau kann man keinen großen
Unterschied zu Ramen erkennen. Generell kann man sagen, dass sich alle
aktuellen Würmer sehr stark ähneln und größtenteils auf den gleichen
Code aufbauen. Dennoch ist es nicht so leicht möglich die Würmer
schnell und effizient zu erkennen und zu stoppen.
Bekämpfung / Prävention
Eins sollte von Anfang an klar
sein, Würmer lassen sich nicht ähnlich wie Viren bekämpfen. Hierzu
erfordert es mehr als einen aktualisierten Virenscanner. Zunächst ist
es ratsam sicherheitsrelevante Mailinglisten wie zum Beispiel Bugtraq (www.securityfocus.com)
zu verfolgen und sein System immer up-to-date zu halten. Ausserdem wär
eine Firewall sehr empfehlenswert, da die derzeitigen Würmer nur
standardisierte Angriffe starten können und somit an einer richtig
konfigurierten Firewall niemals vorbeikommen würden.
Generell gilt: ''Security through Obscurity'',
da die Würmer auf bestimmte Angriffziele setzen. Sitzt nun zum Beispiel
der verwundbare FTP-Dämon anstatt auf Port 21 auf dem Port 31337, so
wird der Wurm ihn höchstwahrscheinlich nicht erkennen.
Sollte es nun
doch vorkommen, dass man von einem Wurm insfiziert wurde, so ist es
ratsam zunächst die insfizierten Rechner vom Netz zu nehmen und den
Wurm zu entfernen, um unnötigen Ärger zu vermeiden und die Verbreitung
vom eigenen Rechner aus zu verhindern. Zum Entfernen gibt es in der
Regel relativ schnell Anleitungen die diesen Vorgang genauestens
erklären beziehungsweise Programme, die dies automatisch übernehmen.
Als Anlaufstelle für solche Anleitungen/Programme empfielt sich www.whitehats.com und natürlich jede Suchmaschine (in der Regel liefert '+ +remove' relativ gute Ergebnisse).
Prophezeihungen
Die Hauptfrage ist und bleibt: Was kommt
auf uns zu? Genau kann man das natürlich nicht vorhersagen, jedoch kann
man darauf spekulieren, was nach diesen “harmlosen“ und unkreativen
Würmern kommt. Die Methoden zum Aufspüren von potentiellen Opfern ist
sicherlich schon sehr gut realisiert, dennoch sind all diese Würmer
stark beschränkt, da sie lediglich auf 1-3 Sicherheitslücken basieren.
Was nun, wenn sich nun ein paar kreative Köpfe hinsetzen und einen Wurm
programmieren, der sich selbst updaten kann? Dies ist nicht nur
Spekulation sondern wird mit Sicherheit auf uns zukommen. Wie will man
zum Beispiel einen Wurm aufhalten, der sich ständig seine Updates aus
diversen Newsgroups, etc. besorgt und somit immer mehr aufrüstet? So
könnten die Würmer auch eine komplette Unabhängigkeit vom
Betriebssystem erreichen. Oder was wäre wenn es Würmer gibt, die jedes
System nach E-Mail-Adressen durchsucht und per Zufallsfunktion
bestimmte Viren generiert und diese an die gefundenen Adressen schickt?
Wenn sich fähige Leute hinsetzen würden und einen OS-Unabhängigen Wurm
programmieren würden und diesen auch noch mit einem OS-Unabhängigen
Virus (erste Ansätze: Winux) paaren würden, wie würde man solch einen
Wurm bekämpfen? Zwar ist das alles bisher nur Theorie, jedoch sollte
man jetzt schon mit solchem Angriffen rechnen und möglichst schon über
potentielle Gegenmittel philosophieren.
Fazit
Wie sagte doch Thornton Wilder so schön: ,,Die Abenteuer von heute finden in den Computern und den Laboratorien statt.'' (It is a good thing for an uneducated man to read a book of quotations).
Wichtig ist es, ständig mit der Gefahr eines Angriffs zu rechnen und
sich dagegen zu schützen. Viele Leute realisieren die Unsicherheit
ihres Netzes viel zu spät und müssen meist teuer dafür bezahlen. Ihnen
bleiben neben den Schäden des Wurms, die meist immense Geldbeträge mit
sich bringen, auch noch die endlosen Abusemails anderer
Administratoren, die sich über die Scans und Angriffsversuche
beschweren.
Je mehr Rechner ein Netzwerk hat, desto wichtiger ist
es, alle Rechner regelmässig zu warten und die Sicherheitslücken zu
schließen, da bereits ein schwacher Rechner das gesamte Netzwerk
unsicher macht.
Martin J. Münch <mjm@codito.de>
Links
1. Detailanalyse des Ramen-Wurms
http://www.codito.de/text/ramen.html
2. Skript zum Aufspüren vom Lion-Wurm
http://www.whitehats.com/library/worms/lionfind-0.1.tar.gz
3. Skript zum Aufspüren vom Ramen-Wurm
http://www.whitehats.com/library/worms/ramenfind.v0.4.gz
4. Informationen zum Lion-Wurm
http://www.cert.org/incident_notes/IN-2001-03.html