Phishing en NPM: Un ataque que revela debilidades en la seguridad digital
Phishing en NPM: Un ataque que revela debilidades en la seguridad digital

Phishing en NPM: Un ataque que revela debilidades en la seguridad digital

Un reciente incidente de phishing contra cuentas de desarrolladores de NPM ha mostrado cómo incluso usuarios con conocimientos técnicos pueden ser vulnerables a trampas. El éxito del ataque se atribuye principalmente al uso de un correo electrónico bien redactado y una página de destino convincente.

El phishing funciona por la dificultad de identificar sitios web

Para que el ataque tuviera éxito, fue suficiente utilizar un dominio similar al original. En este caso se empleó npmjs.help, y días después también se registró npmjs.cam. Este último es un truco poco utilizado en phishing.

El ataque demuestra que el phishing funciona porque los usuarios no pueden identificar con fiabilidad los sitios web. Las URLs y certificados TLS son medios técnicos, pero no son adecuados para la mayoría de los humanos. Es demasiado fácil crear un dominio similar, e incluso en algunos casos no es necesario.

La autenticación multifactor no es resistente al phishing

Se ha demostrado que la capacitación sobre seguridad de clics es ineficaz. Si se supone que los usuarios no deben hacer clic en enlaces, ¿por qué no eliminarlos directamente en la pasarela de correo?

La autenticación multifactor (MFA) aborda un problema diferente: parte de los secretos de autenticación puede verse comprometida. Sin embargo, el phishing sofisticado y exitoso puede comprometer todos los factores.

El NIST en su publicación SP 800-63B establece que la resistencia al phishing requiere autenticación criptográfica de uno o varios factores. Los autenticadores que implican la entrada manual de una salida, como los OTP, no deben considerarse resistentes al phishing.

Una mejor alternativa: las PassKey

La forma más simple de un esquema de autenticación «más resistente al phishing» es un administrador de contraseñas. Estos son bastante eficaces para determinar qué sitio web está visitando el usuario y qué credenciales usar.

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 donde 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 tanto, no son prácticos para la mayoría de los sitios públicos.

Conclusión: deja de culpar al usuario

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.