Zum Inhalt springen

Exploit

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. August 2005 um 21:15 Uhr durch 84.153.179.162 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein Exploit (englisch to exploit - ausnutzen) ist ein Computerprogramm oder Script, welches spezifische Schwächen beziehungsweise Fehlfunktionen eines anderen Computerprogrammes ausnutzt (z.B. bei DoS-Attacken). Dies erfolgt in der Regel mit destruktiver Absicht.

Ein Exploit wird oft auch einfach nur zur Demonstration einer Sicherheitslücke geschrieben und veröffentlicht. Dadurch soll erreicht werden, dass Hersteller von Software möglichst schnell auf bekannt gewordene Sicherheitslücken reagieren. Oft bezeichnet man auch nur die theoretische Beschreibung eines Exploits als Exploit.

Meist machen sich Exploits zu nutze, dass Computer nicht zwischen Programmen und Daten unterscheiden. So wird z. B. bei einem Pufferüberlauf der Code des Angreifers in einen nicht dafür vorgesehenen Speicherbereich geschrieben, wodurch die Ausführung manipuliert werden kann - so kann ein Angreifer oft seinen eigenen Code ausführen, der ihm beispielsweise eine Shell liefert.

Exploits können beim Öffnen an sich scheinbar völlig harmloser Dateien (z. B. Bilddateien) aktiviert werden, indem einfach den Bilddateien Maschinencode beigefügt ist und die Datei in einer Weise manipuliert wurde, dass dieser Maschinencode einen Teil des laufenden Programms (das eine Sicherheitslücke enthält) überschreibt. Das Programm kann daraufhin abstürzen oder sich ungewöhnlich verhalten, der Anwender muss aber nichts davon mitbekommen.

Eine aktive Form des Exploits sind Angriffe aus dem Internet mittels manipulierten Datenpaketen auf Schwachstellen in der Netzwerksoftware, wobei auch häufig auf ähnliche Weise Programme eingeschleust werden, durch die man größeren Zugriff erlangt.

Es gibt diverse technische Lösungen wie Speicherschutz - diese helfen zwar nur gegen bestimme Ausnutzungstechniken, können aber trotzdem die Ausnutzung einer Lücke schwer bis unmöglich machen. Das Grundproblem ist allerdings unsaubere Programmierung, die einzige Lösung ist also, die Sicherheitslücken schon bei der Programmierung zu vermeiden.

Während man sich früher meistens gut gegen Exploits bzw. Viren, die diese ausnutzen, schützen konnte, gibt es immer mehr Exploits, bei denen man nur im Internet sein muss, um anfällig zu sein. Bekannte Beispiele sind Sasser oder Blaster, die viele Windows-Rechner, die nicht durch einen NAT-Router oder eine Firewall geschützt waren, befielen.

Ein Exploit, das am selben Tag erscheint, an dem die Sicherheitlücke veröffentlicht wird, nennt man zero-day (0-day) Exploit.

Siehe auch: Cracker, Hacker, Heap Overflow, Shellcode