Autoren:
(1) Zane Weissman, Worcester Polytechnic Institute Worcester, MA, USA {[email protected]};
(2) Thomas Eisenbarth, Universität zu Lübeck Lübeck, SH, Deutschland {[email protected]};
(3) Thore Tiemann, Universität zu Lübeck Lübeck, SH, Deutschland {[email protected]};
(4) Berk Sunar, Worcester Polytechnic Institute Worcester, MA, USA {[email protected]}.
Cloud-Technologien verändern sich ständig, um den Anforderungen ihrer Kunden gerecht zu werden. Gleichzeitig streben CSPs nach maximaler Effizienz und Gewinn, was serverlose CSPs dazu anregt, die verfügbaren Rechenressourcen übermäßig zu nutzen. Obwohl dies aus wirtschaftlicher Sicht sinnvoll ist, kann das daraus resultierende Systemverhalten im Zusammenhang mit mikroarchitektonischen Angriffen, die gemeinsam genutzte Hardwareressourcen ausnutzen, katastrophal sein. In den letzten Jahren hat sich die mikroarchitektonische Bedrohungslandschaft häufig und schnell verändert. Es gibt Abwehrmaßnahmen, die recht gut funktionieren, um viele Angriffe zu verhindern, aber sie führen oft zu erheblichen Leistungseinbußen, was CSPs dazu zwingt, einen Kompromiss zwischen wirtschaftlichem Wert und Sicherheit zu finden. Darüber hinaus werden einige mikroarchitektonische Angriffe durch vorhandene Abwehrmaßnahmen einfach nicht verhindert. Die CSP-Kunden haben wenig Kontrolle über die eingesetzten mikroarchitektonischen Abwehrmaßnahmen und müssen darauf vertrauen, dass ihre Anbieter mit dem Tempo der Entwicklung von mikroarchitektonischen Angriffen und Abwehrmaßnahmen Schritt halten. Eine tiefgreifende Verteidigung erfordert Sicherheit auf jeder Ebene, vom Mikrocode über VMM bis hin zum Container. Jedes System muss als Ganzes betrachtet werden, da einige Schutzmaßnahmen auf einer Systemebene Schwachstellen auf einer anderen öffnen können.
Wir haben gezeigt, dass die für Firecracker VMM empfohlenen Standard-Gegenmaßnahmen nicht ausreichen, um dessen Isolationsziele zu erreichen. Tatsächlich zeigten viele der getesteten Angriffsvektoren Lecks, obwohl Gegenmaßnahmen vorhanden waren. Wir haben die Medusa-Cache-Indizierung/Blockschreibvariante als Angriffsvektor identifiziert, der nur über VMs hinweg funktioniert, d. h. mit zusätzlichen Isolationsmechanismen. Darüber hinaus haben wir gezeigt, dass das Deaktivieren von SMT – eine teure Minderungstechnik, die von AWS empfohlen und durchgeführt wird – keinen vollständigen Schutz vor Medusa-Varianten bietet. Die oben erwähnte Medusa-Variante und Spectre-PHT können auch bei deaktiviertem SMT weiterhin Informationen zwischen Cloud-Mietern durchsickern lassen, solange Angreifer- und Ziel-Threads weiterhin um Hardwareressourcen desselben physischen CPU-Kerns konkurrieren. Leider ist dies in hochdichten serverlosen Umgebungen unvermeidlich der Fall. Gegenwärtig müssen serverlose CSPs wachsam bleiben, die Firmware auf dem neuesten Stand halten und alle möglichen Abwehrmaßnahmen gegen mikroarchitektonische Angriffe einsetzen. Benutzer müssen sich nicht nur darauf verlassen können, dass die CSPs ihrer Wahl ihre Systeme auf dem neuesten Stand und richtig konfiguriert halten, sondern sich auch darüber im Klaren sein, dass einige mikroarchitektonische Schwachstellen, insbesondere bestimmte Spectre-Varianten, immer noch in der Lage sind, Eindämmungsgrenzen zu überschreiten. Darüber hinaus entwickeln sich Prozessordesigns ständig weiter, und spekulative und Out-of-Order-Ausführung bleiben wichtige Faktoren für die Leistungssteigerung von Generation zu Generation. Es ist also unwahrscheinlich, dass wir die letzten neuen mikroarchitektonischen Schwachstellen gesehen haben, wie die jüngste Welle neu entdeckter Angriffe [36, 47, 53] zeigt.
Diese Arbeit wurde von der Deutschen Forschungsgemeinschaft (DFG) im Rahmen der Zuschüsse Nr. 439797619 und 456967092, vom Bundesministerium für Bildung und Forschung (BMBF) im Rahmen der Zuschüsse SASVI und SILGENTAS, von der National Science Foundation (NSF) im Rahmen des Zuschusses CNS-2026913 und teilweise durch einen Zuschuss des Qatar National Research Fund unterstützt.
[1] Alexandru Agache, Marc Brooker, Alexandra Iordache, Anthony Liguori, Rolf Neugebauer, Phil Piwonka und Diana-Maria Popa. 2020. Firecracker: Leichtgewichtige Virtualisierung für serverlose Anwendungen. In NSDI. USENIX Association, 419– 434.
[2] Alejandro Cabrera Aldaya und Billy Bob Brumley. 2022. HyperDegrade: Von GHz zu MHz effektive CPU-Frequenzen. Im USENIX Security Symposium. USENIX Association, 2801–2818.
[3] Alejandro Cabrera Aldaya, Billy Bob Brumley, Sohaib ul Hassan, Cesar Pereida García und Nicola Tuveri. 2019. Port Contention for Fun and Profit. Im IEEE Symposium on Security and Privacy. IEEE, 870–887.
[4] Amazon Web Services. 2023. AWS Fargate. https://docs.aws.amazon.com/eks/ latest/userguide/fargate.html abgerufen: 17. August 2023. [5] Amazon Web Services. 2023. AWS Lambda Features. https://aws.amazon.com/ lambda/features/ abgerufen: 17. August 2023.
[6] Amazon Web Services. 2023. Firecracker-Design. https://github.com/firecrackermicrovm/firecracker/blob/9c51dc6852d68d0f6982a4017a63645fa75460c0/docs/ design.md.
[7] Amazon Web Services. 2023. Der Firecracker Jailer. https://github.com/ firecracker-microvm/firecracker/blob/main/docs/jailer.md. Zugriff: 14. August 2023.
[8] Amazon Web Services. 2023. Empfehlungen zur Einrichtung eines Produktionshosts. https://github.com/firecracker-microvm/firecracker/blob/ 9ddeaf322a74c20cfb6b5af745112c95b7cecb75/docs/prod-host-setup.md. Zugriff: 22. Mai 2023.
[9] Abhiram Balasubramanian, Marek S. Baranowski, Anton Burtsev, Aurojit Panda, Zvonimir Rakamaric und Leonid Ryzhyk. 2017. Systemprogrammierung in Rust: Mehr als Sicherheit. In HotOS. ACM, 156–161.
[10] Enrico Barberis, Pietro Frigo, Marius Muench, Herbert Bos und Cristiano Giuffrida. 2022. Branch History Injection: Zur Wirksamkeit von Hardware-Abwehrmaßnahmen gegen Cross-Privilege-Spectre-v2-Angriffe. Im USENIX Security Symposium. USENIX Association, 971–988.
[11] Atri Bhattacharyya, Alexandra Sandulescu, Matthias Neugschwandtner, Alessandro Sorniotti, Babak Falsafi, Mathias Payer und Anil Kurmus. 2019. SMoTherSpectre: Ausnutzung spekulativer Ausführung durch Port-Konflikte. In CCS. ACM, 785–800.
[12] Jo Van Bulck, Daniel Moghimi, Michael Schwarz, Moritz Lipp, Marina Minkin, Daniel Genkin, Yuval Yarom, Berk Sunar, Daniel Gruss und Frank Piessens. 2020. LVI: Hijacking Transient Execution through Microarchitectural Load Value Injection. In IEEE Symposium on Security and Privacy. IEEE, 54–72.
[13] Claudio Canella, Jo Van Bulck, Michael Schwarz, Moritz Lipp, Benjamin von Berg, Philipp Ortner, Frank Piessens, Dmitry Evtyushkin und Daniel Gruss. 2019. Eine systematische Bewertung von Transient Execution Attacks und Abwehrmaßnahmen. In USENIX Security Symposium. USENIX Association, 249–266.
[14] Claudio Canella, Daniel Genkin, Lukas Giner, Daniel Gruss, Moritz Lipp, Marina Minkin, Daniel Moghimi, Frank Piessens, Michael Schwarz, Berk Sunar, Jo Van Bulck und Yuval Yarom. 2019. Fallout: Leaking Data on Meltdown-resistant CPUs. In CCS. ACM, 769–784.
[15] Claudio Canella, Jo Van Bulck, Michael Schwarz, Daniel Gruss, Catherine Easdon und Saagar Jha. 2019. Transient Fail [Quellcode]. https://github.com/IAIK/ transientfail
[16] Guoxing Chen, Sanchuan Chen, Yuan Xiao, Yinqian Zhang, Zhiqiang Lin und Ten-Hwang Lai. 2019. SgxPectre: Diebstahl von Intel-Geheimnissen aus SGX-Enklaven durch spekulative Ausführung. In EuroS&P. IEEE, 142–157.
[17] Marie Dolezelová, Milan Navrátil, Eva Major ˘ sinová, Peter Ondrejka, Douglas ˘ Silas, Martin Prpic und Rüdiger Landmann. 2020. ˘ Red Hat Enterprise Linux 7 Resource Management Guide – Verwenden von cgroups zur Verwaltung von Systemressourcen unter RHEL. Red Hat, Inc. https://access.redhat.com/documentation/enus/red_hat_enterprise_linux/7/pdf/resource_management_guide/red_hat_ enterprise_linux-7-resource_management_guide-en-us.pdf abgerufen: 17. August 2023.
[18] Jacob Fustos, Michael Garrett Bechtel und Heechul Yun. 2020. SpectreRewind: Geheimnisse vergangener Anweisungen preisgeben. In ASHES@CCS. ACM, 117–126.
[19] Daniel Gruss, Moritz Lipp, Michael Schwarz, Richard Fellner, Clémentine Maurice und Stefan Mangard. 2017. KASLR ist tot: Lang lebe KASLR. In ESSoS (Lecture Notes in Computer Science, Bd. 10379). Springer, 161–176.
[20] Pawan Gupta. 2020. TAA - TSX Asynchronous Abort. Die Linux Kernel Organisation. https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_ async_abort.html abgerufen: 17. August 2023.
[21] Tyler Hicks. 2019. MDS - Microarchitectural Data Sampling. Die Linux Kernel Organisation. https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/ mds.html abgerufen: 17. August 2023.
[22] Jann Horn. 2018. Spekulative Ausführung, Variante 4: spekulativer Store-Bypass. https://bugs.chromium.org/p/project-zero/issues/detail?id=1528 abgerufen: 17. August 2023.
[23] Intel. 2018. Speculative Execution Side Channel Mitigations. https://www.intel.com/content/dam/develop/external/us/en/documents/336996- speculative-execution-side-channel-mitigations.pdf. rev. 3.0 abgerufen: 22. März 2023.
[24] Intel. 2019. Intel Transactional Synchronization Extensions (Intel TSX) Asynchronous Abort. Technischer Bericht. Intel Corp. https://www.intel.com/content/www/ us/en/developer/articles/technical/software-security-guidance/technicaldocumentation/intel-tsx-asynchronous-abort.html abgerufen: 17. August 2023.
[25] Intel. 2019. Microarchitectural Data Sampling. Technischer Bericht. Intel Corp. https://www.intel.com/content/www/us/en/developer/articles/ technical/software-security-guidance/technical-documentation/intel-analysismicroarchitectural-data-sampling.html ver. 3.0, abgerufen: 17. August 2023.
[26] Intel. 2020. Vector Register Sampling. Technischer Bericht. Intel Corp. https://www.intel.com/content/www/us/en/developer/articles/technical/softwaresecurity-guidance/advisory-guidance/vector-register-sampling.html abgerufen: 17. August 2023.
[27] Brian Johannesmeyer, Jakob Koschel, Kaveh Razavi, Herbert Bos und Cristiano Giuffrida. 2022. Kasper: Scannen nach verallgemeinerten vorübergehenden Ausführungs-Gadgets im Linux-Kernel. In NDSS. Die Internet-Gesellschaft.
[28] Vladimir Kiriansky und Carl A. Waldspurger. 2018. Spekulative Pufferüberläufe: Angriffe und Abwehrmaßnahmen. CoRR abs/1807.03757 (2018).
[29] Avi Kivity, Yaniv Kamay, Dor Laor, Uri Lubin und Anthony Liguori. 2007. kvm: der Linux Virtual Machine Monitor. In Linux Symposium, Vol. 1. kernel.org, 225–230.
[30] Paul Kocher, Jann Horn, Anders Fogh, Daniel Genkin, Daniel Gruss, Werner Haas, Mike Hamburg, Moritz Lipp, Stefan Mangard, Thomas Prescher, Michael Schwarz, und Yuval Yarom. 2019. Spectre Attacks: Exploiting Speculative Execution. In IEEE Symposium on Security and Privacy. IEEE, 1–19.
[31] Esmaeil Mohammadian Koruyeh, Khaled N. Khasawneh, Chengyu Song und Nael B. Abu-Ghazaleh. 2018. Spectre Returns! Spekulationsangriffe unter Verwendung des Return Stack Buffer. In WOOT @ USENIX Security Symposium. USENIX Association.
[32] Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas, Anders Fogh, Jann Horn, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom, und Mike Hamburg. 2018. Meltdown: Lesen des Kernelspeichers aus dem Benutzerbereich. In USENIX Security Symposium. USENIX Association, 973–990.
[33] Giorgi Maisuradze und Christian Rossow. 2018. ret2spec: Spekulative Ausführung mithilfe von Return Stack Buffers. In CCS. ACM, 2109–2122.
[34] Debora T. Marr, Frank Binns, David L. Hill, Glenn Hinton, David A. Koufaty, J. Alan Miller und Michael Upton. 2002. Hyper-Threading-Technologie, Architektur und Mikroarchitektur. Intel Technology Journal 6, 1 (2002), 4–15.
[35] Daniel Moghimi. 2020. Medusa Code Repository [Quellcode]. https://github. com/flowyroll/medusa
[36] Daniel Moghimi. 2023. Downfall: Ausnutzung spekulativer Datenerfassung. Im USENIX Security Symposium. USENIX Association, 7179–7193.
[37] Daniel Moghimi, Moritz Lipp, Berk Sunar und Michael Schwarz. 2020. Medusa: Mikroarchitektonischer Datenverlust durch automatisierte Angriffssynthese. In USENIX Security Symposium. USENIX Association, 1427–1444.
[38] Shravan Narayan, Craig Disselkoen, Daniel Moghimi, Sunjay Cauligi, Evan Johnson, Zhao Gang, Anjo Vahldiek-Oberwagner, Ravi Sahita, Hovav Shacham, Dean M. Tullsen und Deian Stefan. 2021. Swivel: WebAssembly gegen Spectre absichern. Im USENIX Security Symposium. USENIX Association, 1433– 1450.
[39] Dag Arne Osvik, Adi Shamir und Eran Tromer. 2006. Cache-Angriffe und Gegenmaßnahmen: Der Fall AES. In CT-RSA (Lecture Notes in Computer Science, Vol. 3860). Springer, 1–20.
[40] Antoon Purnal, Furkan Turan und Ingrid Verbauwhede. 2021. Prime+Scope: Überwindung des Beobachtereffekts bei hochpräzisen Cache-Konfliktangriffen. In CCS. ACM, 2906–2920.
[41] Qumranet Inc. 2006. KVM: Kernel-based Virtualization Driver, White Paper. Technischer Bericht. Qumranet Inc. https://docs.huihoo.com/kvm/kvm-white-paper.pdf abgerufen: 17. August 2023.
[42] Hany Ragab, Enrico Barberis, Herbert Bos und Cristiano Giuffrida. 2021. Rage Against the Machine Clear: Eine systematische Analyse von Machine Clears und deren Auswirkungen auf Transient Execution Attacks. Im USENIX Security Symposium. USENIX Association, 1451–1468.
[43] Thomas Rokicki, Clémentine Maurice, Marina Botvinnik und Yossi Oren. 2022. Port Contention Goes Portable: Port Contention Side Channels in Webbrowsern. In AsiaCCS. ACM, 1182–1194.
[44] Thomas Rokicki, Clémentine Maurice und Michael Schwarz. 2022. CPU Port Contention Without SMT. In ESORICS (3) (Lecture Notes in Computer Science, Vol. 13556). Springer, 209–228.
[45] David Schrammel, Samuel Weiser, Stefan Steinegger, Martin Schwarzl, Michael Schwarz, Stefan Mangard, und Daniel Gruss. 2020. Donky: Domain Keys - Effiziente In-Process-Isolation für RISC-V und x86. In USENIX Security Symposium. USENIX Association, 1677–1694.
[46] Michael Schwarz, Moritz Lipp, Daniel Moghimi, Jo Van Bulck, Julian Stecklina, Thomas Prescher und Daniel Gruss. 2019. ZombieLoad: Cross-PrivilegeBoundary Data Sampling. In CCS. ACM, 753–768.
[47] Daniël Trujillo, Johannes Wikner und Kaveh Razavi. 2023. Inception: Aufdecken neuer Angriffsflächen durch Training in transienter Ausführung. Im USENIX Security Symposium. USENIX Association, 7303–7320.
[48] Paul Turner. 2018. Retpoline: ein Softwarekonstrukt zur Verhinderung von Branch-Target-Injection. https://support.google.com/faqs/answer/7625886. Zugriff: 22. März 2023.
[49] Anjo Vahldiek-Oberwagner, Eslam Elnikety, Nuno O. Duarte, Michael Sammler, Peter Druschel und Deepak Garg. 2019. ERIM: Sichere, effiziente In-Process-Isolierung mit Protection Keys (MPK). Im USENIX Security Symposium. USENIX Association, 1221–1238.
[50] Stephan van Schaik, Alyssa Milburn, Sebastian Österlund, Pietro Frigo, Giorgi Maisuradze, Kaveh Razavi, Herbert Bos und Cristiano Giuffrida. 2019. RIDL: Rogue In-Flight Data Load. In IEEE Symposium on Security and Privacy. IEEE, 88–105.
[51] Stephan van Schaik, Alyssa Millburn, genBTC, Paul Menzel, jun1x, Stephen Kitt, pit fr, Sebastian Österlund und Cristiano Giuffrida. 2020. RIDL [Quellcode]. https://github.com/vusec/ridl
[52] Johannes Wikner und Kaveh Razavi. 2022. RETBLEED: Beliebige spekulative Codeausführung mit Return-Anweisungen. In USENIX Security Symposium. USENIX Association, 3825–3842.
[53] Johannes Wikner, Daniël Trujillo und Kaveh Razav. 2023. Phantom: Ausnutzung von Decoder-erkennbaren Fehlvorhersagen. In MICRO (erscheint demnächst). IEEE.
[54] Yuval Yarom und Katrina Falkner. 2014. FLUSH+RELOAD: Ein hochauflösender, rauscharmer L3-Cache-Side-Channel-Angriff. In USENIX Security Symposium. USENIX Association, 719–732.
[55] Ethan G. Young, Pengfei Zhu, Tyler Caraza-Harter, Andrea C. Arpaci-Dusseau und Remzi H. Arpaci-Dusseau. 2019. Die wahren Kosten der Eindämmung: Eine gVisor-Fallstudie. In HotCloud. USENIX Association.
Dieses Dokument ist auf arxiv unter der Lizenz CC BY-NC-ND 4.0 DEED verfügbar .