eMicro: Real-Time Multi-Hop Access Control for Microservices with eBPF
El artículo presenta eMicro, un sistema de defensa basado en eBPF y eficiente que aplica control de acceso de múltiples saltos en tiempo real para microservicios mediante la codificación de políticas de seguridad como autómatas de estados finitos deterministas para prevenir ataques complejos de múltiples saltos con una sobrecarga de tiempo de ejecución insignificante.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que el internet es una ciudad gigante y bulliciosa donde cada edificio es un trabajador diminuto y especializado llamado "microservicio". En lugar de una enorme fábrica que lo hace todo, estos trabajadores se pasan notas entre sí para completar un trabajo. A veces, una nota va de la Panadería al Banco, luego al Guardia de Seguridad y finalmente a la Bóveda. Así es como funcionan las aplicaciones modernas: están hechas de miles de estos pequeños servicios comunicándose en una danza compleja.
Pero aquí está la parte difícil: los guardias de seguridad suelen revisar solo a la persona que tienen justo enfrente. Si la Panadería envía una nota al Banco, el guardia verifica si la Panadería tiene permiso para hablar con el Banco. No miran cómo llegó la Panadería allí. Esto crea un vacío legal escurridizo. Un mal actor podría engañar a la Panadería para que envíe una nota al Banco, y el Banco podría pensar: "¡Ah, la Panadería está hablando conmigo, está bien!", sin darse cuenta de que la Panadería estaba siendo forzada por un hacker. Esto se llama un "ataque de múltiples saltos" (multi-hop attack), donde el mal actor salta de un trabajador legítimo a otro, construyendo una cadena de confianza que parece correcta en cada paso individual, pero que es un desastre de principio a fin.
El artículo que estás a punto de leer, llamado eMicro, aborda exactamente este problema. Se pregunta: ¿Cómo detenemos estas cadenas escurridizas sin ralentizar todo o forzar a cada trabajador a cargar una mochila gigante y pesada con su historia? Los autores, un equipo de investigadores de Virginia Tech, IBM y otros, construyeron un sistema que actúa como un policía de tráfico súper inteligente e invisible. En lugar de solo revisar a la persona en la puerta, este policía conoce toda la historia del viaje de la nota. Utilizan una tecnología especial llamada eBPF (que permite que los programas se ejecuten de forma segura dentro del motor central de la computadora) para rastrear la ruta sin necesidad de cambiar los uniformes de los trabajadores. También utilizan un truco matemático ingenioso llamado DFA (un tipo de diagrama de flujo) para recordar las reglas de manera tan eficiente que casi no ocupa espacio. El resultado es un sistema que detiene estos ataques escurridizos en tiempo real, funciona increíblemente rápido y se integra en sistemas de nube masivos sin sudar ni un poco.
La reacción en cadena escurridiza
Supongamos que tienes una aplicación para compartir fotos. Tiene una puerta principal (nginx), un editor de fotos (media), una sala de almacenamiento (cloud) y una bóveda para contraseñas (creds). En un día normal, un usuario pide una foto a la puerta principal. La puerta principal le pide al editor, el editor le pide a la sala de almacenamiento y, pop, obtienes tu foto. Este es un camino seguro.
Ahora, imagina que un hacker encuentra una pequeña grieta en la puerta principal. Engañan a la puerta principal para que le pิดa la clave a la bóveda de contraseñas, fingiendo que es una solicitud normal. Un guardia de seguridad tradicional miraría a la puerta principal y a la bóveda de contraseñas y diría: "Oye, la puerta principal tiene permiso para hablar con la bóveda a veces, así que adelante". El guardia pierde de vista el hecho de que la puerta principal debería estar hablando con el editor de fotos, no con la bóveda. El hacker ha logrado "doblar" el flujo de trabajo.
Este es el problema de los "múltiples saltos". El ataque no es una gran explosión; es una serie de pasos pequeños y de apariencia legal que se suman para crear un desastre. El artículo explica que los sistemas de seguridad antiguos son como guardias que solo miran a la persona que tienen delante. No les importa si esa persona fue empujada por un extraño cinco pasos atrás.
Entra eMicro: El guardián de historias
Los autores de este artículo construyeron eMicro para solucionar esto. Piensa en eMicro como un sistema que le da a cada solicitud una "etiqueta de historia". Cuando comienza una solicitud, recibe una etiqueta diminuta. A medida que se mueve de la puerta principal al editor, la etiqueta se actualiza para decir: "Vengo de la puerta principal". Cuando se mueve a la sala de almacenamiento, la etiqueta dice: "Vengo de la puerta principal, luego del editor".
Si un hacker intenta engañar a la puerta principal para que vaya directamente a la bóveda de contraseñas, la etiqueta sería incorrecta. Diría: "Soy la puerta principal", pero la bóveda espera una etiqueta que diga: "Soy la puerta principal después de hablar con el editor". El sistema detecta la discrepancia y detiene la solicitud instantáneamente.
Pero aquí está la magia: llevar una etiqueta de historia completa para cada solicitud sería pesado y lento. Imagina que cada vez que envías un texto, tienes que adjuntar una biografía de 50 páginas de todas las personas con las que hablaste antes. Eso congestionaría la red.
El diagrama de flujo mágico (DFA)
Para resolver el problema de la "mochila pesada", los investigadores utilizaron un truco matemático ingenioso llamado Autómata Finito Determinista (DFA). En lugar de escribir toda la historia, el sistema convierte las reglas en un diagrama de flujo gigante y eficiente.
Imagina un diagrama de flujo donde cada paso que das te mueve a un nuevo círculo.
- Círculo 0: Inicio.
- Círculo 1: Hablaste con la Puerta Principal.
- Círculo 2: Hablaste con la Puerta Principal, luego con el Editor.
- Círculo 3: Hablaste con la Puerta Principal, el Editor, luego el Almacenamiento.
El sistema no carga las palabras "Puerta Principal, Editor, Almacenamiento". Solo carga el número del círculo en el que se encuentra (por ejemplo, "Círculo 3"). Si intentas saltar del Círculo 1 directamente a la Bóveda de Contraseñas, el diagrama de flujo dice: "¡Espera, no hay una línea del Círculo 1 a la Bóveda!" y te bloquea.
Esto es increíblemente eficiente. El artículo muestra que mientras que una forma "estándar" de escribir la historia podría necesitar cientos de bits (como una larga cadena de 1s y 0s), este método de diagrama de flujo lo reduce a solo unos pocos bits. En sus pruebas, almacenaron 50 millones de reglas de seguridad diferentes en solo 100 MB de espacio. Eso es como meter una biblioteca de millones de libros en un solo teléfono inteligente.
El policía de tráfico invisible (eBPF)
¿Cómo actualiza eMicro estas etiquetas tan rápido sin pedirle a cada programa de computadora que cambie su código? La respuesta es eBPF.
Piensa en eBPF como una herramienta especial que te permite ejecutar programas diminutos y seguros dentro del motor de la computadora (el kernel). Normalmente, para rastrear lo que sucede, tendrías que pedir a cada aplicación que instale un rastreador, lo cual es una pesadilla para los desarrolladores. eMicro no hace eso. En su lugar, conecta sus pequeños programas a las tuberías de red y a los procesos internos de la computadora.
Cuando un paquete de solicitud sale de un servicio, el programa eBPF lo atrapa, actualiza el "número de círculo" (la etiqueta) y lo deja pasar. Ocurre tan rápido que la solicitud ni siquiera lo nota. El artículo midió esto y encontró que eMicro añade menos de 1 microsegundo (eso es una millonésima de segundo) al tiempo que toma verificar una solicitud. Es más rápido de lo que el ojo humano puede parpadear.
Lo que encontraron
El equipo probó eMicro de varias maneras diferentes para asegurarse de que realmente funciona:
- Detener los ataques: Simularon tres tipos de ataques escurridizos, incluyendo hackers que engañan a los servicios para que hablen con lugares equivocados y el uso de software malicioso para escanear la red. eMicro bloqueó el 100% de estos ataques. En contraste, los métodos antiguos de "revisar la puerta de al lado" solo detectaron una fracción mínima de ellos. Por ejemplo, en una cadena de 6 pasos, los métodos antiguos solo detectaron el 0.3% de los caminos maliciosos, mientras que eMicro lo detectó todo.
- Velocidad: Ejecutaron 12 millones de solicitudes a través de su sistema. eMicro mantuvo el tráfico fluyendo suavemente, añadiendo casi ningún retraso. Fue un 35% más rápido que los sistemas centralizados anteriores que intentaban hacer lo mismo pero tenían que pedir permiso a un jefe central cada vez.
- Espacio: Como se mencionó, almacenaron 50 millones de políticas en 100 MB de memoria. Esta es una mejora masiva sobre los métodos anteriores que habrían necesitado gigabytes de espacio.
- Fiabilidad: Incluso probaron qué sucede si una computadora en la red falla. eMicro utiliza un sistema llamado Raft para asegurar que todas las computadoras estén de acuerdo con las reglas. Si una falla, las otras asumen la tarea y el sistema se recupera en menos de 4 segundos.
Por qué es importante
El artículo concluye que eMicro es una solución práctica y del mundo real. No requiere reescribir todo el software del mundo y no ralentiza las cosas. Demuestra que puedes tener un guardia de seguridad que conozca toda la historia de cada solicitud, no solo a la persona que tiene delante.
Los autores son cuidadosos al decir que, aunque su sistema es excelente para los microservos, no es una varita mágica para todos los problemas de seguridad. Asumen que el motor central de la computadora (el kernel) es seguro. Si un hacker toma el control total del cerebro de la computadora, podría apagar al guardia. Pero para la gran mayoría de los ataques en la nube donde los hackers intentan colarse por las grietas entre servicios, eMicro tapa los agujeros.
En resumen, eMicro toma la compleja e invisible red de las aplicaciones modernas y le otorga un conjunto de reglas claras, rápidas e inquebrantables. Convierte una ciudad caótica de trabajadores en un equipo bien organizado donde cada uno sabe exactamente con quién debe hablar, y nadie puede colarse por la puerta trasera.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.