La opinión de Pentester sobre la "Tecnología de los gemelos digitales"
Blog post 11 de diciembre de 2020 por Willem Westerhof, Especialista Senior en Seguridad de Bureau Veritas Cybersecurity
Un gemelo digital es una versión completamente (o casi completamente) digitalizada de algo que normalmente es un objeto físico, incluido el contexto en el que se utiliza ese objeto.
Un caso de uso típico, por ejemplo, es el mantenimiento predictivo en sistemas industriales. Estos sistemas funcionan bajo una gran tensión y pueden producirse graves problemas si un sistema se detiene de repente. Al simular digitalmente los efectos de la física y la tensión a largo plazo en un dispositivo de este tipo, es posible predecir que, tras una determinada cantidad de horas de funcionamiento, determinadas piezas necesitan ser sustituidas.
Otro caso de uso típico sería un gemelo digital de un edificio, donde es posible determinar la tensión en partes específicas del edificio, averiguar cuánta luz natural hay disponible dentro del edificio, determinar cuáles son las ubicaciones más adecuadas para las "oficinas del silencio" o qué departamentos deberían estar cerca unos de otros, cuál es la forma más eficiente de protección contra incendios, etc. Además, puede realizar varias simulaciones sobre cuál sería el impacto si se produjera un escenario específico, por ejemplo: si se inicia un incendio en la parte oeste del edificio, ¿qué ocurriría?
Sin embargo, lo que parece haber pasado desapercibido para la mayoría es que ¡esta tecnología de gemelos digitales también puede utilizarse para mejorar la ciberseguridad! Especialmente en aquellos productos y sistemas en los que un fallo de ciberseguridad puede provocar riesgos para la seguridad.
Desde el punto de vista de la mejora de la ciberseguridad, existen realmente dos tipos de gemelos digitales "útiles":
- Gemelo de producto
- Gemelo de ecosistema
Gemelo de producto
La creación de un producto gemelo es muy parecida a la virtualización de software, pero va un paso más allá: También tiene en cuenta el contexto operativo del dispositivo. Esto supone una gran ventaja a la hora de realizar security testing.
Un ejemplo típico son los dispositivos de automoción. Aunque es posible probar el software y el hardware de automoción, normalmente se hace en un vehículo parado o incluso con el motor apagado. Sin embargo, en la realidad, el vehículo estará circulando por las carreteras a media o alta velocidad la mayor parte del tiempo, y un hackeo del dispositivo durante este tiempo será también una de las cosas más desastrosas que le ocurran al coche (y a su propietario).
Al crear un gemelo digital de un producto de este tipo (como un coche) se puede simular que el dispositivo conduce por una ruta específica, se enfrenta al resto del tráfico, etc., al tiempo que se intenta piratearlo. Los fallos que normalmente pueden pasar desapercibidos -como un pequeño pero potencialmente fatal retraso en el procesamiento de la entrada de los sensores de colisión lateral- pueden encontrarse entonces porque también puede probarse el contexto completo en el que funciona el dispositivo. Otrobuen ejemplo de esto serían los aviones, o los dispositivos de las naves espaciales, que son ambos sistemas que usted definitivamente no quiere estar hackeando en el sentido físico mientras están volando en algún lugar, debido a los riesgos que implica si algo sale mal.
Además, también puede probar vulnerabilidades específicas en determinadas condiciones. Por ejemplo, si piratea una grúa industrial y puede desplazar el peso de contrapeso, normalmente no debería provocar la caída de la grúa. Pero tal vez, en determinadas circunstancias como fuertes lluvias, un día ventoso o una carga pesada adosada a ella, sea suficiente para que se caiga y cause graves daños tanto a las personas como a la propiedad.
Además de la mejora obvia de encontrar problemas graves y poder realizar las pruebas en un estado de funcionamiento normal, también elimina muchos aspectos negativos de probar estos productos en su estado físico habitual. Las pruebas de penetración intrusivas pueden a veces romper cosas o incluso colapsar los sistemas de forma permanente, y este tipo de dispositivos no son precisamente baratos de reinstalar o restablecer a su configuración inicial, mientras que un gemelo digital puede simplemente restablecerse a su estado original.
Además, los gastos generales necesarios para obtener la autorización, pasar por todas las revisiones, los controles, pasar diariamente por los controles de seguridad e ir al lugar, etc. que conllevan las pruebas de este tipo de equipos pueden reducirse al mínimo, ya que puede obtener un gemelo digital que puede gestionar usted mismo en su propia oficina. Lo que, al final, se traduce en unas pruebas de penetración más baratas y más exhaustivas.
Ecosistema gemelo
Éste es (y debería ser) un término muy amplio. Esencialmente, se trata de un sistema de sistemas que se influyen mutuamente de una determinada manera. Un ecosistema gemelo puede ser tan pequeño o tan grande como uno pueda imaginar. Por citar algunos ejemplos:
- Proceso de un producto a medida que avanza por una fábrica.
- Un edificio inteligente, con todo tipo de dispositivos en su interior.
- Redes eléctricas con respuestas autónomas a los cambios en la oferta y la demanda basadas en la entrada de sensores.
- Una ciudad o nación con todos sus sistemas de infraestructuras vitales.
- Que en realidad es un ecosistema de ecosistemas.
Este tipo de gemelo digital es el más adecuado para el análisis de impacto de una vulnerabilidad descubierta. Se hace posible simular lo que ocurrirá si se provoca una DoS en un sistema concreto. ¿Qué falla inicialmente? ¿Cuáles son las consecuencias? ¿Tiene consecuencias en cascada? Por ejemplo, un ataque DoS a un sistema de aire acondicionado se consideraría normalmente un problema de riesgo medio. En el contexto de que ese sistema de aire acondicionado sea el único sistema presente en la sala de servidores, y todos los servidores empiecen a sobrecalentarse y provoquen fallos en la red, tiempo de inactividad, falta de acceso, etc. podría considerarse, sin embargo, un problema de riesgo alto o crítico y algo que debería solucionarse, o al menos mitigarse.
Otro ejemplo sería determinar la superficie de ataque. Si alguien se encuentra físicamente cerca del edificio, ¿qué tecnología Wi-Fi/Bluetooth/inalámbrica puede ser atacada? O después de importar todas sus reglas de cortafuegos, si un atacante consigue la ejecución remota de código en un sistema específico, ¿a qué dispositivos podría haber llegado potencialmente desde el punto de infección original? ¿Cuál es el impacto de que esos sistemas se vean comprometidos y dónde se encuentran físicamente esos dispositivos en el edificio?
Aunque a veces estas preguntas pueden responderse parcialmente interrogando a varios expert dentro de su organización, las respuestas a menudo no son más que conjeturas educadas. Especialmente en sistemas grandes o complejos, se hace extremadamente difícil supervisar realmente la superficie total de ataque y las consecuencias de que un sistema falle o se vea comprometido.
Como ejemplo, considere el siguiente escenario:
Existe un fallo de diseño en un sistema de sensores de agua, en el que los datos del sensor pueden ser falsificados por un atacante y siempre son fiables para el dispositivo central. Se ha publicado un parche para solucionar este problema, pero el dispositivo no se actualiza automáticamente. Un día, un atacante se acerca a un sensor de este tipo y empieza a falsear los datos, mostrando que están cayendo lluvias excesivas. El concentrador central confía y reenvía la alerta y el ecosistema responde automáticamente bombeando el exceso de agua hacia las zonas inundables de los campos de los agricultores, para evitar inundaciones en otros lugares. Los campos de los agricultores se arruinan por el exceso de riego y en otras zonas surgen problemas por la sequía, ya que el agua fue bombeada.
Este ejemplo muestra que una vulnerabilidad bastante insignificante o con una puntuación CVSS baja puede (cuando se sitúa en el contexto del panorama general) tener un impacto importante. Si se hubiera realizado un análisis de impacto utilizando la tecnología de gemelos digitales, este problema podría haberse evitado fácilmente y prevenido en el futuro tomando medidas paliativas como:
- Parchear los sensores actuales.
- Cambiar a varios tipos de sensores para evitar fallos a gran escala debidos a vulnerabilidades en un tipo de sensor.
- Crear una automatización adicional para evitar la toma de decisiones erróneas (por ejemplo, una sequía en un lugar y una inundación en otro cercano, debería activar algún tipo de alarma, ya que no suele ocurrir).
Las posibilidades de acceso a un ecosistema gemelo de este tipo no se limitan a realizar únicamente análisis de impacto de vulnerabilidades conocidas. También es posible utilizarlo como herramienta para el análisis de riesgos y descubrir puntos únicos de fallos, así como debilidades generales de diseño (incluidas las debilidades ante ataques de día cero) en el ecosistema. Además, podría ayudar a determinar qué secciones de la red deberían someterse a pentesting o qué "banderas" deberían fijarse durante un compromiso de equipo rojo.
En definitiva, la tecnología de gemelos digitales puede utilizarse realmente como unamplificador del nivel de seguridad de una organización, pero, por supuesto, también existen algunas trampas y peligros.
Errores y peligros comunes del uso de gemelos digitales
En primer lugar, y esto puede parecer obvio para algunos, pero debe mantener en todo momento su gemelo digital seguro y confidencial. Un atacante que tenga acceso al gemelo digital de su organización, edificio o producto puede encontrar toda la información que posiblemente necesite para intentar piratearle en el mundo real.
En segundo lugar, se aplica el mismo principio que se aplica a todos los sistemas basados en datos: Basura dentro = Basura fuera. O lo hace bien, o no lo haga. Y asegúrese de que cualquier consejo o problema de diseño identificado se verifica que es correcto, comprobándolo sobre el terreno.
En tercer lugar, si está creando gemelos de producto, suele implementar primero un montón de sensores en un producto vivo para averiguar toda la física y las cosas individuales que debería implementar en su gemelo digital. Eso significa que también está introduciendo mucha superficie de ataque en ese producto específico, así que cuando implemente estos sensores, exija seguridad en la selección del producto.
En resumen
En definitiva, la Tecnología de gemelos digitales es impresionante, incluso para la seguridad, si se utiliza bien. En la práctica, actualmente no se utiliza mucho para la seguridad, pero poco a poco estamos empezando a ver que algunos de los primeros en adoptarla investigan (o incluso crean pruebas de concepto para) las posibilidades de utilizarla exactamente con este fin.