Nuevo chip de Google protege las partes más vulnerables de la nube

La nube domina el mundo. Dado que es una gran fuente de ingresos y que será una de las infraestructuras fundamentales del futuro, cualquiera pensaría que Amazon, Google, IBM y todas las millonarias compañías de la nube conocen perfectamente cada pieza de hardware, software y código en sus centros de datos.  Pero no es así.

Para los hackers, un centro de datos representa el cerebro de sus objetivos, es uno de los puntos de control más importantes y uno de los blancos de mayor valor. Las agencias de inteligencia de EE. UU. y China, dos de las ciberpotencias más avanzadas del mundo, han atacado y accedido a centros de datos ajenos como parte de sus operaciones más ambiciosas de espionaje.

Hace poco, Google anunció un nuevo diseño de chip de código abierto basado en las lecciones que la compañía aprendió de su primera capa de defensa en los 19 centros de datos que la compañía tiene en los cinco continentes. Se trata de OpenTitan, la versión de código abierto del chip Titan que lleva dos años utilizándose en esos centros de datos.

Titan podría demostrar a nivel criptográfico que las máquinas que operan el negocio de la nube de Google (valorado en más de 7.000 millones de euros) son fiables, que no han acumulado vulnerabilidades y que no están bajo el control de un adversario de forma encubierta. La garantía de seguridad que ofrece este chip resulta “muy crítica cuando se trata de dominar el planeta”, afirma el vicepresidente de ingeniería de Google Cloud, Royal Hansen.

Una comparación del OpenTitan y un tradicional

Gráfico: Comparación de OpenTitan y un chip tradicional de “raíz de confianza”. El objetivo del proyecto de código abierto es permitir que los clientes de los centros de datos de Google inspeccionen, comprendan y confíen en sus máquinas desde los niveles más bajos de código. CréditoGoogle

El código abierto del chip Titan representa el esfuerzo de Google y sus socios para expandir la transparencia y la confianza en los niveles más bajos de las máquinas que operan en los centros de datos. El objetivo es permitir que cualquiera pueda inspeccionar, comprender y confiar plenamente en las máquinas de la compañía nada más encenderlas. La empresa de ingeniería sin ánimo de lucro lowRISC, con sede en Cambridge (Reino Unido), manejará el proyecto.

Como una línea extra de defensa contra el espionaje en lugares como centros de fabricación de chips, OpenTitan también cuenta con un sistema de autodiagnóstico para verificar si hay alteraciones en la memoria cada vez que el chip se inicia.

Vulnerabilidades básicas

Un centro de datos de computación en la nube podría compararse con una pirámide o, también, con un castillo de naipes del tamaño del Everest. El nivel más bajo está compuesto por el hardware de silicio que ejecuta el primer código cuando se enciende la máquina, y cada componente ejecuta una cantidad sorprendentemente grande de código en esos primeros momentos. Históricamente, siempre ha sido muy complicado tener información sobre este código, y mucho más comprenderlo completamente o protegerlo de manera efectiva. Antes de que se active el software de seguridad, el código como el firmware ya está operativo y controla el proceso de arranque. Por eso el firmware y otros objetivos de bajo nivel resultan muy atractivos para los hackers.

El año pasado, hackers patrocinados por el Gobierno ruso fueron descubiertos mientras hacían labores de espionaje al explotar los errores en el software de seguimiento que venía preinstalado en el firmware. “Google quiere asegurarse de que se pueda verificar exactamente la secuencia de todo lo que sucede antes de que se ejecute la primera instrucción desde el momento alguien pulsa el botón de inicio”, explica el investigador de seguridad de Vrije Universiteit Amsterdam (Países Bajos) Kaveh Razavi.

OpenTitan no permitirá que el proceso de arranque se inicie si el código generado por el firmware no coincide con el código esperado por el chip. El miembro de la junta directiva de lowRISC, Gavin Ferris, detalla: “Si no se puede confiar en lo que arranca la máquina, se acabó todo. No importa lo que haga el sistema operativo: si en el momento en el que se inicia el sistema operativo, ya está afectado, entonces todo es teórico. Ya está todo hecho”.

Peligro inmediato

El riesgo de ciberataques a la cadena de suministro para espiar el hardware en un nivel bajo es muy real, y sorprendentemente asequible. Hansen confirma: “Solo hay que pensar en los millones de servidores en nuestros centros de datos: tenemos controladores de administración de la placa base, controladores de interfaz de red, todo tipo de chips en estas placas base”. Y sostiene que la seguridad debe comenzar con el hardware de silicio: “No puede empezar con el software, porque cuando se encienda y empieza a cargarse ya es tarde “.

Un ejemplo es el caso MINIX, un sistema operativo discretamente integrado por Intel en las CPU de más de 1.000 millones de máquinas antes de que nadie se diera cuenta de lo que estaba pasando. Frente a un sistema operativo complejo y previamente desconocido por completo, Google empezó a trabajar para eliminar de sus plataformas ese código propietario, “fácil de explotar” y muy confidencial. Para los ingenieros de Google, MINIX era un terreno de ataque completamente desconocido, ni lo entendían, ni lo sabían defender. De hecho, MINIX fue uno de los catalizadores que impulsó a Google a fabricar su propio hardware y lo llevó a la creación de OpenTitan.

Los grupos de hackers más avanzados tienen como objetivo lograr la “persistencia”, lo que significa no solo acceder a un sistema ajeno sino también mantener su presencia a través de distintos reinicios. OpenTitan no es una bala de plata, pero hace que a un atacante le cueste mucho más ganar persistencia sin hacer saltar las alarmas.

Razavi detalla: “Cuando un atacante ya ha accedido a un nodo, para él lo ideal sería permanecer en esa máquina a pesar de la actualización del software o de otros componentes. Le gustaría quedarse para ver qué es lo que sucede. Estos son los verdaderos adversarios, que no solo están interesados en afectar la infraestructura. Si en algún momento desean acceder a algo específico, ya disponen de un punto de apoyo en la infraestructura. La mayoría de estas acciones son, como se puede imaginar, bastante difíciles de detectar”.

Pero los proveedores de la nube deben preocuparse no solo de las amenazas avanzadas. El peor escenario se da cuando un hacker sofisticado encuentra una vulnerabilidad especialmente explotable, ya que cualquiera podría usarla. A principios de este año, IBM tuvo que lidiar con algo similar cuando los investigadores descubrieron que podían explotar la vulnerabilidad de firmware de bajo nivel y luego persistir y espiar la máquina entre los clientes y reinicios.

Hansen concluye: “Cada nivel tiene un potencial para la inyección de un código malicioso. La única forma de detectarlo consiste en comprobar desde el principio que el código resultante es el que creíamos“.