Preview

Труды Института системного программирования РАН

Расширенный поиск

Скрытая отладка программ отладчиком WinDbg в эмуляторе Qemu

https://doi.org/10.15514/ISPRAS-2018-30(3)-6

Аннотация

При анализе программ на наличие уязвимостей и вредоносного кода бывают ситуации, в которых возникает необходимость качественной изоляции инструментов анализа. Этому есть две причины. Во-первых, анализируемая программа может влиять на инструментальную среду. Эта проблема решается использованием эмулятора. Во-вторых, инструменты анализа могут влиять на программу. Так, программист может подумать, что программа безопасна, хотя на самом деле это может быть не так. Эта проблема может быть решена механизмом скрытой отладки. Отладчик WinDbg имеет функцию подключения к удаленному отладочному серверу (Kdsrv.exe), запущенному в ядре Windows. Поэтому есть возможность подключиться к гостевой системе, запущенной в эмуляторе QEMU. Клиент взаимодействует с сервером через пакеты по протоколу KDCOM. Однако отлаживать ядро можно лишь с включенным режимом отладки в настройках запуска, что раскрывает процесс отладки. Мы разработали специальный модуль отладчика WinDbg для QEMU, который является альтернативой удаленному отладочному сервису в ядре. Модуль перехватывает пакеты при взаимодействии клиента отладчика WinDbg с сервером, самостоятельно генерирует всю необходимую отладочную информацию, используя возможности эмулятора Qemu, и отправляет ответ клиенту. Модуль полностью эмулирует поведение отладочного сервера, поэтому клиент на замечает подмены и успешно взаимодействует с ним. При этом отпадает необходимость в отладочном режиме ядра. Тем самым происходит скрытая отладка. При использовании модуля работоспособны все возможности WinDbg, которые он представляет для удаленной отладки, кроме перехвата событий и исключений.

Об авторах

М. А. Абакумов
Новгородский государственный университет имени Ярослава Мудрого
Россия


П. М. Довгалюк
Новгородский государственный университет имени Ярослава Мудрого
Россия


Список литературы

1. Timothy Vidas and Nicolas Christin. Evading android runtime analysis via sandbox detection. In Proceedings of the 9th ACM Symposium on Information, Computer and Communications Security, 2014, pp. 447- 458.

2. P. Dovgalyuk. Deterministic Replay of System's Execution with Multi-target QEMU Simulator for Dynamic Analysis and Reverse Debugging. In Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering, 2012, pp. 553-556.

3. Roberto Paleari, Lorenzo Martignoni, Giampaolo Fresi Roglia, and Danilo Bruschi. A fistful of red-pills: how to automatically generate procedures to detect CPU emulators. In Proceedings of the 3rd USENIX conference on Offensive technologies (WOOT'09). 2009.

4. IDA Pro Disassembler. Режим доступа: https://www.hex- rays.com/products/ida/index.shtml, дата обращения 19.06.2018.

5. Winbagility. Режим доступа: https://winbagility.github.io/, дата обращения 19.06.2018.


Рецензия

Для цитирования:


Абакумов М.А., Довгалюк П.М. Скрытая отладка программ отладчиком WinDbg в эмуляторе Qemu. Труды Института системного программирования РАН. 2018;30(3):87-92. https://doi.org/10.15514/ISPRAS-2018-30(3)-6

For citation:


Abakumov M.A., Dovgalyuk P.M. Stealth debugging of programs in Qemu emulator with WinDbg debugger. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2018;30(3):87-92. https://doi.org/10.15514/ISPRAS-2018-30(3)-6



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)