Código abierto y seguro: Google y el programa de recompensas por errores de Kubernetes
lunes, 10 de febrero de 2020
En Google, nos importa mucho la seguridad de los proyectos de código abierto, ya que son un aspecto esencial de nuestra infraestructura y la de todos. Hoy, Cloud-Native Computing Foundation (CNCF) anunció un nuevo programa de recompensas por encontrar errores de Kubernetes que ayudamos a crear y poner en funcionamiento. A continuación, encontrarás una descripción general del programa, otros métodos que usamos para proteger programas de código abierto e información sobre cómo puedes participar.
Kubernetes es un proyecto de CNCF. Como parte de sus criterios de evaluación, CNCF creó hace poco la primera auditoría de seguridad del proyecto para analizar sus áreas principales e identificar posibles problemas. Esta auditoría identificó y abordó numerosos problemas de seguridad que se desconocían hasta el momento. Afortunadamente, Kubernetes ya contaba con un Comité de seguridad del producto que incluía a ingenieros del equipo de seguridad de Google Kubernetes Engine (GKE), cuyo trabajo era reaccionar a los errores que se detectaban y corregirlos. Sin embargo, proteger un proyecto de código abierto es una tarea que nunca termina. Para aumentar la capacidad de detección del modelo de seguridad de Kubernetes, atraer a más investigadores del ámbito de la seguridad y recompensar el trabajo constante de la comunidad, el Comité de seguridad del producto de Kubernetes empezó a evaluar, en 2018, la posibilidad de lanzar un programa oficial de recompensas por encontrar errores.
¿Qué tipo de errores reconoce el programa de recompensas? Se tiene en cuenta casi todo el contenido que se considere "fundamental" para Kubernetes y que se detalla en https://github.com/kubernetes. Nos interesan los problemas de seguridad más comunes, como la ejecución remota de código, la elevación de privilegios y los errores durante los procesos de autenticación o autorización. Dado que Kubernetes es un proyecto comunitario, también queremos saber si hay errores en la cadena de suministro, por ejemplo, procesos de compilación y lanzamiento que podrían permitir a un individuo malintencionado obtener acceso no autorizado a confirmaciones, o bien afectar de otro modo las alteraciones de compilaciones. En esto, el programa de recompensas por errores se diferencia un poco de los programas estándar, ya que no hay un entorno "en vivo" para probar. Existen muchos métodos de configuración de Kubernetes y buscamos errores que afecten cualquiera de ellos (salvo que ya existan opciones de configuración que puedan reducir estos errores). Gracias al apoyo y financiamiento constantes de CNCF, el programa puede llegar a pagar, en función del error, desde 100 USD hasta 10 000 USD.
Desde el primer día, Google forma parte de este nuevo programa de recompensas por errores de Kubernetes: propusimos el programa, completamos evaluaciones de proveedores, definimos el alcance inicial, probamos el proceso e incorporamos HackerOne para implementar la solución de recompensas por errores. Sabemos que es un gran esfuerzo, pero es uno de los tantos modos en que nos comprometemos a proteger Kubernetes. Google sigue involucrado en cada aspecto de la seguridad de Kubernetes, lo que incluye responder a las vulnerabilidades como parte del Comité de seguridad del producto, dirigir el grupo de interés especial de sig-auth de Kubernetes y liderar la auditoría de seguridad que mencionamos antes. Sabemos que, para los usuarios, la seguridad es algo esencial a la hora de elegir usar una herramienta de código abierto, por lo que dedicamos los recursos necesarios para ayudar a garantizar que Kubernetes y GKE tengan el mejor nivel de seguridad posible.
Aunque sea nuevo para Kubernetes, el programa de recompensas por errores no es una estrategia novedosa para Google. Llevamos años forjando una relación estrecha con la comunidad de investigadores de seguridad y, en 2010, Google creó su propio Programa de recompensas por vulnerabilidades (VRP). Este VRP ofrece recompensas a quienes detecten vulnerabilidades en GKE y en prácticamente cualquier servicio de Google Cloud. Si encuentras un error en GKE que no es de Kubernetes, te pedimos que lo informes de todos modos en el VRP de Google. Kubernetes tampoco es el único proyecto de código abierto que tiene un programa de recompensas por errores. De hecho, no hace mucho tiempo, ampliamos nuestro Programa de premios por revisión para ofrecer recompensas financieras iniciales y posteriores a las mejoras de seguridad en proyectos de código abierto.
Hagamos de las infraestructuras mundiales un lugar más seguro. Notifica los errores de Kubernetes a su programa de recompensas por errores y los errores de GKE al VRP de Google.