Was ist RCE und wie schützt man sich?
Autor: Redaktion Domeny.ForSale Veröffentlicht
Kurz gesagt: RCE steht für Remote Code Execution und bezeichnet die Ausführung von Code aus der Ferne auf einem Computer oder Server. Bei einem Angriff nutzt ein Eindringling einen Fehler aus, damit das Gerät seine Anweisungen ohne Zustimmung des Eigentümers ausführt. Das ist eine ernsthafte Bedrohung. Das Schadensausmaß hängt aber unter anderem von den Berechtigungen des angegriffenen Programms ab — RCE bedeutet nicht immer, dass sofort das gesamte System übernommen wird.
Was bedeutet die Ausführung von Code aus der Ferne in der Praxis?
Code besteht aus Anweisungen, die ein Computer ausführt. Normalerweise startest du sie bewusst, etwa indem du ein Programm öffnest. Bei einem RCE-Angriff stammen die Anweisungen vom Angreifer. Die verwundbare Anwendung führt sie entgegen ihrem eigentlichen Zweck aus.
Das lässt sich mit einem Schalter vergleichen, an dem Formulare entgegengenommen werden. Der Mitarbeiter sollte die eingereichten Daten lesen, beginnt stattdessen aber, die auf dem Formular notierten Befehle auszuführen. Ein ähnliches Problem entsteht, wenn ein Programm von außen übermittelte Inhalte als Anweisungen statt als gewöhnliche Daten behandelt.
Als „RCE-Sicherheitslücke“ bezeichnet man einen Fehler, der ein solches Verhalten ermöglicht. RCE selbst beschreibt jedoch die Möglichkeit oder das Ergebnis einer Codeausführung, nicht einen bestimmten Fehler. Viele verschiedene Fehler können zum selben Ergebnis führen.
„Aus der Ferne“ bedeutet, dass der Angreifer nicht am Gerät sitzen muss. Der Angriff kann über das Internet, das lokale Netzwerk oder eine speziell präparierte Datei erfolgen. Nicht jede Lücke lässt sich ohne Anmeldung und ohne Mitwirkung des Nutzers ausnutzen — das hängt von den jeweiligen Voraussetzungen ab.
Wie kann es zu einem RCE-Angriff kommen?
RCE kann durch fehlerhafte Datenverarbeitung, unsicheren Umgang mit Dateien oder Fehler in der Speicherverwaltung entstehen. Die Schwachstelle kann in der Anwendung selbst liegen, aber auch in einer von ihr verwendeten Bibliothek, also einem vorgefertigten Softwarebaustein.
Stell dir einen Onlineshop vor, in dem Kunden Fotos zu ihrer Bestellung hochladen. Der Server erstellt daraus automatisch Vorschaubilder. Hat das Bildverarbeitungswerkzeug eine entsprechende Sicherheitslücke, kann eine speziell präparierte Datei dazu führen, dass der Code des Angreifers ausgeführt wird, anstatt lediglich das Bild zu verkleinern.
In diesem Szenario muss der Shopbetreiber nichts auf seinem Laptop öffnen. Angegriffen wird der Server, der die Datei verarbeitet. Dass das Formular nur Fotos annimmt, garantiert noch keine Sicherheit: Entscheidend sind auch der tatsächliche Dateiinhalt und die Art seiner Verarbeitung.
Ein weiterer Weg ist die Befehlsinjektion. Dabei werden Daten übermittelt, die die Anwendung fälschlicherweise in einen auf dem System ausgeführten Befehl einfügt. Das ist einer der Mechanismen, die zu RCE führen können, und kein Synonym für alle derartigen Schwachstellen.
Was kann ein Angreifer nach dem Ausnutzen einer RCE-Lücke tun?
Der Code des Angreifers läuft üblicherweise mit den Berechtigungen des angegriffenen Prozesses, also des laufenden Programms. Kann die Anwendung bestimmte Dateien lesen oder eine Verbindung zu einer Datenbank herstellen, erhält der Eindringling möglicherweise dieselben Möglichkeiten.
Mögliche Folgen sind:
- das Auslesen von Kundendaten, Konfigurationsdateien und geheimen Zugangsinformationen;
- die Veränderung von Website-Inhalten oder der Funktionsweise der Anwendung;
- die Installation von Schadsoftware;
- das Löschen oder Verschlüsseln zugänglicher Daten;
- die Nutzung des Servers für weitere Angriffe.
RCE bedeutet nicht automatisch, dass der Angreifer Administratorrechte erhält. Die Isolation der Anwendung und eingeschränkte Berechtigungen können den Schaden begrenzen. Der Angreifer kann jedoch versuchen, weitere Fehler auszunutzen, um umfassenderen Zugriff zu erlangen.
Deshalb werden RCE-Schwachstellen sehr ernst genommen. Besonders dringlich ist die Lage, wenn der verwundbare Dienst über das Internet erreichbar ist und sich der Fehler ohne Authentifizierung ausnutzen lässt. Eine genaue Bewertung muss sich auf die in der Herstellermeldung beschriebenen Voraussetzungen stützen, nicht allein auf das Kürzel RCE.
Wie lässt sich das Risiko begrenzen und eine RCE-Warnung prüfen?
Die Grundlage sind Updates für das System, die Anwendungen, Plugins und Bibliotheken. Die Aktualisierung eines Bestandteils beseitigt nicht automatisch Schwachstellen in den übrigen. Als Websitebetreiber solltest du außerdem wissen, welche Komponenten du selbst aktualisierst und für welche der Hostinganbieter verantwortlich ist.
Eingeschränkte Anwendungsberechtigungen begrenzen die Reichweite eines möglichen Angriffs. Ein Programm, das hochgeladene Fotos verarbeitet, sollte nicht ohne Not auf sämtliche Shopdaten zugreifen können. Ebenso lässt sich ein Verwaltungsbereich, der nicht öffentlich erreichbar sein muss, auf einen kontrollierten Zugang beschränken.
Wenn eine RCE-Warnung zu einem von dir verwendeten Produkt erscheint:
- Prüfe in der offiziellen Herstellermeldung, welche Versionen und Konfigurationen betroffen sind.
- Stelle fest, ob du die verwundbare Komponente nutzt und ob sie für einen potenziellen Angreifer erreichbar ist.
- Installiere den Patch oder setze die vom Hersteller empfohlene vorübergehende Schutzmaßnahme um. Gibt es noch keinen Patch, erwäge, die gefährdete Funktion abzuschalten.
- Falls ein Angriff möglich war, suche nach Spuren unbefugter Aktivitäten. Ein Update allein beseitigt nicht die Folgen eines früheren Einbruchs.
Backups helfen dabei, Daten wiederherzustellen, verhindern aber nicht deren Diebstahl. Auch eine Firewall oder ein Antivirenprogramm ersetzt nicht das Schließen der Sicherheitslücke.
Wenn du eine Website verwaltest und die Versionen ihrer Komponenten nicht kennst, erfasse diese zunächst und kläre, wer für die Updates verantwortlich ist. So wird aus einer allgemeinen RCE-Warnung eine konkrete Entscheidung: Was muss geprüft, aktualisiert oder vorübergehend abgeschaltet werden?
Siehe auch: Was ist DDoS?
