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

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

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

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

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

«Сейчас результаты работы могут существенно ускорить работу аналитика по поиску уязвимостей в приложениях, а в будущем мы планируем запустить облачный сервис по сканированию и поиску уязвимостей, который будет доступен разработчикам приложений», - добавил Денис Гамаюнов.

 

Информация предоставлена пресс-службой МГУ

Источник фото: ru.123rf.com