Vertiefung: Die MOVEit Zero-Day-Schwachstelle aus nächster Nähe
Vertiefung: Die MOVEit Zero-Day-Schwachstelle aus nächster Nähe
Cyberangriffe auf die Software-Lieferkette werden immer häufiger, was zu einer Reihe von Gesetzesänderungen auf US-Regierungsebene geführt hat, während sich Unternehmen bemühen, ihr umfangreiches Risikoprofil zu mindern und die Softwarequalität rasch zu verbessern. Allein in diesem Jahr gab es drei Zero-Day-Schwachstellen im Zusammenhang mit File-Sharing-Diensten, wobei die größte und zerstörerischste in Form des Massenangriffs MOVEit auftrat.
Der MOVEit-Vorfall, der von der CL0P-Ransomware-Gruppe angeführt wird, beherrscht seit einiger Zeit die Cybersecurity-Nachrichten, da mehr als 1.000 Unternehmen betroffen sind. Diese Zahl wird weiter steigen, was diesen Vorfall zu einem der stärksten Angriffe auf die Software-Lieferkette seit Solarwinds im Jahr 2021 macht.
Der Auslöser für diese weit verbreitete Sicherheitslücke war eine Reihe von SQL-Injection-Schwachstellen, die von MITRE mit 9,8 von 10 Punkten bewertet wurden. SQL-Injection ist seit den späten 90er Jahren das Schreckgespenst der Sicherheitsexperten, und obwohl es relativ einfach zu beheben ist, findet es weiterhin seinen Weg in moderne Software und bietet Bedrohungsakteuren einen roten Teppich zu sensiblen Daten.
Das MOVEit-Szenario unterscheidet sich ein wenig von dem, was viele Entwickler und AppSec-Profis bisher erlebt haben, und Sie können Ihre SQLi-Slaying-Fähigkeiten in einer Live-Simulation gleich hier testen:
>>> PLAY THE MOVEit MISSION
Die Sicherheitslücke: SQL-Einschleusung
Wie genau wurde die SQL-Injektion verwendet, um die MOVEit-Dateiübertragungsanwendung von Progress Software auszunutzen?
Die CL0P-Ransomware-Gruppe konnte die SQL-Injection-Schwachstelle CVE-2023-34362 ausnutzen, die ihnen uneingeschränkten und unbefugten Zugriff auf die MOVEit-Datenbank ermöglichte. Von dort aus konnten sie LEMURLOOT installieren, eine Web-Shell, die es ihnen schließlich ermöglichte, mehrere hochriskante, kritische Prozesse auszuführen, wie z. B. das Abrufen von Systemeinstellungen, das Aufzählen der SQL-Datenbank, das Abrufen von Dateien aus dem MOVEit-Transfersystem und das Erstellen eines neuen Kontos mit vollen Verwaltungsrechten.
Natürlich mag dieser Angriffsvektor das Ergebnis eines relativ einfachen Fehlers sein - eines Fehlers, den man auf die ständige Verwendung schlechter Codierungsmuster zurückführen könnte -, aber sein Potenzial, anhaltende Probleme auf Unternehmensebene zu verursachen, ist immens.
Vergleichbar mit dem MOVEit-Exploit, sehen wir uns diesen SQLi-Explainer an, der die Methode der Injektion und Ausführung von schädlichem SQL simuliert:
Diese Abfragezeichenfolge und Variable:
string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
ergibt die folgende Abfrage:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'";
... und mit bösartig gestalteten Eingaben:
string emailAddress = "contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
wird es:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--'";
Wie sieht das im Flug aus?
Beachten Sie, dass die Eingabe aufgrund der String-Verkettung als SQL-Syntax interpretiert wird. Zunächst wird ein einfaches Anführungszeichen hinzugefügt, um sicherzustellen, dass die SELECT-Anweisung eine gültige SQL-Syntax ist. Anschließend wird ein Semikolon hinzugefügt, um die erste Anweisung zu beenden.
Danach wird eine gültige DELETE-Anweisung eingefügt, gefolgt von zwei Bindestrichen, um alle nachgestellten Zeichen (das einfache Anführungszeichen) auszukommentieren. Eine UPDATE-Anweisung könnte genauso gut hinzugefügt werden, wenn das bösartige SQL beispielsweise die Rollen oder Passwörter der Benutzer aktualisieren soll.
Probieren Sie es in dieser spielbaren Mission selbst aus:
>>> SPIELEN SIE DIE MOVEit-MISSION
Obwohl SQLi relativ einfach ist, bleibt es ein mächtiger Angriffsvektor, der nur allzu häufig vorkommt. Im Fall von MOVEit machte diese Schwachstelle den Weg frei für eine schädliche Backdoor-Installation und eine Reihe weiterer Angriffe mit ähnlichem Schweregrad.
Wie können Sie das Risiko einer SQL-Injektion mindern?
Unternehmen, die MOVEit im Rahmen ihrer Geschäftstätigkeit einsetzen, müssen unbedingt die empfohlenen Abhilfemaßnahmen von Progress Software befolgen. Dazu gehört unter anderem das Einspielen von Sicherheits-Patches, die in Notfällen Priorität haben.
Zum Thema SQL-Injection im Allgemeinen lesen Sie bitte unseren umfassenden Leitfaden.
Möchten Sie mehr darüber erfahren, wie Sie sicheren Code schreiben und das Risiko minimieren können? Probieren Sie unsere kostenlose SQL-Injection-Challenge aus.
Wenn Sie an weiteren kostenlosen Codierungsrichtlinien interessiert sind, schauen Sie sich den Secure Code Coach an, der Ihnen hilft, mit den Best Practices für sichere Codierung Schritt zu halten.
Ressourcen für den Einstieg
Vertrauensperson von Secure Code Warrior
Entdecken Sie den SCW Trust Agent, eine innovative Lösung, die die Sicherheit erhöht, indem sie die Kenntnisse und Fähigkeiten von Entwicklern in Bezug auf sicheren Code mit der von ihnen übertragenen Arbeit in Einklang bringt. Er bietet umfassende Transparenz und Kontrolle über das gesamte Code-Repository eines Unternehmens, indem er jeden Commit mit den sicheren Code-Profilen der Entwickler abgleicht. Mit SCW Trust Agent können Unternehmen ihre Sicherheitslage verbessern, die Entwicklungszyklen optimieren und die entwicklergesteuerte Sicherheit skalieren.
Trust Score von Secure Code Warrior
Entdecken Sie den SCW Trust Score, ein branchenweit einzigartiges Benchmarking zur Messung der Effektivität Ihres Sicherheitsprogramms. Vergleichen Sie sich mit Branchenkollegen, optimieren Sie Ihre Sicherheitslage und treffen Sie datengestützte Entscheidungen für eine verbesserte Software-Sicherheit.
Ressourcen für den Einstieg
Frauen in der Sicherheitsbranche sind auf dem Vormarsch: Wie die AWSN eine neue Generation von Superfrauen im Sicherheitsbereich hervorbringt
Secure-by-Design ist die neueste Initiative, die in aller Munde ist, und die australische Regierung, die mit der CISA auf den höchsten Ebenen der Global Governance zusammenarbeitet, fordert von den Anbietern einen höheren Standard für Softwarequalität und -sicherheit.
Frauen in der Sicherheitsbranche sind auf dem Vormarsch: Wie die AWSN eine neue Generation von Superfrauen im Sicherheitsbereich hervorbringt
Secure-by-Design ist die neueste Initiative, die in aller Munde ist, und die australische Regierung, die mit der CISA auf den höchsten Ebenen der Global Governance zusammenarbeitet, fordert von den Anbietern einen höheren Standard für Softwarequalität und -sicherheit.
SCW Trust Agent - Sichtbarkeit und Kontrolle zur Skalierung der entwicklergesteuerten Sicherheit
Der von Secure Code Warrior vorgestellte SCW Trust Agent bietet Sicherheitsverantwortlichen die Transparenz und Kontrolle, die sie für die Skalierung der entwicklergesteuerten Sicherheit in Unternehmen benötigen. Durch die Verbindung mit Code-Repositories wertet er Code-Commit-Metadaten aus, prüft Entwickler, verwendete Programmiersprachen und Zeitstempel für den Versand, um das Sicherheitswissen der Entwickler zu ermitteln.
Ist Ihr Sicherheitsprogramm bereit für den CISA-Strategieplan für Cybersicherheit?
Der Strategische Plan für Cybersicherheit sieht weitreichende Änderungen in der Art und Weise vor, wie die meisten Unternehmen an die Cybersicherheit herangehen, und Entwickler befinden sich in einer einzigartigen Position, um zur Erreichung dieser neuen Ziele beizutragen.
Vertiefung: Die MOVEit Zero-Day-Schwachstelle aus nächster Nähe
Cyberangriffe auf die Software-Lieferkette werden immer häufiger, was zu einer Reihe von Gesetzesänderungen auf US-Regierungsebene geführt hat, während sich Unternehmen bemühen, ihr umfangreiches Risikoprofil zu mindern und die Softwarequalität rasch zu verbessern. Allein in diesem Jahr gab es drei Zero-Day-Schwachstellen im Zusammenhang mit File-Sharing-Diensten, wobei die größte und zerstörerischste in Form des Massenangriffs MOVEit auftrat.
Der MOVEit-Vorfall, der von der CL0P-Ransomware-Gruppe angeführt wird, beherrscht seit einiger Zeit die Cybersecurity-Nachrichten, da mehr als 1.000 Unternehmen betroffen sind. Diese Zahl wird weiter steigen, was diesen Vorfall zu einem der stärksten Angriffe auf die Software-Lieferkette seit Solarwinds im Jahr 2021 macht.
Der Auslöser für diese weit verbreitete Sicherheitslücke war eine Reihe von SQL-Injection-Schwachstellen, die von MITRE mit 9,8 von 10 Punkten bewertet wurden. SQL-Injection ist seit den späten 90er Jahren das Schreckgespenst der Sicherheitsexperten, und obwohl es relativ einfach zu beheben ist, findet es weiterhin seinen Weg in moderne Software und bietet Bedrohungsakteuren einen roten Teppich zu sensiblen Daten.
Das MOVEit-Szenario unterscheidet sich ein wenig von dem, was viele Entwickler und AppSec-Profis bisher erlebt haben, und Sie können Ihre SQLi-Slaying-Fähigkeiten in einer Live-Simulation gleich hier testen:
>>> PLAY THE MOVEit MISSION
Die Sicherheitslücke: SQL-Einschleusung
Wie genau wurde die SQL-Injektion verwendet, um die MOVEit-Dateiübertragungsanwendung von Progress Software auszunutzen?
Die CL0P-Ransomware-Gruppe konnte die SQL-Injection-Schwachstelle CVE-2023-34362 ausnutzen, die ihnen uneingeschränkten und unbefugten Zugriff auf die MOVEit-Datenbank ermöglichte. Von dort aus konnten sie LEMURLOOT installieren, eine Web-Shell, die es ihnen schließlich ermöglichte, mehrere hochriskante, kritische Prozesse auszuführen, wie z. B. das Abrufen von Systemeinstellungen, das Aufzählen der SQL-Datenbank, das Abrufen von Dateien aus dem MOVEit-Transfersystem und das Erstellen eines neuen Kontos mit vollen Verwaltungsrechten.
Natürlich mag dieser Angriffsvektor das Ergebnis eines relativ einfachen Fehlers sein - eines Fehlers, den man auf die ständige Verwendung schlechter Codierungsmuster zurückführen könnte -, aber sein Potenzial, anhaltende Probleme auf Unternehmensebene zu verursachen, ist immens.
Vergleichbar mit dem MOVEit-Exploit, sehen wir uns diesen SQLi-Explainer an, der die Methode der Injektion und Ausführung von schädlichem SQL simuliert:
Diese Abfragezeichenfolge und Variable:
string emailAddress ="contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
ergibt die folgende Abfrage:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'";
... und mit bösartig gestalteten Eingaben:
string emailAddress = "contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
wird es:
var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--'";
Wie sieht das im Flug aus?
Beachten Sie, dass die Eingabe aufgrund der String-Verkettung als SQL-Syntax interpretiert wird. Zunächst wird ein einfaches Anführungszeichen hinzugefügt, um sicherzustellen, dass die SELECT-Anweisung eine gültige SQL-Syntax ist. Anschließend wird ein Semikolon hinzugefügt, um die erste Anweisung zu beenden.
Danach wird eine gültige DELETE-Anweisung eingefügt, gefolgt von zwei Bindestrichen, um alle nachgestellten Zeichen (das einfache Anführungszeichen) auszukommentieren. Eine UPDATE-Anweisung könnte genauso gut hinzugefügt werden, wenn das bösartige SQL beispielsweise die Rollen oder Passwörter der Benutzer aktualisieren soll.
Probieren Sie es in dieser spielbaren Mission selbst aus:
>>> SPIELEN SIE DIE MOVEit-MISSION
Obwohl SQLi relativ einfach ist, bleibt es ein mächtiger Angriffsvektor, der nur allzu häufig vorkommt. Im Fall von MOVEit machte diese Schwachstelle den Weg frei für eine schädliche Backdoor-Installation und eine Reihe weiterer Angriffe mit ähnlichem Schweregrad.
Wie können Sie das Risiko einer SQL-Injektion mindern?
Unternehmen, die MOVEit im Rahmen ihrer Geschäftstätigkeit einsetzen, müssen unbedingt die empfohlenen Abhilfemaßnahmen von Progress Software befolgen. Dazu gehört unter anderem das Einspielen von Sicherheits-Patches, die in Notfällen Priorität haben.
Zum Thema SQL-Injection im Allgemeinen lesen Sie bitte unseren umfassenden Leitfaden.
Möchten Sie mehr darüber erfahren, wie Sie sicheren Code schreiben und das Risiko minimieren können? Probieren Sie unsere kostenlose SQL-Injection-Challenge aus.
Wenn Sie an weiteren kostenlosen Codierungsrichtlinien interessiert sind, schauen Sie sich den Secure Code Coach an, der Ihnen hilft, mit den Best Practices für sichere Codierung Schritt zu halten.
Ressourcen für den Einstieg
Frauen in der Sicherheitsbranche sind auf dem Vormarsch: Wie die AWSN eine neue Generation von Superfrauen im Sicherheitsbereich hervorbringt
Secure-by-Design ist die neueste Initiative, die in aller Munde ist, und die australische Regierung, die mit der CISA auf den höchsten Ebenen der Global Governance zusammenarbeitet, fordert von den Anbietern einen höheren Standard für Softwarequalität und -sicherheit.
SCW Trust Agent - Sichtbarkeit und Kontrolle zur Skalierung der entwicklergesteuerten Sicherheit
Der von Secure Code Warrior vorgestellte SCW Trust Agent bietet Sicherheitsverantwortlichen die Transparenz und Kontrolle, die sie für die Skalierung der entwicklergesteuerten Sicherheit in Unternehmen benötigen. Durch die Verbindung mit Code-Repositories wertet er Code-Commit-Metadaten aus, prüft Entwickler, verwendete Programmiersprachen und Zeitstempel für den Versand, um das Sicherheitswissen der Entwickler zu ermitteln.
Vertrauensperson von Secure Code Warrior
Entdecken Sie den SCW Trust Agent, eine innovative Lösung, die die Sicherheit erhöht, indem sie die Kenntnisse und Fähigkeiten von Entwicklern in Bezug auf sicheren Code mit der von ihnen übertragenen Arbeit in Einklang bringt. Er bietet umfassende Transparenz und Kontrolle über das gesamte Code-Repository eines Unternehmens, indem er jeden Commit mit den sicheren Code-Profilen der Entwickler abgleicht. Mit SCW Trust Agent können Unternehmen ihre Sicherheitslage verbessern, die Entwicklungszyklen optimieren und die entwicklergesteuerte Sicherheit skalieren.