3 nov 2022

FIDO y WebAuthn: MFA resistente al phishing

Lo más probable es que haya estado leyendo acerca de un término relativamente nuevo llamado MFA resistente al phishing. De hecho, estamos viendo requisitos gubernamentales recientes para la implementación de MFA resistente al phishing. ¿Qué es exactamente, cuáles son los beneficios y qué significa para una organización? Este concepto puede resultar un poco desalentador al principio, por lo que comenzaremos por el principio, con la autenticación.

La autenticación es el proceso de confirmar la identidad de alguien. En otras palabras, ¿eres realmente la persona que dices ser? Cada vez que ingresa a un sitio web con su nombre de usuario y contraseña, se está autenticando. La autenticación a menudo se combina con la autorización. Una vez que esté autenticado (por ejemplo, su identidad ha sido confirmada), la autorización determina lo que puede y no puede hacer. De lo que estamos hablando hoy es solo de la pieza de autenticación.

Tradicionalmente, la autenticación ha sido una combinación de nombre de usuario y contraseña. Su nombre de usuario indica quién es usted, el conocimiento de su contraseña confirma su identidad. El problema con las contraseñas es que son dolorosas y confusas para que las personas las usen y relativamente fáciles de comprometer para los atacantes.

Hay varias formas en que una contraseña puede verse comprometida, por ejemplo, sitios web de phishing que recopilan sus contraseñas, malware que registran las pulsaciones de teclas, personas que usan contraseñas débiles y fáciles de adivinar, personas que reutilizan la misma contraseña en varias cuentas y sitios web comprometidos. Las contraseñas han demostrado ser una forma débil de autenticación. Si bien pueden haber sido "suficientemente buenas" hace diez o veinte años, esa situación ha cambiado.

Como resultado, se desarrolló una forma mucho más fuerte de autenticación, algo llamado autenticación de dos factores (2FA): se requieren dos medios, generalmente algo que sabe (su contraseña) y algo que tiene (su dispositivo móvil) o algo que es (biometría). De esta manera, si su contraseña se vio comprometida, su identidad aún está segura ya que un atacante no tendría acceso al segundo método (como su dispositivo móvil). Este concepto es similar a una tarjeta de cajero automático: se necesita tanto la tarjeta física y el PIN de la misma.

Este método en capas es un enfoque mucho más sólido y está siendo adoptado por muchas organizaciones y sitios web. De hecho, la autenticación de dos factores se está convirtiendo rápidamente en un estándar, ya que es muy eficaz para detener los ataques basados ​​en la autenticación. Pero hay varios problemas.

En primer lugar, hay que ponerse de acuerdo sobre cómo queremos llamar a esto. Originalmente, el término más común era autenticación de dos factores, ya que estaban involucrados dos factores. Pero a menudo se usan otros nombres para incluir la verificación en dos pasos, la autenticación fuerte y la contraseña de un solo uso (OTP). Sin embargo, la mayor parte de la industria parece estar estandarizando el término autenticación multifactor (MFA). Muy a menudo, las personas se confunden pensando que hay diferencias en estos (y puede haberlas), pero en general estos términos se refieren a lo mismo. Aquí usaremos el término MFA en el futuro.

Desafortunadamente, no solo usamos diferentes nombres para la misma solución, sino que también se implementan de muchas maneras diferentes. Tres de las formas más comunes en SANS en las que vemos que se implementa MFA son las siguientes:

  • Se envía un código único al dispositivo móvil.
  • Se genera un código único en una aplicación en el dispositivo móvil.
  • Se envía un código único o una solicitud al dispositivo móvil

Hay otras variaciones de MFA, pero casi todas comparten una debilidad, se requiere interacción humana. Tienes que hacer algo con ese código. Y, cuando se requiere interacción humana, las personas pueden ser objeto de suplantación de identidad. En otras palabras, un atacante puede entrometerse en el proceso de autenticación. Después de que una víctima inicia sesión en un sitio web, y después de que la víctima obtiene su código MFA, ese código puede ser sustraído de la víctima y utilizado por el atacante para obtener acceso al sitio web. En otras palabras, estos enfoques de MFA son "phishing".

Ahora, antes de que entremos en pánico, cualquiera de estos métodos MFA es exponencialmente mejor que solo las contraseñas. ¿Deberíamos dejar de usar MFA porque son "phishing"? Absolutamente no, hay un gran valor para ellos. Pero los atacantes solo mejorarán en la explotación del lado humano de esto. Entonces, ¿qué sigue?

MFA resistente al phishing

La MFA resistente al phishing no es más que el mismo proceso de autenticación que acabamos de describir, pero se elimina las personas de la ecuación. Hay varias formas diferentes de implementar esto, pero el enfoque más común es el llamado FIDO.

La MFA resistente al phishing, como muchas prácticas modernas de ciberseguridad, cae bajo el paraguas de los principios y la arquitectura de confianza cero.

Las Directrices de Identidad Digital (NIST.SP.800-63-3) del Instituto Nacional de Estándares y Tecnología establecen tres niveles de garantía del autenticador. El nivel más alto, AAL3, requiere claves basadas en hardware con protocolos criptográficos.

La autenticación FIDO2 y WebAuthn a través de claves basadas en hardware se encuentran entre las formas más comúnmente citadas de MFA resistente al phishing en el nivel tres. Ambos estándares tienen como objetivo reemplazar las contraseñas a través de una criptografía fuerte vinculada a un autenticador externo, como una clave de seguridad USB, un dispositivo en posesión del usuario o API de administración de credenciales.

FIDO es un estándar creado hace años por FIDO Alliance, un equipo sin fines de lucro de múltiples organizaciones de todo el mundo. Este es un estándar neutral del proveedor que está siendo adoptado por la mayoría de los grandes jugadores, como Google, Amazon, Microsoft y Apple. Si escucha a la gente hablar sobre WebAuthn, esa es la tecnología que admite y ayuda a implementar el estándar FIDO. FIDO y WebAuthn en un nivel alto hacen referencia a la misma solución (menciono esto porque siempre me confundió). Entonces, ¿cómo funciona esto?

Cuando se crea una cuenta en línea (o se actualiza una cuenta existente para usar FIDO), se registra el dispositivo en el sitio web. Este dispositivo puede ser un token especial (como una llave YubiKey) o puede usar su dispositivo móvil (como el teléfono inteligente) como token. Cuando registra su dispositivo, el sitio web crean un par de claves criptográficas únicas para su cuenta (conocido como cifrado asimétrico o criptografía de clave pública). No se necesitan conocer los detalles técnicos, pero lo que sucede se basa en este par de claves, ese sitio web ahora 'sabe' y confía en su dispositivo. En el futuro, para iniciar sesión en el sitio web, simplemente inicie sesión con su dispositivo, a menudo no se requiere contraseña.

Desde la perspectiva del usuario (que variará de un sitio web a otro y de un dispositivo a otro), todo lo que sucede es que cuando visita un sitio web para el que ha creado una cuenta, le pedirá que se verifique con el dispositivo. Las formas en que puede hacer esto incluyen conectar su dispositivo al puerto USB de su computadora o usar tecnologías inalámbricas como NFC.

Para asegurarse de que realmente es usted con su dispositivo (en lugar de que alguien robe su dispositivo e intente iniciar sesión como usted), se le pedirá que demuestre que realmente es usted con datos biométricos (huellas dactilares, escaneo facial, etc.). Desde la perspectiva del usuario, todo el proceso de autenticación no es más que datos biométricos.

Lo que hace que esto sea tan efectivo es que no hay un código único para engañar a las personas con phishing. Casi todo sucede entre su dispositivo y el sitio web. La única interacción humana es la biométrica, algo que la gente ya hace todos los días. Por lo tanto, tenemos una solución que no solo es mucho más segura ya que es mucho más resistente a los ataques de phishing, sino que también es mucho más fácil de usar para las personas. ¿Esta tecnología elimina todo riesgo? No. A medida que esto se implemente ampliamente, se desarrollarán nuevos ataques, pero será MUCHO más difícil para el atacante.

PassKey es el nombre que los miembros de FIDO Alliance le han dado a esta nueva forma de autenticación, para incluir a Apple, Google y Microsoft. De hecho, Apple lanzó PassKey como parte de iOS16 y MacOS Ventura, y se espera que otras grandes empresas anuncien estas funciones pronto (si es que aún no lo han hecho).

Otras formas de MFA

Otras formas de MFA resistentes al phishing incluyen navegadores que admiten tokens biométricos o claves de seguridad físicas, y solicitudes de autenticación que están firmadas criptográficamente y son únicas para el dominio de origen.

Si bien los estándares de autenticación podrían refinarse aún más, la realidad es que muchas organizaciones no implementan MFA en absoluto y esto las deja abiertas a las filtraciones de datos. La mayoría de las organizaciones se encuentran en el nivel uno de autenticación del NIST (solo contraseña), nivel dos (MFA) o una combinación de ambos.

Los organismos públicos y las empresas deberían comenzar a usar MFA resistente al phishing, siguiendo las instrucciones de la Agencia de Seguridad de Infraestructura y Ciberseguridad (CISA) y el NIST, para el año fiscal 2024.

NOTA: si bien FIDO es extremadamente resistente a los ataques de phishing, adoptarlo no significa que su organización esté segura contra el phishing. Una gran cantidad de ataques de phishing no tienen nada que ver con las contraseñas (archivos adjuntos de correo electrónico infectados, BEC, ataques de llamada a un número de teléfono, etc.). 

Menciono esto porque veo organizaciones que esta diciendo "Estamos adoptando FIDO MFA y no somos vulnerables a phishing". Algunos de los correos electrónicos de phishing más efectivos que existen tienen solo una o dos oraciones y un número de teléfono para que la víctima llame. Así que recuerde, "MFA resistente al phishing" o estándares como FIDO son mecanismos de autenticación increíblemente fuertes y altamente resistentes a los ataques de phishing, pero hay una ENORME cantidad de ataques de phishing que no tienen absolutamente nada que ver con la autenticación.

Ahí radica el objetivo más realista para la ciberseguridad en general: cada capa de protección podría ser la barrera que defienda a una organización contra un ataque.

Fuente: SANS

Suscríbete a nuestro Boletín

1 comentario:

  1. Las empresas usan bastante SaaS y entiendo que muy pocas soluciones corporativas o de empresa tienen ese nivel de seguridad. Google Workspace, Microsoft 365, Trello/Jira/Monday/ClickUp, AWS/Azure/GCP/Linode/Digital Ocean, muchas webs que usan WordPress, etc. No se si soluciones como auth0 y similares ya permiten integrar eso (idealmente a nivel nativo y web). Se que por ejemplo varios bancos permiten ingreso con biometría (FaceID en iPhone/iPad, huella en Android) pero eso son apps nativas, y la mayoría de trabajo organizacional se realiza en PCs/Notebooks.

    ResponderBorrar

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!