Contadores Inteligentes – El escenario español y el sistema de Telegestión.
Tabla de contenidos
Los contadores inteligentes llevan siendo una realidad los últimos años ya no solo en las viviendas de nueva construcción, sino también en instalaciones más antiguas en las que -por imperativo legal- se han tenido que renovar sus aparatos de medición. En particular, y en arreglo a la orden IRC/3860/2007 del 28 de diciembre, todos los contadores eléctricos en suministros con una potencia contratada de hasta 15 kW deberían haberse sustituido por equipos que permitan la discriminación horaria y la telegestión antes del 31 de diciembre del 2018.
Integrados estos en el concepto de redes eléctricas inteligentes (smart grids), la informatización de la infraestructura de distribución eléctrica supone a la par que una oportunidad para mejorar la eficiencia de la gestión y el uso de la misma, un reto a la implantación desde el punto de vista de la ciberseguridad, con nuevas redes, protocolos y ataques. A este respecto, la UE se ha adelantado a este problema y el grupo de expertos 2 de la Smart Grid Task Force dependiente de la misma ha comenzado a trabajar en una serie de recomendaciones regulatorias, las cuales se pueden consultar en el siguiente enlace.
Para comprender el tipo de amenazas a las que se pueden enfrentar estos contadores y las infraestructuras en las que se integran, debemos comprender primero los distintos agentes que conforman el sistema eléctrico español. Algunos sistemas y tecnologías mencionadas a continuación son comunes en otros países. Vamos a ello.
El sistema eléctrico en España
Desde la liberalización del sector eléctrico español en 1997 por transposición de directiva europea, todo el proceso de suministro de electricidad se divide en cuatro fases, a saber:
- Generación: se encarga de producir energía eléctrica a través de la explotación de algún recurso natural.
- Transporte: se encarga de transmitir esta energía desde las centrales de generación a distintas partes de la geografía usando la red de transporte (consistente en líneas de alta tensión). El agente encargado del transporte se le conoce también como el Operador de la Red, que a día de hoy es Red Eléctrica de España.
- Distribución: se encarga de transmitir la energía desde la red de transporte a los puntos de suministro (esto es, empresas o particulares donde hay un contador). Los agentes encargados de la distribución son las empresas distribuidoras y cada una de ellas se encarga de la distribución en un área geográfica, razón por la que se las considera “monopolios naturales”.
- Comercialización: se encarga de vender la energía eléctrica a los consumidores.
Los contadores eléctricos son gestionados por la distribuidora, la cual proporciona las medidas de consumo a la comercializadora, que a su vez se encarga de la recaudación de la factura eléctrica al consumidor. Al mismo tiempo, es la distribuidora la que se encarga de hacer efectivos los límites de potencia contratada, hacer las medidas, cortar o reconectar un punto de suministro, etcétera.
La introducción de los contadores inteligentes simplifica enormemente las tareas ya mencionadas mediante la funcionalidad de telegestión, la cual permite a la distribuidora controlar remotamente distintos parámetros del punto de suministro sin intervención presencial. Esta automatización es posible a través de la infraestructura que se detallará más adelante.
La infraestructura de telegestión
Para poder comprender el tipo de amenazas a las que están sometidos los contadores inteligentes, debemos comenzar entendiendo la estructura del sistema al que pertenecen. En el caso de un particular, los contadores inteligentes se comunican mediante PLC a un dispositivo propiedad de la distribuidora conocido como Concentrador Terciario. Este dispositivo se suele encontrar en unos edificios prefabricados denominados Centros de Transformación, cuyo objetivo principal es el de resguardar el transformador de media a baja tensión.
Los concentradores terciarios, además de servir de intermediarios entre los contadores y la distribuidora, pueden incluir también funciones de supervisión: es decir, realizarían medidas de la energía que circula a través del transformador para detectar usos fraudulentos del fluido eléctrico, vigilando en todo momento que no haya desviaciones entre la potencia agregada de todos los contadores y la que se mide a la salida del transformador.
Los concentradores se comunican con la distribuidora vía IP a través de varios canales (radio, fibra, 3G…), muchas veces con un segundo nivel de protección basado en redes VPN. La distribuidora, además de almacenar las medidas a través de FTP, puede comunicarse de vuelta con los concentradores, solicitando el cambio de la potencia contratada de algún contador particular, períodos de facturación, conexión y desconexión de la red eléctrica, o incluso la actualización del firmware. La infraestructura tiene, por lo tanto, el siguiente aspecto:
El principio del camino: el extremo PLC
En España, la mayoría de comunicaciones PLC entre contadores y concentradores se hace a través de un par de protocolos denominados DLMS/COSEM (en la capa de aplicación y red) y PRIME (en la capa física y enlace). DLMS/COSEM es en realidad la combinación de dos protocolos distintos: por un lado, DLMS ofrece funcionalidades de intercambio de mensajes entre dispositivos y, por el otro, COSEM proporciona la abstracción de los contadores como servidores hacia los que ciertos clientes realizan solicitudes de determinado tipo, siguiendo un modelo orientado a objetos.
Desde el punto de vista de la ciberseguridad, ambos protocolos cuentan con características de seguridad en las comunicaciones mediante cifrado, autenticación y autorización. DLMS/COSEM ofrece tres niveles de seguridad en autenticación (sin autenticar, autenticado con contraseña y autenticado en cuatro pasos con secreto compartido) y distintos niveles de seguridad en transporte relacionados con el cifrado y autenticación de mensajes. La política de seguridad se determina en base al tipo de acceso que el cliente solicita al servidor COSEM, de forma que las operaciones más privilegiadas puedan exigir políticas de seguridad más restrictivas.
Por otro lado, PRIME, en tanto que protocolo de capa física y de enlace, limita la seguridad a cifrado y autenticación de mensajes. La seguridad de este protocolo se basa en tres perfiles de seguridad numerados del 0 al 2, donde el 0 representaría la ausencia total de seguridad y los niveles 1 y 2 distintos conjuntos de tramas protegidas en base al tipo.
Teniendo en cuenta que ambos protocolos proporcionan medidas adecuadas para asegurar la seguridad de la información, la mayor debilidad de estos protocolos se puede reducir a errores de implementación y a una configuración de seguridad demasiado laxa.
Una fotografía del sistema desde el punto de suministro
La presencia de estos perfiles de seguridad sugiere un punto de partida para las auditorías de ciberseguridad en este tipo de redes OT. ¿Cuál es entonces la configuración de seguridad (tanto en PRIME como en DLMS/COSEM) por defecto en una red de contadores inteligentes?
Para poder responder a esta pregunta necesitamos primeramente acceso a una red de contadores inteligentes. A día de hoy esto no es un problema ya que prácticamente cualquier enchufe da visibilidad a la red PLC de los contadores conectados al concentrador local y, en algunos casos, contadores conectados a otros concentradores.
En segundo lugar, necesitamos un módem PLC compatible con PRIME. Esto ya no es tan fácil: aunque efectivamente existen dispositivos que tienen como objetivo depurar y analizar PRIME, son tan caros y con una funcionalidad tan limitada que reducen su operatividad de cara a una auditoría en profundidad. En su lugar, la opción que puede ofrecer una mejor relación utilidad/precio es la de una placa de evaluación PLC. Estas placas de evaluación las ofrecen fabricantes de hardware a un precio moderado (menos de 500€) con el fin de que potenciales clientes puedan estudiar la viabilidad de su tecnología de cara a una futura compra al por mayor. Además, suelen incluir ejemplos de código y casos prácticos para el desarrollo de firmware, los cuales pueden ser muy útiles de cara a la escritura de herramientas especializadas de auditoría.
Para esta prueba se ha adquirido una placa de evaluación ATPL360-EK, ofertada por Microchip, la cual incluye bibliotecas PRIME y G3, además de una serie de aplicaciones de prueba, incluyendo un sniffer PLC compatible con PRIME.
Esta placa de desarrollo PLC incluye una suite de herramientas de test (https://www.microchip.com/DevelopmentTools/ProductDetails/PartNo/ATPL360-EK?utm_source=MicroSolutions&utm_medium=Article&utm_content=DevTools&utm_campaign=StandAlone) entre las que se incluye un Sniffer PLC para sistemas Windows. Tras compilar el correspondiente firmware (igualmente distribuido por Microchip) e integrarlo en las placas de desarrollo, basta con conectar la placa a la red eléctrica y por USB a un PC con este software para comenzar a examinar tramas.
Los primeros resultados del análisis de seguridad de redes PLC
Se hicieron dos pruebas de captura de tráfico PLC a lo largo de un día en dos barrios de Madrid, con resultados muy similares. Debe tenerse en cuenta que las herramientas ya mencionadas sólo analizan hasta la capa de enlace (PRIME). Las capas superiores DLMS/COSEM deben analizarse extrayendo el contenido de las tramas PRIME.
Las pruebas, realizadas en un domicilio de un barrio residencial y en un edificio de oficinas, permitieron detectar hasta una centena de contadores. Debido a que la dirección MAC (también denominada EUI-48) de los contadores sólo se intercambia durante el proceso de registro en una determinada subred, sólo se conoce la de una fracción de todos los nodos visibles. No obstante, los distintos contadores se siguen pudiendo direccionar a través de un identificador asignado durante el proceso de registro llamado LNID (Local Node Identifier).
Las tramas del tráfico PRIME se agrupan en dos categorías principales: control y datos, siendo las primeras las que están presentes la mayor parte del tiempo. Una de las tramas de control más interesantes es precisamente la trama de registro, en la cual se negocia el perfil de seguridad utilizado en las comunicaciones entre contador y concentrador. Afortunadamente, el PLC Sniffer de Microchip permite filtrar paquetes de múltiples formas a través de unas intuitivas consultas SQL:
Se puede ver que en las tramas de registro se está solicitando un perfil de seguridad 0 a nivel de enlace: es decir, mensajes en claro sin ninguna medida de seguridad.
Las medidas de seguridad, de existir, son relegadas entonces en las capas más altas, correspondientes con el tráfico DLMS/COSEM entre contadores y concentradores.
Determinar si el tráfico DLMS está cifrado es tan simple como analizar las tramas PRIME tipo DATA y examinar su contenido. Así se tiene que:
PLC Sniffer incluye además una vista hexadecimal que permite examinar el contenido de las tramas. Debido a que una de las consecuencias de la utilización de un sistema de cifrado implica casi siempre un aumento de la entropía de información de los mensajes, un desequilibrio entre la cantidad de unos y ceros en un mensaje sugiere que no se está utilizando ningún mecanismo de cifrado. Esto es justamente lo que se observa en todas las tramas:
Se puede ir más allá e intentar determinar si PRIME está encapsulando tráfico DLMS. Esto se puede conseguir sabiendo que los mensajes DLMS se refieren a objetos COSEM, los cuales son direccionados a través de un código de objeto (denominado código OBIS) consistente en 6 bytes consecutivos. Estos 6 bytes se suelen representar tanto en notación hexadecimal sin separadores como en decimal sin signo separada por puntos. Además, los objetos COSEM se refieren a distintas medidas y parámetros que un contador puede reportar, y sus códigos OBIS están tabulados. Un rasgo distintivo de los códigos OBIS es que en muchas ocasiones contienen uno o más ceros y suelen acabar en 255, por lo que identificarlos en una trama, aún desconociendo la estructura de la misma, es bastante fácil. Se ha observado que la presencia del byte 0xff (correspondiente al número decimal 255) es en general poco frecuente, y suele encontrarse casi siempre en la primera trama de un paquete fragmentado. En efecto:
Los bytes resaltados en la trama de datos PRIME seleccionada parecen corresponderse con un código OBIS 0.0.98.1.3.255. Introduciendo este identificador en la herramienta online de Gurux (https://www.gurux.fi/GuruxDLMSTranslator) se obtiene la siguiente descripción:
Es decir, el mensaje parece contener datos de consumo sobre los últimos períodos de facturación, sin especificar un límite. Esto es consistente con lo que se espera obtener de un contador eléctrico. Análisis posteriores de los paquetes fragmentados revelan un contenido con una entropía bastante baja, así que la presencia de códigos HMAC parece igualmente improbable. Los resultados anteriores sugieren, entonces, que no se está implementando ninguna medida de seguridad (tanto desde el punto de vista de la confidencialidad como de la autenticidad) en el tráfico PLC intercambiado entre contadores y concentradores.
En el siguiente artículo de esta serie continuaremos analizando cómo evaluar el riesgo de seguridad de los contadores. Teniendo en cuenta que los perfiles de seguridad más bajos parecen ser la norma en los despliegues observados, las siguientes pruebas irán dirigidas al envío de órdenes privilegiadas a los contadores y comprender así qué tipo de medidas de mitigación existen para evitar su explotación.
Descubre nuestro trabajo y nuestros servicios de ciberseguridad en www.tarlogic.com/es/
En TarlogicTeo y en TarlogicMadrid.
Este artículo forma parte de una serie de articulos sobre Contadores Inteligentes
- Contadores Inteligentes – El escenario español y el sistema de Telegestión.
- Contadores Inteligentes – Amenazas a los contadores y ataques PRIME
- Contadores Inteligentes – Una prueba de concepto: secuestrando un contador
- Contadores Inteligentes – Evaluando el riesgo del concentrador
- Seguridad en las redes PRIME – Estado actual
- PLCTool, la navaja suiza de los contadores inteligentes
- Soporte para plugins en PLCTool