Remote Code Execution
RCE-Angriffe beginnen in der Regel mit einer Schwachstelle in einer öffentlich zugänglichen Anwendung, die die Möglichkeit bietet, 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 Malware zu installieren oder andere Ziele zu erreichen. Eine Remote Code Execution (deutsch: entfernten Programmcode ausführen), bezeichnet eine Sicherheitsschwachstelle in Server-Systemen in der Informationssicherheit.
RCE-Schwachstellen erlauben es einem Angreifer die Ausführung von beliebigem Code auf einem entfernten Gerät. Ein Angreifer kann dies auf verschiedene Arten erreichen:
Arten:
Injektionsangriffe:
Viele verschiedene Arten von Anwendungen, wie z. B. 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 Ü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. 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 dazu, eine Vielzahl von verschiedenen Zielen zu erreichen.
Initial-Zugriff:
RCE-Angriffe beginnen in der Regel mit einer Schwachstelle in einer öffentlich zugänglichen Anwendung, die die Möglichkeit bietet, 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 Malware zu installieren oder andere Ziele zu erreichen.
Veröffentlichen von Informationen:
RCE-Angriffe können dazu verwendet werden, Malware 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:
Cryptomining- oder Cryptojacking-Malware nutzt die Rechenressourcen eines kompromittierten Geräts, um Kryptowährungen zu schürfen. RCE-Schwachstellen werden häufig ausgenutzt, um Cryptomining-Malware auf anfälligen Geräten zu installieren und auszuführen.
Ransomware:
Ransomware ist eine Malware, die darauf abzielt, 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.
Dies sind zwar nur einige der häufigsten Auswirkungen von RCE-Schwachstellen, aber 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.