paint-brush
Seguridad microarquitectónica de AWS Firecracker VMM: conclusión, reconocimientos y referenciaspor@autoencoder
445 lecturas
445 lecturas

Seguridad microarquitectónica de AWS Firecracker VMM: conclusión, reconocimientos y referencias

Demasiado Largo; Para Leer

Este artículo de investigación investiga qué tan seguro es Firecracker contra ataques de microarquitectura.
featured image - Seguridad microarquitectónica de AWS Firecracker VMM: conclusión, reconocimientos y referencias
Auto Encoder: How to Ignore the Signal Noise HackerNoon profile picture
0-item

Autores:

(1) Zane Weissman, Instituto Politécnico de Worcester, Worcester, MA, EE. UU. {[email protected]};

(2) Thomas Eisenbarth, Universidad de Lübeck Lübeck, SH, Alemania {[email protected]};

(3) Thore Tiemann, Universidad de Lübeck Lübeck, SH, Alemania {[email protected]};

(4) Berk Sunar, Instituto Politécnico de Worcester Worcester, MA, EE. UU. {[email protected]}.

Tabla de enlaces

6. CONCLUSIONES

Las tecnologías de la nube cambian constantemente para satisfacer las necesidades de sus clientes. Al mismo tiempo, los CSP apuntan a maximizar la eficiencia y las ganancias, lo que incentiva a los CSP sin servidor a comprometer en exceso los recursos informáticos disponibles. Si bien esto es razonable desde una perspectiva económica, el comportamiento resultante del sistema puede ser desastroso en el contexto de ataques de microarquitectura que explotan recursos de hardware compartidos. En los últimos años, el panorama de amenazas a la microarquitectura cambió con frecuencia y rapidez. Existen mitigaciones que funcionan razonablemente bien para prevenir muchos ataques, pero a menudo generan costos de rendimiento significativos, lo que obliga a los CSP a encontrar un equilibrio entre valor económico y seguridad. Además, algunos ataques a la microarquitectura simplemente no se ven obstaculizados por las mitigaciones existentes. Los clientes de CSP tienen poco control sobre las defensas microarquitectónicas implementadas y deben confiar en sus proveedores para mantenerse al día con el ritmo del desarrollo de mitigación y ataques microarquitectónicos. La defensa en profundidad requiere seguridad en todos los niveles, desde el microcódigo hasta el VMM y el contenedor. Cada sistema debe considerarse como un todo, ya que algunas protecciones en un nivel del sistema pueden abrir vulnerabilidades en otro.


Demostramos que las contramedidas predeterminadas recomendadas para Firecracker VMM son insuficientes para cumplir sus objetivos de aislamiento. De hecho, muchos de los vectores de ataque probados mostraron fugas mientras se implementaron contramedidas. Identificamos la variante de escritura en bloque/indexación de caché de Medusa como un vector de ataque que solo funciona en máquinas virtuales, es decir, con mecanismos de aislamiento adicionales implementados. Además, demostramos que deshabilitar SMT, una costosa técnica de mitigación recomendada y realizada por AWS, no brinda protección total contra las variantes de Medusa. La variante Medusa antes mencionada y Spectre-PHT aún son capaces de filtrar información entre inquilinos de la nube incluso si SMT está deshabilitado, siempre que el atacante y los subprocesos objetivo sigan compitiendo por los recursos de hardware del mismo núcleo de CPU físico. Lamentablemente, este es inevitablemente el caso en entornos sin servidor de alta densidad. En la actualidad, los CSP sin servidor deben permanecer atentos para mantener el firmware actualizado y emplear todas las defensas posibles contra los ataques de microarquitectura. Los usuarios no solo deben confiar en los CSP de su elección para mantener sus sistemas actualizados y configurados correctamente, sino también ser conscientes de que algunas vulnerabilidades de microarquitectura, en particular ciertas variantes de Spectre, aún pueden cruzar los límites de contención. Además, los diseños de procesadores continúan evolucionando y la ejecución especulativa y fuera de orden siguen siendo factores importantes para mejorar el rendimiento de generación en generación. Por lo tanto, es poco probable que hayamos visto la última de las nuevas vulnerabilidades de microarquitectura, como lo muestra la reciente ola de ataques recién descubiertos [36, 47, 53].

EXPRESIONES DE GRATITUD

Este trabajo fue apoyado por la Fundación Alemana de Investigación (DFG) bajo las subvenciones No. 439797619 y 456967092, por el Ministerio Federal Alemán de Educación e Investigación (BMBF) bajo las subvenciones SASVI y SILGENTAS, por la Fundación Nacional de Ciencias (NSF) bajo la subvención CNS- 2026913, y en parte por una subvención del Fondo Nacional de Investigación de Qatar.

REFERENCIAS

[1] Alexandru Agache, Marc Brooker, Alexandra Iordache, Anthony Liguori, Rolf Neugebauer, Phil Piwonka y Diana-Maria Popa. 2020. Firecracker: virtualización ligera para aplicaciones sin servidor. En INDE. Asociación USENIX, 419–434.


[2] Alejandro Cabrera Aldaya y Billy Bob Brumley. 2022. HyperDegrade: de GHz a MHz frecuencias efectivas de CPU. En Simposio de Seguridad USENIX. Asociación USENIX, 2801–2818.


[3] Alejandro Cabrera Aldaya, Billy Bob Brumley, Sohaib ul Hassan, Cesar Pereida García y Nicola Tuveri. 2019. Contención portuaria por diversión y ganancias. En Simposio IEEE sobre Seguridad y Privacidad. IEEE, 870–887.


[4] Servicios web de Amazon. 2023. AWS Fargate. https://docs.aws.amazon.com/eks/latest/userguide/fargate.html consultado: 17 de agosto de 2023. [5] Amazon Web Services. 2023. Funciones de AWS Lambda. https://aws.amazon.com/lambda/features/ consultado: 17 de agosto de 2023.


[6] Servicios web de Amazon. 2023. Diseño de petardo. https://github.com/firecrackermicrovm/firecracker/blob/9c51dc6852d68d0f6982a4017a63645fa75460c0/docs/design.md.


[7] Servicios web de Amazon. 2023. El carcelero petardo. https://github.com/firecracker-microvm/firecracker/blob/main/docs/jailer.md. consultado: 14 de agosto de 2023.


[8] Servicios web de Amazon. 2023. Recomendaciones de configuración del host de producción. https://github.com/firecracker-microvm/firecracker/blob/ 9ddeaf322a74c20cfb6b5af745112c95b7cecb75/docs/prod-host-setup.md. consultado: 22 de mayo de 2023.


[9] Abhiram Balasubramanian, Marek S. Baranowski, Anton Burtsev, Aurojit Panda, Zvonimir Rakamaric y Leonid Ryzhyk. 2017. Programación de sistemas en Rust: más allá de la seguridad. En HotOS. ACM, 156-161.


[10] Enrico Barberis, Pietro Frigo, Marius Muench, Herbert Bos y Cristiano Giuffrida. 2022. Inyección del historial de sucursales: sobre la eficacia de las mitigaciones de hardware contra los ataques de privilegios cruzados Spectre-v2. En Simposio de Seguridad USENIX. Asociación USENIX, 971–988.


[11] Atri Bhattacharyya, Alexandra Sandulescu, Matthias Neugschwandtner, Alessandro Sorniotti, Babak Falsafi, Mathias Payer y Anil Kurmus. 2019. SMoTherSpectre: Explotación de la ejecución especulativa a través de la contención portuaria. En CCS. ACM, 785–800.


[12] Jo Van Bulck, Daniel Moghimi, Michael Schwarz, Moritz Lipp, Marina Minkin, Daniel Genkin, Yuval Yarom, Berk Sunar, Daniel Gruss y Frank Piessens. 2020. LVI: Secuestro de la ejecución transitoria mediante inyección de valor de carga microarquitectónica. En Simposio IEEE sobre Seguridad y Privacidad. IEEE, 54–72.


[13] Claudio Canella, Jo Van Bulck, Michael Schwarz, Moritz Lipp, Benjamin von Berg, Philipp Ortner, Frank Piessens, Dmitry Evtyushkin y Daniel Gruss. 2019. Una evaluación sistemática de defensas y ataques de ejecución transitoria. En Simposio de Seguridad USENIX. Asociación USENIX, 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 y Yuval Yarom. 2019. Fallout: fuga de datos sobre CPU resistentes a fusión. En CCS. ACM, 769–784.


[15] Claudio Canella, Jo Van Bulck, Michael Schwarz, Daniel Gruss, Catherine Easdon y Saagar Jha. 2019. Fallo transitorio [Código fuente]. https://github.com/IAIK/transientfail


[16] Guoxing Chen, Sanchuan Chen, Yuan Xiao, Yinqian Zhang, Zhiqiang Lin y Ten-Hwang Lai. 2019. SgxPectre: Robo de secretos de Intel de enclaves SGX mediante ejecución especulativa. En EuroS&P. IEEE, 142–157.


[17] Marie Dolezelová, Milan Navrátil, Eva Major ˘ sinová, Peter Ondrejka, Douglas ˘ Silas, Martin Prpic y Rüdiger Landmann. 2020. ˘ Guía de administración de recursos de Red Hat Enterprise Linux 7: uso de cgroups para administrar los recursos del sistema en 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 consultado: 17 de agosto de 2023.


[18] Jacob Fustos, Michael Garrett Bechtel y Heechul Yun. 2020. SpectreRewind: Filtración de secretos de instrucciones pasadas. En CENIZAS@CCS. ACM, 117-126.


[19] Daniel Gruss, Moritz Lipp, Michael Schwarz, Richard Fellner, Clémentine Maurice y Stefan Mangard. 2017. KASLR ha muerto: larga vida a KASLR. En ESSoS (Apuntes de conferencias sobre informática, vol. 10379). Saltador, 161-176.


[20]Pawan Gupta. 2020. TAA - Aborto asíncrono de TSX. La organización del kernel de Linux. https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html consultado: 17 de agosto de 2023.


[21]Tyler Hicks. 2019. MDS - Muestreo de datos de microarquitectura. La organización del kernel de Linux. https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html consultado: 17 de agosto de 2023.


[22] Jann Horn. 2018. Ejecución especulativa, variante 4: bypass de tienda especulativa. https://bugs.chromium.org/p/project-zero/issues/detail?id=1528 consultado: 17 de agosto de 2023.


[23] Intel. 2018. Mitigaciones del canal lateral de ejecución especulativa. https://www.intel.com/content/dam/develop/external/us/en/documents/336996-speculative-execution-side-channel-mitigations.pdf. Rdo. 3.0 consultado: 22 de marzo de 2023.


[24] Intel. 2019. Aborto asíncrono de Extensiones de sincronización transaccional Intel (Intel TSX). Reporte técnico. Intel Corp. https://www.intel.com/content/www/ us/en/developer/articles/technical/software-security-guidance/technicaldocumentation/intel-tsx-asynchronous-abort.html consultado: 17 de agosto de 2023 .


[25] Intel. 2019. Muestreo de datos de microarquitectura. Reporte técnico. 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, consultado: 17 de agosto de 2023.


[26] Intel. 2020. Muestreo de registros de vectores. Reporte técnico. Intel Corp. https://www.intel.com/content/www/us/en/developer/articles/technical/softwaresecurity-guidance/advisory-guidance/vector-register-sampling.html consultado: 17 de agosto de 2023.


[27] Brian Johannesmeyer, Jakob Koschel, Kaveh Razavi, Herbert Bos y Cristiano Giuffrida. 2022. Kasper: Búsqueda de gadgets de ejecución transitoria generalizada en el kernel de Linux. En NDSS. La sociedad de Internet.


[28] Vladimir Kiriansky y Carl A. Waldspurger. 2018. Desbordamientos de búfer especulativos: ataques y defensas. CoRRabs/1807.03757 (2018).


[29] Avi Kivity, Yaniv Kamay, Dor Laor, Uri Lubin y Anthony Liguori. 2007. kvm: el monitor de máquina virtual Linux. En el Simposio de Linux, 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 y Yuval Yarom. 2019. Ataques de espectro: explotación de la ejecución especulativa. En Simposio IEEE sobre Seguridad y Privacidad. IEEE, 1–19.


[31] Esmaeil Mohammadian Koruyeh, Khaled N. Khasawneh, Chengyu Song y Nael B. Abu-Ghazaleh. 2018. ¡El espectro regresa! Ataques de especulación utilizando el Return Stack Buffer. En el Simposio de Seguridad WOOT @ USENIX. Asociación USENIX.


[32] Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas, Anders Fogh, Jann Horn, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom y Mike Hamburg. 2018. Meltdown: lectura de la memoria del kernel desde el espacio del usuario. En Simposio de Seguridad USENIX. Asociación USENIX, 973–990.


[33] Giorgi Maisuradze y Christian Rossow. 2018. ret2spec: Ejecución especulativa utilizando buffers de pila de retorno. En CCS. JCA, 2109–2122.


[34] Debora T. Marr, Frank Binns, David L. Hill, Glenn Hinton, David A. Koufaty, J. Alan Miller y Michael Upton. 2002. Arquitectura y microarquitectura de tecnología Hyper-Threading. Revista de tecnología Intel 6, 1 (2002), 4–15.


[35] Daniel Moghimi. 2020. Repositorio de códigos Medusa [Código fuente]. https://github. es/flowyroll/medusa


[36] Daniel Moghimi. 2023. Caída: explotación de la recopilación de datos especulativos. En Simposio de Seguridad USENIX. Asociación USENIX, 7179–7193.


[37] Daniel Moghimi, Moritz Lipp, Berk Sunar y Michael Schwarz. 2020. Medusa: fuga de datos de microarquitectura mediante síntesis de ataques automatizados. En Simposio de Seguridad USENIX. Asociación USENIX, 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 y Deian Stefan. 2021. Giratorio: Fortalecimiento de WebAssembly contra Spectre. En Simposio de Seguridad USENIX. Asociación USENIX, 1433-1450.


[39] Dag Arne Osvik, Adi Shamir y Eran Tromer. 2006. Ataques de caché y contramedidas: el caso de AES. En CT-RSA (Notas de conferencias sobre informática, vol. 3860). Saltador, 1–20.


[40] Antoon Purnal, Furkan Turan e Ingrid Verbauwhede. 2021. Prime+Scope: Superación del efecto observador en ataques de contención de caché de alta precisión. En CCS. MCA, 2906–2920.


[41] Qumranet Inc. 2006. KVM: Controlador de virtualización basado en kernel, documento técnico. Reporte técnico. Qumranet Inc. https://docs.huihoo.com/kvm/kvm-white-paper.pdf consultado: 17 de agosto de 2023.


[42] Hany Ragab, Enrico Barberis, Herbert Bos y Cristiano Giuffrida. 2021. Rage Against the Machine Clear: un análisis sistemático de las eliminaciones de máquinas y sus implicaciones para los ataques de ejecución transitoria. En Simposio de Seguridad USENIX. Asociación USENIX, 1451-1468.


[43] Thomas Rokicki, Clémentine Maurice, Marina Botvinnik y Yossi Oren. 2022. La contención de puertos se vuelve portátil: canales laterales de contención de puertos en navegadores web. En AsiaCCS. MCA, 1182-1194.


[44] Thomas Rokicki, Clémentine Maurice y Michael Schwarz. 2022. Contención de puertos de CPU sin SMT. En ESORICS (3) (Apuntes de conferencias sobre informática, vol. 13556). Saltador, 209–228.


[45] David Schrammel, Samuel Weiser, Stefan Steinegger, Martin Schwarzl, Michael Schwarz, Stefan Mangard y Daniel Gruss. 2020. Donky: Claves de dominio: aislamiento eficiente en proceso para RISC-V y x86. En Simposio de Seguridad USENIX. Asociación USENIX, 1677–1694.


[46] Michael Schwarz, Moritz Lipp, Daniel Moghimi, Jo Van Bulck, Julian Stecklina, Thomas Prescher y Daniel Gruss. 2019. ZombieLoad: muestreo de datos entre límites de privilegios. En CCS. ACM, 753–768.


[47] Daniël Trujillo, Johannes Wikner y Kaveh Razavi. 2023. Inicio: exponer nuevas superficies de ataque con capacitación en ejecución transitoria. En Simposio de Seguridad USENIX. Asociación USENIX, 7303–7320.


[48]Paul Turner. 2018. Retpoline: una construcción de software para prevenir la inyección de objetivos de sucursales. https://support.google.com/faqs/answer/7625886. consultado: 22 de marzo de 2023.


[49] Anjo Vahldiek-Oberwagner, Eslam Elnikety, Nuno O. Duarte, Michael Sammler, Peter Druschel y Deepak Garg. 2019. ERIM: Aislamiento en proceso seguro y eficiente con claves de protección (MPK). En Simposio de Seguridad USENIX. Asociación USENIX, 1221-1238.


[50] Stephan van Schaik, Alyssa Milburn, Sebastian Österlund, Pietro Frigo, Giorgi Maisuradze, Kaveh Razavi, Herbert Bos y Cristiano Giuffrida. 2019. RIDL: Carga de datos en vuelo no autorizada. En Simposio IEEE sobre Seguridad y Privacidad. IEEE, 88-105.


[51] Stephan van Schaik, Alyssa Millburn, genBTC, Paul Menzel, jun1x, Stephen Kitt, pit fr, Sebastian Österlund y Cristiano Giuffrida. 2020. RIDL [Código fuente]. https://github.com/vusec/ridl


[52] Johannes Wikner y Kaveh Razaví. 2022. RETBLEED: Ejecución de código especulativo arbitrario con instrucciones de devolución. En Simposio de Seguridad USENIX. Asociación USENIX, 3825–3842.


[53] Johannes Wikner, Daniël Trujillo y Kaveh Razav. 2023. Phantom: explotación de predicciones erróneas detectables por el decodificador. En MICRO (aparecer). IEEE.


[54] Yuval Yarom y Katrina Falkner. 2014. FLUSH+RELOAD: Un ataque de canal lateral de caché L3 de alta resolución y bajo ruido. En Simposio de Seguridad USENIX. Asociación USENIX, 719–732.


[55] Ethan G. Young, Pengfei Zhu, Tyler Caraza-Harter, Andrea C. Arpaci-Dusseau y Remzi H. Arpaci-Dusseau. 2019. El verdadero costo de la contención: un estudio de caso de gVisor. En Hot Cloud. Asociación USENIX.


Este documento está disponible en arxiv bajo licencia CC BY-NC-ND 4.0 DEED.