Untitled Deck Flashcards

1
Q

Was ist der Unterschied zwischen einem physischen und einem logischen CPU-Kern im Kontext von SMT (Simultaneous Multithreading)? (02_Cache_04)

A

Ein physischer Kern wird in zwei logische Kerne aufgeteilt. Die Prozessorregister werden vollständig dupliziert während Caches und Execution Units zwischen den logischen Kernen geteilt werden. Dies verbessert die Hardware-Auslastung schafft aber auch neue Seitenkanäle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Erklären Sie die Funktion eines 2-Bit Saturating Counters in der Branch Prediction Unit. (02_Cache_04)

A

Ein 2-Bit Saturating Counter ist ein Automat mit 4 Zuständen: Strongly not taken Weakly not taken Weakly taken und Strongly taken. Der Zustand ändert sich basierend auf dem tatsächlichen Sprungverhalten - ‘taken’ bewegt nach rechts ‘not taken’ nach links.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Warum werden TLB-Einträge bei einem Prozesswechsel invalidiert und welche Ausnahme gibt es? (02_Cache_04)

A

TLB-Einträge werden invalidiert weil die Adressübersetzung für jeden Prozess unterschiedlich ist. Ausnahme sind Einträge die mit Process Context Identifiers markiert sind - diese bleiben erhalten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Beschreiben Sie die Architektur des Last Level Cache (LLC) bei Intel CPUs. (02_Cache_04)

A

Der LLC ist in Slices aufgeteilt die über einen Ringbus verbunden sind. Jeder Slice ist einem CPU-Kern zugeordnet. Der Cache ist inklusiv (enthält alle L1/L2 Daten) und verwendet eine komplexe Adressierungsfunktion (Complex L3-Addressing Function).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Welche drei Phasen hat ein Template Attack und was passiert in jeder Phase? (02_Cache_04)

A
  1. Profiling: Messen von Cache-Zugriffszeiten für bekannte Events 2. Analyse: Statistische Korrelation zwischen Events und Mustern 3. Exploitation: Erkennung von Events durch spezifische Cache-Zugriffsmuster
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie funktioniert ein JavaScript-basierter Cache-Angriff auf den LLC? (02_Cache_04)

A

Der Angriff nutzt performance.now() für präzise Timing-Messungen erstellt Eviction-Sets für LLC-Sets und kann durch Zugriffszeitmessungen Aktivitäten in anderen Browser-Tabs erkennen auch im Private Mode.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Erklären Sie die Rolle des Branch Target Buffers (BTB) in der Branch Prediction. (02_Cache_04)

A

Der BTB speichert Zieladressen für bedingte Sprünge. Bei einem Treffer kann die CPU die Zieladresse vorhersagen und mit der Befehlsverarbeitung beginnen bevor die Sprungbedingung ausgewertet ist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was sind die Komponenten einer modernen Branch Prediction Unit? (02_Cache_04)

A

Eine moderne BPU besteht aus dem Branch Target Buffer (BTB) der Pattern History Table (PHT) und dem Global History Register (GHR). Diese arbeiten zusammen um Sprungziele und -verhalten vorherzusagen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie funktioniert das Global History Register in der Gshare BPU? (02_Cache_04)

A

Das GHR ist ein LIFO-Speicher der die letzten N Sprungentscheidungen als Bits speichert (taken/not taken). Diese Historie wird mit der Sprungadresse kombiniert um genauere Vorhersagen zu treffen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Vorteile bietet Simultaneous Multithreading und warum wird es heute weniger eingesetzt? (02_Cache_04)

A

SMT verbessert die Auslastung der Execution Units durch parallele Thread-Ausführung ist aber anfällig für Seitenkanal-Angriffe. Deshalb setzen neuere CPU-Designs (seit Coffee Lake) verstärkt auf andere Optimierungstechniken.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie kann man einen Cache Template Attack zur Erkennung von Tastatureingaben nutzen? (02_Cache_04)

A

Durch Profiling von Shared Libraries (z.B. GUI-Bibliotheken) werden charakteristische Cache-Zugriffsmuster für verschiedene Tasten identifiziert. Im Echtzeitbetrieb können diese Muster dann zur Tastaturerkennung genutzt werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Welche Rolle spielt die Complex L3-Addressing Function beim LLC? (02_Cache_04)

A

Sie verteilt physische Adressen auf die verschiedenen LLC-Slices. Die Funktion ist nicht öffentlich dokumentiert kann aber für CPUs mit 2^n Kernen rekonstruiert werden. Sie beeinflusst die Zugriffszeiten und damit auch Cache-Seitenkanal-Angriffe.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie kann man feststellen ob ein System SMT verwendet? (02_Cache_04)

A

Unter Linux mit ‘lscpu’ oder durch Vergleich der logischen/physischen Kernzahl in /proc/cpuinfo. Unter Windows über ‘wmic cpu get numberOfCores numberOfLogicalProcessors’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was sind die Vor- und Nachteile von LLC-basierten gegenüber L1-Cache-basierten Angriffen? (02_Cache_04)

A

LLC: + Kernübergreifend möglich + Weniger Noise - Längere Zugriffszeiten - Komplexere Adressierung. L1: + Schnellere Zugriffszeiten + Einfache Adressierung - Nur auf gleichem Kern - Mehr Noise.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Welche Gegenmaßnahmen gibt es gegen Template Attacks auf GUI-Anwendungen? (02_Cache_04)

A

Zufällige Verzögerungen beim Event-Handling Dummy-Zugriffe auf nicht genutzte UI-Elemente regelmäßiges Neu-Laden kritischer UI-Elemente im Cache und Memory Layout Randomisierung bei jedem Start.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie funktioniert die Synchronisation zwischen Threads bei SMT bezüglich der Cache-Nutzung? (02_Cache_04)

A

Die Threads teilen sich den physischen Cache aber jeder Thread hat eigene Registersets. Die Cache-Nutzung wird durch die Hardware-Implementierung gesteuert was zu potentiellen Timing-Seitenkanälen führen kann.

17
Q

Was sind Process Context Identifiers und wie schützen sie TLB-Einträge? (02_Cache_04)

A

PCIDs markieren TLB-Einträge sodass sie bei Prozesswechseln nicht invalidiert werden müssen. Dies verbessert die Performance ist aber kein vollständiger Schutz gegen TLB-basierte Seitenkanal-Angriffe.

18
Q

Wie kann JavaScript trotz Sandbox-Beschränkungen Cache-Timing durchführen? (02_Cache_04)

A

Durch performance.now() für präzise Zeitmessung Allokation großer Arrays für Eviction-Sets und Ausnutzung des shared LLC. Die Sandbox verhindert nicht die Messung von Cache-Zugriffszeiten.

19
Q

Welche Rolle spielt die Cache-Ersetzungsstrategie (Replacement Policy) bei Seitenkanal-Angriffen? (02_Cache_04)

A

Die Replacement Policy (z.B. LRU RR) bestimmt welche Cache-Einträge verdrängt werden. Dies beeinflusst die Effektivität von Prime+Probe Angriffen und muss bei der Konstruktion von Eviction-Sets berücksichtigt werden.

20
Q

Wie kann man durch Branch Prediction Angriffe RSA-Schlüssel extrahieren? (02_Cache_04)

A

Durch Analyse der Sprungvorhersage-Muster bei bedingten Sprüngen in der RSA-Implementierung. Unterschiedliche Ausführungszeiten durch falsche/korrekte Vorhersagen lassen Rückschlüsse auf Schlüsselbits zu.