Document 5001239

advertisement
Павел Белевский
Системный инженер по встраиваемым
решениям, Кварта Технологии
pavelb@quarta.ru
Microsoft TechDays
Зачем использовать фильтры записи?
Фильтр записи Enhanced Write Filter
Файловый фильтр записи (File Based
Write Filter)
Фильтр записи реестра (Registry Filter)
Выбор фильтра записи
Microsoft TechDays
Microsoft TechDays
Фильтры позволяют защитить раздел диска
Запись на диск перенаправляется в оверлей
Прозрачно для приложений
Используется для защиты системного раздела
Перебои с электропитание
Вирусные атаки
Увеличение ресурса флэш-диска
3 фильтра
Фильтр на уровне раздела (Enhanced Write Filter)
Файловый фильтр (File Based Write Filter)
Фильтр для защиты реестра (Registry Filter)
Microsoft TechDays
Приложение
обращающееся
к защищенному
разделу
1) Чтение данных с диска
2) Запись данных в оверлей
3) Повторное чтение данных
Оверлей
Диск
Microsoft TechDays
Менеджер ввода/вывода
Минифильтр
IRPs
Диспетчер фильтров
FBWF
Драйвер файловой системы (ntfs.sys)
EWF
Менеджер томов
Драйвер класса устройств (disk.sys)
Port-драйвер
Miniport-драйвер
Устройство
Microsoft TechDays
Минифильтр
Enhanced Write Filter
Защита на уровне секторов
Позволяет загружаться с носителей только
для чтения
Изменения сохраняются для всего раздела
целиком
Microsoft TechDays
EWF фильтр может быть настроен для защиты
нескольких разделов и независимо для каждого
раздела выбирается либо дисковый оверлей
либо оверлей в оперативной памяти
Дисковый оверлей
Используется дополнительный том
На томе хранится таблица, стек оверлея и данные оверлея
После перезагрузки изменения сохраняются
RAM или RAMREG оверлей
После перезагрузки изменения не сохраняются
Запускается без дисковых накопителей
Microsoft TechDays
Диск
Раздел 1
Дисковый оверлей
C:\
Защищенный том
Диск
Раздел 1
RAM оверлей
Раздел 2
Раздел 2
EWF
Раздел
C:\
EWF раздел
Память
EWF оверлей
Защищенный EWF раздел
раздел
Диск
Память
Раздел 1
RAM-REG
оверлей
C:\
Реестр
Защищенный
раздел
Microsoft TechDays
EWF оверлей
Microsoft TechDays
EWFMGR.EXE: утилита командной
строки
EWF API
Управление EWF фильтром из собственных
приложений
Приложения разрабатываются на Visual C++
EWFAPI.H и EWFAPI.LIB
Более подробная документация в MSDN:
Controlling EWF by Using the EWF APIs
Microsoft TechDays
По возможности уменьшить количество
операций записи на защищенный том
Использовать FAT
Минимизирует обращения к диску
Если требуется NTFS, то использовать
сжатие
Отключить журналирование обращений
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem
Name
Type
Value
NtfsDisableLastAccessUpdate
REG_DWORD
1
(0=откл, 1=включить)
Данный ключ реестра отключает обновление времени
доступа к файловой системе
Microsoft TechDays
Защита на уровне файловой системы
Позволяет определенные файлы оставить
незащищенными
Исключения для записи
Пофайловое утверждение изменений
Используется только оверлей в оперативной
памяти – не нужен дополнительный раздел
Есть некоторые ограничения FBWF
Reparse-точки
«Жесткие» ссылки (Hard links)
Шифрование файлов
Microsoft TechDays
Менеджер ввода/вывода
IRPs
Файловая система (ntfs.sys)
Диспетчер томов
Драйвер класса устройства (disk.sys)
Port-драйвер
Miniport-драйвер
Устройство
Microsoft TechDays
Итоговая файловая система
Папка А*
Папка Б
Папка В
Файл 1
Файл 3
Кэш фильтра записи
Папка А*
Измененная
папка
Папка В
Новая
папка
Файл 2
Удаленный
файл
Файл 3
Новый
файл
Защищенный том
Папка А
Папка Б
Файл 1
Microsoft TechDays
Файл 2
Кэш фильтра записи
Структура папок
Файл 1
Папка А
Файл 2
Файл 3
Папка Б
Файлы
Файл 1
Microsoft TechDays
Файл 2
Файл 3
Microsoft TechDays
Список исключений
Раздел защищенный файловым фильтром
Незащищенная область
(Область исключений)
Защищенная область
Динамически
изменяемое
свободное
пространство
Системные файлы защищенные
фильтром
Microsoft TechDays
Незащищенные файлы
FFFFFFFF
Невыгружаемый
пул
Динамически
изменяется
Выделено изначально
80000000
Microsoft TechDays
~491MB
Выгружаемый
пул
~960MB
MDL
FFFFFFFF
Выделяется динамически
~359MB
Выгружаемый
пул
Выделяется предварительно
~768MB
MDL
80000000
Microsoft TechDays
Microsoft TechDays
Задействовать расширенные настройки
фильтра для увеличения пула страниц памяти
HKLM\SYSTEM\CurrentControlSet\Control\Sessio
n Manager\Memory Management, PagedPoolSize
Динамическое выделение также поддерживает
сжатие
Предел для динамического выделения не
проверяется
Статическое выделение работает быстрее и
стабильнее
Microsoft TechDays
Общие настройки FBWF
Указывается количество томов
Состояние фильтра при первом запуске –
включен/выключен
Устанавливается объем оперативной памяти под
нужды фильтра
Тип кэша
Включение/выключение дополнительных
возможностей
Настройки защищенного тома
Указывается буква тома
Список незащищенных файлов
Microsoft TechDays
FBWFMGR.EXE – утилита командной
строки
FBWF APIs
Управление фильтром из собственного
приложения
Предоставляется необходимое API для
разработки в Visual C++
FBWFAPI.H and FBWFAPI.LIB
Microsoft TechDays
Microsoft TechDays
При использовании EWF или FBWF могут
быть потеряны TSCAL и доменный ключ,
что в результате может сказаться на
производительности системы
Фильтр реестра сохраняет лицензионную
информацию и ключ для входа в домен в
реестре
Реализован через специальный файл файл RAM-диска
Microsoft TechDays
Запись TSCAL и ключа домена
выполняется напрямую
Приложение
обращающееся
к защищенному
тому
Оверлей
Реестр
Диск
Реестр
Файл RAM-диска
Microsoft TechDays
Информация о ключах хранится в файле
\RegfData на системном диске
В случае совместного использования с
файловым фильтром файл добавляется
в список исключений
Не удалять файл из списка исключений
Microsoft TechDays
Сочетание EWF и ACPI – Hibernation
Каждая загрузка выполняется с hiberfil.sys
Идеально при требованиях быстрого старта
системы
Допускается использование только EWF
RAM или RAM-REG
Требуется реализовать монтирование
томов на которые выполняется запись
В случае отсутствия – потеря данных
Дополнительная информация в MSDN
Альтернатива: спящий режим
Microsoft TechDays
Функциональность
EWF
Оверлей
Дисковый или в памяти
В оперативной памяти
(non volatile cache writing)
Исключения
Нет
Сохранение изменений
Полностью весь оверлей Файлы по отдельности
HORM
Да
Нет
Поддержка NTFS
Полная
Частичная
Степень защиты
Выше
(Ниже в стеке I/O)
Ниже
(Выше в стеке I/O )
Оптимизация
использования памяти
Нет
Да
(высвобождается по
мере удаления файлов)
Microsoft TechDays
FBWF
Файлы и папки
Фильтры записи XP Embedded
Защита флэш-памяти
Создание «Stateless» устройств
Загрузка с носителей только для чтения
EWF поддерживает различные опции
оверлея
FBWF позволяет использовать
исключения
Фильтр реестра работает совметсно с
EWF или FBWF для сохранения настроек
реестра между перезагрузками
Microsoft TechDays
Русcкоязычный форум для разработчиков
встраиваимых систем
www.msembedded.ru/forum
Книга «Введение в Windows XP Embedded»
Microsoft TechDays
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Microsoft TechDays
Download