security:angriffsmethoden-und-gegenmaßnahmen

Angriffsmethoden und Gegenmaßnahmen

Neben den allseits bekannten Methoden (Rootkits, Trojanern, Phishing) gibt eine Vielzahl von Möglichkeiten anderen System „eine Freude zu bereiten“. Die Auflistung erhebt keinen Anspruch auf Vollständigkeit und beschäftigt sich hauptsächlich mit Angriffen in/über Netzwerke, lokale Angrife und Angriffe auf Passwörter. Gegenmaßnahmen werden zur Abwehr genannt.

Neben der zuverlässigen und unverfälschten Datenübertragung müssen Daten

  1. geheimgehalten werden können (privacy): Verschlüsselung
  2. die Datenintegrität muss gewährleistet sein, d.h. gegen absichtliche Veränderungen geschützt sein (data integrity): Prüfsummen, und gegen die (zufällige) Verfälschung von Daten auch CRC- oder Paritäts-Prüfverfahren.
  3. und Teilnehmer müssen sich zweifelsfrei identifizieren können (Authentifikation oder authenticity).
  • Bedrohunganalyse („threat modelling“)
  • Das Prinzip der minimal nötigen Rechtevergabe („least privilege“)
  • Angriffspunkte oder Angriffsvektoren eleminieren
  • die Angriffsfläche minimieren („Attack Surface Reduction“) z.B. nicht benötigte Dienste abschalten

Lokale Benutzer können eine Menge Schaden am Server anrichten:

  • massig Prozesse starten („Process creation attack“), lässt sich aber mit Benutzerlimits bekämpfen
  • Arbeitsspeicher füllen („memory allocation attacks“)
  • Festplatte volllaufen lassen („disk overflow attacks“)
  • Schwachstelle im Betriebssystemkern ausnutzen („Kernel vulnerabilities“)
  • Privilege escalation: Ausweitung (lokaler) Rechte

FIXME

FIXME

  • Javascript-malware: man bringt den Benutzer dazu eine mit böswilligem Javascript-Code ausgestattete Seite zu öffnen (dabei werden Browserlücken ausgenutzt) und schon kann man Informationen über Applikationen und das Intranet über den Intranet Webserver (auch mit Portscanns!) erhalten. Ein Beispiel ist BeEF (Browser Exploitation Framework) der Browser overflow exploits, port scanning, keylogging usw. durchführen kann.

Alle drei Begriffe enthalten das Abhören des (Netz-, Telefon-, …)verkehrs. Dabei werden meist Sniffer (Programme zu abhören) benutzt, die möglichst viele und an andere Benutzer adressierte Pakete aufzeichen. Diese werden zur Informationsgewinnung (Passwörter, Geheimnisse, …) benutzt und können auch bei anfälligen Protokollen für Replay-Attacken eingesetzt werden. Das Abhören kann aktiv oder passiv erfolgen.

Gegenmaßnahme: Verschlüsselung einsetzen (bei TCP/IP auf der Vermittlungsschicht oder einer drüberliegenden Schicht, z.B. in der Anwendungsschicht

:!: oft wird auch MAC-Flooding eingesetzt um Switche dazu gebracht sie wir ein Hub zu verhalten.

Unter der Brute-Force-Methode (rohe Gewalt) versteht man das einfache ausprobieren aller oder vieler Passwörtkombinationen.

Gegenmaßnahme ist die Verwendung möglichst komplexer und langer Passwörter und natürlich einen starken (also ungebrochenen) Verschlüsselungsalgorithmus.

Links

Durch Sicherheitslücken in Browser (Javascript, CSS, …) wird die Same Origin Policy ausgehebelt und Daten gestohlen.

Links

Denial-of-Service-Attacken (DoS) sind Angriffe auf die Verfügbarkeit / Erreichbarkeit von Diensten eines (Netzwerk-)Systems. Die Angriffe können

  • auf Applikationsebene (Ausnutzen von Schwachstellen)
  • Ressourcenangriffe (Aufbrauchen von Server-Kapazitäten
  • Bandbreitenangriffe (Sättigen/Ausschöpfung der Kapazität zur Datenübertragung).

Je nach Angriffsart wird dabei zwischen

  • DoS (ein Angreifer lässt mehrere Angriffsrechner angreifen)
  • DDoS (ein Angreifer kontrolliert mehrere Masterechner, die dann jeweils Verbünde von Angriffsrechner zum Angreifen benutzen)
  • DRDoS (wie DDoS aber mit sog. Reflektoren)

Netzwerkangriffe durch DDoS-Attacken (sehr schöne Vortragsfolien)

Gegenmaßnahmen: Filterung durch eine gute Firewall (Unterscheidung durch „Signaturen“: Kunde oder Angreifer; hilft allerdings nichts wenn die Bandbreite gesättigt ist), möglichst früh auf Switches/Routern des Backbone den DoS-Verkehr blocken lassen, einen Reserve IP-Block für kritische Systeme mit eigener Route/anderem Provider, SYN cookies gegen SYN-Attacken, intelligente vorgeschaltete Systeme zum Bandbreitenmanagement.

Beispiele:

Die Directory Harvesting Attacke (DHA) ist eine Technik von Spammern die versucht gültige/existente eMail-Adressen zu finden. Dabei wird von Standardbenutzernamen ausgehend eine Variante nach der anderen durch brute-force, also stupidem ausprobieren, versucht. Das kann schnell zur Überlastung der mail-server führen und sollte durch eine Limitierung der Anmeldeversuche bzw. bewußtes Verzögern der Anmeldung bekämpft werden.

DNS cache poisoning (siehe auch: DNS-Spoofing)ist ein spezieller Angriff auf DNS-Server: Dabei wird ein DNS-Server dazu gebracht falsche Informationen in seinen Zwischenspeicher (Cache) zu übernehmen und diese falschen Informationen an andere Benutzer weiterzugeben.

Vergiftetes DNS

Gegenmaßnahmen: einen sicheren DNS-Server einsetzen, DNSSec einsetzen (wenn möglich), end-to-end-Authentifizierung einsetzen sowie algem. IPSec.

FIXME

FIXME

Bei Man-in-the-middle (MITM)-Attacken setzt sich der Angriffer zwischen die beiden Kommunikationspartner und belauscht oder verändert den Datenverkehr. Sie werden oft von ARP-Spoofing (Lösung: Statische ARP-Einträge) eingeleitet.

siehe auch: Man-in-the-middle Attacken gegen SSL.

Lösung: Sowohl Server- als auch Clientauthentifizierung (letztere nicht durch Passwort) vornehmen. Das Problem ist auch eher die DNS-Anfrage die man im herkömmlichen DNS nicht verifizieren kann (DNS-Spoofing-Angriff). Lösung hierfür: DNSSEC oder IPSec einsetzen.

Angriffe durch rainbow tables bzw. Regenbogentabellen auf Hash-Algorithmen sind diejenigen ausgesetzt, die bei der Erzeugung des Hash-Wertes keinen Salt einsetzen. Ohne Salt ist jeder verschlüsselten Eingabe genau eine verschlüsselte Ausgabe zuzuordnen. Das hat zur Folge das man nicht mehr alle Passwörter ausprobieren muss, sondern schnell die verschlüsselte Ausgabe in einer indizierten Regenbogentabelle nachschlägt und so sehr schnell Passwörter knacken kann. Die Zeit sinkt mit der steigenden Größe der Regenbogentabellen.

Gegenmaßnahme ist die Verwendung von Salts, da die Rainbow-tables nicht alle „gesalzenen“ Abwandlungen berücksichtigen können. Die Verwendung von längeren Passwörtern erfordert allenfalls größere Rainbow-tables ist daher keine Option.

Replay-Attacken beinhaltet das Aufzeichen des Datenverkehrs (Sniffing) eines Opfers und das spätere Senden der aufgezeichneten Daten an seinen Kommunikationspartner.

Gegenmaßnahmen: Timestamps und Session token

Manipulationen am Routing: Angriffe über Routing-Protokolle

Session-Hijacking: Die Übernahme von bestehenden Verbindungen. Hier werden gezielt TCP-Segmente mit anderen Daten und gefälschten IP-Adressen und den zugehörigen Initial Sequence Numbers (ISNs) eingeschleust. Die Verbindung zwischen dem eigentlichen Client und dem Server wird dann aufgrund der falschen ISN unterbrochen.

siehe Sequence Number Attacks.

Gegenmaßnahmen: IPSec FIXME

Spoofing (dt. Vortäuschen) nennt man in der Informationstechnik verschiedene Täuschungsversuche in Computernetzwerken zur Verschleierung der eigenen Identität.

Außerdem gibt es DHCP-Spoofing, IP-Spoofing, Mac-Spoofing, Mail-Spoofing und URL-Spoofing.

Links

Spoofing (ARP)

Im lokalen Ethernet (bzw. im gleichen Netz) wird gerne ARP-Spoofing

Gegenmaßnahmen:

  • Statische ARP-Einträge arp -s (bei Windows erst ab XP möglich)
  • permanente Kontrolle der ARP-Tabelle des Standard-Gateways,
  • Kontrolle am Spiegelport des Switches
  • IDS-Lösungen
  • arpwatch: überwacht auf wechselnde ARP-Adressen

Siehe auch

Spoofing (DNS)

DNS-Spoofing wird für Man-in-the-middle Attacken benutzt. Damit leitet man bestimmte Seiten (besonders SSL-geschützte Seiten) auf den eigenen Rechner (Webserver) um und versucht den Anwender zur Annahme eines selbst-signierten Zertfikats zu bewegen.

Durch SQL Injection wird eine ungenügende Eingabevalidierung zum Einschleusen von SQL-Code benutzt. Das ist immer dann möglich wenn Eingaben des Benutzers ohne weitere Überprüfungen in eine SQL-Abfrage eingebaut werden die damit verändert wird. Z. B. führt die Eingabe von „OR 1=1--“ dazu das ein Login auch ohne gültige Zugangsdaten erfolgreich ist weil die Abfrage durch die Bedingung 1=1 immer erfolgreich/wahr ist.

Durch „Traffic analysis“ erhält man Informationen durch Auswertung von (Daten-)Verkehrsinformation und bestimmten Bitmustern. Nicht nur bei verschlüsselter Information ist es neben dem Kommunikationsinhalt oft hochinteressant wer mit wem redet. Nicht umsonst interessieren sich Geheimdienste für die „Verkehrsdaten“.

FIXME

Gegenmaßnahmen: covert networks, kein/wenig bzw. nicht abhörbaren Verkehr erzeugen, Steganografie benutzen, viel Rauschen erzeugen, spread-spectrum und spectrum-hopping.

Der Wasserzeichenangriff dient insbesondere bei Festplattenverschlüsselung (siehe bei Linux und Windows) dazu, die Existenz eines bestimmten Musters nachzuweisen. Die komplette Entschlüsselung ist nicht das Ziel.

Als Gegenmaßnahme sollte man eine Verschlüsselungssoftware benutzen, die dafür nicht anfällig ist, z.B. ein aktuelles dm-crypt mit ESSIV.

Der Wörterbuchangriff nutzt die Nachlässigkeit vieler Benutzer aus leicht zu merkende Wörter zu verwenden. Statt sinnlose Zeichen zu benutzen finden sich diese schwachen Passwörter sehr häufig in Wörtbüchern (deshalb der Name) oder stehen in vielfach zu findenden Wortlisten. Ideal lässt sich dieser Attacke durchführen wenn man viele Passwörter in kurzer Zeit durchprobieren kann. Dies kann direkt am Login-System oder „offline“ auf einen verschlüsselten Text.

Gegenmaßnahme ist die Verwendung von komplexen und langen Passwörter die keinen Sinn ergeben. Als Administrator sollte man die Benutzerpasswörter von Zeit zu Zeit darauf überprüfen.

Durch Cross-Site Request Forgery (auch Session-Riding genannt) benutzen Angreifer auf einer zweiten Seite (oder einer HTML-eMail) die bereits auf einer anderen Internetseite authentifizierten Benutzer (bzw. dessen Sitzung) um die vom Angreifer gewünschte Aktion an der anderen Internetseite auszuführen (auf die ansonsten kein direkter Zugriff bestünde). Beispielweise könnte eine böswillige Seite versuchen die parallel im Browser bestehende Online-Sitzung eines Benutzers für Überweisungen zu benutzen.

Gegenmaßnahmen: Benutzer zum ausloggen erziehen, Sessions ablaufen lassen, Authentifizierung durch den Server (explicit authentifikation): würde gehene, aber auf andere Weise nachteilig sind URL-Rewriting oder Form-based session-tokens), mehr hier: XSRF / CSRF-Abwehrmaßnahmen. Reverse-Proxy, ein verstecktes Formular mit Zufallswert (nonce) der aber wieder erwartet wird (input type=hidden value=Zufallswert), eine web application firewall, Clientschutz RequestRodeo (Python proxy).

Links