viernes, 31 de marzo de 2017

Nueva web: iSecurify.com

En abril de 2011 escribí el primer artículo del blog "Seguridad, Sistemas y Privacidad".  Han pasado ya seis años y con más o menos regularidad he intentado mantener el blog activo.

Se acumula mucha experiencia en seis años de trayectoria profesional y, siendo parte implicada en el siempre cambiante escenario de las tecnologías de la información, esta trayectoria me ha llevado a fundar un nuevo proyecto: iSecurify.


iSecurify pretende dar salida a todas mis inquietudes profesionales en el ámbito de la ciberseguridad; por este motivo, ésta es la última entrada de este blog,  No es un cierre, si no todo lo contrario, seguiré publicando nuevas entradas, pero únicamente en el blog de iSecurify.

Os invito a que visiteis mi nueva página en iSecurify i descubráis los nuevos contenidos.


Gracias por seguir este blog, y espero que el nuevo blog iSecurify os parezca tan interesante -o más- que este que hoy deja de actualizarse.


martes, 24 de mayo de 2016

Utilizando Shodan para descubrir depósitos de... ¿combustible?

Desde hace algo más de un año he estado profundizando en el área de la ciberseguridad de los Sistemas de Control Industrial (ICS) y sistemas SCADA.  (En este mismo blog podéis encontrar algunos artículos sobre el tema: “Principios de seguridad IT vs OT”, o “ICS Cybersecurity - Security concerns”).

En esta entrada voy a contar como en una demo en directo descubrí un controlador (PLC) conectado a Internet el cual parecía controlar las válvulas de un depósito de fluidos (ya veremos que tipo de fluidos).

Sucedió hace unos meses, cuando me invitaron a dar una charla sobre ciberseguridad en sistemas industriales, en una conferencia que se celebraba en Atenas (Grecia).  Después de hablar sobre PLCs y sistemas SCADA, sobre los protocolos industriales (DNP3, Modbus, Profinet, etc.), sobre IT/OT, etc. pasé a una demostración en directo sobre como utilizar herramientas como SHODAN, ZoomEye o Censys para descubrir sistemas industriales conectados a Internet.  Y lo que pasó fue lo siguiente...

Nota: En las capturas de pantalla he ocultado IPs y otra información identificativa, pero además publico ahora este post porque esa dirección IP ya no está activa y el dispositivo localizado parece estar actualmente desconectado de Internet.

SHODAN (www.shodan.io) es un buscador de dispositivos conectados a Internet.  En lugar de buscar contenido en páginas web, como lo haría Google, extrae la información de los banners de cualquier IP que sea accesible desde Internet.  Este buscador permite introducir filtros en la casilla de búsqueda para afinar más los resultados.  Entre los filtros que podemos aplicar tenemos port (para filtrar por número de puerto), country (por código de país), city, hostname, etc.  (Nota: es necesario acceder como usuario registrado para poder utilizar los filtros).

Durante la charla había hablado de los controladores lógicos programables (PLC, por sus siglas en inglés) conocidos también como autómatas programables, dispositivos que permiten la interacción entre el mundo digital y el mundo físico.  Un PLC puede responder a una orden digital cerrando o abriendo una válvula, apagando o poniendo en marcha un motor eléctrico, o modificando su velocidad, etc.  También, en sentido contrario,  a partir de un evento físico puede generar una información digital, por ejemplo cuando un horno alcanza una determinada temperatura o cuando el caudal de líquido por una tubería no es el adecuado.  Había puesto ejemplos de varios PLC, entre ellos, uno de los más populares, la serie S7 de Siemens (SIMATIC).

Sabemos que este modelo de PLC, utiliza el puerto 102 para las comunicaciones vía Indutrial Ethernet.  Por lo tanto, podemos realizar una búsqueda en Shodan con el filtro “port:102” para ver cuantos dispositivos conectados a Internet tienen ese puerto abierto.  Para afinar más la busqueda incorporé filtros por localización (country, city).

Localización de dispositivos con el puerto 102 abierto.
Descubriendo un SIMATIC S7 con el puerto 80 abierto

La mayoría de los PLC llevan incorporado un pequeño servidor web para tareas de configuración o monitorización, así que, de entre los resultados obtenidos elegimos uno, al azar, para conectarnos mediante el navegador web (puerto 80/HTTP).  En este caso, al acceder a la IP que nos ha devuelto el buscador, vemos la pantalla típica de un PLC SIMATIC.



En el marco de la izquierda de la pantalla hay varios enlaces, que nos proporcionan información sobre el dispositivo, características, configuración, logs, etc.  Lo interesante es que los sistemas S7 actuales permiten al usuario crear páginas personalizadas para interactuar con el PLC (denominadas "user-defined web pages") y que se encuentran en el menú "User Pages".

Así, después de pulsar sobre el link "User Pages" del PLC, apareció la siguiente pantalla con unos preocupantes botones "Start", "Stop" y "Reset".

Conviene recordar que hemos llegado hasta aquí simplemente introduciendo una dirección IP en el navegador, sin vulnerar ninguna medida de seguridad, ni saltar ningún proceso de autenticación usuario/contraseña.  Se trata de un servidor web con una IP pública.

Pantalla principal de las "user-defined pages" del PLC

Pulsando en los otros enlaces se accede a otras páginas definidas por el usuario, con diversos datos sobre la actividad del PLC, entre las cuales otra pantalla, aún más preocupante, denominada "Overview Tank" mostrando lo que parece un depósito junto con unos botones denominados “Open valve” y “Close valve”.

Pantalla "Overview Tank" directamente accesible desde Internet
¿Se trata de un PLC que controla la apertura y cierre de una válvula de un depósito? ¿Y está accesible vía HTTP sin ninguna protección?  En este punto dejé la demo, ya que en la sesión no se trataba de explotar nada sino de concienciar sobre el peligro de conectar sistemas industriales directamente a Internet... y el objetivo se había alcanzado sobradamente.  Aún así, puesto que una de las características de SHODAN es que ofrece la posibilidad de geolocalizar las IPs encontradas, me propuse avanzar por ahí para ver si podíamos averiguar algo más sobre ese PLC.

Para ello basta con copiar las coordenadas (latitud, longitud) que nos ofrece el resultado e introducirlas en Google Maps...

Localizando las coordenadas de la IP en Google Maps

.. y a continuación pasar a la vista "Street View".

El resultado nos dejó a todos bastante sorprendidos:

Vista Street View tras introducir las coordenadas en Google Maps

Lo único que espero es que el PLC correspondiera al túnel de lavado y no a la estación de servicio que hay detrás porque, hasta donde yo sé, el detergente líquido no explota.

Por suerte, al cabo de unas semanas, el router al que pertenecía esa IP ya no estaba operativo o, al menos, no estaba localizable directamente desde Internet.

lunes, 9 de mayo de 2016

ICS Cybersecurity: Security Concerns

Industrial Control Systems (ICS) security represents a significant challenge in today's world. Some months ago I gave a presentation on ICS Cybersecurity in the ISACA's EuroCACS/ISRM Conference in Copenhaguen, and now, I'm going to explain in this post some concepts we were discussing there about security concerns. 


Industrial infrastructure has a very long life cycle (over 20 or 25 years) and for this reason, most of the implemented security measures in control systems are outdated and rely upon a sort of “security through obscurity” (if an attacker doesn't know what to attack, we are secure) but of course this is wrong, -it has been proven that this is a wrong approach! 

However, the fact that industrial systems adopt IP protocols certainly introduces a new security risk, but we must not forget that other risks already existed before and they had nothing to do with the Internet. 

Let's look at some of these security concerns: 


1) Weak communication protocols
We're working with communication protocols designed in the 70's and in the 80's: (DNP3, Modbus, ProfiNet, etc.) and most of them do not incorporate either authentication or encryption. Without authentication anyone who can access the network could send control signals to a specific device, and -as you know- a “bad guy” can gain access to the network in many different ways.  And without encryption, the data transmitted over the network can easily be obtained using a network sniffer (i.e., Wireshark). 

2) Weak passwords 
On one hand, we have lots of systems working with default usernames and passwords, that are not changed by the user, and they still remain as admin/admin, root/1234 … and so on (or even blank passwords). On the other hand, manufacturers are sometimes using hardcoded usernames and passwords to be used by its own technical service and they cannot be changed. If they’re known (most of them are included in technical documentation available on the Internet) anyone who gets access to the device could log in with a privileged account. In 2013 ICS-CERT published an advisory related to a hardcoded vulnerability found within roughly 300 medical devices, manufactured by some 40 different vendors, which could be exploited to gain access to the devices, including pacemakers, surgical and anesthesia devices, drug infusion pumps, patient monitors, as well as laboratory and analysis equipment.

3) Poor QoS
Quality of Service (QoS) has to do with the overall performance of the network.  Unlike a business network, an ICS network often needs a real-time communication, without latency, without packet loss, or any other “noise” that affects the quality of the communication.  This situation may be exploited to perform a Denial of Service (DoS) attack (i.e., via the insertion of rogue Ethernet frames into the network). And here, this is not about restarting a web server or having a delay in e-mail delivery, a DoS attack could bring very important systems off-line, and could even trigger a shutdown.

4) Internet connected web servers without protection
Many control systems have integrated web servers allowing maintenance and configuration tasks. If these systems are directly connected to the Internet it is possible to find them with specialized search engines like SHODAN. When the system has been discovered, if there are not well implemented security measures, the system becomes vulnerable.

In addition, when using an IDS/IPS as a countermeasure, common IDS/IPS do not take into account specific payloads and port numbers related to ICS protocols, such as Modbus or DNP3, leaving the system unprotected.

5) Difficult or nonexistent patching
Patching is the main countermeasure against known vulnerabilities that have been corrected by the vendor but, in critical systems, depolyment of patches must be scheduled with some weeks or months in advance, because there are many other tasks that must be executed before the process may be interrupted. That creates a “window of exposure” in which systems are vulnerable.

Furthermore, there are many old systems operating continuously and there is a reluctance to touch them all. If a patch (or a software update) is not tested it can also be a risk, as it might change the behavior of a component in a way that endangers the process stability.  

As an example: the Japanese company who owns the Fukushima nuclear power plant is still running about 48,000 computers on Windows XP (an outdated operating system without support nor upgrades).

48,000 PCs running on WIndows XP in nuclear plants


lunes, 22 de febrero de 2016

Recuperando archivos borrados

No hace mucho un usuario me llamó diciendo que se le había borrado todo lo que tenía en el disco duro del PC.  Según él, desde hacía unos días, tenía problemas al poner en marcha el PC y tenía que intentarlo varias veces hasta que conseguía arrancar bien ya que el equipo "decía no-se-qué del disco duro" (sic).  Transcurridos unos días, en el último de estos intentos el equipo arrancó "con el Windows vacío" (sic).

Al analizar el equipo observo que, efectivamente, no hay datos, ya que el equipo arranca con la configuración de fábrica: solicita confirmar la configuración de Windows, no hay ningún usuario creado, no hay ni rastro de los programas que había instalado el usuario, etc.  Todo parece indicar que se ha hecho un System Recovery para devolver el equipo a su estado original de fábrica.  

C.A.IN.E
Se trata de un Windows 7 y para intentar averiguar lo sucedido pongo en marcha el equipo con un CD de autoarranque de la herramienta forense C.A.IN.E. (http://www.caine-live.net).  Monto el disco duro del equipo como "solo lectura" (para no modificar nada de su contenido) y al acceder al árbol de directorios compruebo que los archivos de sistema de Windows tienen fecha y hora de unos instantes antes de recibir la llamada del usuario; que la carpeta "Archivos de Programa" está "limpia" (solo contiene los programas que vienen preinstalados en el sistema); que en la carpeta "Users" solo aparece el usuario por defecto, lo que parece confirmar mi sospecha de que en uno de los intentos de arranque del equipo, el usuario -de forma involuntaria- activó el proceso de "Restaurar el sistema a su estado de fábrica".

Puesto que podemos dar el disco duro por perdido (ya manifestaba problemas de hardware antes de la incidencia) y puesto que los del Servicio Técnico ya ha montado un nuevo PC para el usuario, vamos a ver si podemos recuperar archivos borrados del disco después de un System Recovery.

Veamos los pasos a seguir:

1) Clonar el disco duro afectado

En este caso no sería imprescindible, pero lo hago ya por costumbre (preservar el original y trabajar con una imagen o con un clon).

Para ello, en un equipo de laboratorio, conectamos el disco duro afectado y otro disco duro, vacío, que será el destino del clonado.  Arrancamos el equipo con C.A.IN.E. y con la herramienta XMount-GUI montamos el disco duro afectado como "solo lectura" y el disco duro vacío como "lectura/escritura".  (Pulsando con el botón derecho del ratón sobre el icono del disco duro en la barra de estado podremos cambiar el tipo de montaje: con el icono en color verde el montaje será en modo READ ONLY y con el icono en color rojo el montaje se hará en modo WRITEABLE).

Conectando los dos discos para el clonado
Utilizaremos GUYMAGER para realizar el clonado (con cuidado de no equivocarse de discos de origen/destino).

Seleccionamos el disco duro que queremos clonar (el que contiene los datos a analizar) y pulsamos con el botón derecho del ratón.  Aparecen 2 opciones: "Adquirir imagen" o "Clonar dispositivo".  En nuestro caso hemos elegido "Clonar" para disponer de un disco duro idéntico sobre el que trabajar, aunque también hubiera sido válido adquirir una imagen en formato "dd".

Proceso de clonado con GUYMAGER

2) Búsqueda de archivos eliminados

En este caso, ya que estamos trabajando con C.A.IN.E vamos a utilizar la herramienta PhotoRec que viene incorporada en el Live-CD (En otro post realizaremos la misma tarea con la herramienta Scalpel).  PhotoRec permite recuperar archivos perdidos tanto desde un disco duro como desde un archivo imagen del disco.

Al ejecutar PhotoRec primero solicita que indiquemos sobre que disco vamos a trabajar, el tipo de tabla de particionamiento y la partición donde están los datos que queremos recuperar.  Antes de iniciar el proceso de recuperación conviene acceder a la sección "[File Opt]" para seleccionar el tipo de archivos a recuperar.  Por defecto vienen todos marcados pero podemos seleccionar sólo aquellos que nos interesan (por ejemplo: doc, pdf, xls, jpg).

Finalmente pulsamos en "[Search]" para iniciar la búsqueda en la partición seleccionada y con las opciones indicadas, y nos permitirá seleccionar el directorio de destino donde almacenar los archivos recuperados.  Al finalizar el proceso aparecerá un resumen con el número de archivos recuperados y el tipo de archivo.

Resultado de la recuperación con PhotoRec

3) Recuperación de archivos

Tras ejecutar PhotoRec, en la carpeta de destino encontraremos todos los archivos recuperados.  En el caso que nos ocupa, conseguimos recuperar la mayoría de los documentos que tenía el usuario antes de realizar el System Recovery, incluyendo los archivos PST con los buzones de Outlook.

Al acceder a la ubicación donde ha guardado los archivos recuperados observamos que ha creado una serie de carpetas de nombre "recup_dirx" que continenen archivos cuyo nombre es una combinación de letras y números (por ejemplo: f1496457.pdf, f14968088.jpg, f1497955.xls, ...).  Por lo tanto, aunque tenemos todos los archivos, hemos perdido el nombre original y la carpeta donde estaba ubicado.

Listado de archivos recuperados con PhotoRec
Antes de empezar a abrir los archivos uno a uno, podemos clasificarlos por extensiones para organizarlos e intentar localizar los archivos que necesitamos.  Una vez los tengamos clasificados, podemos utilizar herramientas de búsqueda en el contenido de los documentos, o la "vista previa", para determinar de que archivos se trata.  Con un poco de suerte, analizando los metadatos de los archivos de Office obtendremos bastante información (fecha de creación, de modificación, autor y -en ocasiones- hasta el nombre original del archivo).  También, para algunos archivos JPG (fotografías) suele funcionar utilizar un programa que lea los metadatos EXIF para obtener el nombre original y la fecha/hora de creación (lo mismo sucedería con archivos de audio MP3 o de vídeo, que contengan metadatos).


jueves, 19 de noviembre de 2015

Principios de seguridad. Visión desde IT y desde OT.

En el ámbito de la Seguridad de la Información se definen fundamentalmente tres principios básicos: Confidencialidad, Integridad y Disponibilidad.  Aunque es cierto que también podemos considerar otras propiedades como "no repudio", "autenticación", "trazabilidad", etc., vamos a centrarnos en estos tres principios fundamentales, conocidos en inglés como "CIA triad" (tríada CIA, por Confidentiality, Integrity, Availability).
  • La Confidencialidad permite limitar el acceso a los datos de modo que sólo las personas (o recursos) autorizados puedan acceder a la información.
  • La Integridad garantiza que la información sea correcta, sin errores y que no pueda ser modificada sin permiso.
  • La Disponibilidad asegura que la información está accesible en un momento preciso y para las personas que la necesitan.
En los sistemas IT corporativos -los que se ocupan de los sistemas y el software de "negocio" (ERP, Base de datos de clientes, CRM, ...)- la puesta en práctica de los principios de la tríada CIA viene cumpliéndose en ese mismo orden de importancia: Confidencialidad, Integridad, Disponibilidad. Cuando hablamos de protección de la información, es habitual -por ejemplo- que una de las primeras medidas a implementar sea el cifrado de datos (medida directamente relacionada con la Confidencialidad).

Ahora bien, cuando nos adentramos en el área de seguridad de los Sistemas de Control Industrial (ICS, por sus siglas en inglés) la perspectiva puede ser diferente.  Los sistemas ICS están formados por dispositivos y redes que controlan los procesos industriales, y entiéndase aquí el término "industrial" en su sentido más amplio.  En concreto, para el caso que nos ocupa, podemos pensar en cualquier Infraestructura Crítica como Energía o Transportes, o en los dispositivos relacionados con "Internet of Things" (IoT) o en todo lo relativo a Smart Cities, por ejemplo.

Al área que se encarga de los ICS la denominamos OT (Operational Technology) y comprende los dispositivos, las redes y el software relacionados con la monitorización y el control de los procesos industriales.

Tradicionalmente, el área de OT ha vivido aislada del área de IT (y viceversa), pero en la actualidad, en la era de lo "Smart", del "IoT", de los sistemas SCADA. etc. se está produciendo una aproximación entre ambas áreas en lo que se denomina "Convergencia IT/OT".  Esta convergencia no es tarea fácil y uno de los retos a superar es la diferente visión de los principios de seguridad según el punto de vista de cada área.  Si para los equipos de IT (de soporte al negocio) prima la Confidencialidad sobre las otros principios de seguridad, para los ingenieros o técnicos de OT (de "planta") el orden de importancia de la tríada CIA es absolutamente opuesto: Disponibilidad, Integridad, Confidencialidad, primando por encima de todo la Disponibilidad.


El gráfico representa la inversión de las prioridades en cuanto a seguridad según se trata del área de Sistemas de IT o de Sistemas de OT.  Para los de Operaciones (OT) lo más importante es mantener el proceso industrial en funcionamiento, ya se trate de una cadena robotizada de producción; una red de suministro de energía, o de agua potable; o del sistema de control de una red de semáforos inteligentes.  La carencia de Disponibilidad podría derivar en una pérdida de control sobre el proceso o que se detuvieran las operaciones, con los consiguientes riesgos que ello implicaría tanto para la seguridad del sistema como para la seguridad física de las personas o los efectos en el medioambiente.

miércoles, 17 de junio de 2015

Actualización de la guía de seguridad para Sistemas de Control Industrial del NIST

El NIST (National Institute of Standards and Technology) acaba de publicar la segunda revisión de su "Guía para la Seguridad de los Sistemas de Control Industrial (ICS)".  El NIST es una agencia del Departamento de Comercio de los Estados Unidos que cuenta con una división denominada "Computer Security Resource Center" (http://csrc.nist.gov) quien se encarga de proveer recursos sobre seguridad de la información y elaborar guías y estándares tanto para el gobierno como para la industria.


Según nota de prensa del NIST de la semana pasada, esta revisión «incluye una nueva visión sobre como ajustar los controles de seguridad IT tradicionales para adaptarlos a los requisitos de rendimiento, fiabilidad y seguridad de los sistemas industriales (ICS), así como algunas actualizaciones en los capítulos de amenazas y vulnerabilidades, gestión del riesgo, prácticas recomendadas, arquitecturas y herramientas de seguridad».


Los Sistemas de Control Industrial (ICS, por sus siglas en inglés) engloban tanto el hardware como el software de los equipos de control de procesos, incluyendo sensores, actuadores, sistemas de control distribuido (DCS), autómatas programables (PLC) o sistemas de control y adquisición de datos (SCADA).


Tradicionalmente, los sistemas ICS se basaban en plataformas propietarias, aisladas y con limitadas posibilidades de actualización.  Hoy en día estos sistemas están intercomunicados con finalidades de monitorización o de operación remota desde los grandes centros de control, por lo que están dotados de conectividad a Internet.  Esta conectividad ha puesto de manifiesto las vulnerabilidades y amenazas que se ciernen sobre ellos, viéndose agravadas en los casos de que tales ICS formen partes de sistemas considerados Infraestructuras Críticas (suministro de energía, telecomunicaciones, sistema público de salud, etc.)


Las medidas -y herramientas- de protección que utilizamos en las áreas de IT (antivirus, Firewall, IDS, ... incluso políticas y procedimientos) están diseñadas para una infraestructura de IT "de negocio" o "de soporte al negocio" pero no son útiles para un entorno de operaciones industriales (OT, por las siglas en inglés de Operational Technology).  Esta actualización de la guía del NIST pretende adaptar los controles de seguridad IT para establecer una convergencia entre ambos entornos: IT/OT.


La guía "NIST SP 800-82, Revision 2, guide to industrial Control System (ICS) Security" puede descargarse desde aquí [PDF, 3,78 MB, 247 pág, EN]:



jueves, 14 de mayo de 2015

Presentación del Observatorio de Ciberseguridad, Derechos y Libertades (OBCIBED)

El pasado 30 de abril, en la sede del Instituto de Ciencias Políticas y Sociales (ICPS) en Barcelona, tuvo lugar la presentación institucional del "Observatori de Ciberseguretat, Drets i Llibertats" (OBCIBED).

El Observatorio es una iniciativa que parte del grupo de investigación "Libertad, Seguridad y transformaciones del Estado" (LTSE) de la Universidad Autónoma de Barcelona (UAB) y cuenta también con el apoyo y la colaboración de ISACA Barcelona.  Engloba a un colectivo multidisciplinar de profesionales provenientes de los ámbitos de la seguridad de la información, la ciberseguridad, la práctica jurídica, seguridad pública y privada y las ciencias políticas.

Los OBJETIVOS del Observatorio son:

  • Observar, analizar e informar sobre la ciberseguridad y su relación con los derechos y libertades fundamentales.
  • Contribuir al respeto de los derechos humanos frente a la ciberseguridad.
  • Analizar y estudiar el concepto de ciberseguridad y su impacto en la seguridad y defensa nacional e internacional, tanto en el sector público como en el privado.
  • Promover una gestión y gobierno de la ciberseguridad riguroso, transparente y democrático.
  • Crear espacios de reflexión y diálogo en relación al equiibrio entre ciberseguridad, derechos y libertades.
  • Formar, capacitar y concienciar sobre ciberseguridad, derechos y libertades.
  • Aportar una visión holística y transversal contemplando todas las perspectivas: jurídica, tecnológica, organizacional y social.

Para alcanzar estos objetivos cuenta con un Consejo de Dirección, un Consejo Asesor y un equipo de colaboradores que está abierto a cualquier profesional interesado en aportar y participar en las actividades del grupo: emisión de informes y publicaciones científicas cobre ciberseguridad, derechos y libertades; difusión de las investigaciones; docencia; organización de cursos, jornadas, seminarios o congresos; asesoramiento científico y técnico, etc.

El acto fue presentado por Joan Marcet (Director del ICPS) y contó con la intervención de tres de los miembros del Consejo de Dirección del OBCIBED: Joan Lluis Pérez Francesch (Director del grupo LSTE de la UAB), Josep Cañabate (Profesor de la Facultad de Derecho de la UAB) y Xavier Rubiralta (Responsable de Seguridad de la Información de la UAB).

Esperamos poder conocer pronto los frutos de esta iniciativa y que llegue a convertirse en un espacio de referencia en el estudio y análisis de la ciberseguridad y los derechos y libertades.

Acto de presentación del OBCIBED (30/04/2015)