Los secretos, los secretos no son divertidos. Secretos, secretos (almacenados en archivos de texto sin formato) lastiman a alguien


Los secretos están destinados a ser ocultos o, al menos, solo conocidos por un conjunto específico y limitado de personas (o sistemas). De lo contrario, no son realmente secretos. En la vida personal, un secreto revelado puede dañar las relaciones, provocar un estigma social o, al menos, ser vergonzoso. En la vida profesional de un desarrollador o ingeniero de seguridad de aplicaciones, las consecuencias de exponer secretos pueden conducir a violaciones de seguridad, fugas de datos y, bueno, también ser vergonzosos. Y si bien hay herramientas disponibles para detectar código fuente y repositorios de código, hay pocas opciones para identificar secretos en texto sin formato, documentos, correos electrónicos, registros de chat, sistemas de administración de contenido y más.

¿Qué son los secretos?

En el contexto de las aplicaciones, los secretos son información confidencial, como contraseñas, claves API, claves criptográficas y otros datos confidenciales que una aplicación necesita para funcionar, pero que no deben exponerse a usuarios no autorizados. Los secretos generalmente se almacenan de forma segura y la aplicación accede a ellos mediante programación cuando es necesario.

El uso de secretos es un aspecto esencial de la seguridad de las aplicaciones. El acceso no autorizado a estos datos confidenciales puede dar lugar a infracciones de seguridad y otras actividades maliciosas. Para proteger los secretos, los desarrolladores, los administradores de sistemas y los ingenieros de seguridad utilizan una variedad de técnicas de seguridad como el cifrado, el almacenamiento seguro y los mecanismos de control de acceso para garantizar que solo los usuarios autorizados puedan acceder a ellos. Además, implementan las mejores prácticas, como la rotación periódica de contraseñas y claves, y la limitación del alcance del acceso a los secretos a solo lo necesario para que la aplicación funcione.

Secretos en la cadena de suministro de software

Los secretos son un componente crítico de la seguridad de la cadena de suministro de software, que abarca desde la colaboración hasta la implementación y todo lo demás.

Un secreto, como una clave de acceso o una contraseña, suele ser lo único que se interpone entre un atacante y los datos o sistemas confidenciales. Por lo tanto, es esencial mantener estos secretos confidenciales y seguros. Cuando los secretos se ven comprometidos, puede conducir a una violación de datos devastadora, que puede causar un daño financiero y de reputación significativo a una organización.

Los secretos son un objetivo frecuente de los ataques a la cadena de suministro de software. Los atacantes a menudo tienen como objetivo los secretos para obtener acceso a los sistemas, datos o servidores de la empresa. Pueden obtener fácilmente estos secretos si se han filtrado por error a una fuente pública. Salvaguardar los secretos en la seguridad de la cadena de suministro de software es esencial para garantizar que los atacantes no puedan explotarlos para comprometer los sistemas y datos de la empresa. La gestión adecuada de secretos puede ayudar a prevenir el acceso no autorizado a sistemas y datos críticos, protegiendo a las organizaciones de los ataques a la cadena de suministro.

¿Cómo mantienes los secretos en secreto?

Para protegerse contra la filtración de secretos, puede emplear las siguientes prácticas:

  1. Use variables de entorno para almacenar secretos: en lugar de codificar secretos en su código, guárdelos en variables de entorno. Esto facilita la administración de secretos y garantiza que no se envíen accidentalmente a un repositorio de código.
  2. Use un archivo .gitignore: cree un archivo .gitignore para excluir archivos que contienen secretos del seguimiento de Git. Esto evitará que la información confidencial se envíe accidentalmente a un repositorio de código. Si sigue el n. ° 1 anterior, asegúrese de que si los secretos se almacenan en un archivo de variable de entorno, ese archivo se especifica en .gitignore.
  3. Use una herramienta de administración de secretos: una herramienta de administración de secretos puede ayudar a almacenar y administrar de manera segura los secretos de aplicaciones o sistemas. Esto garantiza que los secretos estén encriptados y que solo los usuarios autorizados puedan acceder a ellos.
  4. Utilice el cifrado: cifre los secretos antes de almacenarlos en repositorios de códigos. Esto proporciona una capa adicional de seguridad y dificulta que los atacantes accedan a información confidencial.
  5. Usar autenticación de dos factores (2FA): habilite 2FA para repositorios de códigos para evitar el acceso no autorizado. Esto agrega una capa adicional de seguridad y dificulta que los atacantes obtengan acceso no autorizado a un repositorio de código.

Al seguir estas prácticas recomendadas, puede protegerse contra la exposición accidental de información confidencial en nuestros repositorios de código y administradores de control de código fuente. Pero, ¿qué pasa con otros sistemas, como los sistemas de administración de contenido, documentos de texto sin formato, correos electrónicos, registros de chat y otros activos digitales? no almacenado en un repositorio?

Presentamos demasiados secretos de Checkmarx

Too Many Secrets (2MS) es un proyecto de código abierto dedicado a ayudar a las personas a proteger su información confidencial, como contraseñas, credenciales y claves API, para que no aparezcan en sitios web públicos y servicios de comunicación. 2MS es compatible con Confluence hoy y pronto agregaremos soporte para Discord. Además, también es fácilmente extensible a otras plataformas de comunicación o colaboración.

Instalar y ejecutar 2MS es extremadamente rápido y simple. Construido en Go, todo lo que necesita es clonar el repositorio, compilar el proyecto y ejecutar el binario en su plataforma. A continuación se muestra la lista de comandos que usé para ponerme en marcha en OSX (usando Bash 5.1.16):

# preparar cerveza ir

# git clonar https://github.com/Checkmarx/2ms.git

#cd 2ms

# ir a construir

# ./2ms –confluence https://.atlassian.net/wiki –confluence-spaces –confluence-username –confluence-token

2MS se basa en un motor de detección de secretos (actualmente gitleaks) e incluye varios complementos para interactuar con plataformas populares. Esto significa que cualquiera en la comunidad de código abierto puede contribuir, mejorar y ampliar 2MS con bastante facilidad.

Aprende más

Creemos que al trabajar juntos, podemos crear un mundo digital más seguro. Para obtener más información o descargar el proyecto usted mismo, diríjase a la https://github.com/Checkmarx/2msdisponible en GitHub.

Nota: Este artículo fue escrito de manera experta y contribuido por Bryant Schuck, líder de gerente de producto en Checkmarx.

¿Encontraste este artículo interesante? Siga con nosotros Gorjeo y LinkedIn para leer más contenido exclusivo que publicamos.





ttn-es-57