Sicherheit in Netzen

Prof. Jürgen Plate
Dipl.-Ing. Jörg Holzmann

2 Gefahren

Informationen können wie physische Gegenstände geändert, zerstört oder außer Reichweite für den rechtmäßigen Besitzer gebracht werden. Aber im Gegensatz zu physischen Gegenständen können Informationen kopiert und in vielen Fällen modifiziert oder gelöscht werden, ohne daß Spuren hinterlassen werden. Die Kosten des Kopierens oder Abhörens sind relativ gering im Vergleich zum Wert der aufgeschnappten Information.
Es ist deshalb von wesentlicher Bedeutung, daß jede Organisation als Ganzes Verständnis für die Notwendigkeit von Sicherheitsmaßnahmen hat. Die Maßnahmen müssen die drei primären Sicherheitsaspekte berücksichtigen.

Mangelnde Datenzugänglichkeit, Datenqualität (-integrität) und mangelndes Datengeheimnis können schwerwiegende Folgen haben:

Wo einer oder mehrere der drei Sicherheitsaspekte verletzt werden, müssen nicht zwangsläufig von Sabotage herrühren. Es kann sich beispielsweise auch um unverschuldete Unfälle, wie Benutzerfehler, Brand- oder Wasserschaden handeln. Die Konsequenzen können jedoch für das betroffene Unternehmen genauso schädlich sein.

Jeder, der seinen Rechner an das Internet anschließt, muß sich darüber im Klaren sein, daß er damit seinen Rechner potentiell mit einigen Millionen anderer Rechner in Verbindung bringt. So wie man selbst alle möglichen fremden Rechner erreichen kann, ist man auch für jedermann kontaktierbar. Mit zunehmender Vernetzung wächst aber auch der Bedarf am Schutz der Privatsphäre. Während für die Briefpost und für die Telekom ein Postgeheimnis gilt, gibt es bei Weitverkehrsnetzen nichts Vergleichbares. Bei einer Ansammlung von weltweit miteinander vernetzten Computern ist ein Briefgeheimnis auch nicht möglich. Nachrichten, die Sie beispielsweise über das Internet verschicken, laufen über viele Rechner (meist sind es aber nur Router). Theoretisch ist es an jeder Stelle im Netz möglich, Ihre Daten abzuhören und zu speichern.

2.1 Gefahrenkategorien

Zuerst wird beurteilt, welchen Gefahren man ausgesetzt sind. Unter Gefahren werden Faktoren verstanden, die im Zusammenspiel mit der Verwundbarkeit der Netz-Ressourcen die drei Datensicherheitsaspekte Datenzugänglichkeit, Datenqualität und Datengeheimnis bedrohen. Die Gefahren, die es im Zusammenhang mit dem Betrieb von Netze gibt, können in drei Hauptkategorien aufgeteilt werden: Die Beurteilung der möglichen Gefahren für das Netz des Unternehmens bildet die Grundlage für eine Liste konkreterer Ereignisse oder Szenarien.

Menschliche Schwächen und Gefahren

Schuld an den meisten Problemen sind ungeschickte oder unkundige Anwender. Anwenderfehler können unterschiedliche Folgen haben, z. B. unerwünschtes Löschen von Daten, Überschreiben von Daten und Verschwinden von Daten (verborgen und/oder vergessen). Ungeschickte Anwender zerstören oder löschen Dateien, mit denen Sie selbst arbeiten, und wenn beispielsweise der Fileserver keinen genügend restriktive Zugriffsschutz bietet, kann der Betreffende durch ein Mißgeschick gemeinsame Programme oder Daten löschen.
Weitere Beispiele menschlicher Fehler sind Fehlbedienung und verkehrte Installation von Programmen. Fehlbedienungen können unterschiedliche Folgen haben, von kleineren Datenfehlern bis zum totalen Herunterfahren des lokalen Netzes. Kritisch ist es auch, wenn nur wenige Mitarbeiter des Unternehmens bestimmte Informationen haben. Bei Abwesenheit eines solchen "Informationsträgers" (Krankheit, Unfälle, externe Arbeitsaufgaben, Kündigung, Versetzung u.a.m.) können unter Umständen ganze Bereiche der Firma lahmgelegt sein.
Verbrechen, die gegen Daten gerichtet sind, sind häufig unrechtmäßiges Kopieren von Daten und Software oder der Diebstahl von Disketten und Bändern. Eine weitere Gefahrenquelle stellt die Infektion mit sogenannten Computer-Viren dar. Das Eindringen in den Rechner via Modem und Telefonverbindungen ist ebenfalls eine steigende Bedrohung offener Systeme.
Verbrechen, die gegen Material gerichtet sind, können Diebstahl von Hardware, Zerstörung von EDV-Material und Sachbeschädigung von Räumen umfassen. Eingriffe durch Fremde oder unzufriedene Mitarbeiter können Konsequenzen auf die Funktion des System und damit auf das Unternehmen in Form von verlorenen Daten oder eines inoperativen Netzes haben. Andere finanzielle Verluste können als Folge von bewußten kriminellen Handlungen geschehen, wie beispielsweise Unterschlagung, Spionage und Sabotage.
Im weitesten Sinn zur Sabotage gehört auch, wenn jemand Dokumente unter Ihrem Namen übers Netz verschicken oder abgefangene Dokumente verfälscht (letzteres gab es natürlich seit der Antike auch schon beim Versand von Papierdokumenten und in neuerer Zeit bei Fernschreiben oder Telefax).
Aber auch Äßerungen in Newsgruppen, per E-Mail oder im Chat, die als Statement der Firma mißverstanden werden können, sind oft problematisch. Dabei denkt man oft gar nicht daran, daß Mails oder Newsbeiträge schon dann mit der Firma in Bezug gebracht werden, wenn sie vom Firmenaccount aus geschickt werden.

Der Systemverwalter hat eine alles entscheidende Bedeutung für einen problemlosen Betrieb des lokalen Netzes, sowohl in positiver als auch in negativer Hinsicht. Der Systemverwalter hat die umfassendsten Berechtigungen im Netz, was bedeutet, daß Fehler des Betreffenden weitreichende und katastrophale Konsequenzen haben können (Zitat: "Die beiden größten Gefahren für Server und Netz sind Putzpersonal und der Systemverwalter.").
Es wird immer eine Gefahr durch menschliche Fehler geben, aber ausreichende und einschlägige Ausbildung sowie zweckmäßige Arbeitsverhältnisse und Ressourcen sind Faktoren, die dazu beitragen können, diese Gefahr zu verringern. In Situationen, wo die Zusammenarbeit zwischen dem Unternehmen und dem Systemverwalter im Streit beendet wird, entsteht eine besondere Problematik.

Genaue Richtlinien für Vorkehrungen gegen Sabotage durch den Systemverwalter sind schwer zu geben, aber bestimmte Vorgaben, wie gründliche Dokumentation, zweckmäßige Anstellungsbedingungen sowie eine sichere Kündigungsprozedur müssen bedacht werden. Auf jeden Fall muß einem Systemverwalter, dem wegen Verfehlungen gekündigt wird, jeder Zugang zum System verwehrt werden; am besten noch, bevor er von der Kündigung erfährt.

Technische Gefahren

Heutige und zukünftige Netze sind gekennzeichnet durch einen hohen Grad von Komplexität und gleichzeitig dadurch, daß die einzelnen Komponenten bis zum Äußersten genutzt werden. Hierzu kommen die Probleme, die entstehen, wenn die Produkte verschiedener Hersteller kombiniert werden. Jede einzelne Komponente ist ein Glied in einer Kette, und wenn die Komponente irgendwann versagt, kann dies weitreichende Konsequenzen für den Rest des Systems haben. Komponenten, die nur teilweise Industriestandards einhalten, oder die in Zusammenhängen verwendet werden, für die sie ursprünglich nicht gedacht waren, tragen zu neuen und in vielen Fällen unvorhersehbaren Fehlertypen bei. Softwarebedingte Betriebsstörungen als Folge von falscher oder mangelhafter Konfiguration, Programmfehler (bugs), Inkompatibilität u.a.m. sind auch relevante Gefahren.
Hardwarebedingte Betriebsstörungen können als Folge von falscher oder mangelhafter Konfiguration oder Installation entstehen. Hardware-Inkompatibilität oder zerstörte Komponenten sind auch typische hardwarebedingte Ereignisse. Andere Betriebsstörungen können durch Stromausfall, mangelhafte Kühlung u.a.m. verursacht werden.
Gefahren, die über das Netz einwirken, können von innen oder von außen kommen. In der Mehrzahl aller dokumentierten Fälle kommt der Hacker aus der eigenen Firma. Insbesondere durch unzufriedene Mitarbeiter, die beim Weggang aus der Firma Sabotage verüben oder sich eine 'Hintertür' im Rechner offen halten.
Für Nutzer von Unix- oder Windows-NT-Maschinen, bei denen in der Regel Server-Prozesse automatisch im Hintergrund laufen, heißt dies, daß sie ihre Maschinen gegen unberechtigten Gebrauch zu schützen haben. Gefahren drohen hier auch von Fehlern im Betriebssystem. Der Rechnerbetreiber muß sich regelmäßig über Sicherheitslücken informieren und entsprechende Korrekturen des Betriebssystems (sogenannte 'Patches') einspielen. Eine hardwareunabhängige Sammlung der Fehler und die Initiative zur Behebung derselben unternehmen die CERTs (Computer Emergency Response Team). Wie viele Einrichtungen im Internet existieren CERTs auf mehreren Ebenen. Das deutsche CERT (DFN-CERT) ist an der UNI Hamburg lokalisiert.
PCs mit Windows 95, 98 und ME sind zwar nicht so exponiert, bieten aber auch noch genügend Angriffsfläche, z. B. durch "Denial-of-Service" (siehe unten) oder durch Zugriff auf freigegebene Resourcen (Platte, Drucker).

Umweltbedingte Gefahren

Dies können Feuer- und Wasserschaden oder Gefahren sein, die von den Umgebungsbedingungen des Unternehmes ausgehen. Feuer und die sich daraus ergebenden Beeinträchtigungen (Wasser- und Rauchschäden) können sehr weitreichende Konsequenzen für den Betrieb haben, und es wird sich oftmals um so umfassende Zerstörungen handeln, daß nicht nur der Netz-Betrieb betroffen ist. Oftmals handelt es sich um eine gewaltige und langwierige Beeinträchtigung, und nur eine vernünftige Sicherung des lokalen Netzes kann die Wiederherstellung des Unternehmens wesentlich voranbringen.

Meist handelt es sich aber um menschliche Schwächen, die einen Rechner unsicher machen: fehlerhaft eingestellte Zugriffsrechte für Dateien, Benutzeraccounts ohne Paßwort, Verwendung von unsicheren Programmen und ähnliches. Vielfach führt auch mangelnde Aufklärung der Nutzer über die Gefahren zu Unsicherheiten im System.

2.2 Hacker

Wie kann jemand in den Rechner eindringen? Um in einen fremden Rechner einzudringen gibt es etliche Möglichkeiten. Einige davon sollen in den folgenden Abschnitten zur Sprache kommen. Wie schon erwähnt, kommen Eindringlinge von innen wie von außen. Die Gefahren für offene EDV-Systeme können mit einem Wort, 'hacking' und 'Hacker' ausgedrückt werden. Hacker sind vor allem durch die technische und intellektuelle Herausforderung motiviert. Es ist sehr selten die Rede von rationell kriminellem Verhalten, da Risiko und Anforderungen an Ressourcen (Zeit, Ausrüstung, Anzahl der Teilnehmer) den Umfang der greifbaren Ausbeute übersteigt. In amerikanischer Terminologie wird mit folgenden Hackerprofilen gearbeitet, die ein besseres Bild davon geben, welche Motive hinter der Hackeraktivität liegen.

Gefährliche Hacks sind durch folgende Schritte gekennzeichnet:

  1. Erlangung des Zugangs zum System
  2. Etablieren eines Supervisor- oder Superuser-Status
  3. Einrichtung einer Hintertür zum System (trapdoor)
  4. Löschen aller Spuren
Das Ziel ist ganz einfach, Zugang zum System und genügend Kontrolle zu erlangen, um eine Hintertür einrichten zu können. Die Hintertür soll später einen ungehinderten Zugang ermöglichen, um das betreffende System als Sprungbrett in andere zu benutzen. Je effektiver die Spuren gelöscht werden, desto schwieriger ist es, den Hack aufzudecken und passende Gegenmaßnahmen zu ergreifen.

2.3 Schadensformen im Netz

Allgemeine Schädigung durch Eindringlinge

Aber auch ohne in den Server einzudringen, kann jemand Ihnen im Internet Schäden zufügen.

Allgemeine Schädigung im Internet

2.4 Paßwort raten, 'social engineering'

Die größte Sicherheitslücke ist nach wie vor der Benutzer selbst. Paßwörter werden aufgeschrieben (klassisches Beispiel: der Zettel, der unter der Tastatur klebt) oder sie sind aus dem persönlichen Umfeld entnommen (Vornamen von Frau, Mann, Kindern, Hund, die eigene Telefonnummer, die Automarke usw.). Selbst das Paßwort 'geheim' wird immer noch angetroffen. Auch 'Joshua' aus dem Film 'War Games' war eine Zeit sehr beliebt. Übertroffen wird das nur noch von '1234567' oder 'qwertz'. Wer sich ein kompliziertes Paßwort nicht merken kann, sollte es mit den Anfangsbuchstaben eines Merksatzes versuchen. So ergibt z. B. 'Fest gemauert in der Erden steht die Form aus Lehm gebrannt' (Schiller: Lied der Glocke) das Paßwort 'FgidEsdFaLg'. Es gibt übrigens Paßwort-Knackprogramme, die einfach und brutal das Rechtschreibwörterbuch, Namenslisten usw. verwenden, um Paßwörter durch Probieren herauszufinden.

Es gibt immer noch Benutzer, die ihr Paßwort freiwillig preisgeben. Grundsätzlich gilt, daß weder der Systemadministrator noch irgend jemand sonst in der Firma oder beim Provider jemals Ihr Paßwort wissen müssen. Also cool bleiben, selbst wenn der Anrufer den Untergang aller Daten prophezeit, wenn er nicht sofort das Passwort erfährt.

Es geht aber aus in der Gegenrichtung. Der Systemverwalter bekommt am Montag im Morgengrauen einen Anruf: "Hier ist Direktor Rübenkürzer. Ich komme nicht mehr ins System. Sie müsssen sofort mein Passwort auf 'Whiskas' setzen!". Der Sysadmin stottert "Jawoll!" und tut wie befohlen. Drei Wochen später kommt Rübenkürzer aus dem Urlaub und findet unter seinen Account eine Pornobildersammlung vor.

2.5 Sicherheitslücken des Betriebssystems

Bis auf wenige Ausnahmen (z. B. FTP-Server, WWW-Server) sind bei PCs unter DOS, Windows 3.1x oder OS/2 keine Maßnahmen zur Sicherheit notwendig, da an PCs in der Regel keine Anwendungen gestartet sind, die Kontaktaufnahme von außen akzeptieren. Denn nur dann hat ein Eindringling eine Angriffsmöglichkeit.
Problematischer sind hier schon Unix, Novell Netware, Windows 95, 98, ME oder Windows NT, da hier prinzipiell Zugriff von außen möglich ist, wenn eigene Netzdienste angeboten werden, z. B. die Freigabe der Platte über NFS oder auch Fax-, Modem- oder Druckerserverprogramme. Bei der Wahl eines Serverbetriebssystems sollten daher Sicherheitsaspekte im Vordergrund stehen und nicht die (scheinbar) leichte Bedienbarkeit. So haben beispielsweise Viren bei DOS- oder Windowsrechnern leichtes Spiel, weil sie alle Programme auf der Platte befallen können. Bei Systemen mit Zugriffsrechten für Dateien (Unix, Novell Netware, Windows NT und 2000 etc.) können sie meist nur die Programme eines Benutzers verseuchen. Je nach System gibt es unterschiedliche Methoden ein System zu manipulieren: Auf einige der obengenannten Typen wird im Kapitel 7 noch näher eingegangen.

Neben diesen "von außen" kommenden Gefahren gibt es auch noch Probleme, die durch das Betriebssystem selbst oder durch seine Administration hervorgerufen werden. Dazu einige Beispiele:

2.6 Angriffe über das Netz

Für Benutzer und Administratoren von Netzwerken oder Einzelrechnern mit Internetzugang wird es immer wichtiger, sich mit der Sicherheit ihrer Rechner zu befassen. Die hier beschriebenen Sicherheitslücken und Angriffsmethoden bilden die Grundlage der meisten Attacken in heutigen TCP/IP-Netzwerken. Oft werden bei Angriffen mehrere der beschriebenen Methoden kombiniert.

Überblick über die Schichten der TCP/IP-Netzwerkprotokolle:

Application Layer
Schichten 5 - 7

WWW, E-Mail, etc.

Transport Layer
Schicht 4

TCP, UDP

Network Layer
Schicht 3

IP

Data Link Layer
Schichten 1 - 2

LLC, Hardwareinterface


Diese Schichten entsprechen in etwa dem OSI-Schichtenmodell, wobei hier allerdings immer mehrere Schichten des OSI-Modells zu einer Schicht zusammengefaßt wurden. Im Folgenden sollen nun die Sicherheitslücken in den einzelnen Schichten des Protokolls genauer betrachtet und die darauf basierenden Angriffsstrategien untersucht werden.

Security im Data Link und Network Layer

Sniffing
Wie schon weiter oben gezeigt, lassen sich Daten abhören. Im lokalen Netz gelangen die Datenpakete an alle Rechner. Normalerweise werden Daten, die nicht an einen bestimmmten Rechner adressiert sind, von diesem verworfen. Genau an dieser Stelle setzen die Sniffing-Attacken an. Statt die fremden Daten zu verwerfen, kann man diese Daten speichern und eventuell weiter verwenden. So ist es z.B. möglich durch einen entsprechenden Filter eine komplette Verbindung zu protokollieren. Auf diese Weise kann ein Angreifer auch an Passwörter gelangen, wenn diese unverschlüsselt über das Netzwerk übertragen werden.
Das gilt natürlich auch für IP-Verbindungen. Bei vielen Betriebssystemen gehören entsprechende Programme zum Lieferumfang, da sie für den Test und die Fehlersuche in Netzen notwendig sind (z. B. tcpdump). Da auch die Paßworte beim Telnet- oder FTP-Login im Klartext weitergegeben werden, besteht die Möglichkeit, daß jemand an diese Information kommt.
Zum "Erschnuppern" der Daten dienen Programme, die man "Sniffer" nennt. Eigenschaften: Sie dienen den "bad guys" zum Bekannte Vertreter sind "SniffIt", "Etherload", "Netman", "LinkView" oder "LANWatch".

Beispiele für den Einsatz von Sniffern
Abhören von Passwörtern
Im Beispiel loggt sich ein Benutzer mit dem Namen testuser und dem Paßwort geheim ein.

$ ./sniffit -p 23 -A . -t lx1-lbs 

........... ..!.."..'.....#..%....P......$.. .9600,9600....#.lx2-lbs:0.0....'..
PRINTER.lp.DISPLAY.lx2-lbs:0.0......XTERM........testuser..geheim..
Auch in diesem Fall verschafft Verschlüsselung Abhilfe. Die gleiche Session, aber mit Einsatz der Secure Shell:
SSH-1.5-1.2.26.....................K2...i....i#..B......;....?.H..v.{v5K.^....{
.t5.4.I..]....6VH..uN.p..E.u.....j.U&.\..N~...%kI.,....q..s..V.....(m...2.u...!
rL/......R.d......'.....1"#.$[. ..6.W.........g.v.j..e%.1..2..v.....#.....*..r.
......0xM....1..q..O.....pS@.._=.......$...ZJ...N&x..[..........L.........k...v
4.......v...}...fXI...Np7.....=$...%.s...iW".....$ID..g..i.

Mitlesen der Mail
Im folgenden Beispiel wird der komplette Mailverkehr eines Rechners (Port 25) namens lx1-lbs abgehört. Das ist von jedem beliebigen Rechner möglich, an dem der Datenstrom vorbeiläuft.

$ ./sniffit -p25 -t lx1-lbs

EHLO lx2-lbs.e-technik.fh-muenchen.de
MAIL From: SIZE=299
RCPT To:
DATA
Received: from localhost (localhost [[UNIX: localhost]])
	by lx2-lbs.e-technik.fh-muenchen.de (8.9.3/8.9.3) id OAA01804
	for testuser@lx1-lbs.e-technik.fh-muenchen.de; Fri, 8 Oct 1999 14:11:12 +0200
From: Joerg Holzmann 
To: testuser@lx1-lbs.e-technik.fh-muenchen.de
Subject: Testmail
Date: Fri, 8 Oct 1999 14:07:04 +0200
X-Mailer: KMail [version 1.0.21]
Content-Type: text/plain
MIME-Version: 1.0
Message-Id: <99100814111100.01802@lx2-lbs>
Content-Transfer-Encoding: 8bit

Hallo lieber Testuser,

Vielen Dank fuer Ihren Beitrag zu unserem Sicherheitsforum. 
Wir werden Ihren Artikel in der neuen Ausgabe der FHM-Hackerpost
veroeffentlichen.
Abhilfe schaffen hier beispielsweise kryptographische Verfahren und Methoden.

ARP-Spoofing
Das ARP-Spoofing setzt auf dem ARP-Protokoll (ARP=Adress-Resolution-Protocoll) auf und nutzt dabei aus, daß beim dynamischen Routing die Umsetzungstabellen von IP-Adressen auf die entsprechenden Hardwareadressen in bestimmten Abständen aktualisiert werden. Dynamische ARP Routen werden regelmäßig (nach einem bestimmten Zeitintervall) verworfen und der Rechner fordert von seinem Kommunikationspartner eine Bestätigung seiner IP- und Hardwareadresse an. An genau dieser Stelle setzt nun ein Angreifer an. In der Regel wird nun der Rechner, dessen Platz der Angreifer einnehmen will ausgeschaltet (dies kann z. B. durch einen der später beschriebenen "Denial-of-Service" Angriff geschehen), so daß er keine Anfragen mehr beantworten kann. Anschließend wird auf einen ARP request des "Opfers" gewartet. Da der eigentlich angesprochene Rechner keine Antwort senden kann, ist es dem Angreifer nun möglich einen gefälschten ARP reply an das "Opfer" zu schicken. Dieser trägt die falsche Adresse in seine ARP-Queue ein und verschickt alle folgenden Nachrichten statt an den eigentlichen Zielrechner an den Rechner des Angreifers.

Security im Transport- und Network-Layer

ICMP-Tunneling
Alle ICMP-Messages besitzen ein Datenfeld, dessen Bedeutung nicht festgelegt ist und das im Normalfall nicht benutzt wird. Damit bietet sich die Möglichkeit Informationen über ICMP-Messages zu verschicken, falls kein anderer Dienst dafür zur Verfügung steht. Es ist damit also möglich, Nachrichten aus einem Netzwerk, das z.B. hinter einem Firewall steht, "herauszuschmuggeln". Eine besondere Gefahr stellt das ICMP-Tunneling dar, weil ICMP oft als harmlos eingestuft wird und Firewalls die Pakete ungefiltert passieren lassen.

IP-Spoofing
Beim IP Spoofing wird die ungenügende Überprüfung des Kommunikationspartners unter TCP/IP ausgenutzt, um mit gefälschten IP-Adressen einem Rechner Informationen unterzuschieben. Oft werden diese Attacken benutzt, um falsche Routing-Informationen an ein System weiterzugeben. Aber auch bei einzelnen Verbindungen kann das Fälschen von IP-Adressen Anwendung finden, wie dies im nächsten Abschnitt beim Hijacking der Fall ist. Es sollen nun einige Möglichkeiten besprochen werden, die sich durch das IP Spoofing ergeben. Eine komplette Aufführung ist an dieser Stelle nicht möglich, da diese Gruppe von Security Attacks sehr umfangreich ist.

Route-Spoofing
Dabei werden falsche Routing-Informationen an Router weitergegeben, um eine Umleitung von Verbindungen auf den Agriffsrechner zu erreichen. Es existieren mehrere Ansatzmöglichkeiten, um eine solche Attacke durchzuführen. Im folgenden werden zwei dieser Möglichkeiten genauer beschrieben.

DNS Spoofing
Die im Internet übliche Umsetzung von Hostnamen in IP-Adressen über das Domain Name System (DNS) bietet eine weitere Möglichkeit falsche IP-Adressen an einen Rechner weiterzugeben. Damit ist beispielsweise folgende Attacke möglich:

Die falsche Nachricht, daß www.microsoft.com die Adresse 129.187.244.3 hat, wird vom Opfer-DNS ohne jegliche Prüfung übernommen. Es bieten sich weitere Möglichkeiten an:

Diese Art des Angriffs wird zum Beispiel verwendet, um Hompages zu "entführen". Dabei wird meist nur ein Eintrag im DNS "gefälscht", wodurch alle Benutzer, die den Hostnamen statt dessen IP-Adresse verwenden, auf einen falschen Server geführt werden.

Hijacking
Hijacking stellt eine Kombination der Sniffing- und Spoofing-Angriffe dar. Dabei werden bestehende Verbindungen zwischen zwei Rechnern "entführt", d. h. der Angreifer übernimmt die Stelle eines der Kommunikationspartner. Da bei einer solchen Übernahme keine Authentifizierung des Benutzers mehr durchgeführt wird, kann ein Angreifer großen Schaden anrichten.

Security im Application Layer

Der Application Layer bietet viele Möglichkeiten für Angreifer in ein (geschütztes) Netzwerk einzudringen. Die Sicherheitsprobleme hier sind sehr vielfältig und von den einzelnen Applikationen abhängig. Oft lassen sich Sicherheitslücken auf Fehler in Konzeption und Implementation der Applikationen zurückführen. Allerdings kann auch eine falsche oder ungenügende Konfiguration einer Applikation einem Angreifer Tür und Tor öffnen. In diese Gruppe gehören Viren und Trojanische Pferde.

Auf dieser Ebene kann ein Angreifer auch versuchen, allgemeine Informationen über seine 'Opfer' einzuholen. Eine erst Möglichkeit ist das Abscannen eines Netzes auf 'aktive' IP-Adressen, d. h. IP-Adressen, unter denen ein Rechner ansprechbar ist. Dazu genügt das ping-Kommando. Ein kleines Shell-Skript erledigt die Arbeit in Sekunden (unter Solaris liefert ping als Default nur 'xxx is alive.' oder 'xxx unreachable.'. Gegebenenfalls ist ping mit geeigneten Parametern zu versehen):

for VICTIM in `seq 1 254`
do
  ping 192.168.1.$VICTIM
done
Jetzt kennt der Angreifer alle in Frage kommenden Opfer (auch wenn sie keinen Nameservereintrag besitzen). Die nächste Stufe könnte der Einsatz eines Portscannes sein. Oder man sucht mal nach Benutzern auf dem Rechner.

Das geht mit dem finger-Kommando. Das finger-Kommando erlaubt es, Informationen über Benutzer zu erlangen, weshalb es aus Gründen des Datenschutzes oft auch gesperrt wird. Mit dem Kommando 'finger user@host' kann man sich über einen bestimmten Benutzer informieren. Die Ausgabe sieht beispielsweise folgendermaßen aus:

    Login: plate Name: Juergen Plate
    Directory: /home/plate Shell: /bin/sh
    No unread mail.
    On since Sun Nov 20 19:36 (MET) on ttyp3
    No Plan.
Die Informationen werden einigen Standarddateien des Rechners entnommen.
Eine weitere Möglichkeit bietet das 'fingern' eines anderen Hostrechners. Man erhält dann Information darüber, welche Benutzer eingeloggt sind. Zusammen mit einer Nameserveranfrage erhält man dann schon eine Liste von Mailadressen für Spam und eine Liste von Usernamen zum Angriff auf die einzelnen Accounts.

Der whois-Dienst liefert Informationen über Netzteilnehmer, sofern sich diese bei einem Whois-Server haben registrieren lassen. Das kann man über ein Formular, netinfo/user-template.txt auf nic.ddn.mil, machen, das dann an registar@nic.ddn.mil geschickt wird). Das Kommando lautet:

    whois Namensangabe
wenn der voreingestellte Server verwendet wird. Mit Serverangabe lautet das Kommando:
    whois -h Serverrechner Namensangabe
Man erhält dann alle Angaben aus der Datenbank, die zur Namensangabe passen. Als Namensangabe kann entweder ein Userpseudonym (Login-Name) oder der "echte" Name, eventuell als 'Nachname, Vorname', angegeben werden. Bei grafischen Benutzerschnittstellen erfolgt die Parameterangabe über Dialogfelder und nicht in der Kommandozeile.
Als Whois-Server können Sie 'whois.nic.de' oder 'whois.internic.net' angeben.
Durch die Angabe 'do Rechnerdomain' können Infos über die entsprechende Domain eingeholt werden. Ebenso kann man sich mit 'host Rechnername' über einzelne Computer oder mit 'net Netzwerknummer' über Netze informieren.
Fehlt das Whois-Kommando, öffnet man eine Telnet-Verbindung zu nic.ddn.mil und gibt 'whois' nach dem @-Prompt ein. Auf den Prompt 'Whois:' hin, kann man interaktive Anfragen absetzen (z. B. das 'help'-Kommando).

Über das Common Gateway Interface, also über CGI-Scripts, können Attacken gestartet werden. Normalerweise erlaubt ein CGI-Script dem Benutzer einer Website, interaktive Prozesse vom Browser auszulösen, z. B. auf eine Datenbank zuzugreifen oder ein Formular vom Server auswerten zu lassen. Die Sicherheitslücken bei CGI-Programmen entstehen durch Fehlkonfiguration der Serversoftware und durch Fehler im Script selbst. Dazu ist es nicht notwendig, daß das Script von Haus aus dazu angelegt ist Schaden anzurichten. Oft reicht eine fehlende Sicherheitsabfrage, die unabsichtlich oder aus Bequemlichkeit nicht eingebaut wurde. Deshalb sollten bei CGI-Programmen grundsätzlich alle Eingaben als "böse" betrachtet werden. Zu bedenken ist auch, daß der Angreifer nicht unbedingt das entworfene Formular ausfüllen muß. Er kann seine Eingaben für das CGI-Programm auch direkt in der URL-Zeile des Browsers tätigen.
Ein weiterer Angriffspunkt ist die die Speicherung unerwünschter Daten auf dem Server. Dazu ein Beispiel: Viele Webseiten bieten Gästebücher an, in die jeder etwas eintragen kann. Der Hacker trägt neben "normalem" Text auch HTML-Code, z. B. eine URL, ein Javascript-Programm oder eine Referenz auf ein Active-X-Control ein. Leser des Gästebuches erleiden durch diese Teile der Seite Schaden - oder werden auch nur beleidigt. Es gab den Fall, daß irgendwelche "Spaßvögel" im Gästebuch von McDonalds Links auf Porno-Sites hinterlassen haben.
Um auch bei Fehlern in den Skripts möglichst wenig Angriffsfläche zu bieten, darf der WWW-Server nur unter einer Benutzerkennung mit möglichst wenig Rechten laufen (z. B. "nobody"). Auch die CGI-Programme dürfen nur unter geringen Rechten laufen, niemals als Root-Programme. Alle CGI-Scripte gehören in ein spezielles Verzeichnis, etwa "serverhost/cgi-bin", in das nichts anderes kommt.

Auf Gefahren, die speziell die Anwenderseite betreffen, wird in Kapitel 7 eingegangen.

Zum Inhaltsverzeichnis        Zum nächsten Abschnitt


Copyright © Prof. Jürgen Plate, Fachhochschule München