SolarWinds-Hack – Automatische Schadensanalyse und Fehlerbehebung

Angesichts der zunehmenden Angriffe auf die Software Supply Chain fragen Sie sich vielleicht wie schnell Sie sich von dem jüngsten SolarWinds-Hack oder anderen Angriffen in Ihrem Unternehmen erholen könnten.  Auch Monate nach seiner Entdeckung bleibt der verheerende SolarWinds-Hack ein wichtiges Thema für Unternehmen, Behörden und IT-Verantwortliche. Dieser zerstörerische Angriff auf die Software Lieferkette rückte die Sicherheit der Softwareentwicklung ins Rampenlicht – ein wichtiges Thema für die DevOps-Community. Während immer wieder neue Details über das Ausmaß und die Auswirkungen des Angriffs auftauchen, untersuchen Experten aus dem öffentlichen und privaten Sektor den Vorfall weiterhin, da wichtige Fragen über den Angriff immer noch ungeklärt sind.

In diesem Blogpost gehen wir auf drei kritische Fragen ein, die CxOs, Vorstandsmitglieder und IT-Leiter im Zusammenhang mit dem SolarWinds-Angriff beschäftigen, und erklären, wie DevOps-Teams sie heute mit der JFrog DevOps Platform beantworten können.

  • Bin ich von der Sicherheitsverletzung betroffen?
  • An welcher Stelle bin ich betroffen?
  • Wie kann ich die verletzten Bibliotheken/Abhängigkeiten beheben?

Ein wenig Hintergrund

Hacker drangen in die Systeme von SolarWinds ein, einem Anbieter von IT-Monitoring und -Management, und injizierten Malware in den Software-Build-Prozess der Orion-Plattform. Mehrere Monate lang lieferte SolarWinds im Jahr 2020 versehentlich Produktupdates mit der Sicherheitslücke aus, die es Hackern ermöglichen sollte, die Orion-Server von Kunden über eine Hintertür zu kompromittieren.

Schätzungsweise 18.000 Kunden erhielten infizierte Updates, und mehrere Dutzend wurden angegriffen, darunter hochrangige multinationale Unternehmen und bedeutende US-Bundesbehörden. Der Einbruch bei SolarWinds ist ein Beispiel für einen Angriff über die Software Lieferkette – eine zunehmend beliebte Art von Einbrüchen, bei denen Hacker Malware in legitimer Software verstecken, die über offizielle, vertrauenswürdige Kanäle von Anbietern an ihre Kunden verteilt wird.

JFrog kann Ihnen helfen kann, schnell und präzise zu beurteilen, ob Sie von diesem Hack betroffen sind und wie Sie den Schaden rückgängig machen können.

Frage 1: Bin ich von der Sicherheitsverletzung betroffen?

Im Allgemeinen gibt es zwei Methoden, um festzustellen, ob Sie von der Sicherheitsverletzung betroffen sind, und beide sind extrem schwierig umzusetzen:

  • Untersuchen Sie jedes System in Ihrem Unternehmen, um festzustellen, ob Sie derzeit die Orion-Plattform-Versionen 2019.4 HF 5, 2020.2 ohne installierten Hotfix oder 2020.2 HF haben oder hatten.
  • Überwachen Sie die aktuellen DNS-Abfragen Ihres Unternehmens und werten Sie die historischen Abfragen aus, um festzustellen, ob irgendwelche DNS-Abfragen an Hostnamen die Domain “avsvmcloud[.]com” enthalten.

Wenn eine oder beide dieser Bedingungen erfüllt sind, ist Ihr Unternehmen von der Sicherheitsverletzung betroffen. Sie könnten jedoch so viele Systeme haben, dass die Überprüfung jedes einzelnen Systems Jahre dauern könnte. Oder Sie könnten eine Größenbeschränkung für die DNS-Abfrageprotokolle haben, was eine unvollständige Historie liefern würde.

Mit JFrog Artifactory, dem universellen Repository-Manager der JFrog Platform, können Sie innerhalb von Sekunden feststellen, ob Sie von der SolarWinds-Verletzung betroffen sind.

Artifactory wird in Unternehmen häufig als Artefakt-Datenbank eingesetzt. Nach dem Erwerb eines kommerziellen Softwareprodukts oder eines Open-Source-Projekts speichert ein Unternehmen die erworbene Binärdatei in der Regel in einem Repository in Artifactory, wo sie versioniert und verwaltet werden kann. Im Fall von SolarWinds konnten die drei betroffenen Software-Binärdateien in einem bestimmten generischen Repository gespeichert werden. Da Artifactory die einzige zuverlässige Datenbank für alle Binärdateien in Ihrem Unternehmen darstellt, kann die Frage, ob Sie von dieser Verletzung betroffen sind, leicht durch einen einfachen API-Aufruf (API call/query) innerhalb von Artifactory beantwortet werden.

Die JFrog Platform Unified User Interface (GUI) ist auf der JFrog Platform REST API aufgebaut. Hier sehen Sie eine visuelle Darstellung für dieses Abfrage-Ergebnis. In diesem hypothetischen Fall bietet Ihnen die GUI eine Schnittstelle, um nach allen Artefakten mit dem Muster “orion*” zu suchen, und es sieht so aus, als ob alle drei infizierten SolarWinds-Bibliotheken betroffen sind.

Darüber hinaus haben Sie Einblick, wie intensiv jede Bibliothek genutzt wird (Anzahl der Downloads), und von welchem Benutzer. Die JFrog Plattform bietet ein umfangreiches Logging, das mit weit verbreiteten Log Analytics Tools integriert wurde.

Frage 2: An welcher Stelle bin ich betroffen?

Zu diesem Thema wurden schon eine Menge Blogs geschrieben und viele hochpreisige Berater angeheuert, um bei der Beantwortung dieser Frage zu helfen. Es gibt jedoch noch keine eindeutige Antwort aus der Branche. Im besten Fall besteht die Lösung darin, Unmengen von Protokollen zu durchforsten, den Netzwerkverkehr und das Verhalten der Zielsoftware zu überwachen. Dieser Ansatz ist mehr Kunst als Wissenschaft, um es vorsichtig auszudrücken. Noch wichtiger ist, dass er kaum praktikabel ist, insbesondere für große Unternehmen.

Und bedenken Sie dass all diese Bemühungen nur dazu dienen, eine Sicherheitslücke zu schließen. Die Realität ist, dass es mehrere Sicherheitslücken zur gleichen Zeit geben kann, und die primitive Brute-Force-Methode ist einfach nicht nachhaltig.

Um zu vermeiden dass es soweit kommt, kann Ihnen JFrog Xray, das Software Composition Analysis (SCA)-Tool der JFrog-Plattform, helfen, wiederum mit einem einfachen PI-Aufruf (API call/query).

Xray scannt alle Ihre Artefakte rekursiv, um eine binäre Verbindungsdatenbank zu erstellen, die auch als Komponentendiagramm bezeichnet wird und eine ganzheitliche Sicht auf jedes verwendete oder eingesetzte Artefakt bietet – unabhängig davon, ob es unabhängig oder als abhängiges Element eines anderen eingesetzten Artefakts eingesetzt wurde.

Unten sehen Sie eine visuelle Darstellung aus der JFrog Platform UI. In diesem hypothetischen Fall zeigen wir ein weit verbreitetes, anfälliges, Maven Jackson Package “com.fasterxml.jackson.core: jackson-core:2.11.0”.

Die JFrog-Plattform verfügt über ein “Ancestors (Vorläufer)”-Konzept welches alle Artefakte verfolgt, einschließlich dieser spezifischen Jackson-Version. Das rote Rechteck liefert auführliche, verschachtelte Verbindungsinformationen (Dependencies): Dieses Jackson-Paket ist Teil des Maven Spring-Pakets, das wiederum Teil von “ui_server1.jar” ist – Ihrem eigenen Build. Dieser Build ist wiederum Teil einer bestimmten Docker-Image-Schicht, die wiederum Teil des Docker-Images “pet_clinic” ist. Dieses Docker-Image ist in 3 verschiedenen “pet_clinic” Release Bundles enthalten. Ein Release Bundle ist ein Konstrukt der JFrog-Distribution, um den Übergang Ihres Softwarepakets über Netzwerke hinweg zu sichern, was wir später noch genauer erklären werden. Im aktuellen Kontext ist das Release Bundle gleichbedeutend mit einem vollständig enthaltenen Paket, das bereit ist, installiert oder verteilt zu werden.

Frage 3: Wie kann ich die verletzten Bibliotheken/Abhängigkeiten beheben?

Von den drei Fragen ist dies die am einfachsten und unkompliziertesten zu beantwortende: Die Behebung besteht darin, die betroffenen Server neu aufzubauen und mit einer neuen, aktualisierten Installation von SolarWinds Orion zu beginnen. Die Millionen-Dollar-Frage ist jedoch: Woher bekommen Sie die Liste aller betroffenen Server?

Bewaffnet mit dem ganzheitlichen Wissen aus der Abhängigkeitsdatenbank (List of Depencies) von Xray wissen Sie nun genau, welches Artefakt in Ihrem Unternehmen infiziert ist. Um eine vollständige Nachvollziehbarkeit Ihres Runtime Deployments zu haben, bietet die JFrog Plattform weitere innovative Technologien. Die Release-Bundles von JFrog Distribution, die mit GPG signiert und unveränderlich sind, machen Artefakte just-in-time und über ungesicherte Netzwerke hinweg in unmittelbarer Nähe zu Ihrer Laufzeitumgebung verfügbar.

Die JFrog-Plattform bietet End-to-End-Immutabilität für Ihre Binaries ab dem Moment, in dem das Binary erstellt oder in Ihre Unternehmensumgebung eingeführt wird. Sie nimmt auch nativ an der GitOps-Methodik teil, die die vollständige Nachvollziehbarkeit jeder einzelnen Änderung innerhalb Ihrer Laufzeitumgebung in einer versionskontrollierten, unveränderlichen Weise innerhalb Ihres Git/VCS bietet. Durch die Kombination der End-to-End-Binary-Management-Fähigkeit der JFrog Platform mit Ihren GitOps-Praktiken können die angegriffenen SolarWinds-Server auf automatisierte Weise behoben werden.

Dieses Diagramm zeigt, wie die JFrog Platform nahtlos in das GitOps-Ökosystem eingebunden werden kann – in diesem Fall mit Flux CD.

Fazit

Der SolarWinds-Vorfall hat uns eine Lektion erteilt: Unternehmenssoftware ist niemals sicher. Ob gewollt oder ungewollt, Schwachstellen sind immer Teil des Software-Lebenszyklus. Wenn wir diese Tatsache akzeptieren, dass Unternehmenssoftware niemals sicher ist, ist die beste Sicherheitsmaßnahme die ein Unternehmen anstreben sollte, eine Möglichkeit zu haben die betroffene Software schnell zu korrigieren.

Die Ermittlung, Verfolgung und Behebung der SolarWinds-Verletzung erfordert eine zentralisierte Lösung für das Enterprise Binary Lifecycle Management, die in der Lage ist, jedes Artefakt und seine Abhängigkeiten innerhalb der gesamten Organisation zu verfolgen. Ohne eine solche Lösung müssen Sie sich mit zeitaufwändigen, manuellen Prozessen begnügen, die nicht skalierbar und ungenau sind, und Ihnen letztendlich keine klaren, endgültigen Antworten liefern. Ohne einen klaren Überblick über dieses Problem steigt das Risiko, dass Ihr Unternehmen angegriffen wird.

Wie wir in diesem Blog-Beitrag erklärt haben, automatisiert, rationalisiert und vereinfacht die JFrog Platform diesen Prozess und gibt Ihnen Klarheit über Ihren Status mit umsetzbaren Erkenntnissen und effektiven Möglichkeiten, das Problem zu identifizieren und zu lösen.

Die JFrog Platform ist die einzige Enterprise-Binary-Lifecycle-Management-Lösung, die auf einer Reihe von bewährten Grundlagentechnologien aufbaut, darunter:

  • eine Software Bill Of Materials (SBOM) mit umfassenden Metadaten von Artifactory
  • einen Komponentengraphen oder eine Abhängigkeitsdatenbank (List of Depencies) Ihres Unternehmens-Software-Ökosystems, die von Xray verwaltet wird
  • einen unveränderlichen Release Bundle Audit Trail von JFrog Distribution
  • unveränderliche CI/CD-Workflows

Upload, Download, Einbindung, Runtime Deployment, Ausmusterung, Archivierung und Löschung jedes binären Artefakts werden umfassend aufgezeichnet und, was noch wichtiger ist, können über eine einfach zu bedienende Abfragesprache, REST API und Benutzeroberfläche abgefragt werden.

Zusammengefasst gibt Ihnen die JFrog Plattform umfassende Möglichkeiten, jedes binäre Artefakt in seinem kompletten Lebenszyklus-Kontext innerhalb Ihres Unternehmens zu verfolgen.

Wenn Sie mehr erfahren möchten können Sie einen individuelle technische Session mit JFrog vereinbaren.