Westfälische Wilhelms-Universität Münster Seminararbeit Crackerdelikte / Hacker und Computerstraftaten Im Fach Informatik Christian Speller Themensteller: Prof. Dr. Herbert Kuchen Institut für Wirtschaftsinformatik Lehrstuhl für Praktische Informatik in der Wirtschaft 1 Einleitung........................................................................................................................1 2 Grundlagen eines Computernetzwerkes .........................................................................1 3 2.1 Architekturmodelle ................................................................................................2 2.2 Die TCP/ IP Protokollfamilie ................................................................................3 Hackerangriffe: Methoden und Abwehr .........................................................................5 3.1 3.1.1 3.1.2 3.1.3 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.3 3.3.1 3.3.2 3.3.3 4 Eingriffe in fremde Computersysteme...................................................................5 Portscanner.........................................................................................................6 Social Engineering.............................................................................................9 Sniffer ................................................................................................................9 Viren, Würmer, Trojaner und Hoaxes .................................................................11 Viren und Würmer : Definition und Abgrenzung............................................11 Prinzipieller Aufbau von Viren und Würmern ................................................12 Spezielle Virenformen und deren typische Charakteristik ..............................13 Trojanisches Pferd (Trojaner)..........................................................................14 Hoaxes .............................................................................................................15 Wie kann man sich technisch vor Eingriffen in Firmennetzwerke/WLANs schützen?..............................................................................................................15 Firewalls...........................................................................................................15 Intrusion Detection Systeme (IDS)..................................................................18 Wireless LAN ..................................................................................................20 Zusammenfassung und Ausblick..................................................................................20 Literaturverzeichnis .............................................................................................................21 II Kapitel 1 : Einleitung 1 Einleitung Immer wieder berichten die Medien von neuen Bedrohungen durch Viren, Würmer oder anderen kriminellen Crackeraktivitäten, wobei es hier eine erschreckend hohe Dunkelziffer gibt, da die Aktivitäten in vielen Fällen gar nicht erst bemerkt werden. Ziel dieser Arbeit ist es, Computerstraftaten in Form von Crackerangriffen technisch zu erläutern, um das notwendige Hintergrundwissen für eine juristische Bewertung zu liefern. Es soll ein Überblick über die verschiedenen Angriffsarten vermittelt werden. Hierzu wird zunächst in Kapitel 2 die Funktionsweise von Computernetzwerken beschrieben. Anschließend werden in Kapitel 3 generelle Arten der Bedrohung durch kriminelle Computermachenschaften vorgestellt, die sich in den aktiven und den autonomen Angriff untergliedern lassen. Zu diesen werden die jeweils wichtigsten Methoden bzw. Vertreter technisch erläutert. Der letzte Abschnitt befasst sich mit den wichtigsten Konzepten zur Abwehr dieser Straftaten. Aufgrund des enormen Umfangs der Thematik geht es hier nicht um eine technisch detaillierte bzw. vollständige Bearbeitung sämtlicher Hackermethoden, sondern nur um einen Einblick zur Bewertung der unterschiedlichen Cracker-/ Hackerabsichten. Es sei an dieser Stelle erwähnt, dass in vielen Literaturquellen eine Unterscheidung zwischen Hackern und Crackern in der Form gemacht wird, dass Hacker im Gegensatz zu Crackern ihre Methoden ausschließlich dazu anwenden, Sicherheitslücken aufzudecken und die Betroffenen über diese zu informieren. Cracker hingegen verfolgen bösartige Absichten. In dieser Arbeit wird allgemein von Hacker-Methoden gesprochen, da diese technisch mit denen der Cracker identisch sind. Bei der juristischen Bewertung muss diese Unterscheidung jedoch gesondert berücksichtigt werden. 2 Grundlagen eines Computernetzwerkes Damit ein Netzwerk funktioniert, müssen die teilnehmenden Computer sich an bestimmte Regeln halten, diese werden als Protokolle bezeichnet. In diesem Kapitel wird auf einige Protokolle, sowie auf deren Zusammenwirken eingegangen, da dies eine Voraussetzung zum Verständnis der Möglichkeiten, in ein Computernetzwerk einzudringen, darstellt. Das auf der TCP/IP Protokollfamilie basierte Internet wurde ursprünglich zu militärischen Zwecken mit der Zielsetzung einer möglichst robusten Kommunikation zwischen unabhängigen jedoch miteinander verknüpften Netzwerken entwickelt. Die Ergebnisse 1 Kapitel 2: Grundlagen eines Computernetzwerkes dieser Überlegungen sind unter anderem, dass die Daten zunächst in einzelne Pakete unterteilt werden, welche dann über Netzwerkknoten vom Quell- bis zum Zielsystem gelangen. Die einzelnen Knoten entscheiden hierbei autonom, welchen Weg ein Paket nehmen soll, d.h. es gibt keine zentrale Kontrollinstanz des Internets. 2.1 Architekturmodelle Die Struktur und Funktionsweise einer Kommunikation kann durch Architekturmodelle verdeutlicht werden. Diese sind durch verschiedene Schichten (Layer) strukturiert, welche jeweils miteinander kommunizieren. Anhand des von der "International Organisation for Standardisation" (ISO) entwickelten Basisreferenzmodelles zur Datenkommunikation "Open Systems Interconnection" (OSI), welches aus sieben verschiedenen Schichten besteht (siehe Abb.1), kann auch die Bedeutung der verschiedenen Protokolle veranschaulicht werden. Jede dieser Schichten repräsentiert eine einzelne Funktion der Kommunikation und kann durch verschiedene Protokolle realisiert werden. Zu beachten ist allerdings, dass sich nicht alle Protokolle direkt an dem OSI-Modell orientieren. Die TCP/IP Protokollfamilie (auf die sich die in dieser Arbeit beschriebenen Techniken beziehen) wurde beispielsweise in Anlehnung an das Modell des U.S. Department of Defense (DoD) (Abb.1) entwickelt. Dieses kann als eine komprimierte Version des OSI- Modells verstanden werden, das in die Anwendungs-, Transport-, Internet- und Netzanschlussschicht untergliedert ist (Vgl. [Shi02, S.10]) Abbildung 1: Zusammenhang zwischen OSI- und Internetmodell beispielhafte Protokolle 2 Kapitel 2: Grundlagen eines Computernetzwerkes In dieser Arbeit wird darauf verzichtet, die weiteren Schichten des OSI-Modells detailliert zu erläutern, da diese für das Verständnis von TCP/IP nicht erforderlich sind. 2.2 Die TCP/ IP Protokollfamilie Allgemein versteht man unter einem Protokoll einen Satz von Regeln, nach denen sich die Kommunikation zwischen zwei Kommunikationspartnern bzw. zwei Diensten der gleichen Ebene vollzieht. Ein Protokoll legt hierbei die Formatierung (Syntax) und Bedeutung (Semantik) der ausgetauschten Daten fest. Innerhalb der TCP/IP Protokollfamilie können verbindungsorientierte und verbindungslose Protokolle unterschieden werden. Bei letzteren wird nicht garantiert, dass Pakete ihr Ziel erreichen bzw. ihre Reihenfolge erhalten bleibt. Jedes dieser Protokolle kommuniziert ausschließlich mit demselben Protokoll derselben Schicht auf dem entsprechenden Zielsystem. Jede Schicht erbringt einen Dienst (Service) für die übergeordnete Schicht und kann von der untergeordneten eine Dienstleistung anfordern. So befinden sich zum Beispiel in der Anwendungsschicht Protokolle zur Emailübertragung wie das SMTP-Protokoll. Wenn zwischen zwei Anwendungen Daten ausgetauscht werden, durchlaufen diese bei der Übermittlung jeweils alle Schichten des Quell- und Zielsystems. Die ausgetauschten Daten setzen sich jeweils aus einem Datenteil (Body), der die eigentlich zu übermittelnden Daten enthält und einem schichtspezifischen Kopf (Header) zusammen, welcher in jeder Schicht die jeweils zur Übermittlung notwendigen Informationen enthält. Wenn also eine E-Mail-Übertragung stattfindet, so ist in der Anwendungsschicht die Email-Nachricht in dem Body- und die Emailadresse (z.B. [email protected]) im Header-Abschnitt gespeichert. Das TCP bzw. das UDP Protokoll der Transportschicht übermittelt die Pakete aus der Internetschicht an die zugehörige Anwendung (der 4. Schicht), welche durch einen sogenannten Port identifiziert wird. Für eine TCP- bzw. UDP-Übertragung wird immer die Kombination aus einer IP-Adresse und der entsprechenden Portnummer benötigt, da erst durch diese beiden Informationen eine Verbindung eindeutig bestimmt ist. 3 Kapitel 2: Grundlagen eines Computernetzwerkes Abbildung 2 Kapselung der Daten Desweiteren enthält der TCP-Header einige Kontrollbits (Flags), die zur Steuerung der Verbindung dienen (Vgl. [RFC793]). Von den insgesamt 6 verschiedenen Kontrollbits werden nur das ACK-, FIN-, SYN- und das RST-Bit zum Verständnis dieser Arbeit benötigt. Aus der folgenden Tabelle lässt sich entnehmen, welche Bedeutung ein Segment hat, in dessen TCP-Header das entsprechende Bit auf „1" gesetzt ist. Kontrollbit SYN ACK RST FIN Bedeutung des Paketes Zeigt an, dass eine Verbindung aufgebaut (synchronisiert) werden soll Bestätigt den Empfang von Daten Zeigt an, dass der Sender die Verbindung abbauen will (reset) Signalisiert (bestätigt) das Ende der Verbindung – es folgen keine weiteren Daten Tabelle 1: Bedeutung einzelner Kontrollbits Die unterhalb der Transportschicht liegende Internetschicht fügt wiederum einen IPHeader mit weiteren schichtspezifischen Informationen hinzu. Dieser beinhaltet sowohl die Zieladresse, als auch die des Absenders. Bei der Kommunikation in dieser Schicht, spricht man von Paketen, die über verschiedene Netzwerkknoten weitergeleitet werden. Die Verbindung der Knoten wird in der Netzanschlussschicht geregelt, in der zur Adressierung eine für jede Netzwerkschnittstelle eindeutige „MAC-Adresse“ (Media Access Control-Adresse) verwendet wird. Alle Schichten oberhalb der Internetschicht arbeiten unabhängig von der unterliegenden Netzwerkstruktur. 4 Kapitel 3: Hackerangriffe: Methoden und Abwehr Mithilfe des ARP-Protokolls (Address Resolution Protocol) werden in der Internetschicht Netzwerkknoten eines lokalen Netzwerkes mit ihren IP-Adressen verknüpft; Das Protokoll ermöglicht also das Übersetzen von MAC- in IP-Adressen. Ein weiteres, in dieser Arbeit angesprochenes Protokoll der Internetschicht ist das ICMP Protokoll (Internet Control Message Protocol, beschrieben in [RFC792]). Mithilfe dieses Protokolls können Netzwerkprobleme aufgespürt und Fehlermeldungen, sowie der Status eines Hosts, übertragen werden. 3 Hackerangriffe: Methoden und Abwehr 3.1 Eingriffe in fremde Computersysteme Um die Frage zu beantworten, ab wann der Eingriff in fremde Computersysteme als Straftat gilt, muss zunächst das mögliche Vorgehen beim Eindringen eines Hackers in ein Computersystem beschrieben werden. Im Allgemeinen unterscheidet man zwei Formen des Angriffs, den aktiven und den autonomen Angriff. In diesem Abschnitt wird zunächst auf Formen eines aktiven Angriffs eingegangen, welcher sich gezielt und kontrolliert gegen ein bestimmtes System richtet. Unter autonomen Angriffen versteht man die Bedrohung durch Viren, Würmer oder Trojaner (Abschnitt 3.2), die sich nicht gezielt gegen ein bestimmtes System richtet. Diese Angriffsform wird, nachdem sie eingeleitet wurde, nicht kontrolliert sondern verläuft automatisiert. Bei einem Angriff wird der Angreifer zunächst versuchen, sich auf diesen vorzubereiten, indem er möglichst viele und präzise Informationen sammelt. Hierfür eignen sich Programme wie Portscanner oder Sniffer. Zunächst werden nun einige Formen eines aktiven Angriffs beschrieben, bei der ein Angreifer versucht, in ein Zielsystem einzudringen. Im Zuge der Informationsgewinnung besteht der erste logische Schritt eines Hackers darin, sich einen Überblick über das lokale Netzwerk seines „Opfers“ zu verschaffen. Mit Hilfe eines "Ping-Sweeps" ist es beispielsweise möglich, festzustellen, welche aktiven Zielsysteme (Hosts) sich in einem Netzwerk befinden. Ein "Ping-Sweep" besteht aus einer Reihe von ICMP-Anfragen, die an verschiedene Rechner gesendet werden. Hierbei handelt es sich um eine Methode, mit der eine Liste von aktiven Hosts (bzw. deren IP-Adressen) in einem Adressraum erstellt wird. Bei einem Ping wird also eine ICMP-Echoanfrage an eine Ziel IP-Adresse gesendet, die ein aktiver Host (wenn der entsprechende Dienst aktiviert ist) mit einer ICMP5 Kapitel 3: Hackerangriffe: Methoden und Abwehr Echorückmeldung beantwortet. Der nächste Schritt kann sich dann sehr gezielt gegen sein eigentliches Zielsystem (z.B. einen Datenbankserver) richten. Fast jedes System (abhängig von der Hardware, Software bzw. der Version eines aktiven Dienstes) weist bestimmte Merkmale auf, die es charakterisieren. Daher ist es mittels eines sogenannten Portscans (s. u.) möglich, das Betriebssystem oder die aktiven Services und auch deren Versionsnummern zu erkennen. Dies ist problematisch, da im Internet Informationen über bereits bekannte bzw. neu entdeckte Schwachstellen veröffentlicht werden. Zusammen mit den Informationen die ein Angreifer über die auf einem System vorhandene Software hat, ist es ihm möglich vorhandene Schwachstellen zu erkennen und diese gezielt zum Eindringen in das System auszunutzen. 3.1.1 Portscanner Portscanner (wie z.B. nmap) stellen einen möglichen ersten Schritt eines aktiven Hackerangriffs dar, indem sie helfen, potentielle Zielsysteme zu erkennen und an diesen mögliche Schwachstellen in Form von aktiven Diensten (Programme, die an speziellen Ports erreichbar sind) zu entdecken. Hierzu werden verschiedene, im Folgenden beschriebene Techniken verwendet, um das Netzwerk bzw. Zielsystem abzutasten. Die verschiedenen Methoden von Portscans können anhand des Ausmaßes an Spuren, die hinterlassen werden (in den Protokollen des Zielsystems) und durch die Verlässlichkeit der Ergebnisse in den "offenen"-, den "halb offenen"- und den "stealth"-Portscan gegliedert werden (Vgl. [Syn01]). Bei einem Scan nutzt der Hacker bestimmte Eigenschaften der Kommunikation in TCP/IP basierten Netzwerken. Grundsätzlich basiert ein Portscan darauf, dass für den Aufbau einer Verbindung zwischen zwei Teilnehmern ein sogenannter "Drei-Wege-Handshake" durchgeführt wird. In dem folgenden Beispiel baut ein Client eine Verbindung zum World-Wide-Web-Dienst auf, der an TCP-Port 80 ausgeführt wird. Der Client (Empfänger eines Dienstes) führt das "Drei-Wege-Handshake" mit dem WWW-Dienst an Port 80 des Servers (Anbieter eines Dienstes) durch. Dieses geschieht durch den Austausch von besonderen TCP Segmenten, die hier vereinfacht nach den in ihrem Header gesetzten Kontrollbits benannt werden. 6 Kapitel 3: Hackerangriffe: Methoden und Abwehr Beim "Drei-Wege-Handshake" wird das eintreffende TCP Segment mit gesetztem SYN Flag (im folgenden nur als SYN bezeichnet) durch ein entsprechendes „SYN/ACK“ beantwortet, welches vom Client noch mit einem ACK ("acknowledgement") bestätigt wird. Abb.3: Das Drei-Wege-Handshake von TCP [Sca01, S.82] Ist das letzte Signal beim Server eingetroffen, besteht eine gültige TCP-Verbindung zwischen den beiden Systemen. Die Daten der Anwendungsschicht können jetzt über das Netzwerk ausgetauscht werden. Wie im Folgenden gezeigt wird, gibt es allerdings auch Methoden, die sich gerade nicht an diesen vorgegebenen Verbindungsaufbau halten. Bei einem offenen Portscan werden vollständige Verbindungen mit einzelnen Ports eines Zielsystems durch ein typisches (wie oben beschriebenes) "Drei-Wege-Handshake" hergestellt. Es handelt sich hierbei um eine sowohl einfache, als auch schnelle Methode eines Portscans. Derartige Verbindungsversuche können, abhängig vom Zustand des jeweiligen Ports, auf zwei verschiedene Arten ablaufen, vorausgesetzt sie werden nicht durch eine Firewall blockiert. In Tabelle 2 sind die jeweils für einen offenen bzw. einen geschlossenen Port übertragenen Pakete bei einem offenen Portscan aufgelistet. Übertragung bei einem offenen Port Client --> Server : SYN Server --> Client : SYN / ACK Client --> Server : ACK Übertragung bei einem geschlossenen Port Client --> Server : SYN Server --> Client : RST / ACK Client --> Server : RST Tabelle 2: Ablauf des „Drei-Wege-Handshakes" für offene bzw. geschlossenen Ports. Der Client kann also an der entsprechenden Antwort den Zustand des Zielports erkennen und mit dem Scannen des nächsten Ports fortfahren. Da normalerweise jeder Verbindungsaufbau protokolliert wird, ist dieser Portscan leicht erkennbar und einfach abzuwehren. Bei dieser Methode ist es nicht möglich, seine eigene IP-Adresse zu fälschen (Spoofing), da die Antwort den Absender (Client) erreichen muss. Also besteht, aus Sicht des Angreifers, ein weiterer „Nachteil“ aufgrund seiner relativ einfachen Überführung, da er durch seine protokollierte IP-Adresse identifiziert werden kann. Beim "Spoofing" kann ein Hacker eine falsche Quelladresse seiner Pakete im IP-Header (siehe Netzwerkschicht) angeben, um seine Identität zu fälschen. Allerdings werden Antworten auf derartig 7 Kapitel 3: Hackerangriffe: Methoden und Abwehr veränderte Pakete nicht an ihren eigentlichen Absender, sondern an die im IP-Header eingetragene Adresse gesendet. Bei einem "halb offenem" Portscan wird kein vollständiges "Drei-Wege-Handshake" durchgeführt. Auf diese Weise kann verhindert werden, dass der Portscan vom Zielsystem protokolliert wird. Als Beispiel einer "halb offenen" Scanmethode sei hier der sogenannte „SYN-Scan“ besprochen [Fyo97]. Hierbei wird das SYN/ACK durch ein RST beantwortet, was zum sofortigen Abbruch des Verbindungsaufbaus führt. Die Antwort bei einem geschlossenen Port entfällt vollständig. Hierdurch kann erreicht werden, dass ein solcher unvollständiger Verbindungsversuch nicht protokolliert wird. Daher ist es schwieriger, diesen Portscan zu entdecken. Dadurch, dass diese Methode einen Teil der übertragenen Daten einspart ergibt sich zusätzlich ein Geschwindigkeitsvorteil. Bei dem „stealth“-Portscan wird beispielhaft auf den sogenannten „SYN/ACK“-Scan eingegangen, der verwendet wird, um den Angriff noch besser zu tarnen. Die Ergebnisse dieser Methode sind allerdings weitaus weniger verlässlich. Anstelle des üblichen "DreiWege-Handshakes" wird hier vom scannenden Client nur ein SYN/ACK gesendet. Gelangt dieses Segment an einen geschlossenen Port, beantwortet der Server es durch ein RST, da ohne ein vorangegangenes SYN von einem fehlerhaften Verbindungsversuch ausgegangen wird. Im Falle eines offenen Ports erhält der Client keine Antwort des Servers, da dieser das (informationslose) Segment unbeantwortet verwirft. Problematisch bei dieser Methode ist es, dass alle durch eine Firewall (s. 3.3.1) blockierten Ports als offen interpretiert werden. Aus Sicht eines Netzwerkbetreibers ist es oftmals schwierig zu entscheiden, ab wann es sich bei einer Übertragung um einen Portscan und somit um das Eindringen in das Netzwerk handelt. Da prinzipiell alle Scan-Typen Pakete verwenden, die grundsätzlich auch auf „natürlichem“ Wege entstehen können, muss ein Portscan durch die Anzahl der von einem einzigen Client ausgehenden Pakete (bzw. Verbindungsversuche) identifiziert werden, da man bei einem einzelnen Verbindungsaufbau niemals von einem „Scan“ sprechen kann. Diese Tatsache kann sich ein Angreifer zunutze machen, indem er seinen Portscan über eine größere Zeitspanne verteilt und zum Scannen mehrere unabhängige Clients verwendet (distributed scan) (Vgl. [Kei03, S.141ff]). 8 Kapitel 3: Hackerangriffe: Methoden und Abwehr 3.1.2 Social Engineering Eine ganz andere Form des Einbruchs ist das "Social Engineering". Der Angreifer verwendet hierbei keine technischen Hilfsmittel, um an Informationen zu gelangen, sondern versucht jemanden dazu zu "überreden", ihm Zugang zu gewähren bzw. ungewollt Hilfestellung zu leisten. Zunächst sammelt ein Angreifer möglichst viele Informationen über sein potenzielles Opfer. Hierbei bedient er sich sämtlicher, öffentlich verfügbarer Quellen. Unter einem Vorwand tritt er nun mit seinem Opfer beispielsweise per E-Mail in Kontakt, wobei er eine falsche Identität verwendet. Unerfahrene oder gutgläubige Benutzer lassen sich so beispielsweise dazu bewegen, Trojaner (s. 3.2.4) zu installieren, Details über die Netzwerkstruktur preiszugeben oder sogar dazu, ihr Passwort und ihren Benutzernamen zu übermitteln. Dieses Vorgehen wird an dieser Stelle erwähnt, da es sich bei großen Firmen, mit gut gesicherten Netzwerken und vielen Mitarbeitern, durchaus als erfolgreiche Strategie erweisen kann (Vg. [Kei03, S.60]). 3.1.3 Sniffer Bei einem Sniffer handelt es sich um ein Programm, welches ein Computernetzwerk nach Informationen absucht. Dieser Vorgang ist mit dem Abhören eines Telefons vergleichbar. Die Vorgehensweise beim Sniffing ist stark vom betrachteten Netzwerktyp abhängig. Die im Folgenden beschriebenen Sniffing Techniken beziehen sich auf das Abhören von lokalen Ethernet Netzwerken. Derartige Sniffer sind in der Lage, alle Rohdaten, die über eine Netzwerkschnittstelle geleitet werden, abzuhören und aufzunehmen. Dieser Vorgang geschieht auf der Netzanschlussschicht des Internet-Modells. Daher können alle Regeln der Protokolle auf höheren Ebenen umgangen werden. Das Sniffing-Tool benötigt hierzu den direkten Zugriff auf den Netzwerktreiber des Computers. Derartige Programme werden eingesetzt, um beispielsweise Netzwerkprobleme aufzuspüren, sie können aber auch für die Zwecke eines Angreifers missbraucht werden. Bekannte Sniffing-Softwarepakete sind beispielsweise Etherreal, Ettercap, Sniffer Pro, TCPDump und dsniff. Die Vorgehensweise hängt hierbei von der Struktur des Netzwerkes ab. Bei sogenannten Broadcast-Medien, sind die einzelnen Netzwerkteilnehmer über ein gemeinsames Übertragungsmedium verbunden. Dies ist z.B. beim klassischen Ethernet oder bei WLAN Netzwerken der Fall. Bei diesem Netzwerktyp werden alle Rechner an einen Ethernet-Hub angeschlossen. Die versendeten Daten erreichen jede Netzwerkschnittstelle des lokalen Netzes und müssen hardwareseitig gefiltert werden. Um 9 Kapitel 3: Hackerangriffe: Methoden und Abwehr Netzwerke dieses Typs zu "sniffen" genügt es, dass der Sniffer die Netzwerkkarte in den sogenannten "promiscuous mode" versetzt, bei dem alle Daten ungefiltert empfangen werden können. Heutzutage werden in lokalen Netzwerken Ethernet–Switches verwendet (im Folgenden einfach als Switch bezeichnet), um die einzelnen Rechner zu verbinden. Diese filtern den Netzwerkverkehr zentral und erreichen auf diese Weise, dass die Netzwerkteilnehmer nur die für sie bestimmten Daten empfangen. Diese Funktionsweise stellt allerdings weniger einen Sicherheitsmechanismus dar, sondern dient der Verbesserung der Effizienz. Um die Daten gezielt weiterleiten zu können, muss ein Switch speichern, welchem seiner Ports welche MAC- Adresse zugeordnet ist. Um derartige Netzwerke abzuhören, ist es notwendig, in die Kommunikation mit dem Switch aktiv einzugreifen, um den Datenstrom umzuleiten. Hierzu können verschiedene Techniken wie beispielsweise das sogenannte MAC-flooding, das ARP- bzw. das DNS-spoofing eingesetzt werden, auf die hier allerdings nicht näher eingegangen wird (Vgl. [Ryn02, S.363ff]). Durch diese Verfahren gelangt der Sniffer an alle Daten, die in dem gesamten lokalen Netzwerk übertragen werden. Dies führt unweigerlich zu einer unüberschaubaren Datenflut. Daher besteht eine weitere wichtige Aufgabe der Sniffing-Techniken darin, diese zu analysieren und zu filtern. In einem ersten Schritt werden oft alle Daten in einer Datei gespeichert, welche anschließend ausgewertet und gezielt nach bestimmten Verbindungstypen durchsucht wird. Bei dieser Auswertung verwendet der Angreifer spezielle Tools, mit denen er die für ihn relevanten Informationen herausfiltern kann. Beispielsweise können Authentifizierungsinformationen wie Benutzernamen und Passwörter durch ein Programm wie „BUTT-Sniffer“ oder „Dsniff“ in Übertragungen aufgespürt und dann isoliert angezeigt werden. Die Fähigkeit dieser speziellen Tools besteht darin, dass sie bestimmte Protokolle beherrschen und diese so gezielt decodieren und nach Schlüsselinformationen durchsuchen können. Weitere Ziele eines Angreifers sind typischerweise Email- , Web- oder Dateiübertragungen, also z.B. das SMTP-, HTTP- oder FTP- Protokoll, um nur einige bekannte zu nennen. Die Möglichkeiten des Abhörens nehmen durch die zunehmende Verschlüsselung öffentlicher Internet-Dienste stark ab. Es gibt jedoch Sniffer, die in der Lage sind, einige dieser Verschlüsselungstechniken zu umgehen. Die grundlegende Technik wird als Manin-the-Middle (MITM) Angriff bezeichnet, mit der SSH- (in der Version 1) und SSLVerbindungen überwacht werden können. Dieses gelingt, indem der Angreifer einen 10 Kapitel 3: Hackerangriffe: Methoden und Abwehr Server einrichtet, welcher die Anforderung eines Clients, der eine gesicherte Verbindung aufbauen möchte, beantwortet. Ein Benutzer, der diesen Computer kontaktiert, wird fälschlicherweise glauben, er hätte die gewünschte verschlüsselte Verbindung aufgenommen. Gleichzeitig verbindet sich der Angreifer mit dem "echten" Server und gibt sich dort als Benutzer aus. Somit fungiert der Angreifer in beiden Rollen, er entschlüsselt die eingehenden Daten des Benutzers, um diese wiederum neu verschlüsselt an ihr eigentliches Ziel weiterzuleiten. 3.2 Viren, Würmer, Trojaner und Hoaxes Dieser Abschnitt befasst sich mit der Form eines „autonomen Angriffs“. Die Bedrohung geht hier von Programmen aus, welche autonom, d.h. ohne explizite Kontrolle durch einen Angreifer agieren und sich nicht gezielt gegen ein bestimmtes System richten. In diesem Zusammenhang spricht man von feindseligem Code oder gelegentlich von „Malware“. Zunächst geht es hier darum, eine Abgrenzung der verschiedenen Formen von feindseligem Code vorzunehmen. Man unterscheidet Viren, Würmer und Trojanische Pferde. Aufgrund neuerer Entwicklungen werden inzwischen auch sogenannte Hoaxes (s. 3.2.5) und Kettenbriefe von Anti-Virenprogrammen bekämpft. Diese Unterscheidung wird nicht anhand des tatsächlich angerichteten Schadens vorgenommen, sondern richtet sich nach der Art der Verbreitung und der Taktik, die zur Tarnung benutzt wird. 3.2.1 Viren und Würmer : Definition und Abgrenzung Eine Abgrenzung zwischen Viren und Würmern findet sich in der RFC 1135 [RFC]. Dort wird ein Virus wie folgt definiert: „Ein Virus ist ein Codeabschnitt, der sich in einen Host, einschließlich dessen Betriebssystem, einschleust, um sich zu verbreiten. Er kann nicht unabhängig existieren. Es ist notwendig, dass sein Wirtsprogramm gestartet wird, um ihn zu aktivieren.“ Ein Virus breitet sich demnach innerhalb eines infizierten Systems lokal aus, indem er eine Vielzahl von Kopien von sich selbst speichert. Er kann nur übertragen werden, indem sein Wirtsprogramm auf „legalem Weg“ auf das System gelangt und dort ausgeführt wird. Dieses kann via Diskette aber auch als Emailanhang geschehen. 11 Kapitel 3: Hackerangriffe: Methoden und Abwehr Würmer hingegen breiten sich zwischen Systemen (beispielsweise über ein Netzwerk) aus und verstecken sich typischerweise in eigenständigen, meist unauffälligen Dateien. In RFC 1135 [RFC] werden Würmer folgendermaßen definiert: „Ein Wurm ist ein Programm, das unabhängig ausgeführt werden kann und die Ressourcen des Wirtssystems von innen verzehrt, um sich zu erhalten. Der Wurm kann dann neue funktionsfähige Kopien von sich selbst auf anderen Wirtssystemen verbreiten.“ Zur Verbreitung nutzen Würmer bekannte Schwachstellen der Sicherheitsarchitektur von Betriebssystemen und Protokollen aus oder Programmier- und Administrationsfehler, durch die sie Zugang zu einem System erlangen können. Sie wenden zur Verbreitung verschiedene Hacker-Methoden an, um automatisch in Systeme einzudringen, von denen sie wiederum weitere Systeme angreifen. 3.2.2 Prinzipieller Aufbau von Viren und Würmern Der Aufbau von schädlichen Programmen lässt sich in verschiedene allgemeine Abschnitte aufteilen. Viren bzw. Würmer können in bis zu fünf funktionale Bereiche unterteilt werden. Es werden aber mindestens die zwei Hauptbestandteile, der Verbreitungsmechanismus und der Payload (hier Schadensteil), unterschieden [Bsi97]. Alle Viren und Würmer verfügen über einen Verbreitungsmechanismus, mit dem ihre Ausbreitung sichergestellt wird. Aufgrund des Verbreitungsmechanismus unterscheiden sich Viren von Würmern. Viren verbreiten sich nur lokal auf einem System. Würmer verbreiten sich dagegen aktiv über ein Netzwerk. Es ist hiefür prinzipiell keine menschliche Aktion (Übertragung des Wirtsprogramms) notwendig. Der Aufbau eines Wurms ist analog zu dem eines Virus. Der Erkennungsteil ist ein spezieller Abschnitt, welcher eine Funktion enthält, mit der geprüft werden kann, ob eine Verbreitung des Virus oder Wurms auf ein bestimmtes neues Ziel, beispielsweise eine Datei oder ein Rechner, bereits stattgefunden hat. Das wiederholte Infizieren einzelner Bereiche würde den Virus ineffizient machen und somit seine Ausbreitung gefährden. Über einen Bedingungsteil ist es möglich, sowohl die Verbreitung als auch die Schadensfunktionen an eine bestimmte, in diesem Abschnitt definierte Bedingung zu knüpfen. Auslöser können etwa ein bestimmtes Datum oder eine definierte Anzahl von 12 Kapitel 3: Hackerangriffe: Methoden und Abwehr Aufrufen sein. Ohne eine solche Bedingung ist es wahrscheinlicher, dass der Virus bzw. Wurm entdeckt wird, bevor er einen hinreichenden Verbreitungsgrad erreicht hat. Der Schadensteil enthält die eigentliche Nutzlast (Payload) des Virus. Hier befindet sich der Code, der den eigentlichen Schaden anrichtet, welcher über die reine Existenz des Virus und dessen Ressourcenverbrauch hinausgeht. Beispielsweise ist es möglich, Dateien zu löschen oder sogar Hardware zu zerstören. Durch Programmierfehler oder Änderungen am Betriebssystem kann zusätzlicher Schaden als Nebeneffekt entstehen. Die Kombination aus dem Bedingungsteil und dem Payload wird oft auch als "logische Bombe" bezeichnet. Darüber hinaus werden sämtliche Techniken, die ein Virus/Wurm verwendet, um nicht entdeckt zu werden, unter dem Tarnungsteil zusammengefasst. Es gibt z.B. sogenannte „stealth“-Viren, die durch Eingriffe in das Betriebssystem versuchen, unentdeckt zu bleiben. Diese können durch das Anzeigen falscher Dateigrößen oder das Sperren des Zugriffs auf bestimmte Bereiche der Festplatte ihre Entdeckung verhindern. 3.2.3 Spezielle Virenformen und deren typische Charakteristik Anhand des Verbreitungsmechanismus der Viren können die verschiedenen Unterarten klassifiziert werden. Der File–Virus, auch parasitischer- oder Link-Virus genannt, lagert sich an Programmdateien, sogenannte Wirtsprogramme, an und fügt sich an deren Anfang in die Befehlskette ein. Beim Aufrufen dieses Programms wird nun zuerst der Virus- und im Anschluss der eigentliche Programm-Code ausgeführt, wodurch der Virus eine längere Zeit unbemerkt bleiben kann. Es gibt auch primitive File-Viren, die sich entweder fehlerhaft in ein Programm einschleusen oder dieses komplett überschreiben. Eine besondere Form der File-Viren sind die polymorphen Viren. Diese Viren mutieren, d.h. sie sind in der Lage, ihren Programmcode selbstständig zu verändern. Dieser Tarnungsmechanismus wird auch als Polymorphismus (Vgl. [Ryn02], [Pla03]) bezeichnet. Im Gegensatz zum biologischen Vorbild bleibt beim Mutieren des Virus seine Funktionsweise immer identisch. Eine relativ neue Virenform sind die Makroviren. Sie benötigen für ihre Existenz eine spezifische Software, welche in der Lage ist einen speziellen Programmcode (sogenannte Makros) auszuführen. Dieser Programmcode kann zusammen mit anderen Informationen 13 Kapitel 3: Hackerangriffe: Methoden und Abwehr in programmeigenen Dateien abgespeichert werden, die wiederum nicht eigenständig ausführbar sind. Da Anwendungen wie beispielsweise Textverarbeitungen zunehmend komplexer werden und die Einbindung von nahezu beliebigen Programmcode zulassen, nimmt sowohl die Bedrohung durch Makroviren als auch deren Verbreitung zu. Ein beliebtes Beispiel hierfür ist VBA (Visual Basic for Applications), das im gesamten Microsoft Office-Paket implementiert ist und umfangreiche Befehle zulässt. Aus befallenen Office-Dateien (*.DOC, *.XLS,...) heraus können die Makroviren nicht nur diese selbst, sondern oftmals auch systemübergreifend Dateien ändern oder löschen. Da inzwischen viele Bestrebungen existieren, dass Office-Dokumente zu möglichst vielen Office-Versionen auf verschiedenen Betriebssystemen kompatibel sind, ist die Verbreitung von Makroviren prinzipiell sogar unabhängig vom Betriebssystem. 3.2.4 Trojanisches Pferd (Trojaner) Bei einem Trojanischen Pferd, auch einfach Trojaner genannt, handelt es sich um ein umfassendes Programm, welches sich als harmlos bzw. nützlich ausgibt, um dann versteckt vor dem Benutzer verborgene Aktivitäten durchzuführen. Der Name deutet auf die Analogie zum Trojanischen Pferd hin, das bei der Schlacht um Troja in die Stadt eingeschleust wurde, um dem griechischen Heer Einlass zu verschaffen. Am deutlichsten wird diese Ähnlichkeit bei den sogenannten „Backdoor“-Trojanern, die einem Angreifer Zugang bis hin zur totalen Kontrolle eines Systems ermöglichen. Im Gegensatz zu Viren und Würmern verbreiten sich Trojaner nicht selbstständig. Sie werden entweder gezielt an einen Benutzer gesandt oder zufällig entdeckt und dann von diesem ausgeführt. Um dieses zu erreichen und nicht entlarvt zu werden, wird dem Benutzer eine "harmlose" Funktionsweise des Programms vorgetäuscht. Der allgemeine Aufbau eines Trojanischen Pferdes lässt sich in zwei Bereiche, den Tarnungsteil und den Payload, unterteilen (Vgl. 3.2.2). Opfer eines Trojaners haben sich diesen also entweder aufgrund seiner vorgetäuschten Funktionsweise aktiv beschafft oder ihnen wurde dieser im Zuge eines aktiven Angriffs bewusst zugespielt. Darüber hinaus gibt es auch hybride Formen, bei denen ein Trojaner mit einem Wurm „kombiniert“ wird, so dass auch beispielsweise eine automatische Verbreitung über Emails möglich wird. 14 Kapitel 3: Hackerangriffe: Methoden und Abwehr 3.2.5 Hoaxes Eine andere Bedrohung stellen Hoaxes dar. Es handelt sich hierbei um falsche Virusmeldungen, die als E-Mail versendet werden. In diesen E-Mails wird meistens vor einem neuen Virus gewarnt, der nicht durch eine Anti-Virensoftware bekämpft werden kann. Außerdem wird der Empfänger dazu aufgefordert, diese E-Mail an möglichst viele Personen weiterzuleiten. Teilweise wird sogar zu bestimmten, meist schädlichen Aktionen aufgefordert. Ein weniger erfahrener Benutzer kann so dazu gebracht werden, wichtige Systemdateien umzubenennen oder zu löschen. Zusätzlicher Schaden entsteht durch verlorene Arbeitszeit und die Überlastung der E-Mail-Systeme. Typische Elemente eines Hoax ist die Aufforderung, diese E-Mail an möglichst viele Personen weiterzuleiten, der Hinweis auf eine völlig neue Form eines Virus oder Wurms, die Vorgabe einer seriösen Informationsquelle und das Fehlen der E-Mail-Adresse des Absenders. 3.3 Wie kann man sich technisch vor Eingriffen in Firmennetzwerke/WLANs schützen? Besteht in einem Netzwerk ein Übergang zu anderen (externen) Netzwerken, ergibt sich zwangsläufig das Problem, dass prinzipiell alle Rechner und Dienste von außen erreichbar sind. Es werden im Folgenden einige Methoden beschrieben, mit denen die potenziellen Risiken eines unerlaubten Eingriffes von außen verringert werden können. Aufgrund ihrer physikalischen Struktur stellen Wireless Lan Netzwerke (WLAN) einen Sonderfall dar und werden hier gesondert behandelt. Mit Ausnahme der WLANs schützt man Netzwerke an zentralen Zugangspunkten. Dadurch wird die Administration, Konfiguration und Planung der Netzwerksicherheit erleichtert. 3.3.1 Firewalls Besonders wichtig im Zusammenhang mit der Netzwerksicherheit ist eine sogenannte Firewall. Darunter wird allgemein ein System verstanden, welches den Datenverkehr zwischen zwei Netzwerken kontrolliert. Üblicherweise befindet sich dieses am Übergang zwischen dem lokalen und dem externen Netzwerk und wird teilweise durch eine Personal Firewall an den einzelnen Hosts ergänzt. Man unterscheidet zwei grundlegende Typen von Firewalls, Paketfilter und Proxy-Firewalls, da diese sich auf unterschiedliche Schichten des OSI- / Internet-Modells beziehen (Vgl. [Heg02, S.66ff]). 15 Kapitel 3: Hackerangriffe: Methoden und Abwehr Paketfilter sind auf der Ebene der Transport- und Internetschicht angesiedelt und überwachen den Datenverkehr unabhängig von den kommunizierenden Anwendungen. Ihre Funktionsweise besteht darin, bestimmte Eigenschaften der Pakete auszuwerten und diese dann entweder zuzulassen oder abzuweisen. Die abgewiesenen Pakete werden üblicherweise protokolliert. Bezüglich der Informationsgewinnung aus den Paketen lassen sich zwei Arten unterscheiden, die statische und die dynamische Paketfilterung. Nur letztere, auch „Statefull Inspection“ genannt, ist zustandsabhängig und berücksichtigt zusätzlich vorangegangene Pakete. Sie stellt gegenüber der statischen Paketfilterung einen weiteren Sicherheitsgewinn dar. So lässt sich beispielsweise zu einer ausgehenden Verbindung bei Bedarf die entsprechende Gegenrichtung (Pakete aus dem unsicheren Netzwerk) für die Dauer der Kommunikation freischalten. Die Auswertung geschieht bei beiden Typen anhand von vorher definierten Regeln. Als sinnvoll hat sich hierbei das Erstellen einer Positivliste erwiesen, bei der alle Pakete, die nicht mindestens einer Regel dieser Liste entsprechen, blockiert werden. Zur Filterung können jeweils die folgenden Informationen verwendet werden: • IP-Adressen Filterregeln können Quell- und Zieladressen der Pakete berücksichtigen. So können Pakete, die von bestimmten Adressen ausgehen, gesperrt werden. Dies ermöglicht die Abwehr eines Spoofing Angriffs, bei dem die Quelladresse eines externen Paketes als interne abgeändert wird. Dieses ist möglich, da sich die Firewall an der Schnittstelle der Netzwerke befindet und ihr immer bekannt ist, welchem Netzwerk ein Paket wirklich entstammt. Durch Einschränkungen der erlaubten Zieladressen können beispielsweise bestimmte Rechner des internen Netzwerkes vor dem externen Zugriff geschützt werden. • Flags (Kontrollbits) Die Berücksichtigung der Richtung eines Verbindungsaufbaus wird durch die Auswertung der Kontrollbits des TCP- Headers möglich. Hier können auch fehlerhafte Versuche eines Verbindungsaufbaus blockiert werden (vgl. Portscan). • Ports der Transportschicht Eine Überwachung der Quell- und Zielports ermöglicht einen zusätzlichen Schutz einzelner Dienste, die jeweils mit einem speziellen Port verknüpft sind. • Protokolltyp (z.B. TCP, UDP, ICMP) 16 Kapitel 3: Hackerangriffe: Methoden und Abwehr Eine häufige Konfiguration ist hier beispielsweise das Blockieren jeglicher ICMP und UDP Pakete (mit Ausnahme von DNS Anfragen). So wird das Netzwerk z.B. gegen „Ping-sweeps“ (s. 3.1) gesichert. • Anwendungsdaten Paketfilter können programmiert werden, die Daten außerhalb des Headers der Transportschicht zu untersuchen. Da aber keine protokollspezifische Interpretation der Daten (siehe Application Gateway) stattfindet, scheitert diese Analyse beispielsweise bei fragmentierten Paketen oder verschlüsselten Übertragungen. Paketfilter haben den Vorteil, dass sie in Echtzeit sehr große Datenmengen verarbeiten können. Da die Anwendungsschicht allerdings unberücksichtigt bleibt, bieten diese auch keinen optimalen Schutz. Beispielsweise kann durch einen Paketfilter nicht überprüft werden, ob die an einem Port übertragenen Daten tatsächlich zu dem Dienst gehören, für den dieser Port reserviert ist. Es können also über den Port 80, der üblicherweise für das HTTP–Protokoll reserviert ist, unbemerkt auch beliebige andere Daten übertragen werden. Im Gegensatz zu den Paketfiltern werden bei Proxy-Firewalls die Verbindungen an den Netzwerkübergängen unterbrochen, so dass das sichere und das unsichere Netzwerk physikalisch voneinander getrennt sind. Unter einem Proxy versteht man ein Programm, das die Kommunikation zwischen zwei getrennten Netzwerken vermittelt, welche üblicherweise jeweils mit einer Schnittstelle des Proxy-Hosts verbunden sind. Bei einem Verbindungsaufbau aus dem internen Netzwerk richtet dieser Client eine Anfrage zunächst an den entsprechenden Proxy. Dieser baut dann seinerseits eine Verbindung mit dem eigentlichen Ziel auf, vorausgesetzt dass dieses nicht durch eine entsprechend definierte Sicherheitsrichtlinie gesperrt ist. Aus Sicht des Zielhosts (im unsicheren Netzwerk) erscheint der Proxy mit seiner IP-Adresse als Kommunikationspartner und nicht der interne Client. In umgekehrter Richtung wird analog Verfahren und eine Verbindung zunächst mit dem Proxy aufgebaut. Dadurch bleibt die Struktur des sicheren gegenüber dem unsicheren Netzwerk verborgen und der Datenverkehr kann zentral überwacht werden. Ein Nachteil dieser Firewall-Konfiguration ist, dass es keine Möglichkeit einer direkten Verbindung zwischen Rechnern des internen Netzwerkes und denen des externen Netzwerkes gibt, woraus sich gegebenenfalls Einschränkungen für die Benutzer ergeben. Allgemein werden Proxy Gateways wiederum abhängig von ihrer Zuordnung im OSI- / Internet- Modell in Circuit Level Gateways und Application Level Gateways unterteilt. 17 Kapitel 3: Hackerangriffe: Methoden und Abwehr Ein Application Level Gateway ist auf der Anwendungsschicht des OSI-/Internet- Modells angesiedelt und erlaubt eine Kontrolle des Inhaltes von Paketen. Es handelt sich hierbei um den sichersten und aufwendigsten Firewalltyp. Bei einer Firewall auf dem Application Level sind für jedes zur Verfügung gestellte Protokoll entsprechende Proxyprozesse auf dem Firewall Host installiert. Die Kommunikation ist protokollabhängig an diese gerichtet und kann so vermittelt werden. Es werden häufig zusätzliche Benutzerauthentifizierungen eingebaut, wodurch zum Einen die Protokollierung der Kommunikation und zum Anderen die Erstellung von Richtlinien, den Benutzer einbezieht. Dadurch wird es möglich, zulässige Verbindungen anwendungs-, zeit-, benutzer- und rechnerbezogen zu definieren. Zur Vermittlung der Kommunikation verhält sich ein Application Gateway wie das entsprechende Originalprogramm eines verwendeten Protokolls (Abb.4). Durch die inhaltliche Interpretation der übermittelten Daten ist es auch möglich, einzelne Befehle in den Anwendungen zu unterbinden bzw. diese nach Schlüsselwörtern zu durchsuchen. Bei einem HTTP-Proxy kann beispielsweise zwischen "normalem" Hypertext und JavaScript unterschieden werden. Kommunikationsversuche von schädlichen Programmen, wie beispielsweise Trojanern (s. 3.2.4), können hier ebenfalls aufgedeckt und somit unterbunden werden. Auf diese Weise ist es möglich, einen gezielten Angriff auf bekannte Schwachstellen einzelner Dienste bzw. Server abzuwehren. Abb. 4: Kommunikation über ein Application Level Gateway [Heg02, S.200] Ein Circuit Level Gateway (auch als TCP-/UDP-Relay bezeichnet) ist auf der Transportschicht angesiedelt und stellt eine Alternative zur Paketfilterung dar. Dieses Proxy Firewall Konzept ist auch dann einsetzbar, wenn kein Proxy für das entsprechende Protokoll existiert. Prinzipiell besteht der Unterschied zur Paketfilterung in der Unterbrechung der Verbindung an dem Proxy – Host. (Vgl. [Heg02, S.224]) 3.3.2 Intrusion Detection Systeme (IDS) Eine Firewall ist eine wirksame Technik, um sich gegen bekannte Angriffe aus einem unsicheren Netzwerk zu schützen, allerdings bietet sie keine Möglichkeit, auf einen 18 Kapitel 3: Hackerangriffe: Methoden und Abwehr unbekannten Angriff zu reagieren oder diesen zu entdecken. Eine zentrale Firewall bietet darüber hinaus keinen Schutz gegen Angriffe aus dem internen Netzwerk. Ein Intrusion Detection System ist ein Sicherheitssystem, mit dem Angriffe auf ein Netzwerk erkannt werden können, indem Unregelmäßigkeiten im Netzwerk aufgespürt werden. Beim Entdecken eines solchen Angriffs kann dieses System automatisch Alarm auslösen, indem der zuständige Administrator benachrichtigt wird. Ein IDS überwacht eine Vielzahl von Vorgängen, um diese gesammelten Daten anschließend zu anlaysieren. So werden unter anderem die Protokolldateien empfindlicher Systeme, der Netzwerkdurchsatz oder die CPU-Auslastung protokolliert. Analog zu den Firewalls, gibt es Host basierte und Netzwerk basierte IDS. (Vgl. [Heg02, S.246]) 3.3.2.1 Host basierte IDS Host basierte IDS sind Systeme, die die relevanten Daten eines lokalen Computers überwachen (Protokolldateien, Netzwerkverkehr und Prozesse). Aufgrund des hiermit verbundenen hohen Aufwandes werden diese Systeme meist nur auf systemkritischen Rechnern installiert. 3.3.2.2 Netzwerk basierte IDS Netzwerk basierte IDS hingegen sammeln die für sie relevanten Daten durch das Abhören (Sniffing) des Netzwerkes. Diese Systeme können beim Eindringen in das Netzwerk in Echtzeit reagieren und somit die empfindlichen Rechner noch vor dem Angriff schützen. Ein wie zuvor beschriebener Portscan kann somit entdeckt werden, bevor der Angreifer relevante Informationen gewonnen hat. Im übrigen ist es nur durch ein Netzwerk basiertes IDS möglich, einen „halb offenen“- bzw. „stealth“- Portscan zu erkennen, da diese nicht als Verbindungsaufbau protokolliert werden. Als problematisch im Zusammenhang mit Netzwerk basierten IDS erweist sich allerdings die Verschlüsselung. Obwohl diese ebenfalls einen Sicherheitsmechanismus darstellt, verhindert sie die Auswertung der abgegriffenen Informationen. 3.3.2.3 Erkennungsmechanismen eines IDS Im Zusammenhang mit einem IDS unterscheidet man zwei grundlegende Methoden, mit denen die gewonnen Daten auf Hinweise eines Angriffs untersucht werden können. Zum Einen die sogenannte Missbrauchserkennung (Misuse-Detection), bei der analog zu einem Virenscanner, die gesammelten Daten nach bekannten Signaturen eines Angriffs 19 Kapitel 4: Zusammenfassung und Ausblick untersucht werden und zum Anderen die Anomalieerkennung (Anomaly-Detection). Hier werden Abweichungen des „normalen“ Netzwerkverhaltens untersucht und gegebenenfalls als möglicher Angriff interpretiert. Der Vorteil dieser Methode besteht darin, dass auch bisher unbekannte Normalzustand Angriffsarten eines Netzwerkes entdeckt nur werden schwer zu können. erfassen, Allerdings was zu ist der häufigen Fehlalarmmeldungen führt. In der Praxis werden normalerweise beide Typen der Erkennung zusammen eingesetzt. 3.3.3 Wireless LAN Im Gegensatz zu verkabelten Netzwerken, bei denen es aufgrund ihrer physischen Struktur für einen Eingriff notwendig ist, sich direkten Zugang zum Kabelnetz zu verschaffen, ist es bei einem WLAN Netzwerk ausreichend, sich innerhalb einer bestimmten Reichweite zu befinden. Daher greift bei diesem Netzwerktyp das Konzept einer zentralen Firewall nicht. Bezüglich der Sicherheit kommt hier der Verschlüsselung eine besondere Bedeutung zu. Wireless LAN Netzwerke (nach IEEE-802.11) verwenden beispielsweise die sogenannte WEP (Wired-Equivalent-Privacy) Verschlüsselung, bei der die per Funk übertragenen Pakete jeweils einzeln durch einen Verschlüsselungsalgorithmus gesichert werden. Ansonsten wäre es möglich, durch einen Sniffer (wie z.B. AiroPeek) den Funkverkehr und damit die gesamte Kommunikation mitzuschneiden. In diesem Zusammenhang kann es auch sinnvoll sein, das Funknetzwerk durch eine zusätzliche Firewall vom EthernetNetzwerk abzugrenzen. Es werden hier auch oft VPN Zugänge verwendet, um eine zusätzliche Verschlüsselung und Authentifizierung zu nutzen. 4 Zusammenfassung und Ausblick In dieser Ausarbeitung wurde ein Überblick über die Funktionsweise der unterschiedlichen Formen von Bedrohungen durch Cracker-/Hackeraktivitäten gegeben. Diese reichen vom aktiven Angriff, durch einen Cracker, bis zu einer autonomen Bedrohung durch Viren, Würmer bzw. Trojaner. Zusätzlich wurden die grundsätzlichen Techniken zur Abwehr gegen diese Bedrohung vorgestellt. Hierdurch ist die Vorraussetzung für eine juristische Bewertung dieser und analoger Techniken geschaffen. Aufgrund der Tatsache, dass sich mit jeder neuen Technologie auch neue Sicherheitslücken ergeben, die von Crackern ausgenutzt werden können, wird dieses Thema mit großer Wahrscheinlichkeit nicht in absehbarer Zeit an Brisanz verlieren. 20 Literaturverzeichnis Literaturverzeichnis [Shi02] Robert J. Shimonski, et al “Sniffer Pro Network Optimization and Troubleshooting Handbook” [RFC] http://www.faqs.org/rfcs/ [Syn01] Synnergy Networks, “Examining port scan methods” www.in-f-or.it/informatica/docs/portscan.pdf [Ryn02] Ryan Russel et al., „Die Hacker Bibel“, 2002 [Kei03] Keith J., Mike Shema, Bradley C. Johnson,“Das Anti-Hacker-Toolkit”,2003 [Sca01] Joel Scambray, Stuart McClure,„Das Anti-Hacker Buch für Windows“,2001 [Fyo97] The Art of Port Scanning by Fyodor, http://www.insecure.org/nmap/nmap_doc.html [Pla03] Jürgen Plate, Jörg Holzmann, „Sicherheit in Netzen“, 2003 http://www.netzmafia.de/skripten/sicherheit/index.html, FH München, [Heg02] H.-G- Hegering, H. Reiser, B. Oberhaitzinger, H. Gerloni, „Praktikum IT-Sicherheit“, Ludwig-Maximilians-Universität München, http://www.nm.informatik.uni-muenchen.de/Praktika/ws0203/secp/ Unterlagen/main_secp_student.pdf [Bsi97] Bundesamt für Sicherheit in der Informationstechnik (BSI), http://www.huberlin.de/bsi/viren/inhalt/inhalt.htm 21
© Copyright 2024 ExpyDoc