r u h r -u niver s it ä t b o ch u m Lehrstuhl für Datenverarbeitung Prof. Dr.-Ing. Dr.E.h. Wolfgang Weber Sicherheit im Internet Systemsicherheit - Angriffspunkte eines Rechners Seminar Datenverarbeitung SS 2000 Referent: cand.-Ing. Tobias Winkelmann Betreuer: Dipl.-Ing. Thomas Droste S EM INA R D A T EN VERA RB EIT U N G S S 20 0 0 URL: http://www.etdv.ruhr-uni-bochum.de Inhalt Inhalt 1 2 3 4 5 6 7 Grundlagen .............................................................................................................. 2 1.1 Systemsicherheit und Sicherheitsstrategie ...................................................... 2 1.2 Grundwerte der Systemsicherheit ................................................................... 3 1.3 Motive für Angriffe......................................................................................... 3 1.4 Mögliche Angriffsszenarien............................................................................ 4 1.5 Angriffsarten ................................................................................................... 7 Viren........................................................................................................................ 9 2.1 Bootsektorviren ............................................................................................... 9 2.2 Dateiviren ........................................................................................................ 9 2.3 Makroviren .................................................................................................... 10 2.4 Trojaner ......................................................................................................... 11 2.5 Würmer.......................................................................................................... 11 2.6 Polymorphe Viren ......................................................................................... 12 2.7 Hoaxes........................................................................................................... 12 Angriffe über das Netzwerk .................................................................................. 13 Angriffe über den TCP/IP-Protokollstack............................................................. 15 4.1 TCP/IP-Protokolle im ISO/OSI-Referenzmodell.......................................... 15 4.2 Angriffsmöglichkeiten über TCP/IP ............................................................. 16 Schutzmaßnahmen gegen Angriffe über das Netzwerk........................................ 22 5.1 Paketfilter ...................................................................................................... 22 5.2 Applikationsfilter .......................................................................................... 23 5.3 Intrusion Detection System ........................................................................... 23 Ausblick ................................................................................................................ 24 Literatur................................................................................................................. 25 1 Kapitel 1 Grundlagen 1 Grundlagen In den letzten Jahren und Jahrzehnten haben Computer- und IT-Systeme in allen Bereichen Einzug erhalten. Diese Entwicklung begann mit alleinstehenden Rechnern, ging dann u.a. über Mainframe-Systeme und LANs1 hin zu einer offenen und liberalen Struktur, der Vernetzung fast aller Rechner über ein Netzwerk, dem Internet. Zudem hat das Konzept der graphischen Benutzungsoberflächen Computersysteme zu einem Massenphänomen werden lassen. Diese rasante Evolution der Computertechnik führte mit der Zeit zunehmend zu Problemen u.a. bezüglich der Sicherheit. Dabei ergeben sich aufgrund der steigenden Komplexität der Systeme sowohl Probleme in der Systemarchitektur als auch im Bereich Implementierung und vor allem auch der Anwender bzw. der Benutzer. 1.1 Systemsicherheit und Sicherheitsstrategie Da kein greifbares Maß für die Sicherheit von IT-Systemen existiert, wird Systemsicherheit anhand der Realisierung einer zuvor erstellten Sicherheitsstrategie (engl. security policy) definiert. In dieser Sicherheitsstrategie werden unter anderem zu folgenden Fragen unternehmensspezifische Antworten gegeben: • Was ist zu schützen? • Wer soll es schützen? • Wogegen ist es zu schützen? • Wie ist es zu schützen? • Was ist im Notfall zu unternehmen? Ein System ist nach der Definition als sicher zu bezeichnen, wenn die Sicherheitsstrategie erfüllt wird. Nachteil dieser Definition ist, dass nur eine relative Sicherheit erreicht wird, da bei Einhaltung der Sicherheitsstrategie ein Schutz nur gegen die zuvor bestimmten Bedrohungen und nicht gegen alle Bedrohungen besteht. Sämtliche Bedrohungen können sowohl unbeabsichtigt, beispielsweise durch Höhere Gewalt oder Unwissenheit, als auch beabsichtigt, also geplante Angriffe, sein. Da niemals alle möglichen Bedrohungen bekannt sind und stets neue entwickelt bzw. aufgedeckt werden, ist somit die Erlangung einer absoluten Sicherheit nicht zu erreichen. 1 LAN – Local Area Network 2 Kapitel 1 Grundlagen 1.2 Grundwerte der Systemsicherheit Im Bereich der Systemsicherheit existieren Bedrohungen unterschiedlicher Art. Um Systemsicherheit herzustellen, ist im Allgemeinen der Schutz der vier Grundwerte der Systemsicherheit stets zu gewährleisten. Diese Grundwerte lauten: • Authentizität (engl. authenticity) Mit Authentizität wird die Echtheit und Glaubwürdigkeit von Daten bezeichnet. Sind Daten/Systeme authentisch, so ist gewährleistet, dass diese Daten/Systeme genau von dem Absender/Hersteller stammen, der vorgegeben wird. Es ist also nicht möglich, dass sich eine Person/Maschine als eine andere als die Richtige ausgibt. • Vertraulichkeit (engl. confidence) Mit Vertraulichkeit wird der Schutz von Daten gegenüber Kenntnisnahme unbefugter Dritter bezeichnet. Es ist also nicht möglich, dass unbefugte Personen vertrauliche Daten erlangen können. • Integrität (engl. integrity) Mit Integrität wird die Unversehrtheit, Unverfälschbarkeit und Korrektheit von Daten/Systemen bezeichnet. Sind Daten/Systeme integer, so sind diese Daten/ Systeme weder durch unbefugte Dritte manipuliert noch erstellt worden. • Verfügbarkeit (engl. availability) Mit Verfügbarkeit wird die Zuverlässigkeit, Erreichbarkeit und Wartbarkeit bezeichnet. Sind Systeme verfügbar, so arbeiten diese zuverlässig (d.h. z.B. ohne Systemabstürze), sind durch andere Personen/Maschinen erreichbar (z.B. ein Mailserver) und sind (z.B. mittels Remote-Control-Systemen) wartbar. Anwendungsbedingt muss nicht in allen Systemen die Erhaltung dieser Grundwerte gewährleistet werden. Beispielsweise benötigt ein System, dass nur öffentliche und für jeden zugängliche Daten übermittelt, nicht zwangsläufig auch vertrauliche Verbindungskanäle. Folglich müssen für jeden Anwendungsfall explizit die nötigen Sicherheitsmechanismen erarbeitet werden. 1.3 Motive für Angriffe Die Palette der Motive für Angriffe auf fremde IT-Systeme ist, wie die der Arten von Bedrohungen, riesig. Angefangen mit kleinen „Kavaliersdelikten“ bis hin zu gefährlicher Wirtschafts- und Militärspionage erstreckt sich diese Palette: 3 Kapitel 1 Grundlagen • Neugier Viele Angreifer versuchen, durch bloße Neugier getrieben, Systeme zu penetrieren2. • Vorteilsverschaffung Durch die zunehmende Verflechtung von IT-Welt und realer Welt, ist es z.B. für Konkurrenten immer attraktiver geworden in Systeme des „Gegners“ einzudringen, diese abzuhören, zu manipulieren oder gar zu zerstören, und sich dadurch Vorteile zu verschaffen. Somit sind für den Angreifer als Vorteile z.B. Leistungserschleichung, Wirtschafts- und Militärspionage zu erreichen. • Störung der Verfügbarkeit Es kann durchaus im Interesse einzelner Personen sein, die Verfügbarkeit von Systemen zu stören. Diese Störung könnte der Angreifer dann zum Anlass nehmen weitere Angriffe zu tätigen. Beispielsweise stört ein Angreifer zunächst das Zugangssystem zu einem Gebäude und verschafft sich dann unautorisiert Zutritt um weitere Attacken zu starten. • Aufdecken von Sicherheitslücken Das Aufdecken von Sicherheitslücken kann wiederum auf verschiedenen Motiven basieren. Zum einen suchen sog. Tiger-Teams – zumeist für den Produkthersteller – nach Sicherheitslücken, um ein Produkt zu verbessern. Zum anderen versuchen sogenannte Hacker Sicherheitslöcher aufzudecken, um z.B. später Vorteile daraus zu ziehen oder um diese zu veröffentlichen und damit z.B. gezielt den Ruf eines Produktes oder sogar Herstellers zu schädigen. • Frustrierte Mitarbeiter Statistiken über Angriffe auf Computersysteme besagen, dass die meisten Attacken von eigenen Mitarbeitern zumindest unbeabsichtigt gefördert, wenn nicht gar absichtlich initiiert werden. So kann sich z.B. ein Mitarbeiter als interner Spion betätigen und wichtige Informationen an unautorisierte Dritte übergeben. 1.4 Mögliche Angriffsszenarien In den folgenden Abschnitten werden vier Szenarien für mögliche Angriffe beschriebenen. 1.4.1 Abhören Der Angreifer hat prinzipiell zwei Möglichkeiten einen Datenverkehr abzuhören. 2 penetrieren – in ein System eindringen, Sicherheitsmechanismen durchstossen 4 Kapitel 1 Grundlagen Bei der ersten Möglichkeit werden die Daten, die frei zugänglich sind, abgefangen und ggf. aufgezeichnet bzw. analysiert. Aufzeichnungen können z.B. durch empfangen der Bildschirmabstrahlung oder der Abstrahlung von Kabeln erstellt werden. Weiterhin ist es in Computer-Netzwerken möglich sämtliche – auch die nicht für den Angreifer bestimmten Datenpakete – zu empfangen und zusammenzusetzen. Dieser Vorgang heißt Sniffing, das unbefugte Abhören in Computernetzwerken. Im zweiten Fall wird das System zunächst manipuliert und erst dann kann abgehört werden. Eine Manipulation kann u.a. mittels (Abhör-)Wanzen oder sogenannter Trojanischen Pferde3 realisiert werden. Diese ungewünschten Funktionseinheiten senden vom Opfer unbemerkt Daten an den Angreifer. S E A Abbildung 1-1: Abhören eines Datenverkehrs Abbildung 1-1 zeigt, dass beim Abhören die Funktionsfähigkeit des Systems durch den Angreifer A nicht beeinträchtigt wird, sodass weder der Sender S, noch der Empfänger E während des Betriebes das Abhören bemerken können. 1.4.2 Unterbrechen Der Angreifer A hat auch beim Unterbrechen eines Datenverkehrs (vgl. Abbildung 1-2)prinzipiell zwei Möglichkeiten dies zu realisieren. S E A Abbildung 1-2: Unterbrechen eines Datenverkehrs 3 Trojanisches Pferd – analog zur griechischen Sage um den Kampf um Troja 5 Kapitel 1 Grundlagen Im ersten Fall kann der Angreifer A die Leitungen zwischen dem Sender S und dem Empfänger E selbst unterbrechen bzw. Verbindungskanäle stören. Dies führt zum Denial-of-Service, dem Versagen des gewünschten Dienstes. Im zweiten Fall wird entweder der Sender S oder der Empfänger E vom Angreifer A gezielt so beschäftigt, dass diese keine weiteren Anfragen mehr beantworten können. Auch in diesem Fall spricht man vom Denial-of-Service. 1.4.3 Modifizieren Das Modifizieren eines Datenverkehrs erfordert vom Angreifer A (vgl. Abbildung 1-3) ein Maximum an speziellem Wissen über die Systemstruktur und ein Maximum an Geschwindigkeit, damit weder der Sender S noch der Empfänger E die Modifikation bemerken. S E A Abbildung 1-3: Modifizieren eines Datenverkehrs Die gesendeten Daten des Senders werden abgefangen, dann wie gewünscht modifiziert und schließlich an den eigentlichen Empfänger weitergesandt. Da sich der Angreifer für den Sender als Empfänger und für den Empfänger als Sender ausgibt, heißt dieser Angriff auch Man-In-The-Middle-Attack. 1.4.4 Erzeugen Ein weiteres Angriffsszenario stellt das Erzeugen eines Datenverkehrs dar. Auch hierzu existieren unterschiedliche Realisierungen. S E A Abbildung 1-4: Erzeugen eines Datenverkehrs 6 Kapitel 1 Grundlagen Beispielsweise besteht eine Möglichkeit für den Angreifer A (vgl. Abbildung 1-4) darin, bei einem Mitarbeiter S anzurufen und sich als Administrator auszugeben, der sein Passwort dringend benötigt, und die dadurch gewonnenen Informationen zur Autorisierung an einem System E zu missbrauchen. Ebenso kann ein Angreifer A in einem Computer-Netzwerk eine falsche Identität durch gezielte Manipulation der von ihm selber abzuschickenden Daten vorspielen. Diese Variante nennt sich Maskerade. Weiterhin existiert die Möglichkeit in der Vergangenheit durch Sniffing erworbene Daten z.B. zur Anmeldung an einem System wieder einzuspielen. In diesem Fall spricht man von Replay-Attacken. 1.5 Angriffsarten Angreifer verwenden eine ihrem Angriffsmotiv und –ziel entsprechende Angriffsart. Prinzipiell können dazu die in Kapitel 1.4 vorgestellten Szenarien verwendet werden. Sollte ein Angreifer das Ziel haben, die gesamten Daten und die Infrastruktur eines Opfers zu zerstören, so wird er beispielsweise zwischen den Angriffsarten Diebstahl, Vandalismus, Brandstiftung oder Bombenlegung wählen. Sollen die Daten jedoch lediglich verändert werden um das Opfer zu irritieren oder zu schädigen, so kann die Hard– und Software manipuliert werden. Dabei ist der Einsatz von modifizierten Hardware-Komponenten recht gebräuchlich. Angriffe physisch aktiv Modifikation Diebstahl Vandalismus Brandstiftung ... logisch passiv Abhören ... aktiv Viren Systemlücken passiv Abhören ... Trapdoor Trojaner ... Abbildung 1-5: Gängige Angriffsarten kategorisiert Angriffe können in einen Angriffsartenbaum eingeordnet werden. Es wird zwischen physischen und logischen sowie aktiven und passiven Angriffen unterschieden. Wie Abbildung 1-5 zu erkennen ist, existieren alle Kombinationen dieser Kategorien. 7 Kapitel 1 Grundlagen 220 V NETZ TVANTENNE Ko mp rom RAUCHMELDER Mikrofon Langwellensender ABGEHÄNGTE DECKE Mikrofon LAUTSPRECHER LAMPE ittie re n passive "Wanze" TV de Ab s tr a hlu IRSender LÜFTUNG ng Taschenrechner Langwellensender Empfänger IR-Empfänger Mikrofon Sender für TV-Antenne Laser FAX KörperschallMikrofon MODEM Sender Sender RichtMikrofon Wasserrohr Körperschallsender KörperschallSender MEHRFACHSTECKDOSE DOPPELBODEN Langwellensender 220 V Netz HEIZUNG Sender Anzapfung Sender Anzapfung HFFluten Abbildung 1-6: Angriffspunkte im Büro [SIE00] Die Abbildung 1-6 verdeutlicht die Vielfältigkeit der möglichen Angriffsarten und potentielle Angriffspunkte an einem heutzutage üblichen Büroarbeitsplatz. Zum Beispiel kann ein Telefon bzw. ein Fax-Gerät angezapft werden oder die Abstrahlung eines Bildschirms abgefangen werden. Zudem können z.B. in Pflanzen, Rauchmeldern, Lüftungsanlagen und Lampen sehr kleine Sender und/oder Mikrofone installiert sein. 8 Kapitel 2 Viren 2 Viren Heutzutage erfreuen sich Viren besonders großer Beliebtheit, da sie sich z.B. über das Internet extrem schnell verbreiten können. Es existieren zur Zeit die folgenden sieben Virentypen: • Bootsektorviren • Dateiviren • Makroviren • Trojaner • Würmer • Polymorphe Viren • Hoaxes Dabei muss ein Virus nicht unbedingt nur einer dieser Kategorien zugeordnet werden können, sondern er kann durchaus mehrere Verhaltensweisen parallel aufweisen. So kommt es häufig vor, dass ein Virus als Makrovirus implementiert ist und sich als Wurm verbreitet. Zur besseren Tarnung verhilft der polymorphe Charakter. 2.1 Bootsektorviren Jede bootfähige oder auch nicht bootfähige Festplatte und Diskette hat einen Bootsektor indem normalerweise Informationen über das Dateisystem, die Datenstruktur und ein kleines Startprogramm, dass ggf. einen Verweis auf das zu ladende Betriebssystem enthält, gespeichert sind. Ein Bootsektorvirus verändert dieses Startprogramm so, dass es in den Arbeitsspeicher des jeweiligen Systems gelangt und weitere in diesem System befindliche Bootsektoren infiziert. Bootsektorviren waren noch vor wenigen Jahren – als der meiste Datenverkehr zwischen PCs noch mit Disketten abgewickelt worden ist – die beliebtesten Viren. Ein weit verbreitetes Exemplar dieser Gattung ist der Parity Boot.B Bootsektorvirus, der stündlich überprüft, ob er einen Bootsektor einer Diskette infiziert hat. Sollte dies nicht der Fall sein, so führt dieser Zustand zu einem Systemabsturz. 2.2 Dateiviren Dateiviren sind Viren, die sich an ausführbare Programme (EXE- und COM-Dateien) anhängen und durch Aufruf in den Arbeitsspeicher gelangen. Es existieren zwei Varianten der Infizierung weiterer Dateien. Bei der Direktinfektion werden lediglich zuvor bestimmte Dateien in bestimmten Verzeichnissen infiziert. Hingegen werden bei 9 Kapitel 2 Viren der indirekten Infektion die gleichzeitig mit dem infizierten Programm im Arbeitsspeicher gespeicherten ausführbaren Programme infiziert. Abbildung 2-1: Windows 95 Desktop mit „W95.Marburg.A“ Dateivirus [SYM00] In Abbildung 2-1 sind die Auswirkungen des direktinfizierenden W95.Marburg.A Dateivirus dargestellt. Dieser Virus infiziert lediglich PCs mit dem Betriebssystem Microsoft Windows 95 und modifiziert alle ausführbaren Programmdateien mit der Endung EXE in den Verzeichnissen \windows und \windows\system. Die Modifizierung besteht darin, dass die Datei zunächst um den Virus an sich erweitert wird und schließlich ein Padding so durchgeführt wird, dass die Dateigröße ohne Rest durch die Zahl 101 teilbar ist. Ein weiterer sehr schädlicher Dateivirus ist der W95.CIH Virus. Er befällt ausführbare 32-bit Windows Dateien und wird seit dem 26.04.1999 jeweils am 26ten jeden Monats aktiviert. Ist der Virus aktiviert worden, so werden sämtliche Daten und das CMOSBios gelöscht. Bei seinem ersten Auftreten dieses Exemplars im Jahr 1999 ist ein Schaden von mehr als 250 Millionen US-Dollar an einem Tag entstanden. 2.3 Makroviren Makroviren sind inzwischen nach Zahlen des BSI4 mit 65% Anteil die weitverbreitetsten aller gemeldeten Viren. Sie arbeiten vor allem mit Visual Basic Script für Microsoft Windows Betriebssysteme und haben aufgrund der Mächtigkeit ihrer Sprache weitreichende Zugriffsmöglichkeiten im gesamten System. 4 BSI - Bundesamt für Sicherheit in der Informationstechnik 10 Kapitel 2 Viren Abbildung 2-2: VBS.Monopoly Makrovirus [SYM00] Die Abbildung 2-2 zeigt den Windows Desktop nachdem der Makrovirus (und Wurm) VBS.Monopoly aktiviert worden ist. Dieser Virus basiert auf der Skriptsprache Visual Basic Script ab Version 4.0 und ist auf dem Windows Scripting Host, der Bestandteil von Microsoft Windows Betriebssystemen ist, lauffähig. Nach der Infizierung wird eine eMail mit dem Subject „Bill Gates joke“ und der Message „Bill Gates is guilty of monopoly. Here is the proof. :-)“ an alle im Microsoft Outlook-Adressbuch befindlichen eMail-Adressen versandt, die ebenfalls diesen Virus enthält. Anschließend wird die Graphik monopoly.jpeg (vgl. Abbildung 2-2) angezeigt. 2.4 Trojaner Trojaner oder Trojanische Pferde sind zumeist an Shareware oder Freeware angehängte Programme bzw. Viren, die eine dem Empfänger nützliche Funktion vorspielen und parallel, aber für den Benutzer nicht erkennbar, eine andere Funktion ausführen, die Unbefugten z.B. den Zugriff auf den Opfercomputer erlauben. Die bekanntesten Vertreter dieser Art lauten Backorifice und NetBus. Diese beiden Trojaner werden nach der Infektion bei jedem Neustart des Systems in den Arbeitsspeicher geladen und stellen für einen Angreifer einen idealen Angriffspunkt dar. Beispielsweise können mit Hilfe von Backorifice und NetBus Passwörter ausspioniert, Screenshots erstellt, CD-Rom Laufwerke geöffnet und Dateien kopiert oder gar gelöscht werden. 2.5 Würmer Würmer sind Programme, die sich meist zunächst unbemerkt selbst über das Netzwerk verbreiten und dadurch z.B. eine vom Opfer unbeabsichtigte eMail Lawine auslösen. Das Schadenspotential von Viren mit Wurm-Charakter ist durch die rasche Ausbreitung besonders hoch. 11 Kapitel 2 Viren Der bereits im Kapitel 2.3 vorgestellte Monopoly-Virus stellt einen Wurm dar, da er sich automatisch über das Netzwerk verbreitet. 2.6 Polymorphe Viren Eine moderne Art von Viren sind die polymorphen Viren. Sie verändern bei jeder Neuinfektion ihr Erscheinungsbild und sind durch klassische Virenscanner nicht oder nur schwer zu erkennen, da lediglich nach bestimmten Zeichenfolgen gesucht wird. 2.7 Hoaxes Durch die zunehmende Akzeptanz des Mediums eMail und die zunehmende Sensibilisierung der Benutzer gegenüber Viren, ist es in letzter Zeit immer wieder zu Virenfalschmeldungen gekommen, die via eMail an viele Benutzer versandt worden sind und eine Aufforderung der Weiterleitung an alle Bekannten weiterzusenden. Diese Art Kettenbrief ist zwar kein „richtiger“ Virus, er führt jedoch durch höhere Auslastung der Mailserver zu steigenden Transportzeiten von eMails und somit auch zu höheren Kosten. Die in einem Hoax angekündigten Viren existieren jedoch nicht. Abbildung 2-3: Hoax-eMail Zlatko In Abbildung 2-3 ist exemplarisch ein typisches Hoax-eMail, der Zlatko-Hoax, dargestellt. 12 Kapitel 3 Angriffe über das Netzwerk 3 Angriffe über das Netzwerk Eine für viele Angreifer attraktive Möglichkeit ein System zu attackieren stellt das Netzwerk, insbesondere das Internet, dar. Die Vorteile dieses Mediums sind offensichtlich, da ein Angreifer von einem entfernten Standort aus agieren und weitgehend unbeobachtet seinem Ziel nachgehen kann. Angriffe über Netzwerke werden nach Schätzungen des BSI zu ca. 95% nicht erkannt, daher ist auch eine Strafverfolgung durch das Opfer nur in seltenen Fällen zu befürchten. Die Bedrohungen, die durch Angriffe über das Netzwerk ausgehen, sind vielfältig. Im weiteren werden einige dieser Bedrohungen erläutert: • Sniffing Unter Sniffing wird das unberechtigte Abhören des Datenverkehrs anderer verstanden. Ein Angreifer, der in einem Netzwerk Sniffing betreibt, analysiert oft den Datenverkehr anderer Netzwerkteilnehmer mit dem Motiv, die dabei gewonnenen Informationen zum eigenen Vorteil zu nutzen. Ziel von Sniffing kann es sein Passwörter, die im Klartext oder nur schwach verschlüsselt versendet werden, zu erlangen oder z.B. festzustellen, welche Teilnehmer über welche Protokolle miteinander kommunizieren. Sniffing wird oft als Vorarbeit für den eigentlichen Angriff verwendet. • Eindringen Das Eindringen in Computersysteme über das Netzwerk basiert oft auf den durch vorhergehendes Sniffing erworbenen Informationen. Es handelt sich oft nur um eine Vorarbeit für die eigentliche schadensverursachende Handlung. • Manipulation Manipulation beschreibt das gezielte Abändern von Daten, Informationen oder auch Funktionen. Bei Angriffen über ein Computernetzwerk sind unzählige Manipulationsmöglichkeiten gegeben. Außer der in 1.4.3 beschriebenen ManIn-The-Middle-Attack ist es z.B. möglich nach dem Eindringen in ein System dessen Daten oder Funktionsfähigkeit zu verändern. Dies kann entweder zu gezielten Täuschung des Opfers oder zur Verwirrung führen. Manipulationen können ferner zum Einbau von Hintertüren für spätere Angriffe verwendet werden. • Maskerading Um bei Angriffen nicht erkannt zu werden oder um sich als ein anderer Teilnehmer des Netzwerkes auszugeben, kann es für Angreifer nützlich sein, eine andere Identität vorzuspielen. Dieses unberechtigte Vorgeben einer fremden Identität wird Maskerading bezeichnet. 13 Kapitel 3 Angriffe über das Netzwerk • Replay Replay-Attacken sind eine Realisierung des in 1.4.4 vorgestellten Szenarios des Einspielens von Daten. Es handelt sich dabei um das Wiedereinspielen von zuvor durch Sniffing erworbenen Kommunikationssequenzen. Dies kann z.B. die Anmeldesequenz an ein Opfersystem sein. • Umleiten Die Umleitung von Datenverkehr kann verschiedene Bedrohungen enthalten. Zum einen kann erreicht werden, dass ein Datenverkehr gezielt über eine bestimmte Route geführt wird, um diesen abzuhören oder zu manipulieren. Zum anderen ist eine Umleitung bedrohlich, wenn Daten nicht mehr zu dem eigentlichen Ziel gelangen, sondern zu einem System, welches sich dann als das Zielsystem ausgibt. • Missbrauch Der Missbrauch von Informationen wird ebenfalls durch Sniffing ermöglicht. Die dabei gewonnenen Informationen können z.B. zur Anmeldung an Systemen verwendet werden. Damit ist oft eine Leistungserschleichung, z.B. Internetzugang oder Zugriff auf bestimmte Daten, verbunden. • Datenverlust Eine Folge und Bedrohung des Eindringens in ein Computersystem ist oft ein Datenverlust. Dies ist vor allem dann gefährlich, wenn die verlorenen Daten sehr sensibel waren oder unwiederbringlich sind. • Denial-of-Service Bei Denial-of-Service Attacken ist das Ziel des Angreifers die Verfügbarkeit von Systemen oder einzelne Dienste dieser Systeme zu stören. Dies kann vor allem bei kommerziellen Dienstleistern, die ihren Dienst über das Netzwerk anbieten, zu hohen finanziellen Schäden und Unzufriedenheit bei deren Kunden führen. • Hijacking Beim Hijacking eines Datenverkehr hat der Angreifer beispielsweise das Ziel starke Anmeldungsmechanismen an dem Opfersystem zu umgehen. Dabei beobachtet er den Netzwerkverkehr solange, bis er festgestellt hat, dass sich ein Dritter an dem Opfersystem erfolgreich angemeldet hat. Er blockiert dann den Dritten, z.B. durch eine Denial-of-Service Attacke, und übernimmt die bestehende Verbindung. Die obigen Angriffsarten können über TCP/IP, IPX/SPX, AppleTalk und andere Netzwerk-Protokollstacks realisiert werden. Im weiteren wird jedoch ausschließlich der TCP/IP-Protokollstack betrachtet. 14 Kapitel 4 Angriffe über den TCP/IP-Protokollstack 4 Angriffe über den TCP/IP-Protokollstack Ein Protokollstack besteht aus mehreren Protokollen, die teilweise aufeinander aufbauen. TCP/IP stellt den de Fakto Standard unter den Protokollstacks dar und wird in den meisten LANs und auch im Internet für die Kommunikation eingesetzt. 4.1 TCP/IP-Protokolle im ISO/OSI-Referenzmodell Im Jahre 1984 ist von der International Standards Organization ein Modell zur abstrakten Beschreibung der Zusammenarbeit bei der Kommunikation von Hard- und Software in einer siebenschichtigen Form vorgestellt worden. Dieses Modell wird als Open Systems Interconnection Modell bzw. als OSI-Referenzmodell bezeichnet. Die Abbildung 4-1 zeigt die Einordnung einiger der wichtigsten Protokolle aus dem TCP/IP-Protokollstack in das OSI-Referenzmodell. Schicht 7: Anwendungsschicht DNS (T)FTP Domain Name System (Trivial) File Transfer Protocol Schicht 6: Darstellungsschicht Schicht 5: Sitzungsschicht Schicht 4: Transportschicht Schicht 3: Vermittlungsschicht TCP UDP Transmission Control Protocol User Datagram Protocol RIP OSPF Routing Information Protocol Open Shortest Path First ICMP Internet Control Message Protocol IP Internet Protocol ARP Address Resolution Protocol Schicht 2: Sicherungsschicht Schicht 1: Bitübertragungsschicht Ethernet Token Ring Abbildung 4-1: Einige TCP/IP-Protokolle im ISO/OSI-Referenzmodell Auf den untersten beiden Schichten, der Bitübertragungs- und der Sicherungsschicht, werden Funktionen zum Zugriff auf das physische Übertragungsmedium und das Management dieses Zugriffs definiert. Auf diesen Schichten befinden sich Netzwerkarchitekturen, wie z.B. Ethernet oder Token-Ring, auf denen TCP/IP basieren kann. Auf der nächst höheren Schicht, der Vermittlungsschicht, befinden sich die ersten Protokolle aus dem TCP/IP-Protokollstack. Das wichtigste Protokoll ist sicherlich das Internet Protocol (IP), welches primär für die Adressierung und Steuerung von Daten 15 Kapitel 4 Angriffe über den TCP/IP-Protokollstack zwischen zwei Netzwerkknoten, die unter TCP/IP-Hosts genannt werden, verantwortlich ist. Ebenfalls in dieser Schicht befindet sich das Adress Resolution Protocol (ARP), welches die logischen IP-Adressen der Vermittlungsschicht in Hardware- bzw. MAC5-Adressen der Sicherungsschicht umwandelt. Ferner ist das Internet Control Message Protocol (ICMP) für die Fehlermeldung und Steuerung von Hosts zuständig. Um Daten in einem Netzwerkverbund an das korrekte Ziel befördern zu können, werden sogenannte Routingprotokolle, wie z.B. das Routing Information Protocol (RIP) oder das Open Shortest Path First (OSPF) Protokoll, benötigt. Auf Schicht 4, der Transportschicht, werden zusätzlich zu den logischen IP-Adressen noch Ports definiert, die den direkten Zugriff auf einen bestimmten Dienst ermöglichen. Hier existieren zwei Protokolle, das Transmission Control Protocol (TCP) und das User Datagram Protocol (UDP). Dabei stellt das Transmission Control Protocol einen verbindungsorientierten und somit sicheren Zustelldienst, der aber einen relativ hohen Mehraufwand mit sich bringt, zur Verfügung, während das User Datagram Protocol bei geringem Mehraufwand unsicher und verbindungslos arbeitet. Schicht 7, die Anwendungsschicht, stellt Anwendungen einige Standarddienste für den Zugang zum Netzwerk zur Verfügung. So befinden sich auf dieser Schicht etwa Dienste wie das File Transfer Protocol (FTP) oder das Domain Name System (DNS). Die Funktion des Domain Name System liegt darin, die Rechnernamen der entsprechenden IP-Adresse zuzuordnen, ähnlich wie ein Telefonbuch Namen den entsprechenden Telefonnummern zuordnet. Das File Transfer Protocol stellt einen Dienst zur sicheren Übertragung von Dateien zur Verfügung. 4.2 Angriffsmöglichkeiten über TCP/IP Es existieren unzählige Möglichkeiten, um einen Host über den TCP/IP-Protokollstack angreifen zu können. In den folgenden Unterkapiteln werden einige übliche Angriffspraktiken vorgestellt. 4.2.1 IP-Spoofing Unter IP-Spoofing (vgl. Abbildung 4-2)wird das Fälschen der Senderadresse in einem IP-Paket verstanden. Dieses Vorgehen wird von Angreifern eingesetzt, um die eigene Identität zu verschleiern oder um in ein System, bei dem die Authentifizierung lediglich über die IP-Adresse geschieht, einzudringen. 5 MAC – Media Access Control 16 Kapitel 4 Angriffe über den TCP/IP-Protokollstack Version Hder Length Type of Service Total Length Header ID Time-to-Live Flags Protocol Fragment Offset Header Checksum Source Address =gefälschte Adresse (anstatt korrekte Adresse) Destination Address Options (var.) Padding (var.) Data Abbildung 4-2: IP-Spoofing 4.2.2 Smurf Bei Smurf handelt es sich um eine Attacke, die das Internet Control Message Protocol verwendet. Abbildung 4-3: Smurf-Angriff über ICMP Dabei werden im ersten Schritt (vgl. in Abbildung 4-3) von dem Angreifer ICMPPakete mit gefälschter Senderadresse und einer Echo-Anfrage an eine BroadcastAdresse, d.h. an alle Hosts in einem bestimmten logischen IP-Teilnetz, gesendet. Diese senden korrekterweise jeweils eine Antwort an das Opfer (vgl. in Abbildung 4-3). Somit kann der Opfer-Host unter Umständen so beschäftigt werden, dass eine Bearbeitung von weiteren Anfragen nicht weiter vollzogen werden kann. Folglich führt Smurf zum Versagen des Dienstes bzw. zum Denial-of-Service. 4.2.3 Ping-to-Death Bei Ping-to-Death handelt es sich ebenfalls um eine Attacke über das Internet Control Message Protocol. Der Angreifer generiert in diesem Fall ein ICMP-Echo-RequestPaket mit mehr als 65510 Byte Nutzdaten, welches dann, da es größer als ein ICMPPaket ist, fragmentiert an das Opfer versandt wird. Das Opfer setzt die Fragmente 17 Kapitel 4 Angriffe über den TCP/IP-Protokollstack wieder zusammen. Da jedoch in einigen Implementierungen der Speicherplatz für ICMP-Datagramme auf 65510 Byte begrenzt ist, führt dies zu einem Speicherüberlauf und nicht selten sogar zu einem Systemabsturz. 4.2.4 SYN-Flooding Die in Abbildung 4-4 dargestellte Attacke TCP-SYN6-Flooding nutzt den HandshakeMechanismus beim Aufbau einer TCP-Verbindung. Dabei versendet der Angreifer eine Anfrage zum Verbindungsaufbau. Dies geschieht mittels einem TCP-Paket mit gesetztem SYN-Bit und einem Wert der Sequenznummer. Das Opfer quittiert diese Anfrage, indem es ein TCP-Paket mit gesetztem ACK7-Bit und AcknowledgementNummer, die der empfangenen inkrementierten Sequenznummer entspricht, zurücksendet. In dem gleichen Paket wird dann ebenfalls eine SYN-Anfrage gestellt. Abbildung 4-4: Ablauf des SYN-Flooding Angriffs Der Angriff liegt nun darin, dass der Angreifer diese SYN-Anfrage nicht quittiert. Das Opfer sendet dann, da es von einem Verlust der Daten ausgehen muss, nach bestimmten Intervallen erneut die Quittierung und ist somit für einige Zeit blockiert. In der Implementierung von Microsoft Windows NT wird diese Quittierung noch z.B. fünf mal versendet und zwar nach 3, 6, 12, 24 und 48 Sekunden. Somit ist das Opfersystem auch noch nach 93 Sekunden mit dem manipulierten Verbindungsaufbau beschäftigt. Durch eine Vervielfachung der nicht quittierten TCP-Verbindungsanfragen kann ein Denial-of-Service erzielt werden. 4.2.5 TCP-Spoofing Auf Systemen mit einem Unix Betriebssystem ist es lediglich Systemadministratoren gestattet, die privilegierten Ports, also diejenigen unterhalb von 1024, zu benutzen. Unter Unix ist diese Eigenschaft deshalb so wichtig, da es sich um Multiuser-Computer handelt und mindestens den Ports unter 1024 und somit dem Systemadministrator vertraut wird. In Singleuser Systemen ist dieser Charakter jedoch nicht so wichtig, 6 SYN – Synchronize 7 ACK – Acknowledgement 18 Kapitel 4 Angriffe über den TCP/IP-Protokollstack da im Allgemeinen der Benutzer und der Administrator des Systems dieselbe Person ist. Genau dieses Vertrauen wird beim TCP-Spoofing ausgenutzt. Dabei täuscht ein Angreifer einen bestimmten Port, den das Opfer benutzt, vor und verändert dessen gewohnte Funktionalität. Folglich kann sich der Angreifer maskieren. 4.2.6 TCP-Hijacking Die Attacke des TCP-Hijacking muss durch vorherige Attacken gut vorbereitet sein. Zunächst muss sich der Angreifer Zugriff als Administrator auf das Opfersystem verschaffen (vgl. Abbildung 4-5). Dann kann er beispielsweise den Kernel so modifizieren, dass er nach einem gelungenen TCP-Verbindungsaufbau von dem Opfersystem unbemerkt benachrichtigt wird. Schließlich blockiert der Angreifer nach Erhalt der Nachricht das Opfersystem und übernimmt selber die Verbindung. Abbildung 4-5: Hijacking einer TCP-Verbindung Durch diese Methode droht sowohl das unbefugte Eindringen in ein Fremdsystem als auch die Vortäuschung einer falschen Identität. 4.2.7 UDP-Flooding / Packet Storm Das User Datagram Protocol ist verbindungslos und bietet somit auch keine Flusskontrolle. Aufgrund dessen ist es möglich, genau einen Host oder Router mit Paketen zu überfluten und so auszulasten, dass keine weiteren Anfragen bearbeitet werden können. Ein UDP Packet Storm verursacht somit schließlich einen Denial-of-Service. 4.2.8 DNS-Spoofing Das Domain Name System ist ein fast ständig unbewusst benutzter Dienst eines TCP/IP-Netzwerkes und ist somit ein für den Angreifer attraktiver Angriffspunkt. Um DNS-Spoofing durchzuführen existieren die beiden folgenden verschiedenen Methoden. • Direkte Manipulation der DNS-Datenbank Bei dieser Methode verschafft sich der Angreifer zunächst Zugriff auf die DNS-Datenbank auf dem DNS-Server und manipuliert diese direkt so, dass 19 Kapitel 4 Angriffe über den TCP/IP-Protokollstack Antworten auf DNS-Anfragen nach seinen Wünschen gefälscht werden (vgl. Abbildung 4-6). Abbildung 4-6: Spoofing-Attacke über das Domain Name System • Zusätzlicher hoch performanter DNS-Server Diese Methode ist wesentlich aufwendiger als die zuvor beschriebene. Es wird zunächst in der zu manipulierenden Namensdomäne ein System mit darin integriertem Nameserver positioniert und eine DNS-Anfrage bzgl. des Opfersystems getätigt. Dieser wird direkt anschließend eine gefälschte DNS-Antwort hinterhergesandt, die der DNS-Server als Antwort auf seine weitergegebene Anfrage betrachtet und aus Performance-Gründen in seinem Cache speichert. Wenn dann die ungefälschte Antwort des korrekten DNS-Servers eintrifft, wird diese verworfen. Wenn ein Benutzer, der diesen DNS-Server verwendet, eine Anfrage an der Server stellt, erhält dieser eine gefälschte Antwort und baut eine Verbindung zu einem falschen Zielsystem auf. Somit besteht z.B. die Möglichkeit, dass ein Internet Benutzer auf einen ungewünschten Webserver geleitet wird, der die Funktionen des gewünschten Servers vortäuscht und somit sensible benutzerspezifische Daten ausspionieren kann. 4.2.9 Anonymous FTP Eine beliebte Möglichkeit Daten Dritten in einem Netzwerk zur Verfügung zu stellen oder Dritten die Möglichkeit der Ablage zu geben stellt ein FTP-Server dar. Nach dem Aufbau einer TCP-Verbindung wird eine Authentifizierung durchgeführt. Um nicht 20 Kapitel 4 Angriffe über den TCP/IP-Protokollstack jedem Benutzer, der auf den Server zugreifen möchte eine eigene Zugangskennung ausstellen zu müssen, ist in fast allen FTP-Server Implementierungen die Möglichkeit gegeben, einen anonymen Zugang zu nutzen. Ist ein FTP-Server so konfiguriert, dass ein externer Angreifer mit dem anonymen Zugang, lesenden oder vor allem schreibenden Zugriff auf sensible Daten erhält, so kann dies schädigend genutzt werden. 21 Kapitel 5 Schutzmaßnahmen gegen Angriffe über das Netzwerk 5 Schutzmaßnahmen gegen Angriffe über das Netzwerk Die Angriffsmöglichkeiten über ein Netzwerk sind – wie in Kapitel 4 beschrieben – zahlreich. Da das Abändern der unsicheren Protokolle und Verfahren schon aus Kompatibilitätsgründen oft nicht möglich ist und viele Angriffe, dessen Methodik allgemein bekannt ist, von Nachahmern durchgeführt werden, kann eine Schutzmaßnahme gegen diese Angriffe oft ergriffen werden. Die wichtigste Sicherheitsmaßnahme ist sicherlich, dass z.B. die Mitarbeiter eines Unternehmens über die Gefahren des Umgangs mit Computern in Netzwerken aufgeklärt und darauf sensibilisiert werden. Die besten und teuersten Sicherheitsmaßnahmen wirken nicht, wenn sie von den eigenen Mitarbeitern missachtet, aufgehoben oder geschwächt werden. Es muss z.B. jedem Mitarbeiter klar sein, dass er niemals Informationen bzgl. seiner Zugangskennungen und Passwörter über das Telefon, auch wenn es noch so wichtig erscheint, mitteilt. Weiterhin ist ein System aus mehreren Komponenten bestehendes Sicherheitskonzept empfehlenswert, welches darauf basiert, dass der kritische und gefährdete Datenverkehr stets über nur eine Route von dem internen sicheren Netzwerk zum externen unsicheren Netzwerk betrieben wird. Ein solches System kann z.B. aus mehreren Komponenten bestehen. 5.1 Paketfilter Mit Hilfe von Paketfiltern besteht die Möglichkeit, TCP/IP-Pakete auf den Schichten 3 und 4 des ISO/OSI-Referenzmodells zu analysieren, zu filtern und ggf. zu protokollieren. Die einfachsten Paketfilter arbeiten statisch und enthalten feste vom Administrator definierte Regeln, die sequentiell für jedes passierende Paket abgearbeitet werden. Dabei sind die Regeln so zu definieren, dass zunächst jeglicher Datenverkehr verboten wird, jedoch die benötigten Dienste aktiv freigeschaltet werden. Der Vorteil von statischen Paketfiltern liegt in einem hohen Datendurchsatz. Bei dynamischen Paketfiltern werden nicht nur die einzelnen Pakete analysiert, sondern auch der Zusammenhang einzelner Pakete. Somit können auch Dienste in Anspruch genommen werden, die z.B. keine festen Port-Adressen haben. Nachteil der dynamischen gegenüber den statischen Paketfiltern ist der wesentlich geringere Datendurchsatz. 22 Kapitel 5 Schutzmaßnahmen gegen Angriffe über das Netzwerk 5.2 Applikationsfilter Neben den Paketfiltern, die lediglich auf den Schichten 3 und 4 des ISO/OSIReferenzmodells arbeiten, ist auch die Analyse, Filterung und Protokollierung von Diensten in den obersten Schichten oft wünschenswert. Es kann z.B. durchaus sinnvoll sein den Dienst TELNET zuzulassen und nur gewisse Befehle zu sperren. Um die Sicherheit der eigenen Computer zu erhöhen werden diese Proxy8-Systeme oft eingesetzt, um keine direkten Verbindungen von internen Computern zu externen potentiellen Angreifern aufbauen zu lassen. Ein Proxy-System spielt dem eigentlichen Client den Server und dem eigentlichen Server den Client vor. Vor der Weiterleitung der Daten werden diese analysiert, gefiltert und ggf. protokolliert. Eine Möglichkeit ein solches Proxy-System zu implementieren ist die eines dedizierten Proxy-Servers (Application Level Proxy) für ein bestimmtes und genau bekanntes Protokoll. In diesem Fall können die Daten und Befehle genau untersucht und gefiltert werden. Eine weitere Möglichkeit stellt der generische Proxy-Server (Circuit Level Proxy) dar. Diese Systeme sind wesentlich flexibler einsetzbar, da sie die genutzten Protokolle nicht unbedingt kennen müssen, können deshalb jedoch auch keine genaue Analyse und Filterung durchführen. Circuit Level Proxies dienen vor allem der Protokollierung. 5.3 Intrusion Detection System Ein Intrusion Detection System (IDS) ist eine Art Expertensystem, dass anhand der zuvor protokollierten Daten und mit Hilfe von Regeln bekannte Angriffsszenarien erkennt und sofort meldet. Bisher unbekannte Angriffe können unter Umständen durch Vergleich der protokollierten Daten mit zuvor erstellten Referenzwerten so erkannt werden. Ein IDS ist im Fall der Erkennung eines Angriffs selbstständig in der Lage geeignete Gegenmaßnahmen zu ergreifen. Dazu gehört z.B., dass Daten von einem bestimmten Absender, einem potentiellen Angreifer, nicht mehr in das interne Netzwerk eindringen können. Im Notfall kann sogar mit Hilfe einer weiteren Koordinationseinheit ein gesamter Server außer Betrieb genommen werden. 8 Proxy – engl. für Stellvertreter 23 Kapitel 6 Ausblick 6 Ausblick In den letzten Jahrzehnten hat eine explosionsartige Entwicklung im Bereich der Computer stattgefunden. Dabei ist leider zunächst oft zu wenig Wert auf den Aspekt der Sicherheit gelegt worden. In vielen Fällen waren sich die Entwickler jedoch auch nicht über die Risiken und somit auch der Angriffspotentiale nicht bewusst. In der Zukunft muss, schon durch die steigende kommerzielle Bedeutung, bei der Entwicklung z.B. neuer Produkte und Protokolle wesentlich mehr Wert auf den Aspekt der Sicherheit gelegt werden, damit das elektronische Medium auch in Zukunft weiter an Akzeptanz gewinnt. Ein elektronisches System, dass ein konventionelles System ablösen soll, muss dem Käufer und Benutzer denselben oder besseren Luxus als die herkömmliche Methode bieten und gleichzeitig den Mehrwert gesteigerte Sicherheit bieten. Es wird aber auch durch die steigende Nutzung und Bedeutung des Computers ein immer stärkeres Interesse geben, diese zu manipulieren oder auch abzuhören. Da es jedoch keine perfekten und absolut sicheren Systeme geben wird, werden auch immer wieder Angreifer erfolgreich ihre Interessen durchsetzten und immer wieder neue Sicherheitslücken erzeugen und/oder ausnutzen. 24 Kapitel 7 Literatur 7 Literatur [BSI99] Bundesamtes für Sicherheit in der Informationstechnik (Hrsg.) IT-Grundschutzhandbuch Bundesanzeiger-Verlag, Köln 1999 ISBN 3-88784-915-9 http://www.bsi.de/gshb/ [STA99] Stallings, William Cryptography and Network Security Prentice Hall, New Jersey 1999 ISBN 0-13-869017-0 [SIE00] Siemens AG Informationssicherheit 2000 CD-ROM Siemens AG, München 2000 http://crypto.mchh.siemens.de [SYM00] Symantec Corporation Informationen über Computer-Viren Symantec Corporation, Cupertino 2000 http://www.symantec.com/region/de/avcenter/vinfodb_de.html [BSI97] Bonnard, Andreas / Wolff, Christian Gesicherte Verbindung von Computernetzen mit Hilfe einer Firewall Siemens AG, München 1997 http://www.bsi.de/literat/studien/fw-stud.pdf [POH00] Pohlmann, Norbert Firewall-Systeme MITP-Verlag, Bonn 2000 ISBN 3-8266-40756 25