Blog

Los codificadores conquistan la seguridad: serie Share & Learn - Autenticación

April 11, 2019
Jaap Karan Singh

En este blog abordaremos uno de los problemas más comunes a los que se enfrentan las organizaciones que administran sitios web o que permiten a los empleados acceder de forma remota a los recursos informáticos, que es prácticamente todo el mundo. Y sí, probablemente hayas adivinado que vamos a hablar de la autenticación.

Si un hacker puede simplemente iniciar sesión en un sistema como administrador con un nombre de usuario y una contraseña válidos, no es necesario implementar técnicas avanzadas para combatir las defensas de la red. El sistema simplemente abre la puerta y deja entrar al atacante. Peor aún, si el atacante no hace nada demasiado extravagante, su presencia es casi imposible de detectar, ya que la mayoría de las defensas lo ven simplemente como un usuario o administrador válido que hace su trabajo.

La categoría de vulnerabilidades de autenticación es bastante amplia, pero repasaremos los problemas más comunes que tienden a incrustarse accidentalmente en los procesos de inicio de sesión de los usuarios. Al cerrar estas brechas, puede eliminar la gran mayoría de los problemas de autenticación de su organización.

En este episodio, aprenderemos:

  • Cómo se aprovechan algunas vulnerabilidades de autenticación comunes
  • Por qué son tan peligrosos
  • Qué políticas y técnicas se pueden usar para eliminar las vulnerabilidades de autenticación.

¿Cómo aprovechan los atacantes las vulnerabilidades de autenticación?

Hay bastantes vulnerabilidades de autenticación que pueden infiltrarse en un sistema de autenticación, por lo que los piratas informáticos explotan cada una de ellas de forma un poco diferente. En primer lugar, repasemos las vulnerabilidades más comunes y, a continuación, demos ejemplos que demuestren cómo se pueden aprovechar algunas de ellas.

Las vulnerabilidades de autenticación más comunes incluyen:

  • Tener políticas de contraseñas débiles o inadecuadas,
  • Permitir intentos de inicio de sesión ilimitados,
  • Proporcionar información a un atacante sobre inicios de sesión fallidos,
  • Enviar credenciales a través de canales inseguros,
  • Contraseñas con un hash débil,
  • Y tener un proceso de recuperación de contraseñas inseguro.

Tener una política de contraseñas débil es probablemente la vulnerabilidad más común. Si se permite a los usuarios crear contraseñas sin restricciones, demasiados usarán contraseñas fáciles de adivinar. Cada año, varias organizaciones de noticias informáticas publican una lista de las contraseñas más utilizadas, y «123456» y «contraseña» siempre figuran entre las cinco primeras. Hay otras. A los administradores les gusta mucho usar la palabra «Dios». Es cierto que todos son graciosos o fáciles de recordar, pero también muy fáciles de adivinar. Los piratas informáticos saben cuáles son las contraseñas más comunes y las prueban primero cuando intentan violar un sistema. Si ese tipo de contraseñas están permitidas en su organización, acabarán siendo violadas.

Una vulnerabilidad menos obvia pero aún peligrosa es proporcionar información a un usuario sobre un inicio de sesión fallido. Esto no es bueno porque si devuelve un mensaje cuando no existe un nombre de usuario y otro cuando existe un nombre de usuario pero la contraseña es incorrecta, permite a los atacantes localizar los usuarios válidos de un sistema y concentrarse en adivinar las contraseñas solo para esos nombres de usuario. Si esto se combina con la vulnerabilidad de autenticación que permite adivinar contraseñas de forma ilimitada, permitiría a los atacantes ejecutar ataques de diccionario contra cualquier usuario válido que hayan encontrado, lo que podría llevarlos a un sistema con bastante rapidez si la contraseña es fácil de adivinar.

¿Por qué son tan peligrosas las vulnerabilidades de autenticación?

Hay un cuento clásico del Viejo Oeste estadounidense sobre un colono paranoico que instaló cerraduras triples en la puerta de su casa, tapó sus ventanas y durmió con muchas armas al alcance de la mano. Por la mañana lo encontraron muerto. Sus atacantes lo atraparon porque se olvidó de cerrar la puerta trasera. Las vulnerabilidades de autenticación se parecen mucho a eso. En realidad, no importa qué tipo de herramientas de supervisión o controles proactivos disponga ni cuántos analistas expertos emplee si un atacante puede utilizar un nombre de usuario y una contraseña válidos para entrar en su red.

Una vez dentro, hay muy pocas restricciones sobre lo que puede hacer el atacante. Mientras actúen dentro de sus permisos de usuario, que pueden ser bastante amplios si han comprometido una cuenta de administrador, hay muy pocas posibilidades de que los atrapen a tiempo para evitar problemas graves. Esto convierte a la clase de vulnerabilidades de autenticación en una de las más peligrosas de cualquier sistema.

Eliminación de las vulnerabilidades de autenticación

Una de las mejores maneras de eliminar las vulnerabilidades de autenticación de una red es tener buenas políticas de contraseñas que se apliquen a nivel mundial. No solo se debe restringir a los usuarios, incluso a los administradores, el uso de contraseñas como «contraseña», sino que se les debe obligar a añadir un nivel de complejidad que impida a un atacante aplicar un ataque del tipo diccionario o de frases comunes. Puedes crear tus propias reglas para la creación de contraseñas en función de la importancia de proteger el sistema. Si lo hace, será mucho más difícil para los atacantes adivinar o utilizar la fuerza bruta de las contraseñas.

También debe restringir el número de intentos fallidos de inicio de sesión para que, si se introduce una contraseña incorrecta más de, por ejemplo, tres veces, el usuario quede bloqueado. El bloqueo puede ser temporal, ya que un retraso de unos pocos minutos impedirá que continúen los ataques automatizados a los diccionarios. O puede ser permanente, a menos que un administrador desbloquee la cuenta. En cualquier caso, se debe alertar al personal de seguridad cada vez que se produzca un bloqueo de este tipo para que pueda supervisar la situación.

Otra buena forma de evitar que los atacantes recopilen información es crear un mensaje genérico cada vez que se introduce un nombre de usuario o una contraseña incorrectos. Debería ser el mismo en ambos casos para que los piratas informáticos no sepan si han sido rechazados porque un usuario no existe o porque la contraseña es incorrecta.

Las vulnerabilidades de autenticación se encuentran entre las más comunes y peligrosas en la mayoría de los sistemas. Pero también son bastante fáciles de encontrar y eliminar.

Más información sobre las vulnerabilidades de autenticación

Para leer más, puede echar un vistazo al OWASP hoja de trucos de autenticación. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.

Da un paso adelante y enfréntate de frente a una vulnerabilidad de autenticación en la plataforma Secure Code Warrior: [Empieza aquí]

Share on social
Lema

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
book a demo
Lema

Explore more blogs

Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.

browse all
Case Study
Filter Label
This is some text inside of a div block.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Learn More
Case Study
Filter Label
This is some text inside of a div block.

One Culture of Security: How Sage built their security champions program with agile secure code learning

Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Post-Quantum Cryptography: Quantum Computers Will Break Today’s Encryption – Are You Ready?

Post-quantum cryptography (PQC) is critical for protecting data from quantum computing threats. Learn how “harvest now, decrypt later” exposes risk and how developers can prepare for quantum-safe security.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Enabler 2: Senior Leadership Sponsorship

Explore Enabler 2: Senior Leadership Sponsorship. Learn why active buy-in from the CIO, CTO, and CISO is vital to drive developer adoption and program credibility.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI

While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Book a demo