Download presentation
Presentation is loading. Please wait.
1
Проект «Безопасный браузер» Визовитин Николай Научный руководитель: Д.В. Иртегов
2
Идея проекта Делегирование работы с физическими устройствами в виртуальную машину с минимальным участием host OS В применении к сетевой карте – «Безопасный браузер»
3
Отображение ресурсов виртуальной сетевой карты на ресурсы реальной Interrupts PCI configuration space Port I/O Memory Mapped I/O DMA NICFwd.sys (Host OS NIC driver) DevNICFwd (Virtual NIC) Interrupts PCI configuration space Port I/O Memory Mapped I/O DMA Rtenicxp.sys (Guest OS NIC driver) RTL8168
4
DMA (Direct Memory Access) Большинство устройств использует DMA Неконтролируемый доступ устройства к памяти опасен У различных устройств способ управления DMA может достаточно сильно отличаться
5
DMA, решение “Заставить” драйвер guest OS использовать для DMA заранее известный участок памяти, также зарезервированный в host OS
6
DMA, решение Guest Host ntoskrnl.exe ntoskwrp.exe IoGetDmaAdapter() Guest Memory VBox Memory Host Memory Driver ntoskrnl.exe IoGetDmaAdapter()
7
DMA, подзадачи Guest Host ntoskrnl.exe ntoskwrp.exe IoGetDmaAdapter() Guest Memory VBox Memory Host Memory Driver ntoskrnl.exe IoGetDmaAdapter() 2 1 3
8
1. Модификация ядра guest OS ntoskrnl.exentoskrnl.lib (import library) dumpbin exports2wrapper.py *.c,*.h (ntoskwrp sources) cl (compiler) link (linker) ntoskwrp.exe dll2lib ntoskrnl.lib (static library) *.def
9
2. Передача сообщений между guest OS и host OS Виртуализация возможна в силу сильной ограниченности знаний host OS о guest OS и наоборот Взаимодействие guest OS и host OS обычно происходит через специализированный backdoor драйвер
10
2. Передача сообщений между guest OS и host OS (продолжение) Требуется: передача сообщений между guest OS и host OS остановка выполнения guest OS на время передачи сообщения возможность передачи сообщений без дополнительных драйверов в guest OS, в любое время
11
2. Передача сообщений между guest OS и host OS (продолжение) backdoor драйвер не подходит Передача сообщений посредством обращений к виртуальному устройству Т.к. в VirtualBox поток эмуляции единственный, то достигается остановка выполнения guest OS Виртуальное устройство доступно всегда
12
3. Перенаправление обращений к памяти Guest OS должна иметь возможность читать/писать в отведенную под DMA память (в host’е) Необходимо перенаправление обращений к соответствующим участкам памяти из виртуальной машины в host OS
13
Выполнено Разработан достаточно удобный способ модификации ядра ОС Разработан способ передачи сообщений между guest OS и host OS Реализована поддержка передачи сообщений в ядре guest OS, виртуальной сетевой карте и универсальном драйвере сетевой карты в host OS
14
Планы Реализация перенаправления обращений к памяти для DMA Тестирование системы делегирования работы с физическим устройством в виртуальную машину
15
Спасибо за внимание Ваши вопросы
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.