Fady Copty, Investigación de IBM
Los investigadores de IBM han ideado recientemente una nueva técnica para parchear virtualmente las vulnerabilidades de seguridad antes de que se detecten. Su enfoque presentado en el Taller internacional sobre tecnología operativa y de la información, coubicado con RAID18, aprovecha las técnicas de prueba para la generación de datos supervisada basada en el aprendizaje.
"Mientras investigaba una solución para encontrar vulnerabilidades de seguridad en software popular, Nos detuvimos a pensar en el siguiente problema:Sabemos práctica y teóricamente que es imposible encontrar todas las vulnerabilidades en una aplicación, y la comunidad de seguridad está en una carrera constante para descubrir esas vulnerabilidades con la esperanza de encontrarlas antes que los malos, "Fady Copty, investigador principal del estudio, dicho TechXplore . "Esto significa hacer cumplir las regulaciones e implementar constantemente parches de seguridad en los sistemas".
Implementar un parche de seguridad en una aplicación es una tarea tediosa y que requiere mucho tiempo. lo que conlleva una serie de pasos:identificar la versión vulnerable de la aplicación, gestionar esta vulnerabilidad, entregando el parche, implementarlo y luego reiniciar la aplicación. A menudo, los parches se implementan durante largos períodos de tiempo, por lo tanto, las aplicaciones pueden permanecer vulnerables durante un período después de que se haya descubierto una vulnerabilidad. Para acelerar este proceso, los investigadores han introducido recientemente parches virtuales, que se hacen cumplir mediante sistemas de detección y prevención de intrusiones.
"El parcheo virtual se basa en una técnica semimanual de análisis de amenazas (entrada de aplicación que demuestra una vulnerabilidad), y extrayendo la firma que identifica la vulnerabilidad, "Copty explicó." Es una técnica útil, pero aún requiere que se identifique la vulnerabilidad en sí, que es un problema np-complete. Existe toda una industria en torno a este ciclo de descubrimiento y parcheo de vulnerabilidades. Pero, ¿y si pudiéramos crear un parche virtual que prediga esas vulnerabilidades antes del descubrimiento de amenazas? En primer lugar, esto sonó como una tarea futurista, pero con algunos conocimientos de las técnicas de prueba de seguridad, se puede encontrar una dirección muy agradable ".
Generalmente, Las vulnerabilidades de seguridad se revelan al observar las entradas que deberían haber presentado previamente un error de aplicación. Esto se debe a que el manejo de errores generalmente se percibe como menos importante en comparación con el desarrollo de las funciones básicas de la aplicación. por lo tanto, se aborda en una etapa posterior.
"Si podemos hacer un buen trabajo creando automáticamente un parche virtual que aumente el trabajo de los desarrolladores de software en el manejo de errores, podemos lograr la tarea antes de la amenaza, "Dijo Copty.
Copty y sus colegas decidieron abordar este problema utilizando técnicas de aprendizaje automático. Ejecutaron varias herramientas de prueba en una aplicación determinada para generar datos, luego usó estos datos para entrenar su modelo DNN.
"Usamos técnicas de prueba que crean millones de entradas de muestra para la aplicación, y luego ejecutó la aplicación con esas entradas para determinar las etiquetas de clasificación de las entradas:benigno, error, o malicioso, "Copty explicó." Dado que estábamos analizando el manejo de errores, fusionamos las clases de error y malicioso en una sola clase. Esto nos proporcionó una configuración clásica de aprendizaje supervisado, donde entrenamos un modelo para predecir si una nueva muestra es benigna o maliciosa ".
En lugar de lograr parches virtuales antes de las amenazas para una sola aplicación, los investigadores querían crear un sistema automático que pudiera usarse para parchear una variedad de aplicaciones. Para mejorar la generalización de su modelo, se abstuvieron de utilizar métodos manuales de extracción de características.
"También queríamos implementar esto eventualmente en un sistema de detección de intrusos, "Copty explicó." Esto significaba que la predicción tenía que ser casi en tiempo real. Una gran solución para estos requisitos se puede encontrar en DNN. La predicción de DNN es muy rápida y se cree que las DNN no requieren ninguna extracción de características ".
Copty y sus colegas entrenaron un modelo DNN con los datos que habían generado previamente. El modelo que usaron, que combina una red neuronal convolucional (CNN) y una red neuronal recurrente (RNN), logró resultados notables en la predicción de vulnerabilidades antes de las amenazas.
"¿Cómo se prueba la capacidad de parchear antes del descubrimiento de amenazas? La respuesta es simple:retrocedemos en el tiempo, ", Dijo Copty." Usamos versiones antiguas de las aplicaciones para la fase de generación de datos, entrenó el modelo usando estos datos, y probó los modelos sobre amenazas encontradas años después y documentadas en la base de datos CVE. Esto nos dio resultados asombrosos en la aplicación de parches antes de las amenazas, donde el modelo pudo predecir las amenazas encontradas solo años después. Sabemos que esto todavía está en la fase de investigación y solo hemos tenido éxito en un pequeño número de aplicaciones. Sin embargo, esta tecnología tiene el potencial de cambiar las reglas del juego en el panorama de la seguridad, ayudando a los defensores a estar un paso por delante de los atacantes ".
En las evaluaciones realizadas por los investigadores, su modelo detectó con éxito las vulnerabilidades LibXML2 y LibTIFF antes de la amenaza, con precisiones de 91,3% y 93,7%, respectivamente. Para mejorar sus resultados, expandieron su modelo agregando una ruta que incluye la extracción de características básicas, basado en el conocimiento automático que se extrajo en la fase de prueba, seguido de una CNN.
En el futuro, su técnica podría ayudar a los desarrolladores a parchear las vulnerabilidades de software de forma más rápida y eficaz, antes de que estén realmente expuestos. Los investigadores planean seguir trabajando en su enfoque, explorando su efectividad para parchear una gama más amplia de vulnerabilidades.
"Gracias a Reda Igbaria, ahora hemos estado expandiendo esta investigación a más aplicaciones y recientemente demostramos parches virtuales antes de las amenazas para la vulnerabilidad HeartBleed, "Copty agregó." Continuaremos apuntando a más aplicaciones y mejorando nuestras técnicas de generación de datos, así como nuestra estructura DNN, y automatizar la búsqueda de la mejor estructura DNN ".
Este trabajo fue apoyado por el proyecto EU H2020 SMESEC.
© 2019 Science X Network