Vulnerabilidad en Módulos CP SIEMENS

El pasado viernes 27 de noviembre Siemens ha publicado una advertencia de seguridad sobre sus módulos de comunicaciones para autómatas S7-300 y S7-400.

Al parecer existe una vulnerabilidad de evasión de autenticación en módulos de comunicación de la familia SIMATIC CP 343-1, TIM 3V-IE, TIM 4R-IE, y CP 443-1.; permitiendo a usuarios no autenticados realizar operaciones administrativas bajo ciertas condiciones. Para ello el atacante debería cumplir con los siguientes requisitos :

  • Tener acceso a la red donde se encuentra algún dispositivo afectado.
  • Los datos de configuración pertenecientes al módulo procesador de comunicaciones deben estar almacenados en la CPU.
  • La funcionalidad de cortafuegos para los módulos de comunicación deben estar inactivos en el puerto 102/TCP.

INCIBE ha publicado la siguiente nota informativa:

https://www.incibe.es/securityAdvice/CERT/Alerta_Temprana/avisos_sci/evasion_autenticacion_dispositivos_siemens

Igualmente Siemens ha emitido el siguiente documento al respecto y reservado el identificador CVE-2015-8214 para esta vulnerabilidad.::

https://www.siemens.com/cert/pool/cert/siemens_security_advisory_ssa-763427.pdf

Igualmente se ha reservado

Para corregir el problema para el caso de la CP-343-1 proponen actualizar el firmware a la versión V3.0.44. Para el resto de productos aún no hay una versión disponible con lo que recomiendan:

  • Activar la funcionalidad del cortafuegos en el módulo procesador de comunicaciones Advanced y rechazar las comunicaciones S7 por el puerto afectado.
  • Aplicar el concepto protección en celdas.
  • Utilizar comunicaciones VPN entre celdas para proteger la red.
  • Aplicar defensa en profundidad.

Sobre este último punto os dejo un enlace hacia otras entradas sobre las cuales ya he hablado:

http://enredandoconredes.com/2015/10/20/defensa-en-profundidad-breve-repaso/

http://enredandoconredes.com/2015/10/29/defensa-en-profundidad-ot/

En fin, mucho cuidado…

Un saludo!

Defensa en Profundidad, breve repaso…

Desde hace varios años hemos ido viendo como en los entornos IT se ha venido aplicando el concepto de “Defensa en Profundad” cómo modelo para garantizar unos niveles de seguridad aceptables en nuestros sistemas e infraestructuras. El mismo, consiste en implementar distintos controles y barreras con el fin de frenar la actividad de un usuario o software malicioso. De esta manera, la explotación de una vulnerabilidad, o debilidad, no compromete a toda la organización.

El primer paso es disponer de un inventario exhaustivo y actualizado de los equipos, tecnologías y aplicativos. No podemos pretender proteger nuestros activos si no sabemos cuántos y de qué tipo tenemos. Luego definiremos la importancia y criticidad que tienen para nuestra empresa y llevaremos a cabo una evaluación riesgos que nos permita establecer un plan de diseño para asegurarlos. Finalmente, en función de esto último, consideraremos las mejores medidas tanto humanas como técnicas para alcanzarlo.

Así pues este modelo de “Defensa en Profundidad” quedaría resumido gráficamente de la siguiente manera:

En primer lugar nos encontramos con los Procedimientos y Políticas de seguridad propias de la organización. Éstas se apoyan en los Estándares ya establecidos, pero además hay que sumarles los Roles que cada responsable acaparará dentro de la empresa.

La seguridad física la definimos como la barrera que impide a un usuario acceder in situ al sistema en cuestión, y que requiere algún tipo de identificación. Sin embargo, no es la única medida. Por ejemplo las cámaras de video vigilancia o personal de seguridad son otras de ellas.

La seguridad perimetral es la encargada de proteger la primera línea en cuanto a las comunicaciones se refiere, siendo los cortafuegos el equipamiento por excelencia. La diversificación de los ataques los han hecho evolucionar incorporando cada vez más características. Considerar IPs y puertos de origen y destino, son insuficientes para atajar las amenazas actuales. Hoy en día tenemos que hablar de los NGFW (Next Generation Firewall) que disponen de funcionalidades como filtrado a nivel de aplicación, Deep Packet Inspection, motores antivirus, IDS/IPS, Sanboxes, VPN, entre otras. NIDS (Network Intrusion Detection System) es otro de los dispositivos que nos podemos encontrar y que pueden estar instalados como equipos dedicados.

Una vez en la red interna nos encontramos con distintas medidas. Una de ellas es la de separar el tráfico mediante VLANs, de tal manera que quede acotado a un único segmento lógico. Luego a nivel de capa 3, las ACLs pueden ser un gran aliado de tal manera que sean los propios equipos de red los que permitan o denieguen cierto tipo de comunicaciones antes de llegar a los firewalls. La seguridad en puerto y un NAC (Network Access Control) son otras de las medidas a tener en cuenta.

Ya en los equipos finales son varias las medidas. La primera la situamos en el control de acceso. La implementación de un Directorio Activo nos facilita mucho las tareas, aunque dependiendo el entorno a veces la autenticación local es la máxima solución con la que podremos aspirar. A él hay que sumar el bastionado del sistema mediante la implementación de parches, limitar el uso de aplicaciones y reducir servicios a los estrictamente necesarios. Algunas de estas soluciones incorporan la capacidad de limitar el uso de dispositivos USB y evitar así que cualquier usuario pueda conectar el suyo propio con el riesgo que esto entraña. A diferencia de los NIDS, aquí dispondremos de los HIDS, esto es funcionalidades IDS/IPS a nivel de host para detectar cualquier intento de intrusión. Finalmente, las soluciones antivirus, que visto lo visto hay quienes demuestran y aseguran que pueden llegar a ser poco efectivos. Ver esta entrevista a Joxen Koret.

A nivel de aplicación deberemos centrarnos en la programación segura de las aplicaciones y evitar así errores en el código que permitan a un exploit aprovechar vulnerabilidades y llevar a cabo distintos tipos de ataques. El uso de protocolos para el cifrado de las comunicaciones es  otra buena medida para proteger la transmisión de datos por la red. También es significativo la configuración de las mismas, debemos evitar las configuraciones por defecto, y que se ejecuten sólo con aquellos permisos y recursos necesarios para su operativa.

Finalmente encontramos al dato en sí mismo. Aquí garantizar su integridad, confidencialidad y autenticación es primordial. Como barrera podremos encontrarnos con soluciones de Data Loss Prevention con el fin de que los datos puedan ser extraídos de los sistemas que los albergan y perder el control sobre los mismos. Por supuesto hemos de tener en cuenta el uso de algoritmos robustos. De nada nos sirve cifrar la información si luego empleamos métodos que son fáciles o relativamente fácil de romper.

De esta manera hemos hecho un rápido repaso al concepto de “Defensa en Profundidad”, eso sí, en entornos IT. Sin embargo, ¿es aplicable a un entorno OT? ¿Un entorno industrial tiene las mismas necesidades de protección?

Esta y otras respuestas las dejamos para sucesivas entradas. ¡Nos vemos en la próxima!