Freym PC Blog
Auditoría de Tarlogic a contadores eléctricos digitales (2022)
La empresa gallega de ciberseguridad Tarlogic realizó una investigación exhaustiva sobre la seguridad de los contadores eléctricos inteligentes en España, cuyos resultados se presentaron en la RootedCON 2022. Estos son los hallazgos clave:
Vulnerabilidades críticas identificadas
1. Falta de cifrado en comunicaciones: Los contadores con estándar PRIME (50% del parque español) usaban perfiles de seguridad deficientes. En particular, los del perfil 1 (cifrado 1.3) empleaban contraseñas genéricas y predecibles, permitiendo interceptar y manipular datos sin autenticación robusta.
2. Ataques remotos desde enchufes domésticos: Demostraron que era posible tomar el control de los dispositivos mediante inyección de comandos a través de la red eléctrica, utilizando herramientas como PLCTool (software liberado por Tarlogic) y hardware específico.
3. Impacto potencial: Las personas podrían recibir publicidad masiva no deseada.
• Cortes de suministro en áreas extensas.
• Manipulación de consumos para alterar facturas.
• Sobrecarga de dispositivos mediante reinicios constantes, con riesgo de incendios.
Arquitectura de redes PRIME y vectores de ataque
El estándar PRIME (PoweRline Intelligent Metering Evolution) opera en la capa física del modelo OSI, utilizando la red eléctrica como medio de transmisión. Tarlogic identificó tres capas de vulnerabilidad:
1. Capa física (PLC)
• Modulación OFDM en banda estrecha (42-89 kHz)
• Velocidades de hasta 128.6 kbps en modo FSK
• Ausencia de mecanismos anti-jamming en implementaciones españolas.
2. Capa de enlace (PRIME MAC)
• Autenticación basada en EUI-48 (dirección MAC).
Perfil 0: Sin cifrado (usado en 60% de instalaciones auditadas).
Perfil 1: AES-128 con contraseñas estáticas (35%).
Perfil 2: Autenticación mutua PKI (5%).
3. Capa de aplicación (DLMS/COSEM)
• Protocolo DLMS (Device Language Message Specification) con codificación BER.
• Credenciales por defecto en objetos lógicos:
- 1.0.96.2.1.2.128 (Password).
- 1.0.96.2.1.2.129 (Encryption Key).
Vulnerabilidades críticas y PoCs
1. Ataque de reinyección de sesión
• CVE-2022-38701 (puntuación CVSS 9.1).
• Explotación:
def session_hijack(capture):
for pkt in capture:
if pkt.type == PRIME_SESSION_SETUP:
spoofed_pkt = pkt.copy()
spoofed_pkt.nid = 0xFFFF # Broadcast
send(spoofed_pkt)
• Impacto: Toma de control de concentradores secundarios.
2. Decodificación de contraseñas HLSP
• Algoritmo vulnerable:
password clear =AES ECB −1 (password encrypted )⊕nonce
• Implementación en PLCTool:
./PLCTool --extract-hlsp --input capture.pcap --output credentials.txt
3. Denegación de servicio mediante Beacon Flooding
• Tasa de inyección: 500 paquetes/segundo
• Efecto: Saturación del canal PLC colisionando con:
T_{frame} = \frac{N_{symbols}}{f_{symbol}} + T_{IFS}}
Donde N s y m b o l s N symbols = 256 y f s y m b o l f symbol = 400 kHz