Los ingredientes hacen el plato
La TI moderna es más ágil y más colorida y polifacética que nunca. Los componentes de software fluyen desde muchas fuentes (como GitHub o los repositorios especializados para módulos JavaScript, Perl, Python, Ruby…). Se actualizan, reparan (y a veces se rompen) e integran constantemente. Las actualizaciones suelen ser semanales o más frecuentes, como las aplicaciones de los teléfonos móviles. Y para los equipos de desarrollo, ya sea en sus proveedores o internamente, nunca ha sido tan fácil ayudarse de un bufé de componentes, muchos de ellos de código abierto. ¿El inconveniente de este mundo ágil y colorido? El origen y la calidad de los componentes son difíciles de confirmar.
En eso consisten las cadenas de suministro seguras. Como en una cocina, la calidad de cada ingrediente importa, al igual que su cadena de refrigeración ininterrumpida desde el origen hasta el consumidor. Si una sola frambuesa de una caja se enmohece, eso se propaga rápidamente, la leche se agria, etc.
En una cocina (y en la seguridad informática en general), la seguridad de la cadena de suministro no es un esfuerzo puntual, sino que consiste en garantizar continuamente la calidad, una y otra vez. Es mucho trabajo. Requiere compromiso y profundos conocimientos técnicos, y ha sido durante mucho tiempo una práctica habitual para los distribuidores de código abierto como SUSE. Al fin y al cabo, nuestras soluciones constan de miles de componentes de distinta procedencia, y nuestro ecosistema está formado por decenas de miles de mantenedores, desarrolladores y la infraestructura que utilizan para desarrollar y distribuir.
El 63% de los responsables de la toma de decisiones admiten que necesitan mejorar sus esfuerzos para supervisar continuamente sus cadenas de suministro en busca de vulnerabilidades críticas
La iniciativa SLSA (Supply-chain Levels for Software Artifacts) de Google también apunta en esta dirección y define distintos niveles hasta el nivel 4 de SLSA. SLSA es una iniciativa importante y animamos a todo el mundo a que estudie cómo les va a ellos y a sus proveedores.
Cadenas de suministro de software seguras: Importante, pero no suficiente
Más allá de asegurarnos de que los bugs y el malware no se cuelan en nuestras cocinas y sistemas, tenemos que asegurarnos de que todos los componentes hacen exactamente lo que se supone que deben hacer, en particular cuando se trata de aspectos relevantes para la seguridad, como la criptografía. Aquí es donde entran en juego certificaciones formales como FIPS 140-4 o Common Criteria. (Por ejemplo, con una certificación Common Criteria EAL 4+, SUSE Linux Enterprise Server es la única plataforma Linux de uso general con ese nivel).
Volvamos a nuestra cocina: si no prestamos atención a la higiene en el entorno de la cocina y mientras cocinamos -control de acceso en términos informáticos-, los ratones, las polillas y los gusanos serán aparecerán rápidamente.
En otras palabras, la cadena de suministro, o más bien el conjunto de todas las cadenas de suministro, es importante. Cada eslabón de cada cadena de suministro es importante. No obstante, igual de importantes son las funciones clásicas: controles de acceso, seguridad de los usuarios (autenticación de dos factores), asignación y funcionamiento con los privilegios mínimos necesarios, etc.
Seguridad de confianza cero para contenedores
Como si la seguridad informática no fuera ya un reto suficiente, los contenedores han entrado en escena como vehículo principal de nuevos desarrollos. Todo lo que hemos comentado hasta ahora se aplica tanto a las plataformas en las que se ejecutan los contenedores -ya sea un mega escalador, sistemas que usted aloja o algún lugar en el edge- como a los contenedores individuales.
Los contenedores ejecutan aplicaciones, a menudo escaladas dinámicamente en forma de microservicios, que comprenden muchos componentes de diferentes fuentes y, en muchos casos, se actualizan con gran frecuencia (hasta varias veces al día), lo que significa que las cadenas de suministro seguras son primordiales.
En estos entornos dinámicos, que también pueden estar bastante distribuidos, la seguridad es aún más difícil de establecer que en las TI clásicas. Necesitamos enfoques innovadores para impulsar conceptos como el de “confianza cero”. Necesitamos sistemas de seguridad que aprendan lo que es “normal” y está permitido y, posteriormente, reconozcan, notifiquen o incluso bloqueen en tiempo real lo que se salga de la norma. Por suerte, ahora existen proyectos de código abierto como Open Zero Trust que no dependen de funcionar en un entorno “estéril”, sino que pueden hacer frente a la incertidumbre, los riesgos y las nuevas amenazas. Reconocen y manejan ataques específicos, e igualmente detectan y responden a las anomalías.
La vida es ágil y polifacética, nuestros adversarios son ágiles y polifacéticos, y así deben ser nuestras defensas: desde la seguridad clásica, pasando por la seguridad de la cadena de suministro, hasta la confianza cero.