In 94 Prozent der Anwendungen entdeckte das OWASP Varianten einer defekten oder fehlenden Kontrolle der Benutzerberechtigungen. Von der Manipulation der Metadaten oder UID bis zum vollständigen Fehlen einer Kontrolle ist das Spektrum möglicher Lücken in der Zugriffskontrolle breit. Die Folgen einer fehlenden Zugriffskontrolle können verheerend sein: Ist sie falsch konfiguriert, können Angreifer potentiell auf sensible Daten zugreifen und sie verändern oder löschen.
Beispiel: Erschlichene Fahrten bei Uber
2018 wurde bekannt, dass das Ride-Sharing-Unternehmen Uber Opfer eines Cyberangriffs wurde, der auf eine fehlerhafte Zugriffskontrolle zurückging. Für das Buchen von Fahrten in Businessaccounts nutzte Uber eine codebasierte Zugriffskontrolle – ohne die Anzahl der möglichen Versuche einzuschränken. Das machte es den Angreifern leicht: Sie konnten per Brute-Force-Angriff entsprechende Codes generieren und solange ausprobieren, bis ein Code gültig war. Mit diesem Code konnten die Angreifer dann Fahrten auf Kosten des betroffenen Unternehmens buchen.
Mangelnde Verschlüsselung sensibler Daten
Von Kundendaten über Lieferketten bis zu Verträgen – Daten sind eine der wichtigsten Ressourcen in modernen Unternehmen. Viele Daten sind sensibel und benötigen daher einen besonderen Schutz. Kryptografische Sicherheitslücken umfassen alle Probleme, bei denen sensible Daten nicht durchgehend verschlüsselt sind und damit potenziell von unbefugten Dritten gelesen werden können.
Immer wieder kommt es zu Leaks von Kundendatenbanken, die sensible Kundendaten enthalten. Im Idealfall wären diese Daten zu jedem Zeitpunkt verschlüsselt, sodass die Datenbank allein nicht ausreichend ist, um an sensible Daten zu gelangen. Lassen sich die Daten allerdings verschlüsselt abrufen, sind sie über eine SQL-Injektion im Klartext abrufbar. Eine andere mögliche Lücke sind Passwörter, die nur unzureichend verschlüsselt werden. Gelangt ein Angreifer an die Datenbank, kann er mithilfe klassischer Dictionary-Attacken zumindest einen Teil der Passwörter erkennen.
Beispiel: Equifax
Etwas ähnlich passierte der kanadischen Kreditauskunftei Equifax im Jahr 2018. Angreifer machten sich damals eine Kombination verschiedener Sicherheitslücken zunutze, um viele Tausend sensible Datensätze mit Kundendaten zu stehlen. Ursprünglich machte ein fehlendes Update den Zugriff möglich. Aber nur weil die Angreifer in der Lage waren, unverschlüsselte Log-in-Daten von Mitarbeitern zu stehlen, waren die folgenden Aktionen möglich.
Injektion schädlichen Codes
Viele Anwendungen binden in der ein oder anderen Form nutzergenerierte Daten ein.
Wenn nutzergenerierte Daten nicht adäquat validiert und gefiltert werden, besteht die Möglichkeit, dass Angreifer schädliche Befehle an das System weitergegeben. Eine der ältesten Sicherheitslücken ist die SQL-Injektion. Dabei gibt ein Angreifer SQL-Befehle über ein Eingabefeld oder die URL an das System weiter. Fehlt eine Überprüfung der übermittelten Informationen, wird der Befehl in der Datenbank ausgeführt. Ein Angreifer könnte so zum Beispiel die Datenbank herunterladen und sensible Nutzerdaten auslesen.
Beispiel: SQL-Injektion bei OpenSubtitle.org
Im Sommer 2021 musste das Projekt opensubtitle.org seine Nutzer auffordern, ihre Passwörter zu ändern. Laut Berichten war es einem Hacker gelungen, zunächst das unsichere Passwort eines Administrators zu knacken und dann ein Skript auszuführen, dass nur für diese Nutzergruppe bestimmt war. Dieses Skript erlaubte dann den Download der Nutzerdatenbank.
Unsicheres Design
Unsicheres Design umfasst Sicherheitslücken, die in der Architektur der Software begründet sind. Sie ergeben sich nicht aus einer Fehlfunktion in der Folge einer falschen Einstellung, sondern aus der intendierten Funktionsweise selbst. Im Gegensatz zu Implementierungsfehlern sind Sie nicht durch eine bessere Implementierung zu beheben, sondern nur durch einen Entwicklungszyklus, der Sicherheitsaspekte von Anfang berücksichtigt.
Beispiel für unsicheres Design
Der Grafikkartenhersteller Nvidia machte 2021 Schlagzeilen, als der Bestand einer neuen Grafikkarte innerhalb von wenigen Sekunden verkauft war, weil Reseller automatisierte Software nutzten, um sich die begehrten Grafikkarten zu sichern und sie dann teuer weiterzuverkaufen.
Fehlkonfigurationen
Die große Mehrheit, alles Sicherheitsprobleme, geht auf menschliche Fehler zurück. Das Beratungsunternehmen Gartner schätzt, dass 95 Prozent aller Sicherheitsproblem in Cloud-Anwendungen direkt auf menschliche Fehlleistungen in der Organisation zurückzuführen sind. Die Gefahr von Konfigurationsfehlern für die IT-Sicherheit ist in einer weitgehend digitalisierten Infrastruktur allgegenwärtig. Fehlkonfigurationen können an vielen Punkten im IT-System zu Problemen führen, zum Beispiel durch unsichere Standardeinstellungen, die ungeprüft übernommen werden oder Fehlermeldungen, die sensible Informationen enthalten.
Beispiel für fehlerhafte Konfigurationen bei Daimler
Im Mai 2020 war kurzzeitig der Sourcecode einer Software des Autoherstellers Daimler öffentlich verfügbar. Laut einem Bericht machte ein IT-Experte die Daten verfügbar, nachdem er herausfand, dass Daimler einen Fehler bei der Konfiguration seiner Repositorien gemacht hatte. Daimler nutzte ein GitLab-Server für die Speicherung, vergaß allerdings eine Bestätigungsroutine für neue Accounts einzustellen. Dadurch konnte der Angreifer einfach einen neuen Account erstellen und hatte Zugriff auf den gesamten Sourcecode.
Unsichere und veraltete Komponenten
Laut OWASP sind unsichere oder veraltete Komponenten die häufigste Ursache für die Preisgabe sensibler Daten. Moderne Anwendungen sind niemals autark, sondern nutzen Bibliotheken und Frameworks von Drittentwicklern. Jede zusätzliche externe Komponente ist ein potenzielles Sicherheitsrisiko. Besonders im Risiko sind IoT-Systeme, die häufig schwerer zu aktualisieren sind als klassische Software auf einem PC oder Server. Zudem existieren bereits heute Tools, mit denen Angreifer gezielt nach IoT-Geräten mit bestimmten Sicherheitslücken suchen können.
Beispiel: Der Log4j-Exploit
Im Dezember 2021 wurde eine Sicherheitslücke in der Bibliothek Log4j bekannt, die unzählige Apacheserver auf der ganzen Welt anfällig für Attacken machte. Betroffen waren Dienste auf der ganzen Welt – auch von großen Unternehmen wie Amazon, Google oder Steam. In den ersten 72 Stunden wurden bereits 700.000 Angriffe auf betroffene Systeme registriert. Der Exploit wird IT-Experten weltweit noch viele Jahre beschäftigen, – bis zu 95 % aller Java Anwendungen nutzen Log4j. Dementsprechend lange wird es dauern, bis alle kritischen IT-Systeme gepatched ist und die IT-Sicherheit in Bezug auf den Exploit wiederhergestellt sind.
Fehlerhafte Authentifizierung
Die Nutzerauthentifzierung ist ein neuralgischer Punkt jeder Software. Gelingt es Angreifern, die Authentifizierung zu manipulieren, können sie sich Benutzerrechte verschaffen und weiteren Schaden anrichten. Ein klassisches Beispiel fehlerhafter Authentifizierungssysteme ist eine Passwort-Abfrage ohne zusätzliche Sicherheitsebenen. Deshalb setzt sich als sicherer Standard zunehmend die 2-Faktor-Authentifizierung durch. Allerdings ist auch diese nicht gefeilt vor Sicherheitslücken.
Beispiel: Angriff auf Crypto.com
2022 wurde bekannt, dass Nutzern der Tradingplattform crypto.com Coins im Wert von 30 Millionen US-Dollar gestohlen wurde, nachdem es Angreifern gelang, die 2-Faktor-Authentifizierung des Unternehmens auszuhebeln und sich so Zugriff auf über 400 Accounts zu verschaffen. Das Unternehmen bestätigte die Probleme mit der Nutzeridentifzierung und überarbeitet aktuell das Authentifizierungssystem.
Softwarekomponenten aus nicht-autorisierten Quellen
Software besteht heute längst nicht mehr aus einem einzigen Code, der alles enthält.
Über öffentliche zugängliche Plug-ins, Bibliotheken und Modulen sind Entwickler in der Lage, weitergehende Funktionen mit einem geringen Aufwand zu integrieren. Dabei ist nicht nur die Aktualität des genutzten Moduls für die Sicherheit entscheidend, sondern auch die verwendete Quelle. Angreifer könnten sich entweder Zugriff auf die Quelle verschaffen und Daten manipulieren oder die Identität einer legitimen Quelle vortäuschen, um so Schadcode in das System einzuschleusen.
Beispiel: Der SolarWinds Orion Hack 2020
Ende 2020 sorgte der SolarWinds Orion Hack auf der ganzen Welt für Schlagzeilen. Den Angreifern gelang es, schädlichen Code in ein Update für das SolarWinds System einzuschleusen, das in der Folge unbemerkt an Hunderte Nutzer ausgespielt wurde. Zu den Kunden des texanischen Softwareentwicklers gehören wichtige staatliche Institutionen in den USA – dementsprechend hoch waren die Sicherheitsanforderungen quer durch die Lieferkette. Der Hack zeigt, dass absolute Sicherheit im Lebenszyklus einer Software nicht geben kann.
Überwachung und Protokollierung
Im Durchschnitt vergehen 200 Tage, bis ein Cyberangriff entdeckt wird. Das verschafft Cyberkriminellen viel Zeit, um Daten zu stehlen und zu manipulieren und ihre Spuren zu verwischen.
Der lange Zeitraum ist vor allem auf das Fehlen einer umfassenden Security-Auditierungs- und Protokollierungssoftware zurückzuführen. Plattformen wie Deep Instinct einerseits wertvolle Einsichten in die Anatomie eines Angriffs, die wiederum genutzt werden können, um die Angriffsvektoren zu identifizieren und zu schließen. Durch den Einsatz moderner KI-Technologie fungieren Sie aber auch als Frühwarnsystem und kennen Angriffe erkennen, bevor Sie zum Problem werden.
Beispiel für die Folgen fehlender Überwachung & Protokollierung
2020 machte eine anonym gebliebene Person die Krankenversicherung Florida Medicaid auf eine Sicherheitslücke aufmerksam, die insgesamt über 3 Millionen sensible Daten von Versicherten betraf. Da die Website der Versicherung über keinerlei Protokoll- und Überwachungsroutinen verfügte, blieb der Angriff mehr als sieben Jahre lang unbemerkt.
Server-Side Request Forgery SSRF
Server-side Request Forgery bezeichnet einen Angriff, bei dem ein fremder Server dazu gebracht wird, eine unautorisierte Anforderung weiterzuleiten. Diese Sicherheitslücke wird möglich, wenn eine Webanwendung eine vom Nutzer bereitgestellt Remote-Ressource abruft, ohne die URL zu überprüfen.
Immer mehr Webanwendungen ermöglichen ihren Nutzern zum Beispiel das Hochladen von Bildern, PDF-Dateien und anderen Daten. Fehlt eine Validierung, ist eine SSRF-Attacke möglich. Dann können Angreifer schädliche Anfragen an alle Systeme senden, die im selben Netzwerk laufen wie die Webanwendung. Angreifer könnten beispielsweise einen internen Portscan durchführen, um weitere Lücken zu identifizieren oder interne Dienste kompromittieren, um weitere Angriffe auszuführen.
Beispiel für einen SSRF-Angriff:
Das Kreditinstitut Capital One wurde 2019 Opfer einer SSRF-Attacke, bei der über 100 Millionen Nutzerdaten veröffentlicht wurden. Besonders brisant: Viele Datensätze enthielten neben Name und Adresse auch die Sozialversicherungsnummern und die Zahlungshistorie.
Für professionelle Cyberkriminelle wären diese Daten sehr wertvoll.
IT-Sicherheit: Was können Sie tun tun?
Sicherheitslücken in Anwendungen sind keine Ausnahme, sondern die Regel. In der absoluten Mehrheit aller getesteten Anwendungen wurden eine oder mehrere Schwachstellen gefunden, die Cyberkriminellen unter Umständen Zugriff auf sensible Daten und Systeme geben könnten.
Absolute IT-Sicherheit nicht. Wo eine Tür ist, gibt es auch einen Weg, sie ohne den vorgesehenen Schlüssel zu öffnen. Wenn das passiert, kommt es darauf an, ein tieferes Eindringen in das System zu verhindern.
Cyberkriminalität ist zu einer Industrie geworden und das bedeutet, dass die Akteure primär nach wirtschaftlichen Gesichtspunkten handeln. Durch effektive IT-Security treiben Sie den Aufwand für Angriffe in die Höhe und machen ihn unrentabel.
Unternehmen können durch den Einsatz moderner Security-Plattformen wie Tanium und Deep Instinct einerseits Sicherheitslücken identifizieren und andererseits akute Attacken effektiv abwehren und nutzbringend analysieren.
Security-Plattformen Tanium erkennt unsichere Systeme und Vulnerabilitäten.
Deep Instinct ist eine Security Plattform, die ihre Systeme am schwächsten Punkt in Form der Clients und Server überwacht und unbekannte Attacken wie Zero-Day-Exploits und skriptbasierte Angriffe erkennt und verhindert, bevor Sie zum Problem werden. Das System liefert wertvolle Einsichten in die Anatomie des Angriffs, die wiederum genutzt werden können, um die Sicherheitslücken zu schließen.
Damit reduziert das System den manuellen Aufwand für Wiederherstellungen und gibt Ihrem SOC als intelligentes Frühwarnsystem für Angriffe maximale Handlungsfähi (mehr …)