Amenazas en los sistemas SCADA de 4ª generación
Transcript of Amenazas en los sistemas SCADA de 4ª generación
https://cybercamp.es
Amenazas en los sistemas SCADA
de 4ª generación
Jesús Friginal López (SCASSI)
Miquel Martínez Raga (UPV)
2
About us
Jesús Friginal (SCASSI)• Doctor en informática por la
Universidad Politécnica de
Valencia, CISSP
• Lecturer CNRS (Francia)
• Responsable de proyectos e I+D
del grupo SCASSI en España.
Intereses: dependability, security &
geo-privacy en sistemas IoT, redes
oportunistas y adaptive systems.
Miquel Martínez (UPV)• Ingeniero Informático por la
Universitat Politècnica de València.
• Master Redes+Computadores en UPV
• PhD student ITACA-UPV
Intereses: redes ad hoc, inyección de
fallos y ataques para la evaluación de la
confiabilidad/seguridad, dependability
benchmarking, y el análisis de resultados
para problemas de toma de decisiones
con múltiples criterios.
3
Contenido del taller
1. Introducción…
2. Sistemas SCADA
3. Evolución de los sistemas ICS/SCADA
4. Amenazas
5. Metodología de (pen)testing
6. Caso práctico de un (pen)testing
4
Introducción…
¿Qué es un sistema/
infraestructura crítica?
5
Introducción…
Reacción de una usuaria al saber que se ha caído el Whatsapp
6
Introducción…
Las Infraestructuras Críticas (IC), según se definen en
la Ley 8/2011, de 28 de abril, por la que se establecen
medidas para la protección de las infraestructuras
críticas, es el conjunto de recursos, servicios,
tecnologías de la información y redes, que en el caso
de sufrir un ataque, causarían gran impacto en la
seguridad, tanto física como económica, de los
ciudadanos o en el buen funcionamiento del Gobierno
de la Nación.
7
Introducción…
8
Introducción…
Las Infraestructuras Críticas según el Plan Nacional de Protección de Infraestructuras Críticas se pueden dividir en 12 sectores estratégicos:
1. Centrales y redes de energía (Ya aprobado)2. Tecnologías de la información y las comunicaciones (Coming soon)3. Sistema Financiero y Tributario (por ejemplo, banca, valores e inversiones)4. Sector sanitario (Ya aprobado)5. Espacio (Coming soon)6. Instalaciones de Investigación7. Alimentación8. Agua (embalses, almacenamiento, tratamiento y redes) (Sept. 2015)9. Transportes (aeropuertos, puertos, instalaciones intermodales, ferrocarriles y
redes de transporte público, sistemas de control del tráfico) (Sept. 2015)10. Industria Nuclear (Ya aprobado)11. Industria Química (Sept. 2015)12. Administración (servicios básicos, instalaciones, redes de información, activos, y
principales lugares y monumentos nacionales)
CNPIC: Centro Nacional para la Protección de Infraestructuras Críticas Planes de seguridad del operador (PSO)
Más info: Centro Nacional para la Protección de Infraestructuras Críticas (CNPIC)
9
Sistemas SCADA
Pista: SCADA es el acrónimo de Supervisión, Control y Adquisición de Datos
¿Qué es un sistema SCADA?
10
Sistemas SCADA
¿Ejemplo de sistema de Supervisión, Control y Adquisición de Datos?
¡Casi! Son sistemas automatizados SW/HW ligados al uso industrial
11
Sistemas SCADA
Panel de control de un reactor nuclear: ejemplo de sistema SCADA
12
Sistemas SCADA
Sala de control de vuelo de la EEI: ejemplo de sistema SCADA
13
Sistemas SCADA
Fuente: Forrester Research
Estructura de un sistema SCADA
Descomposición geográfica
Centro de control
Comunicaciones
Componentes finales (sensores y actuadores)
14
Evolución de los sistemas ICS/SCADA
¿Qué tipos de sistemas existen?
15
Evolución de los sistemas ICS/SCADA
Tipos de sistemas
a. 1G - Primera generación: Sistemas monolíticos
b. 2G - Segunda generación: Distribuidos
c. 3G - Tercera generación: En red
d. 4G - Cuarta generación: Internet of Things
Tiempo
Conectividad
16
Evolución de los sistemas ICS/SCADA
Fuente: INCIBE
Veamos un
ejemplo de
SCADA 3G
La
revolución
del 4G
empieza
aquí
17
Evolución de los sistemas ICS/SCADA
HP - CeNSE (short for Central
Nervous System for the Earth)
The "Freeboard" project
Evolución de los sensores y sus redes de comunicación
18
Evolución de los sistemas ICS/SCADA
Redes inalámbricas autónomas multi-salto (ad-hoc)
19
Evolución de los sistemas ICS/SCADA
Redes inalámbricas autónomas multi-salto (ad-hoc)
Despliegue físico
Topología lógica
20
Evolución de los sistemas ICS/SCADA
La tendencia muestra que los sistemas SCADA/IC van a estar cada
vez más conectados.
Posibilidad de interacción y compatibilidad con nuevos sistemas y
tecnologías (bases de datos, sistemas operativos).
Mayor calidad del dato (precisión del contenido, y frecuencia)
Se multiplican las aplicaciones de utilidad para la humanidad
Predicción de catástrofes
Detección de incidentes
Mantenimiento de infraestructuras
Etc
21
Amenazas
¿Pero qué pasa con las
amenazas?
22
Amenazas
Evolución de las amenazas: lo que ven los CIOs:
Sistemas aislados:
De un bastión inexpugnable…
Sistemas conectados:
A ponerle puertas al campo
23
Amenazas
El perfil de los atacantes ha evolucionado:
• En la prehistoria:
• Notoriedad
• Demostrar conocimiento
• Grupos reducidos
• Hasta hace poco:
• Ciberactivistas (grupos organizados)
• Beneficio económico
• Ahora (y lo que viene):
• Ciberterroristas
• Cibermafias
• Ciberejércitos
24
Amenazas
• Se ha doblado el número de ataques sobre sistemas SCADA
• 675,186 en Enero 2014
• Principales países objetivo: Finlandia, UK y USA
• Características de los sistemas infectados: conexión a
Internet
25
Amenazas
• Zoom in!
26
Amenazas
MEEEEEC!! ERROR
Mi SCADA está lo suficientemente
“aislado” y tenemos “controles” de
seguridad.
27
Amenazas
Objetivos fortuitos (1/2)a. Algunos sistemas SCADA se han visto atacados por virus que
no iban dirigidos específicamente a ellos pero que les han
afectado.
b. 2003: La estación de energía nuclear de Davis-Besse y CSX
Corporation, en Estados Unidos, fueron víctimas,
respectivamente, de los gusanos Slammer y Sobig. Slammer
provocó denegación de servicio y ralentizó la red mientras que
Sobig envió spam.
28
Amenazas
Objetivos fortuitos (2/2)a. 2004: Las compañías de transporte de viajeros como British
Airways, Railcorp, Delta Airlines se vieron afectadas por el
gusano Sasser que aprovechó una vulnerabilidad de
desbordamiento del buffer para propagarse a otros sistemas
vulnerables.
Impacto físico: Retrasos en los trenes y vuelos y cancelaciones de algún
vuelo.
b. 2009: El ejército francés fue víctima del gusano Conficker, que
aprovechaba una vulnerabilidad de Windows, o averiguaba la
contraseña del administrador para instalarse. El gusano se
propagaba a otras máquinas instalando malware.
Impacto físico: Fallos a la hora de descargarse los planes de vuelo
29
Amenazas
Ataques dirigidos (confirmados…)a. 2009: Compañías Petroleras, de gas y petroquímicas como
Exxon, Shell, BP, entre otros, fueron atacados por el virus Night Dragon que fue distribuido utilizando ataques denominados spear phishing. El virus permitía a los ordenadores infectados ser controlados de forma remota por los atacantes. Impacto físico: Ninguno, aunque se sabe que los atacantes filtraron
planos operacionales de sistemas SCADA e incluso datos.
b. 2010: Stuxnet fue el gusano dirigido a reprogramar los sistemas industriales de la central nuclear de Natanz en Irán. Este virus interceptó y modificó datos en los PLC (Controladores Lógicos Programables). Impacto físico: Destruyó una quinta parte de las centrifugadoras nucleares
de Irán.
30
Amenazas
Y por si fuera poco…
en el SCADA 4G los sensores y sus redes de
comunicaciones son un punto vulnerable
peak in the
service demand
flooding attack
signal
attenuation
ambient noise
wrong topology
configuration
replay attack
tampering attack
sink hole attack
black
hole
jellyfish attack
Node limitations
Mobility
Wireless medium
Absence of infrastructure
Resources
extenuation
31
Amenazas
El desafío de los sistemas SCADA 4G:
• Los protocolos de comunicación no
están diseñados para incluir la
seguridad de manera nativa
• Los tradicionales esquemas de
protección basados exclusivamente
en criptografía dejan de ser
aplicables a sistemas distribuidos,
autónomos y con capacidades de
procesamiento y batería limitadas
32
Amenazas
¿Podemos hacerlo mejor?
33
Amenazas
• Medidas organizativas
• Concienciación en ciberseguridad
• Mejores políticas de seguridad (y asegurar su cumplimiento)
• Separación de tareas
• Auditorías externas frecuentes (análisis de riesgos)
• Medidas técnicas
• Seguridad en el ciclo de desarrollo/explotación/mantenimiento:
• Identificación de requisitos
• Diseño: Security by design
• Implementación/integración
• Test: regresión, stress, robustez, intrusión…
• Instalación y mantenimiento (¡más test!)
• Criterios de evaluación y métricas
• Benchmarking = comparación+selección de componentes
• Herramientas de evaluación
En lo que podemos mejorar para protegernos mejor
34
Metodología de (pen)testing
1. Definición del TOE (Target Of Evaluation)
2. Recolección de información
3. Modelado del sistema
4. Modelado de amenazas
5. Implementación del vector de ataque
6. Explotación: Ejecución del attack payload
(attackload)
7. Examen de los resultados
35
Metodología de (pen)testing
1. Definición del TOE (Target Of Evaluation)
• Definimos el sistema o
componente cuya seguridad
queremos evaluar
• Más importante de lo que
parece. Cuanto más crítico el
componente, más pertinente el
test
• Determinar el valor del activo es
esencial análisis de riesgo
36
Metodología de (pen)testing
2. Recolección de información
• Visión de gradiente (de caja negra o caja blanca)
• Análisis de documentación (por ejemplo: RFC, estándares, etc)
• Ingeniería inversa (lo normal en sistemas SCADA)
• Herramientas de escaneo (descubridores de topología: nmap,
sniffers: tcpdump, etc) • Equipos, puertos, patrones de trafico, etc
• Decompilador
• Etc
0x234957AB41…
? ?
37
Metodología de (pen)testing
3. Modelado del sistema
• El objetivo es a comprender la influencia que tienen los
inputs del sistema en el procesamiento de los outputs
0x234957AB41…
ID nodo Mensaje de control: enciende sensor
0x2350000000…
ID nodo Mensaje de control: OK
38
Metodología de (pen)testing
4. Modelado de amenazas
• En este momento y a partir de la información recogida
previamente, debemos pensar como si fuéramos
atacantes en cual va a ser nuestra estrategia de
penetración. Cuales deben ser nuestros objetivos y
que manera tendríamos de llegar hasta ellos.
• Concepto de hipótesis de fallo – ejemplos:
• Sobre la sintaxis:
• ¿Qué pasa si desbordo el tamaño del paquete?
• ¿Qué pasa si mando comandos incomprensibles?
• Sobre la semántica:
• ¿Qué pasa si no identifico al nodo?
• ¿Qué pasa si lanzo mensajes contrarios?
• Sobre el tiempo (importante la dimensión temporal)
• Partiendo de acciones atómicas podemos componer
ataques complejos
Attack tree
39
Metodología de (pen)testing
5. Implementación del vector de ataque
• Para construir los vectores de ataque podemos utilizar algunas
herramientas existentes, sobre todo si es tecnología TCP/IP
• Una vez determinada la hipótesis, la implementación es
relativamente rápida
40
Metodología de (pen)testing
6. Explotación: Ejecución del attack payload
(attackload)
• El objetivo es explotar la carga de ataque en base a las hipotéticas
establecidas y confirmar que las vulnerabilidades existen
Es difícil acertar a la primera: Lo normal es hacer varios intentos
(y que tampoco funcione):
41
Metodología de (pen)testing
7. Examen de los resultados
• Es interesante determinar hasta que punto los resultados de la
experiencia son repetibles. La inyección del exploit puede ser
determinista o indeterminista dependiendo de la casuística de
condiciones que se dieron en la experiencia.
• Este punto realimenta la fase 1: nos lleva a intentar determinar mejor la
configuración original del TOE previa al ataque
El pentesting se
asemeja a un
proceso en espiral
42
Metodología de (pen)testing
BONUS: Consejo útil
• Reset del sistema: restaura el estado del TOE para futuros pentests.
Esto evitará que estados inconsistentes del sistema te lleven a hipótesis
incorrectas sobre su nivel de seguridad.
Caso práctico de un
(pen)testing
43
44
Caso práctico de un (pen)testing
1. Plataforma de evaluación
2. Set up
3. (pen)testing paso a paso
1. Definición del TOE (Target Of Evaluation)
2. Recolección de información
3. Modelado del sistema
4. Modelado de amenazas
5. Implementación del vector de ataque
6. Explotación: Ejecución del attack payload (attackload)
7. Examen de los resultados
45
Plataforma de evaluación
1. Dispositivos
• Raspberry pi model 2 + Nano adaptador de red usb
• Nodo central
2. Red de control + Red de datos
46
Plataforma de evaluación
3. Emulación de la movilidad
• Reglas en las tablas IP del kernel de linux
47
Set up
1. Topología a 2 saltos
Nodo Malicioso
48
(pen)testing paso a paso
1. Definición del TOE (Target Of Evaluation)
2. Recolección de información
3. Modelado del sistema
4. Modelado de amenazas
5. Implementación del vector de ataque
6. Explotación: Ejecución del attack payload
(attackload)
7. Examen de los resultados
49
Definición del TOE
1. Vulnerabilidades en el protocolo de
encaminamiento
• Determinar la topología de la red
• Identificar cambios en la topología
2. Tipos de protocolos de encaminamiento
• Proactivos
• Reactivos
• Hibridos
3. En nuestro caso
• Optimized Link State Routing protocol (OLSR)
50
Recolección de información
1. ¿Qué protocolo se está empleando?
• Determinar las vulnerabilidades a explotar
2. ¿Cuál es la topología de la red?
• Conocer la red en su conjunto
3. ¿Qué nodos tengo a mi alcance?
• Determinar el alcance mis ataques
4. ¿Qué información se intercambian?
• Cómo se establecen los enlaces
5. ¿Hay algún flujo de información?
• Determinar puntos de inyección
51
Recolección de información
192.168.2.41 -> 192.168.2.44
Receiver MAC <MAC_42>
Sender MAC <MAC_41>
Sender IP 192.168.2.41
Receiver IP 192.168.2.44
192.168.2.44 -> 192.168.2.41
Receiver MAC <MAC_42>
Sender MAC <MAC_44>
Sender IP 192.168.2.44
Receiver IP 192.168.2.41
52
Modelado del sistema
1. Tipos de mensajes
• HELLO
• Descubrimiento de vecinos
• TC (Topology Control)
• Información sobre la topología de la red
2. Extensión Link Quality
• Calidad del enlace desde un nodo vecino
• LQ -> Probabilidad de un nodo de recibir los mensajes de un nodo
adyacente
• Calidad del enlace hacia un nodo vecino
• NLQ -> Probabilidad de un nodo adyacente de recibir los mensajes
generados por un nodo
53
Modelado de amenazas
1. Interferir en la topología de red
• Retransmisión de paquetes TC pasado un tiempo
Crear enlaces que han dejado de existir
2. Insertar nodos en la red
• Anunciar nodos y enlaces falsos
Creación de nuevas reglas en las tablas de encaminamiento de los
nodos
• Sobrecargar la memoria de los nodos
3. Reencaminar el tráfico a través de un nodo
• Insertar un nodo en una ruta concreta (Man in the middle)
Alterar la información
Pérdida de información
54
Implementación del vector de
ataque1. Generar paquetes de tipo HELLO
• Anunciar al nodo MALICIOSO como vecino
• Máxima calidad de enlace LQ -> 100% y NLQ 100%
2. Generar TCs con enlaces falsos
• TC del nodo MALICIOSO
• TC (falso) de los nodos vecinos
3. Dirigir nuestros mensajes hacia las víctimas
MALICIOSO
55
Explotación: Ejecución del attack
payload (attackload)
… EN VIVO Y EN DIRECTO
Y AHORA …
56
Examen de los resultados
1. Vulnerabilidad explotada
a. OLSRd con la extensión de Link Quality
b. Acceso nuevos tipos de ataque
Tampering attack (Modificar los paquetes)
Selective forwarding (Descartar paquetes)
Jellyfish (Retrasar el envío)
2. Contramedidas
a. Plugin de seguridad
Utiliza firma SHA de paquetes
Pero no evita que un nodo mienta sobre su visión de la calidad de
sus vecinos
b. Mecanismos de reputación distribuidos colaborativos
c. Mecanismos de Watchdogs distribuidos basados en
consenso
GRACIAS A TODOS POR
VUESTRA ATENCIÓN
57
https://cybercamp.es @CyberCampEs#CyberCamp15