Suchen

Exploits entmystifiziert, Teil 1 Wie ein Angreifer Schadcode ins System schleusen kann

| Autor / Redakteur: Thorsten Henning* / Stephan Augsten

Der Exploit ist ein wichtiges Mittel, um in IT-Systeme vorzudringen. Unverzichtbar sind Exploits beispielsweise für Advanced Persistent Threats, kurz APTs. Doch was macht diesen Angriffsvektor aus und wie wird er genutzt? Diese Beitragsreihe soll Aufklärung leisten.

Firmen zum Thema

Um unbemerkt Schadcode auf einem System auszuführen, muss ein Angreifer sich zunächst einmal Zugriff zum System verschaffen.
Um unbemerkt Schadcode auf einem System auszuführen, muss ein Angreifer sich zunächst einmal Zugriff zum System verschaffen.
(Bild: Archiv)

Exploits gibt es schon lange, doch erst seit den letzten Jahren ist der Begriff weit verbreitet und anerkannt als Hauptangriffsvektor. Um zu verstehen, wie Exploits funktionieren, bedarf es eines gewissen Grundwissens, wie Anwendungen verarbeitet und ausgeführt werden und wie dieser Prozess böswillig manipuliert werden kann.

Im ersten Teil dieser Reihe geht es um die Bausteine von Exploits, einschließlich der wichtigsten Motivationen, verschiedenen Techniken sowie der Entwicklung von Schutzmechanismen und Gegenmaßnahmen. Zudem sollen Antworten geliefert werden auf folgende Fragen:

  • Was ist der Unterschied zwischen Sicherheitslücke (Vulnerability) und Exploit?
  • Was bedeutet es, wenn ein Software-Anbieter die Sicherheitsanfälligkeit als kritisch sieht?
  • Warum können Exploits nicht von Signatur-basierten Lösungen erkannt werden?
  • Was ist der Unterschied zwischen Stack-Overflow und Use-After-Free-Vulnerabilities?
  • Was ist der Unterschied zwischen einer Speicherbeschädigung und Java-Schwachstellen?

Zunächst werfen wir einen Blick auf Speicherfehler-Exploits und ihre kritische Rolle in der Bedrohungslandschaft.

Das Problem des Remote-Angreifers

Attacken können aus vielen Gründen erfolgen, aber was auch immer die Motivation ist: Um seine Mission zu erfüllen, muss ein Angreifer Code auf einem infizierten Computer ausführen. Dieser Code könnte zur heimlichen Datenexfiltration, zum Löschen von Festplatten oder zum Sabotieren eines SCADA-Systems dienen. Um ausgeführt zu werden, muss der Code aber erst das Ziel des Angriffs erreichen.

Das offensichtliche Problem besteht darin, dass unter normalen Umständen der Angreifer keinen Zugriff auf seine Zielmaschine hat. Exploits stellen eine Lösung für das Problem des Fernangreifers dar. Der Exploit gibt dem Angreifer Benutzerrechte auf dem übernommenen Computer. Der Exploit ist somit das Mittel, mit dem der Angreifer in einem infizierten Computer Fuß fasst.

Um das zu erreichen, zielen Angreifer auf die Anwendungen, mit denen Benutzer normalerweise mit externen Inhalten interagieren. Die am häufigsten verwendeten Anwendungen sind Browser, Leser, Spiele und Microsoft-Office-Dokumente. Angreifer versuchen, ihren Code in einer Datei einzubetten, die die Anwendung, auf die sie abzielen, öffnen wird. Erst danach kommen die Hauptkomponenten eines Angriffs zum Einsatz: Backdoor, C2C-Kommunikation, Key-Logger etc., die heruntergeladen und ausgeführt werden.

(ID:43725378)