Secretos y credenciales
Los secretos son credenciales que conceden acceso a datos y sistemas confidenciales, incluidas las claves de API, las contraseñas, los tokens de autenticación, los certificados y las claves de cifrado. Cuando los secretos se confirman en repositorios, se convierten en parte del historial de Git y permanecen accesibles incluso después de quitarse de la confirmación más reciente.
Los secretos de los repositorios de código se pueden detectar mediante herramientas de examen automatizadas y usuarios no autorizados. Los repositorios públicos son especialmente vulnerables, pero las credenciales filtradas de los repositorios privados también se pueden distribuir a través de bifurcaciones, registros de CI/CD o integraciones de terceros.
Impacto en la seguridad de los secretos expuestos
Los secretos expuestos pueden provocar varios tipos de incidentes de seguridad:
**Acceso y uso no autorizados**
-
Las credenciales de proveedor de nube filtradas se pueden usar para aprovisionar infraestructura o servicios en su cuenta
-
Las credenciales de base de datos permiten el acceso a datos confidenciales del cliente o de la organización
-
Los tokens de cuenta de servicio proporcionan puntos de entrada a los sistemas de producción
**Problemas operativos y de cumplimiento** -
La infraestructura se puede modificar o eliminar mediante credenciales filtradas
-
Las infracciones de datos de secretos expuestos pueden dar lugar a sanciones normativas en virtud del RGPD, la CCPA y otros marcos
-
Las organizaciones se enfrentan a los costos de respuesta a incidentes, rotación de credenciales y corrección del sistema
**Riesgo organizativo** -
La divulgación pública de secretos filtrados afecta a la confianza del cliente y a la reputación de la organización
-
Los tokens del Registro de paquetes expuestos se pueden usar para publicar versiones malintencionadas del software.
-
Se pueden aprovechar las claves de API propietarias o las credenciales de servicio.
Impacto financiero de secretos expuestos
La pérdida de secretos puede dar lugar a costos directos e indirectos a su organización, desde gastos inmediatos hasta consecuencias empresariales a largo plazo.
**Costos inmediatos**
-
El uso de recursos en la nube no autorizado de claves de API filtradas puede generar cargos por instancias de proceso, almacenamiento o transferencia de datos.
-
Las operaciones mineras de criptomoneda en cuentas comprometidas pueden dar lugar a facturas de infraestructura considerables
-
La respuesta ante incidentes de emergencia requiere recursos para la investigación forense, las auditorías de seguridad y la rotación de credenciales entre sistemas
**Costos de vulneración de datos** -
Las multas normativas por infracciones de protección de datos pueden llegar a millones de dólares en virtud del RGPD, la CCPA y las regulaciones específicas del sector
-
Los costos legales incluyen investigación, requisitos de notificación y posibles litigios
-
Servicios de supervisión de crédito e protección de identidades para los clientes afectados
**Impacto operativo** -
Las interrupciones del servicio de la infraestructura en peligro provocan pérdidas de ingresos y productividad
-
El tiempo de ingeniería dedicado a responder a incidentes de seguridad desvía los recursos del desarrollo de productos.
-
Aumento de las herramientas de seguridad y la supervisión de los costos siguientes a los incidentes
**Impacto empresarial a largo plazo** -
Pérdida de clientes tras la divulgación pública de incidentes de seguridad
-
Aumento de las primas de seguro para la cobertura de responsabilidad cibernética
-
Pérdida de oportunidades de negocio debido a errores en las evaluaciones de seguridad o auditorías de cumplimiento
Escenarios comunes de pérdida de secretos
Los secretos suelen entrar en los repositorios mediante varios patrones comunes.
**Flujos de trabajo de desarrollo**
-
Credenciales codificadas de forma fija durante las pruebas locales y comprometidas inadvertidamente
-
Secretos en archivos de configuración como
.envo plantillas de infraestructura como código -
Ejemplo de credenciales que contienen los tokens reales en la documentación, wikis o ficheros LÉAME
**Administración de repositorios** -
Repositorios heredados que contienen credenciales olvidadas pero todavía activas
-
Secretos compartidos en incidencias de GitHub, comentarios de solicitud de incorporación de cambios, discusiones o gists
-
Credenciales introducidas por colaboradores externos o contratistas
**Desafíos del control de versiones** -
Los secretos se conservan en el historial de Git incluso después de la eliminación del código actual
-
Las credenciales se propagan a repositorios bifurcados, sistemas de copia de seguridad y registros
-
Los repositorios públicos con secretos expuestos se indexan mediante motores de búsqueda y servicios de examen especializados
Seguridad secreta con GitHub
GitHub proporciona herramientas para ayudarle a evitar, detectar y corregir la pérdida de secretos:
1. Impedir que se filtren nuevos secretos
Habilite la protección de inserción para los repositorios a fin de examinar el código durante las git push operaciones y bloquear las confirmaciones que contengan secretos detectados. Esto impide que las credenciales entren en los repositorios mientras proporciona comentarios en tiempo real a los desarrolladores.
Anime a los colaboradores a habilitar la protección de inserción para sus cuentas personales (la característica se denomina "protección de inserción para los usuarios") para proteger todas sus inserciones en sus repositorios, bifurcaciones y todos los repositorios a los que contribuyen a través de GitHub. Esto permite a los desarrolladores individuales evitar la pérdida de secretos sin esperar a directivas de nivel de organización.
2. Detección de secretos existentes
Use secret scanning para supervisar continuamente los repositorios de secretos confirmados y recibir alertas cuando se detecten credenciales. Esto le permite revocar y rotar las credenciales en peligro rápidamente.
Pasos siguientes
Para proteger a su organización frente a la pérdida de secretos:
- Habilite la protección de inserción para evitar que se confirmen nuevos secretos.
- Habilite secret scanning con un clic para empezar a detectar fugas de secretos.
- Establezca prácticas seguras de administración de credenciales para los equipos de desarrollo.