Protocolos y Seguridad de Red en Infraestructuras SCI Sci
Protocolos y Seguridad de Red en Infraestructuras SCI Sci
Protocolos y Seguridad de Red en Infraestructuras SCI Sci
Autores
Miguel Herrero Collantes
Antonio López Padilla
La presente publicación pertenece a INCIBE (Instituto Nacional de Ciberseguridad) y está bajo una licencia Reconocimiento-No
comercial 3.0 España de Creative Commons. Por esta razón está permitido copiar, distribuir y comunicar públicamente esta obra
bajo las condiciones siguientes:
• Reconocimiento. El contenido de este informe se puede reproducir total o parcialmente por terceros, citando su
procedencia y haciendo referencia expresa tanto a INCIBE o CERTSI como a su sitio web: http://www.incibe.es. Dicho
reconocimiento no podrá en ningún caso sugerir que INCIBE presta apoyo a dicho tercero o apoya el uso que hace de su obra.
• Uso No Comercial. El material original y los trabajos derivados pueden ser distribuidos, copiados y exhibidos mientras su
uso no tenga fines comerciales.
Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones
puede no aplicarse si se obtiene el permiso de CERTSI como titular de los derechos de autor. Texto completo de la licencia:
http://creativecommons.org/licenses/by-nc-sa/3.0/es/
1 INTRODUCCIÓN 5
1.1. Organización de este documento 6
REFERENCIAS 37
Todo ello hace que un conocimiento detallado de los protocolos implicados en procesos
industriales sea clave para entender los posibles puntos débiles, vectores de ataque y posibles
medidas de defensa deban ser barajadas a la hora de implementar o fortificar un sistema de
control industrial.
1
http://www.marinakrotofil.com/p/home.html
El segundo capítulo, Protocolos de comunicación en SCI, pretende dar una visión de alto nivel
sobre el diseño, funcionamiento y características de seguridad que presentan los protocolos.
El estudio se centra en los protocolos más significativos utilizados en SCI de Europa y más
concretamente España, sin realizar distinción del sector en el que se utilizan, con objeto de
dotar al lector del conocimiento necesario para entender las propiedades, funcionalidades,
fortalezas y debilidades en la implementación y seguimiento de sistema. También se
describen una serie de recomendaciones específicas de seguridad para cada protocolo, si
bien esas medidas de seguridad deben ser analizadas antes de ser puestas en marcha a fin
de no afectar la operativa.
Así, un apropiado diseño con zonas diferenciadas y con mecanismos de control de tráfico
entre los distintos segmentos debe ser siempre el primer paso en la implementación segura
de la arquitectura de red.
2
Las recomendaciones generales para las reglas de cortafuegos y de otros servicios pueden consultarse en el
Anexo I
2.6. DISPONIBILIDAD
En un sistema de control de procesos, la latencia y la velocidad de transmisión de mensajes
son críticos, por eso son un factor determinante que el diseño de la red de control esté
preparado para afrontar posibles problemas de congestión o pérdida de conectividad. Las
recomendaciones para incrementar la resiliencia de red frente a estos problemas son:
3
http://en.wikipedia.org/wiki/Role-based_access_control#RBAC_and_employees.27_responsibilities_alignment
4
http://es.wikipedia.org/wiki/Calidad_de_servicio
5
http://es.wikipedia.org/wiki/Internet_Group_Management_Protocol
Estas son:
3.3.1. Descripción
Common Industrial Protocol (CIP) es un protocolo creado por la compañía ODVA6 para la
automatización de procesos industriales. CIP engloba un conjunto de servicios y mensajes de
control, seguridad, sincronización, configuración, información, etc., los cuales pueden
integrarse en redes Ethernet y en Internet. CIP cuenta con varias adaptaciones, proporcionado
intercomunicación e integración a distintos tipos de redes. Estas son:
6
https://www.odva.org/
CIP es un protocolo que sigue un modelo de objetos. Cada objeto está formado por atributos
(datos), servicios (comandos), conexiones y comportamiento (relación entre los datos y los
servicios). CIP cuenta con un extenso número de objetos para cubrir las comunicaciones y
funciones típicas con elementos comunes en procesos de automatización, como dispositivos
entrada/salida analógicos y digitales, HMI, controles de movimiento, etc. Para asegurar la
intercomunicación, un mismo objeto CIP implementado en distintos dispositivos se comporta
de forma idéntica, constituyendo lo que se denomina un «perfil de dispositivo». Así, cualquier
dispositivo que adopte un perfil, responderá de igual forma a los mismos comandos y
mantendrá el mismo comportamiento de red que otro dispositivo con el mismo perfil.
3.3.2.1. Descripción
3.3.2.2. Seguridad
7
http://es.wikipedia.org/wiki/Bus_CAN
8
http://es.wikipedia.org/wiki/RG-6
9
http://es.wikipedia.org/wiki/Cable_cinta
3.3.3.1. Descripción
Ethernet/IP fue introducido en 2001 y es uno de los protocolos que implementan CIP más
extendidos, probados y completos en la automatización de industria manufacturera.
Ethernet/IP es pues, la adaptación de CIP al modelo de red Ethernet el cual va unido
inherentemente a TCP/IP. Por tanto, Ethernet/IP hace uso de la pila TCP/IP para todas las
tareas de transporte y red, adaptando CIP para la capa de aplicación, como se puede ver en
la Ilustración 9.
10
http://es.wikipedia.org/wiki/Sistema_de_detecci%C3%B3n_de_intrusos
Los mensajes implícitos son aquellos críticos y se usan para comunicaciones en tiempo real,
como la transmisión de datos y generalmente operan con direcciones multicast por eficiencia.
De este modo un mensaje cuyo destino son distintos dispositivos solo ha de mandarse una
vez. Se transmiten usando el puerto UDP 2222. La Ilustración 10 muestra este tipo de
comunicación.
3.3.3.2. Seguridad
Ethernet/IP es susceptible de verse afectado por todas las vulnerabilidades de Ethernet, como
puede ser la suplantación de identidad o la captura de tráfico. Además como utiliza UDP para
sus mensajes implícitos y este carece de control de la transmisión, es posible la inyección de
tráfico malicioso y la manipulación de la ruta de transmisión mediante el uso de IGMP.
Al ser Ethernet/IP, un protocolo basado en Ethernet que utiliza UDP e IGMP, es necesario
proporcionar al perímetro de la red Ethernet/IP de todos los mecanismos de seguridad
basados en Ethernet e IP. También se recomienda la monitorización pasiva de la red a fin de
asegurar que el tráfico Ethernet/IP sólo se utiliza en equipos explícitamente identificados y no
proviene del exterior de la red.
A pesar de que CIP utiliza un modelo de objetos bien definido, no define ningún mecanismo
ni implícito ni explícito de seguridad. Además dispone de Objetos Obligatorios para la
identificación de los dispositivos, lo que puede facilitar el descubrimiento de los equipos de la
red, proporcionando objetivos a los atacantes. Como también dispone de Objetos de
Aplicación comunes para el intercambio de información entre dispositivos, un intruso es capaz
3.4. MODBUS
3.4.1. Descripción
Modbus es uno de los protocolos de control industrial más veteranos. Fue introducido en 1979
utilizando comunicaciones serie para interaccionar con PLCs. En la década de los 90 tuvo un
gran crecimiento y con objeto de lograr una mayor integración con sistemas modernos
aparece en 1999 la versión para redes TCP/IP, Modbus/TCP. Este paso consolidó a Modbus
como uno de los protocolos más utilizados en control industrial. Hoy en día es ampliamente
utilizado en un amplio espectro de industrias, incluyendo infraestructuras críticas. Modbus es
un protocolo de comunicaciones industriales que se sitúa en la capa de aplicación,
permitiendo por ello utilizar diferentes soportes físicos para el transporte. Proporciona
comunicación en modo cliente/servidor entre diferentes equipos conectados a través de
diferentes tecnologías de capas inferiores entre las que se incluye, pero no se limita, la capa
de protocolos de TCP/IP.
Puesto que el protocolo Modbus es común para todas las implementaciones, las medidas de
seguridad que se implementen en capa 7 serán independientes de las que se aseguren en
capas inferiores.
3.4.2. Seguridad
Las implementaciones de Modbus serie, utilizan tanto RS232 y RS485, que son protocolos de
comunicación de capa física. Estos protocolos, por definición, se encargan de transmitir bits
de una estación a otra y definen las condiciones en las que un bit se entiende como un bit. No
tiene sentido hablar de seguridad en esta capa, pues son funcionalidades que se desarrollan
en capas superiores. Por encima del acceso físico al medio, se ubicarían los protocolos de
nivel de enlace, HDLC y Ethernet según la implementación (serie o TCP respectivamente).
Modbus no implementa ninguna característica de seguridad en este nivel.
Respecto a la seguridad ofrecida por la capa de aplicación Modbus fue diseñado para su uso
en entornos muy controlados y no incluye ningún mecanismo de seguridad en esta capa.
11
http://es.wikipedia.org/wiki/High-Level_Data_Link_Control
Además, en las implementaciones serie los comandos se emiten mediante broadcast, lo que
hace que todos los elementos conectados puedan ser afectados por un único ataque de
Denegación de Servicio.
Todas estas carencias se ven magnificadas por el hecho de que Modbus sea un protocolo
diseñado para la programación de los elementos de control como RTU o PLC, por lo que es
posible la inyección de código malicioso a esos elementos.
Además también se deberían de comprobar aquellos paquetes Modbus TCP con datos
erróneos en su tamaño o el tráfico en el puerto TCP 502 con paquetes malformados. Como
medida adicional aquellas funciones que fuercen a los esclavos a ponerse en modo «sólo
escucha», las funciones que fuercen un reinicio de las comunicaciones, aquellas que borren
o reseteen información diagnóstica como contadores o tráfico desde un servidor a múltiples
esclavos deberían ser también monitorizados de forma activa para hacer la red más segura.
Existen soluciones genéricas IDS como Snort o especializadas en Modbus como el IPS Tofino
TCP Enforcer LSM altamente recomendables para reforzar la seguridad de este protocolo.
3.5. DNP3
3.5.1. Descripción
3.5.2. Seguridad
DNP3 es un protocolo diseñado para maximizar la disponibilidad del sistema, dejando más
descuidados los factores de confidencialidad e integridad de los datos.
A nivel de capa de enlace se incluyen las funciones típicas de esta capa, como la detección
de errores de transmisión mediante el cálculo de CRC (lo que no es una medida de seguridad,
ya que cualquiera que quiera modificar las tramas será capaz de modificar el CRC), pero no
incluye ninguna medida de seguridad adicional que no ofrezca el protocolo Ethernet.
12
Más bien pseudo-transporte porque no se corresponde con la capa de transporte de OSI.
13
http://www.pjm.com/
3.6. PROFIBUS
3.6.1. Descripción
Profibus (del inglés PROcess FIeld BUS) es un estándar de comunicación a través de Fieldbus
promovido en 1989 por el departamento alemán de educación e investigación y utilizado por
Siemens. Se basa en comunicaciones serie con soporte sobre cable (RS-485, MBP) o sobre
fibra óptica.
14
La lista completa de las funciones de aplicación de DNP3 se puede consultar en [7]. Nótese que en la
referencia la notación es hexadecimal mientras que en el texto se utiliza notación decimal.
3.6.2. Seguridad
Profibus es un protocolo que opera en las capas de aplicación, enlace y física. La capa de
enlace de este protocolo utiliza FDL (Field bus Data Link) como mecanismo de gestión de
acceso al medio. Funciona con un método de acceso híbrido que combina las tecnologías de
maestro-esclavo con el paso de un testigo que es el que marca quien puede iniciar la
comunicación y ocupar el bus. Estas medidas permiten que los dispositivos no se comuniquen
a la vez, pero no constituyen ningún mecanismo de seguridad y podrían ser susceptibles a
ataques de inyección de tráfico o denegación de servicio.
En capa de aplicación, existen tres niveles de utilización DP-V0, para intercambios de datos
periódicos, DP-V1 para comunicaciones no periódicas y DP-V2 para comunicaciones
asíncronas a través de mensajes de broadcast. De la documentación examinada no es posible
inferir que Profibus añada ninguna capa de seguridad a las comunicaciones en esta capa.
Hay parte de los servicios ofrecidos por Profibus que pueden utilizar TCP/IP como protocolo
de transporte, pero únicamente durante una fase inicial de asignación de dispositivos. En
estos servicios sería posible añadir elementos de seguridad IT, siempre y cuando no
perjudiquen la operativa del sistema.
Al igual que con otros protocolos de la familia Fieldbus, la ausencia de autenticación y la falta
de seguridad del protocolo exigen el aislamiento del bus del resto de componentes de la red.
La seguridad perimetral debería ser muy severa para evitar cualquier tráfico no autorizado o
sospechoso.
3.7. PROFINET
3.7.1. Descripción
Profinet es un estándar basado en Profibus que adopta como interfaz físico de conexión
Ethernet en lugar de RS485, y un sistema de bis basado en pase de token. Ofrece para la
transmisión de datos la funcionalidad completa de TCP/IP, lo que le proporciona aplicaciones
inalámbricas y alta velocidad de transferencia. Los equipos que utilizan Profinet están
orientados a la fiabilidad y a la comunicación en tiempo real, junto con la usabilidad. En la
Ilustración 14 es posible ver la arquitectura de Profinet.
3.7.2. Seguridad
Al igual que con otros protocolos creados originalmente para comunicación a través de
Fieldbus15 la ausencia de autenticación y la falta de seguridad del protocolo exigen el
aislamiento del resto de la red. Adicionalmente, el uso de métodos IT para autenticar los
componentes de la red, junto con el cifrado de las comunicaciones de la misma es una buena
práctica. Por último, la seguridad perimetral debería ser muy estricta para evitar cualquier
tráfico no autorizado o sospechoso.
15
Recordemos que Profinet es una adaptación de Profibus al protocolo Ethernet, por lo que la capa de
aplicación se pensó originalmente para Fieldbus.
3.8.1. Descripción
Powerlink sobre Ethernet [7] es un perfil de comunicación para Ethernet en Tiempo Real.
Extiende Ethernet de acuerdo al estándar IEEE 802.3 con mecanismos para transmitir
información con sincronización precisa e intervalos predecibles, con una arquitectura que se
puede ver en la Ilustración 16. La especificación del protocolo [8] se puede descargar desde
la página web del Grupo de Estandarización de Powerlink Ethernet16.
16
http://www.ethernet-powerlink.org/
3.8.2. Seguridad
El uso de broadcast para las transmisiones también permite que un intruso obtenga toda la
información que emiten los CN, no teniendo tampoco ningún tipo de cifrado que evite esta
circunstancia.
La sensibilidad al retraso del SCNM requiere que Powerlink Ethernet se despliegue aislado
de cualquier otra red basada en Ethernet. La seguridad perimetral debe ser por tanto muy
estricta para mantener aislado este protocolo del resto de la red y prevenir tráfico malicioso.
3.9. OPC
3.9.1. Descripción
OPC (OLE para control de procesos) no es un protocolo de comunicación industrial, sino más
bien un marco operacional de comunicaciones de los sistemas de control de procesos
basados en Windows que utilizan objetos enlazados y embebidos (OLE), que a su vez utilizan
protocolos de comunicación como RPC. OPC es, por tanto, un conjunto de protocolos de
conjuntamente permiten a los sistemas de control de procesos comunicarse utilizando algunas
de las capacidades de comunicación de Windows.
3.9.2. Seguridad
El uso de DCOM y RCP hacen de OPC muy susceptible a ataques y además puede verse
afectado por todas las vulnerabilidades utilizadas en OLE. Además OPC se ejecuta en
sistemas Windows únicamente, por lo que también puede verse afectado por todas las
vulnerabilidades que afectan a ese Sistema Operativo.
3.10.1. Descripción
Con este sistema el paquete Ethernet no se recibe, interpreta y envía (como se hace
tradicionalmente con el almacenamiento y reenvío) sino que se procesa sobre la marcha en
cada nodo esclavo (actualizando la información correspondiente) mientras que se envía al
siguiente dispositivo, obteniéndose un retraso de unos pocos nanosegundos. La trama de
EtherCAT se muestra en la Ilustración 18.
3.10.2. Seguridad
17
http://es.wikipedia.org/wiki/Bus_de_campo
18
http://es.wikipedia.org/wiki/Jitter
Como ya se ha comentado, EtherCAT debe desplegarse aislado del resto de redes Ethernet.
También es recomendable realizar una monitorización pasiva de la red a fin de asegurar la
integridad de la misma, comprobando que el tráfico EtherCAT se origina únicamente de
aquellos dispositivos explícitamente autorizados
SERVICIO RECOMENDACIÓN
DNS Hacer un uso de un servidor DNS local interno restringido para la red de
control. En casos de elementos limitados puede hacerse uso de ficheros
locales de hosts.
HTTP El protocolo utilizado para acceso web con navegadores es muy útil y
cómodo. No obstante si no se usa HTTPS cuyas transmisiones son cifradas
debe ser denegado desde la red corporativa o pública a la red de control.
Adicionalmente:
Hacer uso de listas blancas (filtrado IP) para los accesos web a
servicios en la red de control o física.
Control de acceso tanto a orígenes como destinos
Implementación de autorización a nivel aplicación
Restringir el número de tecnologías soportadas para disminuir la
superficie de vulnerabilidades
Registrar y monitorizar tanto el uso como los intentos o accesos al
servicio
FTP Y TFTP Estos dos protocolos de transmisión de ficheros son de uso común en
sistemas SCI. Sin embargo la ausencia de cifrado los hace vulnerables a
robo de credenciales e información. Debe evitarse en la medida de lo
posible y sustituir de versiones cifradas como SCP o SFTP. En caso
estrictamente necesario utilizar únicamente bajo un túnel cifrado o restringir
su uso a transmisiones no críticas.
SOAP SOAP (Simple Object Acess Protocol) utiliza una sintaxis XML para
intercambiar mensajes. Es un mecanismo sin control de estado y por ello
bastante vulnerable a falsificación e interceptación. En este sentido reglas
de inspección de tráfico a nivel de aplicación son aconsejables para
controlar el contenido de los mensajes.
[3] Homeland Security US, «Improving Industrial Control with Defense in Depth Strategies,» 2009.
[4] IEEE, IEEE Standard for Electric Power Systems Communications -- Distributed Network Protocol
(DNP3), 2010.
[5] PJM, Jetstream Guide DNP SCADA over Internet with TLS Security, 2013.
[9] P. H. Randy Amstrong, The OPC UA Security Model For Administrators, 2010.
[13] U. o. L. Dept. of Computer Engineering and Computer Science, Security Considerations in SCADA
Communication Protocols, 2004.