Parches de seguridad
En este documento, se describe cómo Google administra las vulnerabilidades y los parches de seguridad de Google Kubernetes Engine (GKE) y GKE Enterprise. Salvo que se indique lo contrario, GKE Enterprise incluye las plataformas GKE y GKE Enterprise.
Esta página está dirigida a especialistas en seguridad que admiten la resolución de problemas de seguridad o vulnerabilidades que necesitan asistencia estratégica, como incidentes y problemas derivados de la asistencia. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud, consulta Tareas y roles comunes de los usuarios de GKE Enterprise.
Aplicación de parches de responsabilidad compartida
La aplicación de parches es una responsabilidad compartida entre Google y el cliente. Las diferentes plataformas tienen distintas responsabilidades compartidas. Consulta los siguientes temas en cada plataforma para obtener más detalles:
Cómo descubrimos las vulnerabilidades
Google realizó grandes inversiones en diseño de seguridad proactiva y endurecimiento, pero incluso los sistemas de software de mejor diseño pueden tener vulnerabilidades. Para encontrar esas vulnerabilidades y aplicar parches antes de que puedan ser aprovechadas, Google hizo inversiones significativas en varios frentes.
Para la aplicación de parches, GKE Enterprise es una capa del sistema operativo (SO) con contenedores que se ejecutan en la parte superior. Los sistemas operativos, Container-Optimized OS o Ubuntu, están endurecidos y contienen la cantidad mínima de software necesario para ejecutar contenedores. Las funciones de GKE Enterprise se ejecutan como contenedores en la parte superior de las imágenes base.
Google identifica y corrige las vulnerabilidades y los parches faltantes de las siguientes maneras:
Container-Optimized OS: Google analiza las imágenes para identificar posibles vulnerabilidades y parches faltantes. El equipo de Container-Optimized OS revisa y resuelve los problemas.
Ubuntu: Canonical proporciona a Google las compilaciones de SO que tienen aplicadas todos los parches de seguridad disponibles.
Google analiza los contenedores mediante Container Registry Artifact Analysis a fin de descubrir vulnerabilidades y parches faltantes en Kubernetes y contenedores administrados por Google. Si hay correcciones disponibles, el analizador comienza automáticamente el proceso de aplicación de parches y actualizaciones.
Además del análisis automatizado, Google descubre vulnerabilidades desconocidas a los escáneres y aplica parches de las siguientes maneras.
Google realiza sus propias auditorías, pruebas de penetración y descubrimiento de vulnerabilidades en todas las plataformas de GKE Enterprise. Equipos especializados dentro de Google y proveedores de seguridad externos de confianza realizan su propia investigación sobre ataques. Google también trabajó con el CNCF con el objetivo de proporcionar gran parte de la organización y la experiencia de asesoría técnica para la auditoría de seguridad de Kubernetes.
Google participa de forma activa con la comunidad de investigación de seguridad mediante varios programas de recompensas por detección de vulnerabilidades. Un programa dedicado de recompensas por detección de vulnerabilidades de Google Cloud proporciona recompensas significativas, que incluyen $133,337 para la mejor vulnerabilidad de la nube que se encuentra cada año. Para GKE, hay un programa que recompensa a los investigadores de seguridad si pueden interrumpir nuestros controles de seguridad. El programa abarca todas las dependencias de software de GKE.
Google colabora con otros socios de software de industria y código abierto que comparten vulnerabilidades, investigaciones de seguridad y parches antes del lanzamiento público de la vulnerabilidad. El objetivo de esta colaboración es aplicar un parche a grandes partes de la infraestructura de Internet antes de que se anuncie al público la vulnerabilidad. En algunos casos, Google contribuye con vulnerabilidades que se encuentran en esta comunidad. Por ejemplo, el proyecto cero de Google descubrió y publicó las vulnerabilidades Spectre y Meltdown. El equipo de seguridad de Google Cloud también encuentra y corrige vulnerabilidades en la máquina virtual (KVM) basada en kernel con regularidad.
La colaboración en seguridad de Google ocurre en muchos niveles. En ocasiones, se produce formalmente a través de programas en los que las organizaciones se registran con el objetivo de recibir notificaciones previas al lanzamiento sobre vulnerabilidades de software para productos como Kubernetes y Envoy. La colaboración también se realiza de manera informal debido a nuestra participación en muchos proyectos de código abierto, como el kernel de Linux, los entornos de ejecución de contenedores, la tecnología de virtualización y otros.
Para Kubernetes, Google es un miembro activo y fundador del Comité de respuesta de seguridad (SRC) y escribió gran parte del Proceso de lanzamiento de seguridad. Google es miembro de la lista de distribuidores de Kubernetes que recibe una notificación previa sobre las vulnerabilidades y participa en la clasificación, la aplicación de parches, el desarrollo de mitigación y la comunicación de casi todas las vulnerabilidades graves de seguridad de Kubernetes. Google también descubrió por su cuenta varias vulnerabilidades de Kubernetes.
Si bien se detectan vulnerabilidades menos graves y se aplican parches fuera de estos procesos, las vulnerabilidades de seguridad más importantes se informan de forma privada a través de uno de los canales enumerados antes. Los informes anticipados le brindan a Google tiempo antes de que la vulnerabilidad se haga pública para investigar cómo afecta a GKE Enterprise, desarrollar parches o mitigaciones, y preparar consejos y comunicaciones para los clientes. Cuando sea posible, Google aplica parches a todos los clústeres antes del lanzamiento público de la vulnerabilidad.
Cómo se clasifican las vulnerabilidades
GKE realiza grandes inversiones en la seguridad de endurecimiento de toda la pila, incluidos el SO, el contenedor, Kubernetes y las capas de red, además de establecer valores predeterminados adecuados, parámetros de configuración endurecidas en la seguridad y componentes administrados. Juntos, estos esfuerzos ayudan a reducir el impacto y la probabilidad de vulnerabilidades.
El equipo de seguridad de GKE Enterprise clasifica las vulnerabilidades según el sistema de puntuación de vulnerabilidades de Kubernetes. Las clasificaciones consideran muchos factores, incluida la configuración de GKE y GKE Enterprise y el endurecimiento de seguridad. Debido a estos factores y las inversiones que GKE realiza en seguridad, las clasificaciones de las vulnerabilidades de GKE y GKE Enterprise pueden diferir de otras fuentes de clasificación.
En la siguiente tabla, se describen las categorías de gravedad de las vulnerabilidades:
Gravedad | Descripción |
---|---|
Crítico | Una vulnerabilidad fácilmente capaz de afectar todos los clústeres mediante un atacante remoto no autenticado que representa un peligro para todo el sistema. |
Alto | Una vulnerabilidad que se puede aprovechar fácilmente para muchos clústeres que hace que se pierdan la confidencialidad, la integridad o la disponibilidad. |
Medio | Una vulnerabilidad que afecta a algunos clústeres en los que la pérdida de confidencialidad, integridad o disponibilidad está limitada por configuraciones comunes, dificultad de la explotación en sí, acceso obligatorio o interacción del usuario. |
Bajo | El resto de las vulnerabilidades. El riesgo de explotación es poco probable o las consecuencias de la explotación son limitadas. |
Consulta los boletines de seguridad para ver ejemplos de vulnerabilidades, correcciones y mitigaciones, y sus calificaciones.
Cómo se parchan las vulnerabilidades
El parche de una vulnerabilidad implica actualizar a un nuevo número de versión de GKE o GKE Enterprise. Las versiones de GKE y GKE Enterprise incluyen componentes con versiones para el sistema operativo, los componentes de Kubernetes y otros contenedores que conforman la plataforma de GKE Enterprise. Para corregir algunas vulnerabilidades, solo se requiere una actualización del plano de control que Google realiza de manera automática en GKE, mientras que otras requieren actualizaciones del plano de control y de nodos.
Para mantener los clústeres con parches y endurecidos contra las vulnerabilidades de todos los niveles de gravedad, recomendamos usar la actualización automática de nodos en GKE (activada de forma predeterminada). Para los clústeres inscritos en los canales de versiones, las versiones de parche se ascienden a medida que cumplen con los requisitos de calificación de cada canal. Si necesitas una versión de parche de GKE antes de que llegue al canal del clúster, puedes actualizar de forma manual a la versión de parche si esta se encuentra en la misma versión secundaria que una disponible en el canal de versiones del clúster.
En otras plataformas de GKE Enterprise, Google recomienda que actualices los componentes de GKE Enterprise al menos una vez al mes.
Algunos escáneres de seguridad o verificaciones manuales de versiones pueden suponer de manera incorrecta que a un componente como runc o containerd le falta un parche de seguridad ascendente específico. GKE aplica parches a los componentes con regularidad y solo realiza actualizaciones de versiones de paquetes cuando es necesario, lo que significa que los componentes de GKE son funcionalmente similares a sus contrapartes ascendentes, incluso si el número de versión del componente de GKE no coincide con el número de versión ascendente. Para obtener detalles sobre una CVE específica, consulta los boletines de seguridad de GKE.
Cronogramas de aplicación de parches
El objetivo de Google es mitigar las vulnerabilidades detectadas dentro de un período adecuado para los riesgos que representan. GKE se incluye en el ATO provisional de FedRAMP de Google Cloud, que requiere que las vulnerabilidades conocidas se solucionen en períodos específicos según su nivel de gravedad, como se especifica en el control RA-5(d) de la tabla "Resumen de actividades y entregables de supervisión continua" en la Guía de estrategia de supervisión continua de FedRAMP. El ATO provisional de FedRAMP de Google Cloud no incluye Google Distributed Cloud ni GKE en AWS, pero tenemos como objetivo los mismos períodos de solución en esos productos.
Cómo se comunican las vulnerabilidades y los parches
La mejor fuente de información actual sobre las vulnerabilidades y los parches de seguridad se encuentra en los feeds de boletines de seguridad de los siguientes productos:
- GKE
- Google Distributed Cloud
- GKE en AWS
- GKE en Azure
- Google Distributed Cloud
Estos boletines siguen un esquema común de numeración de vulnerabilidades de Google Cloud y están vinculados desde la página principal de boletines de Google Cloud y las notas de la versión de GKE On-prem. Cada página de boletines de seguridad tiene un feed RSS en el que los usuarios pueden suscribirse para recibir actualizaciones.
En ocasiones, las vulnerabilidades se mantienen privadas bajo embargo por un tiempo. Los embargos permiten evitar la publicación anticipada de vulnerabilidades que pueden conducir a intentos de explotación antes de que se puedan tomar medidas para abordarlas. En las situaciones anteriores, las notas de la versión hacen referencia a las “actualizaciones de seguridad” hasta que se apruebe la divulgación. Después de que se aprueba la divulgación, Google actualiza las notas de la versión para incluir las vulnerabilidades específicas.
El equipo de seguridad de GKE Enterprise publica boletines de seguridad para vulnerabilidades graves y críticas. Cuando se requiere una acción del cliente para abordar estas vulnerabilidades altas y críticas, Google se comunica con los clientes por correo electrónico. Además, Google también puede comunicarse con los clientes con contratos de asistencia a través de canales de asistencia.