150 likes | 328 Views
Проект «Безопасный браузер». Визовитин Николай Кадашев Дмитрий. Проблема. Незащищенный компьютер (под управлением ОС Windows) со внешним IP адресом остается незараженным порядка 2 часов. Постановка задачи. Создать систему, которая
E N D
Проект «Безопасный браузер» Визовитин Николай Кадашев Дмитрий
Проблема Незащищенный компьютер (под управлением ОС Windows) со внешним IP адресом остается незараженным порядка 2 часов.
Постановка задачи Создать систему, которая • исключает проникновение вредоносного кода на компьютер пользователя • предоставляет функциональность веб-браузера (как минимум)
Вариант решения • Изолировать host’а от сетевого интерфейса • Запустить на host’е виртуальную машину, внутри которой работает ОС, загруженная с «чистого» образа • Предоставить ОС внутри виртуальной машины эксклюзивный доступ к сетевому интерфейсу • Использовать внутри этой ОС один из популярных браузеров
Открытый исходный код Host OS: Windows Guest OS: Windows Высокая производительность Возможность работать без аппаратных расширений BochsCooperative Linux DenaliFreeVPSKernel Virtual MachineOpenVZQEMU User Mode LinuxVirtualBoxXen Компоненты: виртуальная машина
Компоненты: гостевая ОС 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 … Virtual NIC Host OS NIC driver Interrupt PCI configuration space I/O ports Memory …
Архитектура «Безопасного браузера» Host OS (Windows) VirtualBox Guest OS (Windows XPe) NIC Driver Virtual PCI Bus Applications Virtual NIC Bus Driver Request Filter NICFWD Bus Driver PCI Bus NIC
Выполнено • Получен исходный код VirtualBox. Мы научились его собирать. • Изучен исходный код VirtualBox (шина PCI, PIC, несколько сетевых карт) • Мы научились собирать образы Windows XP Embedded • Изучено программирование устройств PCI • Изучено устройство шины PCI • Написан драйвер сетевой карты для host ОС
Планы • Написать модуль фильтрации обращений к ресурсам • Написать виртуальную сетевую карту • Выбрать браузер и создать «чистый» образ Windows XPe • Реализовать сохранение настроек браузера • Реализовать сохранение файлов из гостевой ОС • Решить вопросы с лицензированием
Спасибо за внимание Ваши вопросы