Invertir en seguridad de código abierto no es un fin en sí mismo

hace 2 años

Los fondos comprometidos para asegurar el software de código abierto son un comienzo importante, pero la creatividad de los piratas informáticos y la proliferación de objetivos significa que esto no es una garantía.

Las buenas noticias primero: según Open Source Security Foundation (OpenSSF), costará menos de $150 millones proteger el software de código abierto. En otras buenas noticias, los gigantes de la industria Amazon, Intel, Google y Microsoft ya han prometido $30 millones. Así que no más de $120 millones para asegurar el futuro del código abierto, ¿verdad? Bueno no ! Porque la mala noticia es que ningún enfoque único para la seguridad del software de código abierto funcionará. Como dijo el CEO de OpenSSF, Brian Behlendorf, en una conferencia de prensa reciente, "el plan de 10 puntos de OpenSSF para fomentar un enfoque de seguridad en capas es excelente y tiene más probabilidades de éxito que los enfoques más fragmentarios del pasado, porque no existe una sola causa o puede resolverlo todo". Y tiene razón. Pero es precisamente por eso que me temo que nuestro enfoque de la seguridad del software de código abierto vuelve a ser erróneo.

Índice
  1. El plan OpenSSF
  2. El proceso, mejor que el plan

El plan OpenSSF

No quiero sonar como si estuviera denigrando esos esfuerzos. Como he escrito antes, soy optimista. Los intentos de OpenSSF de incorporar a la industria rompen significativamente con las direcciones anteriores. También considero que el proceso de código abierto mediante el cual encontramos y solucionamos errores es la forma correcta de abordar la seguridad del software. La asociación ofrece la oportunidad de coordinar esfuerzos.

Desde este punto de vista, el plan de 10 puntos de la organización es alentador:

- Brindar capacitación en seguridad a todos los que trabajan en la comunidad.

- Establecer un panel de evaluación de riesgos para los principales componentes de código abierto.

- Acelerar la adopción de firmas digitales.

- Reemplace los idiomas seguros que no son de memoria para eliminar la causa raíz de muchos errores.

- Establecer un equipo de respuesta a incidentes dedicado al software de código abierto.

- Mejore el análisis de código por parte de mantenedores y expertos para encontrar errores más rápido.

- Realice revisiones de código de terceros para 200 de los componentes más críticos.

- Coordinar el intercambio de datos de investigación en toda la industria.

- Mejorar las herramientas y la capacitación de la lista de materiales de software (SBOM) para impulsar la adopción.

- Mejore los 10 sistemas de compilación, administradores de paquetes y sistemas de distribución más críticos con mejores herramientas de seguridad y mejores prácticas.

Este enfoque inteligente y holístico de la seguridad debería hacer que los desarrolladores amen aún más el código abierto. De hecho, cuando dirigí el equipo de estrategia y marketing de estrategia y marketing de código abierto de AWS, encargamos una encuesta en 2020 para averiguar por qué a los desarrolladores les encanta el código abierto. En la parte superior de la lista estaba la seguridad:

Los desarrolladores que respondieron a esta encuesta estaban al tanto de Heartbleed y otras vulnerabilidades críticas de proyectos de código abierto. Pero aun así se pronunciaron a favor del código abierto. Gracias a los esfuerzos de OpenSSF, muchos otros desarrolladores podrán elegir código abierto más fácilmente. No debe imaginarse que esta financiación o cualquier otra inversión resolverá los problemas de seguridad del software de código abierto, de la misma manera que ninguna cantidad de dinero ha hecho que AWS, Google o Microsoft sean inmunes a las vulnerabilidades del software. Todo el software tiene errores, ahora y para siempre.

El proceso, mejor que el plan

El proceso de desarrollo de software libre ha sido siempre la mejor garantía de su seguridad. Y eso sigue siendo cierto incluso con el excelente plan de OpenSSF. Por ejemplo, el plan promete "realizar revisiones de código de terceros para 200 de los componentes más críticos". Es asombroso ! Pero, ¿cómo se define un "componente crítico"? La respuesta ? Una brecha de seguridad que pone en peligro a la industria. Lo mismo ocurre con "establecer un panel de evaluación de riesgos para los principales componentes de código abierto". Si pudiéramos decidir de antemano qué componentes de código abierto son los mejores, tendríamos menos violaciones de seguridad porque encontraríamos formas de financiarlas para que los desarrolladores involucrados pudieran cuidar mejor su propia seguridad.

Por supuesto, los desarrolladores responsables de los "mejores componentes de código abierto" a menudo no quieren dedicar todo su tiempo a proteger su software. Esto varía mucho de un proyecto a otro, pero los desarrolladores involucrados a menudo tienen motivaciones muy diferentes para involucrarse. No existe un enfoque único para financiar el desarrollo de código abierto (aunque sigo creyendo que el código abierto más sostenible tiene una participación corporativa significativa, ya sea una comunidad (Kubernetes) o una sola empresa (MySQL/Oracle). También es Es cierto que los piratas informáticos son increíblemente innovadores a la hora de exponer las deficiencias del software propietario y de código abierto. Es casi seguro que ya excavarán en componentes que nadie considera "críticos" o "de primer nivel" hoy en día, pero que lo serán cuando el software esté listo. Es por eso que prefiero los enfoques "meta" de los 10 puntos del plan de OpenSSF, como reemplazar lenguajes inseguros en la memoria (con lenguajes como Rust) o adoptar firmas digitales. un proyecto dejando que el proceso de desarrollo corrija los errores cuando se descubren.

Vale la pena repetirlo: la creciente popularidad del código abierto ha provocado una proliferación de errores, como explican WhiteSource y otras empresas. El universo del código fuente abierto se está expandiendo a un ritmo espectacular y las vulnerabilidades han crecido junto con él. Identificar todos estos componentes críticos por adelantado es una tarea monumental, si no imposible. Entonces, ¿este plan de 10 puntos desperdiciará dinero innecesariamente? De nada. Pero me temo que nos equivocamos al creer que $150 millones nos permitirán asegurar el software de fuente abierta de una vez por todas. Este no será el caso. Incluso si aseguraran los componentes actuales, la industria aún necesitaría actualizar los sistemas más antiguos utilizando "componentes críticos de código abierto" más antiguos y menos seguros. Por lo tanto, la única forma de hacer realidad la seguridad del software de código abierto es que cada proyecto individual apoye la seguridad y la tome muy en serio, y que cada usuario de ese proyecto también la tome muy en serio. OpenSSF no permitirá que todos logren este objetivo, pero si puede ayudar, sería una buena forma de gastar esos $150 millones.

Matt Asay, colaborador y trabaja en MongoDB

Si quieres conocer otros artículos parecidos a Invertir en seguridad de código abierto no es un fin en sí mismo puedes visitar la categoría Otros.

Otras noticias que te pueden interesar

Subir