IBM разработала технологию устранения уязвимостей ещё до атаки

18 февраль, 2019 - 13:42

Обычно, уязвимость выявляют, анализируя действия на входе приложения, приводящие к ошибкам в его функционировании. Для того, чтобы автоматизировать эту процедуру с помощью методов машинного обучения, Фади Копти (Fady Copty) и его коллеги в IBM Research протестировали приложение различными инструментами, а затем использовали полученные данные для тренировки своей модели DNN (Deconvolutional Neural Network).

«Мы применили методы тестирования, которые создают миллионы образцов входных данных, а затем прогнали с ними приложение, чтобы разделить входные данные на доброкачественные, ошибочные или вредоносные, — пояснил Копти. — Поскольку нас интересовала обработка ошибок, мы слили ошибочный и вредоносный классы в один. Это дало нам классический вариант обучения с учителем, чтобы тренировать модель предугадывать, является ли новый образец безопасным или вредоносным».

Используемая ими модель, которая сочетает в себе свёрточную нейронную сеть (CNN) и рекуррентную нейронную сеть (RNN), продемонстрировала отличные результаты в прогнозировании уязвимостей до появления угроз.

Для генерации данных были использованы старые версии приложений, а обученные на них модели проверялись на угрозах, обнаруженных годы спустя и задокументированных в базе CVE. В частности, модель успешно обнаруживала уязвимости LibXML2 и LibTIFF с точностью 91,3 и 93,7% соответственно.

Исследователи подчёркивают, что их работа пока находится на этапе эксперимента, и успех достигается только с некоторыми приложениями. Они планируют продолжить работу над повышением эффективности данного метода в устранении более широкого диапазона уязвимостей. В будущем эта технология имеет шанс изменить ситуацию в сфере безопасности, помогая защитникам оставаться на шаг впереди атакующих.