Spectre es peligroso a cualquier velocidad

Spectre es peligroso a cualquier velocidad

enero 30, 2018 0 By redaccion

En 1965, el joven Ralph Nader escribió una disertación sobre la industria automotriz de Estados Unidos. Este trabajo titulado “Peligroso a Cualquier Velocidad” atacaba a este sector por no contar con mejores prácticas respecto a la protección, esencialmente, por poner en riesgo a la gente debido a su renuencia a invertir en medidas de seguridad. Cuesta trabajo creer que ya hayan pasado más de cincuenta años desde entonces, pero en el inicio de 2018, y a medida que nos enfrentamos con problemas de seguridad serios, me siento impulsado a reflejar la situación en la que nos encontrábamos hace medio siglo.

Lo que me ha llevado a esta reflexión es el crudo despertar a este año con el anuncio de Spectre y Meltdown, dos vulnerabilidades serias que afectan a las computadoras más modernas. Los diarios y la red están llenos de descripciones y sí, estas fallas son tan desagradables como parecen. A diferencia de la mayoría de las cosas sobre las que leemos, son problemas que se presentan directamente en el hardware, así que no existe un parche de software los solucione: no son problemas en los que un programador sencillamente olvidó revisar el tamaño de una matriz… estos son problemas que se comen el propio “cerebro” de la computadora, el CPU.

Como el Científico Jefe de una gran empresa de seguridad, soy inmune a la exageración o la confusión, me enfrento a las realidades. Así (y en una de las partes que más disfruto de mi trabajo), tengo que impartir un tutorial a toda la compañía sobre estas dos vulnerabilidades (es verdad, es una clase de vulnerabilidades y no de cosas discretas). No hay nada como tener que enseñar cómo funciona algo para lograr que alguien realmente lo entienda. En el caso de estas vulnerabilidades, lo hago bastante bien; esos son pequeños ataques desagradables del lado del canal que permiten que un atacante extraiga datos lentamente.

Permítanme ser técnico por un momento. Estos problemas existen y se abusa de ellos mediante algunas funcionalidades diferentes del procesador: el Translation Lookaside Buffer y el caché de memoria en general (que se utilizan para hacer el acceso a la memoria mucho más veloz); la ejecución Speculative and Out of Order (empleada para hacer que la CPU ejecute una serie de instrucciones más rápidamente) y, en el caso de una versión de Spectre, JIT, o Just in Time Compilation (usado para hacer que el código interpretado corra a mayor velocidad). Cuando se plantea así ¿puede ver el patrón? Yo sí lo veo. Todos están relacionados con los pasos que hemos dado para acelerar el cómputo. Lo entiendo, la gente compra CPUs porque el modelo de este año es un poco más rápido que el que tienen. La velocidad es buena. La demora es mala. Las características, y particularmente la velocidad, venden.

Retrocedamos por un momento, las computadoras han pasado de estar muy cercanas a nuestras vidas (recuerdo mi primera computadora en la que jugaba “Elite”) a ser máquinas que literalmente nos ayudan a mantenernos con vida. Mi teléfono móvil está conmigo todo el tiempo, una computadora acciona los frenos de nuestros autos, mi termostato interactúa felizmente con servidores en el Internet para informarme cuál es el clima en la calle, y las luces literalmente se mantienen encendidas gracias al cómputo moderno. Y no soy solo yo, el mundo moderno se basa en el cómputo seguro y confiable. No hay un solo aspecto de nuestras vidas, desde que despertamos hasta que dormimos, o desde que nacemos hasta que morimos, que no dependa de la magia del cómputo.

Estas nuevas vulnerabilidades deberían recordarnos que la base que soporta tecnológicamente nuestra sociedad está fracturada. Nos hemos concentrado en el rendimiento, en la ostentación… más píxeles, un par de GHz más, emojis animados (compactados en la palabra compuesta de animoji… tonterías) y la lista es interminable. Pero lo que hemos hecho, fuera de un grupo tristemente pequeño de gente que hace a la seguridad el trabajo de su vida, es poner lo seguro de ese sistema bello y complejo antes de su brillo. Una vez más, estoy eligiendo mis palabras con cuidado. La seguridad suena algo abstracto y frío, pero todos “entendemos” lo que significa el hacer seguro a algo y cuál es la consecuencia que conlleva el que no lo sea.

Me sorprenden los avances que se han logrado en materia de cómputo. Durante mi carrera, programé a mano una máquina que corría a 3.25 MHz y tiene 1 KB de memoria. Sin embargo, treinta y tantos años después, la laptop que tengo en casa es casi 1,000 veces más rápida por núcleo (y tiene varios) además de que tiene siete veces más memoria disponible. Puedo implementar servicios de nube con solo mover un dedo y tener más poder de cómputo del que había soñado. Lo que hemos hecho es sorprendente. Deberíamos sentirnos muy orgullosos de esos logros. También deberíamos ver con temor la falta de atención a la seguridad y a la fase de diseño; si esta infraestructura no es segura, no significa nada.

El deseo que pido, con un poco de esperanza, es que Spectre y Meltdown sean una llamada de atención para todos nosotros. Por mucho tiempo la seguridad se ha puesto en segundo lugar y frente a las funcionalidades y el desempeño. Urge cambiar esto si queremos aprovechar realmente los beneficios que el cómputo puede ofrecer a la humanidad. No hay que culpar a los proveedores únicamente, sino a todo el ecosistema. La seguridad, y la protección, normalmente no han sido determinantes en la compra de TI y las compañías no pueden culparse de hacer productos que se venden. De una manera u otra, esto tiene que cambiar.

El famoso artículo de Ralph Nader del que hablé al inicio, sacudió al mundo automotriz hace cincuenta años. Tal vez es momento de aplicar esos mismos conceptos al cómputo. No quiero sentir que mi vida está en peligro, cualquiera que sea la velocidad a la que vaya. No importa cuán rápida sea mi computadora si no puedo confiar en ella, no vale la pena, es realmente peligrosa.