|
Эта публикация цитируется в 1 научной статье (всего в 1 статье)
Использование ABI для интроспекции виртуальных машин
Н. И. Фурсова, П. М. Довгалюк, И. А. Васильев Новгородский государственный университет имени Ярослава Мудрого
Аннотация:
В статье предлагается подход к интроспекции виртуальных машин с использованием двоичного интерфейса приложений. Основная цель метода - получать информацию о работе системы, имея минимальные знания об ее внутреннем устройстве. Наша система основана на эмуляторе QEMU и имеет модульное строение, единицей в котором является плагин.
Существующие подходы (RTKDSM, DECAF) получают данные из операционной системы с помощью структур ядра. Эти инструменты вынуждены хранить большое количество профилей с данными, потому что все адреса и смещения в структурах меняются от версии к версии. Мы предлагаем использовать редко изменяющиеся части двоичного интерфейса приложений, такие как соглашения о вызовах и номера и параметры системных вызовов. Основная идея метода - перехватывать системные функции и считывать параметры и возвращаемые значения.
Для осуществления системного вызова у процессора есть специальная инструкция. Расширив возможности QEMU механизмом инструментирования, мы имеем возможность отслеживать каждую выполняющуюся инструкцию и отфильтровывать нужную. При возникновении системного вызова мы передаем управление в детектор системных вызовов, который проверяет номер произошедшего вызова и, в соответствии с ним, принимает решение какому плагину перенаправить это задание.
В механизме перехвата системных вызовов важно не только определить что вызов произошел, но и корректно определить его завершение, чтобы считать значения выходных параметров и возвращаемое значение. Для окончания системного вызова тоже есть специальные инструкции, но нам так же нужно верно сопоставить начало вызова с его концом, для чего мы определяем текущий контекст.
Таким образом мы реализовали мониторинг файловых операций, процессов и создали прототип монитора API функций.
Мы планируем расширить набор плагинов для анализа и мониторинга. Наша система будет извлекать информацию о загруженных модулях, приложениях, а также отладочную информацию.
Ключевые слова:
интроспекция, виртуальные машины, динамический анализ, системные вызовы.
Образец цитирования:
Н. И. Фурсова, П. М. Довгалюк, И. А. Васильев, “Использование ABI для интроспекции виртуальных машин”, Труды ИСП РАН, 27:6 (2015), 159–168
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp191 https://www.mathnet.ru/rus/tisp/v27/i6/p159
|
|