- Регистрация
- 20.01.2011
- Сообщения
- 7,665
- Розыгрыши
- 0
- Реакции
- 135
Данный текст является обработанными субтитрами к видео выше и русскоязычным пользователям рекомендую именно смотреть видео, т.к. текстовой версии я не уделил достаточно времени.

Ниже статья прилагаемая автором к видео:
Данный текст является обработанными субтитрами к видео и русскоязычным пользователям рекомендую именно смотреть видео, т.к. текстовой версии я не уделил достаточно времени.
Как расшифровывают контейнеры VeraCrypt, TrueCrypt и BitLocker? Возможно ли извлечь из дампа оперативной памяти мастер-ключи для расшифрования этих контейнеров? Спасет ли аппаратное или программное шифрование ОЗУ? Какие есть способы дополнительной защиты?
Привет, друзья! Меня зовут Алексей, и сегодня мне предоставили специальный криминалистический софт, который предназначен для дампов оперативной памяти, извлечения из них ключей шифрования и использования этих ключей для расшифровки криптоконтейнеров VeraCrypt, BitLocker, TrueCrypt и других. Хочу заранее отметить, что это единственный софт на рынке; других платных решений лучше просто нет.
Если ваш компьютер попадет к экспертам-криминалистам, скорее всего, они будут пользоваться именно этим программным обеспечением, чтобы извлечь из оперативной памяти ваши ключи, если, конечно, был сделан такой дамп. Почему я решил снять видео про VeraCrypt и дамп оперативной памяти? Потому что ключи VeraCrypt, BitLocker, TrueCrypt и других популярных решений для шифрования хранятся в оперативной памяти и называются мастер-ключами. Если есть дамп оперативной памяти, из него можно найти ключ от криптоконтейнера и этим ключом, не зная пароля, можно примонтировать и расшифровать криптоконтейнер.
Какие существуют актуальные способы снятия дампа оперативной памяти? Помимо прямого снятия дампа оперативной памяти с рабочей системы со всеми правами, первый способ - это заморозка памяти. Например, жидким азотом замораживаются планки оперативной памяти, затем их вставляют в новый компьютер или специальное устройство, с которого снимается дамп. При низких температурах информация на планках не удаляется, и таким образом можно сдампить частичную информацию.



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

То есть элементарно ваш ребёнок может зайти в квартиру, и вместе с ним могут ворваться сотрудники полиции. Вы не успеете моргнуть глазом, как вас положат лицом в пол. То же самое может произойти с вашей женой, сотрудником доставки еды или техником, который пришёл починить лампу или провода. Комбинаций множество. Я не буду вдаваться в подробности, как мы это делали, но это действительно возможно, и к этому нужно быть готовым.
Соответственно, задача сотрудников, когда они попадают в вашу квартиру, а вы уже лежите, а ваш компьютер открыт, заключается в том, чтобы первым делом снять дамп оперативной памяти до любых других действий на этом компьютере. Это делается для того, чтобы не удалить важную информацию из оперативной памяти своими действиями. Первым делом снимается дамп оперативной памяти на стороннее устройство, чтобы потом искать ключи шифрования PGP, BitLocker, VeraCrypt, TrueCrypt и так далее.
В то же время хочу сказать, что не все сотрудники действуют по инструкции или правильно. Я знал множество случаев, когда сотрудники заходили в офисы, где были открыты и разблокированы компьютеры, и просто выключали свет на счётчике. Таким образом, все разблокированные компьютеры с установленным VeraCrypt теряли хоть какие-то шансы на восстановление данных. Я знал сотрудников, которые, не зная пароля Windows, удаляли установленный пользователем пароль без создания бэкапа. Это было критической ошибкой, так как без пароля невозможно было получить доступ к паролям, например, в браузере Chrome. Таким образом, они, можно сказать, помогали преступникам.
Поэтому не стоит думать, что все сотрудники будут правильно действовать в отношении вас. Однако есть и те, которые будут делать разумные действия. Друзья, хочу показать, что меня удивило. Допустим, я действовал бы по той же методике, как раньше. Первое мое действие – снять дамп оперативной памяти. Представим, что преступника положили лицом в пол, а сотрудник вставляет флешку с программой для дампа оперативной памяти. Оказывается, в VeraCrypt есть функция, что если вставляется новое устройство, система уходит в перезагрузку, полностью очищая оперативную память и вызывая синий экран. На этом этапе ничего бы не получилось, но у меня эта функция не включена.
К примеру, я продолжаю и запускаю программу Elcomsoft Forensic Disk Decryptor.

Они хвастаются, что это самая лучшая программа на рынке стоимостью 700 долларов. У меня есть лицензия. Она способна извлекать шифрованные ключи программным способом VeraCrypt и расшифровывать их. ол
С ссылками ниже рекомендую ознакомиться, используйте автоперевод браузера, если есть сложности
Для просмотра ссылки Войди
Для просмотра ссылки Войди
Я специально не включал функцию шифрования ключей в VeraCrypt, просто установил и создал контейнер. Далее я покажу это на записи экрана. При нажатии на дамп физической памяти выбираю любое место для сохранения, прямо на флешку, и нажимаю "Старт". Программа сообщает, что не хватает места на флешке. Указываю путь на компьютер и нажимаю "Старт". И что мы видим? Оказывается, у VeraCrypt есть собственный драйвер, который защищает оперативную память от вмешательства. При попытке дампа оперативной памяти она очищается и появляется синий экран.

Будь я сотрудником полиции, я бы сейчас растерялся, потому что вся проделанная работа оказалась напрасной – компьютер снова зашифрован. Конечно, есть способы снять оперативную память, несмотря на этот драйвер. Программа за 700 долларов с их супер-способом снятия оперативной памяти не может вообще снять оперативную память, даже если отключить защитную галочку в VeraCrypt. Нужно перезагрузить компьютер, что нивелирует полезность этой программы. Даже после отключения функции программа Elcomsoft всё равно не может снять оперативную память, потому что драйвер VeraCrypt даже после удаления программы не позволяет это сделать и вызывает синий экран при попытке дампа.
FTK Imager – это тоже специальная криминалистическая программа, которую можно скачать бесплатно, но она тоже не может сделать дамп оперативной памяти. В итоге, я покажу, чем всё-таки удалось снять дамп оперативной памяти несмотря на эту защиту.
По итогу, друзья, смотрите. Я сейчас смонтирую VeraCrypt и TrueCrypt, чтобы в оперативной памяти были ключи. Сейчас у меня примонтирован BitLocker.

И как же всё-таки сделать дамп оперативной памяти, когда включены стандартные настройки? У меня установлены стандартные настройки VeraCrypt: галочка "Отключить защиту памяти" не стоит, шифрование ключей в ОЗУ также не включено. У TrueCrypt тоже стандартные настройки. Специальный дорогущий софт Elcomsoft Forensic Disk Decryptor, который я показывал ранее, при попытке дампа ОЗУ вылетает в синий экран. Специальный софт не может снять дамп оперативной памяти. Но есть бесплатное решение – DumpIT.
Запускаем его, требуются права администратора, подтверждаем, и создаем дамп ОЗУ. Программа начинает дампинг. Я ставлю на паузу и продолжу, когда дамп завершится. Итак, дамп успешно завершён. Теперь у меня есть Elcomsoft Forensic Disk Decryptor, который может извлекать ключи из образа. Указываем путь к нашим ключам, выбираем дамп на 32 ГБ, который мы только что сделали. Убираем галочки с PGP, оставляем только VeraCrypt и BitLocker, чтобы не нагружать систему, нажимаем "Next".


Процесс пошёл довольно быстро. Я снова поставлю на паузу и вернусь, когда всё закончится.
Процесс завершился, и софт сообщает, что найден мастер-ключ от TrueCrypt и BitLocker. Ключ для VeraCrypt не найден.

Сохраняем эти ключи в файл "keys". Интересно, что RamCapture от BelkaSoft тоже может делать дамп оперативной памяти, в отличие от специального софта. Давайте попробуем расшифровать наши контейнеры. Размонтируем все контейнеры. В принципе, если есть доступ к компьютеру, можно просто нажать "архивировать ключ". Не обязательно извлекать его из оперативной памяти. Хотя, конечно, бывают случаи, когда это единственный способ.
Теперь давайте попробуем с TrueCrypt и VeraCrypt. Сначала укажем путь к контейнеру TrueCrypt. С TrueCrypt всё работает хорошо. Мы можем указать и memory dump, и у нас есть сохраненные ключи. Укажем сохраненные ключи и нажмем "Mount". Наш диск отлично примонтировался. Вот он – контейнер TrueCrypt. Всё работает отлично, контейнер примонтирован. Теперь размонтируем его.
Теперь попробуем с VeraCrypt. С VeraCrypt почему-то не работает, хотя у меня не стояло шифрование памяти. Видимо, действительно ключи VeraCrypt хранятся в какой-то области, либо в зашифрованной области, либо драйвер не дает доступа софту, который дампит ОЗУ, к этим ключам. В итоге, даже имея дамп оперативной памяти, мы не можем примонтировать VeraCrypt.
Обращу внимание на то, почему по умолчанию не включена опция шифрования ключей в ОЗУ.

Это связано с тем, что при включении этой функции оперативная память замедляется на 15-20%. Поэтому эта функция по умолчанию не включена. Как видите, даже на моем примере, платные решения, используемые экспертами, не помогают.
Поэтому мы будем проводить дальнейшие тесты на TrueCrypt, так как ключ TrueCrypt находится. Теперь давайте попробуем с BitLocker. Как видим, супер дорогой и классный софт, не хочу сильно критиковать, так как других решений нет, но при попытке указать путь к зашифрованному диску BitLocker, даже если он сейчас разблокирован, софт крашится. То есть ключ найден в оперативной памяти, но софт падает.
Я пробовал создавать образ этого диска, чтобы не использовать само устройство, а именно образ. Но даже при попытке загрузить этот образ происходит сбой. Это не работает. Сейчас продемонстрирую. На самом деле, даже криминалистический профессиональный софт работает плохо. Даже самый обычный эксперт столкнется с такими же проблемами, как и я. Он элементарно не сможет примонтировать диск. Не буду показывать этот процесс детально, но суть в том, что софт падает.
Мы можем загрузить как диск, можем указать контейнер. Сейчас создаю образ и покажу вам. FTK Imager - замечательный бесплатный софт для создания образов дисков, дампов оперативной памяти и монтирования этих образов.

Он поддерживает форматы E01 (полная побитовая копия с сжатием) и DD/RAW (побитовая копия без сжатия). Я делаю в формате DD/RAW, чтобы софт лучше его воспринимал.
Создаём образ. После завершения, видим, что софт всё равно падает. Единственное, что можно расшифровать с помощью этого софта из коробки - это TrueCrypt. Теперь включим аппаратное шифрование на жестком диске и проверим, насколько оно сможет защитить оперативную память от таких атак.
VeraCrypt предлагает программное шифрование ключей памяти. Включаем галочку, и ключи будут шифроваться программно. На сайте подробно описана инструкция. Даже без этой галочки специальный софт не может извлечь ключ, поэтому вручную я тем более не могу это сделать. Мы будем тестировать только аппаратное шифрование на примере TrueCrypt.
Итак, с TrueCrypt софт хорошо справляется и извлекает ключи. Включаем шифрование оперативной памяти в процессоре и проверяем, насколько это защитит оперативную память от таких атак.
Шифрование оперативной памяти по умолчанию должно быть отключено, и не каждый процессор его поддерживает. У меня оно включается в BIOS. Для этого необходимо зайти в настройки BIOS, затем в раздел DDR Security, и включить соответствующие функции, которые отвечают за шифрование оперативной памяти и Scrambling. Это усложняет работу с дампами оперативной памяти. Давайте проверим, как это работает на самом деле.

Я включил аппаратное шифрование оперативной памяти. Теперь проведем дополнительные тесты, чтобы понять, можно ли найти в дампе оперативной памяти текстовые данные. Для этого смонтируем контейнер и загрузим буфера текстом. Посмотрим, получится ли найти эти значения в дампе оперативной памяти.
Смонтировал контейнер и запускаю дамп с использованием профессиональных программ для дампа оперативной памяти. Запустить такие программы я не могу, потому что драйвер VeraCrypt удаляет оперативную память, очищая ее, и система уходит в синий экран. После завершения дампа будем искать ключи TrueCrypt.
Дамп успешно завершён. Теперь запускаем поиск ключей TrueCrypt. Анализ идет гораздо дольше, чем в нешифрованном дампе ОЗУ. Возможно, это из-за аппаратного шифрования. Пока идет анализ, попробуем найти текстовые данные в дампе.
Теперь запускаем поиск данных в дампе оперативной памяти, чтобы определить, можно ли найти текстовые значения и ключи в шифрованной памяти. Результаты покажут, насколько эффективным является аппаратное шифрование в защите данных.
Для анализа будем использовать FTK Imager. Выберем Image файл и укажем путь к нашему дампу. Нажимаем "Finish", и вот он открылся. Здесь можем выполнить поиск. Давайте начнем поиск по начальному тексту и нажимаем "Find". Как видим, результат найден. Несмотря на то, что у нас шифрованная оперативная память аппаратным способом, буфер обмена все-таки обнаружился.

Попробуем найти пароль, которым открывали контейнер. Поиск тоже успешен, видим "123". Возможно, это совпадение, так как пароль слишком короткий. Давайте попробуем найти более длинный текст. Поиск на русском языке не выполняется корректно, поэтому добавим новый текст в буфер обмена для теста.
Вставляем следующие тексты в буфер обмена по очереди:
- тест 1
- тест 2
- тест 3
Эти тексты должны храниться в оперативной памяти. Снимем дамп и попробуем найти эти тексты вручную. Создаем новый образ оперативной памяти, добавляем его в FTK Imager и ищем информацию по ключевым словам.
Пробуем искать "тест 1". Как видите, текст найден. Затем ищем "тест 2" и "тест 3". Все тексты найдены, хотя они немного перемешаны.

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

Контейнер успешно примонтировался с помощью сохранённого ключа. Это вызывает вопросы о смысле аппаратного шифрования, если ключ всё равно можно найти в оперативной памяти. Производительность системы при этом падает, хотя точные тесты производительности не проводились, это заметно по ощущениям.
Вывод: аппаратное шифрование в том виде, в котором хотелось бы его видеть, не работает должным образом. У меня новый процессор на сокете AM5 и материнская плата с поддержкой двух методов аппаратного шифрования, но несмотря на это, в дампе оперативной памяти всё равно можно найти буфер обмена и ключи TrueCrypt.
Что касается VeraCrypt, это замечательный продукт. Даже без включения программного шифрования ключей в оперативной памяти, специализированный софт не может извлечь этот ключ, потому что не способен создать дамп оперативной памяти. VeraCrypt защищает информацию с помощью драйвера, который очищает память при попытке доступа к ключам. Также есть функция программного шифрования оперативной памяти, которая увеличивает безопасность, несмотря на некоторое замедление производительности.
Кроме того, VeraCrypt имеет настройку очистки оперативной памяти при подключении нового устройства. Если вставляется неизвестное устройство, память очищается, и система падает в синий экран. В итоге, на данный момент нет готовых продуктов, способных получить мастер-ключ VeraCrypt из оперативной памяти.
Я не являюсь профессиональным криминалистом, возможно, эксперты с большим опытом имеют свои собственные решения для извлечения ключей, но я показал то, что умею делать сам, используя профессиональные инструменты, доступные мне.
/upd от 09.07.2024
После записи видео уже понял свои ошибки. Суть аппаратного шифрования ОЗУ в том, что это спасает от дампа вне сессии, например в случае извлечения ОЗУ и дампа ее, или при помощи перезагрузки. Я же делал дамп внутри сессии, и соответственно для операционной системы этот дамп не был шифрованным.
Однако я не знаю будет ли на виртуальных машинах шифрованная память относительно хостовой машины, например в случае виртуализации KVM виртуальная машина имеет доступ напрямую к железу. Буду признателен за разъяснения этой темы.
by: TorZireael1