2024/09/18

Pager Bomb

(Artículo en borrador completo, puede ser que luego agregue información o diagramas, última modificación 2024-09-19 03:xx)

A raíz del reciente atentado de Israel a Hezbollah se ha abierto una discusión de cómo pudo haber sido implementado el ataque y no puedo dejar de opinar técnicamente del asunto. No me voy a calificar de "hablemos sin saber" pues vengo estudiando asuntos equivalentes desde hacer rato en mi serie de experimentos y charlas relacionadas con Malware en Hardware (citas a completar) pero considerá que mi visión es completamente académica y hobbysta.

Tampoco he leído todas las noticias y discusiones, sólo estoy al tanto de que Snowden dijo que no parecía haber sido solo la batería el explosivo pues no se aprecia en los videos la explosión normal de una batería.

Se ha dicho que el ataque afectó a varios países y que aparentemente llegó un mensaje previo.

A partir de esa información y mi mejor criterio, voy a desarrollar un escenario factible de ataque.

Como todo ataque, consiste de un payload y un evento de activación. En este caso el payload es el explosivo y el elemento de activación la detección de alguna condición y su implementación física, esto es, el encendido del explosivo a partir del evento.

Dado que la activación fue simultánea evidentemente el evento de activación ha sido un mensaje ya sea dirigido a cada dispositivo o un mensaje de broadcast, que no sé si existe en esa tecnología.

Consideremos elementos de escenarios alternativos partiendo de dos aspectos: cómo llegó la carga explosiva al artefacto y cómo se activó. Antes, una esbozo de la cadena de suministro apostando a que el pager tiene como un celular dos componentes principales: una cpu y una radio.

 

  • Fabricación de los componentes
    • Integrados
      • CPU/memoria/control de display/ input-output
      • radio
    • Display y botonera
    • Circuito impreso
      • Los integrados más circuitos adiciones más fuente
    • Batería
    • Carcaza 
  • Software
    • Firmware CPU
    • Firmware radio
    • Ambos
      • diseño
      • compilación
      • burning
  • Ensamblado de todo lo anterior
  • Distribución

Consideremos además que para cada componente y flujo pueden estar involucrados distintos proveedores.

 

Explosivo

Ya descartamos la batería por si misma.

Pudo haber sido un agregado en espacios libres dentro de la carcaza (investigar si los hay)

Argumentos en contra

Si la modificación no se hace en el ensamblado, hace falta afectar la cadena de suministro en la distribución y lleva mucho tiempo por ejemplar pues hay que desarmar y volver a armar. Quizás haya que lidiar con etiquetas de precintado. Si no tiene tornillos pueden quedar marcas en la carcaza.

Es muy fácil de detectar, incluso alcanza una sencilla inspección visual.

Activación

 

Software: se modifica el firmware de la CPU o de la radio para que al recibir un mensaje active el circuito de encendido.

Hardware: se agrega un circuito extra que hace sniffing sobre los mensajes y al detectar un cierto mensaje o patrón, activa el explosivo.

Argumento en contra

Hay que afectar la cadena de suministro en múltiples puntos.

 

Propuesta de explosivo y activación


La idea que me parece más sencilla es:

Que se incorpora el explosivo a la batería y se agrega un circuito en la misma de inciación del mismo. De este modo la inspección implicaría desarmar la batería o usar rayos X, la visual no sirve y menos si se mantiene el peso.

La activación está dada por una de las siguientes posibilidades.

SCA: (Side Channel Attack) un ataque contra componentes de hardware y la ejecución del software consiste en analizar el consumo y sus variaciones para determinar que está haciendo una CPU. Si sabemos que hay una operación o mensaje que produce un patrón de consumo particular, el circuito, que sería una CPU extra, lo detecta y activa. El SCA tengo entendido que, al menos contra sistemas criptográficos, requiere muchos mensajes.

Más sencillo, si una cierta operación o una falla de software produce un consumo excesivo durante un tiempo determinado, como puede ser entrar en un loop infinito por una falla lógica o un buffer overflow, el circuito, que bien podría ser analógico, lo detecta y se activa.

En resumen, tenemos una batería del mismo tamaño y aspecto a la original que incorpora el explosivo, el circuito de iniciación y la lógica de activación que consiste en observar la variación del consumo, en particular un consumo elevado durante un período determinado.

Este escenario es el más fácil de implementar en la cadena de suministro y es absolutamente natural: sólo hay que cambiar o directamente proveer a ese lote con las baterías adulteradas.

Seguramente a alguien se le ha ocurrido esta idea también, ya veremos que se analiza y divulga.