héroe bg sin separador
Blog

Coder Conquer Security OWASP Top 10 API-Serie — Autenticación defectuosa

Doctor Matias Madou
Publicado el 16 de septiembre de 2020
Última actualización el 9 de marzo de 2026

No es de extrañar que la autenticación rota haya entrado en la lista de problemas de API de OWASP: los mecanismos de autenticación son notoriamente difíciles de implementar correctamente. Además, los atacantes tienen un poco de ventaja porque, por su propia naturaleza, la mayoría de los desafíos de autenticación deben ser expuestos a los usuarios, lo que da a los atacantes la oportunidad de estudiarlos y buscar patrones o vulnerabilidades que puedan explotar.

Por último, dado que la autenticación suele actuar como puerta de entrada tanto a una aplicación como potencialmente al resto de una red, son objetivos tentadores para los atacantes. Si un proceso de autenticación está roto o es vulnerable, hay muchas posibilidades de que los atacantes descubran esa debilidad y la exploten.

Así que, en este capítulo, vamos a aprender a dejar fuera a los malos cuando se trata de problemas de autenticación. Si quieres poner a prueba tus habilidades primero, dirígete a nuestro desafío gamificado:

¿Quieres mejorar tu puntuación? Quédate conmigo mientras lo desglosamos.

¿Cuáles son algunos ejemplos de autenticación rota o mal configurada?

Un ejemplo en el que el problema puede no ser tan obvio es cuando un método de autenticación es vulnerable al relleno de credenciales, o al uso de listas de nombres de usuario y contraseñas conocidas para romper la seguridad. Incluso un método de autorización normalmente muy seguro, como la autenticación multifactor, puede ser vulnerable si las solicitudes no están limitadas, estranguladas o supervisadas de alguna manera.

Por ejemplo, un atacante podría activar una solicitud de recuperación de contraseña enviando una solicitud POST a /api/sistema/códigos de verificación y proporcionando un nombre de usuario en el cuerpo de la solicitud. Si una aplicación utiliza un desafío por mensaje de texto SMS en el que se envía un código de seis dígitos al teléfono del usuario, pero el campo de entrada no está limitado, la aplicación puede ser vulnerada en pocos minutos. Un atacante sólo tiene que enviar todas las combinaciones posibles de seis dígitos a la aplicación hasta dar con la correcta.

En ese escenario, a primera vista, parece que tener una autenticación de dos factores mantendrá una aplicación segura. Pero como la entrada del usuario no está limitada por la tasa, la autenticación está rota y es vulnerable.

En otro ejemplo, una aplicación podría utilizar objetos de usuario codificados como cookies de autenticación. Pero si un atacante con acceso de usuario de bajo nivel decodifica esa cookie usando Base64, podría descubrir cómo la cookie define sesiones y usuarios a la aplicación. Por ejemplo, podrían ver el siguiente JSON una vez decodificado:

{
"username" : "ShadyGuy",
"role" : "user"
{

En ese momento, el usuario malicioso podría cambiar su nombre de usuario, su rol o ambos. Podrían convertirse en otro usuario con un nivel de privilegio superior cambiando un par de valores:

{
"username" : "GoodGuy",
"role" : "admin"
{

En ese momento, si el atacante recodifica la información y la establece como valor de la cookie, se convierte esencialmente en el nuevo usuario con un nivel de permiso más alto. A menos que existan métodos para evitar un cambio como ese, hay muchas posibilidades de que la aplicación acepte la transformación.

Eliminación de la autenticación rota o mal configurada

Si la autenticación falla, hay muchas posibilidades de que la seguridad en todo el tablero se vea comprometida. Pero seguir algunas pautas importantes mientras se codifican las aplicaciones puede ayudar a mantener todo seguro.

En primer lugar, asegúrate de incluir comprobaciones de autenticación en todos los lugares que permitan a los usuarios acceder a la funcionalidad del programa. Si la comprobación de autenticación no existe en absoluto, la batalla está perdida desde el principio.

En términos de mejores prácticas, una buena cosa a tener en cuenta es evitar exponer los IDs de sesión en la URL que es accesible a los usuarios. En el segundo ejemplo anterior sobre la autenticación rota, evitar que un atacante intente descifrar la cookie de sesión es mucho más fácil si nunca está expuesta a ellos.

También es una buena idea implementar la autenticación multifactor. Esto se puede hacer de forma segura utilizando tokens de hardware que generan algoritmos de contraseñas en horarios ajustados. Si no puedes proporcionar a tus usuarios dispositivos de este tipo, los mensajes de texto SMS también pueden funcionar. Pero hay que asegurarse de que las solicitudes de los usuarios se limiten a algo razonable, como tres o cuatro intentos en un periodo de 30 segundos, y que los códigos expiren todos juntos después de unos pocos minutos. El uso de un código alfanumérico también puede mejorar la seguridad al añadir letras y números a las posibles contraseñas.

Por último, si es posible, evite depender de nombres de usuario o valores secuenciales predecibles como ID de sesión. En su lugar, utiliza un gestor de sesiones seguro del lado del servidor que genere un ID de sesión aleatorio cada vez.

Implementar métodos de autenticación seguros es un poco más complicado que combatir la vulnerabilidad promedio. Pero como la autorización es tan importante para todas las aplicaciones, programas y API, vale la pena tomarse un tiempo extra para asegurarse de hacerlo bien.

Consulte las páginas del Secure Code Warrior páginas del blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otros fallos de seguridad. También puede probar una demostración de la plataforma de formación Secure Code Warrior para mantener todos sus conocimientos de ciberseguridad perfeccionados y actualizados.


Ver recurso
Ver recurso

La autenticación suele servir como puerta de acceso tanto a una aplicación como, potencialmente, al resto de una red, por lo que resulta un objetivo atractivo para los atacantes. Si un proceso de autenticación es defectuoso o vulnerable, existe una gran probabilidad de que los atacantes descubran y aprovechen esta vulnerabilidad.

¿Te interesa saber más?

Matias Madou, Ph.D. ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent in Anwendungssicherheit mit Schwerpunkt auf statischen Analyselösungen. Später kam er zu Fortify in den USA, wo er feststellte, dass es nicht ausreichte, ausschließlich Codeprobleme zu erkennen, ohne Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, die Sicherheitslast verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht als Teil von Team Awesome an seinem Schreibtisch sitzt, steht er gerne auf der Bühne und präsentiert auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Más información

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.

Reservar una demostración
Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Doctor Matias Madou
Publicado el 16 de septiembre de 2020

Matias Madou, Ph.D. ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent in Anwendungssicherheit mit Schwerpunkt auf statischen Analyselösungen. Später kam er zu Fortify in den USA, wo er feststellte, dass es nicht ausreichte, ausschließlich Codeprobleme zu erkennen, ohne Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, die Sicherheitslast verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht als Teil von Team Awesome an seinem Schreibtisch sitzt, steht er gerne auf der Bühne und präsentiert auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung in der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und verfügt über mehr als 10 Patente. Wenn er nicht an seinem Schreibtisch ist, war Matias als Ausbilder für fortgeschrittene Schulungen zur Anwendungssicherheit tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat an der Universität Gent in Computertechnik promoviert, wo er Anwendungssicherheit durch Programmverschleierung studierte, um das Innenleben einer Anwendung zu verbergen.

Compartir en:
marcas de LinkedInSocialx logotipo

No es de extrañar que la autenticación rota haya entrado en la lista de problemas de API de OWASP: los mecanismos de autenticación son notoriamente difíciles de implementar correctamente. Además, los atacantes tienen un poco de ventaja porque, por su propia naturaleza, la mayoría de los desafíos de autenticación deben ser expuestos a los usuarios, lo que da a los atacantes la oportunidad de estudiarlos y buscar patrones o vulnerabilidades que puedan explotar.

Por último, dado que la autenticación suele actuar como puerta de entrada tanto a una aplicación como potencialmente al resto de una red, son objetivos tentadores para los atacantes. Si un proceso de autenticación está roto o es vulnerable, hay muchas posibilidades de que los atacantes descubran esa debilidad y la exploten.

Así que, en este capítulo, vamos a aprender a dejar fuera a los malos cuando se trata de problemas de autenticación. Si quieres poner a prueba tus habilidades primero, dirígete a nuestro desafío gamificado:

¿Quieres mejorar tu puntuación? Quédate conmigo mientras lo desglosamos.

¿Cuáles son algunos ejemplos de autenticación rota o mal configurada?

Un ejemplo en el que el problema puede no ser tan obvio es cuando un método de autenticación es vulnerable al relleno de credenciales, o al uso de listas de nombres de usuario y contraseñas conocidas para romper la seguridad. Incluso un método de autorización normalmente muy seguro, como la autenticación multifactor, puede ser vulnerable si las solicitudes no están limitadas, estranguladas o supervisadas de alguna manera.

Por ejemplo, un atacante podría activar una solicitud de recuperación de contraseña enviando una solicitud POST a /api/sistema/códigos de verificación y proporcionando un nombre de usuario en el cuerpo de la solicitud. Si una aplicación utiliza un desafío por mensaje de texto SMS en el que se envía un código de seis dígitos al teléfono del usuario, pero el campo de entrada no está limitado, la aplicación puede ser vulnerada en pocos minutos. Un atacante sólo tiene que enviar todas las combinaciones posibles de seis dígitos a la aplicación hasta dar con la correcta.

En ese escenario, a primera vista, parece que tener una autenticación de dos factores mantendrá una aplicación segura. Pero como la entrada del usuario no está limitada por la tasa, la autenticación está rota y es vulnerable.

En otro ejemplo, una aplicación podría utilizar objetos de usuario codificados como cookies de autenticación. Pero si un atacante con acceso de usuario de bajo nivel decodifica esa cookie usando Base64, podría descubrir cómo la cookie define sesiones y usuarios a la aplicación. Por ejemplo, podrían ver el siguiente JSON una vez decodificado:

{
"username" : "ShadyGuy",
"role" : "user"
{

En ese momento, el usuario malicioso podría cambiar su nombre de usuario, su rol o ambos. Podrían convertirse en otro usuario con un nivel de privilegio superior cambiando un par de valores:

{
"username" : "GoodGuy",
"role" : "admin"
{

En ese momento, si el atacante recodifica la información y la establece como valor de la cookie, se convierte esencialmente en el nuevo usuario con un nivel de permiso más alto. A menos que existan métodos para evitar un cambio como ese, hay muchas posibilidades de que la aplicación acepte la transformación.

Eliminación de la autenticación rota o mal configurada

Si la autenticación falla, hay muchas posibilidades de que la seguridad en todo el tablero se vea comprometida. Pero seguir algunas pautas importantes mientras se codifican las aplicaciones puede ayudar a mantener todo seguro.

En primer lugar, asegúrate de incluir comprobaciones de autenticación en todos los lugares que permitan a los usuarios acceder a la funcionalidad del programa. Si la comprobación de autenticación no existe en absoluto, la batalla está perdida desde el principio.

En términos de mejores prácticas, una buena cosa a tener en cuenta es evitar exponer los IDs de sesión en la URL que es accesible a los usuarios. En el segundo ejemplo anterior sobre la autenticación rota, evitar que un atacante intente descifrar la cookie de sesión es mucho más fácil si nunca está expuesta a ellos.

También es una buena idea implementar la autenticación multifactor. Esto se puede hacer de forma segura utilizando tokens de hardware que generan algoritmos de contraseñas en horarios ajustados. Si no puedes proporcionar a tus usuarios dispositivos de este tipo, los mensajes de texto SMS también pueden funcionar. Pero hay que asegurarse de que las solicitudes de los usuarios se limiten a algo razonable, como tres o cuatro intentos en un periodo de 30 segundos, y que los códigos expiren todos juntos después de unos pocos minutos. El uso de un código alfanumérico también puede mejorar la seguridad al añadir letras y números a las posibles contraseñas.

Por último, si es posible, evite depender de nombres de usuario o valores secuenciales predecibles como ID de sesión. En su lugar, utiliza un gestor de sesiones seguro del lado del servidor que genere un ID de sesión aleatorio cada vez.

Implementar métodos de autenticación seguros es un poco más complicado que combatir la vulnerabilidad promedio. Pero como la autorización es tan importante para todas las aplicaciones, programas y API, vale la pena tomarse un tiempo extra para asegurarse de hacerlo bien.

Consulte las páginas del Secure Code Warrior páginas del blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otros fallos de seguridad. También puede probar una demostración de la plataforma de formación Secure Code Warrior para mantener todos sus conocimientos de ciberseguridad perfeccionados y actualizados.


Ver recurso
Ver recurso

Rellene el siguiente formulario para descargar el informe.

Solicitamos su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación segura. Tratamos sus datos personales con el máximo cuidado y nunca los vendemos a otras empresas con fines comerciales.

Enviar
Iconos SCW
Icono de error scw
Para enviar el formulario, active las cookies de «Analytics». Cuando haya terminado, puede desactivarlas en cualquier momento.

No es de extrañar que la autenticación rota haya entrado en la lista de problemas de API de OWASP: los mecanismos de autenticación son notoriamente difíciles de implementar correctamente. Además, los atacantes tienen un poco de ventaja porque, por su propia naturaleza, la mayoría de los desafíos de autenticación deben ser expuestos a los usuarios, lo que da a los atacantes la oportunidad de estudiarlos y buscar patrones o vulnerabilidades que puedan explotar.

Por último, dado que la autenticación suele actuar como puerta de entrada tanto a una aplicación como potencialmente al resto de una red, son objetivos tentadores para los atacantes. Si un proceso de autenticación está roto o es vulnerable, hay muchas posibilidades de que los atacantes descubran esa debilidad y la exploten.

Así que, en este capítulo, vamos a aprender a dejar fuera a los malos cuando se trata de problemas de autenticación. Si quieres poner a prueba tus habilidades primero, dirígete a nuestro desafío gamificado:

¿Quieres mejorar tu puntuación? Quédate conmigo mientras lo desglosamos.

¿Cuáles son algunos ejemplos de autenticación rota o mal configurada?

Un ejemplo en el que el problema puede no ser tan obvio es cuando un método de autenticación es vulnerable al relleno de credenciales, o al uso de listas de nombres de usuario y contraseñas conocidas para romper la seguridad. Incluso un método de autorización normalmente muy seguro, como la autenticación multifactor, puede ser vulnerable si las solicitudes no están limitadas, estranguladas o supervisadas de alguna manera.

Por ejemplo, un atacante podría activar una solicitud de recuperación de contraseña enviando una solicitud POST a /api/sistema/códigos de verificación y proporcionando un nombre de usuario en el cuerpo de la solicitud. Si una aplicación utiliza un desafío por mensaje de texto SMS en el que se envía un código de seis dígitos al teléfono del usuario, pero el campo de entrada no está limitado, la aplicación puede ser vulnerada en pocos minutos. Un atacante sólo tiene que enviar todas las combinaciones posibles de seis dígitos a la aplicación hasta dar con la correcta.

En ese escenario, a primera vista, parece que tener una autenticación de dos factores mantendrá una aplicación segura. Pero como la entrada del usuario no está limitada por la tasa, la autenticación está rota y es vulnerable.

En otro ejemplo, una aplicación podría utilizar objetos de usuario codificados como cookies de autenticación. Pero si un atacante con acceso de usuario de bajo nivel decodifica esa cookie usando Base64, podría descubrir cómo la cookie define sesiones y usuarios a la aplicación. Por ejemplo, podrían ver el siguiente JSON una vez decodificado:

{
"username" : "ShadyGuy",
"role" : "user"
{

En ese momento, el usuario malicioso podría cambiar su nombre de usuario, su rol o ambos. Podrían convertirse en otro usuario con un nivel de privilegio superior cambiando un par de valores:

{
"username" : "GoodGuy",
"role" : "admin"
{

En ese momento, si el atacante recodifica la información y la establece como valor de la cookie, se convierte esencialmente en el nuevo usuario con un nivel de permiso más alto. A menos que existan métodos para evitar un cambio como ese, hay muchas posibilidades de que la aplicación acepte la transformación.

Eliminación de la autenticación rota o mal configurada

Si la autenticación falla, hay muchas posibilidades de que la seguridad en todo el tablero se vea comprometida. Pero seguir algunas pautas importantes mientras se codifican las aplicaciones puede ayudar a mantener todo seguro.

En primer lugar, asegúrate de incluir comprobaciones de autenticación en todos los lugares que permitan a los usuarios acceder a la funcionalidad del programa. Si la comprobación de autenticación no existe en absoluto, la batalla está perdida desde el principio.

En términos de mejores prácticas, una buena cosa a tener en cuenta es evitar exponer los IDs de sesión en la URL que es accesible a los usuarios. En el segundo ejemplo anterior sobre la autenticación rota, evitar que un atacante intente descifrar la cookie de sesión es mucho más fácil si nunca está expuesta a ellos.

También es una buena idea implementar la autenticación multifactor. Esto se puede hacer de forma segura utilizando tokens de hardware que generan algoritmos de contraseñas en horarios ajustados. Si no puedes proporcionar a tus usuarios dispositivos de este tipo, los mensajes de texto SMS también pueden funcionar. Pero hay que asegurarse de que las solicitudes de los usuarios se limiten a algo razonable, como tres o cuatro intentos en un periodo de 30 segundos, y que los códigos expiren todos juntos después de unos pocos minutos. El uso de un código alfanumérico también puede mejorar la seguridad al añadir letras y números a las posibles contraseñas.

Por último, si es posible, evite depender de nombres de usuario o valores secuenciales predecibles como ID de sesión. En su lugar, utiliza un gestor de sesiones seguro del lado del servidor que genere un ID de sesión aleatorio cada vez.

Implementar métodos de autenticación seguros es un poco más complicado que combatir la vulnerabilidad promedio. Pero como la autorización es tan importante para todas las aplicaciones, programas y API, vale la pena tomarse un tiempo extra para asegurarse de hacerlo bien.

Consulte las páginas del Secure Code Warrior páginas del blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otros fallos de seguridad. También puede probar una demostración de la plataforma de formación Secure Code Warrior para mantener todos sus conocimientos de ciberseguridad perfeccionados y actualizados.


Ver seminario web
Empiece
Más información

Haga clic en el enlace de abajo y descargue el PDF de este recurso.

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.

Ver informeReservar una demostración
Ver recurso
Compartir en:
marcas de LinkedInSocialx logotipo
¿Te interesa saber más?

Compartir en:
marcas de LinkedInSocialx logotipo
Autor
Doctor Matias Madou
Publicado el 16 de septiembre de 2020

Matias Madou, Ph.D. ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent in Anwendungssicherheit mit Schwerpunkt auf statischen Analyselösungen. Später kam er zu Fortify in den USA, wo er feststellte, dass es nicht ausreichte, ausschließlich Codeprobleme zu erkennen, ohne Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, die Sicherheitslast verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht als Teil von Team Awesome an seinem Schreibtisch sitzt, steht er gerne auf der Bühne und präsentiert auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung in der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und verfügt über mehr als 10 Patente. Wenn er nicht an seinem Schreibtisch ist, war Matias als Ausbilder für fortgeschrittene Schulungen zur Anwendungssicherheit tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat an der Universität Gent in Computertechnik promoviert, wo er Anwendungssicherheit durch Programmverschleierung studierte, um das Innenleben einer Anwendung zu verbergen.

Compartir en:
marcas de LinkedInSocialx logotipo

No es de extrañar que la autenticación rota haya entrado en la lista de problemas de API de OWASP: los mecanismos de autenticación son notoriamente difíciles de implementar correctamente. Además, los atacantes tienen un poco de ventaja porque, por su propia naturaleza, la mayoría de los desafíos de autenticación deben ser expuestos a los usuarios, lo que da a los atacantes la oportunidad de estudiarlos y buscar patrones o vulnerabilidades que puedan explotar.

Por último, dado que la autenticación suele actuar como puerta de entrada tanto a una aplicación como potencialmente al resto de una red, son objetivos tentadores para los atacantes. Si un proceso de autenticación está roto o es vulnerable, hay muchas posibilidades de que los atacantes descubran esa debilidad y la exploten.

Así que, en este capítulo, vamos a aprender a dejar fuera a los malos cuando se trata de problemas de autenticación. Si quieres poner a prueba tus habilidades primero, dirígete a nuestro desafío gamificado:

¿Quieres mejorar tu puntuación? Quédate conmigo mientras lo desglosamos.

¿Cuáles son algunos ejemplos de autenticación rota o mal configurada?

Un ejemplo en el que el problema puede no ser tan obvio es cuando un método de autenticación es vulnerable al relleno de credenciales, o al uso de listas de nombres de usuario y contraseñas conocidas para romper la seguridad. Incluso un método de autorización normalmente muy seguro, como la autenticación multifactor, puede ser vulnerable si las solicitudes no están limitadas, estranguladas o supervisadas de alguna manera.

Por ejemplo, un atacante podría activar una solicitud de recuperación de contraseña enviando una solicitud POST a /api/sistema/códigos de verificación y proporcionando un nombre de usuario en el cuerpo de la solicitud. Si una aplicación utiliza un desafío por mensaje de texto SMS en el que se envía un código de seis dígitos al teléfono del usuario, pero el campo de entrada no está limitado, la aplicación puede ser vulnerada en pocos minutos. Un atacante sólo tiene que enviar todas las combinaciones posibles de seis dígitos a la aplicación hasta dar con la correcta.

En ese escenario, a primera vista, parece que tener una autenticación de dos factores mantendrá una aplicación segura. Pero como la entrada del usuario no está limitada por la tasa, la autenticación está rota y es vulnerable.

En otro ejemplo, una aplicación podría utilizar objetos de usuario codificados como cookies de autenticación. Pero si un atacante con acceso de usuario de bajo nivel decodifica esa cookie usando Base64, podría descubrir cómo la cookie define sesiones y usuarios a la aplicación. Por ejemplo, podrían ver el siguiente JSON una vez decodificado:

{
"username" : "ShadyGuy",
"role" : "user"
{

En ese momento, el usuario malicioso podría cambiar su nombre de usuario, su rol o ambos. Podrían convertirse en otro usuario con un nivel de privilegio superior cambiando un par de valores:

{
"username" : "GoodGuy",
"role" : "admin"
{

En ese momento, si el atacante recodifica la información y la establece como valor de la cookie, se convierte esencialmente en el nuevo usuario con un nivel de permiso más alto. A menos que existan métodos para evitar un cambio como ese, hay muchas posibilidades de que la aplicación acepte la transformación.

Eliminación de la autenticación rota o mal configurada

Si la autenticación falla, hay muchas posibilidades de que la seguridad en todo el tablero se vea comprometida. Pero seguir algunas pautas importantes mientras se codifican las aplicaciones puede ayudar a mantener todo seguro.

En primer lugar, asegúrate de incluir comprobaciones de autenticación en todos los lugares que permitan a los usuarios acceder a la funcionalidad del programa. Si la comprobación de autenticación no existe en absoluto, la batalla está perdida desde el principio.

En términos de mejores prácticas, una buena cosa a tener en cuenta es evitar exponer los IDs de sesión en la URL que es accesible a los usuarios. En el segundo ejemplo anterior sobre la autenticación rota, evitar que un atacante intente descifrar la cookie de sesión es mucho más fácil si nunca está expuesta a ellos.

También es una buena idea implementar la autenticación multifactor. Esto se puede hacer de forma segura utilizando tokens de hardware que generan algoritmos de contraseñas en horarios ajustados. Si no puedes proporcionar a tus usuarios dispositivos de este tipo, los mensajes de texto SMS también pueden funcionar. Pero hay que asegurarse de que las solicitudes de los usuarios se limiten a algo razonable, como tres o cuatro intentos en un periodo de 30 segundos, y que los códigos expiren todos juntos después de unos pocos minutos. El uso de un código alfanumérico también puede mejorar la seguridad al añadir letras y números a las posibles contraseñas.

Por último, si es posible, evite depender de nombres de usuario o valores secuenciales predecibles como ID de sesión. En su lugar, utiliza un gestor de sesiones seguro del lado del servidor que genere un ID de sesión aleatorio cada vez.

Implementar métodos de autenticación seguros es un poco más complicado que combatir la vulnerabilidad promedio. Pero como la autorización es tan importante para todas las aplicaciones, programas y API, vale la pena tomarse un tiempo extra para asegurarse de hacerlo bien.

Consulte las páginas del Secure Code Warrior páginas del blog para obtener más información sobre esta vulnerabilidad y sobre cómo proteger a su organización y a sus clientes de los estragos de otros fallos de seguridad. También puede probar una demostración de la plataforma de formación Secure Code Warrior para mantener todos sus conocimientos de ciberseguridad perfeccionados y actualizados.


Índice

Descargar PDF
Ver recurso
¿Te interesa saber más?

Matias Madou, Ph.D. ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent in Anwendungssicherheit mit Schwerpunkt auf statischen Analyselösungen. Später kam er zu Fortify in den USA, wo er feststellte, dass es nicht ausreichte, ausschließlich Codeprobleme zu erkennen, ohne Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, die Sicherheitslast verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht als Teil von Team Awesome an seinem Schreibtisch sitzt, steht er gerne auf der Bühne und präsentiert auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Más información

Secure Code Warrior a disposición de su empresa para ayudarle a proteger el código durante todo el ciclo de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es responsable de seguridad de aplicaciones, desarrollador, responsable de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su empresa a reducir los riesgos asociados al código inseguro.

Reservar una demostraciónDescargar
Compartir en:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos para empezar

Más entradas
Centro de recursos

Recursos para empezar

Más entradas