Was ist ein Exploit?
Bei einem Exploit handelt es sich um ein Computerprogramm, das Sicherheitslücken von Software-Produkten aufzeigt und deren Ausnutzung ermöglicht. Sie stellen potente Werkzeuge für Hacker und Cyberkriminelle dar, um in geschützte Computersysteme einzudringen, um Datendiebstahl und ähnliche illegale Aktivitäten zu begehen. Exploits können jedoch auch bei der Beseitigung von Schwachstellen genutzt werden.
Allgemeine Informationen
Exploits stellen systematische Wege dar, um aufgrund von Schwachstellen in Form von Programmierfehlern der Software in Computersysteme und Netzwerke einzudringen. Dabei kann es sich sowohl um rein theoretische Beschreibungen der Sicherheitslücke (Proof of Concept), als auch um ausführbare Programme zur direkten Ausnutzung der jeweiligen Sicherheitslücke handeln. Für Hacker und andere Cyberkriminelle sind sie wichtige Tools, um unbefugten Zugriff auf ein Computersystem zu erlangen und dieses nach persönlichen Wünschen zu manipulieren. Darüber hinaus werden Exploits eingesetzt, um Sicherheitsschwachstellen genau zu dokumentieren und für deren Beseitigung mittels Software-Updates und -Patches zu sorgen. In vielen Fällen machen sich Exploits sogenannte „Pufferüberläufe“ (Buffer Overflow) zunutze. Dabei handelt es sich um Programmierfehler, die es ermöglichen, Programmcode in einem nicht dafür vorgesehenen Bereich des Arbeitsspeichers auszuführen, um beispielsweise Adminrechte oder Zugriff auf geschützte Dateien und Ordner zu erhalten. Viele nutzen zudem schlecht programmierte Schnittstellen aus, mit denen eigene Codefragmente zur Ausführung gebracht werden können.
Bedeutung für Netzwerk- und Systemsicherheit
Durch den Einsatz gängiger Exploits können Computersysteme und Netzwerke auf Schwachstellen geprüft werden. Falls bereits Patches und Updates für bekannte Sicherheitslücken installiert sind, kann mit den entsprechenden Exploits die Wirksamkeit dieser Updates verifiziert werden. Neben einzelnen gibt es auch sogenannte „Exploit-Pakete“, die eine Vielzahl unterschiedlicher Schwachstellen in einem einzelnen Programm sammeln. Ein System lässt sich auf diese Weise auf eine Großzahl verschiedener Lücken prüfen. Für den Cyberkriminellen erhöht sich jedoch durch den Einsatz solcher Pakete die Wahrscheinlichkeit, dass er in ein System eindringt und dieses manipuliert.
Einteilung von Exploits nach Angriffsart und zeitlichen Aspekten
Abhängig von der eingesetzten Angriffsart und den zeitlichen Aspekten lassen sich Exploits in folgende Kategorien einteilen.
Remote-Exploits sind in erster Linie darauf ausgelegt, Schwachstellen in Netzwerksoftware auszunutzen. Sie basieren auf dem Einsatz manipulierter Datenpakete. Ein lokaler Exploit hingegen wird direkt auf dem Computersystem des Opfers ausgeführt. Eine auf den ersten Blick harmlos wirkende Datei kann beispielsweise mit einem bösartigen Codefragment versehen sein, der beim Ausführen der Datei eine Schwachstelle des Systems ausnutzt. Bei Denial-of-Service-Exploits (DoS-Exploits) wird kein eigener Programmcode auf den angegriffenen Computersystemen ausgeführt, sondern ein solcher Exploit verursacht eine Überlastung der Anwendung. Webanwendungen, die SQL-Datenbanken als Datastore verwenden, sind unter Umständen für Injection-Exploits anfällig. Ein Zero-Day-Exploit ist eine Sicherheitslücke, die erst kürzlich entdeckt wurde und die dem Hersteller des Computersystems noch nicht bekannt ist. Diese Art ist besonders tückisch. Da sie frühestens beim ersten Angriff auf ein System entdeckt werden kann und für die kein entsprechendes Sicherheitsupdate existiert. Da die Hersteller erst einen Patch für den Exploit entwickeln müssen, erhalten die Angreifer mehr Zeit, um eine größere Zahl von Systemen zu infiltrieren und großen Schaden anzurichten.
Exploits als Hacker Tools
Exploits werden in vielen Fällen zusammengepackt, sodass der Hacker ein System auf eine große Zahl von Sicherheitslücken prüfen kann. Sollten eine oder mehrere Sicherheitslücken entdeckt werden, kommen die entsprechenden Exploits zum Einsatz. Solche Pakete verwenden zudem clevere Verschlüsselungsverfahren wie die sogenannte „Code-Obfuskation“, um es Sicherheitsforschern zu erschweren, ihre Funktionsweise nachzuvollziehen. Zu den bekanntesten und meistgenutzten Paketen gehören:
– Neutrino: Hierbei handelt es sich um ein russisches Kit, das einige für die Java-Plattform enthält.
– Nuclear Pack: Dieser befällt seine Opfer mit PDF– und Java-Exploits und infiziert befallene Computer auch mit dem tückischen Bank-Trojaner „Caphaw“.
– Blackhole Kit: Hierbei handelt es sich um eine der größten Gefahren des Jahres 2012, die ältere Browser-Versionen von Chrome, Firefox, Safari und Internet Explorer Millionen von Rechnern infiziert hat.
– Angler: Bei diesem handelt es sich um eines der hoch entwickelsten Kits, die auf dem Underground-Markt erhältlich sind.
Schutzmaßnahmen
Um sich zu schützen, sollten regelmäßig veröffentlichte Patches und Updates auf das Computersystem installiert werden. So können Sie sicherstellen, dass der Rechner vor bereits bekannten Exploits geschützt ist und dass Sicherheitslücken geschlossen sind. Es können Firewalls, leistungsstarke Virenscanner, oder Intrusion Detection und Intrusion Prevention Systeme eingesetzt werden, die Hacker-Angriffe rechtzeitig erkennen und ungewollten Datenverkehr aus dem Internet automatisch unterbinden. Das Ausnutzen bisher unbekannter Sicherheitsprobleme durch Zero-Day-Exploits lässt sich jedoch kaum verhindern. Diese Hacker-Angriffe lassen sich nur dann abwehren, wenn bei der Programmierung der Anwendungen hohe Qualitätskriterien beachtet wurden. Durch durchdachte Testverfahren und ein hohes Maß an Sorgfalt können Design- und Programmierfehler bereits während der Entwicklungsphase entdeckt und behoben werden.
- Über den Autor
- Aktuelle Beiträge
Daniel Faust ist Redakteur im Content-Team der Biteno und betreut den Blog der Biteno GmbH.