Автор работы: Пользователь скрыл имя, 19 Февраля 2013 в 08:00, курсовая работа
Цели и задачи курсовой работы:
закрепление практических навыков работы с файловой системой;
ознакомление с фундаментальными определениями файловой системы;
3. изучение и приобретение практических навыков защиты данных в NTFS;
Введение 3
1. Файловая система NTFS 5
1.1 Структура NTFS на диске 5
1.2 Главная таблица файлов 6
2. Защита и шифрование 8
2.1 Механизм EFS 9
2.2 Первое шифрование файла 11
2.3 Создание связок ключей 12
2.4 Шифрование файловых данных 13
2.5 Процесс расшифровки 14
3. Реализация защиты данных в NTFS 16
3.1 Защита данных в NTFS 16
3.2 Безопасное шифрование данных в NTFS 19
3.3 Экспорт сертификатов 20
3.4 Восстановление данных 22
Заключение 24
Список использованной литературы 25
Рисунок 2 Формат данных EFS |
После создания всех данных,
необходимых для шифруемого пользователем
файла, Lsasrv приступает к шифрованию
файла и создает его резервную
копию, Efs0.tmp (если есть другие резервные
копии, Lsasrv просто увеличивает номер
в имени резервного файла). Резервная
копия помещается в тот каталог,
где находится шифруемый файл.
Lsasrv применяет к резервной копии
ограничивающий дескриптор защиты, так
что доступ к этому файлу можно
получить только по учетной записи
System. Далее Lsasrv инициализирует файл журнала,
созданный им на первом этапе процесса
шифрования и регистрирует в нем
факт создания резервного файла. Lsasrv шифрует
исходный файл только после его резервирования.
Далее, Lsasrv посылает через NTFS драйверу
устройства EFS команду на добавление к
исходному файлу созданной информации
EFS. NTFS получает эту команду, но поскольку
она не понимает команд EFS, то просто вызывает
драйвер EFS. Драйвер EFS принимает посланные
Lsasrv данные EFS и применяет их к файлу через
функции, экспортируемые NTFS. Эти функции
позволяют EFS добавить к NTFS-файлу атрибут
$LOGGED_UTILITY_STREAM. После этого управление возвращается
к Lsasrv, который копирует содержимое шифруемого
файла в резервный. Закончив создание
резервной копии (в том числе скопировав
все дополнительные потоки данных), Lsasrv
отмечает в файле журнала, что резервный
файл находится в актуальном состоянии.
Затем Lsasrv посылает NTFS другую команду,
требуя зашифровать содержимое исходного
файла.
Получив от EFS команду на шифрование файла,
NTFS удаляет содержимое исходного файла
и копирует в него данные резервного. По
мере копирования каждого раздела файла
NTFS сбрасывает данные раздела из КЭШа
файловой системы, и они записываются
на диск. Так как файл помечен как шифрованный,
NTFS вызывает EFS для шифрования раздела
данных перед записью на диск. EFS использует
незашифрованный FEK, переданный NTFS, чтобы
шифровать файловые данные по алгоритму
DESX порциями, равными по размеру одному
сектору (512 байт).
Процесс расшифровки начинается,
когда пользователь открывает шифрованный
файл. При открытии файла NTFS анализирует
его атрибуты и выполняет функцию
обратного вызова в драйвере EFS. Драйвер
EFS считывает атрибут $LOGGED_UTILITY_STREAM, сопоставленный
с шифрованным файлом. Чтобы прочитать
этот атрибут, драйвер вызывает функции
поддержки EFS, которые NTFS экспортирует
для EFS. NTFS выполняет все необходимые
действия, чтобы открыть файл. Драйвер
EFS проверяет наличие у
Lsasrv, обрабатывая при расшифровке FEK связки
ключей DDF и DRF, автоматически выполняет
операции восстановления файла. Если к
файлу пытается получить доступ агент
восстановления, не зарегистрированный
на доступ к шифрованному файлу, т. е. у
него нет соответствующего поля в связке
ключей DDF, EFS позволит ему обратиться к
файлу, потому что агент имеет доступ к
пере ключей для поля ключа в связке ключей
DRF.
Путь от драйвера EFS до Lsasrv и обратно требует
довольно много времени – в процессе расшифровки
FEK в типичной системе CryptoAPI использует
результаты более 2000 вызовов API - функций
реестра и 400 обращений к файловой системе.
Чтобы сократить издержки от всех этих
вызовов, драйвер EFS использует кэш в паре
с NTFS.
Открыв шифрованный файл, приложение может
читать и записывать его данные. Для расшифровки
файловых данных NTFS вызывает драйвер EFS
по мере чтения этих данных с диска – до
того, как помещает их в кэш файловой системы.
Аналогичным образом, когда приложение
записывает данные в файл, они остаются
незашифрованными в кэше файловой системы,
пока приложение или диспетчер кэша не
сбросит данные обратно на диск с помощью
NTFS. При записи данных шифрованного файла
из кэша на диск NTFS вызывает драйвер EFS,
чтоб зашифровать их.
Драйвер EFS выполняет шифрование и расшифровку
данных порциями по 512 байт. Такой размер
оптимален для драйвера, потому что объем
данных при операциях чтения и записи
кратен размеру сектора. [4]
Как известно, файловая система NTFS оснащена функцией шифрования данных на диске, поэтому, если в свойствах файла поставить галочку на соответствующей опции, то он будет физически зашифрован. Кроме этого, пользователь может манипулировать правами доступа к тем или иным объектам .[5]
Однако при переустановке Windows или подключении жесткого диска к другому компьютеру все указанные ранее права доступа пропадут, и файл будет доступен абсолютно всем. Если же файл был зашифрован, то при сбросе прав доступа он все равно останется зашифрованным, и прочитать его с другой машины будет невозможно. На рисунке 3 показано окно дополнительные атрибуты.
Рисунок 3 Окно дополнительные атрибуты
Пункт первый. Внимательно
посмотрим, какие на нашем компьютере
существуют аккаунты и удалим лишние.
Для этого следуем в "Мой компьютер
-> Управление".
Далее - в меню "Управление компьютером -> Служебные программы -> Локальные пользователи и группы -> Пользователи".(Рисунок 4)
Рисунок 4 Вкладка «Пользователи»
В Windows XP по
умолчанию обычно получается два администраторских
логина: один стандартный, а второй - первого
из пользователей, вошедших в систему
сразу после установки. И по невнимательности
на одном из них может вообще не быть пароля.
Дополнительно на всех существующих аккаунтах
следует установить пароли не короче 16
символов. В противном случае их легко
вскрыть в течение нескольких дней или
даже часов .
Пункт второй. Система должна всегда запрашивать имя и пароль. Если вход в операционную систему автоматический, это надо устранить. Идем в меню "Пуск -> Выполнить", вводим команду control userpasswords2. (Рисунок 5)
Рисунок 5 Запуск программы
Пункт третий. В
Windows можно задействовать дополнительное
шифрование файла, хранящего все пароли.
В принципе, его шифрование задействовано
изначально, но пароль, естественно, хранится
на этом же диске, и хакерские программы
расшифровывают его "на раз". Гораздо
безопаснее вводить пароль с клавиатуры
либо с ключевой дискеты. В таких случаях
взлом становится практически невозможен.
Использовать ключевую дискету не рекомендуем из-за
ненадежности носителя в силу и физических,
и человеческих факторов. А вот использовать
ввод с клавиатуры вполне можно.
Проходим
в меню "Пуск -> Выполнить", вводим
команду syskey. Должно появиться окно управления
шифрованием базы данных паролей.(Рисунок
6)
Рисунок 6 Включение шифрования
По умолчанию ключ шифрования паролей хранится в системе. Выбираем режим требования ввода пароля при запуске системы. Указываем пароль - тоже не словарный и длинный. Готово. Теперь ключевое слово будет запрашиваться при каждой загрузке Windows, еще задолго до появления привычного окна выбора пользователя.
Этот пароль - общий для всех,
его необходимо знать всем пользователям
(что, кстати, снимает все преимущества
такой дополнительной защиты в том
случае, если ломать систему будет
один из знающих пароль пользователей).
Обычные персональные пользовательские
логины и пароли никуда не денутся,
они будут тоже запрашиваться
как обычно, после ввода общего
пароля.
Наконец, отметим еще одну потенциальную
уязвимость зашифрованных данных. Большинство
программ при работе создают временные
файлы, в которых хранят обрабатываемые
данные (или, к примеру, копию для возможности
Undo), и эти временные файлы обычно не зашифрованы.
Злоумышленник может, воспользовавшись
любой из многочисленных Unerase-программ,
восстановить эти файлы.
Для борьбы с этим следует после работы
с зашифрованными файлами затирать пустое
место на жестком диске при помощи Wipe-утилит
(они входят, в частности, в ОС Windows и в состав
Norton Utilities, Acronis, PGP Desktop и других подобных
пакетов). В ряде случаев обход этой проблемы
обеспечивается установкой шифрования
временной папки (на которые ссылаются
системные переменные %temp% и %tmp%), применяя
шифрование не к отдельному файлу, а к
целым директориям.
P.S. Следует трезво осознавать, что вышеперечисленные
меры не дают стопроцентной гарантии безопасности.
Если диск украден целенаправленно, и
данные заведомо представляют коммерческий
интерес, то злоумышленники, скорее всего,
найдут возможность как-то обойти эти
меры.
Как показывает практика, от применения
шифрования очень часто страдают
сами пользователи, а не взломщики.
Если система неожиданно "упадет"
(а это рано или поздно случается),
то восстановить данные будет практически
невозможно.
Чтобы избежать
такой неприятной ситуации, следует заранее экспортировать
копии сертификатов и сохранить их в особо
надежном месте (например, на CD-R, спрятанном
в глухом и темном лесу). Расскажем, как
это делается в Windows XP (В Windows 2000 логика
та же, но есть многочисленные мелкие отличия
в опциях и некоторой логике (в частности,
там обязателен агент восстановления,
что при неумелом использовании сильно
повышает уязвимость системы)).
Идем в "Пуск -> Выполнить" и вводим там команду certmgr.msc для вызова консоли управления сертификатами.(Рисунок 7)
Рисунок 7 Вкладка сертификаты
Далее неспешно следуем в личные сертификаты, находим свой сертификат (если его нет, значит, вы еще ничего не шифровали, так как он создается при первом использовании этой функции). Убедиться, что это именно тот сертификат, который используется, можно по его отпечатку.
Параллельно идем в "Свойства" какого-нибудь зашифрованного файла, нажимаем "Дополнительно -> Атрибуты сжатия и шифрования -> Подробно" и там смотрим на отпечаток.(Рисунок 8)
Рисунок 8 Вкладка «Подробно»
Если они совпадают, значит, этим ключом файл расшифровать можно. Дело в том, что, удалив в certmgr.msc свои сертификаты, Windows создаст их заново. При этом отпечаток у них будет уже другой, и старые файлы они расшифровывать не будут. Итак, выбираем в certmgr.msc свой ключ, выбираем меню "Все задачи -> Экспорт".(Рисунок 9)
Рисунок 9 Мастер экспорта сертификатов
Указываем экспорт закрытого ключа. Выбираем тип файла PFX и обязательно снимаем галочку на удалении закрытого ключа после экспорта.
На рисунке 10 показано, как мы вводим пароль к экспортируемому файлу. Этот пароль очень важно потом не забыть, ибо он потребуется только для восстановления ключа в случае падения системы.
Рисунок 10 Ввод пароля
Сохраняем ключ в файл. Готово. Рекомендуем аналогично произвести экспорт не только используемого сертификата, но и остальных в разделе "Личные" и "Доверенные". Теперь эти файлы следует записать на надежный носитель и заначить под половицей.
Теперь, рассмотрим последовательность действий при восстановлении зашифрованной информации. Загружаемся в любой Windows XP Pro и открываем в "Проводнике" PFX-файл.
Если на этой машине необходимо только открыть (восстановить) зашифрованные файлы, то галочку на "Пометить этот ключ как экспортируемый" не ставим. Если на компьютере мы заново установили Windows и хотим продолжить обычную работу с зашифрованными файлами, то галочка нужна. Теперь выбираем "Поместить все сертификаты в указанное хранилище" и при помощи кнопки "Обзор" указываем, куда их помещать. Если сертификат нужен только для чтения старых зашифрованных файлов, то помещаем в "Доверенные".(Рисунок 11)
Рисунок 11 Хранилище сертификатов
Если сертификат нужен, для того чтобы еще и создавать зашифрованные файлы, то указываем "Личные". Но здесь есть пара тонких моментов. Если вы только что установили Windows, то пока в ней нет сертификата (он создается при первом использовании шифрования файлов), можно смело импортировать старый сертификат в раздел "Личные". Но если вы уже успели воспользоваться шифрованием (или Windows работает давно), то чтобы у вас не возникло двух личных сертификатов и путаницы при шифровании новых файлов, запустите certmgr.msc и посмотрите в раздел "Личные". Если там уже есть сертификат, то следует подумать о возможных последствиях: если вы импортируете еще один сертификат, то вам при шифровании придется внимательно следить за тем, какой сертификат используется. Можно расшифровать файлы, удалить лишний сертификат, перезагрузиться и зашифровать заново оставшимся (После удаления сертификатов всегда следует перезагружать Windows. Дело в том, что сертификаты кэшируются в памяти. Допустим, если удалить сертификаты, а потом что-то зашифровать, то Windows не создаст новый сертификат, а использует заранее кэшированный, и после перезагрузки доступ к зашифрованному файлу будет навсегда потерян.).
Шифрованная файловая система
защищает конфиденциальные данные в
файлах на томах NTFS. EFS - основная технология
шифрования и расшифровки файлов
на томах NTFS. Открывать файл и работать
с ним может только пользователь,
его зашифровавший. Это чрезвычайно
важно для пользователей
Зашифрованный файл останется недоступным
для просмотра в исходном виде, даже если
атакующий обойдет системную защиту, например,
загрузив другую ОС. EFS обеспечивает устойчивое
шифрование по стандартным алгоритмам
и тесно интегрирована с NTFS. EFS в Windows XP
Professional предоставляет новые возможности
совместного использования зашифрованных
файлов или отключения агентов восстановления
данных, а также облегчает управление
посредством групповой политики и служебных
программ командной строки.
Процесс расшифровки начинается, когда пользователь открывает шифрованный файл. При открытии файла NTFS анализирует его атрибуты и выполняет функцию обратного вызова в драйвере EFS.