Проект «Безопасный браузер

advertisement
Проект «Безопасный браузер»
Визовитин Николай
Кадашев Дмитрий
Проблема
Незащищенный компьютер (под управлением
ОС Windows) со внешним IP адресом остается
незараженным порядка 2 часов.
Постановка задачи
Создать систему, которая
 исключает проникновение вредоносного
кода на компьютер пользователя
 предоставляет функциональность
веб-браузера (как минимум)
Вариант решения




Изолировать host’а от сетевого интерфейса
Запустить на host’е виртуальную машину, внутри
которой работает ОС, загруженная с «чистого»
образа
Предоставить ОС внутри виртуальной машины
эксклюзивный доступ к сетевому интерфейсу
Использовать внутри этой ОС один из популярных
браузеров
Компоненты
Виртуальная
машина
VirtualBox
Гостевая ОС
Windows XP Embedded
Браузер
Возможно Internet Explorer
Средство изоляции Драйвер сетевой карты
и перенаправления
Компоненты:
виртуальная машина





Открытый исходный
код
Host OS: Windows
Guest OS: Windows
Высокая
производительность
Возможность работать
без аппаратных
расширений
Bochs Cooperative Linux Denali
FreeVPS Kernel Virtual Machine
OpenVZ
QEMU
Mode Linux
Xen
User
VirtualBox
Компоненты: гостевая ОС
Windows XP Embedded
 знакомая пользователю система
 наличие инструментария для создания
облегченной версии ОС с
предустановленным ПО
Но
 могут возникнуть проблемы с
лицензированием и распространением
Компоненты: средство изоляции
и перенаправления



Host OS должна быть изолирована от сетевого
интерфейса => необходимо удалить драйвер
устройства
Данные на сетевом интерфейсе должны быть
доступны виртуальной машине => нужен драйвер
сетевой карты для получения доступа к этим
данным
Вывод: следует написать универсальный драйвер
сетевой карты с нестандартным интерфейсом,
которым и заменить драйвер целевого устройства
Виртуальная машина и сетевой
интерфейс (NAT)
Host OS
Virtual Machine
Guest OS
Application
Other
applications
Other
applications
NIC driver
NIC driver
V NIC
V PCI Bus
PCI Bus
NIC
Предоставление эксклюзивного
доступа к сетевому интерфейсу
Host OS
Virtual Machine
Guest OS
Application
Other
applications
Other
applications
NIC driver
NIC driver
V NIC
V PCI Bus
PCI Bus
NIC
Перенаправление обращений к
ресурсам сетевой карты
Guest OS NIC driver
Interrupt
PCI configuration
space
I/O ports
Memory
…
Memory
…
Virtual NIC
Host OS NIC driver
Interrupt
PCI configuration
space
I/O ports
Архитектура
«Безопасного браузера»
Host OS (Windows)
VirtualBox
Guest OS (Windows XPe)
Virtual
PCI Bus
Virtual
NIC
Request Filter
NICFWD
Bus Driver
PCI Bus
NIC
NIC
Driver
Bus
Driver
Applications
Выполнено






Получен исходный код VirtualBox. Мы научились его
собирать.
Изучен исходный код VirtualBox (шина PCI, PIC,
несколько сетевых карт)
Мы научились собирать образы Windows XP
Embedded
Изучено программирование устройств PCI
Изучено устройство шины PCI
Написан драйвер сетевой карты для host ОС
Планы






Написать модуль фильтрации обращений к
ресурсам
Написать виртуальную сетевую карту
Выбрать браузер и создать «чистый» образ
Windows XPe
Реализовать сохранение настроек браузера
Реализовать сохранение файлов из гостевой ОС
Решить вопросы с лицензированием
Спасибо за внимание
Ваши вопросы
Download