Presentation is loading. Please wait.

Presentation is loading. Please wait.

Проект «Безопасный браузер» Визовитин Николай Научный руководитель: Д.В. Иртегов.

Similar presentations


Presentation on theme: "Проект «Безопасный браузер» Визовитин Николай Научный руководитель: Д.В. Иртегов."— Presentation transcript:

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 Спасибо за внимание Ваши вопросы


Download ppt "Проект «Безопасный браузер» Визовитин Николай Научный руководитель: Д.В. Иртегов."

Similar presentations


Ads by Google