|
|
Wer ist anfällig für Angriffe?
Angriffe auf Computer und NetzeJetzt beschäftigen wie uns mit Angriffen auf Rechner über
externe Netze. Die Angriffe sind in verschiedene Kategorien unterteilt, um so
eine strukturierte Übersicht über die Menge der Angriffen zu geben. Diese
Angriffsformen werden nicht zwingend in Reihenfolge oder Ablauf eingehalten,
d.h. ein Angriff kann durchaus in mehrere Kategorien fallen. Darüber hinaus wird
zu jedem Angriff die Systemschwäche angeben, die er ausnutzt. Dies kann z.B.
eine Designschwäche sein, ein Implementierungsfehler oder ein
Konfigurationsfehler. Ich teile die Menge der Systemschwächen wie folgt auf:
Diese Kategorien ermöglichen eine einfache und natürliche Charakterisierung der zu besprechenden Attacke. Wie bereits erwähnt, kann eine Attacke durchaus in mehrere Kategorien fallen. Beispielsweise könnte das Anbieten eines mit einem Designfehler behafteten Dienstes als Konfigurationsfehler kategorisiert werden. Es ist daher zweckmäßig, die ursächliche Schwachstelle für eine Attacke zu finden. Für das obige Beispiel bedeutet dies, dass nur der Designfehler als Basis für die Attacke aufgeführt wird. Neben den ursächlichen Schwachstellen eines Systems, die vom
Kriminellen Angreifern ausgenutzt werden, werden zu jedem der Angriffe auch noch
die möglichen Schäden angegeben. Dabei werden die folgenden Kategorien Anwendung
finden:
Der unerlaubte Zugriff auf einen Rechner kann den Verlust der Datenintegrität oder auch der Datenechtheit beinhalten. Umgekehrt kann der Verlust der Datenintegrität einer Konfigurationsdatei den unerlaubten Zugriff auf einen Rechner erst ermöglichen. Aus diesem Grund werden bei den Angriffen nur die unmittelbaren Schäden aufgeführt. Ich versuche nun die Planungs- und Informationssammlungsphase
eines Angriffs zu beschreiben. Die Ausführung der verschiedenen Angriffe werden
gemäß ihres Abstraktionsgrades unterteilt:
Diese Ebenen werden auch als Dienstebenen bezeichnet.
AngriffsplanungNormalerweise erfolgen die eigentlichen Angriffe erst, nachdem der Angreifer zusätzliche Information über das Zielsystem gesammelt hat. Um diese zu erlangen, werden Aktionen durchgeführt, die ebenfalls als Angriffe bezeichnet werden, aber keinen direkten Schaden hinterlassen. Bei einem vorbereitenden Angriff wird neben allgemeiner Information über das Zielsystem auch Information darüber gesammelt, wie der Angreifer möglichst unbemerkt agieren kann. Beliebte Varianten sind hierbei das sogenannte ”social engineering”, sowie das Sammeln von Systemproben (welcher Dienst ist auf welchem Port aktiv) oder auch die Kombination von technischen und sozialen Vorgehensweisen. Der Angreifer benötigt Informationen über das Betriebssystem der Zielrechners, z.B. welche Version des Betriebssystems läuft und welche Patches eingespielt wurden. Darüber hinaus ist es für ihn interessant zu erfahren, wie gut das System administriert wird. Folgende Möglichkeiten zur Angriffsplanung stehen einem
versierten Angreifer zur Verfügung:
Neben diesen Techniken findet das bereits erwähnte ”social engineering” Anwendung. Hierbei ruft der Angreifer den Systemadministrator an und spielt ihm einen ratlosen Benutzer vor oder gibt sich gegenüber einem Benutzer als Administrator aus (”Wir müssen ein paar Patches einspielen, können Sie sich bitte abmelden und Ihr Passwort vorher auf ‚geheim‘ setzen?”).
TCP Port scansEs gibt verschiedene Varianten des TCP-Port-Scans, die aus der ursprünglichen daraus erwachsen sind, dass sie verschiedene Protokollierungsmechanismen umgehen und so nachträglich nicht mehr zu entdecken sind. Aktiver Port Scan Ein TCP Port Scan ermöglicht es, festzustellen, welche TCP-
basierten Dienste ein Zielrechner anbietet. Der aktive TCP Port Scan basiert auf
dem dreistufigen Initiierungsvorgang (sog. three-way handshake) zum TCP-
Verbindungsaufbau: 1. Angreifer sendet SYN an zu testenden Port des Zielsystems Nachdem die Verbindung in Schritt 3 zustande gekommen ist, weiß der Angreifer, dass der entsprechende Port des Zielsystems aktiv ist. Angriffe dieser Art können leicht mit Programmen wie dem TCP- Wrapper entdeckt werden. Ursächlicher Fehler: Keiner Mögliche Schäden: Angreifer erhält Information über Zielsystem Half Open Scan Der sogenannte Half Open Scan ist ein geschickterer Weg für den Angreifer, den Port Scan unentdeckt durchzuführen. Hierbei werden nicht alle 3 Stufen des TCP- Verbindungsaufbaus durchgeführt, sondern lediglich die ersten 2. Dies hat zu Folge, dass der Angreifer nach Schritt 2 weiß, dass ein Dienst auf dem entsprechenden Port wartet. Der Verbindungsaufbau ist – da die dritte Stufe nicht ausgeführt wurde – nicht erfolgreich und wird somit auch nicht protokolliert. Programme wie tcplog oder andere Firewallprogramme sind allerdings in der Lage, auch die fehlgeschlagenen Versuche eines TCP- Verbindungsaufbaus zu protokollieren. Ursächlicher Fehler: Keiner Mögliche Schäden: Angreifer erhält Information Stealth Scanning Die subtilste Möglichkeit, die vorhandenen TCP- Dienste
abzutasten, ist das sogenannte Stealth Scanning. Dieses Scannig:
Der Angreifer sendet ein FIN- Paket an den Zielport. Der Port ist genau dann inaktiv, wenn der Angreifer ein RST Paket erhält. Das Stealth Scanning ist nur möglich, wenn das Zielsystem auch das zuvor beschriebene Verhalten zeigt. Ist dies nicht der Fall, wie z.B. bei Windows NT, so versagt diese Methode. Ursächlicher Fehler: Designschwäche des TCP- Protokolls Mögliche Schäden: Angreifer erhält Information RPC Stealth Scan Ein Remote Procedure Call (RPC) ist eine Möglichkeit, Prozeduren auf nicht lokalen Rechnern auszuführen. Eine Ansammlung von Prozeduren wird als Programm bezeichnet. Möchte ein Anwender eine bestimmte Prozedur innerhalb eines bestimmten Programms aufrufen, so sendet er dazu eine initiale Anfrage (initial query), die die gewünschte Programmnummer, die gewünschte Prozedurnummer sowie die entsprechenden Argumente etc. enthält, an den Zielrechner. Diese Prozedur wird dann mit den entsprechenden Parametern ausgeführt. Die Prozedurnummer entspricht einem eindeutigen Bezeichner. Es gibt eine Prozedurnummer, zu der es immer eine Prozedur gibt: Prozedur Nr. 0. Möchte ein Angreifer nun herausfinden, welche Programmnummern auf dem Zielsystem aktiv sind, so fragt er sukzessive alle Programmnummern nach der Prozedur 0. Die Prozedur 0 hat keine Argumente und liefert auch keinen Wert zurück. Wenn allerdings der Aufruf an diese Prozedur fehlschlägt, so wird ein Fehlercode übermittelt. Der Angreifer kann so feststellen, ob das entsprechende Programm aktiv ist oder nicht. Zuvor muß jedoch herausgefunden werden, auf welchen Ports RPC läuft. In Abhängigkeit davon, ob RPC basierend auf UDP oder auf TCP implementiert ist (gewöhnlich UDP), wird ein UDP- oder TCP-Port Scan durchgeführt. Sobald ein aktiver Port gefunden wurde, fragt der Angreifer mit Programmnummer i nach Prozedur 0. Falls der Aufruf abgewiesen wird, bekommt der Angreifer eine Fehlermeldung. Falls der Aufruf nicht abgewiesen wird, weiß er, daß auf dem betreffenden Port ein RPC-Dienst mit Programmnummer i horcht. Ursächlicher Fehler: Keiner Mögliche Schäden: Angreifer erhält Information
UDP Port ScansUDP ist ein verbindungsloses Protokoll und besitzt daher – im Gegensatz zu TCP – keine Verbindungsaufbauprozedur. Deshalb gibt es auch keinen sicheren Weg, nach aktiven UDP- Diensten zu suchen. Es gibt allerdings eine Möglichkeit nach inaktiven UDP- Ports zu suchen: Ein Rechner, der auf einem bestimmten Port keinen UDP- Dienst anbietet, antwortet mit der Fehlermeldung ICMP Port Unreachable, falls Daten zu dem entsprechenden Port gesendet werden. Von den inaktiven Ports kann der Angreifer nun auf die aktiven schließen. Ursächlicher Fehler: Keiner Mögliche Schäden: Angreifer erhält Information
Suche nach verwertbarer InformationJeder der folgenden Dienste liefert dem Angreifer Information über das Angriffsziel, seine Konfiguration uns seine Benutzer etc. Die so gewonnene Information kann dazu missbraucht werden, das Zielsystem zu kompromittieren. Finger, rusers Diese Dienste liefern Information über die momentan aktiven Benutzer eines Systems. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Angreifer erhält Information Netstat Netstat liefert Netzstatusinformation wie aktuelle geöffnete TCP- oder UDP- Verbindungen. Ein Angreifer kann so leicht feststellen, welche Ports aktiv sind. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Angreifer erhält Information Rstatd, sysstat Diese Dienste liefern Information über den aktuellen Ressourcenverbrauch sowie über die momentan aktiven Prozesse einer bestimmten Maschine. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Angreifer erhält Information Identd Dieser Dienst, falls auf einem Client installiert, verschickt bei Bedarf Information darüber, wer einen bestimmten Port benutzt. Wählt ein Benutzer eine bestimmte Webseite, begrüßt ihn das System z.B. mit Hello user@ineptiae.de Die Information, wer der Benutzer ist (in diesem Fall der Benutzer user) wurde durch den Server identd des Benutzers angefragt. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Angreifer erhält Information Rwho Liefert Information darüber, wer die remote users sind. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Angreifer erhält Information Nbstat (nur bei Windows NT) Nbtstat -a nodename oder
Nbtstat -A ipaddress liefert Information über
Darüber hinaus kann auch der Name des Adminstrator- Accounts mittels Nbstat ermittelt werden. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Angreifer erhält Information
Angriffe auf unterer EbeneViele Angriffe werden auf den unteren Protokollebenen des OSI Referenzmodells durchgeführt. Dies hat – zumindest für den Angreifer – häufig den Vorteil, dass auf dieser Ebene nur eine schwache Protokollierung stattfindet. Darüber hinaus setzen bekannte Sicherheitsmechanismen wie Authentisierung erst auf höherer Ebene ein, so dass auf unteren Ebenen nur schwache Sicherheitsmechanismen vorhanden sind.
Angriffe auf ARP- EbeneDas Address Resolution Protocol (ARP) wird verwendet, um die Media Access Control MAC- Adresse eines Rechners innerhalb eines Zielnetzes zu ermitteln. Die MAC- Adresse ist die 48-bit lange, weltweit eindeutige Hardwareadresse der Ethernetkarte. Das ARP dient dazu, eine gegebene IP- Adresse in die zugehörige Hardwareadresse umzuwandeln. Falls beispielsweise ein Router ein IP- Paket mit dem Ziel 195.95.23.120 erhält, fragt er mittels eines Broadcasts innerhalb des Zielnetzes: ”Wer hat die IP- Adresse 195.95.23.120?”. Nur das entsprechende Gerät meldet sich auf diese Anfrage und antwortet: ”Ich habe diese IP- Adresse und meine Hardwareadresse (MAC- Adresse) ist 123456.” Es gibt bei diesem Verfahren eine Schwachstelle: Jeder Host hält in einem lokalen Zwischenspeicher die ihm bekannten Zuordnungen von IP- Adressen zu Hardwareadressen für eine gewisse Zeitspanne vor. Dieser Zwischenspeicher wird nicht nur nach ARP- Anfragen (Pull-Technik) überschrieben, sondern kann auch durch eine Push- Technik überschrieben werden: Der Angreifer kann dem Host z.B. alle 20 Minuten eine Nachricht mit dem Inhalt ”Das Gerät mit der IP- Adresse 195.95.23.120 bin ich und ich habe die MAC- Adresse 234567” senden. Der Host glaubt dies, da auf ARP- Ebene keine Authentisierung stattfindet, und aktualisiert die Information in seinem Zwischenspeicher entsprechend. Dieser Angriff funktioniert nur innerhalb eines Netzsegments, da ARP ein nicht Routing- fähiges Protokoll ist. Dennoch sollten die Schäden, die durch einen solchen Angriff entstehen, nicht unterschätzt werden. ARP- Angriffe können Router und Firewalls täuschen. Eine mögliche Schutzmaßnahme gegen ARP- Angriffe besteht darin, den ARP- Zwischenspeicher als statisch zu konfigurieren. Damit büßt man allerdings die Flexibilität des ARP- Protokolls ein: Jede neue Maschine muss beim Router angemeldet werden. ARP- Angriffe führen mindestens zu einem Denial-of-Service des Angriffsziels, da die Maschine innerhalb des Netzes nicht mehr erreichbar ist. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Denial-of-Service, Vertraulichkeitsverlust der transportierten Daten, Integritätsverlust der transportierten Daten.
Angriffe auf IP-EbeneIP Fragmentierung Die TCP- Header- Information kann fragmentiert sein, d.h. ein einzelner TCP- Header ist über zwei IP-Datagramme verteilt: das erste Datagramm enthält die Bits 1, 2, ..., (32 + i) und das zweite die Bits (32 + i + 1), ..., END. Router, welche die TCP- Header nach bestimmten Zeichenketten untersuchen, können so überlistet werden. Ist ein Router so konfiguriert, dass er überprüfen soll, ob die Signale SYN = 1 und ACK = 0 sind, so wird er diese Information innerhalb des vierten Worts eines TCP- Headers suchen. Da der Header fragmentiert ist, wird der Router das Paket nicht erkennen. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Zugriff auf Netzressourcen Reserved Bit Überprüfung eines fragmentierten SYN-Pakets Der Angreifer kann fragmentierte SYN-Pakete versenden, selbst wenn der Paketfilter angewiesen wurde, diese in Verbindung mit einem bestimmten Port nicht durchzulassen. Der Angreifer setzt dazu das Reserved Bit. Grund für dieses seltsame Verhalten ist ein Programmierfehler beim Paketfilter. Dieser Angriff kann Firewall- Komponenten umgehen und so Zugriff auf Daten erlauben, die eigentlich geschützt werden sollten. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll, Implementierungsfehler. Mögliche Schäden: Zugriff auf Netzressourcen Falsche IP-Parameter Hierunter fallen eine Reihe von IP- spezifischen Angriffen. Zum Beispiel sind viele Systeme gefährdet, falls sie IP- Pakete erhalten, bei denen Quell- und Zieladresse übereinstimmen. Auch kann ein IP- Paket mit falscher Längenangabe die Implementierung des IP- Stacks des Zielsystems so durcheinander bringen, dass das komplette Betriebssystem zum Stehen kommt (Ping of Death). Diese Angriffen sind bekannt unter den Namen teardrop, land attack, bonk Ursächlicher Fehler: Implementierungsfehler Mögliche Schäden: Denial- of- Service SYN mit unerreichbarer Quelladresse Der Angreifer sendet ein SYN-Paket an einen bestimmten Port des Angriffsziels und deutet so den gewünschten Verbindungsaufbau an. Das SYN-Paket enthält eine gefälschte und unerreichbare IP- Quelladresse. Der angesprochene Rechner reserviert Speicher für die gewünschte Verbindung und verschickt SYN- ACK um den Verbindungsaufbau positiv zu bestätigen. Da die Quelladresse des ursprünglich gesendeten IP- Pakets nicht erreichbar ist, wartet das Angriffsziel vergebens auf die ACK Bestätigung. Wiederholt man die obige Prozedur sehr schnell hintereinander, stellt das angegriffene System zu viele Betriebsmittel zur Verfügung, und die nicht zustandekommenden Verbindungen bringen das System zum Absturz. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Denial- of- Service CPU-Angriffe mittels Telnet (nur Windows NT) Der Angreifer stellt eine Telnet-Verbindung zu einem anfälligen Port her (z.B. 53, 135 oder 1031). Er gibt dann ca. 10 beliebige Zeichen ein und bedient die Eingabetaste. Bei dem betroffenen NT System steigt die CPU Auslastung sofort auf 100% und es kommt zu einem de-facto- Stillstand. Abhängig vom betroffenen Port sind auch andere Schäden möglich. Ursächlicher Fehler: Implementierungsfehler Mögliche Schäden: Denial- of- Service Windows NT Internet Information Server (IIS) Crash Der Angreifer benutzt eine Telnet-Verbindung zu einem Web-Server auf Port 80 und gibt den Befehl GET ../.. ein. Microsofts Internet Information Server bricht augenblicklich zusammen. Ursächlicher Fehler: Implementierungsfehler Mögliche Schäden: Denial- of- Service
Angriffe auf ICMP-EbeneDas Internet Control Message Protocol (ICMP) dient zum externen Konfigurieren und Warten von Netzkomponenten. ICMP Clients können auch asynchrone Meldungen senden. Dies wird häufig als ICMP Trap bezeichnet. ICMP Redirect Ein Bestandteil der ICMP- Spezifikation sind die sogenannten ICMP Redirect Meldungen. Diese verändern die Routing- Tabellen des Zielrechners. Daten können so abgefangen und ausspioniert werden. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Vertraulichkeitsverlust der übermittelten Daten, Integritätsverlust der übermittelten Daten. ICMP Destination Unreachable Das ICMP- Protokoll unterstützt Nachrichten des Typs ”destination unreachable” sowie ”time to live exceeded”, welche üblicherweise generiert werden, falls ein Rechner nicht oder mit einer bestimmten Anzahl von Sprüngen (hops) nicht erreicht werden kann. Diese Nachrichten können für denial-of-service Angriffe genutzt werden. Es existieren keine Autorisierungsmechanismen zum Versenden solcher Nachrichten, damit kann jeder Quellrechner obige Nachrichten an jeden Zielrechner schicken. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Denial- of- Service ICMP Echo Request (Ping of Death) Der Angreifer sendet hierbei ICMP Echo Request Pakete (auch PING- Pakete genannt), die eine kritische Größe haben. Das betroffene Zielsystem bricht beim Empfang derartiger Pakete zusammen (Ping of Death). Die meisten ICMP- Implementierungen können nur mit Paketen umgehen, die von der in der Spezifikation geforderten Maximalgröße nicht abweichen. Mit Hilfe entsprechender Programmen ist es möglich, nicht spezifikationsgemäße Ping- Pakete zusammenzubauen. Ursächlicher Fehler: Implementierungsfehler Mögliche Schäden: Denial- of- Service ICMP- Zeitstempel ICMP sieht die Möglichkeit vor, Zeitstempel anzufordern. Falls eine Authentisierungsmethode sich auf die lokale Uhrzeit eines Rechners verlässt, so kann diese Methode leicht ausgehebelt werden, da die Uhrzeit vom Angreifer mittels eines ICMP- Zeitstempels angefordert werden kann. Obwohl der Einsatz einer solch schwachen Authentisierung sehr unwahrscheinlich ist, kann die lokale Uhrzeit der Maschine unter Umständen dennoch für Angriffe ausgenutzt werden. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Angreifer gewinnt Information ICMP-Tunnel Die grundlegende Idee eines ICMP- Tunnels ist es, im Datenfeld eines ICMP Echo Requests Daten unterzubringen, die auf dem Zielsystem von einem Server interpretiert werden. Dies ist natürlich mit jedem anderen Protokoll auch möglich. Das Problem ist lediglich, dass ICMP Echo Request Pakete von Administratoren üblicherweise als relativ unkritisch angesehen und infolgedessen auch nicht gefiltert werden. Unter Verwendung solcher Pakete kann man daher eine Firewall ”tunneln”, d.h. trotz aktiver Firewall Daten übermitteln. Allerdings setzt dieser Angriff voraus, dass es dem Angreifer vorher gelungen ist, auf dem Zielrechner einen Server zu installieren, der diese Pakte entgegennimmt und interpretiert. Ursächlicher Fehler: Konfigurationsfehler, Designfehler in der Dienstspezifikation Mögliche Schäden: Zugriff auf Rechnerressourcen, Datenvertraulichkeitsverlust, Datenintegritätsverlust, Verfügbarkeitsverlust, Denial-of-Service.
SpoofingBei Spoofing- Angriffen versucht sich der Angreifer hinter einer falschen Adresse zu verstecken. Spoofing- Angriffe können verschiende Dienste betreffen. Der anfangs besprochene ARP- Angriff ist ebenfalls eine Art von Spoofing: Der Angreifer gaukelt dem Router eine falsche Identität vor. IP Spoofing Hierbei bringt der Angreifer im IP- Header eine falsche Quelladresse unter. Dies entspricht dem Versenden eines Briefs mit falschem Absender. Da auf IP- Ebene keine Authentisierung stattfindet, kann das Zielsystem die Authentizität des Absenders nicht überprüfen. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Zugriff auf Netzressourcen TCP-Sequenznummernvorhersage Hierbei handelt es sich um einen Angriff, der oft in Kombination mit IP Spoofing ausgeführt wird. Der Angriff wurde 1985 von Robert Morris beschrieben und wird in zwei Schritten ausgeführt: In einem ersten Schritt stellt der Angreifer eine normale Verbindung zum Zielsystem her: Der Angreifer sendet ein SYN-Paket zusammen mit einer Startsequenznummer INS-A. Der Zielrechner antwortet mit einem SYN-Paket mit einer Startsequenznummer INS-Z, gefolgt von einem ACK- Paket mit INS-A (der Startsequenznummer). Der Angreifer wiederum bestätigt dieses mit ACK und INS-Z. In einem zweiten Schritt versucht der Angreifer einen Verbindungsaufbau mit einer gefälschten IP- Adresse, etwa 1.2.3.4. Dazu sendet er ein SYN-Paket mit der Startsequenznummer INS-A‘ an das Zielsystem. Das Zielsystem antwortet nun mit den Paketen (SYN, INS-Z‘) und (ACK, INS-A‘). Allerdings schickt das Zielsystem diese Daten an die Adresse 1.2.3.4. Die Taktik des Angreifers ist es nun, zu antworten, bevor 1.2.3.4 antwortet. Dazu startet der Angreifer gleichzeitig einen SYN Denial-of-Service Angriff gegen 1.2.3.4, um diesen ”mundtot” zu machen. Um korrekt zu antworten, muss der Angreifer INS-Z‘ kennen.
Der Wert dieser Zahl basiert auf
Da der Angreifer INS-Z und das Zeitintervall kennt, wird die Anzahl der möglichen Werte für den zu ratenden Wert INS-Z‘ zumindest so eingeschränkt, dass der Angreifer sukzessive alle möglichen Werte durchprobieren kann. ACK Pakete mit falschem INS-Z‘ Wert werden vom Zielsystem verworfen. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Zugriff auf Rechnerressourcen DNS Spoofing Dieser Angriff erfolgt in zwei Schritten:
Der Angreifer hat es nun geschafft, den DNS-Cache von nameserver.com zu verunreinigen. Jede Anfrage nach www.opfer.com wird nun an attacker.com geleitet. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Datenvertraulichkeitsverlust während des Transports, Datenechtheitsverlust RIP Spoofing Das Routing Information Protokoll (RIP, RFC 1058) wird unter anderem dazu benutzt, die Routing- Tabellen eines Rechner oder Routers auf dem aktuellen Stand zu halten. Normalerweise werden diese Tabellen alle 30 Sekunden aktualisiert. Dabei sendet ein Router seine Tabellen mittels Broadcasts an alle benachbarten Router. Bei diesem Vorgang findet keine Authentisierung statt; die Router glauben dieser Information blind. Ein ”RIP Spoofing”- Angriff kann zwei Typen von Schäden nach
sich ziehen:
Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Denial-of-Service, Datenintegritätsverlust während des Transports, Datenvertraulichkeitsverlust während des Transports.
Source RoutingDer Initiator einer TCP/ IP Verbindung kann den Routing- Mechanismus dazu veranlassen, die Pakete über eine vordefinierte Strecke zu schicken. Gemäß RFC 1122 müssen die Antwortpakete des Zielrechners dieselbe Strecke in umgekehrter Richtung durchlaufen. Wählt der Angreifer als Quelladresse die Adresse eines vom Opfer als vertrauenswürdig angesehenen Rechners (trusted host) und aktiviert Source- Routing über seine eigene IP- Adresse, so kann er sich damit alle Rechte des als vertrauenswürdig angesehenen Rechners erschleichen. Auch ein Umgehen von Firewall- Systemen ist so möglich. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Datenintegritätsverlust während des Transports , Datenvertraulichkeitsverlust während des Transports.
Session HijackingHierbei übernimmt der Angreifer eine bestehende Verbindung. Eine bestehende Verbindung kann einen sogenannten nicht- synchronisierten Zustand einnehmen, in dem die beiden Rechner noch immer verbunden sind, aber keine Daten mehr ausgetauscht werden können. Ziel des Angreifers ist es zunächst, einen nicht-synchronisierten Zustand herzustellen. Der Angreifer versucht dann, den beiden ursprünglichen Kommunikationsteilnehmern protokollkonforme Pakete unterzuschieben, so dass diese akzeptiert werden. Bei einer Telnet-Verbindung kann der Angreifer zum Beispiel ein ls –al Kommando durch rm –r * ersetzen. Session Hijacking ist ein sehr technischer Angriff. Allerdings sind in letzter Zeit Werkzeuge wie Juggernaut aufgetaucht, die von Jedermann ohne technische Detailkenntnis benutzt werden können. Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Möglicher Schaden: Zugriff auf Rechnerressourcen
Überfluten (Flooding)Beim sog. Flooding wird das Opfer mit Daten überflutet. Ursache für die Wirksamkeit des Angriffs sind meistens Konfigurationsfehler oder auch Schwächen im Selbstschutz der Systemkomponenten. Ursächlicher Fehler: Designfehler in allen Varianten, Konfigurationsfehler Mögliche Schäden: Denial-of-Service Überflutung mittels E-Mail (Mail Flooding) Hierbei versendet der Angreifer große Datenmengen per E-Mail. Das Empfangssystem bricht unter großen Datenmenge zusammen: Das Spool- Verzeichnis ist voll oder es treten andere Überlastungen auf. Ursächlicher Fehler: Keiner, Konfigurationsfehler Mögliche Schäden: Denial-of-Service SYN-Überflutung (SYN Flooding) Der Angreifer gibt vor, eine TCP- Verbindung aufbauen zu wollen, und sendet ein SYN-Paket. Das Zielsystem reserviert für diese Verbindung Betriebsmittel und antwortet mit SYN/ ACK; dann wartet es auf das ACK des Angreifers. Der Angreifer sendet dieses ACK jedoch nicht, sondern versucht, eine weitere Verbindung aufzubauen, indem er die obige Prozedur wiederholt. Das angegriffene System versucht so viele Betriebsmittel wie möglich zue Verfügung zu stellen, bis es keine Ressourcen mehr hat und die Dienste gar nicht mehr oder nur noch sehr schleppend ausgeführt werden können Ursächlicher Fehler: Designfehler im Kommunikationsprotokoll Mögliche Schäden: Denial-of-Service Überfluten des System-Log (System Log Flooding) Der Angreifer versucht, vor seinem eigentlichen Angriff den Protokollmechanismus des Zielsystems auszuschalten. Dazu führt er Aktionen durch, von denen er weiß, dass sie protokolliert werden und große Protokolldatenmengen erzeugen. Dadurch läuft der Protokollspeicher voll und der Protokollmechanismus wird bei schlechter Konfiguration ausgeschaltet. Ursächlicher Fehler: Keiner, Konfigurationsfehler Mögliche Schäden: Denial-of-Service Überflutung mit Daten (Data Flooding) Dies ist eine generische Beschreibung aller Angriffstechniken, bei denen der Angreifer dem Zielsystem große Datenmengen schickt, die dann von ihm nicht mehr korrekt bearbeitet werden können. Ursächlicher Fehler: Keiner Mögliche Schäden: Denial- of- Service Überflutung mit Open/Close Anfragen (Open/Close Flood) Durch das schnelle Öffnen oder Schließen von Verbindungen kann der Angreifer einige Dienste zum Zusammenbruch bringen. Ursächlicher Fehler: Keiner Mögliche Schäden: Denial- of- Service
Angriffe durch Kapseln und Tunnelangriffe (Encapsulation/ Tunneling)Der Angreifer kann im Datenfeld fast jedes
Transportprotokolls Daten unterbringen, die auf der Empfangsseite interpretiert
werden. So kann zum Beispiel Apple-Talk durch IP getunnelt werden (wie auch bei
Apple-Talk 5.0 geschehen). Natürlich kann auch IP in IP gekapselt und so
getunnelt werden. Es ist durchaus üblich und häufig sogar wünschenswert, dass
Protokolle getunnelt werden. Beispiele sind:
Der Grund für den Erfolg von Tunnelangriffen liegt in der
Tatsache, dass Router und Firewalls die im Datenfeld stehenden Daten häufig
nicht überwachen. Die Folgen können sein:
Ursächlicher Fehler: Konfigurationsfehler Mögliche Schäden: Zugriff auf Rechner- und Netzressourcen
Angriffe auf mittlerer EbeneNun behandele ich Angriffe gegen Dienste und Mechanismen auf Stufe 7 des OSI- Referenzmodelles. Obwohl dies die höchste Stufe in diesem Datenkommunikationsmodell ist, handelt es sich hierbei bezüglich der IDS Analyse um die mittlere Ebene des vorgestellten dreistufigen Service-Modells.
DNS-AngriffeEs gibt unterschiedliche Angriffe auf den Domain Name Service (DNS). Viele von ihnen nutzen die Tatsache aus, dass ein DNS-Server nicht überprüfen kann, von welcher Gegenstelle er Information über die Namensumsetzung erhält. Dieses Problem ist vergleichbar mit dem bereits vorgestellten ARP Spoofing. Falls ein DNS Server A beim Server B einen Namen oder eine Adresse erfragt, so ist er in der Regel auch bereit, Information entgegen zu nehmen, nach der er nicht explizit gefragt hat. Zum Beispiel wäre folgender Ablauf möglich: A: Wie lautet die IP- Adresse von www.mercedesbenz.de B: Die Adresse ist 204.71.177.72. Außerdem ist die IP- Adresse von www.hacker.com dieselbe wie die von www.cracker.org. A: <Datenbank wird entsprechend aktualisieren>.
DNS-Cache-Verunreinigung Bei der DNS-Cache-Verunreinigung (Cache Poisoning) wird im Alias-Feld eines DNS-Datensatzes (d.h. im CNAME Feld) falsche Information eingetragen. Das Feld dient üblicherweise dazu, einen Rechner mit unaussprechlichem Namen (etwa lokif654gtf89.provider.de) unter einem leichter zu merkenden Namen (etwa www.name.de) anzusprechen. Beispiel: skstw@think: > host -t cname www.name.de www.name.de is a nickname for lokif654gtf89.provider.de Ein Angreifer kann nun seinen DNS-Server so abändern, dass cracker.org ein Spitzname für unvertraulich.attacker.org ist. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Vertraulichkeitsverlust (für die im Cache liegenden Daten), Authentizitätsverlust. . Reverse Lookup Das sogenannte Reverse Lookup ermöglicht es einem System, welches DNS-Anfragen stellt (DNS-Client), zwei komplementäre Anfragen zu stellen und die Antworten auf Konsistenz zu prüfen. Ein System kann so nicht nur erfragen, dass www.hacker.de die IP-Adresse xxx.xxx.xxx.xx1 hat, sondern sich zusätzlich vergewissern, dass der Rechner mit der IP- Adresse xxx.xxx.xxx.xx1 den Namen www.hacker.de besitzt. Dies gibt dem DNS-Client zusätzliche Sicherheit. Findet ein Angreifer heraus, dass ein Rechner kein Reverse Lookup durchführt, so kann er diesem Rechner leichter eine gefälschte DNS-Antwort unterschieben. Ursächlicher Fehler: Konfigurationsfehler Mögliche Schäden: Datenechtheitsverlust
5.3.2 Network Information System (NIS)Das Network Information System (NIS) ist ein RPC- basierender Dienst (Remote Procedure Call). Da NIS keine Authentisierung auf RPC- Ebene durchführt, kann sich eine beliebige Maschine mittels eines gefälschten RPC leicht gegenüber einem Opfer als RPC- Server ausgeben. Hierbei handelt es sich im weiteren Sinne wieder um einen Spoofing-Angriff. Der Angriff verläuft nun ähnlich wie IP Spoofing, ist aber sogar noch einfacher durchzuführen, da die meisten RPC Implementierungen auf dem Protokoll UDP basieren: Der NIS- Client sendet eine RPC- Anfrage an den NIS- Server. Der Angreifer erstellt eine gefälschte RPC- Antwort, bevor der Server antworten kann. Solch eine gefälschte Antwort kann die NIS- Adresstabellen ändern. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Zugriff auf Rechnerressourcen
FTPAktiver / Passiver FTP-Angriff Es gibt zwei unterschiedliche Angriffsmethoden auf das
File-Transfer- Protokoll (FTP), durch die ein Angreifer die zu übertragenden
Daten abfangen kann. Die verwendete Methode ist davon abhängig, ob der
FTP-Server im aktiven oder passiven Modus betrieben wird. Entsprechend
unterscheidet man aktive und passive Angriffe. Beide Angriffsarten kontaktieren
in einem ersten Schritt den Server. In einem zweiten Schritt wird dann der Port
ausgehandelt, über den der Datei-Transfer abgewickelt werden soll; hierbei
unterscheidet man die Angriffe:
Ein Angreifer nutzt nun die Tatsache aus, dass niemand überprüft, ob das Paar (Client, Server) aus Schritt 1 noch dasselbe ist wie in Schritt 2. Im passiven Modus kann der Angreifer nun versuchen, die Port-Nummer auf der Server-Seite zu erraten. Hat er sie erraten, öffnet er genau wie der richtige Client eine Verbindung zu diesem Port. Der Server merkt nicht, dass hier Daten an zwei Clients über denselben Port geschickt werden, obwohl sich nur einer in Schritt 1 angemeldet hat. Die Port-Nummer ist leicht zu erraten. Dazu öffnet der Angreifer eine gewöhnliche FTP-Verbindung und erfährt so die Port-Nummer des Datenkanals auf dem Server. Diese Port-Nummern werden gewöhnlich in direkt aufsteigender Reihenfolge vergeben, so dass die nächsten zu verwendenden Port-Nummern leicht zu erraten sind. Ein ähnlicher Angriff ist auch im aktiven Modus durchführbar. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Datenechtheitsverlust, Datenvertraulichkeitsverlust auf Rechner Brute-Force Attacke Neben den oben genannten Angriffen gibt es auch Brute-Force
Angriffe auf FTP:
Ursächlicher Fehler: Designfehler in der Anwendung, Konfigurationsfehler Mögliche Schäden: Zugriff auf Rechnerressourcen, Datenvertraulichkeitsverlust auf Rechner, Datenintegritätsverlust auf Rechner
HTTPObwohl das Hypertext Transfer Protocol (HTTP) keine bekannten Schwächen hat, gibt es doch einige Möglichkeiten den httpd- Dämon missbräuchlich zu nutzen. So kann zum Beispiel der Passwort- Autorisierungsmechanismus durch zusätzliche Schrägstriche in der URL überwunden werden: http://www.hack.de//hackit.html. Ursächlicher Fehler: Designfehler in der Anwendung, Implementierungsfehler Mögliche Schäden: Datenvertraulichkeitsverlust auf Rechner
X11Eine X11 Sitzung kann, mittels Session Hijacking übernommen werden. Der Bildschirm einer X11 Sitzung kann von einem Angreifer aus den internen Netz auch kopiert werden. Dazu wird das Kommando xwd benutzt, welches den Bildschirminhalt in eine Datei schreibt, die sich der Angreifer anschließend mittels xwud anschauen kann. Ein Beispiel für ein solche Sitzung verläuft folgendermaßen: $ rlogin ziel $ xwd -root -display localhost:0.0 > ~/file.xwd $ setenv DISPLAY ineptiae:0.0 $ xwud -in ~/file.xwd Ursächlicher Fehler: Konfigurationsfehler Mögliche Schäden: Datenvertraulichkeitsverlust auf Rechner (der auf dem Bildschirm sichtbaren Daten)
SMB Crash (nur Windows NT)Schickt man einem Windows NT 3.5 oder NT 3.51 Rechner von einem Samba SMB-Client den Befehl , so erscheint der sogenannte Blue Screen of Death (Rechnerabsturz) . Der Fehler wird durch einen zerstörten Heap in srv.sys ausgelöst. Ursächlicher Fehler: Implementierungsfehler Mögliche Schäden: Denial-of-Service
Network File System (NFS)Das Network File System (NFS) hat einige inhärente
Sicherheitsschwachstellen. Falls ein Dateisystem angemeldet wird, überprüft der
mountd- Dämon, ob der Client die
notwendigen Rechte besitzt, und exportiert das Dateisystem, indem er ein
sogenanntes file-handle an den Client sendet. Dieses file-handle, auch
magic-cookie genannt, ist eine Pseudozufallszahl, welche für die
Authentisierung benutzt wird. Folgende Sicherheitsprobleme können auftreten:
Andere im Zusammenhang mit NFS zu nennenden Fehler sind:
Ursächlicher Fehler: Designfehler in der Dienstspezifikation, Designfehler in der Anwendung, Implementierungsfehler Mögliche Schäden: Datenintegritätsverlust, Verfügbarkeitsverlust, Datenvertraulichkeitsverlust
Angriffe auf hoher Ebene (Anwendungsebene)Angriffe auf Anwendungsebene nutzen zumeist bekannte Implementierungsfehler einer Anwendung aus. Im folgenden werden Beispiele für diesen Angriffstyp angegeben.
SendmailDie Sendmail-Anwendung stellt den SMTP (Simple Mail Transfer Protocol)-Dienst zur Verfügung und ist üblicherweise Bestandteil eines jeden Unix-Systems. Sendmail ist dafür bekannt, dass es viele Implementierungsfehler besaß, die häufig von alten Versionen weitervererbt wurden. Das Hauptproblem besteht darin, dass Sendmail mit root- Berechtigung läuft. Angriffe auf Sendmail führen häufig dazu, dass der Angreifer root- Rechte erlangt. Ursächlicher Fehler: Implementierungsfehler, Designfehler in der Anwendung Mögliche Schäden: Zugriff auf Rechnerressourcen
Mail SpoofingEin Benutzer kann sich an Port 25 anmelden (beispielsweise mittels mconnect opfer.com oder telnet opfer.com 25) und so direkt mit dem SMTP- Server kommunizieren. Er kann dann E-Mail-Nachrichten unter beliebigem Namen absenden. Ursächlicher Fehler: Designschwäche des Kommunikationsprotokolls Mögliche Schäden: Datenechtheitsverlust
Überflutung mittels des finger- Dienstes (Finger Flooding)Einige Implementierungen des finger- Dienstes erlauben es, rekursive Anfragen zu stellen, die dazu führen können, dass das System zu viele Betriebsmittel verbraucht und es zum Einstellen der Dienste kommt (Denial- of- Service). Ursächlicher Fehler: Designschwäche der Dienstspezifikation Mögliche Schäden: Denial- of- Service
Verteilter, koordinierter AngriffEin Angreifer erstellt eine Webseite, die Code enthält, welcher beispielsweise den Telnet-Port eines bestimmten Rechners angreift. Falls auf diese Seite innerhalb kurzer Zeit häufig zugegriffen wird, so attackiert jeder Benutzer – absichtlich oder unbeabsichtigt – den betreffenden Rechner. Dies kann zum Einstellen der Dienste auf diesem Rechner führen. Ursächlicher Fehler: Designschwäche der Dienstspezifikation Mögliche Schäden: Denial-of-Service
Angriffe auf das AuthentisierungssystemAlle Anwendungen, bei denen im Zuge der Online-Authentisierung Paßwörter im Klartext übermittelt werden, sind bei den folgenden Angriffen gefährdet. Ein erfolgreicher Angriff auf ein Paßwort-Schutzmechanismus kann dazu führen, daß der Angreifer Zutritt zum zu schützenden System erhält.
LauschangriffPasswörter, die im Klartext über das Netz versendet werden, können leicht abgehört werden. Dies ist im Falle von Broadcast- Netzen besonders gefährlich. Das Lauschen am Netz kann sich jedem Protokollierungsmechanismus entziehen und bleibt somit unentdeckt. Ursächlicher Fehler: Designschwäche des Kommunikationsprotokolls Mögliche Schäden: Zugriff auf Rechnerressourcen
Erraten von PasswörternPasswortgeschützte Authentisierungsmechanismen sind häufig Ziel von Angriffen, die mittels eines elektronischen Wörterbuchs ausgeführt werden. Der Angreifer versucht mittels erschöpfender Suche das richtige Passwort zu finden. Grund für den Erfolg eines solchen Angriffs sind zumeist schwach gewählte Passwörter. Ursächlicher Fehler: Fehlverhalten der Benutzer Mögliche Schäden: Zugriff auf Rechnerressourcen
Unerlaubtes Löschen von Dateien (nur Windows NT)Legt ein Benutzer unter Windows NT eine Datei auf einem Server an und entfernt anschließend alle Zugriffsrechte, so kann trotzdem jeder diese Datei löschen. Ursächlicher Fehler: Implementierungsfehler Mögliche Schäden: Datenintegritätsverlust auf Rechner
Microsoft Dot Dot Bug (nur Windows NT)Durch Eingabe einer URL in einem Format wie http://www.name.de/..\.. kann der Angreifer Dateien lesen, die oberhalb des WWW-Wurzelverzeichnisses liegen. Darüber hinaus kann ein Angreifer auf diese Weise auch Skripten ausführen: http://www.name.de/geheimeSkripten..\..\scriptname.
Import von kompromittierendem CodeEs gibt verschiedene Formen von kompromittierendem Code. Der dadurch entstehende Schaden hängt von der Funktionalität des Codes im Einzelfall ab.
VirenUnter einem Virus versteht man ein sich selbst replizierendes Programm. Viren sind häufig in sogenannten trojanischen Pferden versteckt und/oder enthalten Information darüber, wann sie Schaden anrichten sollen (Zeitbombeneffekt). Ein Virus nistet sich bei einem Wirtprogramm ein oder setzt sich im Bootsektor fest. Es ist darüber hinaus in der Lage, Kopien von sich in anderen Programmen unterzubringen und diese Programme so zu infizieren. Ein Virus hat typischerweise ein bestimmtes Muster (Codesequenz), anhand dessen es identifiziert werden kann. Man unterscheidet zwei Arten von Viren: transiente Viren und residente Viren. Die Codeausführung eines transienten Virus‘ wird beendet, sobald sein Wirtprogramm beendet wird. Ein residentes Virus kann über die Beendigung des Wirtprogramms hinaus im Speicher verweilen und aktiv sein. Da das Virus mit denselben Benutzerrechten wie sein Wirt läuft, ist es häufig auch im Besitz der notwendigen Rechte, um Dateien zu löschen, anzulegen etc. Sollte der Benutzer besondere Rechte haben (root), so kann das Virus auch für andere Benutzer Schaden anrichten. Ursächlicher Fehler: Benutzerfehlverhalten, Konfigurationsfehler Mögliche Schäden: Datenintegritätsverlust auf Rechner, Datenvertraulichkeitsverlust auf Rechner, Verlust der Verfügbarkeit, Denial-of-Service.
Trojanische PferdeUnter einem trojanischen Pferd versteht man ein Programm, welches unerwartete Funktionalität hat. Dies kann zum Beispiel eine login-Prozedur sein, die alle verarbeiteten Passwörter sammelt und an einen Angreifer per E- Mail weiterleitet. Ursächlicher Fehler: Benutzerfehlverhalten, (absichtlicher) Programmierfehler Mögliche Schäden: Zugriff auf Rechner
WürmerEin Wurm ist ein Programm, welches Kopien seiner selbst über ein Netz propagiert. Im Gegensatz zu einem Virus, das stets von einem Wirt abhängig ist, ist ein Wurm ein eigenständiges Programm. Um von einem Ziel zum nächsten innerhalb eines Netzes zu gelangen, missbraucht ein Wurm eine Systemschwäche (z.B. das berühmte sendmail-debug- Sicherheitsloch). Ursächlicher Fehler: andere Sicherheitslücken Mögliche Schäden: Zugriff auf Rechnerressourcen, Denial- of- Service, Datenintegritätsverlust auf Rechner, Datenvertraulichkeitsverlust auf Rechner,
Falltüren (Trapdoors)Eine Falltür (auch Hintertür genannt) ist eine zusätzliche Eigenschaft eines Programms, mit deren Hilfe Sicherheitsmechanismen überwunden werden können (sendmails debug beispielsweise). Hat ein Angreifer eine Falltür gefunden, so kann er in den Besitz zusätzlicher Rechte gelangen. Ursächlicher Fehler: absichtliche Designfehler aller Arten Mögliche Schäden: Zugriff auf Rechnerressourcen
Probleme im Zusammenhang mit dem Word- Wide- Web (WWW)Das Internet und die daran angeschlossenen firmeninternen Netze (Intranets) entwickeln sich rasch von ihren Ursprüngen als Plattform für statische HTML-Anwendungen weiter. Hyptertext- Informationssysteme wie z.B. Web-Browser stellen neue Sicherheitsrisiken dar. Diese Risiken basieren häufig auf fehlerhaftem Design sowie fehlerhafter Implementierung. Browser bieten die Möglichkeit, Programme aus dem Internet herunter zu laden und auf dem lokalen Rechner ablaufen zu lassen (beispielsweise Java- Applets bzw. Java-Programme oder auch in Java Script oder ActiveX geschriebene Anwendungen bzw. Anwendungsteile). Benutzer begegnen fremden Programmen häufig mit erstaunlich großem Vertrauen und unterschätzen das von diesen ausgehende Risiko. Darüber hinaus kann z.B. auch die Java Virtual Machine einen Fehler haben, der von heruntergeladenen Applikationen ausgenutzt wird. Die folgenden Angriffe zeigen die Risiken beim Einsatz moderner Web-Technologien.
JavaJava ist eine Programmiersprache, die mit C++ vergleichbar ist, aber auf die in C++ möglichen Zeigeroperationen verzichtet. Der wesentliche Vorteil von Java besteht darin, daß Java-Anwendungen auf jedem Rechner ablauffähig sind, der über eine entsprechende Laufzeitumgebung – die sogenannte Java Virtual Machine – verfügt. Unabhängig davon, ob man sich Java-Applets, Java-Skripten oder Java-Applikationen aus dem Netz lädt, birgt die Ausführung dieser Programme stets ein Sicherheitsrisiko. Dies gilt nicht nur für PCs, sondern auch für Unix-Systeme, da unter Umständen die Java Virtual Machine fehlerhaft sein kann und die Programme diese Fehler ausnutzen. Ursächlicher Fehler: Implementierungsfehler, Designfehler in der Anwendung Mögliche Schäden: Zugriff auf Rechnerressourcen
Cookies
Obige Beschreibung zeigt, daß aus der Benutzung von Cookies zwar keine direkten Angriffsmöglichkeiten entstehen. Jedoch kann ein Angreifer auf Basis der durch Cookies erhalten Informationen, Ansatzpunkte für weitere Angriffe erarbeiten. Ursächlicher Fehler: Keiner Mögliche Schäden: Angreifer erhält Information
5.7.3 ActiveXDie folgende Passage wurde dem WWW Security FAQ entnommen:
Obige Beschreibung zeigt, daß das Sicherheitsmodell von ActiveX Hauptsächlich auf dem Vertrauen der Benutzer in die Provider von ActiveX-Controls beruht. Der Benutzer hat in der Regel keine Möglichkeit die im Binär-Code vorliegenden ActiveX-Controls auf Bedrohungen hin zu untersuchen. Es ist abzuwarten, wie effektiv dieser Ansatz sein wird und ob die Benutzer sich die Zeit nehmen werden, eine Liste von vertrauenswürdigen ActiveX-Control-Providern zu pflegen. Die aktuellen Ansätze, sogenannte Code-Zertifizierungsstellen (CA, certification authority) bereitzustellen, sind noch recht unzureichend. CAs verlangen zur Zeit kaum Beweise, welche die Identität eines Softwareentwicklers sichern. Häufig genügt die Angabe einer Kreditkartennummer. Nach unserem Wissensstand gibt es keine Abnahme von ActiveX Controls über die CAs. ActiveX kann über die Browsereinstellungen ausgeschalten werden. Darüber hinaus gibt es Programme, die Applets blockieren (z.B. Ursächlicher Fehler: Designfehler der Anwendung Mögliche Schäden: Zugriff auf Rechnerressourcen
CGIDas Common Gateway Interface (CGI) ist eine Schnittstellenspezifikation mit deren Hilfe ein Browser Daten aus einer Datenbank dynamisch zur Erzeugung von HTML-Code zusammenstellen kann. CGI-Anfragen können an eine URL angehangen werde. Die folgende Befehlszeile fordert beispielsweise die Daten aus /etc/passwd an: http://www.hacker.de/cgi-bin/query?%0a/bin/cat%20/etc/passwd Die Zeichenketten %0a und %20 stellen ASCII Zeilenvorschub bzw. das Leerzeichen dar. CGI-Skripts sind bekannt für ihre häufigen Sicherheitsschwachstellen, da sie mit einer Art ”Mini-Server” vergleichbar sind. Ursächlicher Fehler: Designfehler der Anwendung Mögliche Schäden: Zugriff auf Rechnerressourcen
MIMEDer Empfang von MIME- Nachrichten kann ebenfalls Schäden verursachen. Ein Angreifer kann zum Beispiel eine E-Mail mit folgendem Inhalt versenden: Content-Type: Message/External-body;
Content-Type: text/plain Dieses Skript fordert vom unter ”site” angegebenen Rechner die Datei .rhosts an und kopiert sie in das aktuelle Verzeichnis des Empfängers der E-Mail. Ursächlicher Fehler: Designfehler der Anwendung Mögliche Schäden: Zugriff auf Rechnerressourcen
5.7.6 WWW SpoofingHierbei handelt es sich um einen sogenannten ”Mann-in-der-Mitte”- Angriff (man-in-the-middle), der sich einer Technik namens URL Rewriting bedient. Beim URL Rewriting wird eine URL-Adresse umgelenkt. Dies funktioniert nur auf für diesen Zweck präparierten Servern, d.h. der Angreifer muss selbst einen Web-Server betreiben. Darüber hinaus muss jemand, bevor er Opfer dieses Angriffs wird, auf diesen modifizierten Web-Server zugreifen. Zu diesem Zweck versucht der Angreifer das Opfer auf seine Web-Site aufmerksam zu machen. Greift das Opfer auf ein Dokument des präparierten Servers zu, so wird ihm ein Dokument mit ausschließlich gefälschten URLs zugespielt. Dabei kann die Adresse www.banking.de auf www.attacker.de/www.banking.de umgeleitet werden. Auf diese Art und Weise kann dem Benutzer ein falsches Web vorgespielt werden. Der Benutzer kann diesen Angriff leicht entdecken, indem er die Statusanzeige seines Browsers beobachtet. Ursächlicher Fehler: Designfehler in der Dienstspezifikation Mögliche Schäden: Datenechtheitsverlust, Datenintegritätsverlust während des Transports, Datenvertraulichkeitsverlust während des Transports
Eine Definition des Begriffs »knacken«Seit 1973 werden Internet-Sites auf regelmäßiger Basis geknackt. Sicherheitsexperten bagatellisieren diese Tatsache oft, indem sie uns daran erinnern, dass frühe Sicherheitstechnologien nicht ausgefeilt genug waren. Tatsächlich aber gibt es da keinen Zusammenhang. Heutzutage sind Sicherheitstechnologien sehr komplex, aber immer noch kann das Internet leicht geknackt werden. Dieses Kapitel gibt einen Überblick darüber, wer für Angriffe von Crackern anfällig ist und warum. Der Begriff »cracken/ knacken« wird dann angewandt, wenn ein unautorisierter Zugriff auf ein Netzwerk erfolgt ist. Dieser Zugriff kann in verschiedenen Ausmaßen erreicht werden. Hier einige Beispiele:
Moderne Sicherheitsverfahren haben das Knacken von Computern schwerer gemacht. Aber, der Unterschied zwischen dem Wort schwierig und dem Wort unmöglich ist weit. Heutzutage haben Cracker Zugang zu einer Fülle von Sicherheitsinformationen; viele davon sind frei verfügbar im Internet. Es gibt kaum noch Unterschiede in bezug auf den Wissensstand eines Crackers und den eines zuverlässigen Sicherheitsexperten. Eventuelle Unterschiede dieses Wissensstands werden täglich kleiner. Dieses Kapitel wird Ihnen zeigen, dass das Knacken von Websites eine alltägliche Aktivität ist - so alltäglich, dass jegliche Aussagen darüber, dass das Internet sicher sei, mit größter Vorsicht zu genießen sind.
Private Netzwerke (Wirtschaft)Es ist klar, dass Server der Regierung erfolgreich attackiert werden können, aber was ist mit dem privaten Sektor? Sind Wirtschaftsunternehmen - ob große oder kleine - immun gegen Cyber-Attacken? Wohl kaum. Tatsächlich werden die Sites der privaten Wirtschaft noch wesentlich öfter geknackt. Eine Liste über Opfer zu erstellen wäre lang. Im letzten Jahr wurden Hunderte privat betriebener Server geknackt. Geschäftsleute, die der Öffentlichkeit E-Commerce verkaufen wollen, versichern uns, dass diese Zwischenfälle harmlos sind. Sie weisen z.B. darauf hin, dass Kreditkarten- und persönliche Daten völlig sicher seien. Glauben Sie das? Hoffentlich nicht!!
Die TrendsVollständige Statistiken über das Durchbrechen von Sicherheitsmaßnahmen sind schwer zu bekommen. Es gibt jedoch ein paar gute Quellen. Eine ist das Computer Crime and Security Survey des Computer Security Institute. Das CSI- Gutachten wird jährlich erstellt und die Ergebnisse für 2000 sind gerade herausgekommen. Sie können diese Ergebnisse im Web finden: Das CSI- Gutachten stellt für 2000 einen starken Anstieg der Computer-Kriminalität fest. Zum Beispiel berichteten 70 Prozent der 830 Befragten über ein Durchbrechen von Sicherheitsmaßnahmen im letzten Jahr (diese Zahl hat sich gegenüber 1999 um 33 Prozent erhöht). Etwa ein Viertel der Befragten erlitten umfangreiche Denial-of-Service- Attacken und die gleiche Anzahl erlebte ein Eindringen von entfernten Angreifern. Und schließlich gaben 74 Prozent aller Befragten an, dass das Internet die Eingangstür für Eindringlinge sei. Das CSI- Gutachten ist nicht das einzige, das einen Anstieg der Durchbrüche von Sicherheitsmaßnahmen im Internet registriert. Die wahrscheinlich faszinierendste Studie wurde von Dan Farmer durchgeführt. Die Farmer-Studie: Dusting MoscowDan Farmer, vom dem Sie schon etwas im letzten Kapitel erfahren haben und in Kapitel 10 noch mehr hören werden, ist bekannt für seine Haltung gegen Regierungskontrollen von Verschlüsselung und er ist ein freimütiger Verfechter von persönlicher Privatsphäre im Internet. Bereits 1996 benutzte Farmer SATAN (ein Tool, das automatisch Sicherheitslücken aufspürt), um eine allgemeine Studie im Internet durchzuführen. Für die Studie »Shall We Dust Moscow? Security Survey of Key Internet Hosts and Various Semi-Relevant Reflections« überprüfte Farmer 2.200 Internet-Hosts. Der Zweck der Untersuchung war einfach: herauszufinden, wie viele Hosts für entfernte Angriffe anfällig waren. Die Studie stieß auf widersprüchliche Reaktionen, da Farmer nicht um Erlaubnis fragte, seine Ziele testen zu dürfen. (Die Ziele waren übrigens zufällig ausgewählt.) Farmers Ergebnisse waren ebenfalls strittig. Ich möchte Ihnen nichts vorwegnehmen (sie sollten die Studie herunterladen und lesen), aber hier sind ein paar nüchterne Tatsachen:
Und jetzt kommt der Clou: Farmer wählte als Ziele keine durchschnittlichen Websites, sondern Sites von Banken, Kreditvereinigungen, Behörden und anderen wichtigen Einrichtungen, die eigentlich über gute Sicherheitsmaßnahmen geschützt sein sollten. Farmers Studie ist wahrscheinlich die wertvollste, die jemals durchgeführt wurde. Und ich sage Ihnen warum: Die meisten Studien über Computer-Sicherheit werden durchgeführt, indem Hunderte von EDV-Verantwortlichen befragt werden. Die gestellten Fragen beziehen sich in der Regel auf Sicherheitsrichtlinien. Dies läßt einen großen Raum für verfälschte Ergebnisse, weil die Verantwortlichen vielleicht nicht immer ganz ehrlich sind. Im Gegensatz dazu wurden für Farmers Studie die Netzwerke selbst getestet und viele davon stellten sich als katastrophal unsicher heraus. Um sich Farmers Studie anzuschauen gehen Sie zu:
Die Ernst&Young LLP/InformationWeek Information Security- StudieWenn Ihr Unternehmen Sie beauftragt hat, einen Sicherheitsplan aufzustellen, suchen Sie sicher nach weiteren Statistiken. Kein Problem, es gibt eine Menge Material. Eine gute Quelle ist die Ernst&Young-LLP/InformationWeek-Information- Security- Studie. Diese Studie finden Sie online unter: Die Ernst&Young-Studie unterscheidet sich ein wenig von den vorher erwähnten Studien. Zunächst einmal ist sie eine Studie über Menschen (eigentlich ist es eine Studie über 4.000 EDV-Manager.) Den Befragten wurde eine große Vielfalt an Fragen über Sicherheit im Internet und über Sicherheitsaspekte in bezug auf E- Commerce gestellt. Ein immer wiederkehrendes Thema in der 98er Studie ist folgendes: Die meisten Verantwortlichen (und sogar die meisten Verwaltungsangestellten) sehen Sicherheit heute als ein Hauptanliegen an. Die Studie zeigt, dass trotz dieser Tatsache die Mehrheit der Websites nicht genügend gesichert ist.
Sollte Ihr Unternehmen den Ergebnissen dieser Studie entsprechen, ist es höchste Zeit zu handeln. (Während Tools zum Aufdecken unbefugten Eindringens vielleicht etwas viel für ein kleines Unternehmen sind, sollte jede Firma jedoch wenigstens schriftliche Richtlinien haben.)
Warnung Viele Unternehmen, die einen Web-Server einrichten wollen, haben das Gefühl, dass Sicherheit keine große Rolle spielt. Sie nutzen beispielsweise die Dienste eines Internet Service Providers und geben damit die Verantwortung und Haftung an diesen weiter. Schließlich kennen Provider sich aus und werden niemals geknackt, oder? Falsch. Internet Service Provider werden ständig angegriffen. Wenn Sie Informationsingenieur sind und Ihr Unternehmen einen Anschluss an das Internet plant, denken Sie an die Grundlagen. Machen Sie alle Beteiligten darauf aufmerksam, dass Sicherheit eine wichtige Angelegenheit ist. Andernfalls müssen Sie später die Verantwortung auf sich nehmen. Sie sollten vorsichtig reagieren, wenn Ihnen ein Provider versichert, dass es keinerlei Grund zur Sorge gibt. Heute werden sogar Firewalls geknackt, und zwar durch dieselbe alte Methode, mit der die meisten Server geknackt werden: durch das Ausnutzen menschlicher Fehler.
ZusammenfassungWir haben festgestellt, daß jede Website geknackt werden kann, einschließlich der Sites von:
Erwarten Sie nicht, dass sich dieses Klima ändert. Während wir uns dem 21. Jahrhundert nähern, werden neue und effektivere Cracking- Methoden ans Tageslicht kommen. Diese werden von feindlich gesinnten Nationen benutzt, die unsere nationalen Infrastrukturen zerstören wollen. Darum geht es im nächsten Kapitel: die Kriegsführung im Internet. |
Senden Sie E-Mail mit Fragen oder Kommentaren zu dieser Website an:
tos.computer@gmx.de
|