Новая программа «Элкомсофта» ворует ключи программ BitLocker, PGP и TrueCrypt из оперативки
Компания «Элкомсофт» выпустила программу Elcomsoft Forensic Disk Decryptor, которая предназначена для криминалистической экспертизы криптоконтейнеров BitLocker, PGP и TrueCrypt. Поддерживаются как фиксированные, так и портативные носители, включая PGP в режиме шифрования всего диска, а также съёмные диски, защищённые с помощью BitLocker To Go. С помощью Elcomsoft Forensic Disk Decryptor можно как полностью расшифровать содержимое защищённого тома, так и работать в реальном времени с подключением зашифрованных томов и расшифровкой выбранных данных «на лету».
Программа извлекает ключи шифрования тремя методами:
1. Из дампа оперативной памяти. Все ключи извлекаются единовременно, даже если в системе присутствуют более, чем один криптоконтейнер. Дамп оперативной памяти может быть создан с помощью соответствующих криминалистических продуктов, например, MoonSols Windows Memory Toolkit. Зашифрованные тома в момент снятия слепка должны быть подключены; в противном случае ключ расшифровки извлечь не удастся. Подробное описание этой технологии (и полный список коммерческих и бесплатных программ см. здесь.
2. Анализ файла гибернации (исследуемый компьютер выключен). Защищённые тома должны быть подключены перед выключением компьютера. Если криптоконтейнер был размонтирован перед созданием файла гибернации, извлечь из него ключи будет невозможно.
3. Атакой через порт FireWire, если у вас не хватает прав для снятия дампа памяти или запуска программ на анализируемом компьютере. Для проведения атаки через порт FireWire требуется дополнительный компьютер с установленным бесплатным продуктом (например, Inception). Такая атака даёт практически стопроцентный результат, но опять же, зашифрованные тома должны быть подключены в момент анализа.
http://www.xakep.ru/post/59849/
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 9796 документов: 488 редакций: 5664
Т.е. в Windows он не шифруется? Причём не абы как, а так, как положено шифровать именно своп для гибернации?
комментариев: 11558 документов: 1036 редакций: 4118
В каких-то ситуациях для целей судебно-экспертного анализа это может не подойти.
Проще сделать свой LiveUSB (на Linux ессн), настроить Tor+i2p, зашифровать полностью, и там хранить контейнеры. и все. в случае чего – выдергиваем флешку и вопросы отпадают.
DiskCryptor пока не поддерживается этой прогой от елкомсофта, но это дело времени. Концептуальной программной защиты я не вижу, поэтому задумываюсь об мерах "security through obscurity". Идея такова: сделать закрытую и защищенную от анализа версию DiskCryptor которая использует обфускацию участков памяти хранящих ключи и пароли, обфускацию ioctl интерфейсов драйвера и обфускацию загрузчика. Кроме того, каждый билд скачиваемый пользователем должен обладать уникальной схемой обфускации (схемы обфускации генерируются автоматически), а набор мер по обфускации должен меняться с каждым релизом. Всё это делает автоматическое излечение ключей практически невозможным, каждый билд должен будет индивидуально ковырять опытный реверсер.
Как вам такая мысль?
комментариев: 9796 документов: 488 редакций: 5664
А что плохого то? Включенный компьютер не является зашифрованным.
В Linux в саму утилиту вставлена штатная опция показать все ключи шифрования из памяти, жалко что ли?
Для обфускации существует конечно White-Box Cryptography, но оно вроде как успешно ломается.
комментариев: 1060 документов: 16 редакций: 32
Я думаю, рано или поздно задолбаетесь. :) Не стоит ввязываться в битву брони и снаряда.
форензикзлоумышленник, не использовать ноутбуки с поддержкой firewire и прочих вредных портов и т.д.комментариев: 9796 документов: 488 редакций: 5664
Считывание ключей из памяти штатной утилитой позволяет организовывать в Linux иерархическое шифрование, в т.ч. и безопасный гибернейт с шифрованием. Так, у пользователя корень может быть на одном физическом разделе (томе), /home на другом, а своп на третьем. Что-то он хочет иметь на обычном винчестере, что-то на SSD, что-то на рейде, какую-то мелочь на съёмном (например для переноса информации между компьютерами). Всё это может быть прописано в /etc/crypttab как производные от соответствующих ключей. Чаще всего от корневого ключа, так чтобы при входе в систему пользователю достаточно было один раз ввести пароль и всё это иерархически расшифровалось.
комментариев: 9796 документов: 488 редакций: 5664
Пароль вводится в рамдиске. Загрузка расшифрованной системы и всех демонов с корневого раздела во всех системах продолжается от рута, затем некоторые из них сбрасывают свои привилегии по мере надобности.
Если пользователь знает пароль от корневого криптораздела, то он сразу рут по-любому — он может корень вручную расшифровать и протроянить или прописать временного второго рута или пересобрать рамдиск, чтобы после расшифровки сразу получать рута.
И вводить его при загрузке один и тот же? Кроме того, владелец раздела нижней иерархии (пользовательского) не должен получать доступ к ключу раздела верхней иерархии (корневому), что возможно только при неравенстве ключей, а при их односторонней выводимости по хэшам.
Если сочетать оба подхода при наличии меанизма того, как это можно просто делать, то это только повысит безопасность системы.
И не нужно недооценивать победу лени и беспечности над паранойей, даже если пользователю грозит смертельная опасность. Лучше не напрягать эти качества и дать гармонично существовать на оптимально отлаженной системе.