El microprocesador es un circuito electrónico que se constituye en Unidad Central de Proceso de un ordenador, prestando el control de las operaciones de cálculo. Se identifica fácilmente en una tarjeta madre porque esta acoplado a ella en un socket, tiene forma cuadrada con un pequeño ventilador arriba e irradia mucho calor.

Los ordenadores nos entretienen, nos ayudan en el trabajo o responden a los comandos de voz, por ejemplo. Todo esto es posible gracias a décadas de desarrollo tecnológico e innovación en el diseño de microprocesadores. Los arquitectos de chips han inventado una increíble variedad de trucos y de dispositivos que hacen que los ordenadores sean más rápidos. Pero a los 50 años de la fundación de Intel, los ingenieros han empezado a cuestionar muchas de las técnicas de diseño de la industria de fabricación de chips.

Microprocesadores y seguridad

¿Cómo funciona un microprocesador?

El microprocesador es un circuito electrónico que funciona como Unidad Central de Proceso en un ordenador. Podemos tener varias partes en un microprocesador:

  • Unidad de control: interpreta la información de entrada, la descodifica y la envía a la unidad de ejecución
  • Secuenciador: sincroniza la ejecución de la instrucción con la velocidad del reloj
  • Contador ordinal: contiene la dirección de la instrucción que se está ejecutando actualmente.
  • Registro de instrucción: incluye la instrucción siguiente
  • Unidad de ejecución o unidad de procesamiento, realiza las funciones o tareas que le asigna la unidad de instrucción.
  • La unidad aritmética lógica (se escribe ALU); sirve para la ejecución de cálculos aritméticos básicos y funciones lógicas (Y, O, O EXCLUSIVO, etc.).
  • La unidad de punto flotante (se escribe FPU), que ejecuta cálculos complejos parciales que la unidad aritmética lógica no puede realizar.

Problemas de seguridad

Recientemente, los investigadores de seguridad han descubierto que algunas innovaciones permiten que los secretos fluyan libremente del hardware del ordenador de la misma forma que las vulnerabilidades del software han provocado ciberataques y violaciones de datos. Los ejemplos recientes más conocidos fueron los defectos de los chips apodados Spectre y Meltdown que afectaron a miles de millones de ordenadores, teléfonos inteligentes y otros dispositivos electrónicos.

Un solo microprocesador moderno puede tener más de mil millones de componentes diminutos, incluidos transistores e interruptores, que forman su propia pequeña red en una pieza de silicona dentro de un ordenador o dispositivo electrónico. El principal problema radica en el hecho de que algunos datos de información útil pueden filtrarse de un componente a otro cercano, al igual que los vecinos muchas veces saben lo que está pasando en las casas del otro sin preguntar.

Un observador podría, por ejemplo, notar que las luces de su hogar se encienden y apagan en un horario particular cada día laboral e infieren los horarios de trabajo de su familia. Este tipo de enfoque indirecto, que utiliza un tipo de datos aparentemente inofensivo para inferir una conclusión útil, a menudo se denomina «ataque de canal lateral«. Estas vulnerabilidades son particularmente importantes porque explotan las debilidades que los diseñadores no pensaron proteger, y es posible que no hayan pensado en absoluto.

Muchas, tal vez incluso la mayoría, de estas fugas de información son el resultado accidental de los esfuerzos de los diseñadores de chips para acelerar el procesamiento. Un ejemplo fue la práctica casi universal de dejar que un software leyera los datos de la memoria del ordenador antes de verificar si ese programa tenía permiso para hacerlo.

Principios de seguridad

La seguridad se basa en un conjunto de principios que los diseñadores deben seguir de manera confiable. Un principio podría ser, por ejemplo, que el software no puede leer datos de la memoria sin permiso. Esto es muy difícil de implementar porque en todos los niveles del microprocesador y en cada lugar en que podrían residir los datos, los arquitectos necesitarían incorporar controles de permisos. Un solo error en un solo circuito podría dejar a todo el sistema vulnerable.

A medida que la comunidad de investigación cambia su prioridad a la seguridad, hay varias líneas potenciales de investigación que ya se están desarrollando. Un método podría involucrar insertar aleatoriedad en el procesamiento, ofreciendo a los observadores valores de tiempo, potencia y temperatura que, como configurar un temporizador para encender y apagar las luces de su casa a intervalos aleatorios mientras usted está ausente. Pero agregar aleatoriedad probablemente degradaría el rendimiento de un procesador, a menos que los investigadores puedan encontrar una manera de evitar hacerlo.

Identificar y asegurar estas vulnerabilidades de hardware y canales laterales recientemente identificados será un desafío, pero el trabajo es importante, y un recordatorio de que los diseñadores y arquitectos siempre deben pensar en otras formas en que los atacantes pueden intentar comprometer los sistemas informáticos.