Was ist Remote Attestation?
Verfahren zur Überprüfung des Software-Integritätsstatus eines entfernten Systems.
Wer sind die Akteure bei Remote Attestation?
Verifier (Prüfer) und Prover (Prüfling).
Was ist ein Prover?
Das zu verifizierende entfernte System.
Was ist ein Verifier?
Die vertrauenswürdige Partei, die die Messwerte des Provers verifiziert.
Was ist das RTM?
Root of Trust for Measurement: Erste Komponente beim Booten, die nachfolgende Komponenten misst.
Warum ist das RTM ein Trust Anchor?
Es kann selbst nicht verifiziert werden und ihm muss bedingungslos vertraut werden.
Nenne 3 Eigenschaften des RTM.
• Ausführung bei jedem Systemstart • Nicht verifizierbar • Muss inhärent vertraut werden.
Ist RTM bei Authenticated Boot erforderlich?
Ja, da das Vertrauen des Verifiers in die Messergebnisse auf dem Vertrauen in das RTM aufbaut.
Was ist Secure Boot?
Jede Boot-Komponente verifiziert die digitale Signatur der nächsten vor der Ausführung; bricht bei Fehlern ab.
Was ist Authenticated Boot?
Boot-Komponenten werden gemessen (gehasht) und im TPM/RTM registriert; Boot bricht bei Integritätsverletzung nicht ab.
Welcher Zustand liegt nach einem fehlerhaften Secure Boot vor?
Das System stoppt/fährt nicht hoch (sicherer Zustand).
Welcher Zustand liegt nach einem fehlerhaften Authenticated Boot vor?
System läuft weiter, aber Verifier kann Manipulation bei Remote Attestation erkennen.
Warum wird eine Nonce bei der Attestierung verwendet?
Verhindert Replay-Angriffe durch Sicherstellung der Freshness (Aktualität).
Was ist eine Chain of Trust?
Eine Vertrauenskette, bei der jedes Glied die Integrität seines direkten Nachfolgers prüft, ausgehend vom Trust Anchor.
Welche 3 Kernanforderungen hat ein Remote-Attestation-Protokoll?
• Authentizität des Provers • Integrität der Messergebnisse • Freshness (Aktualität).
Was ist SMART?
Eine minimale Hardware-Software-Architektur für Remote Attestation auf Low-End-Embedded-Geräten.
Wo liegt der SMART-Attestierungscode?
Im schreibgeschützten ROM.
Wo wird der SMART-Schlüssel K gespeichert?
Im sicheren Hardware-Schlüsselspeicher (nur für SMART-ROM zugänglich).
Wie greift SMART auf den Schlüssel K zu?
Über eine MPU, die den Zugriff nur erlaubt, wenn der Instruction Pointer im SMART-ROM steht.
Was passiert, wenn eine Nicht-SMART-Instruktion versucht, auf K zuzugreifen?
Die MPU löst einen sofortigen System-Reset aus.
Was sind die Input-Parameter des SMART-Attestierungsprotokolls?
SMART(IS, IE, entry, flagX, nonce, out).
Was bedeuten [IS, IE] bei SMART?
Start- und Endadresse des zu messenden Speicherbereichs (RAM/Flash).
Warum deaktiviert SMART zu Beginn des Protokolls die Interrupts?
Verhindert das Auslesen von Zwischenergebnissen im Register/SRAM während der HMAC-Berechnung (Atomarität).
Was ist das TOCTOU-Problem bei Attestierung?
Time-of-Check-Time-of-Use: Code wird gemessen, aber vor der Ausführung manipuliert.
Wie löst SMART das TOCTOU-Problem?
Durch 'Proof of Execution': Der gemessene Code wird direkt im Anschluss atomar ausgeführt (flagX-Einstellung).
Wann erfolgt ein SMART Memory Reset?
Bei illegalem Zugriff auf Schlüssel K oder wenn während der Attestierung ein Non-Maskable Interrupt (NMI) auftritt.
Was muss beim SMART-Beenden gelöscht werden?
Das Scratchpad (SRAM-Zwischenspeicher) mit dem Schlüssel K und HMAC-Zwischenwerten.
Welchen kryptografischen Algorithmus nutzt SMART typischerweise?
HMAC (z. B. HMAC-SHA256).
Was passiert bei SMART, wenn flagX gesetzt ist?
SMART springt nach der Messung direkt zum exakten Einsprungpunkt (entry) des gemessenen Codes.
Was ist eine wesentliche Einschränkung von SMART?
Nicht unterbrechbar (keine Interrupts), kein Multitasking, nur eine einzige statische Sicherheitsdomäne.
Was ist TrustLite?
Eine erweiterbare Sicherheitsarchitektur für Low-End-Geräte, die SMART verbessert.
Wie löst TrustLite die Einschränkungen von SMART auf?
Unterstützt Interrupts während der Attestierung und ermöglicht mehrere Software-Sicherheitsdomänen.
Was ist die EA-MPU in TrustLite?
Execution-Aware Memory Protection Unit: Berücksichtigt den aktuellen Instruction Pointer für Zugriffsregeln.
Was sind Attestation Trustlets in TrustLite?
Isolierte Softwaremodule, die Sicherheitsaufgaben wie die Attestierung übernehmen.
Wer konfiguriert die Trustlet-Tabelle beim Booten?
Der hardwarebasierte Secure Loader.
Wie sichert TrustLite den Zugriff auf den Plattformschlüssel?
Der Secure Loader setzt EA-MPU-Regeln so, dass nur das Attestation Trustlet Zugriff auf den Schlüssel hat.
Unterstützt TrustLite Inter-Process Communication (IPC)?
Ja, sichere Kommunikation zwischen verschiedenen Trustlets ist über EA-MPU-Grenzregeln möglich.
Wie werden sichere Interrupts in TrustLite realisiert?
Trustlet-Register werden bei Interrupts automatisch im sicheren Speicher gesichert und gelöscht, bevor die ISR läuft.
Was ist der Vorteil von EA-MPU gegenüber klassischen MPUs?
Zugriffsrechte hängen dynamisch davon aus, welcher Code (Instruction Pointer) gerade ausgeführt wird.
Worin unterscheidet sich das Vertrauensmodell von TrustLite und SMART?
SMART nutzt ein rein statisches ROM; TrustLite nutzt einen Secure Loader beim Booten zur flexiblen MPU-Konfiguration.
Was ist ARM TrustZone?
Eine hardwarebasierte Sicherheitsarchitektur, die den Prozessor in zwei Welten aufteilt.
Welche zwei Welten existieren in TrustZone?
Secure World (SW) und Normal World (NW / Rich World).
Welches Bit steuert die aktuelle Welt in TrustZone?
Das SCR.NS-Bit (Non-Secure Bit im Secure Configuration Register).
Was bedeutet SCR.NS = 0?
Der Prozessor befindet sich in der Secure World.
Was bedeutet SCR.NS = 1?
Der Prozessor befindet sich in der Normal World.
Wie wird ein kontrollierter Wechsel von der Normal in die Secure World initiiert?
Über eine SMC-Instruktion (Secure Monitor Call).
Welche Komponente vermittelt den Wechsel zwischen den Welten?
Der Secure Monitor (läuft im privilegierten SW-Modus).
Wie unterscheidet die Hardware den Speicherzugriff zwischen den Welten?
Über zusätzliche Bus-Signale (NS-Bit auf dem SoC-Bus).
Darf die Normal World auf den Secure-World-Speicher zugreifen?
Nein, die MPU/MMU blockiert jeden Zugriff (No Access).
Darf die Secure World auf den Normal-World-Speicher zugreifen?
Ja, sie hat vollen Lese- und Schreibzugriff (Read/Write).
Welcher Modus läuft im On-Chip ROM während des Bootens?
Secure World Supervisor-Modus.
Wie ist der Zugriff auf das On-Chip ROM im Normalbetrieb für die NW geregelt?
No Access oder Write-Only (NW darf nicht den Boot-Code lesen).
Wo läuft das primäre Betriebssystem (z. B. Android) in TrustZone?
In der Normal World (Supervisor Mode).
Wo laufen Trusted Applications (TAs) in TrustZone?
In der Secure World (User Mode des TEE).
Was ist das TEE?
Trusted Execution Environment: Die isolierte Laufzeitumgebung in der Secure World.
Was ist die Keymaster TA?
Eine Trusted Application in der Secure World, die kryptografische Schlüssel verwaltet (z. B. für FDE).
Welches Ziel hat der Keymaster-FDE-Angriff?
Extraktion des 128-Bit AES Disk Encryption Keys (DEK) zur Entschlüsselung des Android-Dateisystems.
Welcher Softwarefehler ermöglichte den Keymaster-Angriff?
Ein Stack Buffer Overflow (fehlende Längenprüfung bei memcpy).
Welches Android-Sicherheitsfeature fehlte in der Keymaster TA?
ASLR (Address Space Layout Randomization) und Stack Canaries in der Secure World.
Warum war Code Execution in der Keymaster TA möglich?
Es gab keine strikte Trennung von Code und Daten (RWX-Speicherseiten vorhanden).
Wie gelangt der Angreifer an Root-Rechte in der Normal World?
Über einen Heap Overflow im Android-Mediaserver (z. B. Stagefright-Lücke).
Welcher Treiber vermittelt die Kommunikation zur Keymaster TA?
Der /dev/qseecom-Treiber in der Normal World.
Wo wird die Payload für die Keymaster-Schwachstelle platziert?
Im Shared DRAM (gemeinsam genutzter Speicherbereich).
Wie extrahiert die injizierte Shellcode-Payload den DEK?
Sie liest den Key-Buffer im Secure RAM aus und kopiert ihn in das ungesicherte Shared DRAM.
Wie führt der Angreifer nach dem Diebstahl des DEK den Brute-Force-Angriff durch?
Offline in der Normal World oder auf einem externen PC ohne Sperrzeit-Einschränkungen.
Was ist ein Basic Block (BBL)?
Eine Code-Sequenz mit genau einem Eingang (keine Sprünge hinein) und genau einem Ausgang (keine Sprünge heraus).
Was ist ein Control-Flow Graph (CFG)?
Eine gerichtete grafische Darstellung aller Ausführungspfade, die ein Programm nehmen kann.
Wie funktioniert Code Injection?
Angreifer überschreibt die Rücksprungadresse auf dem Stack mit der Adresse seiner eigenen im Puffer platzierten Payload.
Nenne 3 unsichere C-Funktionen ohne Längenprüfung.
strcpy(), strcat(), sprintf() / gets().
Welche sicheren C-Alternativen sollten stattdessen genutzt werden?
strncpy(), strncat(), snprintf() / fgets().
Was ist ein Code-Reuse-Angriff?
Angreifer injiziert keinen eigenen Code, sondern lenkt den Kontrollfluss auf bereits im Speicher vorhandenen legitimen Code um.
Was ist ROP?
Return-Oriented Programming: Ein Code-Reuse-Angriff, der kurze Instruktionsfolgen (Gadgets) aneinanderkettet.
Was ist ein Gadget?
Eine kurze Befehlssequenz im Speicher, die mit einer ret-Instruktion (Rücksprung) endet.
Was ist DEP / NX?
Data Execution Prevention / No-Execute: Markiert Datenbereiche (Stack, Heap) als nicht ausführbar, um Code Injection zu verhindern.
Was ist ASLR?
Address Space Layout Randomization: Randomisiert die Startadressen von Stack, Heap und Bibliotheken im Speicher.
Warum benötigt ASLR hohe Entropie?
Damit die Adressen nicht durch einfaches Erraten (Brute-Force) vorhergesagt werden können.
Wie funktionieren Stack Canaries?
Ein zufälliger Wert wird vor dem Funktionsaufruf auf dem Stack platziert und vor dem ret auf Manipulation geprüft.
Was passiert bei Stack-Canary-Erkennung?
Das Programm bricht die Ausführung sofort ab (verhindert Ausführen der manipulierten Rücksprungadresse).
Was ist CFI?
Control-Flow Integrity: Stellt sicher, dass die tatsächliche Ausführung strikt den Pfaden des Control-Flow Graphs (CFG) folgt.
Was ist der Unterschied zwischen direktem und indirektem Sprung?
Direkt: Zieladresse ist fest im Befehl codiert. Indirekt: Zieladresse steht in Register oder beschreibbarem Speicher.
Welchen Typ von Sprüngen schützt CFI primär?
Indirekte Sprünge (da Angreifer hier die Zieladresse im Speicher manipulieren können).
Was ist der Nachteil von CFI?
Kann erheblichen Performance- und Speicher-Overhead verursachen.
Was ist ein Covert Channel?
Zwei kolludierende Prozesse übertragen absichtlich Informationen über nicht dafür vorgesehene Hardware-Ressourcen.
Was ist ein Side Channel?
Ein Prozess legt unbeabsichtigt geheime Daten über physikalische/mikroarchitektonische Effekte (z. B. Ausführungszeit) offen.
Wie funktioniert Prime + Probe?
1. Prime: Angreifer füllt Cache-Set. 2. Opfer läuft. 3. Probe: Angreifer misst eigene Zugriffszeit; langsame Zugriffe zeigen Opfer-Aktivität.
Wie funktioniert Flush + Reload?
1. Flush: Angreifer wirft Speicherzeile aus dem Cache. 2. Opfer läuft. 3. Reload: Angreifer misst Ladezeit; schneller Zugriff bedeutet Opfer hat Zeile geladen.
Warum benötigt Flush + Reload Shared Memory?
Angreifer und Opfer müssen auf exakt dieselbe physikalische Speicherseite zugreifen können.
Wie funktioniert Evict + Time?
1. Angreifer wirft eine Cache-Zeile aus. 2. Angreifer lässt das Opfer laufen und misst dessen Gesamtlaufzeit; langsame Zeit zeigt Cache-Nutzung.
Nenne einen Vorteil von Prime + Probe gegenüber Flush + Reload.
Prime + Probe benötigt keinen Shared Memory.
Wie verhindert Cache-Randomisierung Seitenkanalangriffe?
Die Zuordnung von Speicherzeilen zu Cache-Sets wird zufällig gemischt, was Zeitmessungen unbrauchbar macht.
Was ist transiente Ausführung?
Spekulative oder Out-of-Order Ausführung von Instruktionen, die später verworfen werden, aber Spuren im Cache hinterlassen.
Welchen Softwarebefehl nutzt Meltdown, um den transienten Zugriff zu starten?
secret = *(char *)kernel_address; (Liest unbefugten Kernel-Speicher).
Welche Funktion hat das Probe-Array bei Meltdown?
Es wandelt den gelesenen geheimen Wert in eine Cache-Adresse um (probe_array[secret • k]), um ihn über Cache-Timing lesbar zu machen.
Warum wird der Schritt k bei Meltdown oft als Seitengröße (Page Size, z.B. 4096) gewählt?
Verhindert, dass verschiedene Secret-Werte in derselben Cache-Zeile (Spatial Prefetching L1/L2) landen.
Wie funktioniert Spectre?
Bringt den Branch Predictor durch Training dazu, eine ungültige Pfadspekulation durchzuführen und geheime Daten transient in den Cache zu laden.
Nenne 2 typische Verhaltensmuster der Mirai-Malware beim Infizieren.
• Versucht andere Geräte über Telnet-Bruteforce zu infizieren. • Löscht sich selbst via unlink zur Spurenbeseitigung.
Wie stellt Mirai sicher, dass nur eine einzige Instanz auf dem IoT-Gerät läuft?
Bindet einen spezifischen TCP-Port (Singleton Lock). Wenn belegt, beendet sich die neue Instanz.
Was ist der Pre-installed Link Key im ZigBee Light Link (ZLL) Protokoll?
Ein herstellerübergreifender Master-Schlüssel zur Ableitung des Key Transport Keys (für alle Geräte gleich).
Welche Aufgabe hat der ZigBee Key Transport Key?
Er dient der verschlüsselten Übertragung des eigentlichen Netzwerk-Schlüssels an neue Geräte.
Was ist der ZigBee Network Key?
Der Hauptschlüssel für Broadcasts und den regulären Datenverkehr im ZigBee-Netzwerk (zufällig erzeugt bei Initialisierung).
Wie ändern sich die Zugriffsrechte für den On-Chip-ROM, den On-Chip-RAM und den Hauptspeicher (Main Memory) beim Wechsel in die Normal World?
Nennen und Erklären Sie die wichtigsten Dimensionen der Computersicherheit.
Die horizontale Achse stellt den Schwerpunkt der Sicherheitsrichtlinie dar.
Die vertikale Achse stellt die Ebene des Computersystems dar, auf der ein Schutzmechanismus implementiert ist.
Nennen Sie die drei Arten der physischen Sicherheit.
• Tamper resistant
• Tamper responding
• Tamper evident
Skizzieren Remote Attestation
Nennen Sie eine Lösung, wie mehrere attestierte Geräte untereinander effizient und sicher miteinander kommunizieren
können, um innerhalb des Netzwerks eine Aufgabe gemeinsam zu erledigen
session keys
Was sind EPROM und EEPROM und was sind deren Risiken?
• EPROM: Kann durch UV-Strahlung gelöscht werden. Anfällig für Manipulationen, wenn sie offen liegen.
• EEPROM: Elektrisch löschbar und wiederbeschreibbar. Anfällig für böswillige Neuprogrammierung
(Electrically) Erasable Programmable
Nennen Sie die wichtigsten aufeinanderfolgenden Schritte des FDE-Angriffs (Full-Disk-Encryption) zur Schlüsselextrakti-
on unter Android.
Was ist RTL-Fuzzing (Hardware-Fuzzing)?
• Eingaben: Instruktions-, Signal- oder Konfigurationsfolgen
• Ausführung auf RTL-Simulatoren, Emulatoren oder FPGAs
• Feedback via Coverage, Assertions oder Referenzmodellen.
Zuletzt geändertvor 13 Tagen