El mundo entero se ha hecho a la idea, con mayor o menor consciencia, del riesgo de ser víctima de ataques informáticos facilitados por errores de escritura de código. Entre malware y software hay un vínculo claro. Pero ¿y si un ataque tuviera como origen el hardware? Para muchos especialistas en ciberseguridad, la peor pesadilla sería un fallo estructural en la parte más sensible del hardware, los procesadores. El software se puede parchear o borrar; si el fallo radica en cómo trabaja internamente el procesador, tal vez no habría otra solución definitiva que diseñar una nueva arquitectura, con la consiguiente sustitución de la base instalada. Acaba de saberse, en la primera semana de enero.
Sólo habían pasado dos días de 2018, cuando The Register se apuntaba una primicia al revelar la existencia de dos vulnerabilidades, bautizadas como Meltdown y Spectre. De no resolverse satisfactoriamente, potencialmente podrían afectar a prácticamente todo el hardware existente, desde un smartphone hasta sistemas que se creían blindados. Según se ha contado, existía un acuerdo para esperar al próximo fin de semana – una vez acabado el CES, caja de resonancia de la industria, que se celebra estos días en Las Vegas. Pero una pista en un foro sobre ciberseguridad dio para atar cabos y así el secreto salió a la luz prematuramente.
Que no cunda el pánico. No hay constancia de que nadie haya intentado aprovechar con fines delictivos los problemas encontrados por un equipo descrito como Project Zero, respaldado por Google y confirmados por una investigación encabezada por la universidad de Graz (Austria). El hecho de que Google informara en junio del hallazgo a los fabricantes de chips y de sistemas operativos, y que estos emplearan seis meses en buscar un método para mitigar el peligro, es para preocuparse.
No se trata esta vez de un error de programación como tantos, sino de la propia arquitectura, entendida como forma en que trabaja y se conectan internamente los componentes físicos de los procesadores. Por lo tanto, son inapropiados los titulares de prensa que aluden a un virus informático: lo único que se puede hacer, de momento, es encontrar paliativos que hagan más difícil y complicado el acceso a unas vulnerabilidades que, aunque descubiertas en 2017, seguramente tienen muchos años de existencia latente.
Afortunadamente, Meltdown y Spectre no son sospechosos de provocar un ataque DoS (denegación de servicio, la forma de malware más corriente) ni de inyectar un código malicioso. Comparten un rasgo que los caracteriza: son resultado de una opción industrial deliberada, de una técnica ingeniosa que rompe durante un instante – medible en laboratorio – la separación entre el kernel (corazón de todo sistema operativo) y los procesos del usuario. Que el peligro sea fugaz no excusa su origen: la falaz sinonimia entre eficiencia y velocidad.
Aunque son primos hermanos, Meltdown y Spectre tienen repercusiones distintas. El primero permite acceder a la memoria del dispositivo afectado ´derritiendo` [de ahí la metáfora de su nombre] la barrera de seguridad: abre un hueco que sería relativamente sencillo de explotar para un hacker avezado, pero que a la vez hace bastante fácil bloquear al intruso. Spectre [otro nombre imaginativo] resulta ser más inquietante: para colarlo en un sistema hacen falta conocimientos avanzados y mucha ´fuerza bruta` informática pero, por contraste, es casi imposible tapiar su acceso.
La raíz del problema estriba en lo que se conoce como carga predictiva de instrucciones. Expresado de manera simple: en la memoria próxima al procesador se generan y almacenan las instrucciones que tienen más probabilidad de ser necesarias en el siguiente ciclo, de modo que puedan procesarse más rápidamente. Si este es el objetivo – el mercado presiona continuamente en favor de más velocidad de proceso y así se genera la demanda de nuevos procesadores; se dota al chip de capacidad para conjeturar qué información va a necesitar en el siguiente paso, un brevísimo intervalo en el que se produce un agujero por el que un atacante podría acceder a información sensible.
Estas instrucciones predictivas – también se habla de ejecución especulativa – no están sujetas a los filtros de seguridad más estrictos, dando por supuesto que en su mayoría no son necesarias, pero sí pueden contener información que facilite el acceso ilícito a quien cuente con los conocimientos y recursos precisos. Al formar parte de la arquitectura interna del procesador, no hay forma de modificarla si no se cambia la estructura de proceso a nivel de hardware. Pero modificar el diseño físico de un procesador lleva mucho tiempo.
Es sabido que todos los sistemas de computación requieren un delicado compromiso entre seguridad y velocidad de proceso. Lo que se busca para paliar el riesgo es aumentar la primera sin afectar significativamente la segunda, pero al final acaba sacrificándose la seguridad, aunque sólo sea fugazmente. Los fabricantes de chips han tratado de relativizar: depende mucho del sistema y de carga de trabajo – dicen – así como de los recursos de seguridad que lleven implantados. Por esto mismo es azaroso generalizar el impacto previsible de las soluciones que se proponen: se habla de hasta un 30% de ralentización en laboratorio, pero a la vez se intenta tranquilizar afirmando que la mayoría de los usuarios apenas notarán la diferencia.
El fabricante más involucrado es Intel, por la sencilla razón de que sus procesadores Xeon están en la práctica totalidad de los servidores y centros de proceso de datos, donde se concentra la información realmente crítica. El CERT (equipo de emergencias informáticas del Departamento de Seguridad Interior de Estados Unidos), y su equivalente en Reino Unido, han asegurado que no eran conscientes del problema con anterioridad. Recomiendan que, para empezar, se instalen los últimos programas de seguridad y luego se proceda a planificar el cambio gradual de todos los sistemas con información sensible, una vez la industria haya diseñado otros completamente seguros. Al parecer, esta recomendación – que sus autores reconocen como «poco práctica a corto plazo» – subió de tono tras una reunión de miembros del CERT y ejecutivos de Intel, renuentes a avalar esa posición extrema.
En un comunicado colectivo, representantes de Intel, AMD y ARM – esta última, responsable de la arquitectura básica de prácticamente todos los smartphones – reconocieron estar afectados, cada cual a su medida, por Meltdown y Spectre. Tras esa efímera sinceridad, resultó que no todos los productos lo están igualmente ni todos los fabricantes dispuestos a asumir la misma responsabilidad.
Por ejemplo, AMD, cuyos procesadores parten del mismo código fuente x86 que los de Intel, considera que no están tan expuestos, gracias a las técnicas de seguridad adoptadas. Según AMD, en su caso el riesgo es ´cercano a cero`, pero no dice que su cuota de mercado es marginal, según en qué categorías. ARM ha sido puesta en evidencia por Google y Qualcomm, que usan su arquitectura modificándola según sus propósitos. Como puede apreciarse, no hay tregua en la pugna competitiva: los golpes bajos no han hecho más que empezar.
[continuará]