Skip to main content

Sicherheitslücken erklärt: Arten und Behebung

Artikel von
AH blog header

11. Februar 2021

0 Min. Lesezeit

Die durchschnittlichen Kosten einer Datenschutzverletzung beliefen sich 2020 auf 3,86 Millionen US-Dollar, und die Kosten der Cyberkriminalität erreichten 2021 weltweit 6 Billionen US-Dollar. 82 % der bekannten Sicherheitslücken stecken im Anwendungscode. 90 % der Web-Anwendungen sind anfällig für Hackerangriffe, und bei 68 % besteht die Gefahr, dass sensible Daten offengelegt werden.

Sicherheitslücke vs. Exploit vs. Bedrohung 

Um Cybersicherheitsrisiken effektiv zu verwalten, ist es wichtig, den Unterschied zwischen einer Sicherheitslücke, einem Exploit und einer Bedrohung zu verstehen.

Was ist eine Sicherheitslücke?

Eine Sicherheitslücke ist ein Fehler im Softwarecode oder eine Fehlkonfiguration eines Systems, wie etwa Log4Shell, durch die Angreifer direkt unbefugten Zugriff auf ein System oder Netzwerk erlangen können. Sobald sie sich Zugang verschafft haben, können Angreifer Berechtigungen und Privilegien missbrauchen, um Systeme und Ressourcen zu kompromittieren.

Ein Sicherheitslücken-Scanner scannt Ihre Umgebung und vergleicht sie mit einer Datenbank oder einer Liste bekannter Sicherheitslücken. So können Sie herausfinden, wo Schwachstellen bestehen.

Was ist eine Software-Sicherheitslücke?

Eine Software-Sicherheitslücke ist eine Schwachstelle im Code eines Softwareprogramms, die Angreifer ausnutzen können. Damit können sie sich unbefugten Zugriff auf Netzwerke verschaffen, Daten stehlen und Systeme kompromittieren. 

Was ist ein Cybersecurity-Exploit?

Ein Exploit bezeichnet die Methode, mit der Hacker eine Sicherheitslücke für einen Angriff ausnutzen. Dabei handelt es sich meist um speziell entwickelte Software oder eine Reihe von Befehlen. So haben beispielsweise Netzwerkwürmer wie CodeRed, Spida und Slammer im Laufe der Jahre Sicherheitslücken in Microsoft IIS (Internet Information Services) und MS-SQL-Servern ausgenutzt.

Es gibt sogar Exploit-Kits wie Rig, Magnitude und Fallout, die in kompromittierte Webseiten eingebettet werden können. Diese Kits suchen kontinuierlich nach Sicherheitslücken. Sobald eine Schwachstelle erkannt wird, versucht das Kit sofort, einen Exploit auszuführen, etwa indem es Malware in das Hostsystem einschleust.

Was ist der Unterschied zwischen einem Exploit und einem Hack?

Bei einem Cybersecurity-Exploit werden Fehler oder Schwachstellen im Code ausgenutzt, um sich einen Vorteil innerhalb eines Systems zu verschaffen – in der Regel, um sensible Daten abzugreifen. Als Hack bezeichnet man den unbefugten Zugriff auf Daten.

Was ist eine Cyberbedrohung?

Eine Bedrohung ist ein tatsächliches oder hypothetisches Ereignis, bei dem ein oder mehrere Exploits eine Sicherheitslücke für einen Angriff ausnutzen. So wurde der CodeRed-Exploit für die Sicherheitslücke in Microsoft IIS aktiv eingesetzt, um mehr als 300.000 Ziele zu infizieren. Diese Bedrohungen haben weltweit enorme finanzielle Schäden verursacht.

Venn-Diagramm mit allen offengelegten Schwachstellen, ausgenutzten Schwachstellen und Schwachstellen in Ihrer Umgebung, das wichtige Schwachstellen hervorhebt, die be-w
Venn-Diagramm, das zeigt, um welche Sicherheitslücken Sie sich kümmern müssen

Nur ein kleiner Teil der bekannten Sicherheitslücken wird ausgenutzt, also tatsächlich für einen Angriff auf ein System verwendet. Sicherheitslücken mit dem höchsten Risiko werden mit größerer Wahrscheinlichkeit ausgenutzt und sollten daher zuerst priorisiert und behoben werden, wie im Diagramm zu sehen:

Arten von Sicherheitslücken

Sicherheitslücken können auf allen Ebenen auftreten, unter anderem in der Infrastruktur, im Netzwerk und in Anwendungen. In diesem Abschnitt geht es um Anwendungen und Sicherheitslücken auf Websites.

Zwei wichtige Listen erfassen Schwachstellen, die Webanwendungen und Websites Cybersicherheitsrisiken aussetzen. Die erste wird vom

offenen, globalen Community-Projekt Open Web Application Security Project (OWASP) gepflegt. Von den rund 60 dort beschriebenen Schwachstellen in der Anwendungssicherheit führt die Liste der OWASP Top 10-Sicherheitslücken diejenigen auf, die am häufigsten ausgenutzt werden. 

Die zweite Liste heißt CWE (Common Weakness Enumeration) und ist eine „von der Community entwickelte Liste gängiger Schwachstellentypen in Software und Hardware, die Auswirkungen auf die Sicherheit haben“. CWE wird – genau wie das bekannte standardisierte Wörterbuch Common Vulnerabilities and

Exposures (CVE) – von der MITRE Corporation gepflegt, einer gemeinnützigen Organisation, die Forschungs- und Entwicklungszentren im Auftrag der US-Bundesregierung betreibt. Die CWE-25 ist eine jährlich aktualisierte Liste der 25 gefährlichsten Software-Schwachstellen.

Die MITRE CWE-25 führt drei Haupttypen von Sicherheitslücken in Anwendungen und auf Websites auf:

1. Unzureichende Schutzmaßnahmen

Dieser erste Schwachstellentyp umfasst Fehler, durch die Nutzer Authentifizierungs- und Autorisierungsprozesse umgehen oder vortäuschen können. Bei der Authentifizierung wird die Identität einer Person überprüft, die auf ein System zugreifen möchte. Die Autorisierung umfasst die Zugriffs- und Nutzungsberechtigungen, die einem Nutzer zugewiesen sind.

Beispiele für Schwachstellen bei Schutzmaßnahmen sind:

  • Schwache Passwortverschlüsselung

  • Unzureichend geschützte Anmeldedaten

  • Fehlende oder einstufige Authentifizierung

  • Unsicher vererbte Berechtigungen

  • Sitzungen, die nicht rechtzeitig ablaufen

Wenn unbefugte Personen erfolgreich auf sensible Ressourcen zugreifen und diese missbrauchen, können all diese Arten von Sicherheitslücken bei Schutzmaßnahmen die Sicherheitslage eines Unternehmens erheblich beeinträchtigen.

Exploits, die Schwachstellen bei Schutzmaßnahmen ausnutzen, können Folgendes umfassen:

  • Credential-Stuffing-Angriffe

  • Übernahme von Sitzungs-IDs

  • Diebstahl von Anmeldedaten

  • Man-in-the-Middle-Angriffe (MITM) (im Wesentlichen elektronisches Abhören)

2. Riskantes Ressourcenmanagement

Viele Sicherheitslücken entstehen durch riskantes Management von Ressourcen wie Speicher, Funktionen und Open-Source-Frameworks. Während der Entwurfs- und Entwicklungsphase von Webanwendungen und Websites müssen alle Komponenten von Drittanbietern, die in die Architektur eingebunden werden sollen – etwa Bibliotheken und Funktionen –, auf Sicherheitslücken gescannt werden.

Zu den Fehlern in dieser Kategorie gehören:

  • Schreib- oder Lesezugriff außerhalb des zulässigen Speicherbereichs (Buffer Overflow): Die Anwendung kann dazu gebracht werden, Daten hinter dem Ende oder vor dem Anfang des vorgesehenen Speicherpuffers zu schreiben oder zu lesen.

  • Path Traversal: Angreifer können Dateipfade so erstellen, dass sie auf Dateien außerhalb beschränkter Verzeichnisse zugreifen.

Buffer-Overflow-Angriffe sind ein klassisches Beispiel dafür, wie Fehler beim Ressourcenmanagement Webanwendungen und Websites Cyberrisiken aussetzen. Bei diesen Angriffen werden unzureichende Kontrollen von Speicherpuffern ausgenutzt, um Ausführungspfade zu ändern und dadurch die Kontrolle über die Anwendung zu übernehmen, Dateien zu beschädigen oder sensible Informationen auszuschleusen.

3. Unsichere Interaktion zwischen Komponenten

Die stark verteilten Anwendungsarchitekturen von heute senden und empfangen Daten über verschiedene Dienste, Threads und Prozesse hinweg. Zur Laufzeit müssen Webanwendungen und Websites einen Zero-Trust-Ansatz verfolgen: Jede Eingabe gilt als verdächtig, bis aktiv überprüft wurde, ob sie aus einer vertrauenswürdigen Quelle stammt und ihrem vorgesehenen Zweck entspricht.

Zu den Schwachstellen, durch die Webanwendungen oder Websites unsicheren und riskanten Interaktionen ausgesetzt sind, gehören:

  • Cross-Site-Scripting oder XSS: Unzureichende Neutralisierung von vom Nutzer kontrollierten Eingaben bei der Erstellung von Webseiten. Die Abfolge von Ereignissen, die dazu führt, dass ein schädliches Skript in einer generierten Webseite ausgeführt wird, beginnt damit, dass nicht vertrauenswürdige Daten in eine Webanwendung gelangen – meist über eine Webanfrage.

  • Cross-Site-Request-Forgery (CSRF): Unzureichende Überprüfung, ob eine scheinbar legitime und authentische Anfrage absichtlich gesendet wurde. Solche Angriffe erfolgen oft über Social-Engineering-Methoden, etwa gefälschte E-Mails, die Nutzer dazu verleiten, auf einen Link zu klicken oder eine gefälschte Anfrage an eine Website oder einen Server zu senden, bei dem sie bereits authentifiziert sind.

Webanwendungen oder Websites, die keine Zero-Trust-Sicherheitskontrollen implementieren, sind generell anfällig für Hintertür-Angriffe, Skriptangriffe, Würmer, Trojaner und andere Exploits, die Schadcode einsetzen, um Infrastruktur, Daten und Systeme zu beschädigen.

Was ist die häufigste Sicherheitslücke?

Sowohl OWASP-10 als auch CWE-25 führen Injection-Schwachstellen als häufigste Sicherheitslücke auf. Code-Injection kann zwar viele Formen annehmen (SQL, NoSQL, Betriebssystem, LDAP), beinhaltet aber immer, dass schädliche Daten über einen Befehl oder eine Abfrage an einen Interpreter gesendet werden. Der Interpreter wird dazu gebracht, nicht autorisierte Aktionen auszuführen, etwa Befehle auszuführen oder auf Daten zuzugreifen.

So finden und beheben Sie Sicherheitslücken

Sicherheitslücken werden durch formelle Schwachstellenmanagement-Programme erkannt und behoben. Schwachstellenmanagement umfasst teamübergreifende Best Practices und Verfahren, mit denen Sicherheitslücken zeitnah und in großem Umfang identifiziert, priorisiert und behoben werden.

Eine Bewertung von Sicherheitslücken ist ein wichtiger Bestandteil des Schwachstellenmanagements. Dabei wird die Wirksamkeit der Prozesse und Verfahren eines Unternehmens für das Schwachstellenmanagement mithilfe von Penetrationstests und anderen automatisierten Sicherheitstests beurteilt.

Diagramm zum Secure Software Development Life Cycle mit Anforderungen, Design, Entwicklung, Tests, Bereitstellung und Sicherheitsaktivitäten.

Schwachstellenmanagement und die Bewertung von Sicherheitslücken sollten fester Bestandteil eines sicheren Softwareentwicklungslebenszyklus (Secure SDLC) sein. Dabei werden Code, Bibliotheken, Container-Images und andere Komponenten in allen Phasen des Produktlebenszyklus auf Schwachstellen und Sicherheitslücken getestet.

Tools zur Behebung von Sicherheitslücken während des SDLC

Zu den automatisierten Tools, mit denen DevSecOps-Teams einen Secure SDLC implementieren, gehören:

Viele Tools für das Schwachstellenmanagement nutzen eine Datenbank bekannter Sicherheitslücken für Scans und Analysen. Die Snyk Intel Vulnerability Database greift beispielsweise auf öffentliche und proprietäre Quellen für Sicherheitslücken und Threat Intelligence zurück und reichert deren Daten an. So bietet sie den umfassendsten und effizientesten Open-Source-Sicherheitslücken-Scanner der Branche.

Starten Sie mit Capture the Flag

Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.

Weiterlesen

Blog

Frontier-Modelle fanden die Schwachstellen. Nur der Angreifer fand die Angriffsketten.

Die statische Analyse fand die Schwachstellen, doch erst Live-Angriffstests bewiesen, wie sie sich zu Angriffen verketten lassen. Ein Vergleich von Evo COS, Claude Security und Claude Code Security.

feature insights context
Blog

Autonome Angriffe sind bereits Realität. Die Verteidigung muss Schritt halten.

Autonome Angreifer verkürzen das Zeitfenster für die Verteidigung. Erfahren Sie, wie kontinuierliches Erkennen, Beheben, Validieren und Verhindern Sicherheitsteams helfen kann, Schritt zu halten.

Blog

Warum KI-Coding-Agenten immer wieder fehlerhafte Zugriffskontrollen schreiben

KI-Coding-Agenten können Autorisierungslogik erzeugen, die kompiliert und die Prüfung besteht, dabei aber die Daten eines Mandanten für einen anderen offenlegt. Erfahren Sie, warum fehlerhafte Zugriffskontrollen schwer zu erkennen sind und wie Sie sie verhindern.