TLStorm: tres vulnerabilidades críticas que afectan a dispositivos APC Smart-UPS
Los investigadores de seguridad de Armis dieron a conocer hace poco que han descubierto tres vulnerabilidades en las fuentes de alimentación ininterrumpida gestionadas de APC que permiten controlar y manipular el dispositivo de forma remota, como apagar ciertos puertos o usarlo para poder realizar ataques a otros sistemas.
Las vulnerabilidades tienen el nombre en código TLStorm y afectan APC Smart-UPS (serie SCL, SMX, SRT) y SmartConnect (serie SMT, SMTL, SCL y SMX).
Los dispositivos de fuente de alimentación ininterrumpida (UPS) brindan energía de respaldo de emergencia para activos de misión crítica y se pueden encontrar en centros de datos, instalaciones industriales, hospitales y más.
APC es una subsidiaria de Schneider Electric y es uno de los proveedores líderes de dispositivos UPS con más de 20 millones de dispositivos vendidos en todo el mundo. Si se explotan, estas vulnerabilidades, denominadas TLStorm, permiten la toma remota completa de dispositivos Smart-UPS y la capacidad de llevar a cabo ataques ciberfísicos extremos. Según los datos de Armis, casi 8 de cada 10 empresas están expuestas a vulnerabilidades de TLStorm. Esta publicación de blog proporciona una descripción general de alto nivel de esta investigación y sus implicaciones.
En la publicación de blog se menciona que dos de las vulnerabilidades son causadas por errores en la implementación del protocolo TLS en dispositivos administrados a través de un servicio de nube centralizado de Schneider Electric.
Los dispositivos de la serie SmartConnect se conectan automáticamente a un servicio de nube centralizado al iniciarse o perder la conexión y un atacante sin autenticación puede aprovechar las vulnerabilidades y obtener control total sobre el dispositivo mediante el envío de paquetes especialmente diseñados a UPS.
- CVE-2022-22805: desbordamiento de búfer en código de reensamblado de paquetes explotado al procesar conexiones entrantes. El problema se debe a la copia de datos en el búfer durante el procesamiento de registros TLS fragmentados. La explotación de la vulnerabilidad se ve facilitada por el manejo incorrecto de errores al usar la biblioteca Mocana nanoSSL: después de devolver un error, la conexión no se cerró.
- CVE-2022-22806: Omisión de autenticación al establecer una sesión TLS provocada por un error de estado durante la negociación de la conexión. Almacenar en caché una clave TLS nula no inicializada e ignorar el código de error devuelto por la biblioteca Mocana nanoSSL cuando se recibió un paquete con una clave vacía hizo posible simular ser un servidor de Schneider Electric sin pasar por la etapa de verificación e intercambio de claves.
La tercera vulnerabilidad (CVE-2022-0715) está asociada con una implementación incorrecta de la verificación del firmware descargado para la actualización y permite que un atacante instale el firmware modificado sin verificar la firma digital (resultó que la firma digital no se verifica para el firmware en todos, pero solo se utiliza el cifrado simétrico con una clave predefinida en el firmware).
En combinación con la vulnerabilidad CVE-2022-22805, un atacante podría reemplazar el firmware de forma remota haciéndose pasar por un servicio en la nube de Schneider Electric o iniciando una actualización desde una red local.
Abusar de las fallas en los mecanismos de actualización de firmware se está convirtiendo en una práctica estándar de las APT, como se detalló recientemente en el análisis del malware Cyclops Blink, y la firma incorrecta de firmwares de dispositivos integrados es una falla recurrente en varios sistemas integrados. Una vulnerabilidad anterior descubierta por Armis en los sistemas Swisslog PTS ( PwnedPiper , CVE-2021-37160) fue el resultado de un tipo de falla similar.
Habiendo obtenido acceso al UPS, un atacante puede colocar un backdoor o un código malicioso en el dispositivo, así como realizar un sabotaje y desconectar la alimentación de consumidores importantes, por ejemplo, desconectar la alimentación de los sistemas de videovigilancia en bancos o soporte vital.
Schneider Electric ha preparado parches para solucionar problemas y también está preparando una actualización de firmware. Para reducir el riesgo de compromiso, también se recomienda cambiar la contraseña predeterminada («apc») en dispositivos con una tarjeta NMC (Tarjeta de administración de red) e instalar un certificado SSL firmado digitalmente, así como restringir el acceso a UPS en el firewall solo a direcciones en la nube de Schneider Electric.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.