Los investigadores han demostrado una nueva herramienta que analiza las actualizaciones de software de código abierto para especificar qué secciones de código se están modificando para abordar las vulnerabilidades de seguridad identificadas recientemente. La herramienta, llamada VFCFinder, debería hacer que a los programadores les resulte más rápido y sencillo determinar qué actualizaciones de seguridad son necesarias para evitar vulnerabilidades sin tener que realizar cambios innecesarios.
«Las actualizaciones del código informático de fuente abierta a menudo incluyen cambios diseñados para abordar las vulnerabilidades de seguridad», dice William Enck, coautor de un artículo sobre el trabajo y profesor de informática en la Universidad Estatal de Carolina del Norte. «Pero muchos programas que utilizan código de fuente abierta no se ven afectados por ninguna vulnerabilidad determinada, y aceptar actualizaciones innecesarias puede crear sus propios desafíos de programación. Eso hace que sea importante que los programadores comprendan qué actualizaciones de vulnerabilidad realmente harán que sus programas sean más seguros».
El software de código abierto es software que se emite bajo una licencia que permite a los usuarios estudiar y modificar el código del software. Se utiliza en una amplia variedad de aplicaciones por usuarios que van desde particulares hasta grandes corporaciones.
Los procesos existentes para notificar al público sobre vulnerabilidades de seguridad en el software de código abierto permiten a los usuarios saber que existe una vulnerabilidad y que deben adoptar una versión actualizada del software que aborde la vulnerabilidad. Sin embargo, en la codificación moderna, muchos desarrolladores crean nuevos programas que se basan en una biblioteca de fragmentos de código, cada uno de los cuales realiza una función específica. Y si es necesario actualizar una de las piezas de código en las que confía, eso podría causar problemas para el programa más grande.
«Esto hace que sea importante para los programadores que utilizan bibliotecas de código abierto comprender la naturaleza de cada vulnerabilidad, incluidas qué secciones específicas del código informático son responsables de la vulnerabilidad», dice Trevor Dunlap, primer autor del artículo y Ph.D. estudiante en NC State. «Dependiendo de la naturaleza de la vulnerabilidad, es posible que muchos programadores no necesiten realizar la actualización. Pero la mayoría de los avisos de seguridad no dejan claro exactamente cuál era el problema, sólo que se identificó un problema y una actualización lo solucionaría».
«Para proporcionar un contexto al desafío aquí, se anuncian entre decenas y cientos de avisos de seguridad cada día; hubo más de 29.000 en 2023», dice Enck. «Cada vez que se actualiza el software, se incluyen muchas modificaciones de software diferentes, llamadas confirmaciones, de las cuales sólo algunas pueden ser relevantes para un programa que utiliza ese software.
«En este momento, la mayoría de los programadores utilizan servicios de análisis de composición de fuente (SCA) que emplean codificadores para identificar la naturaleza de estas actualizaciones y qué fragmentos de código se han modificado para abordar las vulnerabilidades», dice Enck. «Los programadores pueden luego usar esa información para tomar decisiones sobre si ejecutar actualizaciones relevantes. En resumen, esto requiere que mucha gente dedique mucho tiempo a estudiar el código para identificar exactamente qué sección de código es responsable de cada vulnerabilidad y qué tipos». Es probable que muchos programas necesiten ejecutar la actualización».
«VFCFinder se utiliza para identificar los cambios específicos que probablemente sean responsables de corregir una vulnerabilidad determinada», dice Dunlap. «En otras palabras, VFCFinder hace que sea mucho más fácil para los servicios SCA identificar las secciones de código afectadas. Y eso, a su vez, ayuda a los programadores a tomar decisiones sobre si actualizar el código fuente abierto que están usando en sus programas».
Para probar VFCFinder, los investigadores lo ejecutaron contra miles de vulnerabilidades donde las confirmaciones responsables de solucionar cada vulnerabilidad estaban bien establecidas.
«VFCFinder pudo identificar las cinco confirmaciones más probables con una precisión del 96,6%», dice Dunlap. «Y tenía un 80% de precisión para identificar con precisión el compromiso que solucionó la vulnerabilidad. Las técnicas de vanguardia anteriores tenían un 44% de precisión para identificar con precisión el compromiso relevante».
Luego, los investigadores probaron VFCFinder con varios cientos de avisos de seguridad para los cuales no se había identificado el compromiso relevante.
«Las cifras fueron prácticamente las mismas cuando se analizaron estos avisos», dice Dunlap. «En realidad, los resultados fueron incluso mejores, ya que VFCFinder pudo identificar el compromiso relevante con precisión el 81% de las veces. Y nuestros resultados fueron aceptados en la base de datos de Asesoramiento de seguridad de GitHub».
«En última instancia, nuestro objetivo es reducir los riesgos de seguridad asociados con el uso generalizado de software de código abierto», afirma Enck. «Somos optimistas de que VFCFinder pueda ayudar a que los servicios SCA sean más eficientes, fortaleciendo una pieza crítica de la cadena de suministro de software».
VFCFinder es una herramienta de código abierto y se puede encontrar en GitHub.
El estudio es publicado sobre el arXiv servidor de preimpresión.
El documento se presentará en la Conferencia ACM ASIA sobre Seguridad Informática y de las Comunicaciones, que se celebrará del 1 al 5 de julio en Singapur. El artículo fue coautor de Elizabeth Lin, Ph.D. estudiante de NC State, y Brad Reaves, profesor asociado de informática en NC State.
Más información:
Trevor Dunlap et al, VFCFinder: Emparejamiento perfecto de avisos y parches de seguridad, arXiv (2023). DOI: 10.48550/arxiv.2311.01532
GitHub: github.com/s3c2/vfcfinder
Citación: Nueva herramienta identifica correcciones de seguridad en actualizaciones de software de código abierto (2024, 9 de mayo) obtenido el 20 de mayo de 2024 de https://techxplore.com/news/2024-05-tool-source-software.html
Este documento está sujeto a derechos de autor. Aparte de cualquier trato justo con fines de estudio o investigación privados, ninguna parte puede reproducirse sin el permiso por escrito. El contenido se proporciona únicamente con fines informativos.
GIPHY App Key not set. Please check settings