Iconos SCW
héroe bg sin separador
Blog

Los programadores conquistan la infraestructura de seguridad con la serie Code: almacenamiento de contraseñas en texto plano

Doctor Matias Madou
Publicado el 18 de mayo de 2020
Última actualización el 6 de marzo de 2026

Cuando se trata de implementar una infraestructura segura como código en su propia organización, ¿cómo le va? Puede que sea una especie de curva de aprendizaje, pero aprender los entresijos será una gran oportunidad para mejorar tus habilidades y destacar entre tus compañeros, y mantenga seguros más datos de los usuarios finales.

Antes de comenzar con el siguiente capítulo de nuestra última serie Coders Conquer Security, me gustaría invitarlos a jugar un desafío gamificado sobre la vulnerabilidad del almacenamiento de datos confidenciales; juegue ahora y elija entre Kubernetes, Terraform, Ansible, Docker o CloudFormation:

¿Cómo fue eso? Si tus conocimientos necesitan algo de trabajo, sigue leyendo:

La clave de la mayoría de la seguridad informática en estos días son las contraseñas. Incluso si se emplean otros métodos de seguridad, como la autenticación de dos factores o la biometría, la mayoría de las organizaciones siguen empleando la seguridad basada en contraseñas como un elemento de su protección. Para muchas empresas, las contraseñas se utilizan exclusivamente.

Usamos tanto las contraseñas que incluso tenemos reglas sobre cómo crearlas. Se supone que esto las hace menos vulnerables a los ataques de fuerza bruta o incluso a las conjeturas descabelladas. Por supuesto, algunas personas todavía usan contraseñas débiles, como lo demuestra un reciente informe de NordPass. Cuesta creer que en 2020 la gente siga usando 12345, así como un montón de otras palabras que se pueden adivinar, como chocolate, contraseña y Dios, para proteger sus activos más confidenciales.

Siempre habrá quienes no quieran usar contraseñas seguras, pero la mayoría de las organizaciones profesionales obligan a los usuarios a crear sus palabras o frases de acceso de ciertas maneras. Ya todos conocemos las reglas según las cuales las contraseñas deben tener al menos ocho caracteres y estar compuestas por letras mayúsculas y minúsculas, con al menos un número y un carácter especial.

Lo malo es que, incluso si los usuarios respetan las reglas para crear contraseñas más seguras, es posible que no sirva de nada si todas se almacenan en texto plano. ¡La contraseña 12345 es tan mala como la de Nuts53! Spike&dog12 si un hacker puede leer todo el archivo de contraseñas.

¿Por qué es peligroso almacenar contraseñas en texto plano?

Almacenar las contraseñas en texto plano es malo porque pone en riesgo tanto al sistema como a los usuarios. Evidentemente, conseguir que un pirata informático pueda encontrar y leer todas y cada una de las contraseñas utilizadas para acceder a un sistema sería un desastre. Podrían simplemente encontrar a un usuario con credenciales de administrador y comprometer todo el sistema o el sitio. Y dado que utilizarían nombres de usuario y contraseñas correctos, es posible que la seguridad interna no detecte la intrusión o no la detecte mucho después de que se haya producido el daño.

Facilitar a los atacantes el robo de contraseñas almacenadas en texto plano también perjudica a los usuarios, ya que muchas personas reutilizan las contraseñas. Debido a que hemos hecho que sea tan difícil crear contraseñas, muchas personas recurren a reutilizar las que pueden recordar en varios sitios. Si un atacante pone en peligro un archivo de contraseñas, es casi seguro que intentará acceder a otros sistemas con el mismo nombre y contraseña, lo que expone a los usuarios a un gran riesgo de cometer delitos secundarios.

Es relativamente fácil almacenar accidentalmente contraseñas en texto plano o no darse cuenta de que esto podría causar problemas importantes en el futuro. Por ejemplo, el siguiente código es un método común que se emplea para almacenar contraseñas al definir un recurso de AWS mediante plantillas de Terraform:

recurso «aws_db_instance» «predeterminado» {
motor = «mysql»
almacenamiento_asignado = 10
clase_instancia = «db.t2.micro»
nombre de usuario = «admin»
contraseña = «s3.cr3t.admin.p2ss»
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}

En ese ejemplo, la contraseña utilizada para administrar la instancia de base de datos MySQL en AWS se almacena en texto sin formato. Esto significa que cualquier persona con acceso al repositorio de código fuente puede leerlo o incluso copiarlo.

La protección de las contraseñas varía según el marco, pero existen métodos de protección para todas las plataformas. Por ejemplo, la contraseña de MySQL se puede almacenar en un almacenamiento seguro como AWS Secrets Manager:

recurso «aws_db_instance» «predeterminado» {
motor = «mysql»
almacenamiento_asignado = 10
clase_instancia = «db.t2.micro»
nombre de usuario = «admin»
contraseña = «$ {data.aws_secretsmanager_secret_version.password.secret_string}»
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}

En ese ejemplo, la plantilla de Terraform obtendrá la contraseña del servicio AWS Secrets Manager y nunca se almacenará en texto plano en los archivos de plantilla.

Proteger las contraseñas evitando el almacenamiento de texto sin formato

Las contraseñas son las claves de tu reino y nunca deben guardarse en texto plano. Ni siquiera las personas que forman parte de una organización deberían tener acceso a un repositorio de contraseñas grande y desprotegido, ni tampoco debería ser un protocolo empresarial aceptado (hoy en día hay muchos gestores de contraseñas que permiten compartir credenciales cifradas, ¡sin excusas!). También existe el peligro de que personas con información privilegiada malintencionadas husmeen los archivos y accedan a sitios donde no deberían.

Y con un ataque externo, imagínese el golpe por partida doble que sería posible si se descubre una puerta trasera a su base de datos mediante algo tan simple como una vulnerabilidad de inyección de SQL, y ellos también obtienen acceso al directorio donde están almacenadas las contraseñas. ¿Cree que son demasiados pasos plagados de errores como para llevarlos a buen puerto? Lamentablemente, este escenario exacto ocurrió en La violación de Sony en 2011. Más de un millón de contraseñas de clientes se almacenaron en texto plano, y el grupo de hackers de Lulzsec accedió a ellas y a muchas más mediante un ataque común de inyección de SQL.

Todas las contraseñas deben estar protegidas por las defensas disponibles en el marco de soporte. Para Terraform, las contraseñas nunca deben almacenarse en archivos de plantilla. Se recomienda utilizar un almacenamiento seguro como AWS Secrets Manager o Azure Key Vault, según el proveedor de infraestructura.

Obligar a los usuarios a crear contraseñas seguras es una buena idea, pero también debes hacer tu parte en el backend. Mantener las contraseñas fuera del almacenamiento de texto sin formato contribuirá en gran medida a proteger a los usuarios y los sistemas. El principal peligro del almacenamiento de contraseñas en texto plano es el deficiente control de acceso; básicamente, cualquiera puede verlas. Es imprescindible (especialmente en un entorno de iAC, en el que, de repente, más personas tienen acceso a la información confidencial) que se controlen adecuadamente y que solo se conceda el acceso a aquellos que absolutamente lo necesitan.

Eche un vistazo a la Secure Code Warrior páginas de 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 otras fallas y vulnerabilidades de seguridad. También puedes prueba un desafío iAC de demostración dentro de la plataforma de formación Secure Code Warrior para mantener todas sus habilidades de ciberseguridad perfeccionadas y actualizadas.


Ver recurso
Ver recurso

La clave de la mayoría de la seguridad informática en estos días son las contraseñas. Incluso si se emplean otros métodos de seguridad, como la autenticación de dos factores o la biometría, la mayoría de las organizaciones siguen empleando la seguridad basada en contraseñas como un elemento de su protección.

¿Interesado en más?

Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Más información

Secure Code Warrior aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.

Reserve una demostración
Comparte en:
marcas de LinkedInSocialx logotipo
autor
Doctor Matias Madou
Publicado el 18 de mayo de 2020

Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.

Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.

Comparte en:
marcas de LinkedInSocialx logotipo

Cuando se trata de implementar una infraestructura segura como código en su propia organización, ¿cómo le va? Puede que sea una especie de curva de aprendizaje, pero aprender los entresijos será una gran oportunidad para mejorar tus habilidades y destacar entre tus compañeros, y mantenga seguros más datos de los usuarios finales.

Antes de comenzar con el siguiente capítulo de nuestra última serie Coders Conquer Security, me gustaría invitarlos a jugar un desafío gamificado sobre la vulnerabilidad del almacenamiento de datos confidenciales; juegue ahora y elija entre Kubernetes, Terraform, Ansible, Docker o CloudFormation:

¿Cómo fue eso? Si tus conocimientos necesitan algo de trabajo, sigue leyendo:

La clave de la mayoría de la seguridad informática en estos días son las contraseñas. Incluso si se emplean otros métodos de seguridad, como la autenticación de dos factores o la biometría, la mayoría de las organizaciones siguen empleando la seguridad basada en contraseñas como un elemento de su protección. Para muchas empresas, las contraseñas se utilizan exclusivamente.

Usamos tanto las contraseñas que incluso tenemos reglas sobre cómo crearlas. Se supone que esto las hace menos vulnerables a los ataques de fuerza bruta o incluso a las conjeturas descabelladas. Por supuesto, algunas personas todavía usan contraseñas débiles, como lo demuestra un reciente informe de NordPass. Cuesta creer que en 2020 la gente siga usando 12345, así como un montón de otras palabras que se pueden adivinar, como chocolate, contraseña y Dios, para proteger sus activos más confidenciales.

Siempre habrá quienes no quieran usar contraseñas seguras, pero la mayoría de las organizaciones profesionales obligan a los usuarios a crear sus palabras o frases de acceso de ciertas maneras. Ya todos conocemos las reglas según las cuales las contraseñas deben tener al menos ocho caracteres y estar compuestas por letras mayúsculas y minúsculas, con al menos un número y un carácter especial.

Lo malo es que, incluso si los usuarios respetan las reglas para crear contraseñas más seguras, es posible que no sirva de nada si todas se almacenan en texto plano. ¡La contraseña 12345 es tan mala como la de Nuts53! Spike&dog12 si un hacker puede leer todo el archivo de contraseñas.

¿Por qué es peligroso almacenar contraseñas en texto plano?

Almacenar las contraseñas en texto plano es malo porque pone en riesgo tanto al sistema como a los usuarios. Evidentemente, conseguir que un pirata informático pueda encontrar y leer todas y cada una de las contraseñas utilizadas para acceder a un sistema sería un desastre. Podrían simplemente encontrar a un usuario con credenciales de administrador y comprometer todo el sistema o el sitio. Y dado que utilizarían nombres de usuario y contraseñas correctos, es posible que la seguridad interna no detecte la intrusión o no la detecte mucho después de que se haya producido el daño.

Facilitar a los atacantes el robo de contraseñas almacenadas en texto plano también perjudica a los usuarios, ya que muchas personas reutilizan las contraseñas. Debido a que hemos hecho que sea tan difícil crear contraseñas, muchas personas recurren a reutilizar las que pueden recordar en varios sitios. Si un atacante pone en peligro un archivo de contraseñas, es casi seguro que intentará acceder a otros sistemas con el mismo nombre y contraseña, lo que expone a los usuarios a un gran riesgo de cometer delitos secundarios.

Es relativamente fácil almacenar accidentalmente contraseñas en texto plano o no darse cuenta de que esto podría causar problemas importantes en el futuro. Por ejemplo, el siguiente código es un método común que se emplea para almacenar contraseñas al definir un recurso de AWS mediante plantillas de Terraform:

recurso «aws_db_instance» «predeterminado» {
motor = «mysql»
almacenamiento_asignado = 10
clase_instancia = «db.t2.micro»
nombre de usuario = «admin»
contraseña = «s3.cr3t.admin.p2ss»
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}

En ese ejemplo, la contraseña utilizada para administrar la instancia de base de datos MySQL en AWS se almacena en texto sin formato. Esto significa que cualquier persona con acceso al repositorio de código fuente puede leerlo o incluso copiarlo.

La protección de las contraseñas varía según el marco, pero existen métodos de protección para todas las plataformas. Por ejemplo, la contraseña de MySQL se puede almacenar en un almacenamiento seguro como AWS Secrets Manager:

recurso «aws_db_instance» «predeterminado» {
motor = «mysql»
almacenamiento_asignado = 10
clase_instancia = «db.t2.micro»
nombre de usuario = «admin»
contraseña = «$ {data.aws_secretsmanager_secret_version.password.secret_string}»
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}

En ese ejemplo, la plantilla de Terraform obtendrá la contraseña del servicio AWS Secrets Manager y nunca se almacenará en texto plano en los archivos de plantilla.

Proteger las contraseñas evitando el almacenamiento de texto sin formato

Las contraseñas son las claves de tu reino y nunca deben guardarse en texto plano. Ni siquiera las personas que forman parte de una organización deberían tener acceso a un repositorio de contraseñas grande y desprotegido, ni tampoco debería ser un protocolo empresarial aceptado (hoy en día hay muchos gestores de contraseñas que permiten compartir credenciales cifradas, ¡sin excusas!). También existe el peligro de que personas con información privilegiada malintencionadas husmeen los archivos y accedan a sitios donde no deberían.

Y con un ataque externo, imagínese el golpe por partida doble que sería posible si se descubre una puerta trasera a su base de datos mediante algo tan simple como una vulnerabilidad de inyección de SQL, y ellos también obtienen acceso al directorio donde están almacenadas las contraseñas. ¿Cree que son demasiados pasos plagados de errores como para llevarlos a buen puerto? Lamentablemente, este escenario exacto ocurrió en La violación de Sony en 2011. Más de un millón de contraseñas de clientes se almacenaron en texto plano, y el grupo de hackers de Lulzsec accedió a ellas y a muchas más mediante un ataque común de inyección de SQL.

Todas las contraseñas deben estar protegidas por las defensas disponibles en el marco de soporte. Para Terraform, las contraseñas nunca deben almacenarse en archivos de plantilla. Se recomienda utilizar un almacenamiento seguro como AWS Secrets Manager o Azure Key Vault, según el proveedor de infraestructura.

Obligar a los usuarios a crear contraseñas seguras es una buena idea, pero también debes hacer tu parte en el backend. Mantener las contraseñas fuera del almacenamiento de texto sin formato contribuirá en gran medida a proteger a los usuarios y los sistemas. El principal peligro del almacenamiento de contraseñas en texto plano es el deficiente control de acceso; básicamente, cualquiera puede verlas. Es imprescindible (especialmente en un entorno de iAC, en el que, de repente, más personas tienen acceso a la información confidencial) que se controlen adecuadamente y que solo se conceda el acceso a aquellos que absolutamente lo necesitan.

Eche un vistazo a la Secure Code Warrior páginas de 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 otras fallas y vulnerabilidades de seguridad. También puedes prueba un desafío iAC de demostración dentro de la plataforma de formación Secure Code Warrior para mantener todas sus habilidades de ciberseguridad perfeccionadas y actualizadas.


Ver recurso
Ver recurso

Rellene el siguiente formulario para descargar el informe.

Nos gustaría recibir su permiso para enviarle información sobre nuestros productos o temas relacionados con la codificación segura. Siempre trataremos sus datos personales con el máximo cuidado y nunca los venderemos a otras empresas con fines de marketing.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, habilite las cookies de «análisis». No dudes en volver a desactivarlas una vez que hayas terminado.

Cuando se trata de implementar una infraestructura segura como código en su propia organización, ¿cómo le va? Puede que sea una especie de curva de aprendizaje, pero aprender los entresijos será una gran oportunidad para mejorar tus habilidades y destacar entre tus compañeros, y mantenga seguros más datos de los usuarios finales.

Antes de comenzar con el siguiente capítulo de nuestra última serie Coders Conquer Security, me gustaría invitarlos a jugar un desafío gamificado sobre la vulnerabilidad del almacenamiento de datos confidenciales; juegue ahora y elija entre Kubernetes, Terraform, Ansible, Docker o CloudFormation:

¿Cómo fue eso? Si tus conocimientos necesitan algo de trabajo, sigue leyendo:

La clave de la mayoría de la seguridad informática en estos días son las contraseñas. Incluso si se emplean otros métodos de seguridad, como la autenticación de dos factores o la biometría, la mayoría de las organizaciones siguen empleando la seguridad basada en contraseñas como un elemento de su protección. Para muchas empresas, las contraseñas se utilizan exclusivamente.

Usamos tanto las contraseñas que incluso tenemos reglas sobre cómo crearlas. Se supone que esto las hace menos vulnerables a los ataques de fuerza bruta o incluso a las conjeturas descabelladas. Por supuesto, algunas personas todavía usan contraseñas débiles, como lo demuestra un reciente informe de NordPass. Cuesta creer que en 2020 la gente siga usando 12345, así como un montón de otras palabras que se pueden adivinar, como chocolate, contraseña y Dios, para proteger sus activos más confidenciales.

Siempre habrá quienes no quieran usar contraseñas seguras, pero la mayoría de las organizaciones profesionales obligan a los usuarios a crear sus palabras o frases de acceso de ciertas maneras. Ya todos conocemos las reglas según las cuales las contraseñas deben tener al menos ocho caracteres y estar compuestas por letras mayúsculas y minúsculas, con al menos un número y un carácter especial.

Lo malo es que, incluso si los usuarios respetan las reglas para crear contraseñas más seguras, es posible que no sirva de nada si todas se almacenan en texto plano. ¡La contraseña 12345 es tan mala como la de Nuts53! Spike&dog12 si un hacker puede leer todo el archivo de contraseñas.

¿Por qué es peligroso almacenar contraseñas en texto plano?

Almacenar las contraseñas en texto plano es malo porque pone en riesgo tanto al sistema como a los usuarios. Evidentemente, conseguir que un pirata informático pueda encontrar y leer todas y cada una de las contraseñas utilizadas para acceder a un sistema sería un desastre. Podrían simplemente encontrar a un usuario con credenciales de administrador y comprometer todo el sistema o el sitio. Y dado que utilizarían nombres de usuario y contraseñas correctos, es posible que la seguridad interna no detecte la intrusión o no la detecte mucho después de que se haya producido el daño.

Facilitar a los atacantes el robo de contraseñas almacenadas en texto plano también perjudica a los usuarios, ya que muchas personas reutilizan las contraseñas. Debido a que hemos hecho que sea tan difícil crear contraseñas, muchas personas recurren a reutilizar las que pueden recordar en varios sitios. Si un atacante pone en peligro un archivo de contraseñas, es casi seguro que intentará acceder a otros sistemas con el mismo nombre y contraseña, lo que expone a los usuarios a un gran riesgo de cometer delitos secundarios.

Es relativamente fácil almacenar accidentalmente contraseñas en texto plano o no darse cuenta de que esto podría causar problemas importantes en el futuro. Por ejemplo, el siguiente código es un método común que se emplea para almacenar contraseñas al definir un recurso de AWS mediante plantillas de Terraform:

recurso «aws_db_instance» «predeterminado» {
motor = «mysql»
almacenamiento_asignado = 10
clase_instancia = «db.t2.micro»
nombre de usuario = «admin»
contraseña = «s3.cr3t.admin.p2ss»
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}

En ese ejemplo, la contraseña utilizada para administrar la instancia de base de datos MySQL en AWS se almacena en texto sin formato. Esto significa que cualquier persona con acceso al repositorio de código fuente puede leerlo o incluso copiarlo.

La protección de las contraseñas varía según el marco, pero existen métodos de protección para todas las plataformas. Por ejemplo, la contraseña de MySQL se puede almacenar en un almacenamiento seguro como AWS Secrets Manager:

recurso «aws_db_instance» «predeterminado» {
motor = «mysql»
almacenamiento_asignado = 10
clase_instancia = «db.t2.micro»
nombre de usuario = «admin»
contraseña = «$ {data.aws_secretsmanager_secret_version.password.secret_string}»
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}

En ese ejemplo, la plantilla de Terraform obtendrá la contraseña del servicio AWS Secrets Manager y nunca se almacenará en texto plano en los archivos de plantilla.

Proteger las contraseñas evitando el almacenamiento de texto sin formato

Las contraseñas son las claves de tu reino y nunca deben guardarse en texto plano. Ni siquiera las personas que forman parte de una organización deberían tener acceso a un repositorio de contraseñas grande y desprotegido, ni tampoco debería ser un protocolo empresarial aceptado (hoy en día hay muchos gestores de contraseñas que permiten compartir credenciales cifradas, ¡sin excusas!). También existe el peligro de que personas con información privilegiada malintencionadas husmeen los archivos y accedan a sitios donde no deberían.

Y con un ataque externo, imagínese el golpe por partida doble que sería posible si se descubre una puerta trasera a su base de datos mediante algo tan simple como una vulnerabilidad de inyección de SQL, y ellos también obtienen acceso al directorio donde están almacenadas las contraseñas. ¿Cree que son demasiados pasos plagados de errores como para llevarlos a buen puerto? Lamentablemente, este escenario exacto ocurrió en La violación de Sony en 2011. Más de un millón de contraseñas de clientes se almacenaron en texto plano, y el grupo de hackers de Lulzsec accedió a ellas y a muchas más mediante un ataque común de inyección de SQL.

Todas las contraseñas deben estar protegidas por las defensas disponibles en el marco de soporte. Para Terraform, las contraseñas nunca deben almacenarse en archivos de plantilla. Se recomienda utilizar un almacenamiento seguro como AWS Secrets Manager o Azure Key Vault, según el proveedor de infraestructura.

Obligar a los usuarios a crear contraseñas seguras es una buena idea, pero también debes hacer tu parte en el backend. Mantener las contraseñas fuera del almacenamiento de texto sin formato contribuirá en gran medida a proteger a los usuarios y los sistemas. El principal peligro del almacenamiento de contraseñas en texto plano es el deficiente control de acceso; básicamente, cualquiera puede verlas. Es imprescindible (especialmente en un entorno de iAC, en el que, de repente, más personas tienen acceso a la información confidencial) que se controlen adecuadamente y que solo se conceda el acceso a aquellos que absolutamente lo necesitan.

Eche un vistazo a la Secure Code Warrior páginas de 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 otras fallas y vulnerabilidades de seguridad. También puedes prueba un desafío iAC de demostración dentro de la plataforma de formación Secure Code Warrior para mantener todas sus habilidades de ciberseguridad perfeccionadas y actualizadas.


Ver seminario web
Comenzar
Más información

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

Secure Code Warrior aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.

Ver informeReserve una demostración
Ver recurso
Comparte en:
marcas de LinkedInSocialx logotipo
¿Interesado en más?

Comparte en:
marcas de LinkedInSocialx logotipo
autor
Doctor Matias Madou
Publicado el 18 de mayo de 2020

Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Matías es un investigador y desarrollador con más de 15 años de experiencia práctica en seguridad de software. Ha desarrollado soluciones para empresas como Fortify Software y su propia empresa Sensei Security. A lo largo de su carrera, Matías ha dirigido múltiples proyectos de investigación sobre seguridad de aplicaciones que han dado lugar a productos comerciales y cuenta con más de 10 patentes en su haber. Cuando está lejos de su escritorio, Matias ha servido como instructor para la formación de seguridad de aplicaciones avanzadas courses y regularmente habla en conferencias mundiales como la Conferencia RSA, Black Hat, DefCon, BSIMM, OWASP AppSec y BruCon.

Matías es doctor en Ingeniería Informática por la Universidad de Gante, donde estudió la seguridad de las aplicaciones mediante la ofuscación de programas para ocultar el funcionamiento interno de una aplicación.

Comparte en:
marcas de LinkedInSocialx logotipo

Cuando se trata de implementar una infraestructura segura como código en su propia organización, ¿cómo le va? Puede que sea una especie de curva de aprendizaje, pero aprender los entresijos será una gran oportunidad para mejorar tus habilidades y destacar entre tus compañeros, y mantenga seguros más datos de los usuarios finales.

Antes de comenzar con el siguiente capítulo de nuestra última serie Coders Conquer Security, me gustaría invitarlos a jugar un desafío gamificado sobre la vulnerabilidad del almacenamiento de datos confidenciales; juegue ahora y elija entre Kubernetes, Terraform, Ansible, Docker o CloudFormation:

¿Cómo fue eso? Si tus conocimientos necesitan algo de trabajo, sigue leyendo:

La clave de la mayoría de la seguridad informática en estos días son las contraseñas. Incluso si se emplean otros métodos de seguridad, como la autenticación de dos factores o la biometría, la mayoría de las organizaciones siguen empleando la seguridad basada en contraseñas como un elemento de su protección. Para muchas empresas, las contraseñas se utilizan exclusivamente.

Usamos tanto las contraseñas que incluso tenemos reglas sobre cómo crearlas. Se supone que esto las hace menos vulnerables a los ataques de fuerza bruta o incluso a las conjeturas descabelladas. Por supuesto, algunas personas todavía usan contraseñas débiles, como lo demuestra un reciente informe de NordPass. Cuesta creer que en 2020 la gente siga usando 12345, así como un montón de otras palabras que se pueden adivinar, como chocolate, contraseña y Dios, para proteger sus activos más confidenciales.

Siempre habrá quienes no quieran usar contraseñas seguras, pero la mayoría de las organizaciones profesionales obligan a los usuarios a crear sus palabras o frases de acceso de ciertas maneras. Ya todos conocemos las reglas según las cuales las contraseñas deben tener al menos ocho caracteres y estar compuestas por letras mayúsculas y minúsculas, con al menos un número y un carácter especial.

Lo malo es que, incluso si los usuarios respetan las reglas para crear contraseñas más seguras, es posible que no sirva de nada si todas se almacenan en texto plano. ¡La contraseña 12345 es tan mala como la de Nuts53! Spike&dog12 si un hacker puede leer todo el archivo de contraseñas.

¿Por qué es peligroso almacenar contraseñas en texto plano?

Almacenar las contraseñas en texto plano es malo porque pone en riesgo tanto al sistema como a los usuarios. Evidentemente, conseguir que un pirata informático pueda encontrar y leer todas y cada una de las contraseñas utilizadas para acceder a un sistema sería un desastre. Podrían simplemente encontrar a un usuario con credenciales de administrador y comprometer todo el sistema o el sitio. Y dado que utilizarían nombres de usuario y contraseñas correctos, es posible que la seguridad interna no detecte la intrusión o no la detecte mucho después de que se haya producido el daño.

Facilitar a los atacantes el robo de contraseñas almacenadas en texto plano también perjudica a los usuarios, ya que muchas personas reutilizan las contraseñas. Debido a que hemos hecho que sea tan difícil crear contraseñas, muchas personas recurren a reutilizar las que pueden recordar en varios sitios. Si un atacante pone en peligro un archivo de contraseñas, es casi seguro que intentará acceder a otros sistemas con el mismo nombre y contraseña, lo que expone a los usuarios a un gran riesgo de cometer delitos secundarios.

Es relativamente fácil almacenar accidentalmente contraseñas en texto plano o no darse cuenta de que esto podría causar problemas importantes en el futuro. Por ejemplo, el siguiente código es un método común que se emplea para almacenar contraseñas al definir un recurso de AWS mediante plantillas de Terraform:

recurso «aws_db_instance» «predeterminado» {
motor = «mysql»
almacenamiento_asignado = 10
clase_instancia = «db.t2.micro»
nombre de usuario = «admin»
contraseña = «s3.cr3t.admin.p2ss»
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}

En ese ejemplo, la contraseña utilizada para administrar la instancia de base de datos MySQL en AWS se almacena en texto sin formato. Esto significa que cualquier persona con acceso al repositorio de código fuente puede leerlo o incluso copiarlo.

La protección de las contraseñas varía según el marco, pero existen métodos de protección para todas las plataformas. Por ejemplo, la contraseña de MySQL se puede almacenar en un almacenamiento seguro como AWS Secrets Manager:

recurso «aws_db_instance» «predeterminado» {
motor = «mysql»
almacenamiento_asignado = 10
clase_instancia = «db.t2.micro»
nombre de usuario = «admin»
contraseña = «$ {data.aws_secretsmanager_secret_version.password.secret_string}»
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.default.id]
}

En ese ejemplo, la plantilla de Terraform obtendrá la contraseña del servicio AWS Secrets Manager y nunca se almacenará en texto plano en los archivos de plantilla.

Proteger las contraseñas evitando el almacenamiento de texto sin formato

Las contraseñas son las claves de tu reino y nunca deben guardarse en texto plano. Ni siquiera las personas que forman parte de una organización deberían tener acceso a un repositorio de contraseñas grande y desprotegido, ni tampoco debería ser un protocolo empresarial aceptado (hoy en día hay muchos gestores de contraseñas que permiten compartir credenciales cifradas, ¡sin excusas!). También existe el peligro de que personas con información privilegiada malintencionadas husmeen los archivos y accedan a sitios donde no deberían.

Y con un ataque externo, imagínese el golpe por partida doble que sería posible si se descubre una puerta trasera a su base de datos mediante algo tan simple como una vulnerabilidad de inyección de SQL, y ellos también obtienen acceso al directorio donde están almacenadas las contraseñas. ¿Cree que son demasiados pasos plagados de errores como para llevarlos a buen puerto? Lamentablemente, este escenario exacto ocurrió en La violación de Sony en 2011. Más de un millón de contraseñas de clientes se almacenaron en texto plano, y el grupo de hackers de Lulzsec accedió a ellas y a muchas más mediante un ataque común de inyección de SQL.

Todas las contraseñas deben estar protegidas por las defensas disponibles en el marco de soporte. Para Terraform, las contraseñas nunca deben almacenarse en archivos de plantilla. Se recomienda utilizar un almacenamiento seguro como AWS Secrets Manager o Azure Key Vault, según el proveedor de infraestructura.

Obligar a los usuarios a crear contraseñas seguras es una buena idea, pero también debes hacer tu parte en el backend. Mantener las contraseñas fuera del almacenamiento de texto sin formato contribuirá en gran medida a proteger a los usuarios y los sistemas. El principal peligro del almacenamiento de contraseñas en texto plano es el deficiente control de acceso; básicamente, cualquiera puede verlas. Es imprescindible (especialmente en un entorno de iAC, en el que, de repente, más personas tienen acceso a la información confidencial) que se controlen adecuadamente y que solo se conceda el acceso a aquellos que absolutamente lo necesitan.

Eche un vistazo a la Secure Code Warrior páginas de 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 otras fallas y vulnerabilidades de seguridad. También puedes prueba un desafío iAC de demostración dentro de la plataforma de formación Secure Code Warrior para mantener todas sus habilidades de ciberseguridad perfeccionadas y actualizadas.


Tabla de contenido

Descargar PDF
Ver recurso
¿Interesado en más?

Matias Madou, Ph.D. es experto en seguridad, investigador y CTO y cofundador de Secure Code Warrior. Matias obtuvo su doctorado en Seguridad de Aplicaciones en la Universidad de Gante, centrándose en soluciones de análisis estático. Más tarde se incorporó a Fortify en EE.UU., donde se dio cuenta de que no bastaba con detectar problemas de código sin ayudar a los desarrolladores a escribir código seguro. Esto le inspiró para desarrollar productos que ayuden a los desarrolladores, alivien la carga de la seguridad y superen las expectativas de los clientes. Cuando no está en su escritorio como parte de Team Awesome, le gusta estar en el escenario presentando en conferencias como RSA Conference, BlackHat y DefCon.

Más información

Secure Code Warrior aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.

Reserve una demostraciónDescargar
Comparte en:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos para empezar

Más publicaciones
Centro de recursos

Recursos para empezar

Más publicaciones