Inicio / Blog / Acceso seguro a los SCI: doble factor y accesos externos

Acceso seguro a los SCI: doble factor y accesos externos

Publicado el 31/05/2018, por INCIBE
Acceso seguro a los SCI: doble factor y accesos externos

Introducción al doble factor de autenticación

Hoy en día existen una serie de tareas, como la actualización del software, las labores de mantenimiento o los cambios de configuración, que se realizan de forma periódica y son necesarias para el correcto funcionamiento del sistema. En ocasiones, es posible que estas tareas se lleven a cabo desde el exterior y por actores externos a la organización (ej. fabricantes o ingenierías). Este acceso puede realizarse de forma no segura o desde un entorno que ha podido ser comprometido y es especialmente en estos casos, donde se recomienda contar con un acceso con doble factor de autenticación.

Esta medida para controlar el acceso no es nueva, ya que se ha utilizado desde hace tiempo en los sistemas de TI, pero con la llegada de la Industria 4.0 y las nuevas interconexiones entre los sistemas de control y otras áreas, es necesario implementar medidas que proporcionen cierto control a los accesos que se realizan a estos sistemas. Aplicar diferentes mecanismos para realizar la autenticación añade una capa más de seguridad a los accesos, ya que los atacantes necesitarán superar ambos mecanismos para acceder al sistema.

Tradicionalmente, el control de acceso se ha realizado mediante usuario y contraseña. Este binomio permite identificarnos (decir quiénes somos) y autenticarnos (somos quien decimos ser). Si a esta combinación de usuario/contraseña le agregamos “algo que tenemos” (ej. token USB) o “algo que somos” (ej. huella dactilar o reconocimiento facial), estaríamos ante una autenticación de doble factor, que no se debe confundir con la autenticación en dos pasos, ya que en el primer caso son necesarias dos “piezas” para poder realizar la autenticación (una pieza de información y una pieza de un elemento físico), mientras que en el segundo caso la autenticación se realiza en dos fases, por ejemplo, cuando recibimos un email de confirmación o un código mediante SMS.

En la web TwoFactorAuth.org se encuentra disponible un listado de muchas de las aplicaciones y servicios de terceros que permiten el doble factor de autenticación, desde donde se pueden comprobar los servicios online que permiten su utilización, así como el mecanismo utilizado (ej. SMS, Email, llamada telefónica, Token Hardware o Token Software).

Es posible que algunos entornos de sistemas de control industrial, por su naturaleza, precisen de conexión con o desde servicios en la nube (ej. determinados servicios de algunos fabricantes en el ámbito industrial), en los cuales sería conveniente activar mecanismos de doble factor (ej. Token Software).

Token basado en software o hardware

Hoy en día, el mecanismo de autenticación de doble factor más utilizado es un código aleatorio generado por un token físico o basado en software.

Estos tokens realizan una operación criptográfica cuyo resultado es un código de uso único, esta operación se ejecuta cada cierto tiempo y proporciona códigos con una duración temporal (ej. 1 minuto). Además se basa en la hora y en el protocolo OTP (One-Time-Password) para generar el código final.

Los tokens físicos, como por ejemplo los tokens RSA SecurID o YubiKey, son menos utilizados ya que al estar basados en hardware tipo tarjeta o llavero tienen un coste adicional. En cambio, existen soluciones de tokens basados en software, como Google Authenticator, que son gratuitos e incluso disponen de la posibilidad de una aplicación móvil.

 

 

Al incluir un doble factor, el flujo de comunicación se ve alterado, ya que para iniciar sesión en un servicio se deberá utilizar, además del binomio usuario/contraseña, el código OTP generado para dicho acceso.

Actualmente existen varias soluciones basadas en token software que podrían ser utilizadas para desplegar una solución de doble factor de autenticación.

  • Google Authenticator: es una aplicación móvil de doble factor de autenticación (2FA) que utiliza el algoritmo de contraseña de un solo uso basado en el tiempo (TOTP) y el algoritmo de contraseña de un solo uso basado en HMAC (HOTP), para autenticar a los usuarios. Existe un módulo PAM para la instalación en sistemas Linux y poder realizar la autenticación contra sistemas RADIUS.
  • Authy: aplicación Open Source multiplataforma: iPhone, Android o escritorio y dispone de tres combinaciones de autenticación: Authy SoftToken, Authy OneCode y Authy OneTouch.
  • Yubiko: solución basada en hardware llamada YubiKey, es un pequeño dispositivo de hardware que activa el doble factor con el simple toque de un botón.
  • DUO: permite a los usuarios proteger sus inicios de sesión y transacciones mediante la autenticación a través de sus smartphones y la aplicación pude utilizarse en modo offline. Es compatible con sistemas Linux y Windows, por ejemplo, en Windows sería posible utilizarlo para conexiones RDP.

 

 

 Doble factor en los accesos externos

Todo acceso externo a los sistemas de control debe de estar debidamente protegido, controlado, monitorizado y registrado, por ello, es muy importante saber desde qué dispositivos se realizan estos accesos y si están debidamente autorizados. Dentro de lo posible y si la infraestructura lo permite, el control de los dispositivos autorizados se debería realizar utilizando el protocolo 802.1x junto con un servicio de autenticación centralizado (ej. Directorio Activo). Además, para el acceso VPN sería conveniente agregar una capa de cifrado mediante el uso de SSL.

No obstante, para incrementar el nivel de seguridad en los accesos externos, sería recomendable añadir un doble factor, que también puede ser desplegado en las propias aplicaciones SCADA, estaciones de operador, escritorios virtualizados, acceso a escritorios remotos u otros elementos que se consideren críticos para la infraestructura OT.

A continuación, se expone el flujo de autenticación de un acceso externo realizado vía VPN que dispone de un sistema de doble factor de autenticación. El proceso resumido sería:

  1. Autenticación con usuario y contraseña en el controlador de dominio.
  2. El controlador de dominio comprueba las credenciales
  3. Si son correctas, solicita una doble autenticación mediante un token
  4. El usuario verifica mediante el doble factor
  5. El sistema le concede el acceso a la VPN

 

 

Es aconsejable implementar el doble factor de autenticación en todos los servicios que sean considerados críticos, como por ejemplo el SCADA o servidores de servicios auxiliares de seguridad, y siempre que se requiera un acceso desde el exterior. En caso de que no sea posible implementar estos mecanismos en dichos sistemas, se recomienda limitar el acceso a los mismos e incrementar la monitorización en los accesos. También se debe considerar la utilización de un gestor de contraseñas, que soporte doble factor.

Desplegar el doble factor de autenticación permitirá mitigar en gran medida los ataques más comunes para robar las credenciales de acceso a estos servicios críticos. Algunos de los vectores utilizados por los cibercriminales para intentar conseguir el acceso a estos sistemas mediante la suplantación de identidad del usuario o máquina legítimos son:

  • Campañas de ingeniería social (phising) para el robo de credenciales.
  • Explotación de vulnerabilidades del tipo 0day en nuestros sistemas.
  • Infección de malware para obtener información y robar contraseñas.
  • Ataques de fuerza bruta y diccionario a los diferentes sistemas.

En estos casos, si se produjera con éxito el potencial ataque y se tuviera desplegado un sistema de doble factor, el ataque en sí mismo no permitiría obtener el control del/los sistemas, ya que sería necesario obtener la segunda pieza del doble factor de autenticación para conseguir acceso al sistema.

El doble factor y el control en los accesos externos es una pieza más de la estrategia de defensa en profundidad, así como todas las políticas y buenas prácticas de los estándares y guías de buenas prácticas internacionales.

Finalmente, cabe remarcar que la seguridad al 100% no existe y, aunque seguir una estrategia de ciberseguridad pueda elevar el nivel de protección de una compañía, siempre debemos estar preparados para mitigar en el menor tiempo posible las nuevas vulnerabilidades y vectores de ataque que puedan ser utilizados en los próximos ataques.