Команда Microsoft сообщила, что решила задействовать машинное обучение в совместной работе с экспертами по безопасности, которые выявляют ошибки и уязвимости в программном обеспечении. Корпорация надеется, что внедрение ИИ позволит повысить эффективность такой работы.
В Microsoft отметили, что слишком часто инженеры тратят время на ложные срабатывания или, наоборот, пропускают критическую уязвимость безопасности, которая была ошибочно классифицирована. По данным корпорации, 47 000 разработчиков генерируют ежемесячно около 30 тысяч ошибок. Данные размещаются в более чем 100 хранилищах AzureDevOps и GitHub.
Компания считает, что простое расширение штата сотрудников сработало бы менее эффективно, а нынешние объемы полуоткрытых данных идеально подходят для машинного обучения. Всего с 2001 года собрано 13 миллионов рабочих элементов и ошибок. Все эти данные задействовали для разработки модели машинного обучения, которую научили различать ошибки безопасности и ошибки, не связанные с нею. В 99% случаев модель ИИ точно выявляет рабочие элементы, которые являются ошибками безопасности, а в 97% — маркирует критические и некритические ошибки безопасности.
В процессе обучения модель учат классифицировать данные из предварительно помеченных массивов. Как только процесс завершится, ИИ сможет использовать полученные данные для маркировки тех, которые не были предварительно классифицированы. Эксперты по безопасности утвердили данные для обучения, прежде чем их передали в модель. Они использовали в работе статистическую выборку, чтобы объем данных был управляем для анализа. Как только модель заработала, экспертов по безопасности снова привлекли, чтобы оценить ее в производстве. Они отслеживали среднее количество ошибок, вручную просматривая случайную выборку.
В корпорации использовали двухэтапную модель машинного обучения. Сначала она научилась классифицировать ошибки безопасности и не связанные с безопасностью, а затем начала применять метки, выделяя критические, важные и малоэффективные ошибки безопасности.
В Microsoft организовали также автоматическое повторное обучение модели. Данные для переобучения по-прежнему утверждаются экспертом по безопасности.
В ближайшие месяцы корпорация пообещала раскрыть код модели на GitHub.
См. также:
QtRoS
Делаем это с 2016 года, довольно простой и очевидный кейс применения ML…