Extending Layered Attestation into ARM Application Run-Times
Dieses Papier präsentiert ARA, einen ARM-basierten Application-Runtime-Anchor, der die hardwaregestützte Attestierung durch die Nutzung von Permission Overlay Extensions von der Ladezeit in die Ausführungsphase erweitert, um eine geschützte, attestierte Domäne für die Laufzeit-Integritätsprüfung und den Schutz von Geheimnissen mit minimalem Performance-Overhead zu schaffen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
In der Welt des modernen Computings wird Vertrauen oft in dem Moment etabliert, in dem ein Programm startet. Wenn Sie eine App auf Ihrem Telefon öffnen, prüft das Gerät, ob die Software echt ist und nicht manipuliert wurde, noch bevor sie überhaupt beginnt zu laufen. Dieser Prozess, bekannt als Attestierung (Attestation), beruht auf einem hardwaregestützten „Root of Trust“, einem sicheren Fundament, das in den Chip selbst eingebaut ist und die Identität der Software verifiziert. Sobald jedoch diese erste Prüfung bestanden ist und die Anwendung ihre Arbeit aufnimmt, lässt dieser hohe Grad an Sicherheit oft nach. Das Gerät geht davon aus, dass das Programm korrekt arbeitet, wodurch eine Lücke entsteht, in der böswillige Akteure potenziell das Verhalten der App ändern, Geheimnisse stehlen oder Daten manipulieren könnten, ohne dass das System es bemerkt. Jahrelang bestand die Lösung für dieses Problem darin, sensible Aufgaben in separate, isolierte Umgebungen zu verlagern, aber dies erforderte, dass der Computer ständig zwischen verschiedenen Sicherheitszonen hin- und herwechselte – ein Prozess, der langsam war und die Akkulaufzeit drastisch reduzierte.
Ein Team von Forschern der Universität Zürich und Huawei hat einen neuen Ansatz entwickelt, um diese Lücke zu schließen, indem sie Sicherheit über die gesamte Lebensdauer einer Anwendung hinweg ermöglicht, ohne die hohen Leistungskosten in Kauf nehmen zu müssen. Sie entwickelten ein System namens ARA, das eine sichere, geschützte Zone direkt innerhalb des eigenen Speicherbereichs der Anwendung etabliert. Durch die Nutzung einer kürzlich eingeführten Hardwarefunktion in modernen ARM-Prozessoren ermöglichten die Forscher der Anwendung, ihren eigenen vertrauenswürdigen Sicherheitswächter zu beherbergen, der die Aktionen des Programms überwachen und sensible Schlüssel in Echtzeit schützen kann. Ihre Arbeit zeigt, dass es möglich ist, ein hohes Maß an Sicherheit aufrechtzuerhalten und zu verifizieren, dass sich eine App während ihres Laufs korrekt verhält, und dies alles bei nahezu der gleichen Geschwindigkeit wie eine ungesicherte Anwendung.
Die zentrale Herausforderung, der sich die Forscher gegenüber sahen, war die Frage, wie man ein vertrauenswürdiges Sicherheitssystem isoliert von einer potenziell kompromittierten Anwendung hält, ohne dass diese ständig über eine langsame, entfernte Grenze miteinander kommunizieren müssen. Traditionelle Methoden verlassen sich oft darauf, den Sicherheitsdienst in einem völlig separaten Prozess oder in einer spezialisierten Hardware-Enklave auszuführen. Während diese Methoden sicher sind, erfordern sie, dass der Computer die Hauptanwendung stoppt, den Kontext wechselt und über komplexe Barrieren hinweg kommuniziert, jedes Mal wenn eine Sicherheitsprüfung benötigt wird. Dieser ständige Wechsel erzeugt eine signifikante Verzögerung, was für Aufgaben unpraktisch ist, die häufige, blitzschnelle Entscheidungen erfordern, wie etwa die Überwachung jedes Schritts eines Programms oder das Entschlüsseln eines Videostreams in Echtzeit. Die Forscher erkannten, dass die Lösung in einer neuen Hardware-Fähigkeit namens „Permission Overlay Extensions“ lag, die es einem einzelnen Programm ermöglicht, seinen eigenen Speicher in distinkte, isolierte Räume mit unterschiedlichen Zugriffsregeln zu unterteilen, die alle vom Prozessor selbst verwaltet werden.
Unter Verwendung dieser Technologie bauten die Forscher ARA, um als sicherer Anker innerhalb des Adressbereichs der Anwendung zu fungieren. Wenn die Anwendung startet, richtet ein vertrauenswürdiger Loader zunächst die Umgebung ein und unterteilt den Speicher in drei verschiedene Bereiche: einen für den nicht vertrauenswürdigen Anwendungscode, einen für einen kontrollierten Eintrittspunkt und einen für die sicheren Sicherheitsdienste. Der Prozessor wird dann angewiesen, strenge Regeln für diese Bereiche durchzusetzen. Die Hauptanwendung kann ihre eigenen Daten lesen und beschreiben, ist aber vollständig daran gehindert, den Speicher zu berühren, in dem die Sicherheitsdienste liegen. Entscheidend ist, dass die Anwendung diese Regeln nicht selbst ändern kann. Selbst wenn ein Hacker es schafft, bösartigen Code in die Anwendung einzuschleusen, ist dieser Code physisch nicht in der Lage, den sicheren Bereich zu erreichen oder die Berechtigungen zu ändern, die ihn schützen. Der einzige Weg, wie die Anwendung mit den Sicherheitsdiensten interagieren kann, ist über eine spezifische, vorab genehmigte Tür, die das Sicherheitssystem kontrolliert.
Die Forscher testeten dieses System mit zwei unterschiedlichen Szenarien, um zu sehen, wie es sich in der realen Welt verhält. Im ersten Fall simulierten sie einen Mediastreaming-Dienst, der Videoinhalte mithilfe eines geheimen Schlüssels entschlüsseln muss. Sie verglichen ihr neues System mit der Standardmethode, bei der ein separater Prozess für die Entschlüsselung verwendet wird. Die Ergebnisse zeigten, dass das neue System dramatisch schneller war. Bei einer zwei einstündigen Videodatei verursachte die traditionelle Methode aufgrund des ständigen Wechsels zwischen den Prozessen mehrere Sekunden Verzögerung, während das neue System nur einen Bruchteil einer Sekunde hinzufügte. Im zweiten Fall testeten sie ein System, das ständig das Verhalten der Anwendung überwacht, um sicherzustellen, dass sie den korrekten Pfad einhält – eine Aufgabe, die tausende von Sicherheitsprüfungen pro Sekunde erfordert. Hier war das neue System etwa dreißig- bis fünfundfünfzigmal schneller als die traditionelle Methode. Der Geschwindigkeitsgewinn ergab sich aus der Vermeidung des Wechsels zwischen verschiedenen Prozessen oder der Notwendigkeit, das Betriebssystem um Hilfe zu bitten; die Sicherheitsprüfungen fanden direkt innerhalb des Ablaufs der Anwendung statt, geschützt durch die Hardware.
Die Studie befasste sich auch damit, wie sich dieses System in die bestehende Sicherheitslandschaft mobiler Geräte einfügt. Moderne Telefone nutzen bereits Hardware, um zu verifizieren, dass eine App beim ersten Installieren oder Starten legitim ist. Die Forscher entwarfen ihr System so, dass es diese bestehende Vertrauenskette erweitert. Wenn die App startet, verifiziert das Gerät die sicheren Sicherheitsdienste genauso wie die App selbst. Dies bedeutet, dass ein Remote-Server darauf vertrauen kann, dass die innerhalb der App stattfindenden Sicherheitsprüfungen echt sind und nicht manipuliert wurden. Das System enthält zudem eine Methode, um geheime Schlüssel sicher an die Anwendung zu liefern. Ein Server kann einen verschlüsselten Schlüssel senden, den nur die spezifische, verifizierte Instanz der Anwendung entschlüsseln kann, wodurch sichergestellt wird, dass das Geheimnis selbst dann sicher im geschützten Speicherbereich bleibt, wenn die Anwendung auf einem kompromittierten Gerät läuft.
Obwohl das System großes Potenzial zeigt, merkten die Forscher an, dass die erforderliche Hardwarefunktion in keinem kommerziellen Gerät bereits verfügbar ist. Sie bauten ihren Prototyp mithin einer simulierten Umgebung und einem modifizierten physischen Prozessor auf, um zu beweisen, dass das Konzept funktioniert. Sie räumten auch ein, dass ihr aktuelles Design davon ausgeht, dass die Anwendung auf einem einzelnen Thread läuft, und dass die Unterstützung mehrerer simultaner Threads zusätzliche technische Anpassungen erfordern würde, um sicherzustellen, dass die Sicherheitsregeln für jeden Thread korrekt aufrechterhalten werden. Trotz dieser Einschränkungen bietet die Arbeit einen praktischen Bauplan für eine Zukunft, in der Anwendungen sowohl schnell als auch sicher sein können. Es deutet darauf hin, dass der langjährige Kompromiss zwischen Leistung und Schutz nicht unvermeidlich ist und dass wir mit der richtigen Hardwareunterstützung Anwendungen haben können, die ihre eigenen Geheimnisse schützen und ihre eigene Integrität verifizieren können, ohne die Benutzererfahrung zu verlangsamen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.