Blog del CCI

viernes, 17 de enero de 2014

Comentarios sobre Master Serial Killer. Proyecto Robus - S4x14

Una de las presentaciones más esperadas del congreso S4 que se celebra estos días en Miami es la titulada "Master Serial Killer", por Adam Crain y Christ Sistrunk del Proyecto Robus.

Robus es un proyecto que tiene como objetivo el descubrimiento de vulnerabilidades en la implementación de protocolos de comunicación de sistemas industriales. El proyecto comenzó en abril de 2013, y hasta ahora se ha centrado en la investigación del protocolo DNP3, produciendo 15 informes de seguridad en los que diversos fabricantes reconocen problemas de seguridad en sus protocolos de comunicaciones y recomiendan cómo solucionarlos. Además, han reportado 28 problemas más en los que los fabricantes están trabajando. 

DNP3 es un conjunto de protocolos de comunicación entre componentes de sistemas de automatización de procesos. Principalmente en componentes de sistemas de los sectores eléctrico y del agua. Las especificaciones de DNP3 son mucho más complejas que las de otros protocolos similares debido al enorme número de funcionalidades que contiene. DNP3 es tremendamente popular y cientos de miles de sistemas, probablemente millones, en todo el mundo lo utilizan para las comunicaciones de todo tipo de procesos de control, incluidos los de muchas infraestructuras críticas.

La investigación del proyecto Robus utiliza técnicas de fuzzing, consistentes en alimentar a los sistemas con datos no esperados con el fin de detectar si se producen comportamientos indebidos. Los investigadores, generan cientos de miles de casos de prueba y analizan sistemáticamente cuáles son las respuestas de los sistemas.

Todos los productos evaluados hasta ahora, excepto dos, contienen vulnerabilidades. Esto se traduce en cientos de miles, de sistemas vulnerables en todo el mundo. Muchos de ellos conectados a Internet.

Estos resultados sugieren que las implementaciones del protocolo se limitan a garantizar la funcionalidad sin realizar pruebas específicas de seguridad. Algo que podía tener su justificación, por ejemplo en ahorro de costes de desarrollo, si se garantizase que los sistemas DNP3 estarían aislados y sólo recibirían tráfico correcto. Pero sabemos que eso no es así.

Los investigadores, al descubrir las vulnerabilidades las comunican al fabricante para que éste las soluciones. Las respuestas que se han obtenido por parte de los fabricantes son variadas. Desde los que actúan diligentemente editando versiones corregidas de su software, correctamente probadas e informando a sus clientes acerca de cómo solucionar el problema. Hasta los que tardan varios meses y editan parches que no solucionan correctamente el problema y no realizan un flujo de comunicación adecuado con los implicados (usuarios, ICS-CERT, …)


Las implementaciones de DNP3 ha sido el objeto del experimento, pero es probable que implementaciones de otros protocolos tengan fallos similares. Este tipo de investigación no requiere grandes inversiones. Está al alcance de cualquiera que posea los conocimientos técnicos. Igual que los investigadores del proyecto Robus han encontrado múltiples vulnerabilidades de día cero. Alguien con intenciones maliciosas podría encontrar vulnerabilidades en los protocolos de control industrial y causar comportamientos no esperados en los sistemas afectados. Dado el número de sistemas que utilizan estos protocolos (cientos de miles)  el impacto y la extensión de los daños serían superiores a los de cualquier ataque visto hasta ahora.

La responsabilidad de mitigar estos problemas se reparte entre los fabricantes y los usuarios finales. Los primeros deben editar parches o versiones corregidas de sus productos. Los usuarios deben actualizar su software (lo cual no es trivial en muchos de los casos); configurar correctamente sus dispositivos, desactivando funciones innecesarias y potencialmente peligrosas y proporcionar un entorno físico y lógico saneado desde el punto de vista de la seguridad, implantando medidas de control de acceso, advirtiendo a los empleados de los peligros potenciales y estableciendo medidas de control de tráfico que sean capaces de comprender las comunicaciones dentro del contexto del protocolo DNP3.

Es significativo que ahora sea el momento en el que se empiezan a detectar fallos en protocolos que llevan utilizándose décadas. Indica preocupación en la comunidad por estos aspectos de la seguridad y que existe la intención de solucionarlos. Robus es un paso adelante, necesario, pero ni mucho menos suficiente. Para lograr solucionar los problemas de seguridad existentes en estos sistemas se necesitan más iniciativas como Robus que lleguen a implicar a todos los interesados(usuarios, investigadores, fabricantes, CERTs, etc)

Presentación original en S4

2 comentarios :

  1. El DNP3 User Group publicó las últimas especificaciones de autentificación en DNP3 en agosto de 2011. El documento "DNP3 Vol2-Supp1 Secure Authentication v5" especifica el protocolo estándar que provee los mecanismos de seguridad. Esta implementación está basada en el estándar IEC 62351-5.

    Las primeras implementaciones del protocolo se realizaron en el año 1993.
    Actualmente ya existes sistemas DNP3 altamente seguros que implementan el protocolo de seguridad y autentificación.

    Josep Rodrigo
    Application Consultant
    Logitek

    ResponderEliminar
  2. Qué tal Josep,

    Muchas gracias por tu comentario y aportación. En efecto, la especificación del protocolo DNP3 probablemente sea la más completa desde el punto de vista de seguridad de los protocolos industriales.

    Sin embargo, como presentaron la pasada semana en Miami, donde estuve presente y comentando con los investigadores, el problema es en la implementación que se ha hecho del mismo en los productos y fabricantes. Como habrás visto en la presentación, únicamente 2 de los productos probados no contaban con vulnerabilidades en sus soluciones.

    En cualquier caso, en general, todos los fabricantes han publicado o están en vías de publicar las actualizaciones correspondientes para los productos vulnerables.

    ResponderEliminar