Compañía de protección cibernética de EE. UU. Acronis SCS se ha asociado con destacados académicos para mejorar el software mediante el uso de inteligencia artificial (IA). La colaboración desarrolló un modelo de puntuación de riesgos basado en IA capaz de evaluar cuantitativamente la vulnerabilidad del código de software.
El nuevo modelo demostró una mejora del 41 % en la detección de vulnerabilidades y exposiciones comunes (CVE) durante su primera etapa de análisis. Las siguientes pruebas arrojaron resultados igualmente impresionantes, y Acronis SCS está configurado para compartir el modelo una vez finalizado.
Proveedores de software y sector público
Uno de los mejores aspectos de esta tecnología es que puede ser utilizada por otros proveedores de software y organizaciones del sector público. A través de su uso, la validación de la cadena de suministro de software se puede mejorar sin perjudicar la innovación o la oportunidad de la pequeña empresa, y es una herramienta asequible para estas organizaciones.
El modelo basado en IA de Acronis SCS se basa en una red neuronal de aprendizaje profundo que escanea a través de código fuente tanto de código abierto como propietario. Puede proporcionar núcleos de riesgo cuantitativos imparciales que los administradores de TI pueden usar para tomar decisiones precisas relacionadas con la implementación de nuevos paquetes de software y la actualización de los existentes.
La empresa utiliza un modelo de lenguaje para insertar el código. Un tipo de aprendizaje profundo, el modelo de lenguaje combina una capa de incrustación con una red neuronal recurrente (RNN). Para medir el modelo se utilizan técnicas de muestreo ascendente y algoritmos de clasificación como boosting, bosques aleatorios y redes neuronales.
El Dr. Joe Barr es el director sénior de investigación de Acronis SCS.
“Usamos el modelo de lenguaje para incrustar el código. El modelo de lenguaje es una forma de aprendizaje profundo que combina una capa de incrustación con una red neuronal recurrente (RNN)”, dijo el Dr. Barr a Unite.AI.
“La entrada consta de pares de funciones (función, etiqueta) y la salida es una probabilidad P (y = 1 | x) de que una función sea vulnerable a piratería (buggy). Debido a que las etiquetas positivas son raras, usamos varias técnicas de muestreo ascendente y algoritmos de clasificación (como boosting, bosques aleatorios y redes neuronales). Medimos la «bondad» por ROC/AUC y un aumento de percentil (número de «malos» en el percentil k superior, k = 1,2,3,4,5)».
Proceso de validación eficiente
Otra gran oportunidad para esta tecnología es su capacidad para hacer que el proceso de validación sea mucho más eficiente.
“La validación de la cadena de suministro, ubicada dentro de un proceso de validación, ayudará a identificar el código defectuoso/vulnerable y hará que el proceso de validación sea más eficiente en varios órdenes de magnitud”, continuó.
Al igual que con toda la IA y el software, es crucial comprender y abordar cualquier riesgo potencial. Cuando se le preguntó si existen riesgos exclusivos del software de código abierto (OSS), el Dr. Barr dijo que existen tanto genéricos como específicos.
“Hay riesgos genéricos y riesgos específicos”, dijo. “El riesgo genérico incluye errores “inocentes” en el código que pueden ser explotados por un actor nefasto. Los riesgos específicos se relacionan con un actor adversario (como una agencia patrocinada por el estado) que deliberadamente introduce errores en el código abierto para ser explotados en algún momento”.
Los resultados iniciales del análisis se publicaron en IEEE titulados “Clasificación y vulnerabilidad del código combinatorio.”