Spionage Trojaner im Einsatz




Als Trojanisches Pferd (englisch Trojan Horse), im EDV-Jargon auch kurz Trojaner genannt, bezeichnet man ein Computerprogramm, das als nützliche Anwendung getarnt ist, im Hintergrund aber ohne Wissen des Anwenders eine andere Funktion erfüllt.
Trojanische Pferde zählen zu den unerwünschten bzw. schädlichen Programmen, der sogenannten Malware. Der Begriff wird umgangssprachlich häufig synonym zu Computerviren sowie als Oberbegriff für Backdoors und Rootkits verwendet, ist davon aber klar abzugrenzen.
Trojanische Pferde sind Programme, die gezielt auf fremde Computer eingeschleust werden, aber auch zufällig dorthin gelangen können, und dem Anwender nicht genannte Funktionen ausführen. Sie sind als nützliche Programme getarnt, indem sie beispielsweise den Dateinamen einer nützlichen Datei benutzen, oder neben ihrer versteckten Funktion tatsächlich eine nützliche Funktionalität aufweisen.
Viele Trojanische Pferde installieren während ihrer Ausführung auf dem Computer heimlich ein Schadprogramm. Diese Schadprogramme laufen dann eigenständig auf dem Computer, was bedeutet, dass sie sich durch Beenden oder Löschen des Trojanerprogramms nicht deaktivieren lassen. So können u. a. eigenständige Spionageprogramme auf den Rechner gelangen (z. B. Sniffer oder Komponenten, die Tastatureingaben aufzeichnen, sogenannte Keylogger). Auch die heimliche Installation eines Backdoorprogramms ist möglich, die es gestattet, den Computer unbemerkt über ein Netzwerk (z. B. das Internet) fernzusteuern.
Trojanische Pferde müssen jedoch nicht notwendigerweise ein Schadprogramm installieren. Jedes Programm, dem eine wichtige Funktionalität hinzugefügt wurde, die mit dem offensichtlichen Teil des Programms in keinem Zusammenhang steht, ist definitionsgemäß ein Trojanisches Pferd, solange die Funktion dem Anwender nicht genannt wird. Deshalb ist es sogar möglich, dass der versteckte Teil des Programms keinen direkten Schaden verursacht.

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 Wirtsdatei, 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 nach jedem Neustart des Rechners automatisch geladen wird. Für 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 Plug-ins. Bei einem Plug-in 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-Plug-in getarntes Trojanisches Pferd auf einem Webbrowser 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 Plug-in-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 Plug-in-Trojaner ist, dass sie selbständig eine Internetverbindung aufbauen kann, also nicht erst, wenn der Webbrowser vom Anwender gestartet wurde.

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 (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 Schädlinge in Kombination zum Einsatz: Ein Wurm, der im Anhang das Trojanische Pferd transportiert.
Im Jahr 2006 waren 55,6 % der vom Informationsverbund des Bundes registrierten Schadprogramme Trojanische Pferde, nur 9,9 % 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.

Die Schadroutine

In der Regel wird das Trojanerprogramm auf direktem Weg durch den Anwender eines Computers gestartet, wodurch es die Zugriffsberechtigung erhält, alle Funktionen zu nutzen, auf die auch der angemeldete Benutzer zugreifen darf. Die Schadroutine kann demnach selbstständig oder ferngesteuert alle Aktionen unentdeckt ausführen, die auch der Benutzer des Computers willentlich ausführen könnte (gleiches gilt für Schadprogramme aller Art, die ein Trojanisches Pferd heimlich auf dem Computer installieren). Da zahlreiche Nutzer aus Bequemlichkeit oder Unkenntnis dauerhaft mit Administrationsrechten arbeiten, ist das Spektrum an Manipulationsmöglichkeiten durch die Schadroutine unbegrenzt.
Hier einige typische Schadfunktionen:
  • Überwachung des Datenverkehrs oder aller Benutzeraktivitäten mit Hilfe von Sniffern.
  • Ausspähen von sensiblen Daten (Passwörter, Kreditkartennummern, Kontonummern und Ähnliches), Dateien kopieren und weiterleiten.
  • Fernsteuerung des Rechners von Unbekannten, u. a. für kriminelle Zwecke, z. B. zum Versenden von Werbe-E-Mails oder Durchführung von DoS-Attacken.
  • Deaktivierung oder Austausch sicherheitsrelevanter Computerdienste (wie z. B. ein Antivirenprogramm oder eine Personal Firewall).
  • Installation von illegalen Dialer-Programmen (heimliche Einwahl auf Telefon-Mehrwertrufnummern, Versand von kostenpflichtigen Premium-SMS), was dem Geschädigten finanziellen Schaden zufügt.
  • Benutzung der Speicherressourcen zur Ablage von illegalen Dateien, um sie von hier aus anderen Nutzern aus dem Internet zur Verfügung zu stellen.
  • Anzeige unerwünschter Werbung oder Umleiten des surfenden Anwenders auf präparierte Webseiten (siehe auch Phishing).
  • Verschlüsselung der auf dem Computer gespeicherten Dateien zur Erpressung von Lösegeld (Ransomware).
Es ist denkbar, dass der versteckte Programmteil des Trojanisches Pferdes keinen direkten Schaden verursacht. Sendet beispielsweise das Programm ohne Wissen des Anwenders unsensible Daten an den Programmierer, die in keinem Bezug zu dem Programm stehen, und lässt der offensichtliche Teil des Programms keinen Rückschluss auf die versteckte Funktionalität zu, so erfüllt das Programm alle Bedingungen, um als Trojanisches Pferd klassifiziert zu werden, obgleich es keinen direkten Schaden anrichtet. Dagegen kann eine geheime Funktion auch zu einer Schadroutine werden, ohne dass der Entwickler des Programms das beabsichtigt hat. Bezogen auf dieses Beispiel wäre das der Fall, wenn das Programm in einem vom Entwickler nicht vorhergesehenen Umfeld eingesetzt wird. Dort könnte die heimliche Datenübermittlung beispielsweise zum Aufbau einer Internetverbindung führen und so ungefragt Kosten verursachen.

Die Tarnung

Unter Unix werden häufig verwendete Befehle wie ls (Auflisten von Dateien) oder ps (Anzeige der laufenden Prozesse) gerne durch Trojanische Pferde ersetzt. Zum einen fallen sie so lediglich bei einem Vergleich ihrer Checksummen auf, zum anderen erhöht sich dadurch die Wahrscheinlichkeit, dass ein Administrator das Trojanische Pferd startet, wodurch sie erweiterte Zugriffsrechte erlangen, ohne durch manipulierte Dateirechte aufzufallen.
Anders als unter Unix wird bei einem Microsoft-Windows-Betriebssystem ein ausführbares Programm (Executable) nicht an seinen Dateirechten erkannt. Vielmehr legt hier die Endung des Dateinamens fest, ob und wie die Datei ausgeführt wird. Da Trojanische Pferde nur funktionieren können, indem jemand ihren Code startet, sind auch sie gezwungen, eine dementsprechende Dateiendung zu verwenden, wie beispielsweise .exe, .com, .scr, .bat, .cmd, .vbs, .wfs, .jse, .shs, .shb, .lnk oder .pif. In der Standardkonfiguration zeigt das Betriebssystem diese Dateiendungen im Explorer jedoch nicht an. Dadurch kann ein Trojanisches Pferd als Datei beliebiger Art maskiert sein. Viele ausführbare Dateiformate erlauben zusätzlich das Zuordnen von Icons zu einer Datei, so dass eine schädigende Datei „Bild.jpg.exe“ dem Benutzer namentlich nicht nur als „Bild.jpg“ angezeigt wird, sondern auch noch das Icon einer Bilddatei erhalten kann und somit bei der oben genannten Windows-Konfiguration auf den ersten Blick nicht von einer ungefährlichen Bilddatei zu unterscheiden ist.
Eine weitere beliebte Möglichkeit der Maskierung besteht darin, eine Dateiendung mit Hilfe zahlreicher Leerzeichen zu kaschieren. So erscheint eine Datei namens „harmlos.txt<zahlreiche Leerzeichen>Checked By Norton Antivirus.exe“ dem Anwender auf den ersten Blick wie eine Textdatei, wobei der restliche Dateiname von ihm oft nur als Hinweis interpretiert wird. Abhängig von dem Programm, das die Datei anzeigt, kann es auch vorkommen, dass nicht der komplette Dateiname zu sehen ist, wodurch der Anwender die *.exe-Endung der Datei gar nicht erst zu Gesicht bekommt. Da vielen Benutzern die Möglichkeit der Maskierung nicht geläufig ist, werden Trojanische Pferde häufig unbemerkt ausgeführt.
Eine weitere Möglichkeit, ausführbaren Code unter einer „harmlosen“ Dateiendung zu verstecken, bieten Programme, die den Dateityp unabhängig von seiner Endung selbst analysieren und sie entsprechend ihrem tatsächlichen Typ behandeln. Als Beispiel ist es zwar theoretisch nicht möglich, in einer RTF-Datei ausführbaren Makrocode zu hinterlegen, da dieses Dateiformat keine Makros unterstützt. Jedoch wird eine Datei namens „gefährlich.doc“, die man in „harmlos.rtf“ umbenennt, von Office anhand des Dateiinhalts als DOC-Datei erkannt, woraufhin der darin hinterlegte Makrocode trotz der Dateiendung .rtf ausgeführt wird.
Trojanische Pferde, die auf einem Exploit basieren, bilden hier ebenfalls eine Ausnahme. Sie nutzen Programmierfehler oder anderweitige Schwachstellen eines Programms aus, um ihren Code zur Ausführung zu bringen. Abhängig von dem Programm, auf dessen Schwachstelle das Trojanische Pferd basiert, kann es sich in jedem Dateityp verbergen, also auch in Dateien, die normalerweise nicht ausführbar sind. So gibt es beispielsweise Trojanische Pferde, deren Code in einer Grafikdatei hinterlegt wurde. Eine Schwachstelle des jeweiligen Browsers vorausgesetzt, ist es auch möglich, eine Internetseite derart zu präparieren, dass ein bloßer Aufruf der Seite zur Ausführung des Trojanercodes führt. Auch bei E-Mail-Programmen, die den HTML-Code einer Nachricht automatisch anzeigen, besteht die Gefahr, dass bösartiger Code bereits beim Lesen der Nachricht zur Ausführung gelangt. Der Trojanercode kann jedoch nur dann gestartet werden, wenn die belastete Datei tatsächlich mit dem Programm geöffnet wird, für das das Trojanische Pferd bestimmt ist.

Oftmals verwenden Trojanische Pferde auch Dateinamen, die es schwer machen, sie von wichtigen Systemdateien zu unterscheiden. Dazu legen sie sich meistens in unübersichtliche Verzeichnisse, wie z. B. im Systemordner von Windows. Werden sie über einen Autostarteintrag der Registry geladen, nutzen sie gerne auch Verschleierungstechniken wie diesen Eintrag: „c:\windows\system32\userinit.exe \\localhost\IPC$ -n“. Bei einer Überprüfung aller Autostarteinträge wird eine mögliche Recherche im Internet ergeben, dass userinit.exe ein regulärer Bestandteil des Betriebssystems ist. Und die Überprüfung der Datei wird dem Anwender bestätigen, dass es sich um das Original handelt (sogar mit möglichem Zertifikat). Auch „\\localhost\IPC$“ ist eine reguläre, vom System erstellte Standardfreigabe für interne Zwecke. Alles scheint in Ordnung zu sein, bis auf die Tatsache, dass hier nicht „c:\windows\system32\userinit.exe“ geladen wird, sondern „IPC$ -n.exe“, welche im Verzeichnis „c:\windows\system32\userinit.exe \localhost\“ liegt (wobei unter den aktuellen Versionen von Windows das vermeintliche Leerzeichen vor „\localhost\“ tatsächlich ein Sonderzeichen sein muss, welches sich mit Alt+255 erzeugen lässt). Zusätzlich zu abweichenden Speicherorten einer Datei kann auch die Schreibweise des Dateinamens vom „Original“ abweichen, so soll etwa der Dateiname scvhost.exe an die Datei svchost.exe erinnern.

Kommentare