Grundlagen

Ein Computer ist eine Maschine, die Befehle ausführt. Ein Programm ist eine Ansammlung von Befehlen, die nacheinander von dem Computer ausgeführt werden. Um einen Angriff auf einen Computer führen zu können, muss man es schaffen, dass eigene Befehle ausgeführt werden. Dafür gibt es prinzipiell zwei Möglichkeiten: entweder man schafft es, ein eigenes Programm auf den Computer zu bringen und es ausführen zu lassen, oder man schafft es, dass ein bereits vorhandenes Programm die gewünschten Befehle ausführen lässt.

Angriffe von innen

Wenn man es schafft, ein eigenen Programm auf dem Ziel Computer zur Ausführung zu bringen, ist das System damit einem Angriff von innen heraus ausgesetzt. Um das zu erreichen gibt es verschiedene Möglichkeiten. Man kann es z. B. als Anhang einer E-Mail an den Benutzer des Computers senden und mit einem geschickten Text in der Mail dafür sorgen, dass er den Anhang ausführt. Alternativ bringt man den Benutzer dazu, sich ein Programm aus dem Internet zu kopieren und auszuführen, nachdem man vorher entsprechende Schadensroutinen in das Programm integriert hat. Eine dritte Möglichkeit bieten Office Dokumente mit Makros. Makros sind kleine Programme in den Office Dokumenten, deren Zweck es ist, irgendwelche Aufgaben zu automatisieren. So kann also bereits ein Word Dokument Schaden auf einem System anrichten, auch wenn es so aussieht, als ob hier nur Daten und keine Programme empfangen wurden.

Wichtig bei Angriffen von Innen sind die Benutzerrechte, mit denen das Programm ausführt wird. Der potentielle Schaden, den ein Programm verursachen kann, fällt mit den Rechten, die dieses Programm hat. Deshalb ist es äußerst ratsam, nicht als Administrator seine tägliche Arbeit zu verrichten, sondern sich hierfür einen neuen Benutzer mit möglichst wenig Rechten anzulegen. So ist, falls trotz aller Vorsicht ein Schadprogramm ausgeführt wird, der verursachte Schaden minimal.

Gegen Angriffe von Innen kann sich jeder einfach schützen, in dem er keine Programme ausführt, deren Herkunft unklar ist. Doch selbst wenn man den Autor kennt, muss man ihm vertrauen. Es bleibt einem nichts anderes übrig, wenn einem, wie in der Windows Welt üblich, der Quellcode von Programmen nicht zur Verfügung steht.

Angriffe von außen

Im Gegensatz zu Angriffen Innen ist bei Angriffen aus dem Internet der Benutzer selten selber schuld, denn so ein Angriff nützt Fehler in vorhandenen Programmen aus, um eigene Befehle zur Ausführung zu bringen. Ein Programm, das mit anderen Programmen oder dem Benutzer kommuniziert, verwendet dafür ein bestimmtes Protokoll. Das ist ein Menge von Regeln, nach denen die Kommunikation statt findet. Ein häufig gemachter Fehler von Programmierern ist nun, dass man die Eingaben des Benutzer oder der anderen Programme nicht darauf hin überprüft, ob sie sich an das Protokoll halten, sondern die Konformität einfach annimmt. Wenn sich der Gegenüber nun nicht an das Protokoll hält und somit manche Annahmen des Programmierers nicht zu treffen, können erstaunliche Dinge geschehen. Der am bekannteste Angriff dieser Klasse ist der sog. Buffer Overflow, bei dem ein Angreifer beliebigen Code zur Ausführung bringen kann. Aber selbst wenn man keinen beliebigen Code ausführen lassen kann, so kann man vielleicht beliebige Dateien auslesen oder beliebige andere vorhandene Programme starten.

Um einen Fehler in einem Programm ausnützen zu können, muss man mit diesem Programm kommunizieren. Als Angreifer bleibt einem da meistens nur die Kommunikation über das Internet, weil man keinen direkten Zugriff auf den Ziel Computer hat. Wenn zwei Programme miteinander über das Internet kommunizieren möchten, dann geschieht das immer auf die selbe Art und Weise. Eines der beiden Programme ist der sogenannte Dienst, der seinem Betriebssystem sagt, dass es für Kommunikation aus dem Internet bereit ist. Das zweite Programm ist der sogenannte Client, der seinem Betriebssystem sagt, dass es mit den entfernten Dienst über das Internet kommunizieren möchte. Um den Dienst zu finden, gibt es zum einen die sogenannte IP Nummer und zum anderen den sogenannten Port. Die IP ist eine eindeutige Nummer des Computers im Internet; vergleichbar mit der Postadresse eines Hauses. Der Port dient zur Unterscheidung der Dienste auf einem Computer, falls mehr als ein Dienst gleichzeitig über das Internet kommunizieren möchte.

Bei einer Standardinstallation von Windows XP laufen viele Dienste, die für Kommunikation aus dem Internet bereit sind. Damit können Fehler in diesen Diensten von beliebigen Angreifern ausgenützt werden. Würmer wie z. B. Sasser sind über diese Schwachstelle in die Systeme eingedrungen.

Links


zurück zur Startseite