Arbitrary Code Execution (ACE): Definition und Vermeidung

Arbitrary Code Execution (ACE) wird durch einen Fehler in Software oder Hardware ermöglicht. Wenn Hacker ein solches Problem identifizieren, können sie mithilfe dieses Fehlers beliebige Befehle auf dem Zielgerät ausführen.

Remote Code Execution-Schwachstellen treten auf, wenn Hacker schädlichen Code für ein gesamtes Netzwerk und nicht nur für ein einzelnes Gerät ausführen können.

Wie funktioniert ACE (Arbitrary Code Execution)?

Computer können nicht zwischen gültigen Eingaben (z. B. Passwörtern) und Befehlen (z. B. Code) unterscheiden. Wenn Sie die richtige Zahlen- und Buchstabenfolge eingeben und der Computer dies akzeptiert, können Sie fast jede Eingabe für einen Angriff nutzen.

Hacker können ein bereits bestehendes Problem ausnutzen, Informationen in einer Software manipulieren, anderen Code laden oder ein Schadprogramm installieren, um es zu einem späteren Zeitpunkt zu aktivieren.

Von der Ziel-Software oder dem angegriffenen Gerät ist abhängig, in welchem Umfang Hacker zugreifen können, während diese versuchen, ihre Privilegien zu erweitern. Grundsätzlich gilt: Hacker versuchen, Administratorrechte auf dem Gerät zu erlangen. Wenn sie dieses Ziel erreichen, können sie den Computer in ein Zombie-Gerät verwandeln und für einen weiteren Angriff missbrauchen.

Der Schweregrad eines ACE-Zwischenfalls kann variieren.

Im Jahr 2014 verwendete ein Spieler ACE-Befehle und die Tasten auf einem Controller um das Videospiel Super Mario World zu knacken. Das Exploit war so schwerwiegend, dass ein Autor eines Computermagazins dazu schrieb: „Das Fundament der Spielrealität gerät für ein paar Sekunden aus den Fugen“.

ACEs können erheblich schwerwiegendere Auswirkungen haben als Veränderungen in einem Videospiel. Hacker haben mit ACEs bereits Daten gestohlen, Erpressungen durchgeführt und Unternehmen in die Knie gezwungen. Und sie können damit auch Einblick in private Textnachrichten und Suchverläufe erhalten.

Vier ACE-Schwachstellen

Hacker können nicht einfach auf ein beliebiges System zugreifen und Code ausführen. Es muss zunächst ein Problem vorliegen – und die Hacker müssen es finden.

Diese vier bekannten Schwachstellen können zu Remote Code Execution führen:

  • Deserialisierung: Programmierer verwenden Serialisierung, um komplexe Daten in einen Datenstrom umzuwandeln, der mühelos gesendet werden kann. Deserialisierung stellt das ursprüngliche Format der Daten wieder her. Ein Benutzer kann diesen Prozess missbrauchen und falsch formatierte oder unerwartete Daten senden. 
  • ldd (Linux): Mit dem Befehl ldd können Benutzer unter Linux Abhängigkeiten einer freigegebenen Bibliothek untersuchen. Bereits dieser einfache Befehl kann ACE ermöglichen. Hacker können eine ausführbare Datei unter ~/app/bin/exec platzieren und mit dem Library Loader laden. 
  • Arbeitsspeicher-Schutzverletzung: Das bedeutet, dass bei allen Programmausführungen kein Zugriff auf ungültigen Speicher möglich ist. Wenn dieses Prinzip verletzt wird und das Programm unerwartet abstürzt, können Hacker mit ausführbarem Code intervenieren. Das gleiche Problem kann auch Datenlecks ermöglichen. 
  • Type Confusion: Programmiercode kann kompliziert sein und subtile Konflikte ermöglichen, sodass das Gerät mitunter nicht genau weiß, was es tun soll. In diesem Fall können Hacker die gewünschte Antwort liefern. Im Jahr 2018 fand ein Programmierer ein solches Problem in Internet Explorer.

Hacker sind innovativ und es ist sehr wahrscheinlich, dass zahlreiche andere Schwachstellen existieren. Die hier genannte Liste soll Ihnen vor allem zeigen, wie weit verbreitet dieses Problem sein kann.

Tipps zur Vermeidung von ACE

Wenn Sie Hackern einen Schritt voraus bleiben wollen, müssen Sie kreativ werden. Entwickler müssen alle Möglichkeiten bedenken, wie die Software genutzt und manipuliert werden könnte. Es ist für Experten fast unmöglich, alle Probleme zu erkennen, die sich von Hackern ausnutzen lassen.

Seien Sie sich bewusst, dass jede Software wahrscheinlich Schwachstellen enthält. Wenden Sie dieses Wissen an, um die Software regelmäßig und sorgfältig zu aktualisieren. Lassen Sie nicht zu, dass Exploits Ihre Sicherheit ruinieren.

Investieren Sie außerdem in Virenschutz-Software. Programme können nicht jedes ACE-Problem erkennen. (Beispielsweise wurde diese Schwachstelle von fast der Hälfte der Virenscanner nicht erkannt.) Diese Programme können aber eine zusätzliche wichtige Schutzebene hinzufügen.

Wenden Sie gängige Sicherheitspraktiken bei jedem Gerät an, das Sie verwenden – auch bei Laptops. Verschlüsseln Sie Ihre Daten, sichern Sie sie regelmäßig und sperren Sie Ihre Passwortdaten.

Wir bei Okta bieten Programme an, mit denen Sie Benutzer anmelden, autorisieren und verwalten können. Wir helfen Ihnen auch dabei, Ihre Server vor externen Angriffen zu schützen. Wir möchten gern mit Ihnen über Ihre Sicherheitsanforderungen sprechen oder Ihnen anbieten, unsere Services kostenlos zu testen. Kontaktieren Sie uns, um ein Gespräch zu vereinbaren.

Referenzen

How An Emulator-Fueled Robot Reprogrammed Super Mario World On the Fly, (Januar 2014), ARS Technica.

Fearless Security: Memory Safety, (Januar 2019), Mozilla Hacks.

This Hugely Popular Android App Could Have Exposed Your Web History and Texts, (Juni 2021), Express.

Deserialization of Untrusted Data, OWASP.

RCE Without Native Code: Exploitation of a Write-What-Where in Internet Explorer, (Mai 2019), Zero Day Initiative.

ldd Arbitrary Code Execution, (2021), Cat On Mat.

Hackers Exploit WinRAR Vulnerability to Deliver Malware, (Februar 2019), Security Week.