Eine Sicherheitslücke (auch Schwachstelle oder Vulnerability) ist ein Fehler oder eine Schwäche in Software, Hardware oder Konfiguration, die ein Angreifer ausnutzen kann, um unbefugt auf Systeme oder Daten zuzugreifen. Sie ist die Voraussetzung für einen Exploit: Erst die Lücke macht den Angriff möglich.

Arten von Sicherheitslücken

  • Programmierfehler: Buffer Overflow, Use-after-free, fehlende Eingabevalidierung (SQL-Injection, Cross-Site-Scripting).
  • Fehlkonfigurationen: offene Ports, Standard-Passwörter, falsche Berechtigungen, unnötige Dienste.
  • Logikfehler: fehlerhafte Ablaufprüfungen, unsichere Berechtigungsprüfungen, Race Conditions.
  • Designschwächen: unsichere Protokolle, fehlende Verschlüsselung, schwache Algorithmen.

Von der Lücke zum Angriff

Angreifer scannen Systeme automatisiert nach bekannten Schwachstellen und setzen dafür fertige Exploit-Tools ein. Auch das passive Mithören von Netzwerkverkehr (Sniffing) zählt zu den Angriffswegen, über die unverschlüsselte Daten abfließen. Besonders gefährlich sind Zero-Day-Lücken, für die noch kein Patch existiert. Die CWE-Liste (Common Weakness Enumeration) fasst die gefährlichsten Schwachstellentypen zusammen, die OWASP Top 10 die häufigsten Web-Schwachstellen.

Schwachstellenmanagement

  • Regelmäßiges Einspielen von Updates und Patches.
  • Automatisierte Scanner und Penetrationstests decken Lücken auf.
  • Secure Coding und Code-Reviews verhindern Fehler schon beim Entwickeln.
  • Minimalprinzip: weniger Dienste und Rechte bedeutet weniger Angriffsfläche.

Verwandte Grundlagen: CVE (die standardisierte Meldung von Schwachstellen), Backdoor (die nach dem Ausnutzen entsteht) und Malware.