Articulo de referencia

Ataque de control de pines

El ataque de control de pines es un tipo de ataque contra un sistema en un chip (SoC) en un sistema embebido , donde un atacante se dirige a la configuración de E/S del sistema ...

El ataque de control de pines es un tipo de ataque contra un sistema en un chip (SoC) en un sistema embebido , donde un atacante se dirige a la configuración de E/S del sistema embebido y desactiva las funciones de E/S del software o del sistema operativo sin ser detectado. Este ataque es posible debido a la falta de protección de hardware para la configuración de pines y las configuraciones de multiplexación de pines .

El objetivo más importante para un ataque de control de pines es un controlador lógico programable (PLC). La aplicación de este tipo de ataque en los PLC es crucial, ya que la entrada/salida (E/S) es el principal mecanismo mediante el cual los PLC interactúan con el mundo exterior y lo controlan. La E/S de un PLC, al igual que la de otros dispositivos embebidos, se controla mediante un enfoque basado en pines. Un ataque de control de pines permite al atacante manipular la integridad y disponibilidad de la E/S del PLC explotando ciertas operaciones de control de pines y la falta de interrupciones de hardware asociadas a ellas.

El primer ejemplo de este tipo de ataque se dio a conocer en Black Hat Europe 2016. [ 1 ] El ataque de control de pines utiliza la configuración de los periféricos de E/S del SoC del PLC para interrumpir físicamente la interfaz de comunicación del módulo de E/S del PLC. Al atacar la configuración de E/S del PLC en lugar del entorno de ejecución del PLC o al modificar el programa lógico, los atacantes pueden eludir los mecanismos de detección típicos de los sistemas embebidos. [ 2 ]

Fondo

Los ataques clásicos contra los PLC se basan en la modificación del firmware del dispositivo, sus parámetros de configuración o el flujo de ejecución de los procesos en ejecución. Estos ataques típicos provocan interrupciones en el modo de funcionamiento normal del PLC, que el software de seguridad, como el IDS , detecta y alerta al operador. Un ataque de control de pines se dirige a la memoria dinámica del PLC, donde el dispositivo almacena su configuración de E/S. [ 3 ] [ 4 ]

Vectores de ataque

Los investigadores sugirieron al menos dos variantes del ataque: Ataque de configuración de pines y Ataque de multiplexación de pines. [ 5 ] Si bien estos dos vectores de ataque actúan de manera diferente, su concepto es similar y ambos terminan físicamente la E/S desde el acceso de software sin una interrupción de hardware, lo que impide su detección. [ 6 ]

Ataque de configuración de pines

Un PLC puede recibir y transmitir diversos tipos de señales eléctricas y electrónicas. La entrada, que normalmente proviene de sensores, y la salida, que puede utilizarse para controlar motores, válvulas o relés, están conectadas a pines de entrada y salida en un circuito integrado conocido como sistema en chip (SoC). El controlador de pines del SoC puede configurar los modos de un pin (es decir, se configuran para funcionar como entrada o salida). Los expertos descubrieron que un atacante que haya comprometido el PLC puede manipular la entrada y la salida sin ser detectado y sin alertar a los operadores que supervisan el proceso a través de una interfaz hombre-máquina (HMI). [ 7 ]

ataque de multiplexación de pines

Los SoC integrados suelen emplear cientos de pines conectados al circuito eléctrico. Algunos de estos pines tienen un único propósito definido. Por ejemplo, algunos solo proporcionan electricidad o una señal de reloj . Dado que diferentes proveedores de equipos con diversos requisitos de E/S utilizarán estos SoC, el fabricante de SoC los diseña para que utilicen un pin físico determinado para múltiples funcionalidades mutuamente excluyentes, según la aplicación. [ 8 ] El concepto de redefinir la funcionalidad del pin se denomina multiplexación de pines y es una de las especificaciones necesarias del diseño del SoC. [ 9 ] En cuanto a la interacción de la multiplexación de pines con el sistema operativo, los proveedores de SoC recomiendan multiplexar los pines únicamente durante el arranque, ya que no existe una interrupción para la multiplexación. Sin embargo, el usuario puede multiplexar un pin en tiempo de ejecución y no hay ninguna limitación al respecto.

El diseño actual de la multiplexación de pines a nivel de hardware plantea problemas de seguridad. Por ejemplo, supongamos que una aplicación utiliza un controlador periférico específico conectado a un pin con una configuración de multiplexación determinada. En un momento dado, otra aplicación (segunda aplicación) modifica la configuración de multiplexación del pin utilizado por la primera aplicación. Una vez multiplexado el pin, se desconecta la conexión física con el primer controlador periférico. Sin embargo, dado que no existe ninguna interrupción a nivel de hardware, el sistema operativo asumirá que el primer controlador periférico sigue disponible. Por lo tanto, el sistema operativo continuará realizando las operaciones de lectura y escritura solicitadas por la aplicación sin ningún error. [ 6 ]

El concepto de cambiar la funcionalidad de un pin conectado a la E/S en tiempo de ejecución se denomina ataque de multiplexación de pines. [ 10 ]

Sigilo

Tanto la configuración de pines como la multiplexación de pines no activan ninguna alerta ni interrupción de hardware. [ 7 ] Por lo tanto, durante un ataque activo, el entorno de ejecución del PLC interactuará con una memoria de E/S virtual mientras el atacante haya terminado físicamente la conexión de la E/S con la memoria virtual . El estado en el que los valores de E/S en la memoria de software no reflejan la memoria de E/S física se conoce como ilusión de memoria de E/S. [ 11 ]

Véase también

Referencias

  1. "Hackeo de procesos industriales con un rootkit PLC indetectable" . Security Affairs . 18 de septiembre de 2016. Consultado el 8 de noviembre de 2016 .
  2. "Investigadores crean un rootkit indetectable para controladores lógicos programables" . PCWorld . Consultado el 8 de noviembre de 2016 .
  3. "Investigadores crean un rootkit indetectable que ataca equipos industriales" . BleepingComputer . Consultado el 8 de noviembre de 2016 .
  4. "PLCs poseídas: Investigadores crean un rootkit 'indetectable'" . Dark Reading . Consultado el 8 de noviembre de 2016 .
  5. "Cómo comprometer sistemas PLC mediante ataques sigilosos de control de pines" . Periódico de Seguridad de la Información . 5 de noviembre de 2016. Consultado el 8 de noviembre de 2016 .
  6. 1 2 "Ghost in the PLC Designing an Undetectable Programmable Logic Controller Rootkit via Pin Control Attack" (PDF) . Black Hat Europe Briefings 2016 .
  7. 1 2 "Cómo comprometer sistemas PLC mediante ataques sigilosos de control de pines" . Security Affairs . 2016-11-05 . Recuperado el 2016-11-08 .
  8. "Subsistema de control de pines en el núcleo de Linux" . Kernel.org .
  9. "Un método para hacer que la verificación del SoC sea independiente del cambio de multiplexación de pines". Conferencia Internacional sobre Comunicación e Informática Informática (ICCCI) . 2013 .
  10. "Los PLC son vulnerables a ataques sigilosos de control de PIN | SecurityWeek.Com" . www.securityweek.com . Consultado el 8 de noviembre de 2016 .
  11. "Ghost in the PLC Designing an Undetectable Programmable Logic Controller Rootkit via Pin Control Attack (Presentación)" (PDF) . Black Hat Europe Briefings .