Detailansicht

DRAM PUF-based hardware-software binding through LLVM passes
Matúš Mrekaj
Art der Arbeit
Masterarbeit
Universität
Universität Wien
Fakultät
Fakultät für Informatik
Studiumsbezeichnung bzw. Universitätlehrgang (ULG)
Masterstudium Informatik
Betreuer*in
Edgar Weippl
Volltext herunterladen
Volltext in Browser öffnen
Alle Rechte vorbehalten / All rights reserved
DOI
10.25365/thesis.75831
URN
urn:nbn:at:at-ubw:1-22976.52657.904053-7
Link zu u:search
(Print-Exemplar eventuell in Bibliothek verfügbar)

Abstracts

Abstract
(Deutsch)
Das Internet der Dinge führt in vielen Branchen zu einer steigenden Nachfrage nach eingebetteten Geräten. Aufgrund von Kosteneinsparungen kann die erforderliche Sicherheit dieser Geräte oftmals jedoch nicht gewährleistet werden. In den vergangenen Jahren wurden Physically Unclonable Functions (PUFs) untersucht, um in diesen Geräten bereits vorhandene Hardware zu nutzen, um fehlende Sicherheitsmechanismen zu implementieren, beispielsweise Geräteauthentifizierung für Software. Die Verwendung eines PUF gewährleistet im Wesentlichen, dass die Software nur auf der speziellen Hardware läuft, für die sie registriert wurde. In dieser Arbeit wird eine neuartige Implementierung eines Decay-DRAM-PUFs auf einem Beaglebone Black beschrieben, der zur Laufzeit während des normalen Gerätebetriebs mit Linux-Kernel-Modulen abgefragt werden kann. Die Implementierung verwendet einen LLVM-Out-of-Tree-Pass, um die LLVM IR so zu patchen, dass die auf dem Gerät verfügbare PUF-Implementierung in Kombination mit Self-Checksumming verwendet wird. Der LLVM-Pass zerstört den Call-Graph des zu patchenden Programms und integriert Anweisungen in den Code, die den Call-Graph zur Laufzeit inkrementell wieder aufbauen, sobald das Programm auf einem Gerät ausgeführt wird, auf dem der PUF läuft. Jede PUF-Antwort wird zur Rekonstruktion des Call-Graphen verwendet. Im Falle einer Manipulation durch Veränderung des Programmcodes oder Ausführung des gepatchten Programms auf einem nicht autorisierten Gerät, wird eine Tamperproofing-Reaktion ausgelöst. Das Schema wurde auf einen Rust-basierten TCP-Server angewendet, der kryptografische Operationen durchführt. Es konnten stabile 32-Bit PUF-Antworten bei Raumtemperatur mit einer Fehlerkorrektur von bis zu 8 Bit oder 25% erzeugt werden. Die Auswirkungen des durch den LLVM-Pass eingefügten Codes auf das Beispielprogramm resultieren in einer um ca. 30% größeren Binärdatei und einer um ca. 20% längeren Kompilierzeit. Das Kernel-Modul beansprucht während der Auswertung des PUFs 28% der CPU-Zeit. Die Stabilität der PUF-Antworten wurde über einen Zeitraum von ca. einem Monat evaluiert.

Schlagwörter

Schlagwörter
(Deutsch)
Physically Unclonable Functions Laufzeit LLVM Arbeitsspeicher
Schlagwörter
(Englisch)
Physically Unclonable Functions Runtime LLVM Random Access Memory
Autor*innen
Matúš Mrekaj
Haupttitel (Englisch)
DRAM PUF-based hardware-software binding through LLVM passes
Publikationsjahr
2024
Umfangsangabe
xv, 54 Seiten : Illustrationen
Sprache
Englisch
Beurteiler*in
Edgar Weippl
Klassifikation
54 Informatik > 54.38 Computersicherheit
AC Nummer
AC17188181
Utheses ID
71178
Studienkennzahl
UA | 066 | 921 | |
Universität Wien, Universitätsbibliothek, 1010 Wien, Universitätsring 1