Titelblatt Abstract 2 Vorwort 3 Inhalt 1. Einleitung zum Computervirus .................................................................................................... 5 2. Klassifikation ............................................................................................................................... 5 3. Aufbau ........................................................................................................................................ 8 4. Geschichte ................................................................................................................................ 10 5. Prävention................................................................................................................................. 11 5.1. Antivirenprogramme ........................................................................................................... 11 5.2. Personal Firewalls .............................................................................................................. 12 6. MaSSnahmen ........................................................................................................................... 12 7. Computerwurm ......................................................................................................................... 13 7.1. Viren und Würmer .............................................................................................................. 15 7.1.1. Abgrenzung.................................................................................................................. 15 7.1.2. Ausführung .................................................................................................................. 15 7.2. Tarnung und Verbreitung .................................................................................................... 15 7.3. Tarnung .............................................................................................................................. 15 7.4. Automatisches Ausführen ................................................................................................... 16 8. Geschichte der Würmer ............................................................................................................ 16 9. Trojanisches Pferd .................................................................................................................... 18 9.1. Arten Trojanischer Pferde ................................................................................................... 20 9.2. Zur Verbreitung von Trojanischen Pferden ......................................................................... 21 10. Backdoor................................................................................................................................. 22 11. Brute-Force-Methode .............................................................................................................. 22 SCHLUSS ..................................................................................................................................... 24 LITERATURVERZEICHNIS .......................................................................................................... 25 ABBILDUNGSVERZEICHNIS ....................................................................................................... 26 4 1. EINLEITUNG ZUM COMPUTERVIRUS In der Fachsprache ist ein Computervirus eine nichtselbständige Programmroutine, die sich selbst reproduziert, indem sie sich an andere Computerprogramme oder Bereiche des Betriebssystems anhängt und, einmal gestartet, vom Anwender nicht kontrollierbare Manipulationen an selbigen vornimmt. Umgangssprachlich hat der Begriff Computervirus eine breitere Bedeutung: Er wird sowohl für Computerviren in der fachsprachlichen Bedeutung als auch für Computerwürmer und Trojanische Pferde benutzt. Abbildung 1 Computerviren warten auf dich Die Idee zu Computerviren leitete sich von dem biologischen Vorbild der Viren ab und gab ihnen ihren Namen. Durch Computerviren kommt es auf einem Computer häufig zur Veränderung oder Verlust von Daten und Programmen (Janks, 2011) sowie zu Störungen des regulären Betriebs. 2. KLASSIFIKATION 5 Computerviren können nach unterschiedlichen Kriterien klassifiziert werden: Nach den Dateitypen bzw. Bereichen auf dem Datenträger, die sie infizieren (Viren, die hier unter mehr als nur eine Kategorie fallen, nennt man auch Hybridviren): Abbildung 2 Viren sind überall Bootviren nutzen die Option von Computern aus, von Datenträgern aus beim Einschalten automatisch Programme zu starten, wie es für das Laden von Betriebssystemen notwendig ist. Sie verbleiben im Arbeitsspeicher und kopieren sich bei Zugriffen auf einen Datenträger in dessen Bootsektor, bei Festplatten meist in den Master Boot Record.1 Linkviren schleusen sich in Programmdateien ein, so dass dessen Code beim Ausführen jener mit ausgeführt wird. Sie verbleiben meist ebenfalls im Speicher und infizieren Programme, wenn sie gestartet werden. Dadurch können Programmdateien unbrauchbar gemacht werden. Companion-Viren infizieren nicht die ausführbaren Dateien selbst, sondern benennen die ursprüngliche Datei um und erstellen eine Datei mit dem ursprünglichen Namen, die nur den Virus enthält, oder sie erstellen eine Datei mit ähnlichem Namen, die vor der ursprünglichen Datei ausgeführt wird. Unter DOS (Clark, 2009) gibt es beispielsweise Companion-Viren, die zu einer ausführbaren EXE-Datei eine versteckte Datei gleichen Namens mit der Endung „.com“ erstellen, die dann nur den Virus enthält. Wenn unter DOS beim Aufruf eines Programms die Endung nicht angegeben wird, werden „.com“-Dateien „.exe“-Dateien vorgezogen. Der Virus führt, nachdem er sich meist im Arbeitsspeicher festgesetzt hat, das ursprüngliche Programm aus, so dass der Benutzer meist nichts von der Infektion bemerkt. Makroviren sind in Dateien wie Textdokumenten versteckt, dessen Programme über eine so genannte Makrosprache2 verfügen. Diese Programmiersprache kann Prozesse 1 2 Meist mit MBR in der Literatur abgekürzt. Makrosprachen befinden sich in gängigen Programmen wie Word oder Powerpoint. 6 innerhalb des Programms automatisieren, allerdings auch dazu ausgenutzt werden, ein Makroprogramm in jedes weitere geöffnete Dokument zu kopieren. * Nach dem Verbleib im Arbeitsspeicher: Einige einfache Viren infizieren direkt, wenn ein infiziertes Programm ausgeführt wird, andere Dateien. Solche Viren verbreiten sich meist nicht sehr erfolgreich, weil oft nur Dateien im aktuellen Verzeichnis infiziert werden. Wenn das nicht der Fall ist, kann das Durchsuchen ganzer Laufwerke auffällig sein, außerdem werden dabei kaum Dateien auf Wechseldatenträgern infiziert. Speicherresidente Viren hingegen verbleiben auch nach Beendigung des Wirtprogramms im Speicher und fangen Aufrufe von Systemfunktionen wie z.B. das Ausführen einer Datei ab, um diese Datei dann zu infizieren. Man bezeichnet Viren als * Stealthviren, wenn sie besondere Maßnahmen ergreifen, um ihre Existenz zu verschleiern, so werden Systemaufrufe abgefangen, so dass z. B. bei der Abfrage der Größe einer infizierten Datei die Größe vor der Infektion angegeben wird (manche Viren verändern die ursprüngliche Größe auch gar nicht, weil sie sich in unbenutzte Bereiche der Datei kopieren) oder auch beim Lesen der Datei die Daten der ursprünglichen Datei zurückgeben. * verschlüsselte Viren, wenn sie einen Teil ihres Codes verschlüsseln. Der Schlüssel kann dabei von Infektion zu Infektion variieren. Das soll Antivirenprogramme daran hindern, einfach nach einer bestimmten Zeichenfolge in Dateien suchen zu können. * polymorphe Viren, wenn sie ihre Gestalt von Generation zu Generation vollkommen ändern. Das geschieht oft in Kombination mit Verschlüsselung, es wird eine variable Verschlüsselung benutzt. Ein Teil des Viruscodes muss jedoch in unverschlüsselter Form vorliegen, um bei der Ausführung den Rest zu entschlüsseln. Um auch diesen Teil variabel zu machen, wird der Entschlüsselungscode bei jeder Infektion neu erstellt. Der Programmcode, der dabei den Entschlüsselungscode immer neu erstellt, befindet sich dabei selbst im verschlüsselten Teil des Virus und kann z. B. voneinander unabhängige Befehle austauschen und Operationen mit verschiedenen Befehlssequenzen codieren, so dass verschiedene Varianten entstehen. 7 * metamorphe Viren, wenn sie ihren gesamten Code bei jeder Infektion umformulieren. Dies geschieht meist durch Übersetzung des Maschinencodes in symbolischen Code und variabler Rückübersetzung. Der größte Teil des Viruscodes dient dabei meist dieser Aufgabe. 3. AUFBAU Es gibt mehrere Varianten, ein Virus zu strukturieren: Erklärung 1 Vermehrungsteil: Mit diesem Programmteil wird die Vermehrung des Virus durchgeführt. Erkennungsteil: Im Erkennungsteil wird geprüft, ob bereits die Infektion eines Programms oder Systembereichs erfolgte. Jedes Wirtsprogramm wird nur einmal infiziert. Schadensteil: In einigen Viren ist absichtlich eine Schadensfunktion programmiert, meist das Überschreiben oder Verändern von Programmen oder Daten oder aber auch nur die Ausgabe von Meldungen und Tönen auf dem Rechner. Dieser Programmteil kann fehlen, aber auf jeden Fall entsteht Schaden durch Inanspruchnahme von Speicherplatz im Hauptspeicher und auf Datenträgern. Durch Programmierfehler, Veränderungen des Betriebssystems oder ähnliches können weitere Schäden als Nebeneffekte auch dann auftreten, wenn sie nicht absichtlich programmiert sind. Bedingungsteil: Sowohl die Verbreitung als auch die Schadensfunktion können von Bedingungen abhängig programmiert sein, z. B. tritt bei einigen Viren der Schaden an einem bestimmten Datum oder bei einer bestimmten Anzahl von Aufrufen ein. Auch dieser Teil kann fehlen. Tarnungsteil: Hierunter fallen Programmroutinen, die die Entdeckung des Virus im infizierten System erschweren sollen. Dieser Teil ist meist nur bei neueren Viren zu finden. 8 Abbildung 3 Aufbau eines Virus Erklärung 2 Ein Computervirus besteht aus drei Teilen: * Replikationseinheit * Trigger (Auslöser) * Payload (Schadroutine) Die Replikationseinheit dient der (meist unbemerkten) Vervielfältigung des Virus, z. B. indem es sich an ein bestimmtes Programm anhängt, welches sich auf der Festplatte befindet. Jedesmal, wenn das infizierte Programm gestartet wird, kopiert sich der Virus. Damit kann sich der Virus erst einmal verbreiten, ohne zunächst einen Schaden anzurichten. Andere Verbreitungsmethoden sind die Infektion von Disketten oder anderen bootfähigen Datenträgern (Bootviren) oder Textdokumenten (falls das Textverarbeitungsprogramm eine genügend mächtige Makro-Sprache besitzt und die Makros zusammen mit dem normalen Text in einer Datei gespeichert werden). Den Teil, der den eigentlichen Schaden verursacht, bezeichnet man als Schadroutine oder Payload (dt.: Nutzlast). Hier tritt der Virus zum ersten Mal in Erscheinung und signalisiert manchmal, dass es da ist. Hierbei richtet es einen mehr oder weniger großen Schaden an. Eine Schadroutine ist optional (ein Virus ist auch ohne ihn ein Virus) und in den meisten Viren gar nicht vorhanden. Mitunter richtet die Verbreitung aber einen Schaden an. 9 Einige Viren sind so programmiert, dass sie erst dann in Erscheinung treten und den Schaden verursachen, wenn ein bestimmtes Ereignis eingetreten oder eine bestimmte Zeit verstrichen ist. Andere schalten gewisse Funktionen zu einem bestimmten Zeitpunkt wieder ab. Hierfür ist der sog. Trigger (dt.: Auslöser) zuständig. So kann es z.B. sein, dass ein Virus erst nach dem 100. Start des Rechners aktiv wird, oder dass es sich jeden Dienstag oder am 10. eines jeden Monats in Erscheinung tritt und dann z.B. bestimmte Dateien löscht. Verwandte Typen: Computerwurm, 9. Trojanisches Pferd 4. GESCHICHTE 1980 - Jürgen Kraus verfasst eine Diplomarbeit mit dem Titel „Selbstreproduktion bei Programmen“, in welcher der Vergleich angestellt wird, dass sich bestimmte Programme ähnlich wie biologische Viren verhalten können. 1981 - Professor Leonard M. Adleman verwendet im Gespräch mit Fred Cohen zum ersten Mal den Begriff Computervirus 1984 - Fred Cohen liefert seine Doktorarbeit „Computer Viruses - Theory and Experiments“ ab. Darin wurde ein funktionierender Virus für das Betriebssystem UNIX vorgestellt. 1985 - Über Mailboxen wird das Trojanische Pferd Gotcha über ein Programm verteilt, das die Grafik verbessern soll. Nach dem Start werden die Daten auf der Festplatte gelöscht und es erscheint auf dem Bildschirm der Schriftzug Arf, arf, Gotcha. 1986 - Zwei Software-Händler aus Pakistan verbreiten den ersten Virus für das Betriebssystem MS-DOS. Das Programm war relativ harmlos, da es nur das Inhaltsverzeichnis der befallenen Disketten in Brain umbenannte. 1987 - Im Data-Becker Verlag erscheint das erste Buch zum Thema Computerviren „Das große Computervirenbuch“ von Ralf Burger 1987 - Der so genannte Cascade-Virus lässt zum ersten Mal in Deutschland die Buchstaben einer Seite nach unten rutschen, wo sie sich zu einem kleinen Häufchen sammeln. Er vernichtete Dateien. 10 1988 - Der erste Baukasten für Viren (Virus Construction Kit) wird veröffentlicht. Damit ist es Anfängern möglich, Viren nach Maß zu erstellen. Das Programm läuft auf dem Computer Atari ST. 1989 - Mit V2Px erscheint der erste polymorphe Virus, der sich selbst wieder neu verschlüsseln kann und deshalb durch Antivirenprogramme nur schwer zu entdecken ist. 1990 - Der Verband deutscher Virenliebhaber verbreitet das erste Virus Construction Kit für DOS. 1993 - Erste Computerviren für Windows tauchen auf. 1995 - Es erscheinen die ersten Makroviren. 1997 - Der erste Virus für das Betriebssystem Linux tritt in Erscheinung. 1998 - Strange Brew, das erste Virus für Java, erscheint. 5. PRÄVENTION Anwender sollten niemals unbekannte Programme oder Programme aus unsicherer Quelle ausführen bzw. generell beim Öffnen von Dateien oder z.B. E-Mails Vorsicht walten lassen. Durch Sicherheitslücken in den mit Dateien verknüpften Programmen können Schadprogramme auf verschiedene Weise aktiv werden. Durch die Autostartfunktion für CD-ROMs und DVD-ROMs können Programme bereits beim Einlegen eines solchen Datenträgers ausgeführt, und damit ein System infiziert werden. Vor allem Microsoft Outlook Express ist als sehr unsicherer Mail-Client aufgefallen, da es ohne Zutun des Benutzers fremde Software in E-Mails gestartet hat. Man sollte deshalb ein sichereres Programm benutzen. 5.1. Antivirenprogramme schützen nur vor bekannten Viren. Daher ist es bei der Benutzung eines solches Programms wichtig, regelmäßig neue Virensignaturen einzuspielen. Diese werden meist vom Hersteller der Software bereitgestellt. Unbekannte Viren können jedoch von manchen dieser Programme auch anhand ihres Verhaltens entdeckt werden. Diese Funktionen arbeiten jedoch extrem unzuverlässig. Aus diesen Gründen sollte man diese Programme nur als Unterstützung ansehen und sich nicht allein auf ihr Urteil verlassen. 11 Abbildung 4 Antivirenprogramme 5.2. Personal Firewalls können theoretisch vor bösartigen Programmen, die sich über Schwachstellen in Serverdiensten weiterverbreitet, schützen. In der Praxis ist es jedoch besser, die kritischen Dienste zu beenden, da jedes Programm mit Internetzugriff, auch eine Personal Firewall, ein potentielles Angriffsziel darstellt. Des Weiteren sind Personal Firewalls gegen Computerviren fast immer unwirksam, da diese sich im Allgemeinen durch die Weitergabe infizierter Dateien durch die Benutzer verbreiten. 6. MASSNAHMEN 1. Dateien aus dem Internet (ob nun heruntergeladen oder per E-Mail erhalten) sollten nur angenommen werden, wenn man sicher ist, dass sie aus seriöser Quelle stammen (EMail-Absender können gefälscht sein) und nur geöffnet werden, nachdem man mit einem Antivirenprogramm die Virenfreiheit festgestellt hat. 2. Das automatische Öffnen von Dateien aus dem Internet sowie das automatische Anzeigen von Dateianhängen sollte deaktiviert werden. 3. Regelmäßig Betriebssystem und Software aktualisieren. 4. Einen sicheren Browser und ein sicheres E-Mail-Programm verwenden. 5. Schutzfunktionen des Betriebssystems nutzen. Dazu zählt insbesondere, nicht als Administrator mit allen Rechten, sondern als Nutzer mit eingeschränkten Rechten zu arbeiten, der keine Software installieren darf. 12 Abbildung 5 Maßnahmen eventuell auch: 1. Statt dem hoch verbreiteten Microsoft Windows je nach Erfordernissen seltener gebräuchliche Betriebssysteme verwenden, wie Mac OS, Linux, BSD, BeOS oder OS/2. Diese Systeme sind zwar nicht unangreifbar, aber es gibt weniger Personen, die maliziöse Software für diese herstellen und verbreiten. Auch ist es auf einigen dieser Systeme einfacher, konsequent den Benutzer vom Systemverwalter zu trennen. Des Weiteren sind andere Architekturen wie PowerPC- und Alpha-CPUs nicht anfällig für die üblichen x86Prozessoren bestimmten Maschinencode. 2. Verwendung aktueller Antivirenprogramme mit Virendefinitionen, die mindestens wöchentlich aktualisiert werden. 3. Einsatz einer Personal Firewall, um Angriffe abzublocken, die Sicherheitslücken im System ausnutzen. 7. COMPUTERWURM Ein Computerwurm ist eine selbständige Programmroutine, die sich selbst reproduziert, indem sie über ein Computernetzwerk an Computerprogrammen oder Betriebssystemen anderer Computern Manipulationen vornimmt. 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 13 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-ExecutionExploit durch einen Fehler im Netzwerkdienst finger über einen buffer overflow in der Funktion gets()).[11] 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 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. 14 Abbildung 6 Computerwürmer Ein Wurm kann eine spezielle Schadensroutine enthalten, muss aber nicht. Da ein Wurmprogramm auf befallenen Systemen Ressourcen zur Weiterverbreitung bindet, können selbst Würmer ohne spezielle Schadensroutinen gewaltige wirtschaftliche Schäden erzeugen. 7.1. Viren und Würmer Würmer sind den Computerviren konzeptionell sehr ähnlich. 7.1.1. Abgrenzung: Die Abgrenzung besteht darin, dass ein Virus versucht, Dateien auf einem Computersystem zu infizieren, während ein Wurm versucht, eine Zahl von Computern in einem Netzwerk zu infizieren. Außerdem benötigt ein Virus ein Wirtsprogramm, welches es infiziert. 7.1.2. Ausführung: Wird dieses Programm ausgeführt, wird gleichzeitig auch das Virus ausgeführt. Bei einem Wurm handelt es sich dagegen um ein eigenständiges Programm. 7.2. Tarnung und Verbreitung Heutzutage verbreiten sich Würmer überwiegend per E-Mail, wobei sie sich als DateiAnhang an einen kurzen Text anfügen. Verschiedene Mechanismen dienen zum Tarnen des gefährlichen Anhangs bzw. zum automatischen Ausführen: 7.3. Tarnung 15 Würmer bekommen Dateinamen mit doppelten Erweiterungen, z.B. music.mp3.exe, wobei darauf gebaut wird, dass der Anwender die Optionen für die Dateiansicht von Windows nicht geändert hat. Diese werden bei der Installation von Windows so eingestellt, dass Endungen von bekannten Dateitypen nicht angezeigt werden. Der Empfänger des genannten Anhangs sieht also nur music.mp3 und klickt auf den Anhang, um die vermeintliche Musik abzuspielen - schon ist der Wurm aktiviert. Ein Beispiel: Content-Type: audio/mpeg; name=„music.mp3“ Content-Transfer-Encoding:base64 Content-Disposition: attachment; filename=„music.mp3.exe“ Oft werden Würmer in ZIP-Archive verpackt, um es Virenscannern zu erschweren, den Schädling zu analysieren. 7.4. Automatisches Ausführen Zum automatischen Ausführen enthält die E-Mail HTML-Code der ein Fenster im Fenster (iframe) erzeugt, in dem der Datei-Anhang mit Hilfe von Javascript gestartet wird. Der Wurm verschickt sich selbst, wobei aus dem Adressbuch des Benutzers wahllos Absenderadressen entnommen werden. Es ist daher relativ sinnlos, beim Empfang einer verseuchten E-Mail eine Warnung an die Absenderadresse zu schicken, es trifft höchstwahrscheinlich den Falschen. Es ist für den Benutzer daher sehr empfehlenswert zumindest die Ausführung von JavaScript und Java in seinem E-Mail-Programm zu deaktivieren. Besser ist es auch noch die Anzeige von HTML zu deaktivieren. 8. GESCHICHTE DER WÜRMER Das Konzept eines Computerwurms oder Netzwerkwurms wurde erstmals 1975 im Science-Fiction-Buch The Shockwave Rider (dt. Der Schockwellenreiter) von John Brunner erwähnt. 16 Robert Morris programmierte 1988 den Morris-Wurm, der zwar keine Schadensroutine enthielt, aber durch seine aggressive Weiterverbreitung unter Ausnutzung von einigen Unix-Diensten, wie z.B. Sendmail, fingerd oder rexec sowie der r-Protokolle ca. 6000 Rechner lahm legte - das entsprach damals ungefähr 10% des weltweiten Netzes. Allerdings hatte das Morris nicht beabsichtigt - es war ein Programmierfehler, der zu diesem Debakel führte. Im März 1999 verbreite sich über Outlook der E-Mail-Wurm Melissa. Er führte allerdings keine zerstörende Aktion aus, sondern löste nur eine E-Mail-Flut aus. Ins öffentliche Bewusstsein gerieten Würmer spätestens 2000 mit dem massiven Auftreten des „ILOVEYOU“-E-Mail-Wurms, der viele Nachahmer inspiriert hat. Abbildung 7 "I love you"-Wurm Neben den E-Mail-Würmern ist heute die beliebteste Weiterverbreitungsstrategie das Ausnutzen von Sicherheitslücken in häufig installierter Software. Prominente Beispiele sind „Code Red“, der 2001 in einer großen Welle Systeme mit dem Microsoft Internet Information Server attackierte, und „SQL Slammer“, der 2003 eine Sicherheitslücke im Microsoft SQL Server ausnutzte. Am 12. August 2003 machte der Wurm W32.Blaster Schlagzeilen. Er verbreitete sich aufgrund einer Sicherheitslücke im Microsoft Windows-Betriebssystem, um einen Distributed Denial of Service-Angriff auf Microsoft Server vorzubereiten. Etwa zur gleichen Zeit befiel der Wurm Sobig.F mit massiver Geschwindigkeit unzählige Computer und belastete Mailserver auf der ganzen Welt. 17 Am 26. Januar 2004 wurde der Wurm Mydoom das erste Mal gesichtet. Die schnelle Verbreitung des Wurms sorgte für ein paar Stunden zu einer durchschnittlich 10prozentigen Verlangsamung des Internetverkehrs und einer durchschnittlich erhöhten Ladezeit der Webseiten von 50 Prozent. Am 3. März 2004 machten neue Varianten des Mitte Februar im Internet aufgetauchten Bagle-Wurms Schlagzeilen. Sie können den zentralen Virenschutz in Firmennetzwerken unterlaufen. April/Mai 2004 taucht mit Phatbot ein neuer Wurm auf, der mit anderen Würmern wie Sasser, Beagle und Mydoom interagiert. Am 15. Juni 2004 taucht mit EPOC.Cabir der erste Computerwurm auf, der sich über Bluetooth auf Smartphones mit dem Betriebssystem Symbian verbreitet. 9. TROJANISCHES PFERD Als Trojanisches Pferd bezeichnet man in der Computersprache Programme, die sich als nützliche Programme tarnen, aber in Wirklichkeit Malware (Schadhafte Software) einschleusen Trojanische und so Pferde den Benutzer fälschlicherweise ausspionieren. auch Umgangssprachlich Trojaner (engl. Trojan) werden genannt (fälschlicherweise, weil die Trojaner die Opfer des Trojanischen Pferdes geworden sind). Im einfachsten Fall handelt es sich bei einem Trojanischen Pferd um ein Computerprogramm, das etwas anderes tut, als seine Beschreibung verspricht, gegebenenfalls täuscht es vor, durch einen Fehler abzustürzen, aber in der Regel ist es ein scheinbar harmloses Programm, z.B. ein simples Computerspiel, das jedoch unbemerkt im Hintergrund andere Programme installiert. 18 Abbildung 8 Trojaner Diese Programme können Viren sein, Programme, die unerwünscht Werbungen aus dem Internet einblenden oder den Anwender ungewollt auf bestimmte Websites umleiten, aber vor allem so genannte Sniffer. Umgangssprachlich fasst man meistens diese Programme samt dem Trojanischen Pferd ebenfalls kurz als „Trojaner“ zusammen.3 Jene Programme, die eigentlich nur für die Einblendung unerwünschter Werbung entwickelt wurden, können ferner versehentlich Hintertüren, so genannte Backdoors öffnen, durch die es Angreifern aus dem Internet möglich ist, den betroffenen Computer fern zu steuern, weitere Programme zu installieren oder Daten aus zu spähen. Durch Trojanische Pferde können sensible Daten (Passwörter, Kreditkartennummern, Kontonummern und ähnliches) ausgespäht, Dateien kopiert und u.U. alle Aktivitäten am Computer überwacht werden. Ebenso könnte der Computer von Unbekannten via Internet für kriminelle Zwecke missbraucht werden. Wird ein Trojanisches Pferd einmal ausgeführt, kann man die durchgeführten Veränderungen im System nicht mehr rückgängig machen, indem man das Trojanische Pferd selbst löscht, da dieses nur als Überträger fungiert. Trojanische Pferde sind keine Computerviren im engeren Sinn, da sie sich nicht oder nicht selbständig reproduzieren. Mit einem Linkvirus infizierte Programme sind keine Trojanischen Pferde, da jene mit der Absicht entwickelt werden, den Anwender zu täuschen und unbemerkt Veränderungen an dessen System vor zu nehmen. Trojanische Pferde unterscheiden sich ferner von Exploits, indem sie selbst keine Sicherheitslücken ausnutzen, sondern als ganz normale Anwendung auftreten und nur das tun, was dem Anwender selbst möglich ist. Am besten schützt man sich vor Trojanischen Pferden, indem man keine Programme aus unbekannten oder unsicheren Quellen ausführt. Besonders gefährlich sind hierbei wie bei jeder Malware Anbieter von Programmen bzw. Dienstleistungen am Rande der Legalität. 3 Nicht zu verwechseln mit dem Trojanischen Pferd der griechischen Antike. 19 Wie auch bei Viren schützen darauf ausgerichtete Antivirenprogramme nur vor bekannten Trojanischen Pferden. Personal Firewalls bieten keinen Schutz vor der Installation dieser Software. Allerdings kann man eventuell auf die Kommunikation eines Sniffers durch eine Firewall aufmerksam werden oder in vielen Fällen durch geeignete Firewalleinstellungen unterbinden. Als wirksamster theoretischer Schutz gegen Trojanische Pferde und Computerviren allgemein sind die Bestrebungen der Trusted Computing Platform Alliance (TCPA) zu sehen, welche das Ausführen von ungeprüfter (=vertrauensunwürdiger) Software verhindert bzw. geprüfte und ungeprüfte Software trennt. TCPA wird allerdings von vielen Experten kritisiert, da es auch eine gegenteilige Wirkung haben kann. Nachdem kein System als absolut sicher angesehen werden kann, ist TCPA selbst auch möglicherweise verwundbar, auch wenn es hier großes Fachwissen benötigt, um Fehler zu entdecken. Weiters ist zu bedenken, welche Firmen hinter dieser Alliance stehen. Vor allem Microsoft ist für seine manchmal nicht sehr benutzerfreundliche Art und Weise mit dem Umgang sensibler Daten ihrer Kunden im Verdacht. Weiters könnte so auch die große Monopolstellung Microsofts noch ausgebaut werden. Die Frage ist auch, wer Software als vertrauenswürdig einstuft. Es bleibt also abzusehen, ob TCPA nicht mehr Nachteile als Vorteile bringt. 9.1. Arten Trojanischer Pferde Zahlreiche Trojanische Pferde entstehen durch den Verbund zweier eigenständiger Programme zu einer einzelnen Programmdatei. Dabei heftet ein Linker (auch Binder oder Joiner genannt) das zweite Programm an eine beliebige ausführbare Wirtdatei, ohne dass dieser Vorgang einen Einfluss auf die Funktionalität beider Programme hat. Durch den Start des ersten Programms wird so das versteckte zweite Programm unbemerkt mitgestartet. Der Autor des Trojanischen Pferdes kann mithilfe eines entsprechenden Dienstprogrammes jede beliebige ausführbare Datei als Wirtprogramm missbrauchen, ohne Programmierkenntnisse besitzen zu müssen. Es gibt Trojanische Pferde, die heimlich eine Installationsroutine starten. Diese Trojanerart wird häufig dafür eingesetzt, um unbemerkt Malware auf ein System zu installieren, sobald das Trojanische Pferd ausgeführt wird. Daher nennt man sie „Dropper“ (vom englischen to drop – etwas im System „ablegen“). Ein Autostartmechanismus sorgt in der Regel dafür, dass die Malware auch nach einem Neustart des Rechners automatisch geladen wird. Für 20 den Start der Malware ist das Trojanische Pferd auf diesem System nicht mehr erforderlich. Demgegenüber gibt es auch Trojanische Pferde, die die geheimen Funktionen in sich selbst bergen. Wird das Trojanische Pferd beendet oder gelöscht, so stehen auch die heimlichen Funktionen nicht mehr zur Verfügung. Ein Beispiel dafür sind zahlreiche Plugins. Bei einem Plugin handelt es sich um eine Art Erweiterungsbaustein für ein bestimmtes Programm, mit dem weitere Funktionen hinzugefügt werden können. So kann ein als nützliches Browser-Plugin getarntes Trojanisches Pferd auf einem Internetbrowser laufen, um beispielsweise über den Browser mit dem Internet zu kommunizieren, wodurch es auf einfache Weise eine Firewall umginge. Allgemein ist es auch möglich, dass ein Trojanisches Pferd sich die externe Schnittstelle eines Programms zunutze macht. Ähnlich wie ein Plugin-Trojaner benötigt auch diese Trojanerart ein bereits vorhandenes Programm des Anwenders. Oft nutzt es dabei die Möglichkeiten des Betriebssystems, das Programm in seiner Arbeit zu beeinflussen. So kann ein solches Trojanisches Pferd den vorhandenen Browser starten und ein unsichtbares Fenster öffnen, darüber eine Internetverbindung aufbauen und so Daten an den Angreifer schicken. Eine Firewall kann auch hier den heimlichen Verbindungsaufbau nicht verhindern, wenn die Verbindung zum Internet für den Browser erlaubt wurde. Der Vorteil dieser Methode gegenüber einem Plugin-Trojaner ist, dass sie selbständig eine Internetverbindung aufbauen kann, also nicht erst, wenn der Internetbrowser vom Anwender gestartet wurde. 9.2. Zur Verbreitung von Trojanischen Pferden Trojanische Pferde können über jeden Weg auf einen Computer gelangen, mit dem Daten auf den Computer gebracht werden. Dies sind insbesondere Datenträger oder Netzwerkverbindungen wie das Internet (z. B. Tauschbörsen, präparierte Webseiten[1] (siehe auch Drive-by-Download), Versand durch E-Mails). Die Verbreitung des Trojanischen Pferdes erfolgt danach durch den Anwender des Computers selbst. Je nach Attraktivität des Scheinprogramms steigt die Wahrscheinlichkeit, dass der Anwender das Programm an weitere Anwender weitergibt. Für die Verbreitung mittels E-Mails wird meistens ein Computerwurm verwendet, der das Trojanische Pferd transportiert. Der Trojaner selbst wird dadurch, dass er sich augenscheinlich verbreitet, jedoch nicht zu einem Virus. Vielmehr kommen hier zwei 21 Schädlinge in Kombination zum Einsatz: Ein Wurm, der im Anhang das Trojanische Pferd transportiert. Im Jahr 2006 waren 55,6 Prozent der vom Informationsverbund des Bundes registrierten Schadprogramme Trojanische Pferde, nur 9,9 Prozent hingegen Viren. Schwachstellen in Browsern und Büroanwendungen werden mitunter schon am Tag des Bekanntwerdens ausgenutzt. Moderne Trojaner sind von Virenscannern nur noch schwer erkennbar.[2] 10. BACKDOOR Als Backdoor (deutsch Hintertür) bezeichnet man in einem Computersystem eine Funktionalität, die es ermöglicht, unter Umgehung der normalen Zugriffssicherung Zugang zum Computer (oder einem Computerprogramm) zu ermöglichen. Dies geschieht üblicherweise derart, dass der Zugriff den Administratoren verborgen bleibt. Eine Variante sind in einem System fest vorgegebene, nur dem Ersteller des Systems bekannte Passwörter oder andere versteckte Funktionen, die den Login ohne die sonst übliche Authentifizierung ermöglichen. Populärstes Beispiel hierfür ist wohl das von Award Software über mehrere Jahre vergebene BIOS-Universalpasswort „lkwpeter“. Eines der Argumente für Open-Source-Software ist es, dass der Quelltext nach derartigen Hintertüren leicht von jedem selbst durchsucht werden kann. Eine harmlose Variante dieser Art der Manipulation wird als Osterei bezeichnet, bei der über bestimmte Eingabemethoden versteckte Programmteile aufgerufen werden können (oft erscheinen die Namen der Programmierer oder ein kleines Spiel). Bösartige Hintertüren werden häufig von Computerviren, Würmern oder Hackern auf einem kompromittierten System installiert, nachdem beispielsweise über eine Sicherheitslücke in das System eingedrungen wurde. Diese so mit einer Hintertür versehenen Computer dienen dann meist dazu, Ausgangspunkt für Angriffe auf weitere Systeme zu sein, da so die Herkunft des Angriffs über mehrere Systeme hinweg verschleiert werden kann. Bekannte Backdoors sind: „Sub Seven“, „Back Orifice“, „Mosucker“ 11. BRUTE-FORCE-METHODE 22 Brute Force (engl. „rohe Gewalt“) ist der Fachbegriff für eine Lösungsmethode schwerer Probleme aus dem Bereich der Informatik und der Spieltheorie, die auf dem Ausprobieren aller (oder zumindest eines erheblichen Teils der in Frage kommenden) Varianten beruht. Für viele Probleme gibt es in der Informatik keine effizienten Algorithmen. Der natürlichste und einfachste Ansatz zur algorithmischen Lösung eines Problems besteht dann darin, einfach alle potentiellen Lösungen durchzuprobieren. Diese Methode nennt man „Brute Force“. Bekannt ist diese Methode vor allem im Bereich der Computersicherheit. Klassisches Anwendungsbeispiel für Brute-Force-Attacken ist das Knacken von verschlüsselten Passwortlisten, welche in der Regel aus Hash-Werten bestehen, bei welchen die Verschlüsselung nicht mehr rückgängig gemacht werden kann. Brute Force bedeutet hier dann simples Ausprobieren verschiedener Passwortmöglichkeiten. Versuche werden generiert, auf die gleiche Weise verschlüsselt und bei Gleichheit der beiden Hashes ist das Passwort gefunden. Dieses Verfahren ist deshalb sehr rechenintensiv und lohnt sich nur in den wenigsten Fällen, solange keine zu schwachen Passwörter vergeben wurden. Mancher Brute-Force-Angriff bedient sich außerdem auch einer Wortliste, in welcher besonders häufig vorkommende Passwörter enthalten sind, um schneller Treffer erzielen zu können. Diese Verfahren nennt man auch Wörterbuchattacke (engl. „Dictionary Attack“). Neben dem Durchprobieren mittels Software kann auch das manuelle Durchprobieren von Passwörtern als Brute-Force-Angriff bezeichnet werden. Weiters gibt es Software, um Brute-Force-Angriffe via Internet auf Dienste wie FTP durchzuführen. Der vielseitigen Anwendbarkeit, insbesondere gegen Internetdienste, steht der immense Zeitaufwand gegenüber, weshalb mit zunehmender Rechenleistung immer längere HashWerte für einen ausreichenden Schutz benötigt werden. 23 SCHLUSS 24 LITERATURVERZEICHNIS Clark, T. (2009). Distributed Operating System - How it works. New York: McMillan. Janks, T. (2011). How to infect a computer system. London: Oxford University Press. 25 ABBILDUNGSVERZEICHNIS Abbildung 1 Computerviren warten auf dich .................................................................................... 5 Abbildung 2 Viren sind überall......................................................................................................... 6 Abbildung 3 Aufbau eines Virus ...................................................................................................... 9 Abbildung 4 Antivirenprogramme .................................................................................................. 12 Abbildung 5 Maßnahmen .............................................................................................................. 13 Abbildung 6 Computerwürmer....................................................................................................... 15 Abbildung 7 "I love you"-Wurm...................................................................................................... 17 Abbildung 8 Trojaner ..................................................................................................................... 19 26