Eine Remote Code Execution (RCE, deutsch: „entfernten Programmcode ausführen“) bezeichnet eine Sicherheitsschwachstelle in Server-Systemen in der Informationssicherheit. Remote-Code-Execution-Angriffe beginnen in der Regel mit einer Schwachstelle in einer öffentlich zugänglichen Anwendung, die die Möglichkeit bietet, Schadprogramme auszuführen und somit unerwünschte Befehle auf dem zugrunde liegenden Rechner auszuführen. Angreifer können dies nutzen, um sich einen ersten Zugang zu einem Gerät zu verschaffen, um Schadprogramme zu installieren oder andere Ziele zu erreichen.
RCE-Schwachstellen erlauben einem Angreifer die Ausführung von beliebigem Code auf einem entfernten Gerät.
Arten
Ein Angreifer kann dies auf verschiedene Arten erreichen, und entsprechende Angriffe können auf verschiedenen Zugangswegen erfolgen.
Injektionsangriffe
Viele verschiedene Arten von Anwendungen, wie zum Beispiel manipulierte SQL-Abfragen, verwenden vom Benutzer bereitgestellte Daten als Eingabe für einen Befehl. Bei einem Injektionsangriff gibt der Angreifer absichtlich missgestaltete Eingaben ein, die dazu führen, dass ein Teil seiner Eingaben als Teil des Befehls interpretiert wird. Dies ermöglicht es dem Angreifer, die auf dem anfälligen System ausgeführten Befehle zu beeinflussen oder beliebigen Code darauf auszuführen.
Deserialisierungs-Angriffe
Anwendungen verwenden üblicherweise Serialisierung, um mehrere Daten in einer einzigen Zeichenkette zusammenzufassen, um die Datenübertragung oder Kommunikation zu erleichtern. Speziell formatierte Benutzereingaben innerhalb der serialisierten Daten können von dem Deserialisierungsprogramm als ausführbarer Code interpretiert werden.
Out-of-Bounds Write
Anwendungen weisen regelmäßig Speicherabschnitte fester Größe für die Speicherung von Daten zu, einschließlich vom Benutzer bereitgestellter Daten. Software, deren zugrundeliegende Programmiersprachen keine strenge Typsicherheit bieten, kann auf diese Weise angegriffen werden. Wenn diese Speicherzuweisung nicht korrekt durchgeführt wird, kann ein Angreifer eine Eingabe entwerfen, die außerhalb des zugewiesenen Puffers schreibt. Da auch ausführbarer Code im Speicher gespeichert wird, können vom Benutzer bereitgestellte Daten, die an der richtigen Stelle geschrieben wurden, von der Anwendung ausgeführt werden.
Die mögliche Bedrohung
RCE-Angriffe dienen vielfältigen Zielen.
Initial-Zugriff
Angreifer können Schwachstellen nutzen, um sich einen ersten Zugang zu einem Gerät zu verschaffen, um Schadprogramme zu installieren oder andere Ziele zu erreichen. Eine RCE-Schwachstelle kann einem Angreifer vollen Zugriff auf und die Kontrolle über ein kompromittiertes Gerät verschaffen, was sie zu einer der gefährlichsten und kritischsten Arten von Schwachstellen macht. Im Folgenden sind nur einige der häufigsten Auswirkungen von RCE-Schwachstellen aufgeführt.
Veröffentlichen von Informationen
RCE-Angriffe können dazu verwendet werden, Schadprogramme zu installieren, die Daten stiehlt, oder direkt Befehle auszuführen, die Daten von dem anfälligen Gerät extrahieren und exfiltrieren kann.
Denial of Service (DOS)
Eine RCE-Schwachstelle ermöglicht es einem Angreifer, Code auf dem System auszuführen, auf dem die anfällige Anwendung läuft. Dadurch kann er den Betrieb dieser oder anderer Anwendungen auf dem System unterbrechen.
Kryptomining
Kryptomining- oder Kryptojacking-Malware nutzt die Rechenressourcen eines kompromittierten Geräts, um Kryptowährungen zu schürfen. RCE-Schwachstellen werden häufig ausgenutzt, um Kryptomining-Malware auf anfälligen Geräten zu installieren und auszuführen.
Ransomware
Ransomware sind Schadprogramme, die darauf abzielen, einem Benutzer den Zugriff auf seine Dateien zu verweigern, bis er ein Lösegeld zahlt, um den Zugriff wiederzuerlangen. RCE-Schwachstellen können auch dazu verwendet werden, Ransomware auf einem anfälligen Gerät zu installieren und auszuführen.
Einzelnachweise
- ↑ Was ist Remote-Code-Ausführung (Remote Code Execution)? - Definition von WhatIs.com. Abgerufen am 4. Juli 2023.
- ↑ Remote Code Execution (RCE) | Code Injection | Learn AppSec. 28. März 2022, abgerufen am 8. Dezember 2022 (amerikanisches Englisch).
- ↑ Code Injection | OWASP Foundation. Abgerufen am 8. Dezember 2022 (englisch).
- ↑ What is Remote Code Execution (RCE)? Abgerufen am 8. Dezember 2022 (amerikanisches Englisch).
- ↑ Vickie Li: Hacking Java Deserialization. In: The Startup. 13. Januar 2020, abgerufen am 9. Dezember 2022 (englisch).
- ↑ baeldung: Type Safety in Programming Languages | Baeldung on Computer Science. 13. Juli 2022, abgerufen am 9. Dezember 2022 (amerikanisches Englisch).
- ↑ Remote Code Execution (RCE) | Code Injection | Learn AppSec. 28. März 2022, abgerufen am 8. Dezember 2022 (amerikanisches Englisch).
- ↑ What is Remote Code Execution (RCE)? Abgerufen am 8. Dezember 2022 (amerikanisches Englisch).