Evasión de autenticación en Modicon M221 de Schneider Electric

Fecha de publicación: 
07/04/2017
Importancia: 
5 - Crítica
Recursos afectados: 
  • [ACTUALIZACIÓN 17/04/2017] Schneider Modicon M221 PLC todas las versiones firmware hasta la versión v1.5.0.1
  • [ACTUALIZACIÓN 17/04/2017] SoMachine Basic todas las versiones software hasta la versión v1.5
Descripción: 

[ACTUALIZACIÓN 17/04/2017] Los investigadores de seguridad Simon Heming, Maik Brüggemann, Hendrik Schwartke y Ralf Spenneberg han descubierto dos vulnerabilidades. La primera permite a atacantes con conexión al dispositivo afectado, obtener contraseñas sin cifrar tras el envio de una petición. La segunda permite a un usuario sin autorización acceder a proyectos cifrados protegidos, desencriptarlos y obtener toda la información.

Solución: 

[ACTUALIZACIÓN 17/04/2017] El fabricante recomienda a los usuarios almacenar los proyectos en rutas seguras con acceso restringido y cifrar los ficheros con alguna herramienta de encriptación fiable externa.
[ACTUALIZACIÓN 17/04/2017] Schneider Electric recomienda la siguientes actuaciones para mitigar el riesgo, hasta tener disponible una solución que ha anunciado para el 15 de Junio de 2017:

  • [ACTUALIZACIÓN 17/04/2017] Activar la función 'Application Protection' con una contraseña en blanco dentro de las aplicaciones de M221, esto como se explica en el apartado "Password Protecting an Application" en la ayuda online de SoMachine Basic deshabilita las funciones de carga en el M221.
  • [ACTUALIZACIÓN 17/04/2017] Proteger el accceso a los controladores mediante el uso de cortafuegos y bloquear todos los accesos remotos o externos al puerto TCP 502.

Adicionalmente se aconseja para mitigar la vulnerabilidad  las siguientes recomendaciones:

  • Asegurarse que los puertos no usados están cerrados.
  • Asegurarse que se siguen buenas prácticas en el diseño de redes, que incluya separación y segmentación de redes.
  • Usar DMZ y contafuegos adecuadamente configurados para controlar y monitorizar el trafico entre diferentes zonas.
  • Minimizar la exposición de al red para todos los sistemas y dispositivos de los sistemas de control y asegurarse que no son accesibles desde internet.
  • Posicionar las redes y los dispositivos remotos de los sistemas de control detrás de cortafuegos, y aislarlos de la red corporativa.
  • Cuando el acceso remoto es requerido, utilizar métodos seguros, como VPN, reconociendo que dichas VPN pueden tener vulnerabilidades y deberían estar actualizadas a la última versión disponible. Reconocer también que la VPN es tan segura como los dispositivos que conecta.
Detalle: 

Las vulnerabilidades publicads son:

  • Error en el mecanismo de protección: La función Application Protection es usada para prevenir la transferencia de la aplicación desde el controlador lógico al software SoMachine Basic. Un comando específicamente formado puede ser enviado vía Modbus TCP por el puerto 502 al controlador lógico y este devolverá la contraseña sin cifrar. Tras la obtención de la contraseña un atacante puede acceder a la aplicación SoMachine Basic para descargar, modificar y posteriormente cargar de nuevo cualquier aplicación. Se ha publicado el identificador CVE-2017-7575 para esta vulnerabilidad.
  • [ACTUALIZACIÓN 17/04/2017] Contreseñas embebidas: Los archivos de los proyectos, incluidos los proyectos protegidos por un usuario, son cifrados con una contraseña embebida. Se ha publicado el identificador CVE-2017-7574 para esta vulnerabilidad.