Riesgos de vulnerabilidades no detectadas
Su organización tiene exposición a vulnerabilidades en el código que escribe y mantiene, y en las dependencias de open source o de terceros que usa el código. Evaluar la exposición a vulnerabilidades es fundamental si desea evitar lo siguiente:
-
**Tiempo de inactividad no planificado e interrupción operativa**. La explotación de vulnerabilidades puede provocar interrupciones de aplicaciones, degradación de la calidad del servicio o errores en cascada en sistemas críticos, lo que interrumpe las operaciones empresariales. -
**Aumento de los costes de corrección**. Cuanto más tiempo permanece sin tratar el código vulnerable, más difícil y costoso se vuelve corregirlo, especialmente si el código está profundamente integrado o si se producen incidentes. La detección y la corrección tempranas reducen el riesgo de una respuesta a incidentes costosa, revisiones de emergencia y daños de reputación. -
**Propagación generalizada del riesgo**. A menudo, los módulos y dependencias vulnerables se reutilizan en varias aplicaciones y servicios, lo que significa que un único error se puede propagar en toda la organización, lo que aumenta el riesgo y el impacto de la explotación. -
**Cadena de suministro en peligro**. Los atacantes pueden aprovechar vulnerabilidades en open source o dependencias de terceros para insertar código malintencionado, elevar privilegios o obtener acceso no autorizado a los sistemas. Las dependencias en peligro pueden servir como puntos de entrada indirectos para actores malintencionados, lo que conduce a incidentes de seguridad de gran alcance. -
**Problemas normativos y de licencias**. Muchas regulaciones y estándares del sector requieren que las organizaciones solucionen proactivamente las vulnerabilidades conocidas en su cadena de suministro de software. Si no se corrigen las dependencias vulnerables, se pueden producir incumplimientos, auditorías, sanciones legales o infracciones de las obligaciones de licencia de open source.
La evaluación periódica de la exposición a vulnerabilidades le ayuda a identificar los riesgos tempranos y priorizar la corrección.
Formas de monitorear tus repositorios para detectar código vulnerable
-
**Code scanning** monitoriza automáticamente el código de tu proyecto para detectar vulnerabilidades. Cuando detecta un problema de seguridad en la solicitud de incorporación de cambios, crea una alerta, sugiriendo una corrección automática para resolver la vulnerabilidad. Esto reduce la barrera a la resolución y ayuda a garantizar que el proyecto permanece seguro. Consulta [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning). -
**Dependabot** supervisa automáticamente las dependencias del proyecto para detectar vulnerabilidades y paquetes obsoletos. Cuando detecta un problema de seguridad o una nueva versión, crea solicitudes de incorporación de cambios para actualizar las dependencias afectadas, lo que le ayuda a abordar rápidamente los riesgos de seguridad y mantener el software actualizado. Esto reduce el esfuerzo manual y ayuda a garantizar que el proyecto permanezca seguro. Consulta [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide).
GitHub proporciona un conjunto completo de métricas de Dependabot para ayudarle a supervisar, priorizar y corregir estos riesgos en todos los repositorios de su organización. Consulta Acerca de las métricas de las alertas de Dependabot.
Reducción de la exposición a vulnerabilidades de la organización
La reducción de la exposición a vulnerabilidades de la organización requiere visibilidad continua del riesgo, el progreso de la corrección y la aplicación de directivas en los repositorios. Las métricas de Dependabot y code scanning proporcionan esta visibilidad. Use los siguientes procedimientos recomendados para supervisar y reducir la exposición a vulnerabilidades de la organización:
Monitoreo de métricas de vulnerabilidad para dependencias
Use la información general de las métricas de Dependabot para obtener visibilidad del estado actual de las vulnerabilidades de dependencia de la organización. Consulta Visualización de métricas para alertas de Dependabot.
-
**Priorización de alertas:** revise el número de Dependabot alerts abiertas y use filtros como gravedad de CVSS, probabilidad de vulnerabilidad de EPSS, disponibilidad de revisiones y si realmente se usa una dependencia vulnerable en artefactos implementados. Consulta [Filtros de vista del panel Dependabot](/code-security/security-overview/filtering-alerts-in-security-overview#dependabot-dashboard-view-filters). -
**Desglose de nivel de repositorio:** identifique qué repositorios tienen el mayor número de vulnerabilidades críticas o aprovechables. -
**Seguimiento de corrección:** realice un seguimiento del número y el porcentaje de alertas corregidas en el tiempo para medir la eficacia del programa de administración de vulnerabilidades.
Supervisar la introducción de nuevas alertas de code scanning
Utilice la vista de alertas de code scanning para obtener visibilidad sobre la actividad de corrección en las solicitudes de incorporación de cambios de su organización. Consulta Ver métricas para alertas de pull request.
-
**Alertas en solicitudes de incorporación de cambios:** Revise cuántas alertas se detectaron y se fusionaron en la rama principal sin resolución. -
**Reglas más frecuentes:** Identifique las reglas que se desencadenan con frecuencia cuando se necesita educación para desarrolladores. -
**Desglose de nivel de repositorio:** Identifique qué repositorios tienen el mayor número de alertas detectadas en los pull requests, pero que igualmente se integran en la rama predeterminada. -
**Seguimiento de corrección:** realice un seguimiento del número y el porcentaje de alertas corregidas en el tiempo para medir la eficacia del programa de administración de vulnerabilidades.
Priorizar los esfuerzos de corrección
Céntrese en las vulnerabilidades que presentan el riesgo más alto para su organización.
- Priorice las alertas con gravedad alta o crítica. Para Dependabot alerts, priorice también las puntuaciones altas de EPSS y las revisiones disponibles.
- Use la información de desglose del repositorio para dirigir los esfuerzos de corrección a los proyectos más en riesgo.
- Anime a los equipos de desarrollo a abordar vulnerabilidades que se usan realmente en artefactos implementados a través de las propiedades personalizadas del repositorio y el uso del contexto de producción. Consulte Priorización de alertas de análisis de código y Dependabot mediante el contexto de producción.
- Cree campañas de seguridad para fomentar y realizar un seguimiento de la corrección de las alertas de prioridad alta code scanning . Consulta Creación y administración de campañas de seguridad.
Comunicar el riesgo y el progreso
- Use las páginas de métricas para comunicar los principales factores de riesgo y el progreso de la corrección a las partes interesadas.
- Proporcione actualizaciones periódicas sobre las tendencias, como la reducción de vulnerabilidades críticas abiertas o mejoras en las tasas de corrección.
- Resalte repositorios o equipos que requieran soporte técnico o atención adicionales.
Establecimiento y aplicación de directivas
- Establezca una configuración de seguridad que abarque toda la organización y habilite Dependabot y code scanning en todos los repositorios existentes y nuevos. Consulta Habilitación de características de seguridad a gran escala.
- Habilite la revisión de dependencias para comentar sobre los pull requests en todos los repositorios.
- Cree un conjunto de reglas a nivel de organización para proteger la rama predeterminada y pida que se corrijan las alertas críticas de code scanning antes de que una solicitud de incorporación de cambios pueda fusionarse. Consulta Administración de conjuntos de reglas para repositorios en su organización.
- Trabaje con los administradores de los repositorios para habilitar las actualizaciones de seguridad automatizadas siempre que sea posible. Consulta Sobre las actualizaciones de seguridad de Dependabot.
Evaluación del impacto de las alertas
- Revise periódicamente cómo las alertas de Dependabot y code scanning previenen que las vulnerabilidades de seguridad entren en su repositorio.
- Use datos históricos para mostrar el valor de la administración proactiva de dependencias.