Статьи по ключевому слову ‘EDPR’

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

Как устроено шифрование диска

Для шифрования диска BitLocker последовательно использует несколько разных ключей, каждый из которых служит своей цели.

В документации Microsoft описано, что данные на диске шифруются специальным ключом, который называется полным ключом шифрования тома. Этот ключ, в свою очередь, шифруется основным ключом тома. Уже основной ключ тома будет зашифрован при помощи одного из нескольких возможных методов в зависимости от типа протектора (двоичного ключа, пароля или модуля TPM).

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

Что происходит, если защита BitLocker приостанавливается или пользователь отключает защиту, решив «расшифровать» диск? В этом случае данные физически не расшифровываются и не перезаписываются; однако система сохраняет в незащищённом виде ключ, которым шифруется основной ключ тома.

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

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

Где хранятся все эти ключи? Полный ключ тома, защищённый основным ключом тома, хранится в заголовке контейнера (и двух дополнительных местах на диске) в зашифрованном виде. Это хранилище мы называем метаданными шифрования, и именно эти данные извлекают продукты Elcomsoft Forensic Disk Decryptor и Elcomsoft System Recovery для последующих атак. Основной ключ тома, зашифрованный паролем или другим протектором, сохраняется в них же. А вот протектор (пароль пользователя, данные модуля TPM, двоичный ключ или сертификат) в составе контейнера не хранятся: именно эти данные будут использованы для расшифровки цепочки ключей и, соответственно, данных на диске.

Методы защиты

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

Во-первых, определим, есть ли в системе зашифрованные диски в принципе. Рекомендуем воспользоваться нашим бесплатным инструментом Elcomsoft Encrypted Disk Hunter для определения зашифрованных дисков.

Если найден зашифрованный том, то в Windows тип протектора тома можно определить, запустив следующую команду (зашифрованный том должен быть смонтирован):

manage-bde -protectors -get X:

Здесь X: — буква тома.

Если же в вашем распоряжении только диск или его образ, то используйте Elcomsoft Forensic Disk Decryptor для извлечения метаданных шифрования и Elcomsoft Distributed Password Recovery для попытки атаки.

Итак, рассмотрим возможные типы протекторов.

TPM

Аппаратные модули TPM часто используются в портативных компьютерах – ноутбуках, планшетах и устройствах 2-в-1. При использовании защиты TPM Windows загрузится до запроса входа в систему. Основной ключ тома будет расшифрован с помощью корневого ключа хранилища, который хранится в модуле TPM (или Intel PTT). Ключ будет выдан наружу в том и только в том случае, если система проходит проверку безопасной загрузки. Этот вариант совершенно прозрачен для пользователя: многие даже не подозревают, что их ноутбук или планшет зашифрован.

Векторы атаки: ввиду отсутствия пароля шифрования для доступа к тому, защищённому аппаратным модулем TPM, используйте одну из следующих стратегий.

  1. Ключ восстановления доступа BitLocker. Windows автоматически создаёт ключ восстановления при шифровании BitLocker Device Protection; такие ключи восстановления автоматически загружаются в учётную запись Microsoft Account первого пользователя компьютера, который вошёл в систему с административными привилегиями. Вы можете запросить этот ключ у Microsoft или загрузить его, войдя в учётную запись Microsoft и перейдя по следующей ссылке: https://account.microsoft.com/devices/recoverykey
  2. Дополнительные варианты. Ключ восстановления доступа может храниться в других местах – например, в Active Directory: Где найти ключ восстановления BitLocker?
  3. Атака методом холодной загрузки. BitLocker в конфигурации по умолчанию использует доверенный платформенный модуль TPM (если таковой установлен), которому для расшифровки диска не требуется ни пин-код, ни внешний ключ. Когда операционная система загружается, BitLocker извлекает ключ из TPM без какого-либо взаимодействия с пользователем. Следовательно, можно просто включить машину, подождать, пока операционная система начнёт загрузку, а затем выполнить атаку методом холодной загрузки для извлечения ключа из оперативной памяти компьютера. Обратите внимание, что эта атака недоступна, если в дополнение к TPM использовался пароль или ключ.Что такое атака методом холодной загрузки? Это технически сложный вид атаки, в процессе которого производится заморозка чипов памяти жидким азотом или сжатым воздухом, после которой питание компьютера отключается, а модули памяти физически извлекаются (или производится загрузка с USB-накопителя) с целью доступа к содержимому оперативной памяти и поиска ключей шифрования. Помимо исключительной технической сложности этого типа атаки, у него есть и ещё один недостаток: он работает только с компьютерами, модули памяти в которых не распаяны (т.е. их физически можно извлечь).
  4. Образ оперативной памяти. Если у вас есть доступ к компьютеру пользователя и вы можете войти в систему или получить дамп памяти с помощью атаки через интерфейс FireWire/Thunderbolt, то можно извлечь получить ключи шифрования непосредственно из оперативной памяти компьютера. В состав Elcomsoft Forensic Disk Decryptor входит как утилита для снятия образа оперативной памяти, так и инструмент для его анализа с целью поиска ключей шифрования.

TPM + ПИН

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

Векторы атаки: Режим TPM+ПИН – интерактивный: от пользователя требуется ввести ПИН-код, причём именно на том компьютере, на котором использовался зашифрованный диск. Сам по себе ПИН-код не используется для шифрования; он нужен для того, чтобы аппаратный модуль TPM выдал системе необходимый ключ. Перебор ПИН-кодов опасен: в зависимости от производителя и настроек модуля перебор может привести как к блокировке модуля TPM, так и к уничтожению ключа шифрования.

  1. Ключ восстановления доступа BitLocker. Windows автоматически создаёт ключ восстановления при шифровании BitLocker Device Protection; такие ключи восстановления автоматически загружаются в учётную запись Microsoft Account первого пользователя компьютера, который вошёл в систему с административными привилегиями. Вы можете запросить этот ключ у Microsoft или загрузить его, войдя в учётную запись Microsoft и перейдя по следующей ссылке: https://account.microsoft.com/devices/recoverykey
  2. Атака методом холодной загрузки сработает лишь в том случае, если вам известен ПИН-код. В противном случае система не загрузится, а ключ шифрования не попадёт в оперативную память.
  3. Образ оперативной памяти. Сработает только в том случае, если компьютер уже загружен. Используйте Elcomsoft Forensic Disk Decryptor для снятия образа оперативной памяти и его анализа с целью поиска ключей шифрования.

TPM + USB

Этот вариант для загрузки системы требует присутствия как TPM, так и USB-накопителя (или смарт-карты CCID). Это нестандартная, но возможная конфигурация.

Векторы атаки: Режим TPM+USB требует наличия файла с ключом на USB-накопителе. Соответственно, вам потребуется доступ к этому накопителю (а точнее, к ключу на нём).

  1. Ключ восстановления доступа BitLocker. Никаких различий с предыдущим протектором.
  2. Атака методом холодной загрузки сработает лишь в том случае, если в наличии есть USB накопитель с ключом. В противном случае система не загрузится, а ключ шифрования не попадёт в оперативную память.
  3. Образ оперативной памяти. Сработает только в том случае, если компьютер уже загружен. Используйте Elcomsoft Forensic Disk Decryptor для снятия образа оперативной памяти и его анализа с целью поиска ключей шифрования.

TPM + ПИН + USB

Довольно редкая реализация «параноидальной» защиты, комбинирующая два предыдущих метода. Уже из названия очевидно, что для загрузки системы потребуется и модуль TPM, и ввод ПИН-кода, и наличие USB накопителя с ключом.

Векторы атаки: Режим TPM+USB требует наличия файла с ключом на USB-накопителе и ввода ПИН-кода в дополнение к аппаратному модулю TPM. Соответственно, для доступа к данным вам потребуется всё вышеперечисленное.

  1. Ключ восстановления доступа BitLocker. Никаких различий с предыдущим протектором.
  2. Атака методом холодной загрузки сработает лишь в том случае, если в наличии есть USB накопитель с ключом, а ПИН-код вам известен. В противном случае система не загрузится, а ключ шифрования не попадёт в оперативную память.
  3. Образ оперативной памяти. Сработает только в том случае, если компьютер уже загружен. Используйте Elcomsoft Forensic Disk Decryptor для снятия образа оперативной памяти и его анализа с целью поиска ключей шифрования.

USB

Переходим от сложного – к простому. Вариант с ключом на USB накопителе гораздо проще взломать по сравнению с использованием модулей TPM. Для расшифровки диска вам понадобится только USB накопитель с ключом.

Векторы атаки: Пароля по-прежнему нет; для расшифровки диска нужен накопитель с ключом.

  1. Ключ восстановления доступа BitLocker. Никаких различий с предыдущим протектором.
  2. Атака методом холодной загрузки в данной ситуации лишена смысла. С одной стороны, атака сработает лишь в том случае, если в наличии есть USB накопитель с ключом. С другой — если в нашем распоряжении есть накопитель с ключом, то смонтировать зашифрованный раздел можно гораздо проще.
  3. Образ оперативной памяти. Сработает только в том случае, если компьютер уже загружен. Используйте Elcomsoft Forensic Disk Decryptor для снятия образа оперативной памяти и его анализа с целью поиска ключей шифрования.

Только пароль

Наконец, мы подошли к единственному протектору, который можно взломать методом полного перебора. Протектор «только пароль» защищает ключ исключительно паролем пользователя – который можно подобрать при помощи Elcomsoft Distributed Password Recovery. Более того, атаку можно проводить на другом компьютере как на сам диск, так и на его образ – модуль TPM в данной схеме не участвует, поэтому никаких ограничений на количество попыток или скорость перебора нет.

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

  1. Ключ восстановления доступа BitLocker. Никаких различий с предыдущим протектором.
  2. Атака методом холодной загрузки так же, как и в предыдущем случае, лишена смысла. С одной стороны, атака сработает лишь в том случае, если вы уже знаете пароль от зашифрованного тома. С другой — если вы знаете пароль, то и атака не нужна.
  3. Образ оперативной памяти. Сработает только в том случае, если компьютер уже загружен. Используйте Elcomsoft Forensic Disk Decryptor для снятия образа оперативной памяти и его анализа с целью поиска ключей шифрования.
  4. Перебор паролей. Используйте Elcomsoft Forensic Disk Decryptor для извлечения метаданных шифрования из самого диска или его образа. Метаданные шифрования откройте в Elcomsoft Distributed Password Recovery для настройки атаки. Вы также можете использовать Elcomsoft System Recovery для загрузки компьютера пользователя с USB накопителя с целью извлечения метаданных шифрования без разборки компьютера и извлечения самого диска.

Когда пароля нет

Если пароль не установлен или если пароль используется совместно с другим типом протектора, пытаться его подобрать – занятие бессмысленное. Даже если вы извлекли метаданные шифрования и загрузили их в Elcomsoft Distributed Password Recovery, вы не сможете запустить атаку: продукт выдаст сообщение о несовместимом типе протектора. Именно таким образом обычно и развиваются события в случаях, когда в деле фигурирует модуль аппаратной защиты TPM. Запомним: атака на пароль в случае, если том BitLocker зашифрован с протектором типа TPM, бессмысленна; расшифровать такой диск можно либо депонированным ключом (например, извлечённым из хранилища OneDrive в учётной записи пользователя Microsoft Account), либо ключом, который извлекается из оперативной памяти загруженного компьютера пользователя. Об этом – подробнее.

Что произойдёт, если мы имеем дело не с отдельным диском и не с его образом, а с уже загруженным компьютером, на котором смонтирован зашифрованный том BitLocker? В этом случае присутствует ещё один ключ, наличие которого не упоминается в документации. Этот ключ хранится в оперативной памяти компьютера и используется драйвером BitLocker для реализации «прозрачного» потокового шифрования. Подобным образом работают все утилиты шифрования диска, но если в некоторых сторонних решениях (например, VeraCrypt) пользователь может включить обфускацию этого ключа, что затрудняет его извлечение из оперативной памяти, то BitLocker не делает попыток «спрятать» ключ. Соответственно, при помощи специальных инструментов (таких как Elcomsoft Forensic Disk Decryptor) этот ключ можно извлечь из образа оперативной памяти, файла подкачки или файла гибернации (впрочем, если зашифрован системный том, то и эти файлы будут зашифрованы; остаётся лишь образ оперативной памяти). Извлечённый таким образом ключ можно использовать для мгновенного монтирования или расшифровки защищённого тома.

Ваши действия:

  • На компьютере пользователя запустите Elcomsoft Forensic Disk Decryptor.
  • Создайте образ оперативной памяти.
  • Откройте его в Elcomsoft Forensic Disk Decryptor на своём компьютере и осуществите поиск ключей BitLocker.
  • Если ключи найдены, создайте образ зашифрованного диска и используйте Elcomsoft Forensic Disk Decryptor для его монтирования или расшифровки.

Практические шаги

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

Шаг 1.1: Извлечение метаданных шифрования BitLocker при помощи Elcomsoft Forensic Disk Decryptor

Используйте Elcomsoft Distributed Password Recovery для сохранения метаданных шифрования в файл.

  1. Запустите Elcomsoft Forensic Disk Decryptor.
  2. Выберите опцию «Extract/prepare data for further password recovery«.
  3. Откройте образ диска или сам диск (в примере ниже мы использовали физический жёсткий диск).
  4.  EFDD отобразит список зашифрованных томов. Выберите один из них.
  5. Нажмите Next для сохранения метаданных шифрования.

Важно: Подобрать пароль можно в том и только в том случае, если используется протектор «только пароль». Все остальные протекторы (с участием TPM, ключей или сертификатов) такой атаке не поддаются. Чтобы сэкономить ваше время, EFDD предупредит о подобных ситуациях:

Если такое произойдёт, используйте альтернативный вектор атаки.

Шаг 1.2: Извлечение метаданных шифрования BitLocker посредством Elcomsoft System Recovery

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

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

  1. Установите Elcomsoft System Recovery на ваш компьютер (не на компьютер подозреваемого!)
  2. Создайте загрузочный накопитель. Обязательно укажите правильную конфигурацию целевой системы (BIOS или UEFI, 32-разрядная или 64-разрядная). Как правило, имеет смысл использовать быстрый USB-накопитель объёмом не менее 32 ГБ. Инструкция по созданию загрузочной флешки находится здесь.
  3. Загрузите с созданного накопителя компьютер, с которого нужно извлечь метаданные.
  4. Elcomsoft System Recovery запустится автоматически. Выберите пункт Disk tools.
  5. Выберите пункт Drive encryption keys.
  6. Elcomsoft System Recovery выведет список найденных разделов.
  7. Выберите зашифрованный том.
  8. Метаданные шифрования сохранятся на USB накопителе. Перенесите созданные файлы в Elcomsoft Distributed Password Recovery для настройки атаки.

Внимание: Подобрать пароль можно в том и только в том случае, если используется протектор «только пароль». Все остальные протекторы (с участием TPM, ключей или сертификатов) такой атаке не поддаются. Чтобы сэкономить ваше время, ESR предупредит о подобных ситуациях:

Шаг 2: восстановление оригинального пароля к тому в Elcomsoft Distributed Password Recovery

Чтобы восстановить пароль к тому, проделайте следующие шаги.

  1. Запустите Elcomsoft Distributed Password Recovery
  2. Откройте метаданные шифрования, сохранённые на предыдущем шаге.
  3. Настройте и запустите атаку.

Хотя эти три шага кажутся простыми, выполнение атаки методом полного перебора — один из наименее эффективных способов взломать шифрование BitLocker. Мы настоятельно рекомендуем настроить интеллектуальную атаку на основе шаблонов, которые можно определить, проанализировав существующие пароли пользователя. Эти пароли можно извлечь из учётной записи пользователя Google, Связки ключей macOS, iOS или iCloud, учётной записи Microsoft или непосредственно с компьютера пользователя. Существующие пароли пользователя подсказывают, какие группы символов могут быть использованы:

Elcomsoft Distributed Password Recovery предлагает ряд опций с использованием самых распространённых вариаций, например, Password1, password1967 или pa$$w0rd:

Если в паролях пользователя есть что-то общее, можно использовать маски:

Наконец, можно использовать методы, при помощи которых варианты паролей можно составлять с использованием до двух словарей и скриптовых правил:

Tally ERP 9 – аналог системы 1С: Предприятие, разработанный и получивший широкое распространение в Индии. Производитель описывает продукт как «программное обеспечение для управления бизнесом нового поколения для бизнеса нового поколения», которое, снова процитирую создателей, «создано для наслаждения». В сегодняшней статье мы ознакомимся с особенностями шифрования данных в Tally ERP 9 и расскажем о том, как разрабатывался способ вскрытия защиты.

О продукте Tally ERP 9

Tally ERP 9 – популярный в Индии программный продукт с более чем двумя миллионами пользователей. С учётом размера целевой аудитории программы, Tally – одно из самых популярных решений такого рода в Индии.

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

Каким образом обычно поступают производители программного обеспечения, в котором нужно обеспечить безопасность данных пользователя? В подавляющем большинстве случаев используется симметричное шифрование. В качестве алгоритма выбирается стандартный AES с ключом длиной 128, 192 или 256 бит. AES – отличный выбор: он проверен временем, а набор процессорных инструкций AES-NI, доступный во всех процессорах Intel, позволяет достичь совершенно избыточных скоростей шифрования.

Для шифрования данных используется ключ Media Encryption Key (MEK). Как правило, этот ключ – совершенно случайная двоичная последовательность, которая создаётся одним из стандартных алгоритмов генерации случайных чисел. Уже этот ключ будет зашифрован ключом шифрования ключа шифрования Key Encryption Key (KEK). KEK, в свою очередь, генерируется на основе комбинации пароля пользователя и соли посредством одной из стандартных хеш-функций (чаще всего это SHA-1, SHA-256 или SHA-512, но нам попадались и другие варианты). Стойкость алгоритма усиливается увеличением числа итераций хеш-функции; нам попадались варианты от 10,000 итераций (это очень быстрый перебор) до миллиона (соответственно, перебор очень медленный) включительно. Таким образом, для того, чтобы добавить поддержку нового формата защиты, нам нужно просто определить, каким именно алгоритмом шифрования воспользовался производитель и восстановить функцию преобразования ключа (определить алгоритм хеширования, число итераций и место в файле, куда сохраняется соль).

Шифрование Tally Vault

В состав Tally ERP 9 входит реализация безопасного хранилища под названием Tally Vault. Шифрование в ERP 9 – опциональное; пароль задавать пользователю не обязательно. Пароль хранилища можно задать как при создании компании, так и в любой момент после этого:

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

Данные в последних версиях Tally ERP 9 по умолчанию сохраняются в c:\Users\Public\Tally.ERP9\Data\(1nnnn)

Зашифрованы будут все файлы с расширением .900, размер которых превышает 512 байт. Основной файл хранилища – Company.900. В этом файле сохраняется информация о пользователях, если включена опция “Use security control”. Так выглядит этот файл в hex-редакторе до шифрования:

А так – после:

Формат файла

Файл логически разбит на секторы (страницы) по 512 байт. В начале каждой страницы записаны 4 байта контрольной суммы (CRC). При проверке блока на целостность вычисляется контрольная сумма остальных (512-4) байт и сравнивается с первыми четырьмя байтами.

Ключ шифрования

Ключ шифрования получается из пароля напрямую; никакой соли, а тем более – разделения на Media Encryption Key и Key Encryption Key, здесь нет.

Интересен и выбор алгоритма шифрования. Разработчики Tally Vault решили не полагаться на существующие криптографические преобразования и создали свой собственный вариант, настоящий кошмар криптографа. Все существующие алгоритмы хеширования без исключений гарантируют, что изменение всего одного бита в хешируемой последовательности приведёт к полному изменению всей контрольной суммы. Индийским разработчикам удалось сделать невероятное: они создали хеш-функцию, в которой при небольшом изменении пароля результат тоже меняется очень незначительно. Более того, у нас создалось впечатление, что при определённых условиях этот хеш можно обратить, получив из него оригинальный пароль (разумеется, если энтропия пароля не превышает энтропии его контрольной суммы). Вишенка на торте: преобразование применяется ровно один раз.

К примеру, вот так выглядят ключи шифрования на основе паролей, в которых попарно различается один символ:

Пароль Ключ
pwd1 0x653C68AC 0x4BA84BA8 (ac 68 3c 65 a8 4b a8 4b)
pwd2 0x653C69A7 0x4BA84BA8 (a7 69 3c 65 a8 4b a8 4b)
password1 0x74258DD3 0x57CE36D7 (d3 8d 25 74 d7 36 ce 57)
password2 0x90A78DD3 0xB34C36D7 (d3 8d a7 90 d7 36 4c b3)
password12345678 0xC6C57C3D 0xE52EC739 (3d 7c c5 c6 39 c7 2e e5)
password12345679 0xC6C51936 0xE52EA232 (36 19 c5 c6 32 a2 2e e5)
qwertyui123456789 0xD15D72DD 0x06309E8D (dd 72 5d d1 8d 9e 30 06)
qwertyuj123456789 0xD15D4D77 0x0630A127 (77 4d 5d d1 27 a1 30 06)

 

Алгоритм шифрования

Страницы шифруются алгоритмом, принцип работы которого сильно напоминает обычный DES. Для шифрования используется 64-битный ключ (который в процессе работы разворачивается в расширенный 128-битный, как и у «настоящего» DES). Шифрование блочное, размер блока – привычные для алгоритма DES 64 бита. Алгоритм используется в режиме CBC с первоначальной инициализацией IV нулями. Напомню, DES (Data Encryption Standard) — алгоритм симметричного шифрования, утверждённый правительством США в 1977 году в качестве официального стандарта. В 2001 от использования DES отказались; ему на смену пришёл привычный нам алгоритм AES. Что заставило индийских разработчиков взять за основу принципы работы именно этого давно устаревшего алгоритма – для нас загадка.

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

Проверка пароля

В коде Tally Vault проверка пароля осуществляется путём расшифровки страницы (всех 512-4 байт), вычисления её контрольной суммы (CRC) и её сравнения со значением, записанным в начале страницы. По замыслу разработчиков, для расшифровки всей страницы и полной проверки пароля потребуется расшифровать 64 блока по 8 байт (64 бита). Однако в данном случае дьявол кроется в деталях, и для проверки пароля вычислять контрольную сумму всей страницы совершенно не обязательно.

Вернёмся к первому скриншоту:

В начале каждой страницы есть некая служебная информация, содержимое которой фиксировано или может быть известно заранее. Например, сразу после CRC, по смещению 4, находится 32-битная фиксированная последовательность DWORD 0x00000001. Назначение этой последовательности нам неизвестно; предположительно, это флаг страницы данных. Соответственно, для ускорения проверки правильности пароля в процессе перебора можно прервать расшифровку страницы сразу после первого блока, если содержимое этих 32-бит байтах не 0x00000001. Разумеется, 32 бита данных гарантированно дадут некоторое число коллизий, которые потенциально приведут к ложным срабатываниям. Поэтому в случаях, когда значение расшифрованных очередным ключом 32 бита данных совпало со значением 0x00000001, мы проведём расшифровку блока до конца, вычислим CRC и сравним контрольную сумму со значением, записанным в первых 4 байтах страницы. Однако количество таких коллизий будет порядка 1 к 4 миллиардам, что практически не влияет на скорость перебора паролей.

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

Результат

Вооружившись знанием об использованных алгоритмах хеширования и шифрования, мы разработали две версии плагина для Elcomsoft Distributed Password Recovery. В первой версии плагина реализована «лобовая» атака, в которой правильность пароля проверяется именно так, как задумали индийские разработчики. Во второй – для проверки используется константа в первом зашифрованном блоке. Как и ожидалось, разница в скорости впечатляет.

Сравнение скорости на двух CPU:

Скорость (п/с) При полной расшифровке страницы При проверке константы в первом блоке

(используется в EDPR)

Intel Core i7 6700 170 000 5 400 000
Intel Core i7 9700K 345 000 11 400 000

 

11 миллионов паролей в секунду на одном процессоре, без использования GPU – много это или мало? Для сравнения, скорость атаки на CPU для документов в формате .docx, созданных в Microsoft Office 2016, составляет порядка 40 паролей в секунду, OpenOffice — 9000. Скорость атаки на контейнеры VeraCrypt – чуть больше 1 пароля в секунду. Атака на резервные копии iTunes – порядка 1 пароля в 10 секунд. Архивы RAR – порядка 64 паролей в секунду, 7zip – около 25.

Взлом

Для взлома паролей Tally Vault воспользуемся Elcomsoft Distributed Password Recovery с соответствующим плагином. Для проведения атаки откроем файл Company.900:

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

Пароль обнаружился менее, чем за секунду:

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

Как было бы правильно

Как можно было бы реализовать шифрование правильным образом? В данном случае достаточно было бы сделать «как все», а именно:

  1. В качестве алгоритма шифрования использовать стандартный AES с длиной ключа 256 бит.
  2. Для шифрования данных использовать ключ Media Encryption Key (MEK), созданный криптографически стойким генератором случайных чисел.
  3. MEK сохранять в зашифрованном виде. Шифрование этого ключа осуществлять при помощи дополнительного ключа Key Encryption Key (KEK).
  4. Key Encryption Key вычислять посредством одной из готовых KDF (Key Derivation Function), использующих многочисленные (порядка сотен тысяч) итерации хеш-функции SHA-256 или SHA-512 на основе пароля пользователя и соли.

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

Заключение

Tally ERP 9 полностью оправдал заявку маркетологов «создано для наслаждения». Мы получили редкое удовольствие, создавая атаку на данные Tally Vault, словно вернувшись на 20 лет назад во времена слабой, зарегулированной экспортными ограничениями защиты.

Что же касается самого Tally Vault, то разработчики совершили все возможные и невозможные ошибки. Мы не смогли найти ни одного аспекта защиты, который был бы реализован на уровне хотя бы школьника-энтузиаста. Беспросветно плохо здесь абсолютно всё. Здесь и прямое преобразование пароля в ключ шифрования, и пренебрежение солью, и единственная итерация доморощенного (и безграмотно реализованного) алгоритма хеширования. Использование алгоритма на основе DES более чем 40-летней давности в комбинации с коротким ключом шифрования делают возможной атаку на ключ (а не на пароль), и только отсутствие спроса защищает продукт от полного рефакторинга. Исправить эти алгоритмы принципиально невозможно, можно лишь сделать заново.

Впрочем, здесь тот случай, когда и «сделать заново», вероятно, не поможет. Фиксированные данные, находящиеся в самом начале страницы данных, позволяют ограничиться расшифровкой единственного 64-битного блока, что более чем в 30 раз ускоряет проверку. Нам же остаётся порадоваться очередному установленному рекорду: более 11 миллионов паролей в секунду на единственном CPU, без использования даже аппаратного ускорения – наш абсолютный рекорд за всё время работы.

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

Зашифрованные диски

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

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

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

Как обнаружить зашифрованные диски

С точки зрения пользователя смонтированный зашифрованный диск ничем не отличается от обычного диска. Тем не менее, при выключении компьютера зашифрованный диск, как правило, размонтируется, и при следующем включении пользователю придётся или ввести пароль, или авторизоваться в системе (так работает, в частности, шифрование BitLocker с ключом, который защищается посредством аппаратного модуля TPM или Intel PTT; пароля в классическом смысле слова у таких дисков нет, поэтому и любые атаки на данные из образа диска будут совершенно бесполезны).

Отличить зашифрованный диск от незашифрованного «на глазок» достаточно сложно. С одной стороны, можно проанализировать настройки системы — например, приложение BitLocker в Панели управления Windows. С другой — продвинутые преступники часто используют более серьёзное шифрование, например — вложенный контейнер TrueCrypt (кстати, использование вложенного контейнера позволит подозреваемому отрицать сам факт наличия улик, выдав вместо пароля от вложенного контейнера пароль от «обёртки», в которой не будет содержаться ничего инкриминирующего).

Определить наличие зашифрованных дисков поможет бесплатная утилита командной строки Elcomsoft Encrypted Disk Hunter.

Elcomsoft Encrypted Disk Hunter — это бесплатный портативный инструмент, который поможет быстро обнаружить наличие зашифрованных дисков. Для анализа системы достаточно запустить утилиту с USB накопителя; список подключённых устройств и зашифрованных дисков выводится автоматически. Инструмент может обнаруживать зашифрованные диски TrueCrypt/VeraCrypt, BitLocker, PGP WDE, FileVault2 и LUKS (только первой версии). Справедливости рады, вам вряд ли встретятся диски с шифрованием FIleVault2 и LUKS, подключённые к компьютеру с Windows (наша утилита работает только в этой ОС). Их поддержку мы включили для тех редких случаев, когда они могут вам понадобиться.

Что делать, если на компьютере пользователя запущена macOS или Linux? В этом случае вам поможет другой, загрузочный инструмент — Elcomsoft System Recovery.

Как это работает?

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

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

После этого проверяется, смонтирован ли какой-либо из зашифрованных томов. Если никаких явных признаков шифрования диска не обнаружено, Encrypted Disk Hunter проверяет цепочку системных драйверов на предмет наличия в ней драйверов TrueCrypt, VeraCrypt и PGP WDE. Если распознан драйвер шифрования диска (например, truecrypt.sys, veracrypt.sys, PGPdisk.SYS, Pgpwdefs.sys или PGPwded.sys), утилита сообщит, что в системе могло использоваться шифрование, даже если в данный момент времени ни одного зашифрованного тома не обнаружено. Кстати, такая эвристика — единственный способ обнаружить диск, зашифрованный PGP WDE, т.к. последний блокирует доступ к размонтированным зашифрованным томам.

Дальнейшие шаги

Ваши дальнейшие действия будут зависеть от выданного программой результата и проведённой вами оценки рисков.

  1. Если никаких признаков полного шифрования диска не обнаружено: образ оперативной памяти создать желательно, но не обязательно; отключите питание и следуйте обычной схеме.
    Признаков шифрования не обнаружено
  2. При обнаружении признаков шифрования: обязательно создайте образ оперативной памяти (например, посредством Elcomsoft Forensic Disk Decryptor); возможно, вам придётся потратить дополнительное время на исследование системы перед тем, как обесточить компьютер.
    Зашифрованные тома не обнаружены, но обнаружен активный процесс шифрования диска. Требуется дальнейшее исследование.
  3. Если найдены смонтированные зашифрованные диски: создайте образ оперативной памяти; попытайтесь извлечь из него ключи восстановления / депонированные ключи. Если позволяет время, попытайтесь извлечь улики из смонтированных зашифрованных томов.

    Найден том TrueCrypt/VeraCrypt. Further analysis mandatory. Требуется дальнейшее исследование.
    Найден том BitLocker. Требуется дальнейшее исследование.

Если смонтирован хотя бы один зашифрованный диск, обратите внимание на тип шифрования. Рекомендуем ознакомиться с нашей статьёй Безопасность в опасности: как и от чего защищать информацию на компьютере, в которой рассказано об основных принципах шифрования дисков. Также рекомендуем более детальные статьи Расшифровка криптоконтейнеров VeraCrypt и Расшифровка дисков LUKS, а если вы владеете английским — то и статьи Unlocking BitLocker: Can You Break That Password? и Unlocking BitLocker Volumes by Booting from a USB Drive.

Также рекомендуем воспользоваться утилитой Elcomsoft Forensic Disk Decryptor для создания образа оперативной памяти и поиска ключей шифрования, что позволит обойтись без попыток подобрать оригинальный пароль. Извлечение ключей шифрования из образа памяти может и вовсе оказаться единственным доступным методом для разблокировки томов BitLocker, защищённых некоторыми типами протекторов (например, TPM).

Если этот вариант не сработал, используйте Elcomsoft Distributed Password Recovery для взлома пароля. EDPR реализует все возможные оптимизации с учётом человеческого фактора, но атака может оказаться достаточно длительной, так как перебор паролей к зашифрованным дискам может быть очень и очень медленным.

Скачать Elcomsoft Encrypted Disk Hunter

Elcomsoft Encrypted Disk Hunter можно скачать по ссылке с нашего сайта:

Скачать Elcomsoft Encrypted Disk Hunter

Утилита доступна в виде ZIP-архива без установщика. В архиве содержится портативный исполняемый файл, подписанный цифровой подписью. Распакуйте архив, сохраните утилиту на USB-накопителе и используйте в системе с правами администратора. Настоятельно рекомендуем запускать инструмент непосредственно с USB-накопителя.

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

Основы шифрования диска

Утилиты шифрования дисков используют симметричную криптографию для преобразования информации в зашифрованный поток данных. В подавляющем большинстве случаев используется алгоритм шифрования AES, для которого (единственного из множества алгоритмов) в большинстве современных платформ доступно аппаратное ускорение, а в процессорах Intel – специальный набор инструкций процессора AES-NI. Как правило, используется ключ шифрования длиной 256 бит, но и ключи длиной 128 бит используются достаточно часто (в частности, в реализации шифрования Microsoft BitLocker, в котором по умолчанию используются ключи шифрования длиной 128 бит, но можно включить и поддержку 256-разрядных ключей).

В некоторых утилитах шифрования дисков пользователь может выбрать, каким алгоритмом зашифровывать данные. Например, в VeraCrypt пользователь может выбрать из 15 вариантов, многие из которых являются результатом применения нескольких алгоритмов шифрования последовательно, один за другим.

Не менее, а для целей восстановления доступа – даже более важной особенностью систем шифрования диска является выбор функции преобразования ключа – Key Derivation Function (KDF). Эта функция используется для одностороннего (то есть, несимметричного и принципиально необратимого) преобразования текстового пароля (или другого протектора – например, данных сертификата или содержимого файла) в двоичный ключ заданной длины. Как правило, алгоритм KDF достаточно прост: входные данные (а ими является не только сам пароль, но и дополнительный набор данных – «соль») преобразовываются посредством хэш-функции, причём процедура проводится итеративно с целью замедлить скорость потенциальной атаки. Чем большее количество итераций используется для преобразования пароля, тем ниже будет скорость перебора.

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

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

LUKS

LUKS (от Linux Unified Key Setup) — спецификация формата шифрования дисков, разработанная для использования в ОС на основе ядра Linux. Поддержка LUKS доступна во множестве дистрибутивов Linux как для настольных компьютеров, так и для специализированных устройств. При помощи LUKS могут быть зашифрованы диски, работающие в составе сетевых накопителей QNAP и некоторых других производителей.

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

 

magic сигнатура заголовка раздела LUKS
version версия LUKS
cipher-name название алгоритма шифрования
cipher-mode режим работы алгоритма шифрования
hash-spec хэш, используемый в функции PBKDF2
payload-offset смещение начала зашифрованных данных (в секторах)
key-bytes размер ключа в байтах
mk-digest контрольная сумма мастер-ключа
mk-digest-salt соль, применяемая в PBKDF2
mk-digest-iter количество итераций PBKDF2
uuid UUID раздела
key-slot-1 слот ключа 1
key-slot-2 слот ключа 2
key-slot-8 слот ключа 8

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

Алгоритмы шифрования в LUKS

В LUKS поддерживаются следующие алгоритмы шифрования:

  • AES
  • Serpent
  • Twofish
  • CAST-128
  • CAST-256

Чаще всего применяется AES, но в процессе создания зашифрованного диска или контейнера пользователь может указать другой алгоритм. В наших продуктах поддерживаются алгоритмы AES, Serpent и Twofish как наиболее распространённые.

Режимы шифрования

В LUKS можно использовать один из следующих режимов шифрования:

  • ECB
  • CBC-PLAIN64
  • CBC-ESSIV:hash
  • XTS-PLAIN64

В различных дистрибутивах Linux могут использоваться различные настройки по умолчанию. К примеру, в Red Hat Linux используется комбинация параметров cbc-essiv:sha256 с шифрованием AES и 256-битным ключом. Эти настройки встречаются чаще всего.

Хэш-функции

Хэш-функции, или функции одностороннего криптографического преобразования, используются для преобразования пароля в двоичный ключ в составе Key Derivation Function (KDF). LUKS поддерживает следующие варианты:

  • SHA-1
  • SHA-256
  • SHA-512
  • RIPEMD160
  • WHIRLPOOL *

По умолчанию используется SHA-256. При этом Whirlpool – отличный пример хэш-функции, которая не является частью спецификации, но присутствует и используется в реальной жизни. В наших продуктах поддерживаются все перечисленные хэш-функции.

Настройки шифрования по умолчанию

Чаще всего при создании зашифрованного диска используются настройки по умолчанию: aes-cbc-essiv:sha256 с ключом шифрования длиной 256 бит. Ниже приводится расшифровка параметров шифрования:

  • AES – алгоритм симметричного шифрования AES (в данном случае с ключом длиной 256 бит)
  • CBC – режим шифрования Cipher Block Chaining
  • ESSIV – Encrypted Salt-Sector Initialization Vector. Он должен использоваться для шифров в режиме CBC.
  • SHA-256 – Secure Hash Algorithm, используется по умолчанию с шифрами в режиме CBC.

Альтернативные настройки шифрования

Как пользователь, так и автор сборки Linux могут указать альтернативные настройки шифрования. При этом не все комбинации алгоритмов и режимов работы совместимы между собой. Впрочем, так или иначе все выбранные настройки шифрования будут прописаны в заголовке LUKS, и для проведения атаки их достаточно будет считать из него. Elcomsoft Distributed Password Recovery автоматически определяет параметры шифрования LUKS.

Слоты ключей

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

При настройке атаки в Elcomsoft Distributed Password Recovery эксперт выбирает слот ключа, на который будет проводиться атака. В списке слотов ключей, которые выводит Distributed Password Recovery, указывается, какие из слотов содержат действительные ключи, а какие – пустуют. Обратите внимание: если пустуют все слоты (такое возможно как при случайном удалении последнего ключа, так и при умышленном уничтожении с целью предотвращения доступа), то восстановить доступ к зашифрованным данным будет невозможно.

Шаг 1: извлечение метаданных шифрования

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

  1. Извлечь метаданные шифрования (заголовок LUKS) из состава контейнера или диска утилитой Elcomsoft Forensic Disk Decryptor или Elcomsoft System Recovery. Данные сохраняются в небольшом файле.
  2. Открыть файл с метаданными шифрования в Elcomsoft Distributed Password Recovery, выбрать слот ключа, настроить и провести атаку.
  3. После того, как пароль будет найден, смонтировать или расшифровать зашифрованный диск.

Для извлечения метаданных шифрования можно воспользоваться одним из двух инструментов. При исследовании непосредственно компьютера подозреваемого его можно загрузить с USB-накопителя, созданного программой Elcomsoft System Recovery. В этом случае метаданные шифрования можно извлечь непосредственно с исследуемого компьютера.

Если же в вашем распоряжении диски или образы дисков, то для извлечения метаданных следует воспользоваться программой Elcomsoft Forensic Disk Decryptor.

Использование Elcomsoft System Recovery

Внимание: используйте Elcomsoft System Recovery версии 7.06 или более новой.

  1. Скачайте Elcomsoft System Recovery и запустите программу установки. Создайте загрузочный USB накопитель.
  2. Загрузите исследуемый компьютер с созданного на предыдущем шаге USB накопителя. Вы попадёте в среду Windows PE. Утилита Elcomsoft System Recovery запустится автоматически.
  3. Просмотрите список дисков.
  4. Выберите диски LUKS и нажмите “Dump” для сохранения метаданных шифрования.
  5. Откройте файл с метаданными шифрования в Elcomsoft Distributed Password Recovery для настройки атаки.

Использование Elcomsoft Forensic Disk Decryptor

Внимание: используйте Elcomsoft Forensic Disk Decryptor версии 2.13 или выше.

  1. Запустите Elcomsoft Forensic Disk Decryptor.
  2. Выберите опцию “Extract/prepare data for further password recovery”.
  3. Выберите диск или образ диска LUKS. В примере ниже выбран физический диск.
  4. EFDD отобразит список зашифрованных томов. Выберите том для извлечения метаданных.
  5. Нажмите Next для сохранения метаданных шифрования в файл.

Шаг 2: восстановление пароля

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

Для настройки атаки выполните следующие действия.

  1. Запустите Elcomsoft Distributed Password Recovery.
  2. Откройте файл с метаданными LUKS, сохранённый при помощи Elcomsoft Forensic Disk Decryptor либо Elcomsoft System Recovery.
  3. Выберите слот ключа.
  4. Настройте и запустите атаку.

Скорость перебора – важный, но не основной параметр, влияющий на время восстановления пароля. Использование «умных» атак может существенно сократить времязатраты – особенно в случаях, когда о пароле хоть что-нибудь известно. К примеру, если вам удалось извлечь список других паролей пользователя из облака Google, iCloud или Microsoft Account или из браузера пользователя (например, Chrome, Microsoft Edge, Firefox и др.), возможно, выяснятся некоторые закономерности, согласно которым пользователь составляет пароли. К примеру, могут использоваться определённые наборы символов:

Elcomsoft Distributed Password Recovery предлагает многочисленные варианты атак по шаблонам (например, таким, по которым создаются пароли вида Password1, password1967 или pa$$w0rd):

Можно использовать маски:


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

Насколько быстро это работает?

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

При этом скорость перебора для разных дисков LUKS – величина переменная даже на одном и том же оборудовании. Скорость перебора зависит от множества факторов, основные из которых перечислены ниже.

Оборудование для атаки. Использование графических ускорителей на основе видеокарт, объединение компьютеров в единую вычислительную сеть и использование облачных вычислений способны увеличить скорость перебора на несколько порядков.

Выбранная хэш-функция. При создании зашифрованного диска пользователь может выбрать хэш-функцию (или использовать хэш по умолчанию). Из доступных вариантов (RIPEMD160, SHA-1, SHA-256, SHA-512, WHIRLPOOL) самым быстрым является RIPEMD160, а самым медленным –WHIRLPOOL. Скорость атаки будет отличаться в зависимости от того, какой алгоритм хэширования выбран.

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

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

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

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

Заключение

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

В начале апреля новый браузер Microsoft Edge, основанный на исходных кодах проекта Chromium, занял второе место по популярности, обойдя FireFox. В новой версии Edge разработчики Microsoft не просто проделали работу над ошибками, но использовали совершенно другую основу. Изменилось всё: возможности настройки и кастомизации, совместимость с операционными системами и способ отображения веб-страниц. Особый интерес для экспертов-криминалистов представляет новый способ хранения и защиты паролей, которые сохраняют в браузере пользователи.

Microsoft Edge Chromium

Официальная дата выхода Microsoft Edge Chromium — 15 января 2020 года. Новая версия Microsoft Edge основана на проекте браузера с открытым исходным кодом Chromium, который поддерживается как независимыми разработчиками, так и такими компаниями, как Google. В отличие от классического браузера Edge, представленного в Windows 10 и основанного на универсальной платформе Windows UWP, новый Microsoft Edge Chromium совместим со всеми актуальными версиями Windows и macOS. Старый Edge переименован в Edge Legacy; установка нового Edge Chromium на ПК с Windows 10 автоматически блокирует старый Edge.

Edge Chromium стремительно набрал популярность. Уже в апреле 2020 новый Edge занял второе место среди браузеров для настольных компьютеров, опередив Mozilla Firefox и Opera. С учётом того, что и Edge, и Google Chrome основаны на одном и том же проекте Chromium, можно сказать, что Chromium лидирует с большим отрывом.

Использование проекта Chromium позволило Microsoft предложить пользователям простой и лёгкий способ перехода с браузера Chrome на новый Edge. Буквально несколько нажатий, и все данные из браузера Chrome переносятся в браузер от Microsoft. Сюда входят закладки, история посещений и даже открытые вкладки и окна. Разумеется, не обошли стороной и пароли, которые также переносятся из Chrome.

Chromium Edge и Windows Data Protection API (DPAPI)

Для хранения ключей и паролей браузеры Microsoft Internet Explorer и «старый» Edge, переименованный в Edge Legacy, используют механизм Windows Credential Manager. Windows Credential Manager, в свою очередь, защищает данные посредством Microsoft Data Protection API (DPAPI), появившимся ещё в Windows 2000. В настоящее время в Windows 10 используется шифрование алгоритмом AES-256. Сохранённые в «классическом» Edge Legacy пароли можно просмотреть (и удалить) в апплете Web Credentials даже после того, как сам браузер был удалён из системы.

С переходом браузера на исходный код Chromium, Microsoft решила использовать стандартный для Chromium менеджер паролей вместо использования Windows Credential Manager. Соответственно, новый Edge Chromium больше не использует Microsoft DPAPI для защиты сохранённых паролей. Вместо этого пароли защищены стандартным алгоритмом AES-256 GCM, в то время как DPAPI используется только для защиты ключа шифрования от встроенного хранилища. Интересно, что другие веб-браузеры, основанные на проекте Chromium (сюда входят Google Chrome и Opera), используют аналогичную схему шифрования. Это включает в себя последние версии браузеров.

By default, Edge Chromium does not protect the encrypted password database with a master password. Instead, Microsoft uses the Data Protection API (DPAPI) to protect the encryption key with the user’s Windows credentials. In turn, DPAPI uses AES-256 to encrypt the encryption key.

 

Edge Chromium не использует концепцию мастер-пароля для защиты хранилища паролей. Вместо этого Microsoft использует API защиты данных (DPAPI) для защиты ключа шифрования посредством учётных данных пользователя Windows. В свою очередь, DPAPI использует AES-256 для шифрования ключа шифрования. Таким образом, для извлечения всех паролей пользователя достаточно узнать логин и пароль пользователя или использовать текущую авторизованную сессию. Именно такой способ мы реализовали в Elcomsoft Internet Password Breaker, и именно им воспользовались разработчики браузера Edge Chromium для того, чтобы мгновенно импортировать сохранённые пароли из браузера Google Chrome.

Использование Elcomsoft Internet Password Breaker для извлечения паролей из Edge Chromium

Механизм доступа к паролям в Edge Chromium похож на тот, который используется в последних версиях Google Chrome. Соответственно, для извлечения паролей из нового Edge необходимо пройти аутентификацию в учётной записи Windows пользователя (с помощью имени пользователя и пароля, данных учётной записи Microsoft, PIN-кода или подсистемы Windows Hello). Разумеется, можно использовать и уже аутентифицированную сессию. А вот просто извлечь диск из компьютера или снять образ файловой системы недостаточно: хранилище будет зашифровано, и расшифровать его без знания пароля пользователя от учётной записи Windows не представляется возможным.

 

Для извлечения паролей из Edge Chromium проделайте следующие шаги.

 

  1. Запустите Elcomsoft Internet Password Breaker.
  2. Выберитепунктменю Web Browsers – Edge Chromium.
  3. Через несколько секунд будет выведен список паролей.

Кроме того, вы можете воспользоваться режимом экспорта паролей в файл (кнопка Export), который создаст создать отфильтрованный список всех паролей пользователя. Список паролей в дальнейшем можно использовать в качестве словаря для создания интеллектуальных атак в Elcomsoft Distributed Password Recovery.

Заключение

Браузер Edge Chromium – не эволюция «старого» Edge, а совершенно новый браузер. Новый механизм защиты сохраняемых пользователем паролей, сильно отличается от привычного по «старому» Edge и Internet Explorer хранилища DPAPI и диспетчера учётных данных Windows. Новое хранилище паролей предлагает пользователям тот же уровень защиты, что и старый Edge. В то же время извлечь пароли из нового хранилища проще, чем из диспетчера учётных данных Windows благодаря наличию хорошо документированных исходных кодов Chromium – впрочем, лишь в том случае, если у эксперта есть доступ к активной сессии пользователя или его логин и пароль. Извлечь пароли из образа файловой системы или с жёсткого диска, извлечённого из компьютера, не представляется возможным.

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

LastPass

LastPass был представлен в 2008 году компанией Marvasol Inc (в настоящее время — LogMeIn). На сегодняшний день LastPass входит в четвёрку самых популярных менеджеров паролей. Как и другие подобные продукты, LastPass предназначен для хранения, управления и синхронизации паролей, что помогает пользователям избежать повторного использования паролей. Благодаря автоматическому хранению и синхронизации паролей, а также генерации паролей с высокой энтропией, пользователи получают возможность использовать сложные, уникальные пароли для разных учётных записей без необходимости запоминать их все.

В семейство продуктов LastPass входят приложения для настольных операционных систем Windows и macOS, а также мобильные приложения для iOS и Android. Особый интерес представляют так называемые расширения, позволяющие устанавливать LastPass на разных платформах в виде расширения для браузера.

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

В то же время стойкость защиты баз данных LastPass различается на разных платформах. Так, на компьютерах под управлением Windows и macOS используется максимальное (порядка сотни тысяч) количество итераций хеширования, а на устройствах с Android используется защита с минимальным числом итераций.

С технической точки зрения пароли хранятся в базе данных в формате SQLite. Для защиты базы данных используется пароль, на основе которого вычисляется ключ шифрования. Для вычисления ключа шифрования производится (в зависимости от платформы) от 5,000 до порядка 100,000 итераций хеширования.

Извлечь базу данных LastPass проще всего с компьютера пользователя. Соответственно, для её защиты LastPass использует 100,100 итераций хеш-функции мастер-пароля. Атака методом прямого перебора демонстрирует следующую скорость работы:

Скорость перебора в 15,500 паролей в секунду с использованием аппаратного ускорителя NVIDIA GeForce 2070 достаточно типична, обеспечивая адекватный уровень защиты при условии использования достаточно стойкого мастер-пароля.

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

Скорость перебора мастер-пароля LastPass для устройств с Android может достигать 309,000 комбинаций в секунду на ускорителе NVIDIA GeForce 2070. Такая скорость перебора считается высокой, позволяя восстанавливать достаточно сложные пароли в разумные сроки. Так, семизначный мастер-пароль, составленный из случайной комбинации цифр и букв в обоих регистрах, но без использования спецсимволов, может быть восстановлен в течение трёх месяцев. Шестизначный же пароль, составленный из того же набора символов, получится вскрыть в течение трёх дней.

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

Расширение для браузера Chrome и Microsoft Edge Chromium

В наборе продуктов LastPass есть расширения для нескольких популярных браузеров. Расширение, предназначенное для браузера Google Chrome, также работает и в браузере Microsoft Edge Chromium.

Расширение для браузера – пожалуй, один из самых удобных способов управления паролями. Уверенное определение полей для автозаполнения, управление паролями непосредственно из браузера предоставляют пользователю весьма удобный инструмент.

Компания-разработчик LastPass утверждает, что расширение для Chrome обеспечивает тот же уровень безопасности, что и отдельное приложение:

Only you know your master password, and only you can access your vault. Your master password is never shared with LastPass. That’s why millions of people and businesses trust LastPass to keep their information safe. We protect your data at every step.

Source

Мы выяснили, что в реальности дела обстоят иначе. В частности, если пользователь выбирает опцию «Запоминать пароль» для автоматического разблокирования защищённого хранилища, расширение LastPass для Chrome не обеспечивает должного уровня безопасности. Фактически, ни о какой безопасности в данном случае не может идти и речи.

В чём смысл использования опции «Запоминать пароль»? Так же, как и другие менеджеры паролей, LastPass автоматически блокирует доступ к защищённому хранилищу при закрытии сессии. Многие пользователи предпочитают не вводить пароль постоянно, доверяя хранение своего мастер-пароля расширению LastPass. В то же время, расширение LastPass сохраняет мастер-пароль небезопасным образом:

«Уязвимость (под названием LastPass-Vul-1) заключается в небезопасной архитектуре механизма запоминания мастер-паролей в LastPass. Как показано на рисунке 2, LastPass может запомнить мастер-пароль пользователя (с именем пользователя BCPM) в локальной базе данных SQLite [40] tableLastPassSavedLogins2, позволяя пользователю автоматически проходить аутентификацию при каждом последующем использовании LastPass».

Источник

Описанная выше уязвимость присутствует во всех известных нам версиях расширения LastPass для Chrome (на момент написания — LastPass 4.44.0 и Google Chrome 80.0.3987.146 для Windows 10 x64). Соответственно, эксперт может извлечь и расшифровать мастер-пароль пользователя и получить таким образом доступ ко всему содержимому хранилища LastPass. Способ работает при условии использования пользователем опции «Запоминать пароль».

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

Windows Data Protection API

Начнём издалека. Воспользовавшись приложением Elcomsoft Internet Password Breaker, можно моментально извлечь пароли, которые хранятся в браузере Chrome и Microsoft Edge Chromium. Казалось бы, в чём разница?

 

 

Разница в том, что извлечь пароли из Google Chrome или Edge Chromium можно лишь в том случае, если известны логин и пароль пользователя Windows или есть доступ к авторизованной сессии (разблокированному именно данным пользователем компьютеру). Если компьютер выключен, а у эксперта есть исключительно жёсткий диск или его образ (при этом пароль пользователя Windows неизвестен), то и расшифровать пароли из Chrome или Edge Chromium не удастся.

Почему не удастся?

Дело в том, как именно Chrome (и Edge Chromium; в дальнейшем это уточнение можно опускать) защищают базу данных, в которой хранятся пароли пользователя. Сама по себе база данных шифруется алгоритмом AES-256; при этом пароль шифрования (мастер-пароль) по умолчанию не используется. (Здесь, пожалуй, кроется единственное отличие механизмов защиты Chrome и Edge Chromium: если в Chrome задать пароль для синхронизации паролей пользователь сможет, то в Edge Chromium подобный функционал не предусмотрен).

Ключ шифрования базы данных с паролями хранится на том же компьютере, что и сама база данных. При этом ключ шифрования защищён при помощи Windows

Data Protection API (DPAPI), который появился ещё во времена Windows 2000. DPAPI использует AES-256 в качестве алгоритма шифрования. Для доступа к паролям из Chrome пользователь должен войти в учётную запись Windows с использованием пароля, PIN-кода или подсистемы Windows Hello. Только после этого хранилище, защищённое DPAPI, будет расшифровано.

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

Подытожим изложенное. Для доступа к паролям Google Chrome и Microsoft Edge Chromium потребуется не только образ диска или файл базы данных, но и логин и пароль пользователя системы (либо доступ к аутентифицированной сессии). «Холодная» атака, таким образом, невозможна.

Именно возможность «холодной» атаки (извлечение мастер-пароля из образа диска или просто из файла базы данных) и является отличительной чертой расширения LastPass для Chrome. Всё, что потребуется для доступа к защищённому хранилищу – это сам файл базы данных и активированная пользователем опция «Запоминать пароль».

Извлечение мастер-пароля LastPass

Для извлечения пароля воспользуемся продуктом Elcomsoft Distributed Password Recovery.

  1. Расширение LastPass для Chrome сохраняет защищённую базу данных по следующему пути (Windows 10):
     %UserProfile%\AppData\Local\Google\Chrome\User Data\Default\databases\chrome-extension_hdokiejnpimakedhajhdlcegeplioahd_0
  2. Запустите Elcomsoft Hash Extractor (входит в состав Elcomsoft Distributed Password Recovery) и откройте указанный выше файл. Важно: файл можно извлечь как из уже авторизованной сессии, так и скопировать с диска или извлечь из образа.
  3. Hash Extractor автоматически извлекает заголовок. Сохраните его в файл с и откройте в Elcomsoft Distributed Password Recovery.
  4. Выберите учётную запись.
  5. Запустите атаку.
  6. Elcomsoft Distributed Password Recovery отобразит найденный мастер-пароль в течение нескольких секунд.

VeraCrypt – фактическая замена популярной программе шифрования дисков TrueCrypt и самый распространённый на сегодняшний день криптоконтейнер. В сравнении с TrueCrypt, VeraCrypt предлагает широкий выбор алгоритмов шифрования и хеширования паролей. Как выбранные алгоритмы влияют на безопасность данных и скорость атаки и что делать, если неизвестно, каким именно способом защищён зашифрованный контейнер?

VeraCrypt и алгоритмы шифрования

Ещё во времена TrueCrypt пользователям предлагался выбор из нескольких разных алгоритмов шифрования, в том числе несколько вариантов с последовательным шифрованием данных несколькими алгоритмами. В VeraCrypt этот выбор стал ещё шире. Теперь пользователю предлагается на выбор пять алгоритмов шифрования (AES, Serpent, Twofish, Camellia и «Кузнечик») и десять вариантов их последовательного использования.

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

Выбор алгоритма шифрования способен повлиять лишь на скорость доступа к зашифрованным данным, но не на скорость перебора паролей.

В то же время серьёзное влияние на скорость атаки оказывает простой факт: известно ли эксперту, какой именно алгоритм шифрования выбран. Если алгоритм известен, то атака будет достаточно быстрой; если же нет, то возможные стратегии включают атаку на алгоритм по умолчанию (AES-256 в качестве шифра и SHA-512 в качестве хеш-функции) и атаку по всему спектру возможных комбинаций шифров и функций хеширования. Последняя будет достаточно медленной (приблизительно в 175 раз медленнее атаки с настройками «по умолчанию»).

 

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

VeraCrypt и функции преобразования пароля

Для того, чтобы зашифровать и расшифровать данные, криптоконтейнер не использует пароль. Для шифрования любым алгоритмом (от AES до «Кузнечика» включительно) используется двоичный ключ переменной длины, так называемый Data Encryption Key или Media Encryption Key (MEK). Каким именно образом пароль пользователя (вероятно, достаточно сложный) преобразуется в двоичный ключ MEK? Он и не преобразуется. Media Encryption Key для единожды созданного контейнера неизменен; он хранится в зашифрованном (точнее сказать, «обёрнутом», wrapped) виде прямо в составе контейнера, а в «развёрнутом» виде используется для доступа к данным.

Ключ шифрования данных MEK в обязательном порядке шифруется (дальше будет тавтология) ключом шифрования ключа шифрования Key Encryption Key (KEK). Без KEK невозможно расшифровать MEK, а без MEK невозможно расшифровать данные. Для чего нужна такая сложная схема? Например, для того, чтобы пользователь мог сменить пароль от зашифрованного диска без обязательной расшифровки и перешифровки всего содержимого. Однако роль пары ключей MEK/KEK этим сценарием не ограничивается. Так, достаточно будет затереть несколько сотен байт в заголовке контейнера (перезаписав область, в которой хранится MEK), и контейнер никто и никогда больше расшифровать не сможет, даже если точно известен пароль. Возможность моментального и безвозвратного уничтожения данных – важная часть общей стратегии безопасности.

Каким образом из пароля получается ключ KEK? VeraCrypt проводит циклическую последовательность односторонних (необратимых) математических преобразований – хеш-функций, причём количество циклов достаточно велико: по умолчанию преобразование производится 500,000 раз. Таким образом, с настройками «по умолчанию» на вычисление одного-единственного ключа KEK на основе введённого пароля VeraCrypt потратит от одной до 5-6 секунд.

Здесь наступает важный момент. В предыдущей главе были приведены скорости работы алгоритмов шифрования, а шифр AES оказался как самым быстрым, так и достаточно безопасным. С выбором алгоритма хеширования ситуация обратная: самый нестандартный и самый медленный алгоритм оказывается и наиболее безопасным. Производительность алгоритмов хеширования на единственном CPU Intel i7-9700K выглядит следующим образом:

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

Насколько быстро или медленно работает перебор паролей? На примере последней версии Elcomsoft Distributed Password Recovery 4.20 с поддержкой VeraCrypt мы получили следующие цифры:

Скорость атаки в стандартной конфигурации (алгоритм шифрования AES, хэш-функция – SHA-512) – 1140 паролей в секунду с загрузкой всех ядер процессора и использованием вычислительных ресурсов видеокарты NVIDIA GeForce 2070. Если провести подобную атаку на диск, зашифрованный алгоритмом Serpent, то цифры не изменятся (нет, мы не копировали данные: все цифры были перепроверены несколько раз). Скорость перебора в гораздо большей степени зависит от функции хеширования и в меньшей – от алгоритма шифрования. Впрочем, последовательное использование двух шифров уменьшит скорость перебора, а трёх – уменьшит ещё сильнее; разница, тем не менее, несравнима с тем, какое влияние на скорость перебора оказывает выбор хеш-функции. Так, выбор Whirlpool вместо SHA-512 замедляет скорость перебора с 1140 до 74.6 паролей в секунду. Самой медленной будет атака по всему спектру возможностей: всего 6.63 паролей в секунду, в 171 раз медленнее атаки с настройками «по умолчанию».

Использование Elcomsoft Distributed Password Recovery для восстановления паролей VeraCrypt

Elcomsoft Distributed Password Recovery позволяет проводить атаки с использованием как аппаратного ускорения (видеокарт AMD и NVIDIA), так и с использованием множества компьютеров, объединённых в единую вычислительную сеть. Тем не менее, если атака проводится на зашифрованный диск с неизвестными параметрами защиты, имеет смысл воспользоваться возможностями «умных» атак на основе как стандартных словарей, так и словарей, составленных из известных паролей пользователя (о том, как их извлечь из браузера Google Chrome, резервных копий iOS или облачных сервисов iCloud, Google Drive и Microsoft Account, мы писали неоднократно).

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

В программе также доступна возможность автоматически перебирать распространённые вариации известных паролей (например, Password1, password1967 or pa$$w0rd):

Об использовании масок мы недавно писали. Маски – один из важнейших инструментов для эффективного перебора паролей:

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

Альтернативные способы расшифровки VeraCrypt

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

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

Для того, чтобы расшифровать данные, криптоконтейнер не использует пароль. Для шифрования любым алгоритмом используется двоичный ключ переменной длины, так называемый Data Encryption Key или Media Encryption Key (MEK). Этот ключ шифрования (MEK) хранится в оперативной памяти компьютера; он же попадает в файлы гибернации и подкачки. Наличие ключа в оперативной памяти требуется для того, чтобы программа-криптоконтейнер могла получить доступ к зашифрованным данным. Обратите внимание: ключ шифрования хранится в оперативной памяти совершенно независимо от того, какой алгоритм шифрования пользователь выбрал в настройках контейнера. AES, TwoFish, Serpent, «Кузнечик» или любая комбинация алгоритмов – независимо от выбора пользователя, ключи шифрования будут храниться в оперативной памяти, а сложность и скорость их извлечения практически одинакова.

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

 

 

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

  1. Анализ оперативной памяти компьютера (ОЗУ). Ключ шифрования хранится в оперативной памяти в течение всего времени, когда зашифрованный диск смонтирован.
  2. Файл(ы) подкачки. Ключ шифрования может попадать или не попадать в файл подкачки. Тем не менее, их анализ (сканирование) занимает от нескольких минут до нескольких часов (что несравнимо с днями и неделями, которые потребуются для взлома пароля).
  3. Файл гибернации. Windows использует файл гибернации для выгрузки части оперативной памяти компьютера на жёсткий диск, когда компьютер находится в спящем режиме (если включён гибридный спящий режим, а он включён по умолчанию). Кроме того, файл гибернации создаётся, когда компьютер находится в режиме гибернации (который по умолчанию отключён) и когда компьютер выключается (если активна функция быстрого запуска, которая включена по умолчанию).

Для извлечения ключей, снятия и анализа образа оперативной памяти используйте Elcomsoft Forensic Disk Decryptor:

 

Дополнительная информация в англоязычном разделе блога:

 

 

 

НАШИ НОВОСТИ