La Administración de Riesgos de Seguridad en el Código Abierto

El código abierto se usa en la gran mayoría de los softwares comerciales disponibles actualmente. Conozca las mejores prácticas para mitigar los riesgos únicos que conlleva su uso. 

 

La adopción del código abierto ha incrementado de forma exponencial a lo largo de la última década, y ahora un gran porcentaje del software comercial ahora lo usa. Los desarrolladores constantemente comparten características comunes y funcionalidades de código a lo largo del internet y a nivel mundial. Esto significa para los equipos de aplicaciones que deben responder de acuerdo con la velocidad y la demanda que requiere el negocio – los negocios que funcionan a través de una aplicación suelen lanzar actualizaciones varias veces al año, y ahora esto se hace varias veces a la semana o incluso al día. Esta rápida aceleración hizo que el mundo dejara las metodologías de proyecto de “cascada” y las “iterativas” y se moviera hacia las “ágiles” para cumplir con la demanda. 

 

El código abierto viene de una gran variedad de fuentes. Código reusado, bibliotecas de terceros y descargas de desarrolladores tienden a dominar el panorama. El consultor que está trabajando en su proyecto cobrándole $250 dólares la hora probablemente está usando el mismo código que usó en otro proyecto de otro cliente, ya que volver a usar código es común (después de todo, si funcionó para el proyecto del cliente A, y el cliente B está haciendo algo similar, usar el mismo código puede ahorrar dinero): 

 

[image url=”http://blog.la.trendmicro.com/wp-content/uploads/2021/07/Captura-de-Pantalla-2021-07-02-a-las-12.36.18-300×141.png” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″ width=”300″ height=”141″]

Create a Unified View of Your Application Security Program – Black Duck Hub and ThreadFix from Denim Group

 

Tome al banco Capital One Bank como ejemplo. En los 2010s seguían la metodología de cascada. La organización vive en una industria altamente regulada como lo es la financiera, y usan el código abierto como parte de su trabajo diario – incluso creando grandes componentes de su plataforma basado en él. En el 2012 no eran “open source frinedly”, con una mentalidad empresarial de “decirle que no al código abierto”. Eventualmente, se dieron cuenta de que estaban usando: 

 

  • Java (código abierto) 
  • Linux (código abierto) 
  • Apache (código abierto) 
  • Eclipse (código abierto) 

 

Rápidamente se dieron cuanta de que estaban creando su ambiente usando código abierto. A través de una migración desde la administración del código fuente comercial hasta su propia arquitectura, pudieron lanzar sus aplicaciones de producción (creadas in-house) con código abierto como parte de sus cimientos. Gracias a procesos específicos creados para mitigar los riesgos asociados con el uso del código abierto, como las revisiones legales, pudieron ejecutar exitosamente sin brechas o liberaciones “secretas” de código.  

 

El valor del código abierto para Capital One fue descrito como: “Usar software de código abierto nos da un gran número de ventajas desde una perspectiva de negocio. El código abierto nos da la capacidad de volver a usar lo que ya existe y funciona bien, con toda la flexibildiad de personalizar y/o contribuir a lo que necesitamos para el negocio. También significa que estamos desarrollando con tecnología en la que una comunidad entera está involucrada, reduciendo dramáticamente la posibilidad de que dependamos de tecnología ‘end of life’, así como hacernos más permeables ante el ecosistema de talento” – John Schmidt, Product Manager Capital One 

 

El código abierto no es completamente gratuito: 

Un error común es pensar que el código abierto es “gratis”. Como un cachorrito, es increíble recibirlo, pero aún se le debe cuidar y alimentar. Para beneficiarse del código abierto, necesita tener a la gente y la tecnología adecuada para mitigar los riesgos únicos que se asocian con él. 

 

Riesgo Legal de Código Abierto: 

  • Licencias: los autores del software tienen los derechos de su código. 
  • Permisivo (dando crédito) vs. Copy left (distribuir y mostrar código fuente + compartir el código alterado) 
  • Usar el código como está (sin recurso al autor) 
  • Solicitar cambios o reunir solicitudes 
  • Revelación de secreto comercial (violación de propiedad intelectual) 
  • Devaluación del portafolio de patentes 
  • Impacto a fusiones y adquisiciones  
  • Riesgo a la reputación 

 

De hecho, muchas empresas grandes como Capital One y Facebook cuentan con personal experto en la legalidad del código abierto. Tienen el puesto de “consejero en leyes y tecnología” y ayudan a las empresas a lidiar con los temas legales listados anteriormente. Por ejemplo, durante una M&A (Merger & Acquisition) lidiarán con cualquier tema del código abierto durante y después de la adquisición, trabajando en conjunto con el equipo de integración. 

 

Riesgos de Seguridad de Código Abierto: 

  • Vulnerabilidades – 64 vulnerabilidades promedio por base de código. Más de 1,500 días antes de un arreglo. Los procesos de desarrollo son su primera línea de defensa 
  • Si usted lo construye usted es el dueño 
  • Software de origen desconocido 
  • Monitoreo continuo de configuraciones y ambientes 

 

Para mitigar los riesgos, es necesario el uso de tecnología de escaneo para los repositorios de código abierto. Un servicio que puede ayudar a encontrar archivos manifest (identificar y analizar), comprender las dependencias directas e indirectas (y marcarlas de acuerdo con las vulnerabilidades conocidas) es crítico. Tener integraciones en su repositorio de código también ayuda a identificar los riesgos asociados a sus proyectos.  

 

El siguiente paso es integrar los hallazgos a su sistema de tickets (o crear solicitudes) para la remediación al nivel del desarrollador, esto para asegurar que el código tiene ownership y se le da el cuidado adecuado durante su ciclo de vida. El mantenimiento y la auditoría (remediación) de todo esto se requiere porque cada vez que ocurre la misma solicitud deben ocurrir el escaneo y la solicitud de un parche actualizado. 

 

Tomará tiempo crear una cultura en su organización de tener el ownership de código y mantenerlo de lanzamiento a lanzamiento. Es sumamente importante hacer que el código abierto sea más seguro, y tener este sentido de ownership e incluso de orgullo en el código ayudará a mantenerlo seguro. Implementar revisiones de la tecnología encima de todo esto ayudará a mantener a los equipos involucrados y más seguros. 

 

4 mejores prácticas para mitigar las vulnerabilidades en el código abierto: 

  • Identifique: mantenga un inventario de código abierto 
  • Analice: rastree vulnerabilidades y licencias de código abierto 
  • Remedie: arregle y parchee, actualice 
  • Audite: monitoreo continuo 

 

Para ayudar a prevenir los caros errores que pueden llegar a causar las vulnerabilidades y riesgos de licencia de código abierto, los equipos de SecOps pueden implementar una solución como Trend Micro Open Source Security by Snyk. Esto ayuda a proteger los inventarios de código abierto a lo largo del desarrollo de las aplicaciones con una visibilidad incrementada para una identificación más temprana y monitoreo continuo para minimizar la exposición en el tiempo. 


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.