|
Исследование встречаемости небезопасно сериализованных программных объектов в клиентском коде веб–приложений
Д. Д. Мироновa, Д. А. Сигаловab, М. П. Мальковab a ООО «СолидСофт»
b Московский государственный университет имени М. В. Ломоносова
Аннотация:
В данной статье проведено исследование встречаемости случаев использования небезопасной десериализации при взаимодействии между клиентским кодом и серверной стороной веб–приложения. Особое внимание было уделено сериализованным объектам, отправляемым из JavaScript-кода. Были выявлены характерные особенности шаблонов использования сериализованных объектов внутри клиентского JavaScript-кода и составлены уникальные классы, главной целью которых является облегчение ручного и автоматического анализа веб-приложений. Было разработано и реализовано инструментальное средство, выявляющее сериализованный объект в коде веб-страницы. Данный инструмент способен найти закодированные сериализованные объекты, а также сериализованные объекты, закодированные с помощью нескольких последовательно примененных кодировок. Для найденных экземпляров сериализованных объектов, инструмент определяет контекст, в котором находится найденный объект на странице. Для объектов, находящихся внутри JavaScript-кода, инструмент выявляет ранее упомянутые классы, при помощи сопоставления вершин абстрактного синтаксического дерева кода. После получения результатов исследования был проведен анализ серверных точек ввода данных на предмет десериализации найденных программных объектов на стороне сервера. В результате данной проверки были найдены ранее неизвестные публично уязвимости, о которых было сообщено разработчикам данного программного обеспечения. Одна из них получила идентификатор CVE-2022-24108. По результатам проведенного исследования был предложен метод, позволяющий облегчить как ручной, так и автоматизированный поиск уязвимостей типа “Десериализация недоверенных данных”. Предложенный алгоритм был протестирован на страницах более чем 50000 веб-приложений из списка Alexa Top 1M, а также на страницах 20000 веб-приложений из программ Bug Bounty.
Ключевые слова:
небезопасная десериализация, веб-приложения, анализ клиентского кода, автоматизация анализа безопасности, поиск уязвимостей
Образец цитирования:
Д. Д. Миронов, Д. А. Сигалов, М. П. Мальков, “Исследование встречаемости небезопасно сериализованных программных объектов в клиентском коде веб–приложений”, Труды ИСП РАН, 35:1 (2023), 223–236
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp764 https://www.mathnet.ru/rus/tisp/v35/i1/p223
|
Статистика просмотров: |
Страница аннотации: | 54 | PDF полного текста: | 25 |
|