Malware - Unbemerkte Infektion trotz Firewall und Virenscanner
Aus Winfwiki
Inhaltsverzeichnis |
1 Titel
Name: Daniel Hansmann
Titel: Malware - Unbemerkte Infektion trotz Firewall und Virenscanner
Hochschule: FOM - Düsseldorf
2 Einleitung
Diese Hausarbeit beschäftigt sich mit Malware in einer Windowsumgebung. Hierzu werden die Funktionsweisen von Malware sowie die Verschleierungsmöglichkeiten beleuchtet. Um den technischen Rahmen zu erläutern gehe ich auch auf die Funktionsweise klassischer Virenscanner und Hardwarefirewalls ein.
Im Rahmen der Hausarbeit wurde zur besseren Verständlichkeit und zur Veranschaulichung eine Beispielimplementation entwickelt, welche grundlegende Funktionalitäten einer Schadsoftware enthält.
Das Resultat ist eine Malware, welche auf einem Windows XP nur sehr schwer bis gar nicht erkannt werden kann und Funktionen zum unbemerkten Zugriff auf den infizierten Client ermöglicht. Es wird von gängigen Virenscannern nicht erkannt und von handelsüblichen Hardwarefirewalls nicht blockiert.
3 Begriffsabgrenzung
Der Begriff Malware, im deutschen auch Schadsoftware genannt, umfasst in der Definition Computerprogramme, welche schädliche oder vom Anwender nicht gewünschte Funktionalitäten beinhalten. Unter dieser Rubrik lassen sich zum Beispiel Viren, Würmer und Spyware als Arten der Schadsoftware zusammenfassen. Neben diesen weitreichend bekannten Varianten gehören aber auch Dialer, Scareware und Trojanische Pferde in diesen Bereich von Software[1].
3.1 Viren
Viren sind eine der ältesten Formen der Malware. In der Regel besteht ein Virus aus mindestens einer der folgenden drei Komponenten[2]:
- Infektion
- Payload
- Tarnung
Dabei versucht der Virus sich immer über die Infektionsroutine weiter zu verbreiten. Dazu fügt er beispielsweise seine eigene Funktionalität in andere Programme ein oder überschreibt die bestehende komplett mit seinem eigenen Binärcode. Eine andere Vorgehensweise ist das Befallen des Bootsektors. Dabei schreibt sich der Virus selbst als sogenannten Bootsektor Virus auf alle im System zu findenden Datenträger mit Bootsektor. [2] Durch den Austausch der Datenträger oder einzelner durch den Virus befallener Binärdateien durch den Anwender verbreitet sich der Virus im Umfeld des Anwenders.
3.2 Trojaner
Trojaner oder auch Trojanische Pferde sind auf den ersten Blick ganz normale Programme mit einer variablen Funktionalität. Neben dieser nach außen hin sichtbaren Funktion enthält ein Trojaner aber auch eine zusätzliche, versteckte und schädigende Funktionalität, die durch ein spezielles Ereignis aktiviert wird. Dies kann zum Beispiel das Erreichen eines bestimmten Datums sein[3].
Es gibt aber auch Trojaner, deren schädigende Funktionalität vom ersten Programmstart der harmlosen Trägersoftware an aktiv wird und entweder über die Laufzeit des Programms läuft oder aber unbemerkt eine eigenständige Instanz eines Trojaners im Hintergrund installiert[4].
Meistens zielen diese Trojanischen Pferde auf Benutzerdaten wie Kennwörter, PIN Nummern für Onlinebanking ab oder stellen eine komplette Fernwartungsfunktionalität bereit[4].
Auffällig an dieser Form der Malware ist der fehlende Verbreitungsmechanismus wie er bei Viren oder Würmen vorkommt. Die Verbreitung erfolgt einzig und allein über die Verteilung der nach Außen normal wirkenden Trägersoftware[4].
Gerade das Erscheinungsbild eines nach Außen vollkommen unauffälligen Programmes mit normaler Programmfunktionalität macht einen Trojaner zu einer sehr schwer zu erkennenden Bedrohung.
3.3 Rootkit
Rootkits sind Programmpakete, welche die Funktionen des Betriebssystems so abändern, dass diese dem Autor des Rootkits dienlich sind[2].
Rootkits werden dabei auf infizierten Rechnern genutzt, um zum Beispiel die Programmdateien des Virus zu verbergen. Dabei werden die Systemfunktionen des Betriebssystems so angepasst, dass es die zur Malware gehörenden Programmdateien nicht mehr anzeigt und somit auch für einen möglicherweise laufenden Virenscanner nicht mehr erreichbar macht. Auch das Verschleiern von Prozessen ,die den Angreifer verraten würden, gehört zu den typischen Funktionalitäten eines Rootkits. Da das Rootkit bereits im System verankert ist, sind die Möglichkeiten nahezu unbegrenzt und ein Entfernen ohne Neuinstallation nahezu unmöglich.
Häufig werden Rootkits eingesetzt, um ein durch einen Hacker manuell geknacktes System langfristig und unbemerkt zu kontrollieren.
Gerade im Bereich von OpenSource Betriebssystemen ist die Implementation von manipulierten Systemfunktionalitäten aufgrund des vorhandenen Sourcecode der original Programmdateien und des Kernels wesentlich einfacher als zum Beispiel bei einem Windows Betriebssystem.
4 Motivation & Ziele
Ziel dieser Hausarbeit ist das Veranschaulichen von Malware und deren Funktionsweise. Auf diesem Wege soll der Anwender im Umgang mit dem Computer sensibilisiert werden.
Viele Anwender fühlen sich durch die Installation eines Virenscanners sicher und unterschätzen dabei die Notwendigkeit der regelmäßigen Updates der Signaturdateien und vor allem des bedachten Umgangs mit dem Computer.
5 Historische Entwicklung
Die ersten Umsetzungen von viren- bzw. wurmähnlicher Software stammen bereits aus den 70er Jahren. Als Erfinder der Computerviren gilt aber Fred Cohen, der im Rahmen seiner Doktorarbeit zu dem Thema „selbstvermehrende Software“ im Jahre 1981-84 den ersten wirklichen Virus entwickelte[5]. Der erste geschichtlich relevante Computerwurm, der sich über das Internet verbreitete, wurde 1988 von dem Studenten Robert T. Morris entwickelt[2].
Während sich die Verbreitung in den 90er Jahren vorwiegend auf Computerviren beschränkte, sind seid 2000 die Computerwürmer auf dem Vormarsch[2].
6 Infektionswege
Computerviren der ersten Generation verbreiteten sich in erster Linie über infizierte Binärdateien oder Bootsektoren, was in der Regel die Weitergabe einer infizierten Binärdatei oder eines infizierten Datenträgers voraussetzte[2].
Moderne Computerwürmer verbreiten sich dagegen automatisch. Dies geschieht entweder über den Versand des Schadprogramms als E-Mail, in der Hoffnung, dass der Empfänger sich durch das Ausführen der Binärdatei ebenfalls infiziert, oder durch das Ausnutzen aktueller Sicherheitslücken in verbreiteter Software oder verbreiteten Betriebssystemen.
Oftmals werden dabei Exploits eingesetzt, die auf einem Bufferoverflow basieren. Ein Bufferoverflow setzt voraus, dass der Programmierer eine Eingabe ( in der Regel von einer Netzwerkverbindung) nicht auf ihre Länge prüft und in eine Speichervariable schreibt. Dabei wird bei einem zu großen Input über den Bereich der Variablen im Speicher geschrieben. Im Optimalfall wird dabei bestehender Programmcode im Speicher mit dem Inhalt der Eingabe überschrieben, wobei der Input dann, ab der Position in der die Eingabe über den bestehenden Programmcode geschrieben wird, den Binärcode der Infektionsroutine enthalten muss. Somit wird beim nächsten Aufruf des ursprünglichen Programmcodes der durch den Bufferoverflow eingeschleuste Programmcode ausgeführt.
Moderne sogenannte hybride Würmer setzen dabei nicht nur auf einen Exploit, sondern verfügen über eine Sammlung von unterschiedlichen Exploits um sich effektiv zu verbreiten[2]. Im optimalen Fall kann der Wurm sogar nach der Verbreitung weitere aktuelle Exploits nachladen.
7 Funktionalitäten von Malware
Zu Beginn wurde Malware primär zu Forschungszwecken, zur Selbstbestätigung oder als moderne Form des Vandalismus entwickelt. Seit der Computer und das Internet aber zum Massenmedium geworden sind und dem Aufkommen kommerzieller Internetangebote, entwickelt sich auch eine kriminelle Szene, welche Schadsoftware zur eigenen Bereicherung einsetzt[5].
7.1 Bot Netze
Der Begriff Bot wird von dem Wort Roboter abgeleitet und beschreibt damit die Funktion schon ganz gut[5]. Der infizierte Rechner verbindet sich beispielsweise zu einem IRC Chatraum, um dort auf die Befehle seines Autors zu warten. Auf diese Weise entsteht ein sogenanntes Bot-Netz, welches mit zunehmender Größe an Macht gewinnt. Joe Stewart von SecureWorks Inc. vermutet, dass das größte Bot-Netz Srizbi 315.000 Bots zusammenfasst[6].
Die Befehle, welche der einzelne Bot von seinem Autor bekommt, können dabei unterschiedlicher Natur sein.
So kann der infizierte Rechner benutzt werden, um über einen in der Malware integrierten SMTP-Server Spam zu versenden[4][5].

Abbildung 1: Versand von Spam über ein Bot-Netz (In Anlehnung an Kaspersky)
Eine weitere Verwendung des Zusammenschlusses von infizierten Rechnern ist der DDos Angriff[4][5]. Bei diesem Angriff greifen die infizierten Rechner zeitgleich auf einen Server im Internet zu. Da ein Server durch die Kapazität seiner Anbindung und / oder seine Rechenkapazität begrenzt ist, ist dieser den Zugriffen ab einer bestimmten Menge an Zugriffen pro Minute nicht mehr gewachsen und wird entweder extrem langsam oder ignoriert neue Anfragen gänzlich. Dies nutzen die kriminellen Bot-Netzbetreiber um die Betreiber der Server zu erpressen, da diese an einem reibungslosen Betrieb der Server interessiert sind und einem Angriff durch ein ausreichend großes Bot-Netz in der Regel nicht viel entgegenzusetzen haben[5].

Abbildung 2: Gesteuerter DDos über ein Bot-Netz (In Anlehnung an Kaspersky)
7.2 Spionage
Eine weitere Funktionalität von Malware ist das Ausspionieren von Daten. Bei diesen Daten handelt es sich in Regel um Zugangsdaten zu Onlineanwendungen. Gerade die Zugangsdaten zum immer beliebter werdenden Onlinebanking in Verbindung mit unbenutzen TAN Nummern sind dabei sehr begehrt.
Aber auch unternehmerische Daten sind für die Kriminellen im Internet von Interesse.
8 Beispielimplementation
8.1 Systemumgebung
Es wird in der Beispielimplementation von einem PC mit Microsoft Windows XP mit ServicePack 1 ausgegangen.
Der Anwender ist, wie unter Windows XP standardmäßig voreingestellt, als Benutzer mit Administrationsrechten angemeldet.
8.1.1 Virenscanner
Der Virenscanner dient dazu, Viren auf dem Computer zu erkennen und ggf. zu entfernen. Dazu gleicht der Virenscanner die Dateisignaturen der Dateien auf einem System mit denen bekannter Malware ab und gibt Alarm, wenn eine Übereinstimmung gefunden wurde[7][2]. Moderne Virenscanner nutzen darüber hinaus auch heuristische Suchmethoden. Dabei versucht der Virenscanner Malware anhand für Schadsoftware typischen virulenten Merkmalen im Programmcode zu erkennen. Dieses Verfahren macht den Virenscanner zwar unabhängiger von Updates ist aber auch wesentlich ungenauer. Da der Scanner bei der heuristischen Suchmethode nur typisches Verhalten der Software überprüft, wird der Zugriff auf den Masterbootsektor sowohl bei einem Virus als auch bei einem Programm zum Formatieren von Festplatten als gefährliche Funktionalität gewertet[2].
Unabhängig von der Art der Erkennung lassen sich Virenscanner auch über die Art der Suche unterscheiden. Während der On-Access Scanner die Dateien in realtime beim Dateizugriff überprüft und den Zugriff ggf. verweigert, untersucht ein On-Demand Scanner alle Dateien in regelmäßigen Abständen[7][2]. Naturgemäß ist dabei der On-Access Scanner im Vorteil, da die Prüfung immer aktuell ist. Nahezu alle Virenscanner unterstützen aber beide Verfahren[7].
Auch der in der Systemumgebung des Tests eingesetzte Virenscanner „Antivir Personal Edition“ vom Hersteller „H+B EDV Datentechnik“ verfügt sowohl über einen On-Access als auch einen On-Demand Scanner. Dabei fand dieser im Test der C't unter Windows XP 99,6% aller aktuell in freier Wildbahn auftauchenden Schädlinge[7].
8.1.2 Hardwarefirewall
Das Testsystem ist über eine „Fritzbox fon 7170“ mit dem Internet verbunden. Diese verfügt über eine Stateful Packet Inspection Firewall[8]
8.2 Aufbau
Die im Rahmen dieser Hausarbeit entwickelte Malware besteht aus zwei Kernkomponenten. Zum einen wurde eine Serversoftware entwickelt, welche als Kontaktpunkt für die infizierten Rechner dient. Auf diesen Rechnern läuft der ebenfalls entwickelte Systemdienst, welcher eine Verbindung zum Server aufbaut. Diese eigentliche Malware beinhaltet also den Client für den Verbindungsaufbau.
8.3 Verschleierungsmechanismus
Damit die Malware auf dem infizierten System nicht entdeckt wird, wurde die Clientsoftware als Windows Dienst entwickelt und hat den Dateinamen SVCHOST.exe. Diesen Systemdienst gibt es unter Windows XP wirklich und die Programmdatei ist im Ordner "C:\Windows\System32\SVCHOST.exe "abgelegt. Die Programmdatei der Clientsoftware liegt allerdings in "C:\Windows\SVCHOST.exe".
Nun macht sich die Malware zu nutze, dass unter einem Windows System immer mehrerere Instanzen des Systemdienstes SVCHOST aktiv sind und die Anzahl immer variiert.

Abbildung 3: Screenshot eines Windowsrechners mit mehreren Instanzen von SVCHOST.exe
Somit fällt auch einem erfahrenen Anwender, der regelmäßig die laufenden Prozesse im Taskmanager prüft, der neue Systemprozess mit dem gleichen Namen nicht auf.
Da der Client noch nie in einem Labor der Hersteller der Antivirensoftware aufgefallen ist, gibt es folglich auch keine entsprechende Signatur die die Beispielimplementation als Malware identifzieren würde.
Darüber hinaus wurde bei der Entwicklung darauf geachtet, auffällige Routinen zu vermeiden oder so abzuändern, dass der Virenscanner keinen Alarm schlägt.
Da der Client als neuer Systemdienst registriert wird, ist das automatische Starten beim Systemstart sichergestellt. Außerdem fällt der Client hier wesentlich weniger auf, als zum Beispiel im Ordner Autostart.
Somit ist es gelungen eine Schadsoftware zu entwickeln, die trotz installierten, aktivierten und über regelmäßige Updates auf dem laufenden gehaltenen Virenscanners auf dem Zielrechner installiert werden kann.
8.4 Umgehen der Firewall
Um die Hardwarefirewall, die alle eingehenden Verbindungen blockiert, zu umgehen, baut die als Systemdienst getarnte Clientsoftware auf dem infizierten Rechner eine Verbindung zum Server auf. Diese Verbindung erfolgt auf Port 80. Dieser Port wird auch für die Kommunikation mit Webservern genutzt und ist daher auf den ersten Blick unauffällig. Eine normale Hardwarefirewall würde in diesem Fall also keinen Grund zur Beanstandung sehen. Nur Softwarefirewalls, die auf dem infizierten Rechner installiert sind, hätten die Möglichkeit die ausgehende Verbindung dem neuen Programm zuzuordnen und zu beanstanden.
Die seid Windows XP standardmäßig installierte Windows Firewall allerdings meldet nur Software die versucht eingehende Verbindungen zu ermöglichen. Ausgehende Verbindungen wie sie von der entwickelten Malware genutzt werden, beanstandet diese nicht.
Um die Verschleierung noch zu optimieren, wäre es möglich alle übertragenen Daten in einen HTTP Header zu verpacken. Somit wären die Verbindungen kaum noch von einer wirklichen Kommunikation mit einem Webserver zu unterscheiden.
8.5 Funktionsweise
8.5.1 Infektion
Für das Infizieren des Zielrechners mit dem Client wurde eine eigene Installationsanwendung entwickelt. Diese Anwendung prüft das Vorhandensein einer SVCHOST.exe im „c:\Windows“ Verzeichnis. Ist der Client noch nicht installiert, erstellt die Installationsanwendung diese Datei und schreibt den in ihr selbst abgelegten Binärcode der Clientanwendung in die SVCHOST.exe. Im Anschluss an die Dateierstellung wird die Clientanwendung als neuer Systemdienst registriert.
All dies geschieht für den Anwender und Windos XP vollkommen unbemerkt durch das Ausführen des Installers.
8.5.2 Verbindungsaufbau
Wie bereits im Punkt Umgehen der Firewall beschrieben, baut die Clientsoftware eine Verbindung zum Server auf Port 80 auf.
Diese Verbindung versucht der Client in regelmäßigen Intervallen herzustellen. Beginnend im Minutentakt, wird dieses Intervall solange erhöht, bis entweder die Verbindung zustande kommt oder das Intervall die maximale Zeit von 60 Minuten erreicht hat. Somit wird die Verbindung auch dann hergestellt, wenn der Server zum Systemstart nicht erreichbar ist. Spätestens 60 Minuten nach dem Start des Servers sind alle infizierten Rechner mit dem Server verbunden, sodass der Server auf die einzelnen Clients zugreifen kann.
In der Serversoftware lassen sich die einzelnen Clients dann einzeln zum Zugriff auswählen.
![]()
Abbildung 4: Auswahl eines Clients in der Serversoftware.
8.5.3 Dateiübertragung
Da die Malware Zugriff auf den Rechner ermöglichen soll, ist eine der Kernfunktionalitäten der Dateitransfer. Der Server kann vom Client zum einen eine Dateiliste einzelner Dateien anfordern und zum anderen Dateien vom und zum Client übertragen.
![]()
Abbildung 5: Dateizugriff vom Server auf den Client.
Für den Dateitransfer wird die Datei in kleine Teilpakete verpackt und übertragen. Im Anschluss daran werden die einzelnen Pakete auf der Gegenseite wieder zur kompletten Datei zusammengesetzt.
Auf diesem Wege kann auf alle Dateien des infizierten Rechners zugegriffen werden, ohne dass der Benutzer des Rechners dies merkt.
8.5.4 Bildschirmansicht
Eine weitere Funktion der Malware ist die Bildschirmansicht. Diese ermöglicht es, sich auf dem Server die Bildschirmausgabe des infizierten Client Rechners anzusehen.
![]()
Abbildung 6: Bildschirmansicht in der Serversoftware.
Um dies zu realisieren greift der Systemdienst auf dem Client über die Windows API auf einen Screenshot zurück. Diesen überträgt er dann über die Funktionalität der Dateiübertragung an den Server, wo die Grafik dann angezeigt wird. Somit ist ein einfaches Ausspionieren des Zielrechners möglich.
8.5.5 Updatemechanismuss
Um den infizierten Rechner gegebenenfalls mit neuen Funktionen zu versorgen, verfügt die Beispielimplementation über einen Updatemechanismus. Dazu wird die neue Version hochgeladen und gespeichert. Im Anschluss wird der Prozess durch einen Hilfsprozess beendet, die alte Version ersetzt und der Prozess dann neu gestartet.
9 Ausblick
Durch die Verbreitung des Internets werden Würmer in Zukunft weiter zunehmen. Durch den Einsatz von Ressourcen im kriminellen Umfeld wird die Qualität und die Komplexität dieser Malware weiter steigen.
Darüber hinaus bietet die steigende Verbreitung von Smartphones ein weiteres interessantes Angriffsziel für die Autoren von Malware.
Glücklicherweise entwickeln sich aber auch die Virenscanner immer weiter und die Entwicklung von Virenscannern für Handys und Samrtphones schreitet stetig voran.
10 Fazit
Abschließend ist zu bemerken, dass auch ein aktueller Virenscanner und eine Hardwarefirewall keinen ausreichenden Schutz gegen gezielte Angriffe auf das System bieten. Solange die Schadsoftware keine auffälligen Programmroutinen enthält und die Signatur den Virenscannern noch nicht bekannt ist, ist eine Identifikation der Malware extrem kompliziert. In der freien Wildbahn werden Schadprogramme aber in der Regel schnell erkannt und von gängigen Virenscannern gefunden. Dafür ist allerdings ein regelmäßiges Update der Signaturdateien des entsprechenden Virenscanners unabdingbar.
11 Fußnoten
- ↑ Vgl. http://de.wikipedia.org/wiki/Malware im Februar 2008
- ↑ 2,0 2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9 Vgl. Noack, Dipl. Math. W (2003)
- ↑ Vgl. Hübscher, Heinrich / Petersen, Hans-Joachim / Rathgeber, Carsten / Richter, Klaus / Scharf, Dr. Dirk (2006)
- ↑ 4,0 4,1 4,2 4,3 4,4 Vgl. Janowicz, Krzysztof (2007)
- ↑ 5,0 5,1 5,2 5,3 5,4 5,5 Vgl. Kaspersky, Eugene (2008)
- ↑ Vgl. http://www.tecchannel.de/sicherheit/news/1754076/eine_million_drohnen_versenden_100_milliarden_spam_mails_taeglich/index.html am 08.02.2009
- ↑ 7,0 7,1 7,2 7,3 Vgl. c't (2003, Ausgabe 09)
- ↑ AVM Fritzbox Produktbeschreibung http://www.avm.de/de/Produkte/FRITZBox/FRITZ_Box_Fon_WLAN/index.php
12 Abkürzungsverzeichnis
| Abkürzung | Bedeutung |
|---|---|
| API | Application Programming Interface |
| DDos | Distributed Denial of Service |
| IRC | Internet Relay Chat |
| PIN | Persönliche Identifikationsnummer |
| SMTP | Simple Mail Transfer Protocol |
| TAN | Transaktionsnummer |
13 Abbildungsverzeichnis
| Abb.-Nr. | Abbildung | Quelle | |
|---|---|---|---|
| 1 | Versand von Spam über ein BOT-Netz (In Anlehnung an Kaspersky) | ||
| 2 | Gesteuerter DDos über ein BOT-Netz (In Anlehnung an Kaspersky) | ||
| 3 | Taskmanager | Screenshot auf einem infizierten System | |
| 4 | Auswahl eines Clients in der Serversoftware | ||
| 5 | Dateizugriff vom Server auf den Client | ||
| 6 | Bildschirmansicht in der Serversoftware |
14 Literatur- und Quellenverzeichnis
| Hübscher, Heinrich (2006) | Hübscher, Heinrich / Petersen, Hans-Joachim / Rathgeber, Carsten / Richter, Klaus / Scharf, Dr. Dirk (2006): IT-Handbuch , 4. Aufl.,Westermann Verlag, Braunschweig 2006 |
| Janowicz, Krzysztof (2007) | Janowicz, Krzysztof (2007): Sicherheit im Internet, 3. Aufl., O’Reilly Verlag, Beijing 2007 |
| Kaspersky, Eugene (2008) | Kaspersky, Eugene (2008): Malware, Hanser Verlag, München 2008 |
| Noack, Dipl. Math. W (2003) | Noack, Dipl. Math. W (2003): Internetworking: Sicherheit, 3. Aufl., Hannover 2003 |
| c't (2003, Ausgabe 09) | Vahldiek, Axel / Marx, Andreas: Vielversprecher - 16 Vierenscanner auf dem Prüfstand, in: c't, 2003, Ausgabe 09, S. 128 bis 137 |

