Сотрудники факультета вычислительной математики и кибернетики МГУ им. М.В. Ломоносова представили инновационный метод автоматического сбора сведений о сетевых обращениях мобильных приложений. Об этом CNews уведомили в пресс-службе университета.
Современные веб-приложения всё активнее задействуют мобильные платформы, что делает анализ их клиентской части важнейшим этапом оценки безопасности серверных компонентов. Ключевую роль здесь играет выявление паттернов обмена данными — к примеру, структуры HTTP-запросов, направляемых приложением на сервер. До сих пор эта проблема решалась либо вручную, либо средствами динамического анализа, тогда как полноценные статические автоматизированные решения практически отсутствовали.
Созданный в ВМК МГУ инструмент даёт возможность извлекать шаблоны HTTP-запросов из Android-приложений путём статического анализа. В текущей версии поддерживаются программы, применяющие для сетевого взаимодействия широко распространённую библиотеку Retrofit. Разработчик инструмента Андрей Ситников в качестве основы выбрал фреймворк SootUp, предлагающий обширный набор средств для разбора Java-кода — от построения графа вызовов до реализации сложных аналитических алгоритмов.
«Мы ставили задачу автоматизировать хотя бы часть рутинных операций по сбору информации о коммуникации мобильных приложений с серверами. Это особенно актуально для специалистов по безопасности, вынужденных вручную определять границы атакуемой поверхности — процесс крайне трудоёмкий и сложный», — отметил Андрей Петухов, научный руководитель проекта, сотрудник кафедры информационной безопасности ВМК МГУ.
В ходе эксперимента исследователи проверили работоспособность предложенного метода и инструмента на двухстах наиболее популярных приложениях российского сегмента Google Play. Сопоставление с данными ручного анализа продемонстрировало, что система обнаруживает в среднем 67% всех запросов, включая 66% query-параметров и 75% параметров, передаваемых в теле запроса. Для заголовков запросов результативность оказалась скромнее (примерно 8%), однако учёные обращают внимание, что заголовки редко формируют критически важную часть атакуемой поверхности.
Данная разработка может применяться для автоматической оценки защищённости веб-приложений с мобильными клиентами, ускорения и повышения точности определения зоны потенциального взлома, а следовательно — и для более полного выявления возможных уязвимостей. В будущем авторы намерены расширить функционал инструмента, добавив поддержку других распространённых библиотек HTTP-взаимодействия, а также усовершенствовать алгоритмы статического анализа для достижения большей полноты и точности результатов.