El reciente (y aún en curso) ataque de phishing a cuentas de desarrollador de NPM demostró una vez más que incluso los usuarios con conocimientos técnicos caen en las trampas del phishing. Cualquiera cae en la trampa si se utiliza un correo electrónico bien dirigido.
Para que el ataque de phishing a NPM tuviera éxito, bastaba con un correo electrónico bien redactado y una página de destino convincente. En este caso, se utilizó "npmjs[.]help", pero unos días después, alguien también registró "npmjs[.]cam" (el TLD es .CAM, no .COM, un truco de phishing poco utilizado).
Entonces, si incluso los desarrolladores experimentados caen en estas trampas, ¿cómo protegemos a personal como Recursos Humanos o, peor aún, a nuestro equipo de ventas? ¿Más capacitación sobre seguridad de clics? ¿Instruirles a "no hacer clic en enlaces"? ¿O... autenticación de triple factor?
Se ha demostrado que la capacitación es, en el mejor de los casos, ineficaz y no evitará que el equipo de ventas abra un programa de comisiones actualizado presa del pánico. Si se supone que los usuarios no deben hacer clic en un enlace, ¿por qué no los eliminamos simplemente en la pasarela de correo (en lugar de reemplazarlos con un contenedor)?
La verdadera solución reside en cómo autenticamos, y no se trata de múltiples factores. La autenticación multifactor aborda un problema diferente: parte de los secretos de autenticación puede verse comprometida. El phishing sofisticado y exitoso puede comprometer todos los factores.
El phishing funciona porque los usuarios no pueden identificar los sitios web de forma fiable. Las URL y los certificados TLS son medios técnicos que identifican sitios web, pero no son adecuados para la identificación por parte de la mayoría de los humanos. Es demasiado fácil crear un dominio similar, y a menudo ni siquiera es necesario.
La autenticación multifactor no funciona, ya que un atacante puede pasar credenciales, como las implementadas en herramientas como evilginx, solicitando al usuario que proporcione todos los parámetros de autenticación necesarios. La única forma de protegerse de este tipo de herramientas es que el usuario no tenga que seleccionar las credenciales correctas. Cualquier mecanismo de autenticación que requiera que el usuario decida qué credencial usar para un sitio web en particular no es fundamentalmente resistente al phishing.
La forma más simple de un esquema de autenticación "más resistente al phishing" es un administrador de contraseñas. Los administradores de contraseñas son bastante eficaces para determinar qué sitio web está visitando un usuario y qué credenciales usar. Por supuesto, los usuarios a menudo pueden sobrescribir esta decisión, lo que provoca phishing.
Una mejor opción es la criptografía, que solo permite el acceso a credenciales específicas para sitios específicos. Por ejemplo, las PassKey. Estas claves de acceso se seleccionan automáticamente en función del origen del sitio en el que el usuario intenta iniciar sesión. El usuario no puede seleccionar credenciales diferentes, lo que garantiza la seguridad contra el phishing. Los certificados de cliente TLS también podrían funcionar, pero su implementación correcta es técnicamente más compleja y, por lo tanto, no son prácticos para la mayoría de los sitios públicos.
El NIST, en su publicación SP 800-63B, establece específicamente: "La resistencia al phishing requiere autenticación criptográfica de uno o varios factores. Los autenticadores que implican la entrada manual de una salida (por ejemplo, los autenticadores fuera de banda y OTP) NO DEBEN considerarse resistentes al phishing, ya que la entrada manual no vincula la salida del autenticador a la sesión específica que se está autenticando". Esto define los métodos de autenticación populares, como el MFA, no resistentes al phishing.
En resumen: deja de culpar al usuario y, en su lugar, comienza a trabajar en las Passkey para cualquier sitio que consideres que necesita un poco más de seguridad.
Si quieres saber más de como funciona y cómo implementar Passkey, no te pierdas este webinario gratuito: "Uso de PassKey: Mu3rt3 a las Fuc... Contraseñas".