---
tags: ESS
---
# Gedächtnisprotokoll ESS (SS18)
## Allgemeines
* Insgesamt 100 Punkte, 120 Minuten Zeit
* keine Hilfsmittel
* Bonuspunkte aus Übungen (pro 10% der möglichen Bonuspunkte 1 Klausurpunkt)
## Aufgabe 1: ?
a) Unterschied Secureboot/Authenticated boot (1 Punkt)
**Secure Boot validiert den Zustand der Komponente,die beim Bootprozess ausgegührt wird. Nur wenn alle Komponenten im erwarteten Zustand sind, kann das System booten.**
**Authenticated Boot validiert die Integrität beim Bootprozess nicht, d.h. der Bootvorgang wird nicht unterbrochen.**
b) Was ist Root of Trust (RTM), und welche Eigenschaften hat das? (3 Punkte)
**RTM ist eine wichtig Elemente von Secure/Authenticated Boot.**
**Eigenschaften:wird beim jedem Systemstart ausgeführt;nicht überprüfbar;vertraubar;die Vertraulichkeit in Secure Boot basiert auf der Vertraulichkeit in RTM.**
c) Referenz-Hashwert ist in der vorherigen Komponente eingebettet und eine Komponente soll aktualisiert werden. Welche Probleme treten auf? (3 oder 4 Punkte)
**1. Es ist schwierig RTM zu modifizieren, weil es auf Hardware Ebene ist.**
**2. nomale Aktualisierung kann nicht validiert, sondern als unerwarteter Zustand(Anomalie) gilt.**
d) ...
## Aufgabe 2: Sicherheitsarchitekturen (Trustlite und SMART)
a) SMART bietet Proof of Execution. Welches Problem wird damit gelöst?
**Remote Code Attestation**
b) Ablauf von SMART beschreiben, auch beteiligte Komponenten und deren Eigenschaften beschreiben (5 Punkte)
c) Nachteile von SMART (2 Punkte)
e) Was ist die EA-MPU von Trustlite? (2 Punkte)
f) Was ist das Adversary Model von Trustlite? (3 Punkte)
g) Wie funktioniert das Interrupthandling bei Trustlite (Ablauf beschreiben)?
g) Wie kann man Secure Storage bei Trustzone implementieren?
Wie kann man isolated execution für Normal World Apps realisieren? ( 4Punkte)
h) Nenne 4 Funktionalitäten die von TrustZone angeboten werden
## Aufgabe 3: Attestation
a) Was ist das Ziel von Attestion? (2 Punkte)
**einen erwarteten Systemzustand durch Verifizierung der Integrität von gespeichertem Inhalt sicherzustellen.**
b) Join-Protokoll vorschlagen/beschreiben (4. Foliensatz)
**1. Neues Gerät wird installiert.**
**2. Prüfer verifiziert die von Hersteller signierte Konfiguration des Geräts.**
**3. öffentliche Schlüssel und Zertifikate ausgetauschen und verifizieren.**
**4. shared-Geheimnis erzeugen und Verwandte Informationen löschen**
c) Wie können viele Geräte/viele neue Knoten in einem Netzwerk sicher und effizient kommunizieren?
d) Wie erfüllt das in b) vorgeschlagene Prokoll die folgenden Eigenschaften.
- Authentizität von Nachrichten
- Sotwareintegrität
- Hardwareintegrität
## Aufgabe 4: PUFs
a) Warum sind PUFs physikalisch unklonbar? (1 Punkt)
**Weil PUF auf Prozessvariationen basiert,die eindeutig wie menschliche biometrische Merkmale(z.B. Fingerprint) sind.**
c) Unterschied strong/weak PUFs und welcher Typ kann für ein Authentifizierungsprotokoll genutzt werden? (4 Punkte )
**Bei weak PUFs handelt sich um keine Challenge-Response Paare oder nur ein paar und bei strong PUFs gibt es mehrere CRPs.
Für ein Authentifizierungsprotokoll werden strong PUFs angewendet.**
d) Wie kann eine PUF für eine Schlüsselerzeugung genutzt werden und welche Eigenschaften muss sie haben? (4 Punkte)
**Bei Eingabe einer Challenge c, gibt PUF eine Antwort r aus;**
**Bei Eingabe der Antwort r, gibt FEGen helper-Daten h(extracted String) und ein gleichmäßig verteiltes Bitstring K(Secret Key) aus und diese (c,h) Paare werden gespeichert im Datenbank; Bei Eingabe (r',h), wo r' die Antwort derselben c ist, gibt der deterministische Reproduktionsalgorithmus FERep den Schlüssel K aus**
## Aufgabe 5: Run-time Attacks (35 Punkte)
++a) Beschreibe 4 allgemeine Schritte der kürzlich vorgestellten Angriffe auf spekulative Ausführung (-> Meltdown) (4 Punkte)
b) Nenne beschreibe eine von 2 Mitigations gegen Meltdown (2 Punkte)++
c) - Wodurch werden Laufzeitangriffe ermöglicht? (3 Punkte)
**Durch Code-Injektion und Code-Reuse**
- Wie kann man sie ausnutzen?
- Was kann man damit erreichen?
d) Unterschied Code Reuse/Injection? (2 Punkte)
**Bei Code Reuse werden neue Codes eingeführt; Bei Code Injektion gibt es neue Pfade aber keine neue Codes**
e) Mitigation für Code Injection beschreiben (1 Punkt)
**Gespeicherte Codes dürfen nicht gleichzeitig schreibbar und ausführbar sein, d.h. "writable XOR executable"**
f) Welche 2 Arten von Code-Reuse Angriffen gibt es?
**ROP(Return-Oriented Programming)
COOP(Counterfeit Object Oriented Programming)**
g) Erklären Sie eine Mitigation von Code ReUse.
**Code-Anonymisierung: Unter Code-Anonymisierung versteht man dass die Adressen von Codes im Speicher randomisiert werden. Damit kennen Angreifer nicht, wo einen entsprechenden Code gespeichert wird.**
**CFI(Kontrollfluss-Integrität): CFI besteht aus Label-Überprüfung und Kontrollfluss Attestierung. Bei Label-Überprüfung wird es gecheckt, ob der Ausgang eines Code-Stücks zu richtigem Label eingerichtet wird. Bei Kontrollfluss Attestierung werden die Integrität jedem Pfads attestiert. Genauer gesagt läuft sie in 4 Schritten ab:**
**1. CFG analysieren;2. Pfade messen(Hashwerte berechnen);3. Laufzeit-Pfade messen;4. Kontrollfluss validieren**
h) Ein Vor- und ein Nachteil von g) (2 Punkte)
**Vorteile: geeignet für komplexe Softwaren; niedrige Kosten
Nachteile: Sie kann Information Disclosure nicht verhindern; hohe Entropie erforderlich**
**Vorteile: explizite Kontrollflussprüfung
Nachteile: nicht geeignet für komplexe Softwaren; der Kompromiss zwischen Leistung und Sicherheit.**
i) ROP selber durchführen (15 Punkte)
- Ähnlich wie Blatt 06 der Übungen aus SS14
- 9 verschiedene Gadgets gegeben
- 2 Werte liegen auf dem Stack, addiere diese und schreibe sie in ein vorgegebenes Register
- Lösung durch Aufmalen des Stacks + beschreiben, was welche Instruktion bringt
## Aufgabe 6: Physische Angriffe (Fitnesstracker, 7 Punkte)
a) 6 Kriterien die man testen sollte, um die Sicherheit von Fitnesstrackern zu prüfen (3 Punkte).
b) Beschreiben wie man mittels MitM-Angriff Daten manipulieren kann (Wie in Vorlesung/Übung vorgestellt) (4 Punkte)
---
## Changelog
14.08.18 - Inhalt aus den Fotos des handschriftlichen Prokolls von gestern eingearbeitet, Struktur verbessert (Christian)
13.08.18 - 1.0