Freitag, 8. Juni 2012


Topthema

Donnerstag, 12. April 2007 | Topthema

About Security #100: Die Jubiläumsfolge

(Link zum Artikel: http://www.entwickler.de/php/kolumnen/035279)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Dies ist die 100. (nummerierte) Folge von "About Security", und die Serie wird gleichzeitig 2 Jahre alt: Die erste Folge erschien am 14.4.2005. Zeit, einen �berblick �ber die behandelten Themen zu geben.

Einf�hrung

Am Anfang stellt sich die Frage "IT-Sicherheit � Was ist das eigentlich?". Eine einfache Antwort darauf gibt es nicht, daf�r drei Grundziele, anhand derer IT-Sicherheit definiert wird: Vertraulichkeit, Verf�gbarkeit und Integrit�t. Diese werden anhand einiger beispielhafter Angriffsszenarien n�her erl�utert, bevor Gegenma�nahmen vorgestellt werden. Die dabei erw�hnte M�glichkeit, einen Trojaner �ber eine zugeschickte Diskette oder CD in Verbindung mit etwas Social Engineering einzuschleusen, ist inzwischen veraltet: Inzwischen werden daf�r USB-Sticks verwendet. Zum Abschluss der Einf�hrung geht es um die Gefahren durch mitgebrachte Hardware wie z.B. USB-Massenspeicher.

Eine erste Schwachstelle: Puffer�berl�ufe

Als N�chstes wird eine typische Schwachstelle vorgestellt: Der Puffer�berlauf. Es folgt die Beschreibung seiner Ausnutzung sowie m�gliche Gegenma�nahmen. Anschlie�end wird beschrieben, wie Entwickler Puffer�berlaufschwachstellen verhindern k�nnen. Um m�gliche Schwachstellen zu finden, gibt es zwei M�glichkeiten: Bei Sourcecode Audits wird der Quelltext untersucht, bei Software Audits werden die Bin�rdateien analysiert.

Sicherheit von Webanwendungen

Die Sicherheit von Webanwendungen wird u.a. durch SQL Injection bedroht, was man durch Pr�fen der Benutzereingaben oder den Einsatz von Stored Procedures verhindern kann. Auch Cross-Site Scripting ist ein weit verbreitetes Problem, dem man durch eine Filterung der Benutzereingaben begegnen kann. Eine besonders f�r PHP-Skripte gef�hrliche Schwachstelle ist das unerw�nschte Einbinden von Dateien. Im Fall von PHP-Skripte liegt das Problem darin, dass in der eingebundenen Datei enthaltene PHP-Befehle ausgef�hrt werden. Im Falle anderer Sprachen kann so zumindest JavaScript-Code eingeschleust werden. Beim Einbinden lokaler Dateien kann der Angreifer u.U. sensitive Informationen aussp�hen, z.B. wenn er eine Datei mit Zugangsdaten ausgeben lassen kann.
Eine relativ neue Klasse von Angriffen ist das HTTP Request Smuggling, von dem es verschiedene Spielarten gibt, z.B. das Request Hijacking oder die T�uschung von Firewalls und Intrusion-Detection- bzw. -Prevention-Systemen. Angriffe k�nnen auf TCP-Ebene erkannt und z.B. durch eine Firewall (#29) oder ein Intrusion-Prevention-System (#49) verhindert werden. HTTP Response Splitting nutzt Schwachstellen in Webanwendungen, um statt einer Antwort derer zwei zu erschleichen. Dadurch lassen sich z.B. Webcaches vergiften. Auch der Browsercache kann als Ziel dienen.
Weitere Spielarten sind Cross-Site-Scripting-Angriffe und das indirekte Vergiften von Cache- und Proxy-Servern. Auch lassen sich durch HTTP Response Splitting Webseiten entf�hren: Die f�r einen anderen Benutzer bestimmten HTTP-Responses werden zum Angreifer umgeleitet. Es gibt mehrere M�glichkeiten, derartige Angriffe zu verhindern. Webanwendungen sind noch einigen anderen Gefahren ausgesetzt, ebenso wie Webserver.

N E U ! Security aktuell
T�glich aktuelle Security-Infos!

Wichtig in diesem Zusammenhang ist auch die Wahl des richtigen Standorts f�r den Webserver. Und das ist auch die �berleitung zum n�chsten Thema:

Firewall

Zuerst wird als Grundlage das TCP/IP-Schichtenmodell beschrieben. Die einfachste Form einer Firewall ist der Paketfilter, der auf der Netzzugangs-, Netzwerk- und Transportschicht des TCP/IP-Schichtenmodells arbeitet. Ein Problemfall sind FTP-Verbindungen. Sonderf�lle der Paketfilter sind zustandsorientierte und dynamische Paketfilter. Nach einer Gegen�berstellung von Vor- und Nachteilen der Paketfilter geht es weiter zur zweiten Kategorie von Firewall-Systemen: Application Level Gateways arbeiten auf der Anwendungsschicht des TCP/IP-Schichtenmodells. Dabei wird zwischen Application Level Proxies und Circuit Level Proxies unterschieden. Auch Application Level Gateways haben Vor- und Nachteile. Paketfilter und Application Level Gateways k�nnen sehr gut miteinander kombiniert werden. Dabei kann auch eine demilitarisierte Zone eingerichtet werden, in die dann z.B. der Webserver stationiert werden kann.

Beim Betrieb der Firewall fallen Logfiles an, die besser ausgewertet werden sollten. Daher folgt als n�chstes Thema die

Auswertung von Logfiles

Zuerst einmal stellt sich die Frage, welche Daten gespeichert werden sollen. Eine M�glichkeit, die Logfiles zu verarbeiten, ist die automatische Auswertung. Das funktioniert zwar im Allgemeinen ganz gut, trotzdem kommt man ab und zu nicht um eine manuelle Auswertung der Paketfilter-Logfiles herum. Das gilt auch f�r die HTTP-Proxy-Logfiles. Ein Mensch erkennt manche m�glichen Angriffe besser als jede Automatik.

Die Firewall soll den Angreifer aus dem zu sch�tzenden Netz fern halten. Falls doch mal einem ein Eindringen gelingt, muss das erkannt werden. Dazu dienen

Intrusion Detection Systeme (IDS)

Man unterscheidet nach dem Funktionsprinzip zwischen hostbasierten und netzwerkbasierten Systemen, die entsprechend ihren Anforderungen unterschiedlich positioniert werden m�ssen. Dabei wird auch wieder an den Standort des Webservers (#28) und die DMZ (#36) angekn�pft. Verteilte Systeme sind auf eine interne Kommunikation zwischen den Sensoren und dem Managementsystem angewiesen. Probleme bereiten hochverf�gbare Netze. Da das IDS den Angreifer nat�rlich im Wege ist, ist es selbst Angriffen ausgesetzt. Zu guter Letzt werden einige Beispiele f�r IDS-Regeln zur Erkennung fr�her beschriebener Angriffe vorgestellt. Diese werden dann f�r das Open-Source-Intrusion-Detection-System Snort konkret formuliert.
Soll das IDS Angriffe nicht nur erkennen, sondern auch aktiv abwehren, ist es ein Intrusion Prevention System (IPS).
Um Informationen �ber Angriffe zu sammeln, werden Honeypots eingesetzt. Ein derartiges System ist Honeyd.

Jetzt ist es Zeit, das Zusammenwirken von Firewall, IDS, IPS und Honeypot zu betrachten. Um die technischen M�glichkeiten sinnvoll einzusetzen, wird ein organisatorisches Konzept ben�tigt:

Sicherheitsrichtlinien (Security Policy)

Nach einer Beschreibung der Grundlagen folgt als praktisches Beispiel die Entwicklung der Sicherheitsrichtlinie der "Bratkartoffel KG" mit verschiedenen organisatorischen und administrativen Ma�nahmen und einer Risikoanalyse.

Um einen ganz anderen Problembereich geht es im folgenden Thema:

Sicherheit von TCP/IP

Die Grundlagen von TCP/IP wurden bereits beschrieben (#29, #30), daher kann es gleich um erste Angriffe darauf gehen: Spoofing. Hilfreich dabei sind Denial-of-Service-Angriffe, die u.a. auch zum Lahmlegen von IDS und IPS genutzt werden k�nnen. Weitere m�gliche Angriffe sind TCP-Hijacking und ARP-Spoofing. Auch das Domain Name System (DNS) ist angreifbar: Durch DNS-Spoofing.
Weitere m�gliche Angriffe sind das Vergiften des DNS-Caches und HTTP-Hijacking. Gef�rchtet sind auch Distributed Denial of Service (DDoS-)Angriffe, die meist von Botnets ausgehen. Abschlie�end werden noch allgemeine Schutzma�nahmen f�r TCP/IP und die Erkennung von Systemen anhand ihres TCP/IP- oder HTTP-Fingerprints beschrieben.

About Security: Die komplette Serie

Etwas braucht man im Bereich der IT-Sicherheit immer wieder:

Kryptographie

Dies ist ein sehr umfangreiches Thema, das nur relativ kurz behandelt wird... von #66 bis #82. Klingt ironisch, ist aber nicht so gemeint. Tats�chlich fehlen noch einige eigentlich ben�tigte Themen, aber w�rden die alle ausreichend gew�rdigt, m�sste man die Serie wohl in "About Cryptography" umbenennen. Los geht es mit den Grundlagen und einigen klassischen Verfahren: Substitution, Transposition, polyalphabetische Substitution, Vernam-Chiffre und das einzige beweisbar sichere Verschl�sselungsverfahren, das One-Time-Pad. Die ersten vorgestellten aktuellen Verfahren sind Feistel-Netzwerke. Diese werden z.B. im Data Encryption Standard (DES) eingesetzt. Da DES inzwischen unsicher ist, musste es verbessert werden. DES ist eine Blockchiffre, d.h. es werden immer Bl�cke einer bestimmten Gr��e verarbeitet. F�r derartige Chiffren gibt es verschiedene Betriebsarten.
Nach der ganzen Theorie wird es Zeit f�r ein paar Anwendungsbeispiele f�r DES. Der offizielle Nachfolger von DES ist der Advanced Encryption Standard AES. Dessen Sicherheit und Anwendung wird n�her betrachtet. Alle bisher betrachteten Verfahren waren symmetrische Verfahren: F�r Ver- und Entschl�sselung werden die gleichen Schl�ssel verwendet. Asymmetrische Verfahren nutzen daf�r getrennte Schl�ssel, von denen nur einer geheim gehalten werden muss. Ein solches Verfahren ist RSA, das auch als Authentikationssystem oder digitales Signatursystem eingesetzt werden kann. Aus der Kombination von symmetrischen und asymmetrischen Verfahren erh�lt man hybride Verfahren, die die Vorteile beider Verfahren vereinen.

Ein praktisches Problem der Kryptographie ist die Identit�tspr�fung. Daf�r gibt es zwei Ans�tze: Das Web of Trust, das ohne hierarchische Institutionen auskommt, und hierarchische Zertifizierungssysteme. Als praktisches Beispiel wird der Einsatz von Zertifikaten in SSL/TLS beschrieben, ein Problem, das sp�ter wieder vorkommen wird.

Als Beispiel f�r eine praktische Anwendung der Kryptographie wird wieder die Bratkartoffel KG verwendet. Dabei geht es um Aufbau und Betrieb einer

Public-Key-Infrastruktur (PKI)

Nach der Beschreibung des allgemeinen Aufbaus folgt die Beschreibung der Zertifizierungsstelle (Certificate Authority, CA). Ein erste praktische Anwendung der PKI ist der gesch�tzte Versand von E-Mails mithilfe von S/MIME. Auch sicheres Einloggen mit Single Sign-On ist dank PKI m�glich. Der Sicherheit dieses Ansatzes ist ein eigener Text gewidmet.

Ohne Kryptographie ebenfalls unm�glich w�re die sichere Verbindung von Systemen oder Netzen �ber

Virtuelle Private Netze (VPN)

Nach der Beschreibung der Grundlagen wird eine konkrete Implementierung vorgestellt: IPsec (Fortsetzung). F�r den f�r den Betrieb von IPsec notwendigen Austausch von Schl�sseln wird das Internet Key Exchange Protocol IKEv2 verwendet (1. Fortsetzung, 2. Fortsetzung). Ein Beispiel schlie�t die Beschreibung von IKEv2 ab, gefolgt von einer anschaulichen Beschreibung von IPsec.
Ein weiteres VPN-Protokoll ist das Point-to-Point Tunneling Protocol PPTP PPTP. Auch auf Grundlage des bereits in #73 sowie #81 und #82 vorgestellten SSL/TLS kann ein VPN aufgebaut werden: Entweder als Clientless TLS-VPN oder als TLS-Tunnel. Ein konkrete Implementierung eines TLS-Tunnels in OpenVPN. Abgeschlossen wird der Thema VPN mit einem Vergleich der vorgestellten VPN-Ans�tze.

In der n�chsten Folge wird ein schon mehrmals erw�hntes Verfahren aus der Kryptographie vorgestellt: der Diffie-Hellmann-Schl�sselaustausch.

Wenn Sie Fragen oder Themenvorschl�ge haben, k�nnen Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

Kommentare

Folgende Links könnten Sie auch interessieren