Eine Version dieses Artikels erschien in Dunkles Lesen. Er wurde aktualisiert und hier syndiziert.
Wenn es jemals etwas gab, das Weihnachten in der Cybersicherheitsbranche ruiniert hat, dann ist es eine verheerende Datenpanne, die auf dem besten Weg ist, das größte Cyberspionage-Ereignis zu werden, das die US-Regierung jemals betroffen hat.
Der Angriff auf SolarWinds ist weitreichend, da die Bedrohungsakteure bereits Mitte 2019 in die Software eingedrungen sind. Der monatelange Raubüberfall wurde im Dezember 2020 entdeckt, nachdem er genutzt wurde, um die prominente Cybersicherheitsfirma FireEye zu infiltrieren, und von da an nahm der Albtraum seinen Lauf. Der volle Umfang des Einbruchs wird noch untersucht, aber zu den Schlüsselbereichen der Infiltration gehören die US-Ministerien für Außenpolitik, Heimatschutz, Handel und das Finanzministerium sowie das Nationale Gesundheitsinstitut.
Dieser Vorfall wird noch Nachwehen haben, aber die schiere Raffinesse des Vorfalls ist faszinierend. Auf technischer Ebene handelt es sich um eine mehrschichtige Infiltration mit maßgeschneiderten bösartigen Werkzeugen, Backdoors und getarntem Code, die weit über die Fähigkeiten von Skript-Kiddies hinausgeht, die wir so oft bei der Ausnutzung offensichtlicherer Fehler beobachten.
Code-Wäsche in ihrer schlimmsten Form
CrowdStrike hat weitere geniale Arbeit beim Reverse-Engineering des Exploits geleistet und die Ergebnisse detailliert für alle sichtbar gemacht. Es hat sich nun herausgestellt, dass SolarWinds Opfer einer Infrastrukturverletzung war, die das Einschleusen von Schadcode in System-Updates ermöglichte, was zu mindestens vier separaten Malware-Tools führte, die den Bedrohungsakteuren einen noch nie dagewesenen Zugang eröffneten.
Die Methode war verdeckt und ermöglichte eine strategische Präzision, die direkt aus einem Jason-Bourne-Roman zu stammen scheint. Sie verschaffte Zeit, um herumzuschnüffeln, zu planen und Opfer außerhalb des SolarWinds-Netzwerks genau dann anzugreifen, wenn sie es wollten - in einem umfassenden Angriff auf die Lieferkette. Und das alles wurde mit Code durchgeführt, der völlig harmlos aussah.
Cyberangriffe sind oft das Ergebnis einfacher, aber kostspieliger Fehler. Und wenn sie erst einmal entdeckt sind, sind die Fehler ziemlich offensichtlich. Man denke nur an ein schlecht konfiguriertes Netzwerk, im Klartext gespeicherte Passwörter oder ungepatchte Software, die für bekannte Angriffe anfällig ist. In diesem Fall fiel der Code überhaupt nicht auf, und zwar nicht nur für Entwickler und Sicherheitsingenieure. Auch eine Vielzahl teurer, komplexer Sicherheitstechnologien konnte ihn nicht erkennen.
Tools für die Sicherheitsüberwachung und Penetrationstests wurden praktisch unbrauchbar gemacht
Sicherheitsexperten sind in der Regel so rar wie schaukelnder Pferdekot. Daher werden sie in ihrem Bestreben, enorme Mengen an Unternehmensdaten, Software und Infrastruktur zu sichern, durch einen Technologie-Stack unterstützt, der auf die Sicherheitsanforderungen des Unternehmens zugeschnitten ist. Dies geschieht in der Regel in Form von Komponenten wie Netzwerk-Firewalls, automatisierten Penetrationstests, Überwachungs- und Scan-Tools, wobei letztere viel Zeit im Softwareentwicklungsprozess verschlingen. Dieses Tooling kann schnell eine Spirale bilden und unübersichtlich werden, da viele Unternehmen mehr als 300 verschiedene Produkte und Dienste einsetzen.
SolarWinds verfügt über eine Vielzahl von Tools, um Sicherheitslücken im Code, versuchte unautorisierte Netzwerkzugriffe, potenzielle Kompromisse in jedem Teil der Infrastruktur und sogar Anzeichen für eine Umgehung der Erkennung zu finden und zu markieren. Es ist beispiellos, dass diese Bedrohungsakteure in der Lage waren, bösartigen Code zu injizieren, der selbst vom fortschrittlichsten Sicherheits-Stack unentdeckt blieb.
Die Härtung der Infrastruktur - insbesondere die Zugriffskontrolle - sind grundlegende Komponenten der allgemeinen Best Practices für die Cybersicherheit, aber wenn ein Angreifer in aller Ruhe ein winziges Zeitfenster ausnutzen kann, dann kann ein Netzwerk genauso kompromittiert werden wie eine Schwachstelle in einer eigenständigen Software.
Diese Sicherheitsverletzung ist eine Erinnerung daran, dass jedes Unternehmen, das sich bei der Sicherung seiner Netzwerkinfrastruktur und Software allein auf Tools verlässt, ein enormes Risiko eingeht. Es reicht nicht immer aus, den Code zu schützen; alles, was ihn speichert, ausführt und kompiliert, muss ebenso gut gesichert sein. Der ideale Zustand ist ein Gleichgewicht von Tools und Menschen, die eine robuste Strategie ausführen, die tief in die Bewertung und Reduzierung der potenziellen Angriffsfläche geht.
Teamübergreifendes Sicherheitsbewusstsein sorgt für eine bessere Bedrohungsmodellierung
Die Sicherheitslücke bei SolarWinds hat bereits begonnen, einen erheblichen Einfluss auf die Sicherheitsabläufe zu nehmen, insbesondere auf Regierungsebene. Experten sprechen davon, dass dies die Cybersicherheitspraktiken für immer neu gestalten könnte.
Eine zunehmend digitale Infrastruktur treibt unser Leben an, und obwohl sie anfällig für Angriffe sein kann, wenn sie nicht sorgfältig verwaltet wird, ist unsere allgemeine Strategie fehlerhaft. Wir sind personell stark unterbesetzt, wenn es um Sicherheitsexpertise geht, und wir tun nicht viel, um die Lücke zu schließen. Das von Menschen gesteuerte Sicherheitsbewusstsein ist ein zu wenig genutztes Element der Cybersicherheit, ebenso wie die Priorität der Prävention - statt der Reaktion.
Infrastruktursicherheit ist ein komplexes Unterfangen mit vielen beweglichen Teilen, aber ähnlich wie bei der Softwareerstellung können Entwickler ein Aktivposten bei der Reduzierung struktureller Risiken sein, wenn sie richtig geschult und sicherheitsbewusst sind.
Die Bedrohungsmodellierung berücksichtigt nur selten Angriffe auf die Lieferkette, obwohl diese Art von Angriffen bereits 2012 als Hauptrisiko hervorgehoben wurde, das mit aktuellen Techniken nur schwer zu verhindern ist und viele Unternehmen unzureichend vorbereitet. Softwareentwickler könnten durchaus eine Rolle bei der Prävention spielen, und es beginnt damit, dass sie sich fortbilden und in der Lage sind, die Integrität ihres Codes von innen heraus zu beurteilen. Haben sie den Update-Mechanismus sicher aufgebaut? Läuft die Software mit unnötigen Verbindungen, die eine leichtere böswillige Kompromittierung ermöglichen könnten?
Wenn Sicherheit gleichbedeutend mit Softwarequalität ist, ist es leicht zu erkennen, welchen immensen Wert ein sicherheitsbewusster Ingenieur mitbringen kann.