18.04.2024
Подписывайтесь на Telegram-канал по ссылке

Российские учёные предложили метод повышения автоматизации поиска уязвимости в веб-приложениях

Метод повышения автоматизации поиска уязвимости в веб-приложениях

Сотрудники НОШ «Мозг, когнитивные системы, искусственный интеллект» предложили метод повышения полноты обнаружения серверных интерфейсов на основе статического анализа клиентского кода JavaScript с целью поиска в нём функций, которые порождают HTTP-запросы к серверной стороне приложения. Результаты работы опубликованы в журнале «Прикладная дискретная математика».

Работа относится к области кибербезопасности, а конкретнее – к автоматизации поиска уязвимостей в веб-приложениях. В контексте решаемой задачи статический анализ позволяет находить такие функции, в том числе, в недостижимом или мёртвом JavaScript коде, что в ряде случаев позволяет обнаружить серверные интерфейсы, скрытые для динамического анализа.

«В настоящее время, веб-приложения – это основной способ публикации приложений, особенно если отнести к ним серверную составляющую «облачных» мобильных приложений. В этом случае можно сказать, что эта работа про автоматический анализ и выявление уязвимостей в подавляющем большинстве современных приложений в интернете», – прокомментировал кандидат физико-математических наук, заведующий лаборатории интеллектуальных систем кибербезопасности факультета ВМК МГУ Денис Гамаюнов.

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

В ходе подготовки работы было проведено экспериментальное исследование полноты выявления серверных точек взаимодействия предложенным алгоритмом на синтетическом веб-приложении, уязвимом к SQL-инъекции, и сравнение с популярными сканерами защищённости веб-приложений. Было показано, что использование статического анализа клиентского JavaScript-кода в дополнение к традиционному динамическому краулингу приложений может значительно повысить полноту выявления серверных точек взаимодействия в веб-приложениях. Денис Гамаюнов также добавил, что сейчас полученные результаты «могут существенно ускорить работу аналитика по поиску уязвимостей в приложениях, а в будущем планируется запустить облачный сервис по сканированию и поиску уязвимостей, который будет доступен разработчикам приложений».