# Fragenliste SCA-2022 **Felix: WO MEHR FRAGEN?** **Motivation:** - [x] Die Welt ist böse! **Vorlesung 4** - [x] Bellcore Attack wiederholen :) (wie funktioniert das mit dem ggT dann?) - [x] Felix: Ich stelle den Angriff nicht im Detail vor, wir besprechen zusammen wie der Angriff funktioniert. Tip: Man betrachtet S-S' in der Rekombinationsdarstellung und berechnet S-S' mod p und S-S' mod q. - [x] Gegenmaßnahme vom Rekombinationsangriff ist Message Blinding? Aber wie? Generelles Message Blinding wird doch durch Rekombination geknackt. **Vorlesung 10** - [x] Über BranchScope reden :D Hatten wir nicht besprochen? Oder? - [x] Felix: Doch. BranchScope ist die Konfigurationsextraktion der BPU mithilfe von P+P. Damit hat man Rückschlüsse auf den vom Opfer gewählten Ausführungszweig. **Vorlesung 11** - [x] Mit KASLR_SHIFT + 0xFFFF 8880 0000 0000 + PA berechnen wir die VA, da wir nicht die PA direkt benutzen können. Im Code steht aber phys_adr? - [x] Felix: Ich bin offen für Vorschläge. Die ```phys_adr``` ist eine virtuelle Adresse die zur (vorher) gegebenen physische Adresse übersetzt wird. **Vorlesung 12** - [x] Was tut der LFB jetzt genau? (hat er Daten die kürzlich in den L1 geladen wurden und/oder hat er Daten die kürzlich verdrängt wurden) - [x] Felix: Ja, beides. - [x] Beim L1 Cache flushen bleibt der TLB erhalten? - [x] Felix: Ja. - [x] Wie ist das mit den Extended PMLs wichtig für Meltdown-P-L1? **Vorlesung 13** - [x] Umgeht Spectre-BTB auch schon die Programmflussserialisierung? - [x] Felix: Alle Arten von Spectre brauchen ein "Transien-Execution-Zeitfenster". Bei bedingten Sprüngen sorgt man dafür, dass die auszuwertende Expression möglichst lang braucht um dieses Zeitfenster möglichst groß zu halten. Spectre umgeht die Programmflussserialisierung erstmal nicht. Es ist allerdings so, dass die Anweisung ```ret``` keine direkte Programmflussserialisierung ermöglicht. Also ist Spectre-RSB nicht direkt durch Programmflussserialisierung zu mitigieren. - [x] Warum umgehen (Spectre-BTB und) Spectre-RSB die Programmflussserialisierung? - Weil ich meine Sprungadresse selber bestimmen kann? - [x] Felix: S.o. **Übungen** - [x] cache_and_transient_2: Prime+Probe funktioniert bei dynamischen Bibliotheken nicht: Wieso? - [x] Felix: Weil man zu diesem Zeitpunkt der Vorlesung die Evictionsets noch nicht kennen gelernt hat. Bei P+P ist es nötig dass Cacheeinträge verdrängt werden. Bei SAC zusammen mit passender Replacement Policy (RP) sind Evictionsets (offensichtlich / per Definition von SAC+RP) nötig. **Sonstiges** - [x] Woher kommt das Logo von Spectre? :D - [x] Felix: Spectre lässt sich als Gespenst übersetzen. Das Logo wurde von der Grazer Forschungsgruppe um Daniel Gruss entworfen. Siehe: https://meltdownattack.com/