Как зашифровать разделы жесткого диска. Шифрование жесткого диска с помощью программы TrueCrypt

30.04.2019 Звуковые устройства

В последнее время большую популярность получили ноутбуки благодаря доступной цене и высокой производительности. И пользователи часто пользуются ими за пределами охраняемых помещений либо оставляют без присмотра. А это значит, что становится крайне насущным вопрос обеспечения недоступности для посторонних личной информации на системах под управлением ОС Windows. Простая установка пароля на вход в систему тут не поможет. А шифрование отдельных файлов и папок(почитайте про то, ) — слишком рутинное занятие. Поэтому наиболее удобным и надежным средством является шифрование жесткого диска . При этом можно сделать шифрованным только один из разделов, и держать приватные файлы и программы на нем. Более того, такой раздел можно сделать скрытым, не присваивая ему дисковой буквы. Такой раздел внешне будет выглядеть как неформатированный, и тем самым не привлекать к себе внимания злоумышленников, что особенно эффективно, так как лучший способ уберечь секретную информацию — это скрыть сам факт ее наличия.

Как работает шифрование жесткого диска

Общий принцип такой: программа шифрования делает образ файловой системы и помещает всю эту информацию в контейнер, содержимое которого шифруется. Таким контейнером может быть как простой файл, так и раздел на дисковом устройстве. Использование шифрованного файла-контейнера удобно тем, что такой файл можно скопировать в любое удобное место и продолжить работу с ним. Такой подход удобен при хранении небольшого объема информации. Но если размер контейнера будет несколько десятков гигабайт, то его мобильность становится весьма сомнительной, и к тому же такой огромный размер файла выдает факт содержания в нем какой-то полезной информации. Поэтому более универсальным подходом является шифрование целого раздела на жестоком диске.

Существует много разных программ для этих целей. Но наиболее известной и надежной считается TrueCrypt . Поскольку эта программа имеет открытые исходные коды, то это означает, что в ней нет закладок от производителей, позволяющих получить доступ к шифрованным данным через недокументированный «черный ход». К сожалению ходят предположения, что создателей программы TrueCrypt вынудили отказаться от дальнейшей разработки и передать эстафету проприоретарным аналогам. Тем не менее последняя надежная версия 7.1a остается вполне работоспособной на всех версиях ОС Windows, и большинство пользователей пользуются именно этой версией.

Внимание!!! Последняя актуальная версия — 7.1a (ссылка для скачивания ). Не используйте «урезанную» версию 7.2 (проект закрыли, а на официальном сайте программы предлагают выполнить переход с TrueCrypt на Bitlocker и доступна как раз только версия 7.2).

Создание шифрованного диска

Рассмотрим стандартный подход при шифровании разделов. Для этого нам понадобится неиспользуемый раздел на жестком диске либо флешке. Для этой цели можно освободить один из логических дисков. Собственно говоря, если свободного раздела не имеется, то можно будет в процессе создания шифрованного диска выбрать шифрование диска без форматирования, и сохранить имеющиеся данные. Но это дольше по времени и есть небольшой риск потерять данные в процессе шифрования, если допустим компьютер зависнет.

Если требуемый раздел на дисковом устройстве подготовлен, то теперь можно запустить программу TrueCrypt и выбрать пункт меню «Создать новый том».

Поскольку нас интересует хранение данных не в файле-контейнере, а в разделе диска, то выбираем пункт «Зашифровать несистемный раздел/диск» и обычный вид шифрования тома.

На этом этапе появляется упомянутая возможность выбора — шифровать имеющиеся в разделе данные или форматировать его без сохранения информации.

После этого программа спрашивает, какими алгоритмами производить шифрование. Для бытовых нужд большой разницы тут нет — можно выбрать любой из алгоритмов или связку из них.

Только при этом стоит учитывать, что при применении связки из нескольких алгоритмов требуется больше вычислительных ресурсов при работе с шифрованным диском — и соответственно скорость чтения и записи падает. Если компьютер недостаточно мощный, то имеет смысл нажать на кнопку тест, чтобы выбрать оптимальный алгоритм для своего компьютера.

Следующим этапом является непосредственно процесс форматирования шифрованного тома.

Теперь остается подождать, пока программа закончит шифрование жесткого диска.

Стоит отметить, что на этапе задания пароля можно в качестве дополнительной защиты задать ключевой файл. В этом случае доступ к шифрованной информации будет возможен только при наличии этого ключевого файла. Соответственно, если этот файл хранится на другом компьютере в локальной сети, то при потере ноутбука с шифрованным диском или флешки никто не сможет получить доступ к секретным данным, даже если бы подобрал пароль — ведь ключевого файла ни на самом ноутбуке ни на флешке нет.

Скрытие шифрованного раздела

Как уже упоминалось, выгодным преимуществом шифрованного раздела является то, что в операционной системе он позиционируется как неиспользуемый и неформатированный. И нет никаких указаний на то, что в нем есть шифрованная информация. Единственный способ это выяснить — использовать специальные программы по криптоанализу, умеющие по высокой степени хаотичности битовых последовательностей сделать заключение, что в разделе имеются шифрованные данные. Но если Вы не потенциальная мишень для спецслужб, то такая угроза компрометации Вам вряд ли грозит.

А вот для дополнительной защиты от простых обывателей имеет смысл спрятать шифрованный раздел из перечня доступных букв дисков. Тем более что все равно обращение к диску напрямую по его букве ничего не даст и требуется только в случае удаления шифрования путем форматирования. Для открепления тома от используемой буквы следует в «Панели управления» зайти в раздел «Управление компьютером / Управление дисками» и вызвав контекстное меню для нужного раздела выбрать пункт «Изменить букву диска или путь к диску...», где и получится убрать привязку.

После этих манипуляций шифрованный раздел не будет виден в проводнике Windows и других файловых менеджерах. А наличие среди нескольких разнообразных системных разделов одного безымянного и «неформатированного» вряд ли вызовет интерес у посторонних.

Использование шифрованного диска

Чтобы использовать шифрованное устройство как обычный диск, необходимо его подключить. Для этого в главном окне программы следует нажать правой кнопкой мыши на одной из доступных букв дисков и выбрать пункт меню «Выбрать устройство и смонтировать...»

После этого нужно отметить зашифрованное ранее устройство и указать пароль.

В результате в обозревателе Windows должен появиться новый диск с выбранной буквой (в нашем случае это диск X).

И теперь с этим диском получится работать как и с любым обычным логическим диском. Главное после окончания работы не забыть либо выключить компьютер, либо закрыть программу TrueCrypt, либо отключить шифрованный раздел — ведь пока диск подключен, любой пользователь может получить доступ к расположенным на нем данным. Отключить раздел можно нажав кнопку «Размонтировать».

Итоги

Использование программы TrueCrypt позволит Вам произвести шифрование жесткого диска и тем самым скрыть Ваши приватные файлы от посторонних, если вдруг кто-то получит доступ к Вашей флешке или жесткому диску. А расположение шифрованной информации на неиспользуемом и скрытом разделе создает дополнительный уровень защиты, так как непосвященный круг лиц может и не догадываться, что на одном из разделов хранится секретная информация. Такой метод защиты приватных данных подойдет в подавляющем большинстве случаев. И только если за Вами производится целенаправленная слежка с угрозой применения насилия для получения пароля, то Вам могут понадобиться более изощренные методы защиты, такие как стеганография и скрытые тома TrueCrypt (с двумя паролями).

Основные возможности программы Folder Lock следующие:
  • AES-шифрование, длина ключа 256 бит.
  • Сокрытие файлов и папок.
  • Шифрование файлов (посредством создания виртуальных дисков - сейфов) «на лету».
  • Резервное копирование онлайн.
  • Создание защищенных USB/CD/DVD-дисков.
  • Шифрование вложений электронной почты.
  • Создание зашифрованных «бумажников», хранящих информацию о кредитных картах, счетах и т.д.

Казалось бы, возможностей у программы вполне достаточно, особенно для персонального использования. Теперь посмотрим на программу в работе. При первом запуске программа просит установить мастер-пароль, который используется для аутентификации пользователя в программе (рис. 1). Представьте такую ситуацию: вы скрыли файлы, а кто-то другой запустил программу, просмотрел, какие файлы скрыты и получил к ним доступ. Согласитесь, не очень хорошо. А вот если программа запрашивает пароль, то у этого «кто-то» уже ничего не выйдет - во всяком случае, до тех пор, пока он не подберет или не узнает ваш пароль.


Рис. 1. Установка мастер-пароля при первом запуске

Первым делом посмотрим, как программа скрывает файлы. Перейдите в раздел Lock Files , затем либо перетащите файлы (рис. 2) и папки в основную область программы или же воспользуйтесь кнопкой Add . Как показано на рис. 3, программа позволяет скрыть файлы, папки и диски.


Рис. 2. Перетащите файл, выделите его и нажмите кнопку Lock


Рис. 3. Кнопка Add

Посмотрим, что произойдет, когда мы нажмем кнопку Lock . Я попытался скрыть файл C:\Users\Denis\Desktop\cs.zip. Файл исчез из Проводника, Total Commander и остальных файловых менеджеров, даже если включено отображение скрытых файлов. Кнопка сокрытия файла называется Lock , а раздел Lock Files . Однако нужно было бы эти элементы UI назвать Hide и Hide Files соответственно. Потому что на самом деле программа осуществляет не блокирование доступа к файлу, а просто «прячет» его. Посмотрите на рис. 4. Я, зная точное имя файла, скопировал его в файл cs2.zip. Файл спокойно скопировался, не было никаких ошибок доступа, файл не был зашифрован - он распаковался, как обычно.


Рис. 4. Копирование скрытого файла

Сама по себе функция сокрытия бестолковая и бесполезная. Однако если использовать ее вместе с функцией шифрования файлов - для сокрытия созданных программой сейфов - тогда эффективность от ее использования увеличится.
В разделе Encrypt Files вы можете создать сейфы (Lockers). Сейф - это зашифрованный контейнер, который после монтирования можно использовать как обычный диск - шифрование не простое, а прозрачное. Такая же техника используется многими другими программами шифрования, в том числе TrueCrypt, CyberSafe Top Secret и др.


Рис. 5. Раздел Encrypt Files

Нажмите кнопку Create Locker , в появившемся окне введите название и выберите расположение сейфа (рис. 6). Далее нужно ввести пароль для доступа к сейфу (рис. 7). Следующий шаг - выбор файловой системы и размера сейфа (рис. 8). Размер сейфа - динамический, но вы можете задать максимальный его предел. Это позволяет экономить дисковое пространство, если вы не используете сейф «под завязку». При желании можно создать сейф фиксированного размера, что будет показано в разделе «Производительность» этой статьи.


Рис. 6. Название и расположение сейфа


Рис. 7. Пароль для доступа к сейфу


Рис. 8. Файловая система и размер сейфа

После этого вы увидите окно UAC (если он включен), в котором нужно будет нажать Да, далее будет отображено окно с информацией о созданном сейфе. В нем нужно нажать кнопку Finish, после чего будет открыто окно Проводника, отображающее подмонтированный контейнер (носитель), см. рис. 9.


Рис. 9. Виртуальный диск, созданный программой

Вернитесь в раздел Encrypt Files и выделите созданный сейф (рис. 10). Кнопка Open Locker позволяет открыть закрытый сейф, Close Locker - закрыть открытый, кнопка Edit Options вызывает меню, в котором находятся команды удаления/копирование/ переименования/изменения пароля сейфа. Кнопка Backup Online позволяет выполнить резервное копирование сейфа, причем не куда-нибудь, а в облако (рис. 11). Но сначала вам предстоит создать учетную запись Secure Backup Account , после чего вы получите до 2 ТБ дискового пространства, а ваши сейфы будут автоматически синхронизироваться с онлайн-хранилищем, что особенно полезно, если вам нужно работать с одним и тем же сейфом на разных компьютерах.


Рис. 10. Операции над сейфом


Рис. 11. Создание Secure Backup Account

Ничто не бывает просто так. С расценками за хранение ваших сейфов можно ознакомиться по адресу secure.newsoftwares.net/signup?id=en . За 2 Тб придется выложить 400$ в месяц. 500 Гб обойдется в месяц 100$. Если честно, то это очень дорого. За 50-60$ можно арендовать целый VPS с 500 Гб «на борту», который вы сможете использовать, как хранилище для ваших сейфов и даже создать на нем свой сайт.
Обратите внимание: программа умеет создавать зашифрованные разделы, но в отличие от программы PGP Desktop, она не умеет шифровать целые диски. В разделе Protect USB/CD можно защитить ваши USB/CD/DVD-диски, а также вложения электронной почты (рис. 12). Однако эта защита осуществляется не путем шифрования самого носителя, а путем записи на соответствующий носитель саморасшифровывающегося сейфа. Другими словами, на выбранный носитель будет записана урезанная portable-версия программы, позволяющаяся «открыть» сейф. Как таковой поддержки почтовых клиентов у этой программы тоже нет. Вы можете зашифровать вложение и прикрепить его (уже зашифрованное) к письму. Но вложение шифруется обычным паролем, а не PKI. Думаю, о надежности говорить нет смысла.


Рис. 12. Раздел Protect USB/CD

Раздел Make Wallets позволяет создать бумажники, содержащие информацию о ваших кредитках, банковских счетах и т.д. (рис. 13). Вся информация, понятное дело, хранится в зашифрованном виде. Со всей ответственностью могу сказать, что этот раздел бесполезный, поскольку не предусмотрена функция экспорта информации из бумажника. Представьте, что у вас есть множество банковских счетов и вы внесли информацию о каждом из них в программу - номер счета, название банка, владелец счета, SWIFT-код и т.д. Затем вам нужно предоставить информацию о счете третьему лицу для перевода вам денег. Вам придется вручную копировать каждое поле, вставлять его в документ или электронное письмо. Наличие функции экспорта значительно облегчило бы эту задачу. Как по мне, гораздо проще хранить всю эту информацию в одном общем документе, который нужно поместить на созданный программой виртуальный диск - сейф.


Рис. 13. Бумажники

Преимущества программы Folder Lock:

  • Привлекательный и понятный интерфейс, который понравится начинающим пользователям, владеющим английским языком.
  • Прозрачное шифрование «на лету», создание виртуальных зашифрованных дисков, с которыми можно работать, как с обычными дисками.
  • Возможность резервного онлайн-копирования и синхронизации зашифрованных контейнеров (сейфов).
  • Возможность создания саморасшифровывающихся контейнеров на USB/CD/DVD-дисках.

Недостатки программы:

  • Нет поддержки русского языка, что усложнит работу с программой пользователей, не знакомых с английским языком.
  • Сомнительные функции Lock Files (которая просто скрывает, а не «запирает» файлы) и Make Wallets (малоэффективна без экспорта информации). Честно говоря, думал, что функция Lock Files будет обеспечивать прозрачное шифрование папки/файла на диске, как это делает программа CyberSafe Top Secret или файловая система .
  • Отсутствие возможности подписания файлов, проверки цифровой подписи.
  • При открытии сейфа не позволяет выбрать букву диска, которая будет назначена виртуальному диску, который соответствует сейфу. В настройках программы можно выбрать только порядок, в котором программа будет назначать букву диска - по возрастанию (от A до Z) или по убыванию (от Z до A).
  • Нет интеграции с почтовыми клиентами, есть только возможность зашифровать вложение.
  • Высокая стоимость облачного резервного копирования.

PGP Desktop

Программа PGP Desktop от Symantec - это комплекс программ для шифрования, обеспечивающий гибкое многоуровневое шифрование. Программа отличается от CyberSafe TopSecret и Folder Lock тесной интеграцией в системную оболочку. Программа встраивается в оболочку (Проводник), а доступ к ее функциям осуществляется через контекстное меню Проводника (рис. 14). Как видите, в контекстном меню есть функции шифрования, подписи файла и т.д. Довольно интересной является функция создания саморасшифровывающегося архива - по принципу самораспаковывающегося архива, только вместо распаковки архив также еще и расшифровывается. Впрочем, у программ Folder Lock и CyberSafe также есть аналогичная функция.


Рис. 14. Контекстное меню PGP Desktop

Также доступ к функциям программы можно получить через системный трей (рис. 15). Команда Open PGP Desktop открывает основное окно программы (рис. 16).


Рис. 15. Программа в системном трее


Рис. 16. Окно PGP Desktop

Разделы программы:

  • PGP Keys - управление ключами (как собственными, так и импортированными с keyserver.pgp.com).
  • PGP Messaging - управление службами обмена сообщениями. При установке программа автоматически обнаруживает ваши учетные записи и автоматически шифрует коммуникации AOL Instant Messenger.
  • PGP Zip - управление зашифрованными архивами. Программа поддерживает прозрачное и непрозрачное шифрование. Этот раздел как раз и реализует непрозрачное шифрование. Вы можете создать зашифрованный Zip-архив (PGP Zip) или саморасшифровывающийся архив (рис. 17).
  • PGP Disk - это реализация функции прозрачного шифрования. Программа может, как зашифровать весь раздел жесткого диска (или даже весь диск) или создать новый виртуальный диск (контейнер). Здесь же есть функция Shred Free Space, которая позволяет затереть свободное пространство на диске.
  • PGP Viewer - здесь можно расшифровать PGP-сообщения и вложения.
  • PGP NetShare - средство «расшаривания» папок, при этом «шары» шифруются с помощью PGP, а у вас есть возможность добавить/удалить пользователей (пользователи идентифицируются на основе сертификатов), которые имеют доступ к «шаре».


Рис. 17. Саморасшифровывающийся архив

Что касается виртуальных дисков, то мне особо понравилась возможность создания виртуального диска динамического размера (рис. 18), а также выбора алгоритма, отличного от AES. Программа позволяет выбрать букву диска, к которой будет подмонтирован виртуальный диск, а также позволяет автоматически монтировать диск при запуске системы и размонтировать при простое (по умолчанию через 15 минут бездействия).


Рис. 18. Создание виртуального диска

Программа старается зашифровать все и вся. Она отслеживает POP/SMTP-соединения и предлагает их защитить (рис. 19). То же самое касается и клиентов для обмена мгновенными сообщениями (рис. 20). Также есть возможность защиты IMAP-соединений, но ее нужно отдельно включать в настройках программы.


Рис. 19. Обнаружено SSL/TLS-соединение


Рис. 20. PGP IM в действии

Жаль, что PGP Desktop не поддерживает популярные современные программы вроде Skype и Viber. Кто сейчас пользуется AOL IM? Думаю, таких найдется немного.
Также при использовании PGP Desktop сложно настроить шифрование почты, которое работает только в режиме перехвата. А что, если зашифрованная почта уже была получена, а PGP Desktop был запущен уже после получения зашифрованного сообщения. Как его расшифровать? Можно, конечно, но придется это делать вручную. К тому же уже расшифрованные письма в клиенте уже никак не защищаются. А если настроить клиент на сертификаты, как это сделано в программе CyberSafe Top Secret, то письма всегда будут зашифрованы.
Режим перехвата работает тоже не очень хорошо, поскольку сообщение о защите почты появляется каждый раз на каждый новый почтовый сервер, а у gmail их очень много. Окошко защиты почты очень быстро вам надоест.
Стабильностью работы программа также не отличается (рис. 21).


Рис. 21. PGP Desktop зависла…

Также после ее установки система работала медленнее (субъективно)…

Преимущества программы PGP Desktop:

  • Полноценная программа, использующаяся для шифрования файлов, подписания файлов и проверки электронной подписи, прозрачного шифрования (виртуальные диски и шифрование всего раздела), шифрования электронной почты.
  • Поддержка сервера ключей keyserver.pgp.com.
  • Возможность шифрования системного жесткого диска.
  • Функция PGP NetShare.
  • Возможность затирания свободного места.
  • Тесная интеграция с Проводником.

Недостатки программы:

  • Отсутствие поддержки русского языка, что усложнит работу с программой пользователям, которые не знают английский язык.
  • Нестабильная работа программы.
  • Низкая производительность программы.
  • Есть поддержка AOL IM, но нет поддержки Skype и Viber.
  • Уже расшифрованные письма остаются незащищенными на клиенте.
  • Защита почты работает только в режиме перехвата, который быстро вам надоест, поскольку окно защиты почты будет появляться каждый раз для каждого нового сервера.

CyberSafe Top Secret

Как и в , подробного описания программы CyberSafe Top Secret не будет, поскольку в нашем блоге и так уже много о ней написано (рис. 22).


Рис. 22. Программа CyberSafe Top Secret

Однако мы все же обратим внимание на некоторые моменты - самые важные. Программа содержит средства управления ключами и сертификатами, а наличие в CyberSafe собственного сервера ключей позволяет пользователю опубликовать на нем свой открытый ключ, а также получить открытые ключи других сотрудников компании (рис. 23).


Рис. 23. Управление ключами

Программа может использоваться для шифрования отдельных файлов, что было показано в статье . Что касается алгоритмов шифрования, то программа CyberSafe Top Secret поддерживает алгоритмы ГОСТ и сертифицированный криптопровайдер КриптоПро, что позволяет использовать ее в государственных учреждениях и банках.
Также программа может использоваться для прозрачного шифрования папки (рис. 24), что позволяет ее использовать в качестве замены для EFS . А, учитывая, что программа CyberSafe оказалась надежнее и быстрее (в некоторых сценариях), чем EFS, то использовать ее не только можно, но и нужно.


Рис. 24. Прозрачное шифрование папки C:\CS-Crypted

Функционал программы CyberSafe Top Secret напоминает функционал программы PGP Desktop - если вы заметили, то программа также может использоваться для шифрования сообщений электронной почты, а также для электронной подписи файлов и проверки этой подписи (раздел Эл. цифровая подпись , см. рис. 25).


Рис. 25. Раздел Эл. цифровая подпись

Как и программа PGP Desktop, программа CyberSafe Top Secret умеет создавать виртуальные зашифрованные диски и шифровать полностью . Нужно отметить, что программа CyberSafe Top Secret умеет создавать виртуальные диски только фиксированного размера, в отличие от программ Folder Lock и PGP Desktop. Однако этот недостаток нейтрализуется возможностью прозрачного шифрования папки, а размер папки ограничен только размером свободного пространства на жестком диске.
В отличие от программы PGP Desktop, программа CyberSafe Top Secret не умеет шифровать системный жесткий диск, она ограничивается лишь шифрованием внешних и внутренних не системных дисков.
Зато у CyberSafe Top Secret есть возможность облачного резервного копирования, причем, в отличие от Folder Lock, данная возможность абсолютно бесплатна, точнее функцию облачного резервного копирования можно настроить на любой сервис - как платный, так и бесплатный. Подробнее об этой возможности можно прочитать в статье .
Также нужно отметить две немаловажные особенности программы: двухфакторную авторизацию и систему доверенных приложений. В настройках программы можно или установить аутентификацию по паролю или двухфакторную аутентификацию (рис. 26).


Рис. 26. Настройки программы

На вкладке Разрешен. приложения можно определить доверенные приложения, которым разрешено работать с зашифрованными файлами. По умолчанию все приложения являются доверенными. Но для большей безопасности вы можете задать приложения, которым разрешено работать с зашифрованными файлами (рис. 27).


Рис. 27. Доверенные приложения

Преимущества программы CyberSafe Top Secret:

  • Поддержка алгоритмов шифрования ГОСТ и сертифицированного криптопровайдера КриптоПро, что позволяет использовать программу не только частным лицам и коммерческим организациям, но и государственным учреждениям.
  • Поддержка прозрачного шифрования папки, что позволяет использовать программу в качестве замены EFS. Учитывая, что программа обеспечивает , такая замена более чем оправдана.
  • Возможность подписания файлов электронной цифровой подписью и возможность проверки подписи файла.
  • Встроенный сервер ключей, позволяющий публиковать ключи и получать доступ к другим ключам, которые были опубликованы другими сотрудниками компании.
  • Возможность создания виртуального зашифрованного диска и возможность шифрования всего раздела.
  • Возможность создания саморасшифровывающихся архивов.
  • Возможность бесплатного облачного резервного копирования, которое работает с любым сервисом - как платным, так и бесплатным.
  • Двухфакторная аутентификация пользователя.
  • Система доверенных приложений, позволяющая разрешить доступ к зашифрованным файлам только определенным приложениям.
  • Приложение CyberSafe поддерживает набор инструкций AES-NI, что положительно сказывается на производительности программы (этот факт будет продемонстрирован далее).
  • Драйвер программы CyberSafe позволяет работать по сети, что дает возможность организовать .
  • Русскоязычный интерфейс программы. Для англоязычных пользователей имеется возможность переключения на английский язык.

Теперь о недостатках программы. Особых недостатков у программы нет, но поскольку была поставлена задача честно сравнить программы, то недостатки все же придется найти. Если совсем уж придираться, иногда в программе (очень-очень редко) «проскакивают» нелокализированные сообщения вроде «Password is weak». Также пока программа не умеет шифровать системный диск, но такое шифрование не всегда и не всем необходимо. Но все это мелочи по сравнению с зависанием PGP Desktop и ее стоимостью (но об этом вы еще не знаете).

Производительность

При работе с PGP Desktop у меня создалось впечатление (уже сразу после установки программы), что компьютер стал работать медленнее. Если бы не это «шестое чувство», то этого раздела не было в данной статье. Было решено измерить производительность программой CrystalDiskMark . Все испытания проводятся на реальной машине - никаких виртуалок. Конфигурация ноутбука следующая - Intel 1000M (1.8 GHz)/4 Гб ОЗУ/WD WD5000LPVT (500 Гб, SATA-300, 5400 RPM, буфер 8 Мб/Windows 7 64-bit). Машина не очень мощная, но какая есть.
Тест будет производиться следующим образом. Запускаем одну из программ и создаем виртуальный контейнер. Параметры контейнера следующие:
  • Размер виртуального диска - 2048 Мб.
  • Файловая система - NTFS
  • Буква диска Z:
После этого программа закрывается (ясное дело, виртуальный диск размонтируется) - чтобы уже ничто не мешало тесту следующей программы. Запускается следующая программа, в ней создается аналогичный контейнер и снова производится тест. Чтобы вам было понятнее читать результаты теста, нужно поговорить о том, что означают результаты CrystalDiskMark:
  1. Seq - тест последовательной записи/последовательного чтения (размер блока = 1024КБ);
  2. 512К - тест случайной записи/случайного чтения (размер блока = 512КБ);
  3. 4К - то же самое, что и 512К, но размер блока 4 Кб;
  4. 4К QD32 - тест случайной записи/чтения (размер блока = 4КБ, Глубина Очереди = 32) для NCQ&AHCI.
Во время теста все программы, кроме CrystalDiskMark были закрыты. Я выбрал размер теста 1000 Мб и установил 2 прохода, чтобы лишний раз не насиловать свой жесткий диск (в результате данного эксперимента у него и так температура выросла с 37 до 40 градусов).

Начнем с обычного жесткого диска, чтобы было с чем сравнивать. Производительность диска C: (а это единственный раздел на моем компьютере) будет считаться эталонной. Итак, я получил следующие результаты (рис. 28).


Рис. 28. Производительность жесткого диска

Теперь приступим к тестированию первой программы. Пусть это будет Folder Lock. На рис. 29 показаны параметры созданного контейнера. Обратите внимание: я использую фиксированный размер. Результаты программы показаны на рис. 30. Как видите, имеет место значительное снижение производительности по сравнению с эталоном. Но это нормальное явление - ведь данные зашифровываются и расшифровываются на лету. Производительность должна быть ниже, вопрос насколько.


Рис. 29. Параметры контейнера Folder Lock


Рис. 30. Результаты программы Folder Lock

Следующая программа - PGP Desktop. На рис. 31 - параметры созданного контейнера, а на рис. 32 - результаты. Мои ощущения подтвердились - программа действительно работает медленнее, что и подтвердил тест. Вот только при работе этой программы «тормозил» не только виртуальный диск, а даже вся система, чего не наблюдалось при работе с другими программами.


Рис. 31. Параметры контейнера PGP Desktop


Рис. 32. Результаты программы PGP Desktop

Осталось протестировать программу CyberSafe Top Secret. Как обычно, сначала - параметры контейнера (рис. 33), а затем результаты программы (рис. 34).


Рис. 33. Параметры контейнера CyberSafe Top Secret


Рис. 34. Результаты программы CyberSafe Top Secret

Думаю, комментарии будут лишними. По производительности места распределились следующим образом:

  1. CyberSafe Top Secret
  2. Folder Lock
  3. PGP Desktop

Цена и выводы

Поскольку мы тестировали проприетарное программное обеспечение, нужно рассмотреть еще один немаловажный фактор - цена. Приложение Folder Lock обойдется 39.95$ за одну установку и 259.70$ за 10 инсталляций. С одной стороны, цена не очень высока, но функционал программы, откровенно говоря, мал. Как уже отмечалось, от функций сокрытия файлов и бумажников толку мало. Функция Secure Backup требует дополнительной платы, следовательно, отдавать почти 40 долларов (если поставить себя на место обычного пользователя, а не компании) только за возможность шифрования файлов и создания саморасшифровывающихся сейфов - дорого.
Программа PGP Desktop обойдется в 97 долларов. И заметьте - это только начальная цена. Полная версия с набором всех модулей обойдется примерно в 180-250$ и это только лицензия на 12 месяцев. Другими словами, каждый год за использование программы придется выложить 250$. Как по мне, это перебор.
Программа CyberSafe Top Secret - золотая середина, как по функционалу, так и по цене. Для обычного пользователя программа обойдется всего в 50 долларов (специальная антикризисная цена для России, для остальных стран полная версия обойдется 90$). Прошу заметить, столько стоит самая полная версия программы Ultimate .
Таблица 1 содержит сравнительную таблицу функций всех трех продуктов, которая сможет помочь вам выбрать именно ваш продукт.

Таблица 1. Программы и функции

Функция Folder Lock PGP Desktop CyberSafe Top Secret
Виртуальные зашифрованные диски Да Да Да
Шифрование всего раздела Нет Да Да
Шифрование системного диска Нет Да Нет
Удобная интеграция с почтовыми клиентами Нет Нет Да
Шифрование сообщений электронной почты Да (ограничено) Да Да
Шифрование файлов Нет Да Да
ЭЦП, подписание Нет Да Да
ЭЦП, проверка Нет Да Да
Прозрачное шифрование папки Нет Нет Да
Саморасшифровывающиеся архивы Да Да Да
Облачное резервное копирование Да (платно) Нет Да (беплатно)
Система доверенных приложений Нет Нет Да
Поддержка сертифицированного криптопровайдера Нет Нет Да
Поддержка токенов Нет Нет (поддержка прекращена) Да (при установке КриптоПро)
Собственный сервер ключей Нет Да Да
Двухфакторная аутентификация Нет Нет Да
Сокрытие отдельных файлов Да Нет Нет
Сокрытие разделов жесткого диска Да Нет Да
Бумажники для хранения платежной информации Да Нет Нет
Поддержка шифрования ГОСТ Нет Нет Да
Русский интерфейс Нет Нет Да
Последовательная чтение/ запись (DiskMark), Мб/с 47/42 35/27 62/58
Стоимость 40$ 180-250$ 50$

Учитывая все изложенные в этой статье факторы (функционал, производительность и цену), победителем данного сравнения является программа CyberSafe Top Secret. Если у вас остались вопросы, мы с радостью ответим на них в комментариях.

Теги:

  • шифрование данных
  • защита информации
Добавить метки

Здравствуйте Друзья! В этой статье мы продолжим изучать встроенные в Windows системы призванные повысить безопасность наших данных. Сегодня это система шифрования дисков Bitlocker . Шифрование данных нужно для того что бы вашей информацией не воспользовались чужие люди. Как она к ним попадет это уже другой вопрос.

Шифрование — это процесс преобразования данных таким образом что бы получить доступ к ним могли только нужные люди. Для получения доступа обычно используют ключи или пароли.

Шифрование всего диска позволяет исключить доступ к данным при подключении вашего жесткого диска к другому компьютеру. На системе злоумышленника может быть установлена другая операционная система для обхода защиты, но это не поможет если вы используете BitLocker.

Технология BitLocker появилась с выходом операционной системы Windows Vista и была усовершенствована в Windows 7 . Bitlocker доступен в версиях Windows 7 Максимальная и Корпоративная а так же в Windows 8 Pro. Владельцам других версий придется искать альтернативу .

Не вдаваясь в подробности выглядит это так. Система шифрует весь диск и дает вам ключи от него. Если вы шифруете системный диск то без вашего ключа компьютер не загрузится. Тоже самое как ключи от квартиры. У вас они есть вы в нее попадете. Потеряли, нужно воспользоваться запасными (кодом восстановления (выдается при шифровании)) и менять замок (сделать шифрование заново с другими ключами)

Для надежной защиты желательно наличие в компьютере доверенного платформенного модуля TPM (Trusted Platform Module). Если он есть и его версия 1.2 или выше, то он будет управлять процессом и у вас появятся более сильные методы защиты. Если же его нет, то возможно будет воспользоваться только ключом на USB-накопителе.

Работает BitLocker следующим образом. Каждый сектор диска шифруется отдельно с помощью ключа (full-volume encryption key, FVEK). Используется алгоритм AES со 128 битным ключом и диффузором. Ключ можно поменять на 256 битный в групповых политиках безопасности.

Когда шифрование будет завершено увидите следующую картинку

Закрываете окошко и проверяете в надежных ли местах находятся ключ запуска и ключ восстановления.

Шифрование флешки — BitLocker To Go

Почему нужно приостанавливать шифрование? Что бы BitLocker не заблокировал ваш диск и не прибегать к процедуре восстановления. Параметры системы (BIOS и содержимое загрузочного раздела) при шифровании фиксируются для дополнительной защиты. При их изменении может произойти блокировка компьютера.

Если вы выберите Управление BitLocker, то можно будет Сохранить или напечатать ключ восстановление и Дублировать ключ запуска

Если один из ключей (ключ запуска или ключ восстановления) утерян, здесь можно их восстановить.

Управление шифрованием внешних накопителей

Для управления параметрами шифрования флешки доступны следующие функции

Можно изменить пароль для снятия блокировки. Удалить пароль можно только если для снятия блокировки используется смарт-карта. Так же можно сохранить или напечатать ключ восстановления и включить снятие блокировки диска для этого компьютера автоматически.

Восстановление доступа к диску

Восстановление доступа к системному диску

Если флешка с ключом вне зоны доступа, то в дело вступает ключ восстановления. При загрузке компьютера вы увидите приблизительно следующую картину

Для восстановления доступа и загрузки Windows нажимаем Enter

Увидим экран с просьбой ввести ключ восстановления

С вводом последней цифры при условии правильного ключа восстановления автоматически пойдет загружаться операционная система.

Восстановление доступа к съемным накопителям

Для восстановления доступа к информации на флешке или внешнему HDD нажимаем Забыли пароль?

Выбираем Ввести ключ восстановления

и вводим этот страшный 48-значный код. Жмем Далее

Если ключ восстановления подходит то диск будет разблокирован

Появляется ссылочка на Управление BitLocker, где можно изменить пароль для разблокировки накопителя.

Заключение

В этой статье мы узнали каким образом можно защитить нашу информацию зашифровав ее с помощью встроенного средства BitLocker. Огорчает, что эта технология доступна только в старших или продвинутых версиях ОС Windows. Так же стало ясно для чего же создается этот скрытый и загрузочный раздел размером 100 МБ при настройке диска средствами Windows.

Возможно буду пользоваться шифрованием флешек или внешних жестких дисков . Но, это маловероятно так как есть хорошие заменители в виде облачных сервисов хранения данных таких как DropBox, Google Диск , Яндекс Диск и подобные.

Требования к конфиденциальности и безопасности компьютера полностью определяются характером хранящихся на нем данных. Одно дело если ваш компьютер служит развлекательной станцией и на нем кроме нескольких игрушек и папочки с фотографиями любимого котика ничего нет и совсем другое — если на жестком диске есть данные, являющиеся коммерческой тайной, потенциально представляющие интерес для конкурентов.

Первым «рубежом обороны» является пароль на вход в систему, который запрашивается при каждом включении компьютера.

Следующая ступень защиты — права доступа на уровне файловой системы. Пользователь, не имеющий разрешительных привилегий, при попытке получить доступ к файлам получит ошибку.

Однако у описанных способов есть один крайне существенный недостаток. Они оба работают на уровне операционной системы и их можно относительно легко обойти если иметь немного времени и физический доступ к компьютеру (например, загрузившись с USB-флешки можно сбросить административный пароль или изменить файловые разрешения). Полную уверенность в безопасности и конфиденциальности данных можно получить только если задействовать достижения криптографии и надежно их. Ниже мы рассмотрим два способа подобной защиты.

Первым рассматриваемым сегодня способом будет встроенная криптозащита от Microsoft. Шифрование, названное BitLocker, впервые появилось в Windows 8. Обезопасить с его помощью отдельную папку или файл не получится, доступно только шифрование всего диска целиком. Из этого в частности вытекает тот факт, что шифровать системный диск нельзя (система не сможет загрузиться), хранить важные данные в системных библиотеках типа «Мои документы» также нельзя (по умолчанию они располагаются на системном разделе).
Чтобы включить встроенное шифрование, проделайте следующее:

  1. Откройте Проводник, сделайте правый клик на шифруемом диске и выберите пункт «Включить BitLocker».
  2. Отметьте пункт «Использовать пароль для снятия блокировки диска», придумайте и дважды введите пароль, удовлетворяющий требованиям безопасности (длина не менее 8 символов, наличие строчных и прописных букв, желательно ввести хотя бы один спец$имвол) и нажмите кнопку «Далее». Второй вариант разблокировки в рамках этой заметки мы рассматривать не будем поскольку ридеры смарткарт довольно редки и используются в организациях, имеющих собственную службу информационной безопасности.
  3. На случай утери пароля система предлагает создать особый ключ восстановления. Его можно прикрепить к учетной записи Microsoft, сохранить в файл или просто напечатать на принтере. Выберите один из способов и после сохранения ключа нажмите «Далее». Этот ключ следует беречь от посторонних поскольку он, являясь страховкой от вашей забывчивости, может стать «задней дверью», через которую и утекут ваши данные.
  4. На следующем экране выберите, необходимо ли шифровать весь диск или только занятое место. Второй пункт медленнее, но более надежен.
  5. Выберите шифрующий алгоритм. Если не планируете миграцию диска между компьютерами, выбирайте более стойкий новейший режим, иначе — режим совместимости.
  6. После настройки параметров нажмите кнопку «Начать шифрование» После некоторого ожидания данные на вашем диске будут надежно зашифрованы.
  7. После выхода из системы или перезагрузки защищенный том станет недоступным, для того чтобы открыть файлы потребуется ввод пароля.

DiskCryptor

Второй рассматриваемой сегодня криптографической утилитой является DiskCryptor — бесплатное решение с открытым исходным кодом. Чтобы использовать его, воспользуйтесь следующей инструкцией:

  1. Скачайте установщик программы с официального сайта по ссылке . Запустите скачанный файл.
  2. Процесс установки предельно прост, заключается в нажатии несколько раз кнопки «Next» и итоговой перезагрузки компьютера.

  3. После перезагрузки запустите программу DiskCryptor из папки с программой или щелкнув по ярлыку на рабочем столе.
  4. В открывшемся окне кликните на шифруемый диск и нажмите кнопку «Encrypt».
  5. Следующим шагом выберите алгоритм шифрования и определитесь, нужно ли стереть с диска перед шифрованием все данные (если не планируете уничтожать информацию, обязательно выберите «None» в списке «Wipe Mode»).
  6. Введите дважды пароль дешифровки (рекомендуется придумать сложный пароль, чтобы в поле «Password Rating» было значение как минимум «High»). Потом нажмите «ОК».
  7. После некоторого ожидания диск будет зашифрован. После перезагрузки или выхода из системы для доступа к нему нужно будет запустить утилиту, нажать на кнопку «Mount» или «Mount All», ввести пароль и нажать «ОК».

Безусловным плюсом этой утилиты по сравнению с механизмом BitLocker является то, что использовать ее можно на системах, вышедших до Windows 8 (поддерживается даже снятая с поддержки Windows XP). Но DiskCryptor имеет и несколько существенных минусов:

  • не существует способов восстановления доступа к зашифрованной информации (если забыли пароль, то гарантированно потеряли свои данные);
  • поддерживается только разблокировка с помощью пароля, использование смарткарт или биометрических датчиков невозможно;
  • пожалуй самый большой недостаток использования DiskCryptor в том, что злоумышленник с административным доступом к системе сможет стандартными средствами отформатировать диск. Да, он доступа к данным не получит, но и вы их потеряете.

Резюмируя могу сказать, что если на компьютере установлена ОС начиная с Windows 8, то лучше использовать встроенный функционал.

Исследователи из Принстонского Университета обнаружили способ обхода шифрования жестких дисков, использующий свойство модулей оперативной памяти хранить информацию на протяжении короткого промежутка времени даже после прекращения подачи питания.

Предисловие

Так как для доступа к зашифрованному жесткому диску необходимо иметь ключ, а он, разумеется, хранится в RAM – все, что нужно, это получить физический доступ к ПК на несколько минут. После перезагрузки с внешнего жесткого диска или с USB Flash делается полный дамп памяти и в течение считанных минут из него извлекается ключ доступа.

Таким способом удается получить ключи шифрования (и полный доступ к жесткому диску), используемые программами BitLocker, FileVault и dm-crypt в операционных системах Windows Vista, Mac OS X и Linux, а также популярной свободно распространяемой системой шифрования жестких дисков TrueCrypt.

Важность данной работы заключается в том, что не существует ни одной простой методики защиты от данного способа взлома, кроме как отключение питания на достаточное для полного стирания данных время.

Наглядная демонстрация процесса представлена в видеоролике .

Аннотация

Вопреки устоявшемуся мнению, память DRAM, использующаяся в большинстве современных компьютеров, хранит в себе данные даже после отключения питания в течение нескольких секунд или минут, причём, это происходит при комнатной температуре и даже, в случае извлечения микросхемы из материнской платы. Этого времени оказывается вполне достаточно для снятия полного дампа оперативной памяти. Мы покажем, что данное явление позволяет злоумышленнику, имеющему физический доступ к системе, обойти функции ОС по защите данных о криптографических ключах. Мы покажем, как перезагрузка может использоваться для того, чтобы совершать успешные атаки на известные системы шифрования жёстких дисков, не используя каких-либо специализированных устройств или материалов. Мы экспериментально определим степень и вероятность сохранения остаточной намагниченности и покажем что время, за которое можно снять данные, может быть существенно увеличено при помощи простых приёмов. Так же будут предложены новые методы для поиска криптографических ключей в дампах памяти и исправления ошибок, связанных с потерей битов. Будет также рассказано о несколько способах уменьшения данных рисков, однако простого решения нам не известно.

Введение

Большинство экспертов исходят из того, что данные из оперативной памяти компьютера стираются практически мгновенно после отключения питания, или считают, что остаточные данные крайне сложно извлечь без использования специального оборудования. Мы покажем, что эти предположения некорректны. Обычная DRAM память теряет данные постепенно в течение нескольких секунд, даже при обычных температурах, а если даже микросхема памяти будет извлечена из материнской платы, данные сохранятся в ней на протяжении минут или даже часов, при условии хранения этой микросхемы при низких температурах. Остаточные данные могут быть восстановлены при помощи простых методов, которые требуют кратковременного физического доступа к компьютеру.

Мы покажем ряд атак, которые, используя эффекты остаточной намагниченности DRAM, позволят нам восстановить хранимые в памяти ключи шифрования. Это представляет собой реальную угрозу для пользователей ноутбуков, которые полагаются на системы шифрования жёсткого диска. Ведь в случае, если злоумышленник похитит ноутбук, в тот момент, когда зашифрованный диск подключён, он сможет провести одну из наших атак для доступа к содержимому, даже если сам ноутбук заблокирован или находится в спящем режиме. Мы это продемонстрируем, успешно атакуя несколько популярных систем шифрования, таких как – BitLocker, TrueCrypt и FileVault. Эти атаки должны быть успешны и в отношении других систем шифрования.

Хотя мы сосредоточили наши усилия на системах шифрования жёстких дисков, в случае физического доступа к компьютеру злоумышленника, любая важная информация хранящаяся в оперативной памяти может стать объектом для атаки. Вероятно, и многие другие системы безопасности уязвимы. Например, мы обнаружили, что Mac OS X оставляет пароли от учётных записей в памяти, откуда мы смоги их извлечь, так же мы совершили атаки на получение закрытых RSA ключей веб-сервера Apache.

Некоторые представители сообществ по информационной безопасности и физике полупроводников уже знали об эффекте остаточной намагниченности DRAM, об этом было очень мало информации. В итоге, многие, кто проектирует, разрабатывает или использует системы безопасности, просто незнакомы с этим явлением и как легко оно может быть использовано злоумышленником. Насколько нам известно, это первая подробная работа изучающие последствия данных явлений для информационной безопасности.

Атаки на зашифрованные диски

Шифрование жёстких дисков это известный способ защиты против хищения данных. Многие полагают, что системы шифрования жёстких дисков позволят защитить их данные, даже в том случае, если злоумышленник получил физических доступ к компьютеру (собственно для этого они и нужны, прим. ред.). Закон штата Калифорния, принятый в 2002 году, обязывает сообщать о возможных случаях раскрытия персональных данных, только в том случае, если данные не были зашифрованы, т.к. считается, что шифрование данных - это достаточная защитная мера. Хотя закон не описывает никаких конкретных технических решений, многие эксперты рекомендуют использовать системы шифрования жёстких дисков или разделов, что будет считаться достаточными мерами для защиты. Результаты нашего исследования показали, что вера в шифрование дисков необоснованна. Атакующий, далеко не самой высокой квалификации, может обойти многие широко используемые системы шифрования, в случае если ноутбук с данными похищен, в то время когда он был включён или находился в спящем режиме. И данные на ноутбуке могут быть прочитаны даже в том случае, когда они находятся на зашифрованном диске, поэтому использование систем шифрования жёстких дисков не является достаточной мерой.

Мы использовали несколько видов атак на известные системы шифрования жёстких дисков. Больше всего времени заняла установка зашифрованных дисков и проверка корректности обнаруженных ключей шифрования. Получение образа оперативной памяти и поиск ключей занимали всего несколько минут и были полностью автоматизированы. Есть основания полагать, что большинство систем шифрования жёстких дисков подвержены подобным атакам.

BitLocker

BitLocker – система, входящая в состав некоторых версий ОС Windows Vista. Она функционирует как драйвер работающий между файловой системой и драйвером жёсткого диска, шифруя и расшифровывая по требованию выбранные секторы. Используемые для шифрования ключи находятся в оперативной памяти до тех пор, пока зашифрованный диск подмантирован.

Для шифрования каждого сектора жёсткого диска BitLocker использует одну и ту же пару ключей созданных алгоритмом AES: ключ шифрования сектора и ключ шифрования, работающий в режиме сцепления зашифрованных блоков (CBC). Эти два ключа в свою очередь зашифрованы мастер ключом. Чтобы зашифровать сектор, проводится процедура двоичного сложения открытого текста с сеансовым ключом, созданным шифрованием байта смещения сектора ключом шифрования сектора. Потом, полученные данные обрабатываются двумя смешивающими функциями, которые используют разработанный Microsoft алгоритм Elephant. Эти безключевые функции используются с целью увеличения количества изменений всех битов шифра и, соответственно, увеличения неопределённости зашифрованных данных сектора. На последнем этапе, данные шифруются алгоритмом AES в режиме CBC, с использованием соответствующего ключа шифрования. Вектор инициализации определяется путём шифрования байта смещения сектора ключом шифрования, используемом в режиме CBC.

Нами была реализована полностью автоматизированная демонстрационная атака названная BitUnlocker. При этом используется внешний USB диск с ОС Linux и модифицированным загрузчиком на основе SYSLINUX и драйвер FUSE позволяющий подключить зашифрованные BitLocker диски в ОС Linux. На тестовом компьютере с работающей Windows Vista отключалось питание, подключался USB жёсткий диск, и с него происходила загрузка. После этого BitUnlocker автоматически делал дамп оперативной памяти на внешний диск, при помощи программы keyfind осуществлял поиск возможных ключей, опробовал все подходящие варианты (пары ключа шифрования сектора и ключа режима CBC), и в случае удачи подключал зашифрованный диск. Как только диск подключался, появлялась возможность с ним работать как с любым другим диском. На современном ноутбуке с 2 гигабайтами оперативной памяти процесс занимал около 25 минут.

Примечательно, что данную атаку стало возможным провести без реверс-инжиниринга какого-либо ПО. В документации Microsoft система BitLocker описана в достаточной степени, для понимания роли ключа шифрования сектора и ключа режима CBC и создания своей программы реализующей весь процесс.

Основное отличие BitLocker от других программ этого класса – это способ хранения ключей при отключённом зашифрованном диске. По умолчанию, в базовом режиме, BitLocker защищает мастер ключ только при помощи TPM модуля, который существует на многих современных ПК. Данный способ, который, по всей видимости, широко используется, особенно уязвим к нашей атаке, поскольку он позволяет получить ключи шифрования, даже если компьютер был выключен в течение долгого времени, поскольку, когда ПК загружается, ключи автоматически подгружаются в оперативную память (до появления окна входа в систему) без ввода каких-либо аутентификационных данных.

По всей видимости, специалисты Microsoft знакомы с данной проблемой и поэтому рекомендуют настроить BitLocker в улучшенный режим, где защита ключей осуществляется, не только при помощи TPM, но и паролем или ключом на внешнем USB носителе. Но, даже в таком режиме, система уязвима, если злоумышленник получит физический доступ к ПК в тот момент, когда он работает (он даже может быть заблокирован или находиться в спящем режиме, (состояния - просто выключен или hibernate в это случае считаются не подверженными данной атаке).

FileVault

Система FileVault от Apple была частично исследована и проведён реверс-инжиниринг. В Mac OS X 10.4 FileVault использует 128-битный ключ AES в режиме CBC. При введении пароля пользователя, расшифровывается заголовок, содержащий ключ AES и второй ключ K2, используемый для расчёта векторов инициализации. Вектор инициализации для I-того блока диска рассчитывается как HMAC-SHA1 K2(I).

Мы использовали нашу программу EFI для получения образов оперативной памяти для получения данных с компьютера Макинтош (базирующимся на процессоре Intel) с подключённым диском, зашифрованным FileVault. После этого программа keyfind безошибочно автоматически находила AES ключи FileVault.

Без вектора инициализации, но с полученным AES ключом появляется возможность расшифровать 4080 из 4096 байт каждого блока диска (всё кроме первого AES блока). Мы убедились, что инициализационный вектор так же находится в дампе. Предполагая, что данные не успели исказиться, атакующий может определить вектор, поочерёдно пробуя все 160-битовые строки в дампе и проверяя, могут ли они образовать возможный открытый текст, при их бинарном сложении с расшифрованной первой частью блока. Вместе, используя программы типа vilefault, AES ключи и инициализационный вектор позволяют полностью расшифровывать зашифрованный диск.

В процессе исследования FileVault, мы обнаружили, что Mac OS X 10.4 и 10.5 оставляют множественные копии пароля пользователя в памяти, где они уязвимы к данной атаке. Пароли учётных записей часто используются для защиты ключей, которые в свою очередь, могу использоваться для защиты ключевых фраз зашифрованных FileVault дисков.

TrueCrypt

TrueCrypt – популярная система шифрования с открытым кодом, работающая на ОС Windows, MacOS и Linux. Она поддерживает множество алгоритмов, включая AES, Serpent и Twofish. В 4-ой версии, все алгоритмы работали в режиме LRW; в текущей 5-ой версии, они используют режим XTS. TrueCrypt хранит ключ шифрования и tweak ключ в заголовке раздела на каждом диске, который зашифрован другим ключом получающимся из вводимого пользователем пароля.

Мы тестировали TrueCrypt 4.3a и 5.0a работающие под ОС Linux. Мы подключили диск, зашифрованный при помощи 256-битного AES ключа, потом отключили питание и использовали для загрузки собственное ПО для дампа памяти. В обоих случаях, keyfind обнаружила 256-битный неповреждённый ключ шифрования. Так же, в случае TrueCrypt 5.0.a, keyfind смогла восстановить tweak ключ режима XTS.

Чтобы расшифровать диски созданные TrueCrypt 4, необходим tweak ключ режима LRW. Мы обнаружили, что система хранит его в четырёх словах перед ключевым расписанием ключа AES. В нашем дампе, LRW ключ не был искажён. (В случае появления ошибок, мы все равно смогли бы восстановить ключ).

Dm-crypt

Ядро Linux, начиная с версии 2.6, включает в себя встроенную поддержку dm-crypt – подсистемы шифрования дисков. Dm-crypt использует множество алгоритмов и режимов, но, по умолчанию, она использует 128-битный шифр AES в режиме CBC с инициализационными векторами создаваемыми не на основе ключевой информации.

Мы тестировали созданный dm-crypt раздел, используя LUKS (Linux Unified Key Setup) ветку утилиты cryptsetup и ядро 2.6.20. Диск был зашифрован при помощи AES в режиме CBC. Мы ненадолго отключили питание и, используя модифицированный PXE загрузчик, сделали дамп памяти. Программа keyfind обнаружила корректный 128-битный AES ключ, который и был восстановлен без каких-либо ошибок. После его восстановления, злоумышленник может расшифровать и подключить раздел зашифрованный dm-crypt, модифицируя утилиту cryptsetup таким образом, чтобы она воспринимала ключи в необходимом формате.

Способы защиты и их ограничения

Реализация защиты от атак на оперативную память нетривиальна, поскольку используемые криптографические ключи необходимо где-либо хранить. Мы предлагаем сфокусировать усилия на уничтожении или скрытии ключей до того, как злоумышленник сможет получить физический доступ к ПК, предотвращая запуск ПО для дампа оперативной памяти, физически защищая микросхемы ОЗУ и по возможности снижая срок хранения данных в ОЗУ.

Перезапись памяти

Прежде всего, надо по-возможности избегать хранения ключей в ОЗУ. Необходимо перезаписывать ключевую информацию, если она больше не используется, и предотвращать копирование данных в файлы подкачки. Память должна очищаться заблаговременно средствами ОС или дополнительных библиотек. Естественно, эти меры не защитят используемые в данный момент ключи, поскольку они должны храниться в памяти, например такие ключи как, используемые для шифрованных дисков или на защищённых веб серверах.

Так же, ОЗУ должна очищаться в процессе загрузки. Некоторые ПК могут быть настроены таким образом, чтобы очищать ОЗУ при загрузке при помощи очищающего POST запроса (Power-on Self-Test) до того как загружать ОС. Если злоумышленник не сможет предотвратить выполнение данного запроса, то на данном ПК у него не будет возможности сделать дамп памяти с важной информацией. Но, у него всё ещё остаётся возможность вытащить микросхемы ОЗУ и вставить их в другой ПК с необходимыми ему настройками BIOS.

Ограничение загрузки из сети или со съёмных носителей

Многие наши атаки были реализованы с использованием загрузки по сети или со съёмного носителя. ПК должен быть настроен так, чтобы требовать пароль администратора для загрузки с этих источников. Но, необходимо отметить, что даже если система настроена на загрузку только с основного жёсткого диска, атакующий может сменить сам жёсткий диск, или во многих случаях, сбросить NVRAM компьютера для отката на первоначальные настройки BIOS.

Безопасный спящий режим

Результаты исследования показали, что простое блокирование рабочего стола ПК (т.е ОС продолжает работать, но, для того, чтобы с ней начать взаимодействие необходим ввод пароля) не защищает содержимое ОЗУ. Спящий режим не эффективен и в том случае, если ПК блокируется при возврате из спящего режима, поскольку злоумышленник может активировать возврат из спящего режима, после чего перезагрузить ноутбук и сделать дамп памяти. Режим hibernate (содержимое ОЗУ копируется на жёсткий диск) так же не поможет, кроме случаев использования ключевой информации на отчуждаемых носителях для восстановления нормального функционирования.

В большинстве систем шифрования жёстких дисков, пользователи могут защититься выключением ПК. (Система Bitlocker в базовом режиме работы TPM модуля остаётся уязвимой, поскольку диск будет подключен автоматически, когда ПК будет включён). Содержимое памяти может сохраняться в течение короткого периода после отключения, поэтому рекомендуется понаблюдать за своей рабочей станцией ещё в течение пары минут. Несмотря на свою эффективность, данная мера крайне неудобна в связи с долгой загрузкой рабочих станций.

Переход в спящий режим можно обезопасить следующими способами: требовать пароль или иной другой секрет чтобы «разбудить» рабочую станцию и шифровать содержимое памяти ключом производным от этого пароля. Пароль должен быть стойким, так как злоумышленник может сделать дамп памяти и после чего попробовать подобрать пароль перебором. Если же шифрование всей памяти невозможно, необходимо шифровать только те области, которые содержат ключевую информацию. Некоторые системы могут быть настроены таким образом, чтобы переходить в такой тип защищённого спящего режима, хотя это обычно и не является настройкой по умолчанию.

Отказ от предварительных вычислений

Наши исследования показали, что использование предварительных вычислений для того, чтобы ускорить криптографические операции делает ключевую информацию более уязвимой. Предварительные вычисления приводят к тому, что в памяти появляется избыточная информации о ключевых данных, что позволяет злоумышленнику восстановить ключи даже в случае наличия ошибок. Например, как описано в разделе 5, информация об итерационных ключах алгоритмов AES и DES крайне избыточна и полезна для атакующего.

Отказ от предварительных вычислений снизит производительность, поскольку потенциально сложные вычисления придётся повторять. Но, например, можно кэшировать предварительно высчитанные значения на определённый промежуток времени и стирать полученные данные, если они не используются в течение этого интервала. Такой подход представляет собой компромисс между безопасностью и производительностью системы.

Расширение ключей

Другой способ предотвратить восстановление ключей – это изменение ключевой информации, хранящейся в памяти, таким образом, чтобы усложнить восстановление ключа из-за различных ошибок. Этот метод был рассмотрен в теории, где была показана функция, стойкая к раскрытию, чьи входные данные остаются сокрытыми, даже если практически все выходные данные были обнаружены, что очень похоже на работу однонаправленных функций.

На практике, представьте, что у нас есть 256-битный AES ключ K, который в данный момент не используется, но понадобится позднее. Мы не можем перезаписать его, но мы хотим сделать его стойким к попыткам восстановления. Один из способов добиться этого – это выделить большую B-битную область данных, заполнить её случайными данными R, после чего хранить в памяти результат следующего преобразования K+H(R) (суммирование двоичное, прим. ред.), где H – это хэш функция, например SHA-256.

Теперь представьте, что электричество было отключено, это приведёт к тому, что d бит в данной области будут изменены. Если хэш функция стойкая, при попытке восстановления ключа K, злоумышленник может рассчитывать только на то, что он сможет угадать какие биты области B были изменены из приблизительно половины, которые могли изменится. Если d бит были изменены, злоумышленнику придётся провести поиск области размером (B/2+d)/d чтобы найти корректные значения R и уже после этого восстановить ключ K. Если область B велика, такой поиск может быть очень долог, даже если d относительно мала.

Теоретически, таким способом можно хранить все ключи, рассчитывая каждый ключ, только когда это нам необходимо, и удаляя его, когда он нам не нужен. Таким образом, применяя вышеописанный метод, мы может хранить ключи в памяти.

Физическая защита

Некоторые из наших атак основывались на наличии физического доступа к микросхемам памяти. Такие атаки могут быть предотвращены физической защитой памяти. Например, модули памяти находиться в закрытом корпусе ПК, или залиты эпоксидным клеем, чтобы предотвратить попытки их извлечения или доступа к ним. Так же, можно реализовать затирание памяти как ответную реакцию на низкие температуры или попытки открыть корпус. Такой способ потребует установки датчиков с независимой системой питания. Многие из таких способов связаны с аппаратурой, защищённой от несанкционированного вмешательства (например, сопроцессор IBM 4758) и могут сильно повысить стоимость рабочей станции. С другой стороны, использование памяти, припаянной к материнской плате, обойдётся гораздо дешевле.

Изменение архитектуры

Можно изменить архитектуру ПК. Что невозможно для уже используемых ПК, зато позволит обезопасить новые.

Первый подход заключается в том, чтобы спроектировать DRAM модули таким образом, чтобы они быстрее стирали все данные. Это может быть непросто, поскольку цель как можно более быстрого стирания данных, противоречит другой цели, чтобы данные не пропадали между периодами обновления памяти.

Другой подход заключается в добавлении аппаратуры хранения ключевой информации, которая бы гарантированно стирала всю информацию со своих хранилищ при запуске, перезапуске и выключении. Таким образом, мы получим надёжное место для хранения нескольких ключей, хотя уязвимость, связанная с их предварительными вычислениями останется.

Другие эксперты предложили архитектуру, в рамках которой содержимое памяти будет постоянно шифроваться. Если, вдобавок к этому, реализовать стирание ключей при перезагрузке и отключении электричества, то данный способ обеспечит достаточную защищённость от описанных нами атак.

Доверенные вычисления

Аппаратура, соответствующая концепции «доверенных вычислений», например, в виде TPM модулей уже используется в некоторых ПК. Несмотря на свою полезность в защите от некоторых атак, в своей нынешней форме такое оборудование не помогает предотвратить описанные нами атаки.

Используемые TPM модули не реализуют полное шифрование. Вместо этого, они наблюдают за процессом загрузки для принятия решения о том, безопасно ли загружать ключ в ОЗУ или нет. Если ПО необходимо использовать ключ, то можно реализовать следующую технологию: ключ, в пригодной для использования форме не будет храниться в ОЗУ, до тех пор пока процесс загрузки не пройдёт по ожидаемому сценарию. Но, как только ключ оказывается в оперативной памяти – он сразу становиться мишенью для наших атак. TPM модули могут предотвратить загрузку ключа в память, но они не предотвращают его считывание из памяти.

Выводы

Вопреки популярному мнению, модули DRAM в отключённом состоянии хранят данные в течение относительно долгого времени. Наши эксперименты показали, что данное явление позволяет реализовать целый класс атак, которые позволяют получить важные данные, такие как ключи шифрования из оперативной памяти, несмотря на попытки ОС защитить её содержимое. Описанные нами атаки реализуемы на практике, и наши примеры атак на популярные системы шифрования доказывают это.

Но и другие виды ПО также уязвимы. Системы управления цифровыми правами (DRM) часто используют симметричные ключи, хранящиеся в памяти, и их так же можно получить, используя описанные методы. Как мы показали, веб-сервера с поддержкой SSL тоже уязвимы, поскольку они хранят в памяти закрытые ключи необходимые для создания SSL сеансов. Наши способы поиска ключевой информации, скорее всего, будут эффективны для поиска паролей, номеров счетов и любой другой важной информации, хранящейся в ОЗУ.

Похоже что нет простого способа устранить найденные уязвимости. Изменение ПО скорее всего не будет эффективным; аппаратные изменения помогут, но временные и ресурсные затраты будут велики; технология «доверенных вычислений» в её сегодняшней форме так же мало эффективна, поскольку она не может защитить ключи находящиеся в памяти.

По нашему мнению, больше всего данному риску подвержены ноутбуки, которые часто находятся в общественных местах и функционируют в режимах уязвимых для данных атак. Наличие таких рисков, показывает, что шифрование дисков осуществляет защиту важных данных в меньшей степени, чем принято считать.

В итоге, возможно, придётся рассматривать DRAM память как не доверенную компоненту современного ПК, и избегать обработки важной конфиденциальной информации в ней. Но на данный момент это нецелесообразно, до тех пор, пока архитектура современных ПК не изменится, чтобы позволить ПО хранить ключи в безопасном месте.