Schwachstellen in der IT - Ein Überblick
Schwachstellen in den IT-Systemen sind für 36 % aller erfolgreichen Cyberattacken verantwortlich. Häufig stellen diese Schwachstellen unentdeckte Lücken in den IT-Systemen von Unternehmen und Institutionen dar, die Hacker nutzen können, um diese Systeme zu kompromittieren. Laut BSI sind über 20.000 neue Schwachstellen, die durch Hacker genutzt werden und somit ein Sicherheitsrisiko darstellen können, in Softwareprodukten im Jahr 2021 entdeckt worden, was einen Zuwachs von ~10 % zum Vorjahr darstellt. Diese Zahl ergibt sich aus der Anzahl der Eintragungen im CVE Repository (dazu später mehr). Das CVE Repository liefert auch neuere Zahlen: 2022 gab es über 26.000 neue Einträge, also einen Zuwachs von ~30 % gegenüber 2021. Die Tendenz ist also steigend.
Doch was ist eine IT-Schwachstelle überhaupt? Der Duden liefert die folgende Definition für den Begriff Schwachstelle: “Stelle, an der etwas für Störungen anfällig ist”. In der IT versteht man üblicherweise unter einer Schwachstelle einen Fehler im Code oder im Design, der zu einer Fehlfunktion, einem potenziellen Ausfall oder Sicherheitsrisiko im System, Netzwerk oder im Endgerät führt. In diesem Artikel geht es primär um die Schwachstellen, die durch Hacker für eine Kompromittierung, also “exploited” werden können, damit eine Sicherheitslücke darstellen und einen Eintrag im CVE Repository bekommen.
Für die Informationssicherheit sind allerdings nicht nur rein technische Schwachstellen relevant. Ganz im Sinne der Triangologie der Informationssicherheit (Technik, Mensch, Organisation) können Schwachstellen auch auf der organisatorischen oder personellen Ebene auftreten.
Technische Schwachstellen
Software Softwareschwachstellen entstehen häufig durch Fehler in der Entwicklung und stellen Fehlfunktionen oder Lücken in Software oder den softwarebasierten Systemen dar. Diese können die Funktion der Software selbst oder die Interaktion mit anderen Diensten wie z. B. Berechtigungsverwaltungen beeinträchtigen. Schwachstellen können in Einzelfällen jedoch auch gezielt durch die Hersteller oder deren Mitarbeiter eingebaut werden. Diese gezielt eingebauten Schwachstellen dienen meist der Spionage durch staatliche Institutionen. Hardware Schwachstellen in der Hardware sind meist auf zufällige Fehlfunktionen zurückzuführen. Diese Fehlfunktionen können durch Angreifer genutzt werden, um in Systeme einzudringen oder diese zu beeinflussen. Besonders prominente Beispiele für diese Fehlfunktions-Schwachstellen sind Meltdown und Spectre. Wie bei Softwareschwachstellen können auch Hardware-Schwachstellen durch Hersteller oder Mitarbeiter heimlich eingebaut und durch die jeweiligen Auftraggeber genutzt werden.
Organisatorische-Schwachstellen
Sind Prozesse nicht ausgereift oder weisen Lücken auf, kann es auch hierzu fehlerhaften Handlungen oder Abläufen kommen. Hierunter fallen auch zu komplexe Prozesse, bei denen Mitarbeiter entweder Fehler machen oder sich Übergangslösungen bauen, um die Prozesse abzukürzen oder für sich zu vereinfachen, was ungewollt zu Fehlern führen kann.
Personelle Schwachstellen
Auch der Mensch kann in der IT eine Schwachstelle darstellen. Dies ist leider nicht in einem Scoring System zu erfassen und hängt von den jeweiligen Individuen und der situativen Bewertung ab. Richtlinien und zu unterzeichnende Erklärungen bezüglich der Verschwiegenheit und des Datenschutzes sind zwar hilfreich und bewegen die meisten Mitarbeiter dazu, die entsprechenden Vorgaben einzuhalten. Doch kann es immer wieder passieren, dass Mitarbeiter aus Bequemlichkeit zu leichte Passwörter verwenden oder aus Stolz anderen Menschen von geheimen Projekten erzählen. Mitarbeiter können jedoch auch mit einer böswilligen Absicht handeln und Daten beispielsweise verkaufen oder aufgrund einer Kündigung einfach löschen, dies nennt man in der Fachsprache “Insider-Threat”. Viele dieser möglichen menschlichen Schwachstellen lassen sich durch technische und organisatorische Maßnahmen wie das erzwungene Wählen sicherer Passwörter oder ein striktes Zugriffsrecht behandeln. Am Ende lässt sich die Schwachstelle Mensch jedoch nie zur Gänze “patchen” (beheben).
Wie werden Schwachstellen erkannt und der Öffentlichkeit gemeldet?
Schwachstellen werden durch Forscher, Entwickler, die Open Source Community oder Hacker entdeckt. Bei Hackern ist zwischen Black-, Grey- und White-Hat-Hackern zu unterscheiden. Mittlerweile gibt es hier noch mehr Farben, aber das würde den Rahmen sprengen (mehr Informationen finden Interessierte hier. Für uns ist in Bezug auf Schwachstellen nur entscheidend, dass White-Hat-Hacker die Schwachstelle melden, Grey-Hat-Hacker diese möglicherweise an den meistbietenden verkaufen und Black-Hat-Hacker die Schwachstelle wahrscheinlich selbst ausnutzen werden. Werden Schwachstellen gemeldet, werden diese in der Regel in die öffentlich zugängliche CVE-Datenbank, welches durch das US Department of Homeland Security finanziert und durch MITRE betrieben wird, eingetragen. In der CVE-Datenbank werden alle Schwachstellen gelistet, die durch die jeweiligen Entdecker oder Softwarehersteller selbst gemeldet werden.
CVE Einträge sind folgendermaßen aufgebaut:
CVE-ID: Dient der exakten Zuordnung der Schwachstelle Beschreibung: Beschreibt die Schwachstelle und deren Auswirkungen näher und liefert auch Informationen, welche Versionen der entsprechenden Software betroffen sind. Referenzen: Weiterführende Links für nähere Informationen zu der Schwachstelle CNA: CNAs (CVE Numbering Authorities) sind Unternehmen, Gruppen oder Personen, die registriert und autorisiert sind, CVE Einträge zu erstellen und diese zu veröffentlichen Datum: Das Veröffentlichungs- oder Datum der Bekanntgabeder Schwachstelle
Beim Durchsuchen der CVE Einträge stößt man möglicherweise auf Einträge, die mit „RESERVED” gekennzeichnet sind. Dies bedeutet, dass die Nummer des Eintrags entweder von MITRE oder einem CNA reserviert worden ist. Diese Reservierung wird vorgenommen, wenn eine Organisation oder eine Einzelperson plant, in Zukunft ein neues Sicherheitsproblem zu melden. Das kann sinnvoll sein, wenn z. B. Forscher eine Schwachstelle gefunden haben, diese dem Unternehmen melden und das Unternehmen noch etwas Zeit benötigt, um die Schwachstelle zu schließen und ein Update zur Verfügung zu stellen. In diesem Fall spricht man von einem “Coordinated Vulnerability Disclosure” (CVD).
Wichtig: Sobald Schwachstellen als CVE Eintrag veröffentlicht werden, MUSS davon ausgegangen werden, dass diese auch durch Hacker genutzt werden. Es empfiehlt sich also, bekannte Schwachstellen so schnell wie möglich zu schließen.
Doch wie weiß man, wie gefährlich eine Schwachstelle ist?
Schwachstellen können bewertet werden. Die Bewertung von organisatorischen oder personellen Schwachstellen ist ein wenig aufwendiger und benötigt eine sehr individuelle Betrachtung der Situation. Bei technischen Schwachstellen in öffentlich zugänglichen Softwareprodukten sieht dies glücklicherweise etwas anders aus.
Das Common Vulnerability Scoring System (CVSS) ist ein weitverbreiteter Standard zur objektiven Bewertung von CVEs bzw. IT-Sicherheitslücken. Es bietet eine numerische Darstellung des Schweregrads einer Sicherheitslücke auf einer Skala von 0 bis 10, wobei höhere Werte auf eine größere Bedrohung hinweisen. Der CVSS-Score ist ein wertvolles Werkzeug, um IT-Sicherheitslücken zu vergleichen und ihre Priorisierung bei der Behebung zu unterstützen. Durch die Verwendung von CVSS-Scores können Unternehmen und Organisationen fundierte Entscheidungen darüber treffen, welche Schwachstellen zuerst behoben werden sollten.
Schwachstellen mit einem hohen CVSS-Score erhalten dabei eine höhere Priorität, da sie ein größeres Risiko darstellen. Dies ermöglicht es IT-Teams, ihre begrenzten Ressourcen effektiv einzusetzen und die am dringendsten zu behebenden Sicherheitslücken zu identifizieren. Gleichzeitig können Schwachstellen mit niedrigeren CVSS-Scores in der Prioritätenliste nach unten rutschen, was nicht bedeutet, dass sie ignoriert werden, sondern dass sie möglicherweise weniger kritisch sind und daher zeitlich nachrangig behandelt werden können.
Wie erkenne ich Schwachstellen in meinen Systemen?
Am leichtesten geht das Erkennen von Schwachstellen innerhalb der eigenen IT-Systeme mit Schwachstellenscans. Für diese Scans gibt es verschiedenste Anbieter oder OpenSource Lösungen. Einige Beispiele sind hier z. B. Trivy, Nessus oder Greenbone-OpenVAS. Diese Schwachstellenscans überprüfen, ob für die verwendeten System- und Software-Versionen, CVEs vorliegen. Die Ergebnisse werden meist in einem Report ausgegeben, der die vorhandenen Schwachstellen und die entsprechenden CVEs mitsamt deren CVSS ausgibt. Diese Reports liefern den Verantwortlichen somit eine Art Aufgabenliste, die diese abarbeiten müssen, um die vorhandenen Schwachstellen zu schließen. Wichtig ist zu erwähnen, dass solche Scans regelmäßig durchgeführt werden müssen, da jeden Tag neue Schwachstellen auftauchen und auch durch Hacker genutzt werden. Hier kann ein koordiniertes Schwachstellenmanagement, im Rahmen des Risikomanagements, wie es auch viele Security-Frameworks, z. B. die ISO 27001 (ISMS) fordern, deutlich helfen.
Fazit
Schwachstellen in IT-Systemen sind eher die Regel als die Ausnahme und können in vielen verschiedenen Formen und nicht nur rein technisch auftreten. Lücken in den Systemen sind immer vorhanden und müssen so gut wie möglich und vor allem regelmäßig gesucht, gefunden und behandelt werden. Öffentliche Datenbanken, die CVEs listen, sind vorhanden und ein Scoring System wird auch für die Verantwortlichen zur Verfügung gestellt. Wichtig ist es, das Aufspüren und Schließen der eigenen Schwachstellen, unabhängig, wo sie auftreten, niemals aus den Augen zu verlieren und zu einem Regelprozess zu machen. Nur so kann für ein gleichbleibend gutes Sicherheitslevel gesorgt werden.