RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2025, том 37, выпуск 6(3), страницы 59–72 (Mi tisp1090)

Интроспекция виртуальной машины на основе мониторинга системных вызовов и структур данных ядра

В. М. Степановab, П. М. Довгалюкab, Н. И. Фурсоваab

a Институт системного программирования им. В.П. Иванникова РАН
b Новгородский государственный университет имени Ярослава Мудрого

Аннотация: Семантический разрыв представляет собой одну из ключевых проблем в разработке решений полносистемного динамического анализа кода. Она заключается в том, что на уровне гипервизора инструмент имеет доступ только к низкоуровневым бинарным данным выполняемого кода, в то время как для анализа требуется высокоуровневая информация о состоянии объектов гостевой операционной системы. Данную проблему решают подходы интроспекции виртуальной машины. К сожалению, реализации существующих подходов сталкиваются с проблемами производительности и недостатка функционала, требуют от пользователя внедрять в образ виртуальной машины специальные агенты или иметь в наличии отладочные символы к ядру, а также оказываются заточенными под специфичные системы и архитектуры процессоров. В статье представлен ряд решений, помогающих снизить накладные расходы и добиться большей универсальности для инструмента анализа. Особенность разработанного подхода интроспекции заключается в том, что необходимую для анализа информацию он собирает в процессе запуска системы на эмуляторе, не требуя при этом каких-либо дополнительных действий со стороны пользователя.

Ключевые слова: виртуальные машины, динамический анализ, эмулятор QEMU, интроспекция

DOI: 10.15514/ISPRAS-2025-37(6)-36



© МИАН, 2026