SI-Labor - Versuch 1
Transcription
SI-Labor - Versuch 1
SI-LABOR – VERSUCH 1 Auswirkungen von „Vireninfektionen” und Angriffen auf Computersysteme sowie mögliche Schutzstrategien Abbildung 1: Künstlerische Darstellung von Computerviren im Datendickicht. Quelle: Heise-Verlag SI-LABOR – G. Varvelli Versuch 1 – Viren INHALTSVERZEICHNIS 1 Lernziele 3 2 Einführung in das Thema 4 3 Grundlagen 6 3.1 Die Gefahr von Viren, Würmern und Trojanern 6 3.2 Wer ist gefährdet? 7 3.3 Mögliche Konzepte gegen Malware 8 3.4 Übertragungsmedium E-Mail und die Rolle der ISP 10 3.5 Wie funktionieren Viren? 12 3.5.1 Einordnung nach „Infektionsopfer“ 12 3.5.2 Einordnung nach Infektionsart 17 3.5.3 Klassifizierung nach Schutzmaßnahmen gegen Entdeckung 19 3.5.4 New Generation – Makroviren 21 3.6 Was sind Würmer? 28 3.7 Was sind Trojaner? 30 3.7.1 Zweck der Trojaner 30 3.7.2 Wege der Infektion eines Rechners mit Trojanern 32 3.7.3 New Generation – Rootkits 36 4 Versuchsaufbau 37 4.1 Vorsorgemaßnahmen 37 4.2 Säuberungsmaßnahmen 43 4.2.1 Virenscanner 44 4.2.2 Antitrojaner 51 4.2.3 Firewalls 61 5 Aufgabenstellung im Versuch 77 Literatur – Quellen 78 Weiterführende URLs zum Thema 80 Information zu dieser Ausarbeitung 80 Anhang 81 Seite 2 SI-LABOR – G. Varvelli 1 Versuch 1 – Viren Lernziele Liebe KommilitonInnen mit den Schwerpunkten Medieninformatik – Technische Informatik (Elektrotechnik), im Rahmen dieses Versuchs sollen euch die Grundlagen zur Technik von Angriffen auf Rechner und -netzwerke, Sicherungsstrategien und Schutzmassnahmen vermittelt werden. Dazu werden Fragen geklärt werden wie: - Was sind Computerviren, wieso werden sie überhaupt Viren genannt? - Wie infiziert sich ein Rechner? - Was ist der Unterschied zwischen Viren, Makroviren, Würmern, Trojanern? - Was sind sogenannte „hoaxes“? - Über welche Kanäle kann sich eine Infektionsgefahr eines ursprünglich „sauberen“ Rechners ergeben? - Wie sieht ein zufälligen Sicherheitkonzept aus, mit dem ich mein Rechner zu Hause vor (Viren, Würmer) oder gezielten (Trojaner) Angriffen ohne Riesenaufwand schützen kann? - Was kann ich tun, wenn es bereits zur Infektion von Disketten oder vom Rechner gekommen ist? Vor allem soll vermittelt werden, dass es im Umgang mit (wichtigen) Daten nur eine Maxime geben kann, nämlich: VORSICHT IST BESSER ALS NACHSICHT, GERADE WEGEN DER GEFAHR VON COMPUTERVIREN, WÜRMERN UND TROJANERN Seite 3 SI-LABOR – G. Varvelli 2 Versuch 1 – Viren Einführung in das Thema Virus (zu lateinisch virus „Schleim, Saft, Gift“) ist ursprünglich die allgemeine Bezeichnung für Krankheitserreger; seit etwa 1900 ist es nur noch die Bezeichnung für krankheitserregende Partikel, die bakteriendichte Filter passieren können und als in Proteinhüllen verpackte Stücke genetischen Materials den biochemischen Apparat geeigneter Wirtszellen auf Produktion neuer Viren derselben Art umprogrammieren können. Dabei sind Viren bei ihrer Vermehrung ganz auf die chemischen Bausteine und die Energie der lebenden Wirtszellen angewiesen, ausserhalb derer sind sie nicht – oder nur bedingt – überlebensfähig. Daher werden Viren nicht als primitive Organismen (wie Bakterien) aufgefasst, sondern eher als „ausser Kontrolle geratene Gene“. Geschichtliche Entwicklung 1984 setzte der amerikanische Computerspezialist Fred Cohen mit seiner Schrift „Computer Viruses: theory and Experiments“ [1] in Anlehnung an die Biochemie und inspieriert von John Brunner's ‚Shockwave Rider’ sowie von Thomas Ryan's ‚Adolescence of P-1’, zweien Science-Fiction-Büchern der 70er Jahre, die gedanklichen Grundlagen für das, was wir heute im Allgemeinen als Computerviren bezeichnen. Um die aufgestellten Thesen zu untermauern, programmierte Cohen den wohl ersten Virus1 . Im Gegensatz zu „richtigen“ Viren sind Computerviren somit nicht durch Evolution, sondern durch den Willen findiger Programmierer entstanden. So begannen bald auch in Europa, speziell in Deutschland, ab 1986 (Hobby-) Programmierer mit der Schaffung eigener Viren, nachdem unter anderem der Spiegel über Cohens Arbeit berichtet hatte. Ab dem Jahr, vor allem seit dem Kongress des Chaos Computer Clubs, wurde die Problematik öffentlich diskutiert. Seit den Jahren 1986/87 schlummert in so mancher nicht mehr benutzten 5 ¼ Zoll-Diskette eines der ersten Viren, wie zum Beispiel dem ersten Boot-Virus ‚Pakistani Brain’ zweier pakistanischer Brüder. 1 Bereits Anfang der 70er Jahre wurden von Programmierern und Administratoren Killer-Applikationen geschaffen, die sich gegeneinander störten und zum Teil auch die Fähigkeit sich selbst zu kopieren hatten. Gedanklich geht die Idee einer sich selbst reproduzierenden Applikation auf John von Neumanns in den 40er Jahre des letzten Jahrhundert veröffentlichtes Papier ‚Theory and Organization of Complicated Automata’ und auf sein Emulationsprogramm ‚Game of Life’ aus den 60er Jahre zurück. Seite 4 SI-LABOR – G. Varvelli Versuch 1 – Viren Gefahren... Computerviren – zusammen mit Würmern und Trojanern nennt man sie Malware – sind für uns Menschen natürlich nicht so gefährlich wie die Namensgeber aus der Biologie; sie können allerdings Nerven, Geduld und richtig Geld kosten und uns bisweilen in Verzweiflung bringen, wenn wir kurz vor einem Abgabetermin stehen und unser Rechner durch eine Virusinfektion lahmgelegt ist. Bei näherer Betrachtung der Computerviren fällt auf, dass diese – analog zu richtigen Viren – aus Kleinst-Programmcodes bestehen, die abhänhig von der Intention des jeweiligen Programmierers unterschiedliches Schadenspotential bergen, vom automatischen Infizieren über Übertragungskanäle wie Disketten oder E-Mails bis zum Löschen von Dateien, von Festplattenbereichen, Einträgen des Betriessystems (Boot-Sector) oder gar von Einträgen im BIOS. Analog zu den Krankheitserregern sind sie schwer auszumachen, da sie klein sind (meistens zwischen einem halben und einigen Kilobytes), sich zumeist in Programmdateien oder im Bootsektor als deren Wirte „verstecken“, auf automatische und selbstständige Vervielfältigung und auf Schwächung oder Schädigung des Wirtes ausgelegt. ... und Auswirkungen Kaum ein Monat vergeht ohne Meldungen über neue Viren, Würmer oder Trojaner, die sowohl dem unbeholfenen User wie auch dem spezialisierten IT-Fachmann irgendwie das Gefühl von Ohnmacht vermitteln. Die Gefahr ist real und sie wird uns auf absehbare Zeit weiterhin begleiten. Dass Malware nicht nur ein Schreckgespenst sind, das sensationslüsterne Medien und geldgierige Hersteller von Antiviren-Software an die Wand malen, mussten in den vergangenen Jahren mehr Anwender als je zuvor am eigenen Rechner erfahren. Im Mai 2000 zum Beispiel infizierte der Loveletter-Wurm Millionen von Computern weltweit und setzte damit einen Meilenstein in der Geschichte der EDV. Und wer glaubt, dass es sich dabei um einen einmaligen Höhepunkt handelt, irrt gewaltig. So registrierte die Firma MessageLabs [2], die weltweit E-Mails ihrer Kunden mit mehreren Scannern auf Viren untersucht (und nötigenfalls infizierte Mails in Quarantäne setzt), im Oktober und November 2000 mehr infizierte E-Mails als im Loveletter-Monat Mai. Verantwortlich waren mehrere „kleinere“ Epidemien, wie sie schon fast als zum Alltag gehörend gerechnet werden. Seite 5 SI-LABOR – G. Varvelli 3 Grundlagen 3.1 Die Gefahr von Viren, Würmern und Trojanern Versuch 1 – Viren In einer Umfrage zu Antiviren-Programmen, vom Heise-Verlag durchgeführt und in [3] vorgestellt, berichteten 49 % der 5286 befragten Teilnehmer, dass sie schon mindestens einmal einen Virus auf ihrem System hatten. Bei rund einem Drittel dieser Fälle (17 Prozent aller Befragten) kam es auch zu einem Virenbefall. Berücksichtigt man nur die Benutzer von Microsoft-Betriebssystemen, liegen die Zahlen sogar noch höher, und das, obwohl laut Umfrage über 80 Prozent der Windows-Nutzer Antiviren-Software einsetzen. Knapp die Hälfte der Geschädigten gab sogar an, dass auch zum Zeitpunkt des Befalls Antiviren-Software auf dem System aktiv war. Doch immer noch verkauft uns die Mehrzahl der Experten Antiviren-Software als bestmögliche Sicherung gegen den Schädlingsbefall. Dabei sind die Schwächen von Antiviren-Software hinlänglich bekannt. Die Scanner erkennen nur ihnen bekannte Schädlinge zuverlässig, sodass sie auf aktuelle VirenSignaturen angewiesen sind. Wie Tests gezeigt haben, sinken die Erfolgsaussichten dramatisch, wenn es gilt, geringfügig modifizierte Viren zu erkennen - von wirklich neuen ganz zu schweigen. Zudem kommt noch hinzu, dass rund drei Viertel der Benutzer von Antiviren-Software zwischen zwei Updates mehr als eine Woche verstreichen lassen und somit nicht ‚optimal geschützt’ oder zumindest bestmöglichst vorbereitet sind. Die Umfrage ergab, dass weniger als ein Viertel der Benutzer von Antivirenprogrammen diese öfter als einmal die Woche aktualisieren. Man kann auch kaum von einem Anwender erwarten, dass er täglich oder gar stündlich neue Updates aus dem Netz lädt. Andererseits verbreiten sich Würmer wie ILOVEYOU in wenigen Stunden rund um den ganzen Globus – Katastrophen sind so natürlich vorprogrammiert. Wo es zu einer akuten Infektion kam, hatte rund ein Drittel irreparabel zerstörte Dateien zu beklagen, bei 18 Prozent war das Betriebssystem nicht mehr zu retten. Bei immerhin 40 Prozent der Betroffenen konnte Antiviren-Software das System und die befallenen Dateien vollständig wiederherstellen. Rund ein Drittel der Viren-Vorfälle kostete Seite 6 SI-LABOR – G. Varvelli Versuch 1 – Viren weniger als eine Stunde Arbeitszeit, aber immerhin 17 Prozent der Betroffenen verbrachten damit mehr als einen Arbeitstag. Abbildung 2: Diagramm zur Umfrage des Heise-Verlags [3]; rund zwei Drittel der Viren-Vorfälle war nach spätestens vier Stunden erledigt. Aber immerhin 17 Prozent erforderten mehr als einen Arbeitstag. 3.2 Wer ist gefährdet? Viren sind hauptsächlich ein Windows-Phänomen. Das liegt zum einen an der großen Verbreitung der Betriebssysteme aus Redmond; Monokulturen sind nun einmal besonders anfällig für Schädlinge. Erschwerend kommt jedoch hinzu, dass Microsoft es den Virenbastlern viel zu einfach macht. Das gesamte System ist nämlich hauptsächlich auf bequeme Benutzbarkeit und tolle Funktionen ausgelegt - außer wenn es um Sicherheit geht. Die Sicherheitseinstellungen des Internet Explorer, die auch das Verhalten von Outlook (Express) beeinflussen, sind etwa so übersichtlich wie die deutschen Telefontarife – nämlich überhaupt nicht. Microsofts Mail-Programme können mit einem Mausklick vertonte Glückwunschvideos abspielen; eine Option, solche Attachments vorher automatisch auf Viren zu testen, sucht man jedoch vergeblich. Derartige Funktionen bleiben den Virenwächtern von Drittherstellern überlassen, und um die muss sich der Anwender natürlich selbst kümmern. Dass schon ein unvorsichtiger Mausklick auf eine Mail genügen kann, das (Betriebs-) System komplett zu zerstören, ist in der IT-Landschaft von heute ein Anachronismus. Andere Betriebssysteme zeigen, wie es anders geht. Ein wichtiger Grundpfeiler sicherer Systeme ist die grundlegende Trennung zwischen Administrator - `root´ unter Linux - Seite 7 SI-LABOR – G. Varvelli Versuch 1 – Viren und normalen Benutzern, die bei DOS, Windows 95/98/ME vollständig fehlt. Damit ist nicht gemeint, dass jeder Endanwender einen Systemverwalter anheuern soll, sondern dass das Betriebssystem eine rollenspezifische Rechtevergabe vorsieht: Im Normalbetrieb arbeitet der Anwender mit eingeschränkten Rechten. Die ermöglichen ihm zwar seine normalen Tätigkeiten, gestatten aber keine Schreibzugriffe auf Systemdateien oder zentrale Programme wie das installierte Office-Paket. Nur bei administrativen Tätigkeiten wie der Installation neuer Programme schlüpft der Anwender in die Rolle des Systemverwalters - mit uneingeschränkten Zugriffsrechten. Selbstverständlich bietet das keinen hundertprozentigen Schutz, aber es baut eine zusätzliche - auch psychologische - Hürde auf. Wer sich gerade mit Passwort explizit als Administrator angemeldet hat, ist sich der damit verbundenen Verantwortung viel eher bewusst, als wenn er gerade zwischen zwei Telefonaten kurz einen Blick in seine Mailbox wirft. Da bei DOS, Windows 95/98/ME die benötigten Systemfunktionen für Zugriffskontrolle fehlen, lässt sich ein solches Konzept dort prinzipiell nicht umsetzen. Doch selbst unter NT beziehungsweise Windows 2000, die theoretisch die notwendigen Voraussetzungen mitbringen, arbeiten viele Anwender ständig als Administrator. Das liegt nicht allein an deren Bequemlichkeit, sondern auch daran, dass es Microsoft versäumt hat, dieses Konzept ausreichend zu fördern und zu propagieren. So lassen sich in der Defaultinstallation viele `normale´ Anwendungen, etwa diverse Programme zum Brennen von CDs und Multimedia-CDs auch von Microsoft nicht ohne erweiterte Rechte benutzen. 3.3 Mögliche Konzepte gegen Malware Sinnvoll wäre, dass bereits die Installation einen normalen Benutzer-Account mit eingeschränkten Rechten einrichtet, den Anwender über dessen Funktion aufklärt und ihn beim ersten Systemstart als Default präsentiert. Programme, die sich als NT/2000kompatibel bezeichnen, müssten nach der Installation in diesem Modus vollständig zu bedienen sein. Leider zeichnet sich in dieser Hinsicht bisher auch bei XP als gemeinsamen Nachfolger von Windows 2000 und ME keine Besserung ab. Seite 8 SI-LABOR – G. Varvelli Versuch 1 – Viren Ein Positiv-Beispiel stellt Linux dar: So lässt sich seine Immunität nicht mehr ausschließlich auf mangelnde Verbreitung und fehlende Schädlinge zurückführen. Die Schätzungen des Linux-Counters (www.linuxcounter.org) gingen im Jahr 2001 weltweit von rund 16 Millionen Linux-Benutzern aus. Und die Virenexperten der Kaspersky Labs haben bereits 43 Viren und Trojaner für Linux registriert - kein einziger hat es jedoch bisher zu nennenswerter Verbreitung gebracht. Abgesicherte Testumgebungen: Sandkästen Ebenfalls sehr wirkungsvoll wäre das Einführen von geschützten Umgebungen für besonders gefährdete oder riskante Anwendungen. In einer solchen „Sandbox“ darf dann beispielsweise das Mail-Programm keine externen Programme mehr starten. Dateizugriffe, Netzwerkzugang, Kommunikation mit anderen Programmen - alles ließe sich mit einer solchen Sandbox detailliert reglementieren und protokollieren. Eine mögliche Rettungsfunktion aufgezeichneten Änderungen macht alle wieder im Testbetrieb rückgängig. Für eines neuen Programms Standardanwendungen wie Browser oder Mailer stellt das System vordefinierte Profile für verschiedene Sicherheitsansprüche bereit; Dritthersteller können für ihre Applikationen eigene Profile mitliefern. An technischen Problemen scheitert dieses Konzept nicht, wie Sun mit der Virtual Machine für Java gezeigt hat. Diverse Hersteller bieten bereits Programme mit Sandbox-Funktionen an. Doch zum einen fehlt es ihnen an Verbreitung, zum anderen bleiben solche Bemühungen ohne vollständige Integration in das Betriebssystem nur Flickwerk. Ausführung nur bei korrekter Checksumme - ECCO Besonders für Firmennetze mit hohen Sicherheitsstandards wäre ein noch weiter gehendes Konzept interessant: Das System könnte vor dem Ausführen jedes Programms dessen Unversehrtheit anhand einer Prüfsumme testen. Nur wenn das Programm diesen Test besteht, wird es überhaupt gestartet: Execute with Correct Checksum Only ECCO. Für neue Programme kann der Hersteller digital signierte Prüfsummen mitliefern, oder der Benutzer kann bei der Installation - als Administrator natürlich eine solche erzeugen lassen. Damit kann man auch gleich sicherstellen, dass Anwender Seite 9 SI-LABOR – G. Varvelli Versuch 1 – Viren auf entsprechend eingerichteten Rechnern keine eigenen Programme aus möglicherweise dubiosen Quellen installieren. Ein ähnliches Konzept für sich selbst schützende Programme wurde bereits 1992 in der c't vorgestellt [4]. 3.4 Übertragungsmedium E-Mail und die Rolle der ISP E-Mail hat mittlerweile Disketten als häufigstes Verbreitungsmedium für Viren und Würmer abgelöst. Das Antiviren-Zentrum Kaspersky Labs führt bereits 85 Prozent aller Infektionen auf verseuchte E-Mails zurück. Außer in Firmennetzen mit speziellen Filtern für E-Mail auf den Servern bleibt jedoch der Schutz vor solchen Schädlingen ausschließlich den Anwendern überlassen. Dabei wären sicherlich viele Firmen und auch Privatanwender bereit, dafür zu zahlen, dass ihnen jemand diese Aufgabe abnimmt. Internet Service Provider (ISP) könnten die Bezeichnung Service im Namen endlich einmal wörtlich nehmen und als Dienstleistung die Mail ihrer Kunden vor ihrer Weiterleitung auf Viren überprüfen. Bei einem Schädlingsbefall käme die Mail in Quarantäne, Absender, Empfänger und ein vorher festgelegter Administrator würden über den Vorfall unterrichtet. Alternativ könnte man die Mail auch nur mit einem deutlichen Warnhinweis im Betreff versehen, die den Empfänger vor dem Öffnen auf die mögliche Gefahr aufmerksam macht. Besser als ein normaler Anwender kann der ISP die Signatur-Datenbanken der VirenScanner ständig auf dem neuesten Stand halten. Die Firma MessageLabs, die in Zusammenarbeit mit Providern solche zentralen Viren-Checks anbietet, aktualisiert ihre Datenbanken alle zehn Minuten. Da die Hersteller von Antiviren-Software nach dem Auftreten von neuen Viren in der Regel innerhalb weniger Stunden entsprechende Signaturen bereitstellen, haben die Scanner viel bessere Chancen, einen Virus rechtzeitig zu erkennen. Um nicht von einem Hersteller abhängig zu sein, arbeitet MessageLabs außerdem mit mehreren, verschiedenen Scannern - ein Luxus, den sich nur wenige Privatanwender leisten. Probleme bereiten bei diesem Verfahren jedoch verschlüsselte E-Mails (S/MIME oder PGP), deren Inhalt sich einer Kontrolle durch Viren-Scanner entzieht. Solche Mails können nur vom jeweiligen Absender oder Empfänger auf Viren getestet werden. Der Anteil von verschlüsselter Mail ist zwar noch relativ gering, aber deutlich steigend – eigentlich ein begrüßenswerter Trend. Seite 10 SI-LABOR – G. Varvelli Versuch 1 – Viren In Deutschland bietet der Hamburger Provider Ision die Dienste von MessageLabs an allerdings nur für Firmenkunden [5]. UUNet hat zwar eine Kooperation mit der britischen Firma, bietet aber nach eigenen Aussagen wegen Problemen mit dem Datenschutz in Deutschland keine zentralen Viren-Scans an. Wer auf Windows angewiesen ist, sich aber vor Viren schützen möchte, muss das also notgedrungen selber tun. Das heißt in erster Linie: Vorsicht. Bei Mail-Attachments ist grundsätzlich Misstrauen angebracht - auch wenn sie von Bekannten kommen. Schließlich könnten diese selbst Opfer eines Virus sein, der sich ohne ihr Wissen der gespeicherten Adressen bedient hat. Wer regelmäßig große Dateimengen mit anderen austauscht, sollte mit diesen vereinbaren, dass jede Mail mit einem Attachement zunächst durch eine reine Text-Mail explizit angekündigt wird. Doch infizierte E-Mails müssen nicht mehr unbedingt ein Attachement enthalten, das erst durch Anklicken aktiviert wird. Manche Schädlinge nutzen bekannte Sicherheitslücken von Windows aus, um schon beim Öffnen der Mail ein fremdes Programm auszuführen. Dabei handelt es sich um (komprimierte) HTML-Mails, die Visual-Basicoder JavaScript-Code enthalten. Patches von Microsoft und eine sichere Konfiguration des E-Mail-Programms schließen – zumeist – diese Sicherheitslücken [6]. Auch bei Downloads fremder Dateien sollte man Vorsicht walten lassen. Erste Anhaltspunkte für die Vertrauenswürdigkeit der Quelle liefert bereits die URL: So ist das Risiko beim Web-Server einer namhaften Firma sicher geringer als bei einem ftp-Server, der nicht über einen Namen, sondern nur über eine IP-Adresse im Zahlenformat erreichbar ist. Hoaxes – Falschmeldungen So gut wie jeder Benutzer von E-Mail-Programmen hat bereits Warnungen vor Viren per E-Mail erhalten – von Freunden oder irgendwo her. Dabei handelt es sich in der Mehrzahl um Falschmeldungen, so genannte Hoaxes, die Anwender verunsichern und zur Weiterleitung animieren sollen. In regelmäßigen Abständen rollen wahre Lawinen solcher Hoaxes durch das Internet, die manchen bereits mehr auf die Nerven gehen als richtige Viren. Hoaxes richten allein durch ihre schiere Masse und die für sie verplemperte Arbeitszeit beträchtlichen Schaden an. Seite 11 SI-LABOR – G. Varvelli Versuch 1 – Viren Wer eine Virenwarnung per E-Mail erhält, sollte sich zunächst auf den Webseiten der Antivirus-Labors informieren [7]. Dort findet er zumeist auch schon einen Hinweis auf den Hoax, den er dann einfach ignorieren und löschen sollte. Nur wenn die Hersteller von Antiviren-Software vor einem tatsächlich aktiven Virus warnen, ist es unter Umständen sinnvoll, die Meldung an andere weiterzuleiten - dann aber gleich mit dem Link zur Beschreibung des Schädlings. Weitere Informationen zu Hoaxes finden sich auch auf den deutschen Hoax-Info-Seiten [8]. 3.5 Wie funktionieren Viren? Entsprechend der klassischen Definition nach Cohen ist ein Computervirus ein Programm, das andere Programme infizieren kann, indem er diese so modifiziert, dass sie eine – eventuell modifizierte – Kopie von ihm enthalten. Dabei liegt der Schwerpunkt dieser Definition auf der Fähigkeit, sich durch die Infektion (anderer Dateien oder Datenträger) zu verbreiten. Ist diese Voraussetzung erfüllt, kann ein solches Programm als Virus klassifiziert werden. Dabei ist eine Schadensfunktion nicht erforderlich, obwohl jegliche Art ungewollter Aktivitäten (wie eben das „Einpflanzen“ fremden Codes) ohne Kenntnis des Benutzers natürlich schon als Schädigung interpretiert werden kann. Die Einteilung beziehungsweise Unterscheidung von Computerviren erfolgt gewöhnlich durch folgende drei Kriterien: - Was wird infiziert/beschädigt? Welcher Teil eines Systems wird infiziert (ausführbare Dateien, Containerdateien, Boot-Sektor usw.)? - Wie wird infiziert (Art und Weise)? - Wie wird die Infektion und das Wirken verborgen? 3.5.1 Einordnung nach „Infektionsopfer“ Bootsektor- und Partitionsviren Jeder bootfähige Datenträger, sei es nun eine Diskette oder eine Festplatte, besitzt einen speziellen Sektor, in dem wichtige Informationen für den Startvorgang des jeweiligen Seite 12 SI-LABOR – G. Varvelli Versuch 1 – Viren Systems enthalten sind. So finden sich im ersten Sektor Routinen zum Testen und Initialisieren der Hardware und zum Aufruf der Startfunktionen des Betriebssystems. Sektor 0 muß deshalb als erstes aufgerufen werden, was ihn als erstklassiges und beliebtes Angriffsziel qualifiziert. So ist es auch nicht verwunderlich, daß die ersten in Umlauf gelangten PC-Viren den Bootsektor als Unterschlupf und Verbreitungsmöglichkeit nutzten. Zum Beispiel der bereits genannte Klassiker "Pakistani-Brain", der sich aufgrund mangelnder Schutzmittel wie ein Flächenbrand ausbreitete. In der frühen DOS-Ära, als Festplatten nur vom Hörensagen bekannt waren, beschränkten sich die meisten Viren auf den Bootsektor von Disketten, die damals noch 5 1/4 Zoll groß waren. Folgende Generationen fühlten sich bald auch auf Festplatten heimisch. In der Regel wird dabei auf Festplatten nicht der Bootsektor, den es auf jeder Partition gibt, Partitionssektor, sondern als der Opfer sogenannte auserkoren. Master-Boot-Record Dieser befindet sich (MBR), auf dem alias ersten physikalischen Sektor der Platte und enthält Daten über sämtliche vorhandenen Plattenpartitionen. Zusätzlich findet sich im MBR ein kleines Programm, welches vom BIOS gestartet wird und dem System beim Starten wichtige Informationen liefert, zum Beispiel von welcher Partition das Betriebssystem anlaufen soll. Damit der Eindringling genügend Platz im recht engen MBR findet, wird dieses Programm entweder an einen anderen Ort der Platte verlegt und durch eigene Routinen ersetzt oder teilweise umgepatcht. Die Festplatte ist dann immer noch bootfähig. Startaufrufe werden einfach an den verschobenen oder veränderten MBR weitergeleitet. Vielfach beschränkt sich das Schadenspotential von MBR-Infektoren auf Verschiebeaktionen, bei denen das System problemlos weiter funktioniert. Bei solch "harmlosen" Vertretern gehen höchstens einige Daten aus dem Sektor verloren, der den verlegten MBR aufnimmt. Aber es geht auch anders: Einige besonders clevere Exemplare verschlüsseln den verlegten MBR, so daß dieser ohne den aktiven Virus, der alle Zugriffsversuche auffängt, nicht mehr lesbar ist. Wird der Virus in solchen Fällen samt Entschlüsselungsroutine beseitigt, ist die Festplatte praktisch unlesbar, da auf die lebenswichtigen Bootinformationen nicht mehr zugegriffen werden kann. Vergewissert euch deshalb vor möglichen Reinigungsexzessen, welche Plage sich im System eingenistet hat. Seite 13 SI-LABOR – G. Varvelli Versuch 1 – Viren Sitzt ein Virus in der Bootregion, läuft dann die Startsequenz bei Betriebssystemen auf DOS-Basis (95/98 analog) zumeist nach folgendem Muster ab: 1. Einschalten des Systems; 2. Informationen aus dem ROM-BIOS werden gelesen; 3. Laden des Bootsektors, Lesen der Partitionsinformation -Start des Viruscodes; 4. der Virus veranlaßt das Laden des in einem anderen Sektor abgelegten originären Bootsektors; 5. der für die Vermehrung zuständige Teil des Viruscodes begibt sich auf eine residente Lauerposition im RAM 6. Laden des Betriebssystems (CONFIG.SYS, autoexec.bat) 7. DOS-Prompt – wird bei ’95 und ’98 übersprungen 8. Start des ersten Programms (der Win 95/98-Routinen) 9. Neuinfektionen erreichbarer Datenträger Datei-Viren Datei- oder Link-Viren sind die häufigste Virenart im DOS-/Windows-kompatiblen Bereich, stellen aber nicht die Mehrzahl der Infektionen. Die ist Bootsektor- und Makro-Viren vorbehalten. Die Vermehrung der Dateischädlinge erfolgt durch Befall von ausführbaren Dateien. Da COM-, EXE- oder sogenannte Overlay-Dateien unterschiedliche Strukturen aufweisen, ein Befall also nicht nach allgemeingültigen Regeln erfolgen kann, weisen die meisten Viren eine Spezialisierung auf und können nur eine Dateiart infizieren. Selbstverständlich gibt es auch Allroundspezies, die sich über jede ausführbare Datei hermachen. Datendateien wie Textfiles werden allerdings nicht befallen, befallene Dateien müssen ausführbar sein. Innerhalb der großen Familie der Dateiviren wird wiederum zwischen überschreibenden und nicht überschreibenden Viren unterschieden. Seite 14 SI-LABOR – G. Varvelli Versuch 1 – Viren a) überschreibende Viren Diese Virenart vernichtet mit der Infektion die Originaldatei, die entweder komplett oder teilweise zerstört wird. Bei Aufruf dieser Datei durch den Benutzer wird dann der Virus nebst Schadensfunktion ausgeführt. Derartige Schädlinge können sehr klein sein, da sie auf keinerlei Lauffähigkeits- und Kompatibiltätsprobleme Rücksicht nehmen müssen. Die Dateilänge von befallenen Dateien ändert sich durch die Infektion in der Regel nicht. Eine Reparatur ist nicht möglich, da die ursprüngliche Datei vernichtet wird. Überschreibende Viren sind durch die sofortige Zerstörung des Wirtsprogramms leichter zu entdecken als andere Arten. Ein natürlicher Virus, der bereits bei der Infektion seinen Wirt erlegen würde, hätte keine dauerhafte Überlebenschance; gleiches gilt auch für die digitalen Plagen. b) anhängende Viren Die meisten Dateiviren verfahren nach dem Motto „leben und leben lassen", hängen sich entweder an das Ende der Datei oder schreiben sich selbst vor den Wirtscode, wobei dieser zumeist funktionsfähig bleibt. Bugs, schlampige Programmierung oder Inkompatibilitäten mit der Codebasis von Wirtsdateien können jedoch zur Zerstörung führen, auch wenn dies vom Virenprogrammierer ursprünglich gar nicht geplant war. Nach erfolgreicher Infektion wird bei Ausführung der infizierten Programme zunächst der Virus und erst danach die Wirtsdatei ausgeführt. Bei einer derartigen Veränderung der befallenen Dateien ändert sich natürlich die Dateilänge. Ein aufmerksamer Benutzer konnte zu DOS-Zeiten den Befall in der Regel rasch feststellen, wenn es sich nicht gerade um ein Virenexemplar mit StealthEigenschaften handelte (siehe weiter unten). Bekannte Vertreter dieser Spezies sind BlackJack, Jerusalem, die Vienna- und die Vacsina-Familie. Companion-Viren Eine typische DOS-Eigenschaft ist die Bevorzugung von COM-Dateien. Existiert zu einer EXE-Datei eine gleichnamige COM-Datei, wird diese bei Eingabe des Dateinamens zuerst ausgeführt. Die sogenannten Companion-Viren machen sich dies Seite 15 SI-LABOR – G. Varvelli Versuch 1 – Viren zunutze, indem sie nach einem EXE-Programm suchen und eine gleichnamige COM-Datei erzeugen, die den Virencode enthält. Diese Dateien weisen zumeist die gleiche Länge auf und werden sehr oft durch das Setzen des Verborgen- oder System-Dateiattributs versteckt. Startet der ahnungslose Benutzer ein DOS-Programm, wird in diesen Fällen zunächst der Virus ausgeführt und danach erst die entsprechende Datei. Die Entfernung derartiger Eindringlinge gestaltet sich einfach. Die betreffende COM-Datei wird gelöscht und eine saubere Version (Installationsdisketten immer schreibgeschützt einsetzen) ersetzt – fertig. Multipartite-(Hybrid-)Viren Besonders üble Zeitgenossen sind die sogenannten Multipartite- oder Hybrid-Viren, die mehrere Infektionsmechanismen einsetzen, und sowohl Boot- bzw. Partitionssektoren als auch Dateien infizieren können. Verbreitete Exemplare dieser Spezies sind Neuroquila, Natas, Tequila (malte nette Fraktale...) und Goldbug. Multipartite-Viren sind in der Regel schwierig zu entfernen, weil der Virencode restlos aus allen Komponenten entfernt werden muß. Erschwerend kommt hinzu, daß die Hybriden bestimmte Tricks benutzen, um sich gegen Enteckung und Entfernung zu wehren. So wird in der Regel der MBR der Festplatte verschlüsselt, so dass ohne aktiven Virencode, der den notwendigen Schlüssel enthält, jegliche Bootversuche von einer unverseuchten Diskette zum Scheitern verurteilt sind. Der Rechner findet dann einfach seine Festplatte nicht mehr, da an der Stelle, an der die entsprechenden Daten liegen sollen, nur unlesbarer Code zu finden ist. Mit der Meldung "Ungültiges Laufwerk C:" enden alle Versuche, auf das System zuzugreifen. Andererseits besitzen derartig hochentwickelte Saboteure auch ausgeprägte Stealth-Fähigkeiten, die im aktiven Zustand (Booten von verseuchter Platte) ihre Anwesenheit verbergen können. Zur Identifizierung und Entfernung sollten deshalb nur die aktuellsten und besten Antivirenprogramme zum Einsatz kommen. Gegen die verbreitetsten Plagen gab es auch verschiedene ONESHOTS, die nur gegen einen bestimmten Virus aktiv wurden (z. B. K-NQ gegen Neuroquila). Seite 16 SI-LABOR – G. Varvelli Versuch 1 – Viren 3.5.2 Einordnung nach Infektionsart Speicherresidente Viren (TSR-Viren) Solange der Virencode in einer infizierten Datei schlummert, kann er nicht aktiv werden. Damit der Störenfried seine implementierten Funktionen ausführen kann, muß er zunächst in den RAM-Speicher des Systerns gelangen. Dies geschieht durch den Aufruf einer infizierten Datei. Ist der Schädling so ausgelegt, daß er danach einer infizierten Datei Teile seines Codes dauerhaft im Speicher belässt, spricht man von einem residenten Virus. Er „residiert" im RAM des Computers. Gewöhnlich schaltet sich der Eindringling zwischen verschiedene Interrupts, über die die Steuerung des Computers erfolgt und kann von dieser Position ungestört seinem Treiben nachgehen. Die Vorteile einer derartigen Verhaltensweise liegen auf der Hand. Vagabundieren die Viren erst einmal resident im speicher herum, können sie sich sehr schnell verteiten und fallen zumeist nicht durch außergewöhnliche Festplattenzugriffe auf. Anders als die "direct-action"-Infektoren liegt ein derartiger Schädling permanent auf der Lauer. Wird ein ungeschützter Datenträger mit unbefallenem Bootsektor oder eine bevorzugte Wirtsdatei entdeckt, schlägt die Infektionsroutine zu. Die speicherresidente Aktivität weist allerdings auch Nachteile auf. Einerseits läßt sich aktiver Virencode im Speicher feststellen, wenn es sich nicht gerade um ein Exemplar mit Stealth-Eigenschaften handelt, andererseits kann die Arbeitsgeschwindigkeit des Systems abnehmen, wenn ein normalerweise zügiger Interrupt (Tastatur etc.) permanent über den zwischen- geschalteten Virencode geleitet wird. Letzteres fällt allerdings auf schnellen Systemen (> P2 266 MHz) nicht mehr auf. Im Laufe der Zeit haben residente Viren die verschieden Techniken und Fähigkeiten herausgebildet. Eine einheitliche Vorgehensweise gibt es nicht. So installiert sich eine Vielzahl von Viren als TSR (terminate and stay resident) unter DOS im konventionellen Speicherbereich (0 bis 640 kB). Andere setzen den sogenannten TOM-Zeiger herunter, der die Obergrenze des DOS-Speichers angibt und schieben sich in den freigewordenen Zwischenraum. Derartige Aktivitäten können natürlich, sofern es sich nicht um ein Exemplar mit Tarnfunktionen handelt, mit normalen Mitteln des Betriebssystems - z. B. dem DOS-Befehl MEM - entdeckt werden. Schwieriger festzustellen sind Viren, die die Seite 17 SI-LABOR – G. Varvelli Versuch 1 – Viren Größe des freien Speichers nicht verändern, sich zum Beispiel in unbenutzten Speicherbereichen im DOSKernel oder in anderen residenten Programmen verbergen. Mittlerweile gibt es hauptsächlich Exemplare, die sich in den oberhalb der magischen DOS-Grenze von 640 kB liegenden Speicherbereichen (UMB und HMA) tummeln. Sitzt der Übeltäter erst einmal im Speicher, läßt er sich oft nur noch durch eine hardwaremäßige Löschung des elektronischen Gedächtnisses per Reset-Taste vertreiben. Ein Warmstart mittels des gängigen "Affengriffs" (STRG+ALT+ENTF) führt in vielen Fällen nicht zum Erfolg, da mittlerweile jedes bessere Kaliber einen derartigen Affront durch Manipulation des Warmstart-Vektors verhindern kann. Das System gaukelt dabei einen Warmstart vor, die entsprechenden Lämpchen leuchten auf, in Wirklichkeit tut sich jedoch nichts, der Speicher, samt Eindringling, bleibt ungelöscht. Aber auch nach einem Hardware-Reset des Systems erwacht der Schädling wieder zum Leben. Damit er nämlich seine Position im Speicher beziehen kann, wird nach dem erstmaligen Aufruf einer infizierten Datei entweder der Bootsektor der Festplatte oder eine Datei infiziert, die bei jedem Start aufgerufen wird. Primär kommen dafür natürlich command.com oder andere Systemdateien in Betracht. Weiste in reinen DOS-Zeiten eine derartige Datei also eines Tages eine veränderte Größe oder ein anderes Datum auf, war mit Sicherheit ein Virus am Werk. In diesen Fällen half (und hilft) nur noch ein Neustart von einer garantiert unbefallenen und schreibgeschützten Diskette mit anschließender Tiefenreinigung des Systems. Fast und Slow Infektoren Die Vermehrung residenter Viren kann auf verschiedene Weise erfolgen. Wird jede ausführbare Datei sofort nach ihrer Ausführung angegriffen oder attackiert der Virus bereits beim Lesen eines Verzeichnisses alle potentiellen Wirte, spricht man von einem sogenannten Fast Infector. Die Bezeichnung trifft die Sache ziemlich genau, da derartig veranlagte Virenarten ein infiziertes System mit erheblicher Geschwindigkeit zersetzen können. Besonders gefährlich ist in diesen Fällen ein Komplettdurchlauf der Festplatte mit einem Virenprüfprogramm, das den residenten Virencode nicht erkennt. Während die gescannten Dateien am Auge des Betrachters vorbeidefilieren, wird jeder potentielle Wirt infiziert. Bei einem derartigen Komplettbefall dürfte die Entfernung erheblich schwerfallen. Seite 18 SI-LABOR – G. Varvelli Versuch 1 – Viren Eine weitere Variante sind Siow Infectors, die sich durch ihren Infektionsmechanismus nur sehr langsam verbreiten. Wirtsdateien werden nur dann befallen, wenn sie neu erzeugt werden (z. B. durch Kompilation) oder wenn der Benutzer in sie schreibt. Trotz ihrer langsamen Ausbreitung ist diese Virenspezies gefährlicher als viele andere, da die schleichenden Veränderungen in der Regel nicht bemerkt werden. Direct-Action-Viren Wenn der Virus unmittelbar nach dem Aufruf einer infizierten Datei keine residente Speicherposition bezieht, sondern vorhandene Laufwerke bzw. Verzeichnisse nach potentiellen Wirten durchsucht und diese zu infizieren versucht, spricht man von einem Direct-Action-Virus. Anders als bei den zuvor beschriebenen residenten Viren sind derartige, zumeist sehr kleine Schädlinge nicht darauf angewiesen, Interruptvektoren zu verbiegen und auf diese Weise die Systemkontrolle zu erlangen. Vorteil solcher Vermehrungspraktiken ist die Umgehung von residenten Wächterprogrammen, die an sensiblen Interruptvektoren auf der Lauer liegen. Nachteilig wirken sich allerdings die langen, nicht durch Benutzertätigkeit hervorgerufenen Zugriffszeiten aus, während der Übeltäter die Platte nach möglichen Opfern scannt. Schöpft ein aufmerksamer User dadurch Verdacht und durchsucht nun seinerseits sein System mit einem neuen Prüfprogramm, dürfte es dem Untergrundaktivisten an Kragen gehen. Ein weiterer Nachteil direkt agierender Exemplare ist die Tatsache, daß sie sich keine der bei residenten Viren so beliebten Stealth-Techniken zu Nutze machen können. 3.5.3 Klassifizierung nach Schutzmaßnahmen gegen Entdeckung Stealth- oder Tarnkappen-Viren Kann sich ein Virus durch Tarnmechanismen einer Entdeckung entziehen, wird er als Stealth-Virus bezeichnet. Dabei spielt es keine Rolle, ob sich das betreffende Exemplar im Bootsektor, in Dateien oder in beiden zu Hause fühlt. Durch ihr verborgenes Wirken können sich getarnte Arten natürlich wesentlich besser verbreiten als ungetarnte Viren und haben dadurch bessere Überlebenschancen. Seite 19 SI-LABOR – G. Varvelli Versuch 1 – Viren Stealthviren verbergen, daß sie Dateien oder Sektoren manipuliert haben, und täuschen damit die meisten DOS- und Windows-Hausmittel, wie CHKDSK, SCANDISK oder MEM. Aber auch Virenprüfer werden in der Regel ausgetrickst. Befallene Dateien oder Bootsektoren erscheinen bei einer Stealth-Infektion unverändert, weil der Virus Lesezugriffe auf befallene Dateien registriert und dem Benutzer vorgaukelt, es wäre alles in Ordnung. Um derartige Zugriffe auf einen befallenen Wirtscode zu erkennen und die Täuschung auszuführen, muß sich zumindest ein Teil des Viruscodes resident im Speicher befinden. Die Tarnkappe kann durch Booten von einer unbefallenen Diskette gelüftet werden, da der Virus dann seine residente Speicherposition nicht erlangt. Stealth-Eigenschaften sind relativ schwierig zu programmieren. Konsequenz: Tarnkappen-Viren sind häufig bugbehaftet und beschädigen hin und wieder das Dateisystem. Indiz für einen Befall sind dann häufig querverkettete Dateien. Versuchen Sie aber keinesfalls, die Beschädigung mit DOS-Hilfsmitteln zu beheben. Verwenden Sie insbesondere niemals den Parameter ‚/F’ (automatische Fehlerbehebung) bei einem CHKDSK- oder Scandisk-Durchlauf, da anderenfalls erhebliche Datenverluste auftreten können. Polymorphe Viren Als polymorph werden Viren bezeichnet, die keine einheitliche Codierung aufweisen. Die Vorteile einer derartig variablen Verschlüsselung liegen auf der Hand. Durch den mit jedem neu infizierten Programm veränderten Aufbau der Entschlüsselungsroutine wird Antivirenprogrammen die gängige Suche mittels Suchstrings unmöglich gemacht. Der Virus sieht praktisch in jeder infizierten Datei anders aus. Eine bedingt zuverlässige Entdeckung ist in diesem Chaos eigentlich nur durch eine algorithmische Suche oder durch heuristische Analyse (Heuristik: Lehre von den Methoden zur Auffindung neuer wissenschaftlicher Erkenntnisse) und Code-Emulation möglich. Kein Wunder, daß bei polymorphen Attacken auch verbreitete Virenchecker häufig die Waffen strecken. Besonders raffiniert gehen dabei Arten mit einer sogenannten Slow Polymorphic Engine zu Werke. Durch gebremste Mutation verändert sich die Verschlüsselung nur sehr langsam. Der Virus produziert, zumeist über Datum und Zeit gesteuert, über einen Seite 20 SI-LABOR – G. Varvelli Versuch 1 – Viren kurzen Zeitraum nahezu identische Schlüssel. Schon einen Monat später sieht die Codierung aber völlig anders aus. Eine vollständige Analyse der Verschlüsselung, als Voraussetzung wirksamer Erkennungsroutinen, dauert dann einige Zeit, die der Virus für seine Verbreitung nutzen kann. Erinnert sei hier nur an Tremor, der noch Monate nach seinem ersten Auftreten von vielen Virenprüfern nicht zuverlässig erkannt wurde. Ein Trend in der Virenentwicklung waren eine Zeitlang fremdprograminierte polymorphe Verschlüsselungshilfen. Derartige Engines bieten Virenprogrammierern die Möglichkeit, ihre Eigenkreationen mit polymorphen Eigenschaften zu versehen. Ist die Engine erst einmal bekannt, kann jeder Virus, der diese Verschlüsselungshilfe in seinem Code nutzt, zuverlässig gefunden werden. Wahrscheinlich blieb die Verbreitung der PMEs deshalb hinter den Erwartungen ihrer Programmierer zurück. Tunnelnde Viren Als "tunnelnde" Viren werden Arten bezeichnet, die residente Wächterprogramme umgehen können. Ein solcher Wächter liegt an den sensiblen Interrupts des Systems auf der Lauer. Werden gemeinhin von Viren praktizierte illegale Aufrufe registriert, erfolgt eine Warnung an den Benutzer. Ein tunnelnder Virus verfolgt nun innerhalb des Speichers den Weg, den ein Interruptaufruf nehmen würde, und sucht auf diese Weise im BIOS nach dem Anfang des OriginalInterrupthandlers. Hat er ihn gefunden, ruft er diese Adresse direkt auf. Der am Kreuzweg wartende Wächter kann nun lange warten, der Virus hat sein Wirken erfolgreich verborgen. Natürlich gibt es clevere Guardians, die ein derartiges "lnterrupt Tracing" verhindern können. Die meisten Spürhunde können so jedoch tatsächlich umgangen werden. 3.5.4 New Generation – Makroviren Mitte 1995 wurden Computerviren bekannt, welche einen vollkommen neuen Infektionsmechanismus für ihre Ausbreitung benutzen. Dieser Virentyp infizierte zunächst nur Dokumente im Winword-Format, indem er sich der komplexen Makrosprache dieser Textverarbeitung bediente. Später erschienen auch Exemplare für Excel und die Lotus- Textverarbeitung AmiPro. Zum Jahreswechsel 1996/97, also ein knappes Jahr später, war die Zahl derartiger Viren bereits auf über zweihundert gestiegen. Seite 21 SI-LABOR – G. Varvelli Versuch 1 – Viren Der erste Virus seiner Art war wohl DMV, der von seinem amerikanischen Programmierer zu Demonstrationszwecken per Internet verteilt wurde, vielleicht aber auch ein deutsches Makro namens „Nachtwächter“, das mit einem Winword-Buch verteilt wurde. Egal, der erste Makro-Virus, der in freier Wildbahn aktiv wurde, hieß Concept und sollte wohl ebenfalls die Möglichkeiten der Makrotechnologie für die Virenzucht aufzeigen, wie ein interner Vermerk des Autors vermuten läßt. Vergleichbar mit der Brain-Epidemie, nur in viel größeren Dimensionen, von keinem Schutzmechanismus gehindert, überholte Concept in wenigen Monaten locker den Marktanteil, den sich andere Viren in Monaten und Jahren mühevoller Infektionsarbeit erkämpfen mußten. Selbst der altehrwürdige Form-Virus, seit Jahren auf abertausenden Festplatten heimisch, sah dagegen blaß aus. Die explosionsartige Verbreitung war vor allem auf das wuchernde Internet zurückzuführen, in dem der unabdingbare Nährboden, Microsofts Winword-Format, als Quasistandard für die Weitergabe von Texten reichlich vorhanden ist. Dabei sorgte insbesondere eine infizierte Datei, die eigentlich vor Concept warnen sollte und angeblich von einem bekannten Virenforscher stammte, für die starke Vermehrung rund um den Globus. Concept fand sich dann auch auf mehreren CD-ROMs, darunter auch eine Test-CD, die Microsoft freigiebig an Hunderte ihrer OEM-Kunden in aller Welt verteilte. Apropos Microsoft: Dort hatte man angesichts der gerade angelaufenen Auslieferung des neuen Word 95, trotz der grassierenden Epidemie nichts eiligeres zu tun, als die durch „Concept“ und vergleichbare Nachbauten drohenden Gefahren herunterzuspielen. Makroviren wurden als Scherz bzw. Streich abgetan. Die einzige Maßnahme, zu der man sich herabließ, war die Freigabe einer ziemlich umständlich zu handhabenden Dokument-Vorlage, die vor Concept & Co. schützen sollte. Ursprünglich machte Concept von englischen Makrobefehlen Gebrauch, war also zunächst mit der deutschsprachigen Winword-Version nicht lauffähig. Da der Virencode aber jedermann offen lag, dauerte es nicht lange, bis auch eine nationale Variante erschien. Doch dieses Ereignis fiel kaum ins Gewicht, existierten doch kurze Zeit später wesentlich gerissenere Makro-Viren, die unverdrossen das befallene System manipulierten (z.B. Colors) oder ein echtes Schadenspotential enthielten (Xenixos). Manch einer der neuen Garde versuchte sogar, einen DOS-Virus in das System zu schleusen. Seite 22 SI-LABOR – G. Varvelli Versuch 1 – Viren Dabei gaben sich Dutzende Virenzüchter in aller Welt Mühe, die plötzliche Nachfrage nach Makroviren in der VX-Szene und ihren im Internet betriebenen Viren-Servern zu befriedigen. So erschienen Mitte 1996 alsbald die ersten automatischen MakroGeneratoren, wahlweise in englisch oder deutsch, die es auch Laien erlaubten, einen Virus Zusammenzuklicken, der wahlweise über Lösch- und Tarnfunktionen verfügte oder einen DOS-Virus freisetzte, dessen Code dann im Makrotext enthalten war. Im Untergrund werden überdies nach alter Tradition umfangreiche Publikationen vertrieben, die sich mit der Programmierung von (Makro-)Viren beschäftigen und ausführliche Bastelanleitungen enthalten. Zu nennen wären hier nur das Magazin "Virus Bits and Bytes" oder das spanische Hacker-Bulletin „29 A“. Ausschließlich mit der Makroviren- Programmierung beschäftigte sich das elektronische Fachmagazin SLAM, an dem „internationale Größen“ der Makrovirenszene mitarbeiten. Bei dem angesichts der hereinbrechenden Flut neuer Schädlinge entstandenen Medienrummel und der Aufmerksamkeit der aufgeschreckten Fachwelt, dauerte es nicht lange, bis neben minderjährigen Möchtegernvirenzüchtern auch einige der publicitysüchtigen DOS-Traditionalisten auf die Makrolinie umschwenkten. Zu nennen wäre hier nur die deutsche Neurobasher-Gruppe, die nach diversen "Erfolgen" in der Vergangenheit (Tremor, Neuroquila und Co.) alsbald mit Hunter.C ihren ersten polymorphen Makrovirus veröffentlichte. Dieses Exemplar stellt dann wohl auch eine neue Generation der Word-Infektoren dar, verfügt es doch in bewährter Tradition über die Fähigkeit, bei der Vermehrung seine Struktur zu ändern und ist überdies auch in der Lage aktiv zu bleiben, ohne die normal.dot zu verändern. Bei der Beschränkung auf Winword-Vorlagen als Wirte sollte es nicht bleiben. Angesichts der applikationsübergreifenden Makrosprache erschien alsbald der erste Virus für Excel, kurz darauf auch ein Exemplar für das altgediente AmiPro. Dabei wird auch die tatsächliche Gefahr der Makroviren deutlich, die nicht, wie noch ihre Assembler-Vorfahren, an ein bestimmtes Betriebssystem gebunden sind, sondern auf jeder Plattform überleben können, auf der auch die zugrundeliegende Makrosprache zu finden ist. Im Falle von Winword ist dies vorerst Windows, in den Versionen 3.x, 95, 98, NT4 und 2000, sowie das Apple Betriebssystem, für das es ebenfalls eine Office-Version gibt. Seite 23 SI-LABOR – G. Varvelli Versuch 1 – Viren Hinzu kommt die Mächtigkeit der Makrosprache, die sich mit Version 8 auch unter Winword zum ausgewachsenen Visual Basic (VBA) gemausert hat. Einen besseren Virenbaukasten kann man sich kaum vorstellen. Makros können sich selbst kopieren, DOSund Windows-API-Befehle aufrufen. Hinzu kommt die Möglichkeit, Makros mit der Read-only-Funktion Untersuchungen quasi unzugänglich zu zu verschlüsseln machen. und Derartige damit Makros für können nachträgliche nur noch ausgeführt, gelöscht oder umbenannt werden. Glücklicherweise existiert noch keine globale Windows Makrosprache (bald vielleicht über VBA und XML?), da andernfalls entsprechende Viren, mit immensem Schadenspotential, nicht lange auf sich warten lassen würden. Infektionsmechanismen Virenprogramme sind in der in Winword enthaltenen Makro-Programmiersprache geschrieben. Makros werden grundsätzlich in sogenannten Dokumentvorlagen gespeichert, die alle notwendigen Voraussetzungen für einen bestimmten Dokumenttyp (z. Bsp. Lebensläufe), wie Absatz-Formatierungen oder Textbausteine enthalten. Dokumente können keine Makros enthalten, deshalb erfolgt die Verbreitung dieser Virenspezies auch über Dateien, die in Winword-Vorlagen (*.dot) umgewandelt werden. Diese Vorlagen erhalten dann jedoch die für das Word-Dokument-Format obligatorische Dateiendung *.doc, um sich zu tarnen.Am Beispiel von Concept, der als der erste weltweit verbreitete Virus seiner Gattung gilt, soll der Infektions-mechanismus etwas näher beleuchtet werden. Concept und viele seiner Nachfahren bedienen sich dabei u. a. der folgenden, in Winword integrierten Funktionalität: Makros können beirn Starten von Winword bzw. beim Öffnen von Dokumenten oder Vorlagen ohne Zutun des Benutzers automatisch ausgeführt werden. Dabei gibt es eine Hierarchie der Ausführung von Makros gleichen Namens, die in folgender Reihenfolge abgearbeitet wird: 1. Zuerst wird das automatische Makro ausgeführt, das in der mit dem aktuellen Dokument verbundenen Vorlage enthalten ist, ist die geöffnete Datei selbst eine Dokumentvorlage, wird natürlich das hierin enthaltene Makro ausgeführt. Seite 24 SI-LABOR – G. Varvelli Versuch 1 – Viren 2. Existiert ein solches Makro nicht, wird das Makro gleichen Namens in der globalen Dokumentvorlage normal.dot ausgeführt. 3. Fehlt auch ein solches Makro, wird das interne Makro dieses Namens von Winword ausgeführt. Es kommt dabei nur das Makro zur Ausführung, welches gemäß der obenstehenden Reihenfolge zuerst gefunden wird. Der Clou an der Sache ist allerdings, daß diese automatischen Makros mit beliebigen Inhalten gefüllt werden können. Steckt also im Makro AUTOOPEN, das ,beim Öffnen einer als Dokument getarnten Vorlage automatisch ausgeführt wird, eine Virusroutine, wird diese unbemerkt durch den Benutzer ausgeführt. Umsetzung Diesen Umstand nutzt auch Concept: Wird eine infizierte Vorlage geöffnet, prüft das darin enthaltene Virenmakro AUTOOPEN zunächst, ob die weiteren Virenmakros (PAYLOAD und FILESAVEAS) bereits in der globalen Vorlage normal.dot enthalten sind. Ist dies nicht der Fall, werden die Virenmakros in die normal.dot übertragen. Gleichzeitig wird unbemerkt ein Eintrag in der win.ini vorgenommen und ein Textfenster mit einer '1' angezeigt. Dieses Fenster ist dann auch für den arglosen Benutzer der einzige Hinweis auf die erfolgte Concept -Infektion. Andere Viren sind längst nicht so mitteilsam. Danach ist der Virus scharf und infiziert Dokumente auf folgende Weise: Speichert der Anwender Dateien über den Menüpunkt ‚Datei / Speichern unter’, wird zunächst der Dokumenttyp unbemerkt auf „Word-Vorlage“ umgestellt. Danach werden die Virenmakros in die neue Vorlage übertragen, die nun bereit ist, weitere Infektionen auszuführen. Schadenspotential Glücklicherweise enthält die ursprüngliche Concept-Variante keine wirkliche Schadensfunktion. Außerdem konnte diese Variante unter einer deutschen WinwordVersion die Unterschiede normal.dot in den ihr Infektionsprogramm sprachspezifischen nicht Versionen voll von realisieren, weil Winword-Basic es gibt. Kompatible Nachbauten ließen allerdings nicht lange auf sich warten. Diese enthielten Seite 25 SI-LABOR – G. Varvelli Versuch 1 – Viren dann auch echte Schadensfunktionen, die am Beispiel des Xenixos-Virus (auch: Nemesis) erläutert werden sollen, der einer der ersten Makroviren war, der speziell für die deutsche Winword-Version geschrieben wurde. Beim Öffnen einer infizierten Datei werden zunächst, wie bei Concept, die Virenmakros in die normal.dot kopiert. Geöffnete Dokumente werden ebenfalls beim `Speichern infiziert und intern als Vorlagen abgespeichert. Abhängig vom aktuellen Systemdatum führt Xenixos dann verschiedene Aktionen aus. Im März versucht Xenixos per Debug-Skript den gefährlichen Neuroquila-Virus zu erzeugen. Dies funktioniert jedoch in der ursprünglichen Xenixos-Variante alufgrund eines Fehlers in der Batch-Datei nicht. Der Neuroquila-Code findet sich dann jedoch unverschlüsselt in der generierten exe-Datei. Im Mai wird der Befehl @echo j FORMAT C: /U > nul in die autoexec.bat eingefügt, der dafür sorgt, daß nächsten Systemstart die Festplatte formatiert wird. Weiterhin wird geprüft, ob ein Sekundenwert von mehr als 45 gegeben ist. In diesem Fall wird für die aktuell gespeicherte Datei das Paßwort Xenixos vergeben. Zeigt die Systemuhr einen Sekundenwert kleiner 30, wird einem aktuell gedruckten Text die Zeile „Nemesis.Corp“ hinzugefügt. Diese kleine Übersicht zeigt bereits, über welche Möglichkeiten Makroviren verfügen. Neben der Manipulation von Systemdateien, können auch herkömmliche AssemblerViren mittels des Debug-Kompilers erzeugt und auf das System losgelassen werden. Fazit: Auch wenn den umsatzfördernden Horrorszenarien der Antiviren-Branche und den aufgeblähten Stories der Fachpresse mit Vorsicht begegnet werden sollte, sind Makroviren keinesfalls auf die leichte Schulter zu nehmen. Schutz vor Makroviren: Vorbeugen... Der beste Schutz gegen Makroviren ist, wie bei allen Viren, die Erzeugung regelmäßiger Backups von wichtigen Dokumenten, sowie der globalen Winword-Formatvorlage normal.dot. Letztere können Sie zwar durch Löschen und Word-Neuinstallation wieder herstellen, die neue Version enthält jedoch keine der von Ihnen vorgenommenen Anpassungen (Menüstruktur, Formatvorlagen, Autotext, Seite 26 SI-LABOR – G. Varvelli Versuch 1 – Viren Makros etc.). Hinweis: normal.dot befindet sich im Office-Unterverzeichnis Vorlagen. Es hat jedoch keinen Sinn, die globale Vorlage mit einem Schreibschutz zu versehen, da die meisten Angreifer diese Barriere mittlerweile problemlos deaktivieren können. Gleiches gilt für die automatische Abfrage zum Speichern der geänderten Vorlage – immerhin bei der ersten Generation ein starkes Indiz für einen Befall. Auch diese Sicherheitsfunktion wird durch neuere Exemplare deaktiviert. Um zu verhindern, daß sich Viren einschleichen, ist es hifreich, Dokumente im ASCII- oder Rich-Text- Format (*.rtf) auszutauschen. Kritische Dokumente können auch vor dem Öffnen in Word problemlos mittels der Windows Schnellansicht-Funktion in Augenschein genommen werden. Natürlich können Dokumenteninhalte auch im virensicheren WordPad geöffnet und dann mittels Kopieren und Einfügen gefahrlos in Word importiert werden. Noch ein wichtiger Tip: Viele Makroviren setzen einen Script-Virencode ab, der mit der DOS-Debug-Funktion zu einem vollwertigen Virus kompiliert werden soll. Einige versuchen auch die Festplatte zu formatieren. Benennt deshalb die Dateien debug.exe, format.com und deltree.exe um. Diese Dateien sind sowohl im DOS-Verzeichnis sowie im Windows-95/98-Command Verzeichnis. Die umbenannten Dateien funktio-nieren nach der Operation wie gewohnt, stehen aber den Viren nicht mehr zur Verfügung und können keinen Schaden anrichten. Word 98 verfügt bereits über einen standardmäßigen „Virenschutz“. Aktiviert die Option Makrovirus-Schutz in der Optionen-Dialogbox über Menü Extras (office 97) beziehungsweise in der Makro-Sicherheitseinstellung über Menü Extras / Makro / Sicherheit (Word 2000). Abbildung 3: Menüauswahl Extras / Makro / Sicherheit und die entsprechende Dialogbox bei Word 2000 mit der höchsten sicherheitsstufe. Seite 27 SI-LABOR – G. Varvelli Versuch 1 – Viren Word prüft dann vor jedem Öffnen eines Dokuments, ob dieses Makros beinhaltet und warnt gegebenfalls davor. Es können die in der Dokumentvorlage enthaltenen Makros dann entweder deaktiviert oder den Öffnungsvorgang ganz abgebrochen und das verdächtige Objekt mit einem externen Virenscanner unter Lupe genommen werden. Es sollte sich jedoch keiner auf diese Schutzmaßnahme allein verlassen, da bisher jeder Virenschutz meist früher als später von findigen Programmierern überwunden wurde. ... und Heilen Befallene Dokumente, die, wie festgestellt, tatsächlich getarnte Dokumentvorlagen sind, können mit einem aktuellen Anti-Viren-Programm, das ein Makro-Modul einhaltet, von den Schädlingen gereinigt werden. Bei vielen Viren (siehe hierzu die Listen verschiedener Antivirenprogramme-Hersteller) genügt es bereits, die kritischen Virenmakros im Makro-Manager (Winword-Extras-Menü) zu löschen. Den Inhalt befallener Dokumente kann durch Öffnen des Dokumentes unter WordPad und Transportieren des gesamten Textes mittels Kopieren und Einfügen in das geöffnete WinWord einfach gerettet werden, sofern dieser nicht zuvor durch einen Virus gelöscht wurde. Infizierte Dokumente können natürlich danach gelöscht werden, um ganz sicher zu sein. Bedenkt aber, daß der Übeltäter sein Nest auch in der globalen Vorlage normal.dot hat, so daß diese bei einer Radikalkur ebenfalls durch ein Backup oder eine Neuinstallation ersetzt werden muss. 3.6 Was sind Würmer? Anfang der 1980er Jahre experimentierten Forscher mit selbstreproduzierenden Programmen, die unter anderem Funktionen von Netzwerkprotokollen ausnutzten; Im Rahmen dieser konstruktiven Experimente wurde der Begriff worm geprägt [9]. Er bezeichnet seitdem alle unabhängigen Programme oder Prozesse, die sich in einem Netzwerk selbst reproduzieren können. Die Motivation für die Forscher zur Entwicklung solcher Programme stellte die beabsichtigte bessere Ausnutzung der Rechenleistung und der Ressourcen von nicht ausgelasteten Rechnern dar. Basierend auf der Möglichkeit, beliebige Programme (d. h. auch eine Kopie eines aktiven Seite 28 SI-LABOR – G. Varvelli Versuch 1 – Viren Programms) von einem Rechner auf einen anderen Rechner zu kopieren und dort auszuführen, sind die für Computer-Würmer notwendigen Funktionen heute in vielen Netzwerken allgemein verfügbar. Aufgrund von Mängeln in den Protokollen und Sicherheitsfunktionen, die diese Funktionen kontrollieren und bereitstellen, können diese auch mißbraucht werden. Computer-Würmer werden heute hauptsächlich Programme zur Sabotage von Software genannt, die sich oft in rasender Geschwindigkeit über die Computer-Netzwerke der Welt ausbreiten. Dabei unterscheiden sie sich vor allem in ihren Verbreitungsmöglichkeiten vom Computervirus: Während Viren für ihr zerstörerisches Werk immer einem "Wirt" anhängen müssen, haben Würmer ein eigenständiges „Fahrwerk“. Nur im Schlepptau gelangen Viren in andere Computer. Würmer hingegen können sich selbst auf den Weg machen. Dabei nutzen sie verschiedene Möglichkeiten. Die berühmt gewordenen Würmer „Melissa“ oder „I love you“ nutzten für ihre Verbreitung E-Mail Programme. Sie wurden aktiv, sobald der Adressat die E-Mail öffnete und schickten sich dann selbstständig an dessen Einträge im Adressbuch weiter. Der Wurm „Code Red“ dagegen nutzte für sein Fortkommen Sicherheitslücken in Internet-Programmen, so genannte Verwundbarkeiten. Computer-Würmer der jüngsten Generation – wie etwa „Nimda“ – stehen im Verdacht, sich über mehrere „Fahrwerke“ zu verbreiten. Allerdings kann dem beängstigten Computer-User auch entwarnendes mit auf dem „Informations“-Weg gegeben werden: Vieles um „Melissa“ wurde 1999/2000 auch von der Presse aufgebauscht, bedenkt man, dass dieser Wurm bei seinem weltweiten Auftreten auf zehntausende Rechner eigentlich schon seit einem Jahr unter dem Namen W97M von Herstellern von Anti-Viren-Software bekannt war, die ihn bei Updates aber nicht in ihre Produkte aufgenommen hatten. Um eine Riesenblamage besorgt, sprach man gegenüber den Medien von einem neuen Virus und nannte ihn „Melissa“. Wie man aus dem Artikel in [10] aus der FAZ entnehmen kann, ist hinter diesem Thema viel Hype. Bei Verdacht, in die eine oder andere Richtung, sind die ersten Anlaufstellen Informationsseiten wie die bereitsgenannte [8] sowie einschlägige Websites mit Vireninformationen und -datenbanken [11][12]. Seite 29 SI-LABOR – G. Varvelli 3.7 Versuch 1 – Viren Was sind Trojaner? 3.7.1 Zweck der Trojaner Der Begriff Trojanisches Pferd geht auf D. Edwards zurück und wurde erstmals in einer Arbeit über MULTICS veröffentlicht [13]. Die Problematik selbst ist jedoch bereits seit den 1960er Jahren bekannt. Ihr kommt gerade im Bereich der Computer-Kriminalität eine große Bedeutung zu, denn ihre Eigenschaft, bis zu der Aktivierung keine auffälligen Auswirkungen zu verursachen, macht ihre Entdeckung sehr schwierig. Sie befinden sich zwar im Kontrollfluß, überprüfen jedoch nur die Erfüllung der durch die Programmierung festgelegten Voraussetzungen, um anschließend die Kontrolle an die normale Funktion der Komponente weiterzugeben oder sie selbst zu erbringen. In zunehmendem Maße werden sie auch eingesetzt, um Computer-Viren freizusetzen. Trojaner sind im Gegensatz zu Viren vollständig eigene Programme mit mehr oder weniger desktruktiver Energie. Mit Hilfe eines Trojaners gelingt es, die Kontrolle über einen infizierten PC zu erhalten und diverse Funktionen auszuführen. Aus diesem Grund werden Trojaner von Hackern auch gerne als sogenannte Remote-AccessControls, also als eine Art Fernsteuerungs-Software bezeichnet. Trojaner werden fast ausschließlich und meistens gezielt über das Internet verbreitet. Zu diesem Zweck werden sie zum Beispiel in Trägerprogramme eingebaut, die nützliche Funktionen vorgeben und im Hintergrund den Server in das zu infizierende System einfügen. Mit Hilfe dieses Servers ist es dem Hacker dann möglich, ferngesteuert über die Systemports – z.B. auch Port 80 für die Internetanbindung, siehe sogenannte Fireholes – diverse Funktionen auszuführen. Bevorzugt werden Trojaner eingesetzt, um Informationen jedwelcher Art zu spionieren. Besonders begehrt sind dabei beispielsweise die Paßwörter zum Provider. Zu diesem Zweck werden sogenannte Keylogger eingesetzt, die den Puffer der Tastatur auslesen und die darin enthaltenen Informationen dem Hacker verfügbar machen. Seite 30 SI-LABOR – G. Varvelli Versuch 1 – Viren Weitere Funktionen können sein: - Kontrolle über das Dateisystem (Kopieren, löschen, überschreiben), - Herunterfahren des Betriebssystems, - Öffnen und Schließen des CD-ROM Laufwerks, - Einfügen von Viren in das infizierte System - Und zum Teil vollständige Kontrolle über die Peripherie (z.B. Webcams). Wie erkenne ich einen Trojaner in meinem System ? Die Entdeckung von Trojanern ist leider nicht einfach, weil die Wege, über die sich Trojaner ins System „einklinken“ zu unterschiedlich sind. Manche Trojaner schreiben Zeilen zum Aufruf in die beiden Dateien win.ini oder system.ini, andere schreiben Schlüssel in die Windows-Registry, wieder andere nutzen eine Kombination aus den Möglichkeiten. Insbesondere folgende Schlüssel sollten bei Verdacht auf Infizierung genauer angeschaut werden: - HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\Run - HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\RunOnce - HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\RunServices - HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\RunServicesOnce - HKEY_CLASSES_ROOT\exefile\shell\open\command Eine Entfernung der Schlüsseleinträge sollte aber nur dann erfolgen, wenn auch wirklich Sicherheit besteht. Ein fälschlicherweise gelöschter Schlüssel kann unter Umständen dazu führen, daß Windows nicht mehr hochfährt. In folgenden Dateien können ebenfalls Aufrufe eingetragen sein: control.ini, progman.ini, winstart.bat sowie im Autostart-Ordner der Start-Leiste. Verdächtig sind dabei immer anomale Reaktionen des Betriebssystems. Wird Windows während einer Arbeitssitzung einfach beendet oder heruntergefahren, ist die Taskleiste plötzlich nicht mehr sichtbar, sind die Maustasten plötzlich vertauscht, verändern sich die Farben des Systems, öffnet/schließt sich das CD-Laufwerk von allein, oder finden während einer Online-Sitzung unmotivierte Seite 31 SI-LABOR – G. Varvelli Versuch 1 – Viren Übertragungen statt, ohne dass ihr downloadet oder neue Seiten ladet, dann besteht der dringende Verdacht einer Infektion mit einem Trojaner. Es sollten dazu auch die Informationen über aktuelle Trojaner, z. B. in Newslettern, konsultiert werden, um den Wirk- und Funktionsmechanismus kennenzulernen. Schutz vor einer Infizierung Mails von unbekannten Absendern, die ein neues Programm vorstellen und es als Attachement an die Mail angehängt haben, sollten immer suspekt vorkommen. Ein Löschen dieser Mails kann oftmals besser sein, vor allem aber: nicht die Attachements starten. Der Einfallsreichtum von Hackern ist schier unermeßlich, oft werden Bilder oder Bildschirmschoner von holden Nackten – wer da drauf reinfällt ist fast schon selbst schuld – oder „gefakte“ Mails von bekannten Softwareherstellern verschickt, wie im jüngsten Fall des Y2KCounter, der über die Adresse support@microsoft.com verschickt wurde. Hier sollte man nicht oberflächlich werden, gerade während aktiver OnlineSitzungen sollten Anti-Trojaner verwendet werden, die Infizierungen mit Trojanern sehr oft verhindern können. Dazu aber in einem späteren Kapitel mehr. 3.7.2 Wege der Infektion eines Rechners mit Trojanern Um verstehen zu lernen, wie ein Computer mit einem Trojaner infiziert werden kann, muß zunächst die Motivation der Angreifer geklärt werden. Denn die Art und Weise, wie trojanische Pferde ins Zielsystem eingebracht werden können, ist immer ähnlich – es muß eine unauffällige Datei zugestellt werden, die vom Benutzer des Zielrechners oder vom Betriebssystem selbst ausgeführt werden. Der potentielle Benutzer eines Trojaners wird oft als Cracker oder Script-Kiddie bezeichnet, der von Szene-Programmierern programmierte Tools dazu nutzt, sich Zugang zu fremden Systemen zu verschaffen. Rund um den Trojaner-Programmierer kann sich eine Schar von „NetzExperten“ reihen, die meist auch auf seinen Seiten in Foren über die Vor- und Nachteile des jeweiligen Trojaners lebhaft diskutieren. Script-Kiddies bezeichnen die Nutzer potentieller Zielrechner gerne als Victims (Opfer) oder DAUs (Dümmster anzunehmener User) und benutzen die Unwissenheit dieser Gruppe von „Internetlern“, um Ihre „Tools“ in fremde Systeme einzubringen. Im Zusammenhang mit dem sehr Seite 32 SI-LABOR – G. Varvelli Versuch 1 – Viren beliebten Trojaner SubSeven gibt es auf einer offiziellen WebSite eine exakte Anleitung darüber, wie Opfer benutzt werden können. Ein Trojaner besteht grundsätzlich aus mindestens 2 Dateien, dem Agenten und dem Server. Wie diese beiden Dateien miteinander kommunizieren, kann in einschlägigen Webpages nachgelesen werden. Es gilt zunächst somit, den Server auf dem Zielrechner zu installieren. Die einfachste Methode ist die, über einen direkten Zugang zum Zielrechner den Server dort installieren. Zum Beispiel kann das der PC eines Schulfreundes, Kommilitonen oder Bekannten sein, der ohnehin repariert werden muß. Unauffällig wird bei dieser Gelegenheit dann der Server installiert und somit der Zielrechner präpariert. Auf diese Art und Weise werden auch oft Rechner in Berufsschulen oder Universitäten verseucht. Es gilt also, auch bei „angeblichen"“ Freunden oder Bekannten ein Blick über die Schulter zu werfen und Fragen, warum und wie etwas am Rechner gemacht wird. Infektion per E-Mail Eine weitere Möglichkeit ist die, den Server einfach als Attachment an eine eMail zu hängen, die dann später vom Opfer ausgeführt wird. Diese direkte Methode funktioniert mittlerweile aber nur noch dann, wenn Gegner und Opfer miteinander bekannt sind und in gewisser Weise vertraut sind, da die Netzgemeinde heutzutage zumindest ansatzweise um die Gefahren wissen. Dieser Umstand wird übrigens auch gerne dazu benutzt, unter falschen Absenderadressen Trojaner ins Netz zu schicken. Denn die Mails eines Bekannten wird wesentlich weniger kritisch betrachtet, als die eines Unbekannten oder wenn die Mail völlig unmotiviert und unaufgefordert zugeschickt wird. Dazu benutzt der Angreifer sogenannte Ghost-Mailer, der eine vollkommen freie Wahl der Absenderadresse läßt. Hier wird, um im szeneüblichen Jargon zu bleiben, eine „gefakte“ Absenderadresse benutzt. Eine dritte und ziemlich clevere Methode sieht vor, zwei Dateien miteinander zu verbinden. Der Server wird dazu einfach an ein nützliches Programm angeschweisst und installiert sich erst bei Ausführung des Programms. Hierzu wird ein sogenanntes JoinerTool benutzt. Über eine komfortable Oberfläche kann der Angreifer selbst festlegen, welche Datei mit dem Server verbunden wird. Definitiv funktioniert diese Methode mit Seite 33 SI-LABOR – G. Varvelli Versuch 1 – Viren ausführbaren EXE-Dateien. Weniger bekannt und in der Funktionsweise auch sehr kontrovers diskutiert wird die Möglichkeit, auch Blidschirmschoner, also Dateien mit der Endung „scr“ und MP3-Dateien derart mit dem Server zu verknüpfen, dass dieser sich automatisch beim Aufruf der Hauptdatei startet. Oftmals werden diese gejointen Dateien dann per eMail an den ahnungslosen User gesandt, häufig mit der Ankündigung, das sich im Anhang ein tolles Tool oder nützliches Programm befindet. Wird der Anhang unüberlegt geöffnet, installiert sich auf diese Weise dann der Server und der Zielrechner ist präpariert für einen Online-Zugriff. Infektion per Chat Oftmals wird auch der IRC-Chat dazu benutzt, Trojaner im Netz zu verteilen. Hierzu nutzt der Angreifer einmal die Hitze des lebhaften Chats, die Unwissenheit oder Gutgläubigkeit des Chat-Partners und einige Unzulänglichkeiten des beliebtesten ChatProgramms ICQ, um den Zielrechner mit dem Server zu infizieren. Dabei mutet es schon seltsam an, wenn ca. 80% aller infizierten Computer männliche Benutzer haben. Vielleicht, weil der männliche Chatter eher bereit ist, auf die naiven Fragen eines unerfahrenen und schutz- und hilfebedürftigen „Mädchens“ einzugehen und charmant seine Unterstützung anzubieten. Diesen Umstand nützten Angreifer oft aus, in dem sie sich wissentlich als vermeintlich weiblicher Chatter einklinken und eigentlich sehr schnell mit wirklich naiven Fragen und verdächtigem Interesse an den Chat-gewohnheiten oder dem persönlichen Umfeld des potentiellen Opfers auffällt. Werden zu diesem Zweck auch noch Dateien ausgetauscht, insbesondere ausführbare Dateien, ist mit hoher Wahrschienlichkeit davon auszugehen, das sich dahinter ein Trojaner-Angriff verbirgt. Auch ein auf diese Weise übermitteltes Bild kann trügerisch sein, denn einige Versionen des beliebten ICQ-Programms sind schlicht zu blöde, das exakte Dateiformat anzuzeigen. Ein Bild mit dem Namen ICH.JPG trägt, kann durchaus auch ICH.JPG.exe heißen, kann also ein ausführbares Programm und somit möglicherweise der Trojaner-Server sein. ICQ zeigt in diesem Fall nur die erste Dateierweiterung nach dem ersten Punkt an. Unter Betriebssystemen wie Windows (ab 95) ist es aber erlaubt, eine Datei auch mit einem Punkt in der Bezeichnung der Datei zu versehen. Erst die endgültig letzten drei Buchstaben werden als tatsächliche Erweiterung betrachtet. Seite 34 SI-LABOR – G. Varvelli Versuch 1 – Viren Auch in der Hitze eines charmanten Chats ist demnach das Mittel der Wahl, die geladene Datei zunächst im Explorer zu überprüfen, bei dem selbstverständlich das Ausblenden von bekannten Dateien deaktiviert wurde. Dieser Punkt wird in Kapitel 4.1, 9. Schritt, eingehender erläutert. Ebenso ist anzuraten, auch auf ein energisches „nun schau Dir das Bild mal schnell an“ nicht mit einem unüberlegten Öffnen der Datei zu reagieren. Ihr werdet die Installation des Servers nicht oder nur sehr undifferenziert bemerken, in dem ihr möglicherweise eine Fehlermeldung im Stil von "Dies ist keine zulässige Win32-Anwendung" erhaltet , um dann zu bemerken, das sich das Bild seltsamerweise nicht öffnen lässt. Der Angreifer wird dann wahrscheinlich argumentieren, das es wohl einen Fehler bei der Datenübertragung gab. Schöne Fehler... Weitere Infektionsmethoden Weitere Methoden, Trojaner auf dem Zielrechner zu installieren, befinden sich noch im Experimentalstadium oder eignen sich nur für bestimmte Browser-Versionen. Grundsätzlich ist hier anzuraten, stets die aktuellste Version einzusetzen und Sicherheitsupdates regelmäßig durchzuführen. Für Benutzer des Internet-Explorers ab Version 4 mit gleichzeitig installiertem Windows-Scripting-Host (läßt sich über: Einstellungen / Systemsteuerung / Software / Windows-Setup deaktivieren) gibt es noch eine besondere Gefahrenquelle. Das Script GodMessage wird in einer Art und Weise in den HTMLCode einer WebSite eingebaut, dass ein kleiner Trojaner, der hardcodiert im Script verankert wurde, bei Aufruf der Website auf dem Zielrechner installiert wird. Dieser Basis-Trojaner dient dazu, zu einem späteren Zeitpunkt einen mächtigeren Trojaner aus dem Netz zu downloaden, während der ahnungslose Surfer andere Seiten anwählt. Eine zur Zeit sehr kontrovers diskutierte Möglichkeit ist die, Trojanercode mittels eines simplen QBasic-Scripts, einer Datei – also möglicherweise einen Trojaner-Server – in eine weitere Datei, zum Beispiel eine Bild-Datei mit den Formaten gif, bmp und tif abzulegen. Mittels dieses Scripts ist es später möglich, mit angepassten Automatisierungsfunktionen diese eingeimpfte Datei wieder zu extrahieren und zu starten. Natürlich wird dadurch eine Bilddatei nicht zu einer ausführbaren Datei, dafür sorgt allein der Datei-Header, in dem festgelegt wird, um welches Dateiformat es sich handelt Seite 35 SI-LABOR – G. Varvelli Versuch 1 – Viren und mit welcher Anwendung es verknüpft ist. An dieser Stelle muss aber noch einmal darauf hingewiesen werden, dass es durchaus möglich ist, ein Dateiformat derart zu registrieren, das es selbststartend wird. Beispielsweise ist ein Bildschirmschoner mit der Dateiendung *.scr auch keine ausführbare Datei im eigentlichen Sinne. Trotzdem kann der Schoner mit einem Doppelklick direkt ausgeführt werden. Es gibt mittlerweile in einschlägigen Foren längst komfortable Quelltexte, um diverse Dateitypen unter C++ solcherart in der Windows-Registry zu registrieren. Auf diese Weise können Server durchaus unauffällig zum Beispiel in Projekten zur Datenverarbeitung versteckt und zu einem späteren Zeitpunkt aktiviert werden. Verlasst euch niemals darauf, das nur in ausführbaren EXE-Dateien destruktiver Code enthalten sein kann. Jede unaufgefordert zugesandte Datei kann von Angreifern manipuliert sein. 3.7.3 New Generation – Rootkits In den letzten zwei bis drei Jahren hat sich ein neues Angriffskonzept von sich reden lassen. Mit Hilfe von sogenannten Rootkits (von root für Wurzel, Hauptverzeichnis) versteckt ein Angreifer möglicherweise verräterische Betriebssystems-Meldungen, die einem aufmerksamen Systemadministrator (SysAdmin) noch auffallen könnten. Diese in verschiedenen Varianten existierenden Programme, gehören mittlerweile zu den Standardinstrumenten eines versierten Hackers und Angreifers; sie haben den Zweck, den erfolgten Zugriff auf ein System so lange wie möglich zu verschleiern. Ihr Mechanismus ist recht einfach: es wird sehr systemnah gearbeitet, zum Teil erfolgen Zugriffe sogar direkt in der Speicherverwaltung (im RAM); genutzt werden entweder zuvor ausgewechselte/veränderte Systembefehle, oder es wird direkt der Betriebssystemskernel manipuliert [14]. Als Beispiel soll der als erster seiner Art bezeichnete ‚t0rnkit’ genannt werden, bei dessen Installation die UNIX/Linux-Programme du, find, ifconfig, login, ls, netstat, ps, sz und top gegen eigene „getunte“ Versionen ersetzt und den TCP-Port 47017 fürs „ET-nach-Hause-Telefonieren“ offenlässt. Mit den veränderten Befehlen lässt sich ein infiltriertes System dann unbemerkt manipulieren. Bekannt sind die Rootkits bisher fast ausschließlich als angriffsmittel gegen UNIX/Linux-Systeme, da hierbei der Verschleierungsaufwand gegenüber einem Windows-System höher ausfallen muss, um als Angreifer erfolgreich sein zu wollen. Seite 36 SI-LABOR – G. Varvelli 4 Versuch 1 – Viren Versuchsaufbau Einen vernünftigen und sicheren Schutz für die Onlinewelt aufzubauen braucht – solange es sich um die Absicherung eines privat genutzten Einzelplatzrechners handelt – nicht notgedrungen spezielles oder tiefgreifendes Wissen noch muss man dafür tief in die Tasche greifen. Wenn es auch nicht schadet, sich mit den grundlegenden Themen der Sicherheit im Internet zu beschäftigen, so werdet ihr euch diesen Schutz ganz allein aufbauen können und nach und nach verstehen lernen, wie und warum ein Schutztool funktioniert und wie Angriffe aus dem Web stattfinden. Wir haben hier eine Kombination an Vorsorgemaßnahmen und Schutz-Tools zusammengestellt, die euch bei konsequenter Beachtung einiger weniger Verhaltensweisen, die wir in diesem Versuch vorstellen, hilfreich zur Hand gehen werden. Ein sinnvoller Schutz benötigt drei bis vier unterschiedliche Maßnahmen/Programme, die von ihren Funktionen her miteinander verzahnt sind und sich sinnvoll ergänzen. In diesem Versuch sind es: - ein ordentlich konfiguriertes System (e Kapitel 3.8.1), - zwei Antiviren-Programme (inkl. Makrovirenschutz), - ein Anti-Trojaner, - eine Firewall (evt. Portscanner zur Überprüfung noch ungeschützter Ports), - eine Backup-Software. In den folgenden Kapiteln wird ein Sicherheitskonzept gegen Viren und Trojaner vorgestellt, der durch umfangreiche Vorsorgemaßnahmen vor Infektionen schützen und bei bereits bestehender Infektion hilft 4.1 Vorsorgemaßnahmen Im diesem ersten Schritt widmen wir uns möglichen Vorsorgemaßnahmen, die uns vor einer Infektion schützen helfen sollen. Die Redakteure der Fachzeitschrift PC-Welt haben in einer Ausgabe einen Artikel zum Thema Virenschutz verfaßt, der das Problem der Einnistung von Viren und Trojanern an der Wurzel erfaßt. Das darauf abgestimmte Sicherheitskonzept ist wohlüberlegt und wird – um einige Punkte von uns erweitert – hier unten aufgeführt. Seite 37 SI-LABOR – G. Varvelli Versuch 1 – Viren Das Problem Ein standardisiertes Betriebssystem wie Windows, mit seinen stets gleichen Wegen der Initialisierung von Systemkomponenten und Anwendungsprogrammen, bietet zuverlässige Angriffspunkte für Viren und Trojaner. Wie der aktuelle Internet-Wurm W32/MyPics zeigt, die Schädlinge legen den Aufruf ihrer Schadensfunktionen gerne in klassischen Initialisierungsdateien wie autoexec.bat oder win.ini ab und sichern sich ihren Aufruf über Autostart oder Run-Schlüssel in der Registrierung. Die Lösung –Konzept zu Systemskonfiguration und Verhaltensweise Ein PC-System wird resistenter gegen Viren, je weniger es der „digitalen Biologie“ eines Standardsystems entspricht. Da in der Praxis ein derart restriktives Vorgehen nahezu unmöglich ist, weil ein Betriebssystem wie Windows eine sehr große Anzahl an Dateien und Initialisierungswegen in sich trägt und entsprechend viele Dateien gepatcht werden müßten, sind folgende Schritte sinnvoll: 1. Schritt: Einstellung der korrekten Bootreihenfolge Ein Schutz gegen Bootsektor-Viren ist die richtige Bootreihenfolge im BIOS des PC. Die Festplatte als erste Bootpartition verhindert zuverlässig das Übergreifen eines Virus von einer im Laufwerkschacht vergessenen Diskette. Standardmäßig ist die Bootreihenfolge auf das Diskettenlaufwerk A: und anschließend auf die Festplatte festgelegt. 2. Schritt: Benutzerdefinierte Installation von Windows und der Verzeichnisse Installiert das Betriebssystem nicht im Express-Modus sondern legt benutzerdefinierte Pfade fest. Schlecht programmierte Trojaner fragen beispielsweise nicht die Systemvariablen ab sondern verlassen sich auf den Standardpfad c:\windows. Der Pfad c:\win98 umgeht z.B. diesen Eintrittsweg. 3. Schritt: Umbenennen der autoexec.bat und Modifikation des Kommandointerpreters Eine der zentralen Initialisierungsdateien, die in einem DOS/Windows-9x-System immer abgearbeitet wird, ist die Datei autoexec.bat, in der beispielsweise die Systemvariablen festgelegt werden, die Maus initialisiert wird, die Landessprache ausgewählt Seite 38 SI-LABOR – G. Varvelli Versuch 1 – Viren wird usw. Auch hier können sich Autoaufrufe von Trojanern verbergen. Macht nun eine Sicherheitskopie der Datei command.com und gebt dann im DOS-Eingabefenster folgenden Befehl ein: edit c:\command.com und sucht die Zeile, in der die autoexec.bat zum ersten Mal vorkommt. Hier ändern ihr den Namen autoexec.bat z.B. in autoexe_.bat ab, speichern die Datei command.com und ändert die Original-autoexec.bat in autoexe_.bat ab. Nach erfolgtem PC Neustart wird nicht mehr die Datei autoexec.bat abgearbeitet, sondern autoex_.bat. 4. Schritt: Verbannen der „Killer“-Programme format, debug und deltree Die „Killer“-Programme format, debug und deltree entschärft ihr, indem ihr die Dateien aus dem Windows-Command-Verzeichnis in einen Ordner verschiebt, der nicht im Path-Verzeichnis der autoexec.bat vorkommt. 5. Schritt: Entfernen der run- und load-Zeilen aus der Datei win.ini Die Datei win.ini wird geschützt, indem zunächst eine Datei mit dem Namen winstart.bat anlegen. Diese Datei wird beim Windows-Start automatisch ausgeführt, wenn Sie vorhanden ist. Schreibt folgende Zeilen in die Datei winstart.bat: type win.ini | find /v /i "run=" > win.ini type win.ini | find /v /i "load=" > win.ini . Diese beiden Zeilen entfernen die Zeilen run und load aus der Datei win.ini. Das PipeZeichen | erhaltet ihr übrigens mit der Tastenkombination Alt GR + größer/kleiner. 6. Schritt: Umbenennen der Registry Zugriffe auf regedit werden entschärft, wenn die Datei einfach umbenannt wird. Viele Trojaner legen eine Datei mit der Endung *.reg ab, in der die entsprechenden Autoaufrufe des Servers hinterlegt sind. Wird diese Datei gestartet, werden die entsprechenden Registrierungsschlüssel in die Registry eingetragen. Dabei kann es aber zu Schwierigkeiten bei erwünschten Regedit-Importen führen. Daher sollte regedit.exe nur dann umbenennen, wenn ihr eventuell auftretende Probleme selbst beheben könnt. Die meisten Installationsprogramme verwenden für das Schreiben der Registry-Schlüssel so genannte INF-Dateien und lassen sich von einer fehlerhaften regedit.exe nicht beirren. Seite 39 SI-LABOR – G. Varvelli Versuch 1 – Viren 7. Schritt: Kontrolle der Registry Die vier Run-Schlüssel der Registry (Run, RunOnce, RunServices, RunServicesOnce) unter HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion lassen sich schon unter DOS kontrollieren. Dazu können folgende Zeilen in die autoexec.bat geschrieben werden: - regedit /e con HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\Run - regedit /e con HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\RunOnce - regedit /e con HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\RunServices - regedit /e con HKEY_LOCAL_MACHINE\Software\Microsoft \Windows\CurrentVersion\RunServices Once Sinnigerweise sollte aber das Echo eingeschaltet sein, in dem die Zeile @ECHO OFF aus der Datei autoexec.bat entfernt und auskommentiert (mit REM) wird. Eine weiterführende Batch-Programmierung mit einer Choice-Abfrage kann auch gleich ein Löschen des betreffenden Schlüssels bewirken. 8, Schritt: Entschärfung der automatischen Makrofunktionen Makroviren werden am besten aufgehalten, wenn DOC-Dateien fremder Herkunft nicht mehr direkt mit Word geöffnet werden. Dies gilt insbesondere für Mail-Attachements, in denen sich gerne Makroviren aufhalten. Verwendet lieber in Word den Menübefehl Einfügen Datei, das garantiert einen virenfreien Import, da keine Makros importiert werden. Alternativ betrachtet die Texte zunächst nur mit dem Viewer, den für die großen MS-Anwendungsprogramme Word, Excel, Powerpoint kostenlos auf der Microsoft-Webseite zur Verfügung steht. In Kombination dazu sollte gemäß Absatz ‚Schutz vor Makroviren: Vorbeugen...’ in Kapitel 3.5.4 vorgegangen werden. Zusätzlich sollte die Office-Makroviren-Option gemäß Absatz ‚Schutz vor Makroviren: Vorbeugen...’ im Kapitel 3.5.4 eingestellt werden. 9. Schritt: Verhinderung der Nichtanzeige von „Doppelendungen“ Eine beliebte Strategie bei Computer-Würmern ist es, Dateien mit doppelter Dateiendung zu versehen. Damit soll dem Opfer eine harmlose Datei untergejubelt werden, z.B. eine Bild- oder Textdatei wie ICHLIEBEDICH.TXT.vbs vorgegaugelt werden, die in Wirklichkeit aktivierbaren-aufrufbaren-ausführbaren Code beinhaltet. Seite 40 SI-LABOR – G. Varvelli Versuch 1 – Viren Der Windows Explorer zeigt aber in der Standardeinstellung die Dateierweiterungen registrierter (also ihm bekannter) Dateitypen nicht an, interpretiert dafür die „anscheinende“ Dateiendung hinter dem zweiten der zwei Punkten als DateinamensErweiterung. Die Folge ist, dass die Datei als ICHLIEBEDICH.TXT (Textdatei) angezeigt wird und als Skriptdatei (gekennzeichet als *.vbs) interpretiert und der Scriptinterpreter gestartet wird, welcher die Skriptdatei prompt durchführt. Diesen Würmern begegnet man angemessen, indem man beim Explorer im Menüeintrag Ansicht die Option auf Anzeige aller Dateien aktiviert, wie im Bild hir unten dargestellt. Abbildung 4: Vorzunehmende Odrnereinstellungen beim Microsoft Explorer, je nach Typ des Betriebssystems Angezeigt wird somit die volle Dateilänge beziehungsweise der volle Dateiname. Allerdings muss trotzdem noch berücksichtigt werden, dass verschiedene Dateierweiterungen entweder immer noch nicht angezeigt werden (*.pif und *.shs), andere aber trotz der unscheinbaren Endung unter Windows ausführbar sind, nämlich die Screensaver-Dateien mit der Endung *.scr. 10. Schritt: Anzeige auch der *.pif und *.shs Dateien Die gerade genannten Dateiendungen *.pif (program information file, aus Kompatibilitätsgründen verbliebene Altlast aus der Windows 3.xx-Zeit mit Informationen über DOS-Programme) werden unter Windows 9x als 32-Bit-Executables interpretiert und ausgeführt. Ähnlich ist es mit *.shs-Dateien (temporäre OLEContainer), die durch durch das Ablegen von eingebetteten Objekten auf dem Desktop entstehen und worin sich beliebige Dateien verstecken und durch Doppelklick auch Seite 41 SI-LABOR – G. Varvelli Versuch 1 – Viren öffnen/starten lassen. Dateien mit solchen Dateiendungen lassen sich nur durch einige Änderungen in der Registry sichtbar machen. Diese Dateiendungen lassen sich nur durch Änderungen in der Registry sichtbar machen. Dazu muss die Registry nach dem Schlüssel HKEY_CLASSES_ROOT nach der Zeichenkette „NeverShowExt“ durchsucht werden. Ihr findet dann bei-spielsweise in HKEY_CLASSES_ROOT\piffile ein „NeverShowExt = "" “. Benennt diesen Eintrag nach „AlwaysShowExt“ um oder löscht ihn einfach. Ebenso verfahrt ihr mit den entsprechenden Einträgen, die ihr bei ShellScrap (Temporäre Datei), lnkfile (InternetShortcut) und möglicherweise xnkfile (Exchange-Verknüpfung) findet. 11. Schritt: Anlegen von Images der Festplattenpartitionen Das „Plattmachen“ einer virulenten Partition oder Festplatte ist zwar nicht eine Präventivmaßnahme, dennoch sollte ein Backup der betroffenen Partition, am besten als Image (z.B. unter Verwendung von Norton Ghost), schon vor der Infektion auf Vorrat erstellt werden, um starke Infektionen, die das gesamte System kompromittieren und unter Umständen nicht mehr gereinigt werden können, durch neues Aufspielen zu überwinden. Mit Ghost können recht schnell Images („Abbilder“) einer ganzen Partition – sogar komprimiert – erstellt werden, die dann bequem von einer zweiten Festplatte oder von CD-ROM aus überspielt werden können. 12. Schritt: Rechtzeitiges Überprüfen von Datenträgern und Dateien auf Virenbefall Die bisher genannten helfen natürlich nur einen durch Virus- und Wurminfektion verursachbaren Schaden einzugrenzen. Um dem Virus überhaupt auf die Spur zu kommen, wird ein funktionierender Virenscannen benötigt, der möglichst regelmäßigen Updates unterzogen wird und mit dem alle über Diskette, ZIP, CD-ROM (auch Original-CDs!) oder E-Mail eingehenden Dateien vor deren Aufrufen untersucht werden. Auch eigene Medien, die „mal eben schnell in einem anderen Rechner“ zwecks Datenaustausch gesteckt haben, sollten einer gründlichen Untersuchung unterzogen werden, sobald sie wieder im heimischen Rechner eingeschoben werden. 13. Schritt: Verwerfen unbekannter oder gar aller E-Mails mit Attachments Wie bereits erwähnt, sichert die Maßnahme, jede Mail mit einem Attachement zunächst durch eine reine Text-Mail explizit anzukündigen, vor so mancher ungewollten Datei, Seite 42 SI-LABOR – G. Varvelli Versuch 1 – Viren die durch einen Wurm losgeschikt sein könnte. Drastischer und sicherer noch ist es, sich einen Teufel um E-Mails mit Attachments zu sorgen und diese gleich alle zu verwerfen. 14. Schritt: Kein automatischer Intenet-Verbindungsaufbau beim Browser-Start Bei der Installation des Browser (Netscape oder IE) wird dem Anwender die möglichkeit gegeben, die eingerichtete DFÜ-Verbindung (Datenfernübertragung) für die Interneteinwahl an den Browser derart zu koppeln, dass bei dessen Aufruf die DFÜVerbindung gleichzeitig mit aufgebaut wird – sogar mit dem anfänglich benötigten abgespeicherten Passwortes. Auch hier gilt: Automatismen sind gefährlich und sollten vermieden werden. Zum einen ist es gefährlich, sich Passwortabfragen allgemein durch automatische Speicherfunktionen zu sparen, diese können dann nämlich mit entsprechenden Tools ausgelesen werden. Zum anderen könnten Trojaner gleich unbemerkt die Internet-Verbindung aufbauen. Darum ist ein getrennter Aufruf besser. 15. Schritt: Abblocken von möglichen Internet-Zugriffsversuchen durch Firewalls Mit Hilfe einer Personal Firewall (englisch für Feuerwand), die ein Sicherheitsdienst am Eingang des Systems darstellt und ein- und ausgehende Datenpakete auf ihre Berechtigung untersucht, können unrechtmäßige Zugriffe von außen (bzw. von innen, wenn man sich einen Trojaner eingefangen hat) bemerkt und unterbunden werden. Wichtig sind dabei die Einstellungen im Regelwerk, die nach der Installation voreingestellt sind. Auf Firewalls wird im Kapitel 4.2.3 gesondert eingegangen. So gerüstet sind die schlimmsten Klippen bereits umschifft und das System um viele Punkte sicherer geworden. Was aber nicht heißen soll, daß hiermit bereits alle Gefahren beseitigt wurden. Der hier vorgestellte 15-Punkte-Plan bietet die Basis, auf der alle weiteren Sicherheitskonzepte mitVirenscannern, Anti-Trojaner-Programmen und Firewalls aufbauen sollten. In den nächsten Kapiteln wird eingehender auf die Installation, Einstellung und Benutzung dieser Tools eingegangen. 4.2 Säuberungsmaßnahmen Ist auf einem Datenträger, der z. B. zum Datentransport zwischen der Hochschule, dem Büro und dem heimischen Rechner genutzt wird, eine infizierte Datei gelandet oder ist Seite 43 SI-LABOR – G. Varvelli Versuch 1 – Viren ihr Bootsektor infiziert worden, beziehungsweise ist trotz aller Vorsichtsmaßnahmen ein Virus/Makrovirus/Wurm/Trojaner auf dem Rechner gelandet, muss dieser Datenträger desinfiziert – „gereinigt“ werden. Genutzt wird dazu ein zuvor bereits installierter Virenscanner, wie er im nächsten Kapitel vorgestellt wird. Sinnvoll ist aber auf jeden Fall eine parallel zur Beseitigung laufenden Suche nach der Quelle allen Unheils, da man sich an sonsten schnell mit dem selben Virus wieder infiziert. 4.2.1 Virenscanner Ein Virenscanner versteht sich heutzutage von selbst, obwohl uns im letzten SI-Labor von Studenten E-Mails mit virenbefallenen Attachments erreichten, die also trotz erfolgreicher Versuchsdurchführung danach keinen Scanner eingesetzt hatten, sei es aus Unachtsamkeit, aus Faulheit oder wider besseren Wissens. Auch wenn die Hersteller gerne von ihren Scannern behaupten, das sie sicher und zuverlässig Viren, Makroviren und Trojaner im System erkennen und beseitigen können – 100%ig sicher ist kein einziger Virenscanner. Darum gehen wir in unserem Sicherheitskonzept von zwei parallel installierten Virenscannern aus. Schutz sollte ein Virenscanner bieten bis zu dem Punkt, wo eine Dateioperation durchgeführt, ein so genanntes Attachment einer zugeschickten eMail geöffnet oder auf die Festplatte kopiert oder wenn Dateien von einem Datenträger auf den lokalen PC bewegt wird. Vorgestellt wird von uns die Sharewareversion von AVP von der russischen Kasperski Lab, die zusammen mit den Scannern von McAfee, AntiVirenKit 10, F-Secure und F/WIN32 zu den momentan am sichersten Getesteten gehört [15]. Die Erkennung von Schädlingen kann grundsätzlich auf zwei verschiedene Arten passieren: On-Demand und On-Access – alle obengenannten Programme ermöglichen beide Varianten. On-Demand-Modus: Das eigentliche Scanprogramm Der On-Demand-Scanner durchsucht auf explizite Anweisung einzelne Dateien, Ordner oder auch Platten und den ganzen Rechner nach Viren. Dabei ist darauf zu achten, dass das Programm die Möglichkeit bietet, auch Archive und explizit alle Dateien – und nicht nur, was das Programm für infizierbar hält – zu scannen. In Abbildung 5 ist die Seite 44 SI-LABOR – G. Varvelli Versuch 1 – Viren unseres Erachtens nach im Expertenmodus sinnvollste zu wählende Grundeinstellung dargestellt: es werden der Arbeitsspeicher sowie alle Sektoren und Dateien beider Partitionen der vorliegenden Festplatte gescannt, sowohl unter Benutzung der bekannten Signaturen als auch unter Verwendung der als Code-Analyser bezeichneten Heuristik. Weitere Informationen zu Signaturen, Viren und Heuristik bzw. Schutz sind im übrigen in [16] und [17] in Hülle und Fülle vorzufinden. Mit Hilfe ihrer eingebauten Heuristik (siehe auch Kapitel 3.5.3, Absatz ‚Polymorphe Viren’) können Antiviren-Programme auch vor neuen Viren oder Variationen bekannter Schädlinge warnen. Diese verraten sich dabei durch typische „Verhaltensmuster“, wie die charakteristische Assembler-Sequenz, mit der sich der CIH-Virus Ring-0- Privilegien erschleicht, die normalerweise nur Treibern zustehen. Auch bestimmte betriebssystemsnahe Kopier-, Lösch- und Verschiebungsbefehle, die von Programmen Abbildung 5: Der Kaspersky Anti-Viren-Scanner mit der getroffenen Funktionsauswahl (und auch von Viren) an den Betriebssystemskernel gerichtet werden und Zugriffe auf zum Teil reservierte Speicherbereiche ermöglichen, werden in ihrer Reihenfolge und bezüglich ihrer Adressierung untersucht, da sie Aufschluss über anormale Zugriffe geben können. Somit sollen auch neue Variationen von „klassischen“ – bereits bekannten – Viren erkannt werden. Die Ergebnisse eines umfangreichen Tests der heuristischen Funktion von AV-Programmen in der c’t-Ausgabe 2/2001 waren allerdings Seite 45 SI-LABOR – G. Varvelli Versuch 1 – Viren ernüchternd: Nur das Programm von F-Secure entdeckte alle (15) gesuchten „unbekannten“ Viren, AVG dreizehn, FP-Win zwölf, Kaspersky und McAfee jeweils zehn. In der Optionenanzeige (Klick mit rechter Maustaste auf das Zeichen mit dem grünen Häkchen) in Abbildung 6 sind Optionen zur Vorgehensweise mit infizierten Dateien aufgeführt. Am sinnvollsten erscheint uns, erkannte Viren nicht gleich – und vor allem nicht automatisch – zu löschen, sondern sie erst unschädlich zu machen und in einem gesonderten Verzeichnis zu verschieben beziehungsweise verdächtige Dateien in Quarantäne zu stellen und ihre Herkunft zu ermitteln. Im Anschluss daran können sie auf einer Diskette kopiert und zwecks Aufbau einer eigenen Virensammlung sicher aufbewahrt werden, um die im Virenverzeichnis verschobenen Dateien auf dem Rechner abschließend mit Hilfe der Rettungsdisketten entgültig zu löschen. Abbildung 6: Die getroffene Optionsauswahl im Anti-Viren-Scanner In Abbil-dung 7 sind weitere vom Benutzer wählbare Optionen zum Warnsignal und zu „After-Scan“-Aktivitäten aufgeführt. Abbildung 7: Weitere Optionseinstellungen im Anpassen-Fenster des Anti-Viren-Scanners Seite 46 SI-LABOR – G. Varvelli Versuch 1 – Viren Schließlich können im Statistik-Fenster des AV-Scanners die Resultate des letzten durchgeführten Scans mit Angabe gescannter Sektoren, Dateien, Ordner, Archive und der komprimierten Dateien bekannten Typs eingesehen werden; in diesem Fall hatten wir mit unserem Datenbestand noch mal Glück gehabt... Abbildung 8: Kaspersky Anti-Virus Control Centre mit laufenden Aktivitäten sowie der Anzeige der Statistik des im Hintergrund laufenden Virenchech On-Access-Modus: Monitoring Im On-Access-Modus arbeitet das Programm als Wächter permanent im Hintergrund und überprüft automatisch alle Dateien beim Öffnen. Dabei sollte sich der „Wächter“ auch auf einem langsamen System (200 MHz, 64 MByte RAM) noch ohne spürbare Performance-Einbußen benutzen lassen. Ein guter Virenscanner besitzt hierfür einen Monitor (bei Kaspersky im AV Control Centre integriert, siehe Abbildung 9 nächste Seite), der im Hintergrund sämtliche Dateioperationen überwacht und zur Tat schreitet, wenn virulenter Code entdeckt wird. Selbstverständlich sollte allerdings dabei sein, dass ihr regelmäßig nach neuen Signaturfiles des Scanners sucht und so den Scanner auf dem neusten Stand haltet, da Antiviren-Programme Dateien nach charakteristischen Codesequenzen – so genannte Seite 47 SI-LABOR – G. Varvelli Versuch 1 – Viren Signaturen – bekannter Schädlinge durchsuchen. Dabei findet das Programm natürlich nur dann Viren mit höchstmöglicher Wahrscheinlichkeit, wenn deren Signatur bereits in der verwendeten Datenbank enthalten ist. Die meisten Programme bieten auch die Möglichkeit, diese Datenbank über das Internet auf den neuesten Stand zu bringen. Abbildung 9: Kaspersky Anti-Virus Control Centre mit laufenden Aktivitäten sowie der Anzeige der Statistik des im Hintergrund laufenden Virenchech Die Optionen des früher als Anti-Virus Toolkit Professional (AVP) bekannte Kaspersky Anti-Virus-Programms sind zwar recht üppig, doch der Umgang mit dem Virenscanner ist äußerst gewöhnungsbedürftig. Das Herzstück des Pakets ist wie gesagt das „AV Control Centre“. Hier werden nicht nur grundlegende Einstellungen für AV vorgenommen, sondern auch zeitgesteuerte Aufgaben erstellt und editiert und alle Teilkomponenten verwaltet (siehe Abbildung 10 nächste Seite). Das Control Centre ist allerdings in seinem Namen etwas verwirrend, da man hier beispielsweise keinen Sofort-Scan veranlassen kann. Dafür lassen sich mit dem Scheduler beinahe alle beliebigen Aktionen – auch externe Programme – anstoßen. Fast jedes AV-Programm ermöglicht die Erstellung sogenannter Notfalldisks, von denen aus virenfrei gebootet werden kann. Besonders interessant sind die mit Kaspersky erstellten Rettungsdisketten: sie enthalten kein DOS-Betriebssystem, sondern ein Seite 48 SI-LABOR – G. Varvelli Versuch 1 – Viren Abbildung 10: Im Kaspersky AV Control Centre können alle Teilkomponenten eingesehen und etliche Einstellungen der jeweiligen Komponente eingestellt werden komplettes und kompaktes Linux-System, das nach dem Einlegen der drei Disketten automatisch alle im System zu Betriebssystemsstart vorliegenden Datenträger und gefundenen Windows-Partitionen sauber mountet und scannt. Die Virenfreiheit der „Linux“-Disketten garantiert ein sorgenfreies Virensuchen auf dem Windows-System, selbst SCSI-System mit gängigen Controllern werden sauber gemountet und durchsucht. Ermöglicht wird die Erstellung des Rettungsdisketten-Sets durch einen Assistenten, der im Kaspersky AV Control Centre aufgerufen wird (siehe Abbildung 10, siebte Komponente von oben). Dabei ist es in der zweiten Dialog-Box des Assistenten möglich, sowohl einen kompletten Disketten-Set zu erstellen als auch nur die Datenbankdiskette mit den Virensignaturen aufzufrischen; die Auswahl erfolgt über zwei Häkchenfelder, die unabhängig ausgewählt werden können und in Abbildung 11 dargestellt sind. Es versteht sich von selbst, dass diese Rettungsdisketten nach einem gründlichen Scan des Rechners und der Disketten und vor einer neuen Vireninfektion erfolgen sollte. Seite 49 SI-LABOR – G. Varvelli Versuch 1 – Viren Abbildung 11: Dialog-Box des Assistenten zur Erstellung der Rettungsdisketten Das Einstellungen-Fenster in Abbildung 12 ermöglicht Sicherheitseinstellungen, Einstellungen zur Fernwartung, zur Quarantäne und zum allgemeinen; das Quarantänebereich des Scanners, hier ohne Abbildung, stellt eine Verzeichnisstruktur dar, in dem verdächtige Dateien abgelegt und unter „Beobachtung“ gestellt werden können. Abbildung 12: Einstellungsbereich im AV Control Centre; hier können Sicherheitseinstellungen, Details zur Alarmierung, zum RemoteManagement sowie zum Quarantänebereich des AV gewählt werden Seite 50 SI-LABOR – G. Varvelli Versuch 1 – Viren 4.2.2 Anti-Trojaner Eine ähnliche Frage wie die nächste wird uns immer wieder gestellt: „Ich bekomme öfters Dateien als Attachment zugeschickt. Besteht da Gefahr? Was soll ich machen? Wie soll ich mich verhalten?“ Jeder bekommt mal eine Email mit witzigen Texten, Bildern oder Programmen von Bekannten oder Freunden. Bei Bildern oder Texten ist das, sofern auch die Dateiendung eindeutig erkennbar ist, oftmals in ordnung. Nur bei Dateiendungen, die wir weiter oben bereits besprochen haben (*.JPG.pif, *.JPG.vbs oder *.JPG.exe), ist größte Vorsicht angebracht. Wie soll denn nun mit besagter E-Mail vorgegangen werden, wenn der erste Verdacht sich bei weiterer Nachforschung, zum Beispiel durch eine eingehende Untersuchung von Registry erhärtet, obwohl der Anti-Trojaner nicht angeschlagen hat? Dann ist es sinnvoll, umgehend diese Datei zu einem der Forschungsgruppen oder Firmen2 weiterzuleiten und diese dann löschen. Dabei kann es natürlich möglich sein, dass diese E-Mail von jemanden stammt, der Freund oder Bekannter ist; leider ist es auch möglich, dass E-Mails im Namen eines anderen verschickt werden. Das bedeutet, dass keine 100%-e Sicherheit über die Infektionsquelle besteht. Die Information des Freundeskreises über die eigene Infektion sollte deshalb nur über einen anderen Rechner erfolgen – oder am besten sogar nur telefonisch. Dabei gibt es drei Regeln im E-Mail-Verkehr, durch deren Befolgung man sich einiges erspart: - Nie Anhänge in E-Mails ungeprüft starten, auch nicht bei bekannten Absendern. - Seriöse Firmen oder Anbieter werden nie ungefragt eine Datei mitschicken. - Beim Absender telefonisch nachfragen, wenn er euch bekannt ist und ihr euch nicht sicher seid, was es ist und wieso es kommt. Dies sollte auch dann geschehen, wenn euch eure Freundin/Freund/Frau/Mutter/Vater über seinen/ihren „Unser-Netzwerk-ist-auf-jeden-Fall-sicher-weil-die-Netzwerkspezialisten-untersuchen-ja-alles-vorher“-Netzwerk eine E-Mail zusendet – nichts ist 100%-ig sicher, auch Systemadministratoren machen Fehler. 2 Anti-Trojan, Hersteller des gleichnamigen tools, bietet ein Informationsforum an und ist unter trojaner@anti-trojan.net für alle infizierten Dateien dankbar. Seite 51 SI-LABOR – G. Varvelli Versuch 1 – Viren Funktionsweise Ein Anti-Trojaner funktioniert normalerweise auf drei Ebenen. Er durchsucht die Registry nach obengenannten bekannten Einträgen; er untersucht, analog einem Virenscanner, die vorher eingestellte Dateienauswahl nach ihm bekannte Trojaner-programme, indem er vorhandene Codeteile mit den abgelegten Signaturen vergleicht, und – was uns hier besonders interessieren soll – untersucht alle vom Betriebssystem für die Kommunikation bereitgestellten Ports. Grundsätzliche Vorsicht ist aber auch bei Anti-Trojaner-Programmen geboten: Teilweise kursieren kuriose Meldungen, in denen vor Anti-Trojanern, die selbst nichts anderes als Trojaner beziehungsweise Würmer mit umfangreichen Funktionen sind, gewarnt wird – wie z.B. im Herbst ´01 bei ANTS 3.03 , einem deutschen Anti-Trojaner. Was sind Ports? Jeder Prozess (damit sind Software-Prozesse auf einem Rechner gemeint), dass mit einem anderen Prozess communizieren will, zum Beispiel bei der externen Kommunikation innerhalb eines LAN/WAN, wird innerhalb des TCP/IP-Transferprotokolls4 über einen oder mehrerer sogenannter Ports (Kommunikationsadressen, fast so etwas wie Postfächer) identifizierbar und adressierbar gemacht. Dabei ist ein Port eine 16-bit-Nummer, die vom System der Applikation – und speziell dem von der Applikation angestoßenen Prozess – zugeordnet wird, um die Sender/Empfänger (jeweils Prozesse) von ankommenden/abgehenden Datenpaketen eindeutig zuordnen zu können. Da bestimmte Applikationen (higher-level programs) wie zum Beispiel TELNET (Port 23) und FTP (Port 21) selbst Protokolle darstellen und im TCP/IP-Protokoll berücksichtigt sind und deren Kommunikation standardisiert ist, benutzen sie immer die selbe Port-Nummer in allen TCP/IP-Implementationen – plattformübergreifend. Diese fest zugeteilten Port-Nummern werden im Englischen ‚well-known ports’ – „wohlbe3 Es heisst, der Wurm tarnt sich als ein kostenloses Anti-Trojaner-Programm und verbreitet sich ohne EMail-Software; nachzulesen zum Beispiel unter [18] 4 TCP – Transmission Control Protocol; IP – Internet Protocol; bei den beiden handelt es sich um verschiedene Protokolle, die die Datenübermittlung z.B. in einem LAN oder im Internet auf unterschiedlichen Ebenen ermöglichen/steuern. Interessierten sei hier das Studium des ISO/OSIEbenenmodells bzw. des Schichtenmodells empfohlen [19], [20]. Seite 52 SI-LABOR – G. Varvelli Versuch 1 – Viren Abbildung 13: Datenaustausch des Netscape Communicator am Port 80 (http), nachdem dieser für Netscape vorbereitet wurde (oben), „Abholen“ der Datenpakete (unten); die Briefe hinter dem Zaun symbolisieren den Datenverkehr (z.B. E-Mail) außerhalb des Systems kannnte“ Ports genannt und die Standard-Applikationen ‚well-known services’. Die explizite und ausschließliche Nutzung „wohlbekannter“ Ports durch bestimmte Applikationen – von Port-Nummer 0 bis 1023 – werden von der Internet Assigned Numbers Authority (IANA) „verwaltet“ und zugeteilt, auf vielen Systemen können diese nur von Systemprozessen oder von besonders privilegierten Benutzern (z.B. SysAdmin) genutzt werden. Deren Zuordnung kann in [21] und [22] nachgelesen werden. Die Ports zwischen 1024 und 65535 stehen nicht unter der Verwaltung des IANA, sondern können von Entwicklern bzw. für deren Applikationen frei genutzt werden. Bei der Nutzung aller nicht „wohlbekannten“ Ports wird deren Verteilung vom System dynamisch realisiert. Das bedeutet, dass einer nicht „wohlbekannten“ Applikation innerhalb zweier verschiedener Aufrufe unterschiedliche weil freistehende Ports zugeteilt werden kann; somit können auch Konflikte zwischen zwei konkurrierenden Applikationen effektiv vermieden werden. Eines ist aber beiden Typen an Ports gleich: ihre Verwendbarkeit für nicht direkt ersichtliche Kommunikation, wofür sie ja geschaffen sind. Seite 53 SI-LABOR – G. Varvelli Versuch 1 – Viren Trojaner und Ports Was haben nun Trojaner mit Ports zu tun? Um von außerhalb des infizierten Systems mit dem Trojaner (Server) zu kommunizieren, muss der als Cracker bezeichnete Angreifer (mit dem Client-Programm) eine vorher festgelegte Verbindung ausnutzen können. Einmal eigeschleust, wird sich ein Trojaner entweder sofort oder bei Erreichen einer vorherbestimmten Bedingung vom System (z.B. Erreichen eines bestimmten Datums und Uhrzeit, Aufruf des Browsers, Aufruf von ICQ etc.) an eine vom Cracker definierte und im Server vorprogrammierte Port-Nummer ranmachen (z.B. Port 1492 beim Trojaner Back Orifice FTP) und versuchen, eine Datenverbindung nach außen zu ermöglichen oder einer eingehenden Kommunikation zu antworten – er wird sich in Wartestellung begeben. Die Aktivität bzw. die Erreichbarkeit kann der Cracker zum Beispiel mittels eines Port-Scanners überprüfen – zum erstmaligen Infizieren oder bei Trojanern mit Stealth-Technologie, die von außen aktiviert werden müssen – oder über eine „Nachricht“ – einem „Brief nach Hause“ – informiert werden, die der Trojaner bei Internetaktivitäten, zum Beispiel über Chat-Programme wie ICQ, selbstständig verschickt. Anschliessend baut der Cracker weitestgehend vom berechtigten und ahnungslosen Benutzer unbemerkt über diesen Port seine Verbindung auf und macht sich über die Rechnerressourcen her, teilweise unabhängig von den Benutzerrechten des aktuellen und legitimen User vor dem Rechner. Abbildung 14: Datenaustausch des Trojaners Back-Orifice.FTP über Port 1492, nachdem dieser z.B. durch ein FTP-Download ins System eingeschleppt wurde und als Server beim Systemstart aktiviert wurde; die roten Briefe stellen unautorisierten Datenaustausch mit einem Client außerhalb des Systems dar Seite 54 SI-LABOR – G. Varvelli Versuch 1 – Viren In genau der beschriebenen Warteposition wird ein Trojaner, der nicht wie ein Rootkit über die Betriebssystemnähe verfügt, für Anti-Trojaner erkennbar: sie überprüfen über Kommunikationsbefehle (FTP-, TCP-, UDP-, IP- oder Ethernet-spezifisch, also protokollabhängig und je nach Kommunikationsebene des Schichtenmodells), ob sich an einem der 65535 (216 ) Ports ein Prozess in Wartestellung, Empfangs- oder Sendebetrieb befindet. Findet nun ein gestarteter Anti-Trojaner ein Prozess, dass an einem Port „lauscht“ (auf Datenpakete wartet), hinterfragt er dessen Rechte bzw. die Herkunft der Datenpakete (Applikation) und vergleicht die Ergebnisse der Analyse mit den Vorgaben seiner Datenbank; bei Übereinstimmung gibt der Anti-Trojaner sein positives Ergebnis durch eine explizite Trojanerwarnung aus und stellt ihn somit bloß. Installation und Einstellungen eines Anti-Trojaners Das Anti-Trojaner-Programm von Anti-Trojan, das auf der Labor-CD als Sharewareversion mit beschränkter Nutzungsdauer (14 Tage) vorliegt, ist einfach in der Installation und der Handhabung. In Abbildung 15 ist das Hauptfenster dargestellt, an dem die Auswahl der verschiedenen Funktionen (Einstellungen, Suche etc.) erfolgt. Abbildung 15: Hauptfenster von Anti-Trojan Bevor die Suche nach Trojaner begonnen wird, sollten einige sinnvolle Einstellungen getroffen werden. Im Fenster zur Optionenauswahl in Abbildung 16 sind zwei Einstellungen sinnvoll, nämlich das Abspeichern ausgewählter Optionen beim Beenden Seite 55 SI-LABOR – G. Varvelli Versuch 1 – Viren des Programms und die Einbeziehung der Suche von Trojaner in gepackten Dateien. Leider werden dabei aber nur im zip-Format, nicht aber mit LHA oder andere, gepakte Dateien untersucht; darum trotzdem Vorsicht, wenn man verstärkt gepackte Dateien anderer Formate erhält. Nicht sinnvoll ist es, zip-Dateien automatisch zu löschen: solange man die Dateien im Anschluss nicht wieder vergisst und entpackt, sondern sie im Namen als infiziert kennzeichnet – am besten die Endung *.zip in *.zit oder Ähnliches mit umbe-nennt –, ist diese automatische Funktion nicht sinnig, da man nicht mehr manuell nach dem Schuldigen suchen kann. Abbildung 16: Fenster zur Optionenauswahl In diesem Fenster können auch vorhandene Plugins, also als Extras nachträglich eingebundene Funktionalitäten, ausgewählt und ausgeführt werden. Die zwei serienmäßigen Plugins sind ein Process Viewer nach Vorbild des NT Task Manager und ein Tool, um Ports händisch und explizit zu schleißen. Der Process Viewer (Abbildung 17) zeigt die gestarteten und residenten Prozesse inklusive der Prozess-ID und gibt die Möglichkeit einzelne ausgewählte zu terminieren. Allerdings kann an dieser Stelle nicht verbindlich gesagt werden, ob wirklich alle Prozesse angezeigt werden oder ob besondere Kernelzugriffe versteckt ablaufen können, ohne dass dieser Task Manager es aufzeigen würde. Seite 56 SI-LABOR – G. Varvelli Versuch 1 – Viren Abbildung 17: Prozess-Manager als Plugin Beim Port Checker (Abbildung 18) werden initialisierte Ports, zugehörige IP-Nummern und Hostname sowie Status angegeben. Durch Auswahl eines Ports und Ancklicken mit der rechten Maustaste besteht die Möglichkeit, diesen zu schließen. Abbildung 18: Port Checker als Plugin In Abbildung 19 sind die Einstellungen zum Scan von Anti-Trojan aufgeführt; sinnvoll ist es, Trojaner über ein Portscan, die Untersuchung der Registry und – von Zeit zu Zeit, wegen der Dauer der Untersuchung – der Datenträger, auf die momentan zurückgreifen kann. Sollte man sich entscheiden, ein Medium wie CD-ROM, Diskette, Zip oder ähnliches zu untersuchen, erfolgt die Auswahl über ein Ancklicken der gewünschten Laufwerke (erkennbar durch ein Häckchen im Rechteck). Gefundene Trojaner sollten nicht sofort gelöscht werden; eine Kopie der infizierten Datei sollte man zu Anschauungszwecken immer machen. Anschließend kann das System komplett gereinigt werden, so wie es in der Abbildung an der untersten Auswahl ersichtlich wird. In diesem Fenster wird auch die Reportanzeige nach dem Scan über ein Button ‚Report’ ermöglicht. Seite 57 SI-LABOR – G. Varvelli Versuch 1 – Viren Abbildung 19: Einstellungen-Fenster von Anti-Trojan Wird sie Trojanersuche gestartet, erscheinen die Anzeigen gemäß Abbildungen 20, 21 und 22. Zuerst werden die Ports untersucht (inklusive einer Aktivität am Port), anschließend wird die Registry durchforstet (Abbildung 21), und als Letztes werden, sofern welche ausgewählt wurden, Laufwerke auf mögliche Infektionen hin untersucht. Abbildung 20: Anzeige während des Port-„Scans“ von Anti-Trojan Seite 58 SI-LABOR – G. Varvelli Versuch 1 – Viren Abbildung 21: Anzeige während des Registry-Scans von Anti-Trojan Wie zu erkennen ist, zeigt Anti-Trojan während des Scans die bekannten Trojaner an, deren Signaturen es berückichtigt. Bei der Laufwerksuntersuchung zeigt das Programm die aktuell untersuchte Datei und verdächtige Spuren. Abbildung 22: Anzeige während des Laufwerks-„Scans“ von Anti-Trojan Seite 59 SI-LABOR – G. Varvelli Versuch 1 – Viren Abbildung 23: Anzeige des Suchreports nach eimen Scan von Anti-Trojan Zum Schluss werden die Untersuchungsergebnisse angezeigt (Abbildung 23). Dieser Report kann auch nachträglich über das Report-Button (links im Bild) oder über das Details-Button (rechts im Bild) als html-Dokument mittels des Standard-Internetbrowsers eingesehen werden. In Abbildung 24 ist das Fenster mit der Funktion zur Newsletter-Anmeldung dargestellt. Abbildung 24: Fenster mit Newsletter-Anmeldung und Information zu Trojanern (nur über Internet) im Anti-Trojan Seite 60 SI-LABOR – G. Varvelli Versuch 1 – Viren 4.2.3 Firewalls Eigentlich müsste die Installation einer Firewall – einer Feuerwand – schon im Rahmen der Vorsorgemaßnahmen vorgenommen werden. Da nun durch die bis jetzt gemachten Erläuterungen zur Funktionsweise von Viren, Antiviren-Scannern, Trojanern und AntiTrojanern die Umstände für eine Infektion und die mit einer Infektion eingehende Mühe klar geworden sein dürfte, ist die Notwendigkeit einer Firewall um so klarer. Zunächst stellt sich die Frage, was eigentlich eine (Personal) Firewall ist und wann man eine benötigt. Dies ist leicht beantwortet: Eine Personal Firewall ist eine Software, die sich in den IP-Stack (siehe [20], [21]) einklinkt und den Netzwerk-Datenverkehr über die Kommuni-kationswege für Datenpakete an der Übermittlungsstelle, den Ports, kontrolliert und diese Kommunikation nötigenfalls unterbricht. Etwas komplizierter Eine Firewall stellt einen Paketfilter dar, der anhand einer Regelliste5 Datenpakete auf deren Sende- oder Empfangsberechtigung (Legitimation). Somit kann ein Computer vom Internet oder im Netzwerk abschirmt werden – und zwar so, dass alle Datenpakete (sowohl ein- als auch ausgehende) darauf hin analysiert werden, ob diese von einer berechtigten Applikation „beantragt“ wurden – dem Datenpaket an einem bestimmten Port ging eine explizite Anfrage z.B. vom Browser oder Mailprogramm voraus – und dementsprechend durchgelassen oder abgeblockt werden, wenn die beantragende Anwendung nicht berechtigt ist (Trojaner). Erkennbar wird dies der Firewall in erster Linie an Zugriffen, die von den Programmen auf die Ports erfolgen. Eine Firewall wird immer dann benötigt, wenn... - eine Remote-Access Software wie zum Beispiel PC-Anywhere, Laplink oder WinGate verwendet wird und der Rechner vor Einbruchsversuchen Dritter geschützt werden soll, - ein Webserver betrieben wird, - wenn allgemein ein Server-Programm einen Dienst nach außen anbietet (einige Tauschbörsen-Tools basieren auf Server-Tools), - 5 Rechner vor Trojanischen Pferden wie z.B. Back Orifice geschützt werden soll. Im Wesentlichen sind es: IP-Adressen von Sender/Empfänger, Portnummer lokal und remote, Protokoll sowie Erlaubnis oder Verbot zu passieren Seite 61 SI-LABOR – G. Varvelli Versuch 1 – Viren Mit anderen Worten sollte jeder Computerbenutzer mit Internet-Zugang vorsorglich eine Personal Firewall installieren und sie auch einstellen können. Allerdings sollte er darüber im klaren sein, dass auch Firewalls keine hundertprozentige Sicherheit garantieren, obwohl sie, eimal richtig konfiguriert – und da liegt die Kunst – durchaus zusätzlichen Schutz darstellen. Besonderen Augenmerk sollte darum auf die Standardeinstellungen gesetzt werden, die sofort nach der Firewall-Installation vorliegen. Ein umfangreicher Test von zehn Personal Firewalls, der sich auch um diese Frage bemühte, wurde von der c’t-Redaktion im November letzten Jahres durchgeführt, deren Artikel [23] sollte von Interessierten zur Vertiefung zu Rate gezogen werden. Installation und Einstellungen einer Firewall Die Personal Firewall ZoneAlarm ist ein kostenloses, einfach zu bedienendes und einzustellendes Programm; es soll stellvertretend für andere rein softwarebasierte Firewalls als Beispiel dienen. Die eigentliche Installation von ZoneAlarm Pro (in der CD liegt die einfachere Freeware-Version, zu Unterrichtszwecken wird wegen der genaueren Einstellungsmöglichkeiten die Pro-Version eingesetzt) ist einfach gehalten. Bis auf eine Eingabebox (Abb. 25), in der man ein Passwort zum späteren Programmzugriff zwecks Regelveränderung angeben kann, aber wegen der Gefahr des Vergessens nicht unbedingt eingeben muss, sind die Fenster während der Installation nur zur Information und Werbung gedacht. Abbildung 25: Eingabebox zur Passworteingabe bei der Istallation Beim Start des Programms wird die eigentliche „Kommandozentrale“ ersichtlich (in der mitgelieferten ZoneAlarm-Version ist sie in orange gehalten, nicht in grau-schwarz), Seite 62 SI-LABOR – G. Varvelli Versuch 1 – Viren von der aus alle Funktionen und Einstellungen aus gewählt werden. Abbildung 26 stellt sie in der oberen Darstellung im offenen, in der unteren Darstellung im gesperrten Zustand, erkennbar an dem offenen oder geschlossenen Bügelschloss bzw. an dem gedrückten „Not-Aus“-Knopf über dem ‚Security’-Button. Weitere Informationen über Status und Kommunikation sind aus den vier mit ‚UP’ für upload und ‚DN’ für download gekennzeichneten Feldern (links im Bild): Bei vorherrschendem traffic – Datenübertragung – erscheinen im upload-Feld kleine rote Balken und im downloadFeld grüne, je nach dem ob gesendet oder empfangen wird. Im grauen Feld über dem ‚Programs’-Knopf werden Programme über Icons angegeben, während sie ein Datenaustausch verursachen – siehe dazu Abbildung 40 bei der Nutzung vom Netscape Communicator. Abbildung 26: Hauptfenster. Oben ist die Firewall „offen“; unten ist der „Not-Aus-Knopf“ gedrückt worden, dementsprechend sind die Ports gesperrt, kein Datenpaket wird durchgelassen. Rechts unten is ein Pfeil zu sehen, mit dem man das zuletzt aufgerufene Eingabefenster (klappt bei nochmaligem Drücken einfach hoch) erneut aufruft. Zum schnellen Unterbrechen eignet sich bei sichtarem Fenster der runde ‚Stop’-Knopf, der einem Not-Aus-Schalters nachempfunden ist. Daneben besteht die Möglichkeit, das ZoneAlarm-Zeichen in der Taskleiste rechts bei der Uhr mit der rechten Maustaste anzuklicken und über die Auswahl des Menüpunktes ‚Stop all internet activity’ Verbindungen und Kommunikation mit dem Internet zu unterbrechen. Seite 63 SI-LABOR – G. Varvelli Versuch 1 – Viren Beim Auswählen des ‚Alerts’-Buttons unterhalb der ‚UP’- und ‚DN’-Anzeigefelder erscheint das Warnungen-Fenster gemäß Abbildung 27 mit der Angabe der bisher gesendeten und empfangenen Daten sowie der letzten Warnungen mit Applikation, Grund, Port, Datum und Zeit. Durch Klicken der Vorlauftasten ( 9 |3|4| : ) kann man zwischen den letzten x aktuellen Warnungen vorarbeiten. Durch eine konfigurierbare Log-Funktion, die im unteren Bereich dargestellt ist und durch Häckchen-Felder aktiviert wird, bleiben etwaige Fehlermeldungen erhalten; ein Blick in die Logdatei durch deren Aufrufen mit dem ‚View Log’-Button ist von Zeit zu Zeit sinnvoll, da man einen Gefühl für die System-Zugriffe und für die Konfiguration der Firewall bekommt. Abbildung 27: Anzeige des Warnungen-Fensters mit möglichen Einstellungen zur Logfunktion Das ‚Advanced’- und das ‚Log Properties’-Button rufen gleichermaßen das ‚Advanced alert properties’-Fenster auf (Abb. 28), mit dem einzigen Unterschied, dass beim Letzteren die Logeinstellung direkt geöffnet werden. Diese zwei Buttons sind als gleichwertig zu erachten. In der linken Teilansicht wird die Auswahl einer möglichen Anführung oder Unterdrückung der localen IP-Adresse ermöglicht. Da wir diese Einstellung von Seiten des Paketempfängers noch nicht überprüft haben, kann von uns keine Aussage über die wirkliche Funktion gemacht werden. In der mittleren Teilansicht ist Auswahl der gewünschten Warnmeldungen bzw. deren Unterdrückung aufgeführt; durch Anklicken und Setzen von Häckchen werden Warnungen an- und ausgeschaltet. Sinnvoll erscheint uns, die erste Zeit alle Fehlermeldungen zuzulassen, um dann Seite 64 SI-LABOR – G. Varvelli Versuch 1 – Viren „unwichtige“ Stück für Stück wieder zu deaktivieren. Das Unterdrücken von Warnungen bedeutet aber nicht, dass die verursachende Applikation andere Zugriffsrechte erhält, man sieht einfach nur die Meldung nicht mehr. Sinnvoll erscheint uns die Unterdrückung der Warnungen zu ‚Blocked non-SYN TCP packets’, ‚Blocked fragmented IP packets’ und ‚MailSafe quarantined attachments’. Alle drei sind in der Abbildung 28 Mitte durch ein rotes Häckchen gekennzeichnet. In der rechten Teilansicht wird die Auswahl der Logdatei, der Formattierung der Logbucheinträge in der Logdatei (Definition des Trennzeichens zum Importieren und Auswerten der Logdatei z. B. unter Excel) und Zeitraum, der von der Logdatei berücksichtigt wird. Abbildung 28: Einstellungen bei der Auswahl der ‚Advanced Internet Alerts Options’ durch Auswahl des Advanced-Buttons (Abb. 27 neben der Aufschrift ‚Internet Alerts’). Links: Anführung/Unterdrückung der localen IP-Adresse. Mitte: Auswahl der gewünschten Warnmeldungen (siehe spätere Abbildungen) bzw. deren Unter drückung. Rechts: Auswahl der Logfile-Funktion, der Formattierung und Zeitraum. Beim Auswählen des ‚Lock’-Buttons unterhalb des Bügelschlosses (vgl. Abb. 26) erscheint ein Fenster (Abb. 29), in dem der Kommunikationsstatus der Firewall angegeben wird (offen oder gesperrt) und Eistellungen zum automatischen Sperren gewählt werden können. Sinnvoll ist eine Sperrung nach einer bestimmten aktivitätsfreien Zeit, wenn sich zum Beispiel fünf Minuten nach dem letzten Zugriff (Request, Seitenaufbau, Download etc.) die Firewall automatisch sperrt. Man könnte ja versehentlich (oder willentlich) permanent online sein, da man eine Flatrate zur Verfügung hat. Im ‚Alerts’Feld sollte die Auswahl für eine Warnung bei Ablehnung eines Zugriffsversuch im Internet getroffen werden (unterste Häckchenbox). Seite 65 SI-LABOR – G. Varvelli Versuch 1 – Viren Abbildung 29: Wählbare Einstellungen bei der ‚Internet Lock Settings’. Es wird der momentane Status erläutert,die Einstellung der automatischen zeitgesteuerten Sperrung und der Anzeige von Warnungen ermöglicht. Beim Auswählen des ‚Security’-Buttons unterhalb des ‚Stop’-Knopfes werden die Sicherheitseinstellungen auswählbar. Über jeweils einem Schieberegler in der Mitte des Fensters lassen sich unabhängig voneinander für ‚Local’ (internes Netzwerk) und ‚Internet’ drei voreingestellte Sicherheitsstufen auswählen: von ‚Low’ mit einer uneingeschränkten Kommunikation über Netzwerk und Internet bis zu ‚High’ mit einer scharfen Kontrolle aller Aktivitäten. Unserer Meinung nach ist die in Abbidung 30 dar- Abbildung 30: Mögliche Einstellungen Seite 66 SI-LABOR – G. Varvelli Versuch 1 – Viren gestellte Konfiguration die sinnvollste; dabei werden in der ‚Medium’-Einstellung im internen Netzwerk gemäß Regelwerk Zugriffsgesuche berechtigter Applikationen erlaubt und unbekannte, unberechtigte erst einmal angehalten, dafür werden alle Internet-Zugriffe (sowohl versenden wie empfange) angehalten und hinterfragt. Ist eine Applikation (z.B. Netscape) innerhalb einer Arbeitssession bei ihrem Start schon einmal berechtigt worden, so bleiben die Zugriffsrechte bis zu ihrer Beendigung erhalten, selbst wenn stundenlang keine Datenkommunikation erfolgte. Beim nochmaligen Start wird wieder eine explizite Zugriffsbestätigung verlangt. Durch Betätigung des ‚Advanced’-Buttons werden sechs Untermenüs (‚Advanced security properties’) zur Auswahl von Einstellungen in einem Fenster auswählbar (Abb. 31). Innerhalb dieser erweiterten Einstellungsmöglichkeiten kann gewählt werden, ob... - der Rechner an einem Internet Connection Sharing Network verbunden ist, z. B. AVM CapTain zur Internetverbindung über eine einzige ISDN-Karte innerhalb eines LANs (Einstellung: kein ICSN) - Server automatisch zur Datenkommunikation berechtigt sind (Einstellung: alle Server serienmäßig blockieren,) - gefundene Netzwerke eingebunden werden sollen und zum „internen“ Bereich gezählt werden sollen, somit ein Verbindungsaufbau nicht hinterfragt werden soll (Einstellung: Hinterfragen bei Zugriffsgesuch) Abbildung 31: Erweiterte Einstellungsmöglichkeiten zu den Sicherheitseinstellungen Seite 67 SI-LABOR – G. Varvelli - Versuch 1 – Viren aufgeführte interne IP-Adressen innerhalb des lokalen Netzwerks automatisch eingebunden werden (deswegen die Netzwerkadresse 192.168.0.0 und Netzwerkmaske 255.255.0.0) und zum „internen“ Bereich gezählt werden sollen, somit ein Verbindungsaufbau nicht hinterfragt werden soll (Einstellung: Hinterfragen bei jedem Zugriffsgesuch, keine Häckchen). Im Menü ‚Restricted Zone’ kann nach Hostnamen, IP-Adresse, nach IP-Bereich (Abb. 32) oder nach Subnet-Adresse durch Eingabe einer Subnetmaske (z.B. 255.255.0.0) ausgewählt werden, welche IP-Adressen innerhalb des LANs zugerechnet werden. Auch hierbei empfehlen wir kein automatisches Einbinden von IP-Adressen, da private Netzwerke auch von Trojaner für die Weiterleitung genutzt werden können. Abbildung 32: In den Menüs ‚Local Zone Custom Settings’ und ‚Internet Zone Custom Settings’, in Abbildung 33 dargestellt, werden die Ports ausgewählt, die genutzt werden dürfen, nachdem eine explizite Kommunikationsberechtigung aus dem lokalen Netzwerk oder zur Internetanbindung erteilt wurde (siehe auch Abb. 38 und 39). Dieses Regelwerk bestimmt, welche Ports beim Erstgebrauch einer überhaupt allgemein angesprochen werden dürfen. Wichtig Firewall ist es sich daran zu erinnern, dass die Grundeinstellungen oftmals zu schwach eingestellt sind und dass alle Applikationen zum Zuge kommen könnten. Sinnvoll kann es deswegen sein, alles dicht zu machen und dann bei Gebrauch Stück für Stück durch explizite Regeln für gewünschte Programme Seite 68 SI-LABOR – G. Varvelli Versuch 1 – Viren Ports und Zugriffe zu öffnen. Für den „normalen Betrieb“ können aber folgende Einstellungen sinnvoll sein: - Für den Internetzugang sollte der Port 53 zum Domain Name Service DNS freigegeben werden; er ist für die Umsetzung und Angabe der KlartextAdressen, wie www.google.de, zuständig. - Alle Auswahlpunkte zum Internet Control Message Protocol ICMP sollten wegen des Restrisikos „tunnelnder“ Angriffsszenarien ausgeschaltet bleiben. Dieses Protokoll dient nur dem Austausch von Status- und Fehlermeldungen. Das ewige interne ICMP-Anpingen (‚echo request’ und ‚echo reply’) kann aber durch die Auswahl des vierten und des sechsten Kästchens abgestellt werden. - NetBIOS-Porst können laut Literatur (ohne Quellenangabe) bei schlechter Konfiguration der Freigaben im Netzwerk zu Sicherheitslücken im System führen, weswegen präventiv Internetverbindungen über die TCP- und UDPPorts 137, 138 und 139 sowie über TCP-Port 445 nicht erlaubt werden dürfen. Im rechten Menü werden Dateinamenserweiterungen der Dateien ausgewählt, die beim Runterladen von E-Mails und bei Verdacht als Vorsichtsmaßnahme unter Quarantäne gestellt werden. Hier sollten zu Beginn alle Dateiendungen ausgewählt werden. Abbildung 33: Gewählte Einstellungen bei der Auswahl der ‚Advanced security properties’ aus Abb. 30. Links: Auswahl der erlaubten Ports innerhalb des lokalen Netzwerks. Mitte: Auswahl der erlaubten Ports innerhalb der Internetzugriffe. Rechts: Auswahl der Dateiendungen potentiell gefährdender Dateitypen. Seite 69 SI-LABOR – G. Varvelli Versuch 1 – Viren Die Konfiguration einzelner Applikationen: Regeldefinitionen Beim Auswählen des ‚Programs’-Buttons unterhalb der grauen Anzeigefläche erscheint eine Liste an Programmen, für die bereits eine Regelliste angelegt worden ist. Abbildung 34: Mögliche Einstellungen In diesem Fall sind es: Der Sprachübersetzer Babylon, der Netscape-Browser, der TaskManager von Anti-Trojan, der Windows Media Player und ZoneAlarm selbst. Auch wenn es den einen oder anderen erstaunt, viele unscheinbare Applikationen versuchen beim erstbesten „Wehwehchen“ über das Internet Verbindung mit Zuhause aufzubauen, sobald sie irgend eine Möglichkeit haben. Babylon gibt zum Beispiel die Möglichkeit, sich über das Internet zu aktualisieren, wörter zu suchen, das Programm weiterzuempfehlen und und und... Was uns perönlich natürlich nicht begeistert, denn Automatismen dieser Art bieten viele Schlupflöcher. Bei jedem Neustart von Babylon ergibt sich aber auch ein Zugriffsversuch und seitens ZoneAlarm zum Glück eine Warnung, die in Abbildung 42 rechts dargestellt ist. Nicht so lustig ist daran, dass Babylon versucht, diese Verbindung im Hintergrund zu starten, ohne dass sich ein Fenster öffnen würde – klasse Transparenz. Was das Programm da im Hintergrund kommuniziert, ist wahrscheinlich nur den Programmierern bekannt. Nicht ganz so undurchschaubar sind ältere Versionen vom Windows Media Player, er braucht die Internetverbindung „nur“ für das Runterladen von Codecs (Programmteile Seite 70 SI-LABOR – G. Varvelli Versuch 1 – Viren zum Decomprimieren) und für Hilfefunktionen. Was aber genau während der Datenverbindung kommuniziert, kann und will die Microsoft-Hilfe nicht sagen. Wenn man sich überlegt, dass Microsoft ja eigentlich Betriebssystems-Hersteller ist, und alle anderen Programme dazugekauft wurden, um den Markt abzuschöpfen, ist es sicher ratsam zu hinterfragen was genau alles passiert (gesendet wird), wenn man online ist. Schluss mit der Polemik, kommen wir zur beispielhaften Regeldefinition für Netscape. Durch Auswahl des ‚Advanced’-Buttons werden zwei Menüs sichtbar. Zum einen sind es die ‚Access permissions’, in denen Zugriffsrechte für Client- und Serverprogramme bei einem Zugriff auf das Netzwerk (gelbe Felder) oder zum Internet (blaue Felder) eingestellt werden; hier sollte bei allen Feldern ‚Always ask for permission’ – immer Bestätigung einholen – einstellen, die vorletzte Checkbox sollte nicht ausgewählt werden, um ein Durchschlüpfen des Programms trotz anderslautender Regel zu verhindern. Zum anderen erhält man im’Alerts and Functionality’ die Möglichkeit, Einstellungen zu allgemeinen Warnungen und Funktionen wie ‚Warnung bei Zugriffsverweigerung’ zu wählen; es sollten alle drei Checkboxen wie im Bild ausgewählt werden. Abbildung 35: Sinnvolle Einstellungen für eine Applikation (hier: Netscape Communicator) Links: Einstellung der Zugriffsrechte für Client- und Serverprogramme bei Zugriff auf das Netzwerk (gelbe Felder) oder zum Internet (blaue Felder). Rechts: Einstellung der allgemeinen Warnungen und Funktionen. Seite 71 SI-LABOR – G. Varvelli Versuch 1 – Viren Durch Auswahl des ‚Options’-Buttons rechts von Netscape (in Abb. 34 zweiter roter Button von oben in der Spalte ‚Options’) werden wieder zwei Menüs sichtbar, zum einen wieder die ‚Access permissions’, zum anderen die Portauswahl, mit dem sich entweder alle oder nur bestimmte Ports für die entsprechende Applikation freigeben lassen. Für den Netscape Communicator (und Messenger) sollten folgende Portzugriffe zugestanden werden: Port 80 (TCP, http), Port 53 (TCP und UDP, DNS Server), Port 25 (TCP, SMTP Mail), Port 110 (TCP, POP-Server Mail). Der Port 21 (TCP, file transfer protocol ftp) sollte nur bei starker ftp-Nutzung genutzt werden, ansonsten: zu. Die Auswahl der Zulassung sollte wie in Abbildung 36 die mittlere sein. Abbildung 36: Konfigurationsfenster zur Einstellung der offenen Ports, für jede Applikation, die Zugriff nach Aussen haben darf, muss jeweils ein eigenes Regelwerk eingestellt werden. Beim Auswählen des ‚Configure’-Buttons unterhalb des ‚Zone Labs’- und Help-Buttons werden einige weitere Konfigurationseinstellungen ermöglicht. So kann z. B. eingestellt werden, dass bei Internet-Aktivitäten ZoneAlarm permanent im Vordergrund gehalten wird (vor anderen aktiven Applikationen, auch vor Netscape oder dem Internet Explorer), und dass ZoneAlarm beim Hochfahren des Systems gleich gestartet wird und im Hintergrund auf Arbeit wartet. Diese beiden Funktionen erscheinen sinnvoll, da sie ein versehentliches Vergessen der Firewall ausschließen helfen. Seite 72 SI-LABOR – G. Varvelli Versuch 1 – Viren Abbildung 37: Konfigurationsfenster. Wichtig sind nur die zwei oberen Felder zur Aktivierung der Firewall beim Hochfahren des Systems und bei Internet-Aktivitäten Die Firewall in Aktion Wenden wir uns nun der konfigurierten und in Aktion tretenden Firewall zu. Ausgehend von der vorgestellten und beispielhaften Konfiguration und der im Hintergrund aktiven Firewall, wird der Aufruf des Internet-Browsers zu der in den Abbildungen 38 und 39 gezeigten Zugriffswarnung führen. Da Netscape durch ein explizites Regelwerk erst nach Bestätigung auf Ressourcen zugreifen kann, kann an dieser Stelle der Browser Abbildung 38: Komplettansicht beim Aufruf von Netscape. Die Firewall hinterfragt beim User die Bestätigung des Zugriffs Seite 73 SI-LABOR – G. Varvelli Versuch 1 – Viren durch Verneinung angehalten werden oder durch Bejahung der Zugriff freigegeben werden. In der Warnung wird neben der Applikation noch die interne Zieladresse, der Dateiname der die Warnung verursachenden Programmdatei und die Versionsnummer angegeben; beim Aufruf über den ‚More Info’-Button werden weitere allgemeine Informationen über die Funktionalität von ZoneAlarm über html-Seiten angezeigt. Abbildung 39: Teilansicht; erkennbar wird in diesem Fall die erkannte Applikation mit Versionsnummer und IP-Nummer (intern). Der Benutzer erhält die Möglichkeit, den Zugriff zuzulassen oder zu unterbinden. In diesem Fall haben wir den Browser gestartet, der Verbindungsaufbau ist also erwünscht und der Zugriff kann zugelassen werden. Der Browser baut daraufhin die vordefinierte Startseite auf – in diesem Fall die Satellitenaufnahme Europas. Abbildung 40: Seitenaufbau der im Browser voreingestellten Startseite nach manueller Bestätigung der Berechtigung. Erkennbar ist der Datenverkehr an den grünen Balken in der Anzeige DN für Download. Seite 74 SI-LABOR – G. Varvelli Versuch 1 – Viren Es kann allerdings auch vor anderen Zugriffsversuchen gewarnt werden: In Abbildung 41 ist eine wahrscheinlich harmlose Warnung gezeigt, die vor einer versuchten SubnetInternetverbindung warnt, die vorsichtshalber abgeblockt wurde. Abbildung 41: Mögliche Zugriffswarnung; ein hat ein Subnet-Datenpaket losgeschickt – abgeblockt. In Abblidung 42 sind weitere zwei Zugriffswarnungen dargestellt. Die linke Warnung wurde durch ein eingehendes Datensignal aus einem anderen Rechner innerhalb des Netzwerkes bei dessen Diensteanmeldung verursacht und ist, solange sich wie in diesem Fall keine expliziten Dienste-Server auf dem sendenden oder dem empfangenden Rechner befinden, vernachlässigbar. Die rechte Warnung ist, wie im vorherigen Absatz bereits besprochen wurde, auf einen versteckten Kommunikationsversuch seitens der Übersetzungssoftware Babylon zurückzuführen. Solche Art Kommunikation ist wegen der unbekannten Datenübertragung mit Vorsicht zu geneißen. Abbildung 42: Mögliche Zugriffswarnungen. Links: ein Rechner aus dem internen Netzwerk hat beim Hochfahren ein NetBIOS- Datenpaket losgeschickt – eher harmlos. Rechts: Die Applikation (Babylon Translator) hat im geheimen nach ihrem Aufruf ein Verbindungsversuch gestartet – nicht transparent. Seite 75 SI-LABOR – G. Varvelli Versuch 1 – Viren Fireholes Wichtig an dieser Stelle ist allerdings auch das Wissen um Angriffskonzepte, die auf die Nutzung berechtigter Ressourcen basieren, die von einer Firewall nicht als Angriff interpretiert wird, somit die Firewall trotz korrekter Funktion umgangen werden kann. Zum besseren Verständnis kann dies bildlich wie ein Loch in der Feuerwand gesehen werden, durch den nicht nur berechtigte Kommunikation über den Browser, sondern auch über den unkontrollierter und -barer Informationsaustausch erfolgt. Dabei geht es letztendlich um das Hineinschmuggeln von Datenpaketen über legitime Ports wie zum Beispiel dem Port 80 (http), „dem Internet-Port schlechthin“. Wie Das? Einfach: Über den gerade genutzten Intenet-Browser. Nun muss man wissen, dass die Methode, den Browser selbst über einen Trojaner zu infizieren, der dann über den Browser zuschlägt, mittlerweile von allen neueren Firewalls mittels Checksummenüberprüfung der wichtigen Programmteile (z.B. netscape.exe) enttarnt wird – solange bei der erstmaligen Browser-Installation nicht schon ein Trojaner auf dem System vorlag (sonst wären die Checksummen da schon falsch). Ein neuer Weg, seit zirka einem Jahr angedacht und mittlerweile von Programmierern mehrfach realisiert, sieht die Nutzung interner autorisierter Funktionalitäten und Befehle vor, wie sie in ihrer auch schädlichen Funktion noch von kaum von einer Firewall überprüft werden können. Dabei kann es sich beispielsweise um ActiveX-Steuerbefehle handeln, die in bestimmten *.dll Dateien (dynamische Bibliotheken) vom Programmierer kodiert werden, nach der Freigabe vom Browser aufgerufen werden und sich ebenso in für den autorisierten lassen sich Prozess zum vorgesehenen Beispiel Speicherbereich/aktionssphäre Keystroke Logger befinden. Somit (Tastaturanschlag-Protokollierer) realisieren, die die Aktivität an Tastatur oder Maus registrieren und übertragen können. Obwohl für die Realisierung solcher Angriffe noch einiges mehr an Programmiersprachenkenntnisse erforderlich sind, werden in nächster Zeit wohl verstärkt solche Angriffe zu registrieren sein. Seite 76 SN-LABOR – VERSUCH 1 - Viren Aufgabenstellung im Versuch Nachdem in den vorhergehenden Kapiteln Grundlagen zur sogenannten Malware, zu Techniken zum Schutz und die Funktionsweise der Programme erläutert wurden, werdet ihr während des Laborversuchs mit dem Virenscanner der Firma Kaspersky Labs und McAfee experimentieren, mit dem Anti-Trojaner-Programm Anti-Trojan, dem Scanner CIS V.5.0 und der Firewall ZoneAlarm bekannt gemacht und arbeiten. Ziel ist es, die zuvor gezeigten Sicherheitskonzepte und -mittel im Versuch umzusetzen. Im Laufe des Labors sollen folgende Aufgaben gelöst werden: 1. Einstellungen am System gemäß Sicherheitskonzept treffen 2. Installieren des Virenscanners 3. Einstellen des Virenscanners 4. Scannen von Dateien / Untersuchung auf Infektionen 5. Isolieren von Viren 6. Suchen von Informationen über gefundenen Viren und Gefahreneinschätzung 7. Updaten der Virendefinitionen 8. Einstellen und scannen mit einem Trojaner-Suchprogramm 9. Untersuchen von Dateien mit doppelter Dateiendung 10. Scannen eines Nachbarrechners mit dem Programm CIS, bevor die Firewall installiert ist. 11. Installieren und Einstellen der Firewall 12. Scannen eines Nachbarrechners mit dem Programm CIS, nachdem die Firewall installiert ist. Welche Informationen sind nun noch abrufbar? 13. Anpingen des Rechners anhand seiner IP-Nummer über einen anderen Rechner SI-LABOR – G. Varvelli Versuch 1 – Viren Literatur – Quellen [1] Cohen, F. B.: Computer Viruses: theory and Experiments. In: Short Courses on Computer Courses. Pittsburgh: ASP Press, 1990. [2] MessageLabs: www.messagelabs.com [3] c't 2001, Heft 2, Seite 101 [4] Schäpers, A.: Kampfansage, Bibliotheksroutinen zur virenabweisenden Programmierung. c't 1992, Heft 7, Seite 146 [5] Ision: www.ision.de [6] Brauch, P.: E-Mail, aber sicher, Der richtige Umgang mit elektronischer Post. c't 2000, Heft 20, Seite 116 [7] Antiviren-Seiten von c't: www.heise.de/ct/antivirus [8] Information zu Falschmeldungen sind zu finden unter: www.hoax-info.de [9] Kossakowski, K.P.: Klassifikation und Abwehr von Computer-Würmern in Netzwerken. Hamburg: Diplomarbeit, Universität Hamburg, Fachbereich Informatik, 1992. Unter: www.cert.dfn.de/tutorial/wuermer/ ist ein gleichnamiger Online-Tutorial zu finden. [10] Der FAZ-Artikel vom 13.08.2001 ist zu finden unter: www.asp-group.at/presse/2000/FAZ13.08.2001Sc.htm [11] Unter der McAfee Virus Information Library: vil.nai.com/vil/default.asp ist eine große Menge (z. Z. über 58.000) an Vireninformationen zu finden [12] Unter vil.nai.com/vil/content/v_98910.htm sind Information zum Wurm W32/BleBla.b@MM (auch Romeo&Juliet und W32/Verona) aufgeführt [13] Anderson, J. P.. Hanscom AFB, Mass.: Computer Security Technology Planning Study. In: Air Force Electronic Systems Division, 1972. – Technical Report ESD-TR-73-51, vols. 1 and 2. Seite 78 SI-LABOR – G. Varvelli [14] c't 2002, Heft 4, Seite 196 [15] c't 2001, Heft 2, Seite 102 [16] Martin, F.: Virus Report ’98. Versuch 1 – Viren Feldkirchen: Franzis Verlag, 1997 [17] Anonymous: Der neue Hacker’s Guide. München: Verlag Markt+Technik, 2001 [18] Informationen zum verstekten Trojaner ANTS ist zu finden unter: w ww.unitrade.ch/uportal/uportal.archiv0103.htm w ww.rp-online.de/news/multimedia/software/2510_trojaner.html [19] Kremer, K.: Rechnernetzwerke. Friedberg: Skript zur Vorlesung, Fachhochschule Geissen-Friedberg, 1999. [20] Ein ausführlicher englischsprachiger Tutorial zur TCP/IP-Technik ist zu finden auf einer Seite der Universität von Las Palmas unter: w ww4.ulpgc.es/tutoriales/tcpip/pru/3376fm.htm [21] Ausführliche Beschreibungen zu genutzten TCP/IP-Ports sind zu finden unter der Website von Robert Akerman: w ww.chebucto.ns.ca/~rakerman/port-table.html und von bekannten Trojanern genutzte Ports (siehe auch Anhang): w ww.chebucto.ns.ca/~rakerman/trojan-port-table.html [22] Port-Tabellen mit der Zuordnung sind zu finden unter: w ww.linux-firewall-tools.com/linux/ports.html w ww.networkice.com/advice/Exploits/Ports/ w ww.simovits.com/nyheter9902.html [23] c't 2001, Heft 23, Seite 174 [24] c't 2001, Heft 21, Seite 152 [25] c't 2001, Heft 2, Seiten 98 bis 101 sowie Seiten 116 bis 119 Seite 79 SI-LABOR – G. Varvelli Versuch 1 – Viren Weiterführende URLs zum Thema w ww.bsi.de w ww.sciam.com/askexpert/computers/computers15/" citeseer.nj.nec.com/context/69586/0 w ww.cdt.org/security/dos/000223senate/cohen.html w ww.bocklabs.wisc.edu/~janda/sladehis.html w ww.symantec.de/region/de/avcenter/vwutp.html w ww.chip.de/news_stories/news_stories_212858.html w ww.cert.org/tech_tips/home_networks.html/ Information zu dieser Ausarbeitung Diese Ausarbeitung wurde im Februar 2002 unter Verwendung der in der Literaturliste aufgeführten Quellen zum Zweck der Ausbildung der Studenten der Medieninformatik im Labor ‚Sicherheit in der Informationstechnik’ an der Fachhochschule GießenFriedberg von G. Varvelli im Auftrag fertiggestellt. Zitierte Passagen sind nicht explizit gekennzeichnet. Seite 80 SI-LABOR – G. Varvelli Versuch 1 – Viren Anhang Tabelle der von einigen Trojanern für Angriffe benutzten Ports, nach Ports geordnet. Trojaner-Name Port Trojaner-Name Port FTP Open Server Bonk (DOS Exploit) BO jammerkillah Hackers Paradise Phase 0 Silencer Doly trojan 1.35 Doly trojan 1.5 NetSpy GateCrasher.b WinGate SubSeven 2.0 Vodo Back-Orifice.FTP Shiv SpySender BackDoor BackDoor.201 BackDoor.203 PassRipper The Invasor Striker Wincrash2 FileNale Blazer 5 BackConstruction.1.2 The Thing DeltaSource Gatecrasher NetMonitor Portal of Doom Coma Senna Spy Trojans Progenic Trojan Giamer Priotrity Millenium NetBus Pro Girl Friend NetSphere Tiny telnet Server Remote Windows Shutdown 21 53 121 456 555 1001 1010 1015 1033 1047 1080 1234 1245 1492 1600 1807 1999 1999,1003 1999,5598 2023 2140 2565 2583 4567 5000 5400 6400 6883 6969 7306 9872 10607 11000 11223 12076 16969 20000 20034 21554 30100 34324 53001 Masters Paradise Executor 1.0a Win Nuke Stealth Spy Attack FTP WebEx Doly trojan NetSpy.698 Blah 1.1 GateCrasher.c Streaming Audio Maveric's Matrix FTP99CMP ShockRave BackDoor.200 BackDoor.202 TrojanCow Pass Ripper Ivasor Rat Phineas icqTrojan ojen FireHotcker BladeRunner xtcp RoboHack Wincrash Devil 1.03 Vampire Deep Throath ICQKiller INIKiller NetBus 1.x Prosiak 0.47 Whack Job SubSeven 2.1 Socket23 Kuang Back Orifice Fore, Schwindler Telecommando 31 80 139 555 666 1001 1011 1024,1025 1042 1047 1170 1269 1492 1981 1999,1003 1999,1003 2001 2023 2140,3150 2283 2801 4950 4950 5321 5400 5550 5569 5742 6500 6669 6670 7789 9989 12346 22222 23456 27374 30303 30999 31337 50766 61466 Seite 81