Microsoft planea abrir la metodología detrás de un algoritmo de aprendizaje automático que, según dice, puede distinguir entre errores de seguridad y errores que no son de seguridad con un 99% de precisión.

La empresa ha desarrollado un modelo de aprendizaje automático para ayudar a los desarrolladores de software a detectar problemas de seguridad más fácilmente e identificar cuáles deben priorizarse.

Al asociar el sistema con expertos en seguridad humana, Microsoft dijo que pudo desarrollar un algoritmo que no solo pudo identificar correctamente los errores de seguridad con una precisión de casi el 100 %, sino que también informó errores críticos de alta prioridad correctos el 97 % de las veces.

La compañía tiene previsto abrir su metodología en GitHub "en los próximos meses".

Según Microsoft, su equipo de 47 000 desarrolladores genera unos 30 000 errores cada mes en sus silos de AzureDevOps y GitHub, lo que causa dolores de cabeza a los equipos de seguridad cuyo trabajo es asegurarse de que las vulnerabilidades de seguridad críticas no pasen desapercibidas.

Si bien hay disponibles herramientas que marcan y clasifican automáticamente los errores, a veces se marcan falsos positivos o los errores se clasifican como problemas de bajo impacto cuando en realidad son más graves.

Para remediar esto, Microsoft se puso a trabajar en la construcción de un modelo de aprendizaje automático que puede categorizar los errores como problemas de seguridad o no, así como identificar errores críticos y no críticos "con un nivel de precisión lo más cercano posible al de un experto en seguridad".

El primer paso fue alimentar los datos de entrenamiento del modelo que habían sido examinados por expertos en seguridad, en función de una muestra estadística de errores de seguridad y no relacionados con la seguridad. Una vez que se aprobó el modelo de producción, Microsoft procedió a programar un modelo de aprendizaje de dos pasos que permitiría que el algoritmo aprendiera a distinguir entre errores de seguridad y errores no relacionados con la seguridad, y luego asignar etiquetas a los errores que indicaran si eran de bajo impacto. , importante o crítico.

Fundamentalmente, los expertos en seguridad participaron en el modelo de producción en cada paso del camino, revisando y aprobando los datos para confirmar que las etiquetas eran correctas; selección, entrenamiento y evaluación de técnicas de modelado; y revisar manualmente muestras aleatorias de errores para evaluar la precisión del algoritmo.

Scott Christiansen, gerente sénior del programa de seguridad de Microsoft, y Mayana Pereira, científica aplicada y de datos de Microsoft, explicaron que el modelo se recicló automáticamente con nuevos datos para seguir el ritmo del ciclo de producción interno de Microsoft.

"Los datos siempre son examinados por un experto en seguridad antes de que el modelo se recicle, y monitoreamos constantemente la cantidad de errores generados en la producción", dijeron.

"Al aplicar el aprendizaje automático a nuestros datos, clasificamos con precisión los elementos de trabajo que son errores de seguridad el 99 % de las veces. El modelo también tiene una precisión del 97 % en el etiquetado de errores de seguridad críticos y no críticos.

"Este nivel de granularidad nos da la confianza de que detectamos más vulnerabilidades de seguridad antes de que sean explotadas".