¿Cómo podemos mantener seguras las aplicaciones de código abierto?

¿Cómo podemos mantener seguras las aplicaciones de código abierto?


La adopción de software de código abierto está en constante aumento, gracias a sus innumerables beneficios para los entornos empresariales modernos. La mayoría de las empresas, especialmente las nuevas empresas, prefieren las bases de datos de código abierto para reducir el costo y el tiempo utilizados en el desarrollo de software. Las aplicaciones de código abierto también brindan a las empresas igualdad de condiciones y la libertad de aprovechar la última tecnología sin altos costos iniciales.

Desafortunadamente, al igual que otras aplicaciones comparables, el software de código abierto tiene defectos de seguridad. Una encuesta reciente encontró que aproximadamente el 78% de las bases de código de código abierto auditadas tienen vulnerabilidades. El 54% de estos eran riesgos de alto nivel que los piratas informáticos podrían explotar potencialmente.

Sin embargo, estos riesgos surgen no por la calidad del código de fuente abierta, sino por varios factores que rodean a los modelos de fuente abierta. A continuación se presentan las vulnerabilidades comunes de código abierto y cómo las empresas pueden evitarlas.

Riesgos que plantean las aplicaciones de código abierto

1. Publicidad de vulnerabilidades

Los proyectos de código abierto generalmente ofrecen códigos a cualquiera. Idealmente, esto permite que la comunidad de código abierto analice y señale las vulnerabilidades en los códigos fuente, lo que permite a los administradores de proyectos solucionar problemas antes de revelar las vulnerabilidades al público. Desafortunadamente, tales explotaciones potenciales se hacen públicas a través de la base de datos nacional de vulnerabilidades.

Dado que cualquiera puede acceder a estos exploits, los piratas informáticos y los jugadores maliciosos pueden usar las vulnerabilidades disponibles públicamente para explotar nuevas empresas y empresas que dependen principalmente de bases de datos de código abierto y tardan en parchear estos riesgos. Un ejemplo perfecto de tal ocurrencia fue el incumplimiento de Equifax en 2017.

2. Riesgos Operacionales

Las ineficiencias operativas son otro desafío importante de confiar en una base de datos de código abierto. Los problemas operativos surgen principalmente de la falla de los gerentes de proyecto y las empresas para monitorear los componentes clave de código abierto y las actualizaciones relevantes. Las actualizaciones y las nuevas versiones están destinadas a abordar las vulnerabilidades de alto riesgo, y el retraso puede causar problemas.

A través de un seguimiento constante, las empresas pueden identificar proyectos abandonados en sus marcos de código abierto. Algunos proyectos de código abierto comienzan con una gran participación activa de los miembros de la comunidad de código abierto antes de rescindirse. Si tiene proyectos en sus aplicaciones como marcos o bibliotecas, debe eliminarlos o asignar a sus desarrolladores para corregir futuras vulnerabilidades.

3. Malas prácticas de los desarrolladores

Algunos riesgos de código abierto también surgen de las malas prácticas de los desarrolladores, comúnmente copiar y pegar códigos de bibliotecas aleatorias de código abierto. Este es un problema pertinente porque el código copiado podría contener vulnerabilidades. En segundo lugar, no hay forma de rastrear las actualizaciones de fragmentos de código una vez que los haya pegado en su base de datos. Esto hace que todos los proyectos creados a partir de los códigos copiados sean vulnerables a cualquier ataque que surja en el futuro.

4. Cuestiones de propiedad intelectual

Se pueden usar más de 200 tipos de licencias en aplicaciones de código abierto. Esto incluye Apache, MIT y GPL. Desafortunadamente, no todas las licencias son compatibles. Esto significa que algunos componentes de aplicaciones de código abierto con diferentes licencias no se pueden agrupar a menos que cumpla con todas las disposiciones. El uso de más componentes hace que sea imposible rastrear las estipulaciones de la licencia.

Por ejemplo, las cláusulas «Copyleft» en la mayoría de las licencias requieren que los desarrolladores de proyectos publiquen todas las aplicaciones creadas con esta cláusula como código abierto, lo que las hace menos atractivas para el software comercial y propietario.

Cómo mitigar los riesgos de las aplicaciones de código abierto

Si bien estos riesgos no se pueden prevenir, los desarrolladores de proyectos pueden mitigar y proteger las aplicaciones de código abierto de las siguientes maneras:

1. Sea parte de la comunidad

Los gerentes de proyecto y las empresas tienen la responsabilidad ética de contribuir a la comunidad de código abierto. Contribuir a la comunidad implica informar de manera proactiva cualquier vulnerabilidad y compartir conocimientos. Los miembros de la comunidad de código abierto deben compartir activamente el conocimiento de seguridad a lo largo del ciclo de vida del desarrollo de software.

2. Inventario de activos de código abierto

El inventario de sus activos de código abierto es otro método prudente para proteger las aplicaciones de código abierto. Solo puede proteger software y aplicaciones que estén identificados, accesibles y rastreables. Por lo tanto, debe mantener un inventario de código abierto que describa todos los productos de código abierto, las versiones actuales y las actualizaciones pendientes.

Use el inventario para rastrear la ubicación de las descargas de proyectos y los proyectos usados ​​regularmente que contienen códigos de fuente abierta. Tener un inventario detallado facilita la protección de aplicaciones y códigos de fuente abierta.

3. Seguimiento de actualizaciones y advertencias

El seguimiento de actualizaciones y advertencias también ayuda a proteger los productos de código abierto. Mantener una conexión activa con las comunidades de código abierto facilita la detección de errores y el aprendizaje de nuevas actualizaciones y parches de seguridad. También obtendrá más información sobre la seguridad y protección general del software. Esto es beneficioso ya que ayuda a los gerentes de proyectos a desarrollar programas de alta calidad que sean eficientes, seguros y productivos.

4. Usa herramientas de seguridad avanzadas

También debe implementar herramientas de seguridad avanzadas que identifiquen, mitiguen y aborden con precisión las posibles vulnerabilidades en los códigos de fuente abierta. Los gerentes de proyecto y las empresas deben buscar constantemente herramientas y tecnologías de desarrollo de software confiables para incluir en su canal de desarrollo.

Por ejemplo, la mayoría de los equipos de programación aprovechan las soluciones de análisis de composición de software que integran la seguridad en sus flujos de trabajo. La integración de estas herramientas permite a los equipos de desarrollo entregar aplicaciones confiables más rápido. Las herramientas de SCA analizan continuamente la tubería de desarrollo para descubrir las vulnerabilidades de día cero presentes en los productos de código abierto. También detectan inyecciones de códigos sospechosos que pueden provocar catástrofes posteriores.

5. Adopte la automatización

Adoptar la automatización también protege activamente las aplicaciones de código abierto. Las soluciones automatizadas impulsadas por IA ayudan a las empresas emergentes y los equipos de desarrollo con recursos restringidos a administrar sus problemas de seguridad de código abierto de manera efectiva. La inteligencia artificial ayuda a los equipos de desarrollo a escalar, mantener y proteger los marcos de código abierto con intervenciones humanas mínimas.

La inteligencia artificial también aumenta la productividad, elimina el error humano y simplifica el control. Los recursos automatizados ejecutan verificaciones de seguridad automáticas, lo que promueve el control de acceso y la mitigación de riesgos. Algunos también corrigen vulnerabilidades identificadas sin necesidad de intervención humana.

6. Adoptar una política de divulgación responsable

Sin duda, no existe un sistema totalmente seguro. Las vulnerabilidades siempre están presentes, y los equipos de desarrollo deben aceptar que las aplicaciones pueden tener vulnerabilidades y desarrollar un mecanismo para informes de terceros. Los proveedores de software y los equipos de desarrollo deben crear una política de divulgación responsable, que describa cómo los investigadores de seguridad pueden informar errores.

Esto puede incluir un programa de informes incentivado o una forma sencilla para que los expertos en seguridad revelen amenazas. El manejo de las vulnerabilidades requiere una amplia comunicación y colaboración. Por lo tanto, debe estandarizar la comunicación con terceros para obtener mejores informes.

La línea de fondo

Curiosamente, las vulnerabilidades de código abierto pueden durar más de cuatro años antes de ser detectadas porque la mayoría de los desarrolladores priorizan el desarrollo rápido de software sobre la escritura de códigos seguros. Además, la mayoría de los experimentos de código abierto no siguen los protocolos de seguridad de los entornos de producción. No obstante, las medidas enumeradas anteriormente pueden ayudar a las empresas emergentes y a los gerentes de proyectos a mantener seguras sus aplicaciones de código abierto.





Fuente: startupguys.net

Deja una respuesta

*

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para fines de afiliación y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad