SCW アイコン
ヒーロー背景(区切りなし)
ブログ

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

マティアス・マドゥ博士
2020年5月18日 発行
最終更新日: 2026年3月6日

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.


リソースを参照
リソースを参照

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.

もっと知りたいですか?

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先事項とする文化を構築するために、貴組織をSecure Code Warrior 。AppSec管理者、開発者、CISO、セキュリティ関連担当者など、あらゆる立場の方々に対し、不安全なコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約する
共有する:
リンクトインのブランドソーシャルx ロゴ
著者
マティアス・マドゥ博士
2020年5月18日発行

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

マティアスは、15年以上のソフトウェアセキュリティの実務経験を持つ研究者・開発者です。フォーティファイ・ソフトウェア社や自身の会社(Sensei Security)などでソリューションを開発してきました。キャリアの中で、Matiasは、商用製品につながる複数のアプリケーションセキュリティ研究プロジェクトを主導し、10件以上の特許を取得しています。また、RSAカンファレンス、Black Hat、DefCon、BSIMM、OWASP AppSec、BruConなどの世界的なカンファレンスで定期的に講演を行っているほか、高度なアプリケーションセキュリティトレーニング(courses )の講師も務めています。

Matiasはゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。

共有する:
リンクトインのブランドソーシャルx ロゴ

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.


リソースを参照
リソースを参照

以下のフォームに記入してレポートをダウンロードしてください

当社製品や安全な暗号化に関する情報をお送りする許可を頂ければ幸いです。お客様の個人情報は常に最大限の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、「分析」クッキーを有効にしてください。完了後は、お気軽に再度無効にしてください。

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.


ウェビナーを見る
始める
もっと詳しく

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先事項とする文化を構築するために、貴組織をSecure Code Warrior 。AppSec管理者、開発者、CISO、セキュリティ関連担当者など、あらゆる立場の方々に対し、不安全なコードに関連するリスクを軽減するお手伝いをいたします。

報告書を見るデモを予約する
PDFをダウンロード
リソースを参照
共有する:
リンクトインのブランドソーシャルx ロゴ
もっと知りたいですか?

共有する:
リンクトインのブランドソーシャルx ロゴ
著者
マティアス・マドゥ博士
2020年5月18日発行

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

マティアスは、15年以上のソフトウェアセキュリティの実務経験を持つ研究者・開発者です。フォーティファイ・ソフトウェア社や自身の会社(Sensei Security)などでソリューションを開発してきました。キャリアの中で、Matiasは、商用製品につながる複数のアプリケーションセキュリティ研究プロジェクトを主導し、10件以上の特許を取得しています。また、RSAカンファレンス、Black Hat、DefCon、BSIMM、OWASP AppSec、BruConなどの世界的なカンファレンスで定期的に講演を行っているほか、高度なアプリケーションセキュリティトレーニング(courses )の講師も務めています。

Matiasはゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。

共有する:
リンクトインのブランドソーシャルx ロゴ

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.


目次

PDFをダウンロード
リソースを参照
もっと知りたいですか?

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先事項とする文化を構築するために、貴組織をSecure Code Warrior 。AppSec管理者、開発者、CISO、セキュリティ関連担当者など、あらゆる立場の方々に対し、不安全なコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約するダウンロード
共有する:
リンクトインのブランドソーシャルx ロゴ
リソースセンター

始めるためのリソース

その他の投稿
リソースセンター

始めるためのリソース

その他の投稿