id: Гость   вход   регистрация
текущее время 16:06 28/03/2024
Владелец: ntldr (создано 19/11/2007 23:21), редакция от 12/01/2008 09:02 (автор: ntldr) Печать
Категории: софт, инфобезопасность, защита дисков, truecrypt, исходные тексты, свободный софт
http://www.pgpru.com/Новости/2007/DiskCryptor-OpenSourceПрограммаДляШифрованияДисковыхРазделов
создать
просмотр
редакции
ссылки

19.11 // DiskCryptor - open source программа для шифрования дисковых разделов


DiskCryptor – единственное полностью открытое решение позволяющее шифровать все дисковые разделы включая системный. Программа является заменой проприетарных DriveCrypt Plus pack и PGP WDE. Для шифрования используется алгоритм AES256 в LRW режиме, и формат тома полностью совместим с TrueCrypt, благодаря чему вы можете открыть зашифрованый раздел на Linux с помощью TrueCrypt.

Установка


Программа работает на системах Windows 2000, XP, 2003 Server, XP x64, 2003 Server x64, Vista, Vista x64 (with driver signing disabled). Для установки программы скачайте нужную вам версию дистрибутива по ссылке http://freed0m.org/storage/dcrypt/ и запустите файл dcrypt.exe. Программа предложит установить драйвер и перезагрузиться. Вы можете произвольно менять имя драйвера, что может понадобиться для скрытия факта установки программы. После перезагрузки вы сможете начать работу с программой.

Удаление


Единственным устанавливаемым в систему элементом является драйвер, имя которому вы выбираете непосредственно во время установки. Полностью удалить его вы можете через пункт меню "File->Uninstall Driver", однако если ваш системный раздел зашифрован, то удаление драйвера будет недоступно. При установке новой версии старую удалять не обязательно, т.к. обновление драйвера произойдет автоматически.

Ограничения


Помните, что шифрование системного раздела невозможно при использовании динамических дисков. Также обязательное требование – использование для загрузки ОС только одного раздела. Конфигурации, когда ntldr и boot.ini находятся на одном разделе, а сама система на другом, не поддерживаются.


ВНИМАНИЕ: при шифровании/дешифровании диска нельзя перезагружать компьютер до завершения процесса. Диск должен быть либо полностью зашифрован, либо полностью расшифрован, иначе вы рискуете потерять данные. Рекомендую использовать UPS и делать бекапы перед шифрованием.

Особенности использования


Для удобства использования драйвер кеширует вводимые пароли в памяти ядра, и при монтировании тома выбирает подходящий пароль автоматически. Если подходящий пароль не обнаруживается, то программа выдаст окно ввода пароля. Пароли кешируются в неподкачиваемой памяти и не попадают в page-file. Вы можете очистишь кеш паролей через пункт меню "Tools->Clear Cached Passwords", либо полностью отключить кеширование в настройках программы. Внешние usb-диски, либо иные подключаемые тома, монтируются автоматически. exe файл нужен только для установки и управления программой, и, при постоянном использовании, можно обходиться без него. Зашифруйте все свои диски одним паролем, и тогда вам будет достаточно только лишь раз ввести пароль при загрузке.

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


На Core Quad Q6600 скорость шифрования составляет 104мб/с на одно ядро. Максимальная скорость чтения данных с одиночного жёсткого диска – 80мб/с, следовательно на этом процессоре можно одновременно работать с 5ю жёсткими дисками без падения производительности. В том случае, если диски у вас не всегда используются с полной нагрузкой, можно без падения производительности работать с большим числом дисков и на более слабой системе. Реализация криптоалгоритмов для x86 версии написана на ассемблере и максимально оптимизирована под процессоры Intel Core, но довольно быстро работает и на любых других процессорах. Использованы практически все возможности оптимизации, в частности для алгоритма AES код генерируется динамически, с оптимизацией под конкретный ключ.

Безопасность


В программе используется AES256 с 128 битным блоком в режиме LRW 128. Режим LRW 128 создан специально для шифрования дисков, и защищает от ряда специфичных для этого применения атак. Ключ шифрования формируется случайным образом и хранится в зашифрованном виде в первом секторе тома. Первый сектор зашифрован аналогично всему диску, но его ключ формируется из введенного пароля с помощью sha1-hmac по стандарту pkcs5. Использование salt исключает атаки по rainbow tables, а 1000 итераций хеширования замедляют перебор паролей, добавляя стойкости даже относительно коротким паролям. Ключевым компонентом, определяющим реальную безопасность этой системы, является генератор случайных чисел (PRNG) с помощью которого генерируются ключи. В моей реализации используется PRNG на sha1-хешах с несколькими источниками энтропии. Он построен на основе модифицированного PRNG из TrueCrypt. Модификация сделана для повышения стойкости к атакам на предсказание внутреннего состояния PRNG. В качестве быстрых источников энтропии используется ряд функций ядра, счётчик тактов процессора и системное время. PRNG обновляет своё состояние с помощью этих функций при каждом использовании, а так же в момент ряда системных событий (таких как подключение тома, открытие/закрытие файлов, и. т.д.). В качестве медленного источника энтропии однократно используется PRNG Windows (CryptoAPI), движения мыши в окне программы (постоянно) и системная информация (добавляется периодически). Этого вполне достаточно для исключения возможности предсказания генерируемых ключей, однако в следующих версиях список источников энтропии будет пополнен, для большей гарантии стойкости. Наверняка у вас возникнет вопрос: "Не содержит ли программа бекдор, встроеный автором". Я отвечу – не содержит. Но вы можете мне не верить, и сами проверить и скомпилировать исходники. Я очень рекомендую вам это сделать, после чего отписаться о результатах проверки в гостевой книге и в соответствующих обсуждениях на форумах, ибо, чем больше людей это сделает, тем больше будет доверие к программе.

Риски использования и возможные каналы утечек данных


Я неоднократно слышал о случаях когда спецслужбы ломали различные криптодиски за несколько минут. Обычно такие слухи либо называют выдумкой, либо начинают рассуждать о бекдорах для спецслужб якобы встроеных в шифровальный софт. Бекдоры в проприетарном софте вполне возможны, но зачастую вскрыть зашифрованые данные можно и без них! Виной всему являются утечки конфиденциальных данных в ряд незашифрованых системных файлов. Наиболее опасными файлами в Windows являются реестр, файлы подкачки, crash dump и файл гибернации (hiberfil.sys). В файл подкачки пишеться большая часть памяти пользовательских приложений, в том числе и обрабатываемые ими конфиденциальные данные. DiskCryptor препятствует попаданию ключей и паролей в файл подкачки благоданя хранению их в неподкачиваемой памяти. К тому же пароли и ключи не храняться дольше, чем это нужно для их обработки, после чего занимаемая ими область памяти зануляется. Подобная защита есть во всех адекватных Open-Source криптографических продуктах, но ее не всегда достаточно для сведения риска утечек к нулю. Наиболее опасными являются утечки в hiberfil.sys и в crash дампы, так как при этом на диск сохраняется все содержимое памяти, включая неподкачиваемые области. Положение сильно осложняется тем, что механизм записи дампов и hiberfil.sys полностью недокументирован, и поэтому большинство существующих средств шифрования дисков не могут зашифровать эти файлы и они пишуться в открытом виде на в сектора диска! Последствия этого катострофичны, так как сохранение дампа памяти в открытом виде однозначно приводит к вскрытию всей зашифрованой информации в течении нескольких минут. В общем товарищи из Microsoft подложили нам такую свинью, что и никаких бекдоров в криптософте не надо. Наверняка этой особенностью Windows умеют пользоваться спецслужбы, откуда и пошли соответствующиеся слухи. Наиболее простым решением является отключение дампов и гибернации, о чем кстати сказано в документации к TrueCrypt. Проблема только в том, что большинство пользователей документацию не читают, и получают не безопасность, а только иллюзию таковой. В DiskCryptor начиная с версии 0.2.5 введены меры препятствующие утечкам ключевых данных. Если ваш системный раздел зашифрован, то DiskCryptor будет шифровать дампы и hiberfil.sys. Если не зашифрован, то при наличии подключеных криптодисков вход в гибернацию и запись дампов при крахе системы будут блокироваться, а если подключеных криптодисков нет, то перед входом в гибернацию или записью дампа будет автоматически очищаться кеш паролей в памяти. Таким образом программа препятствует попаданию ключевых данных на диск в открытом виде. Но учтите, что всегда остается вероятность утечки данных по вине стороннего приложения. Например если у вас стоит софт перехватывающий ввод с клавиатуры (это могут быть различные переводчики, программы автоматический смены раскладки клавиатуры, кейлоггеры), либо вы передаете пароли через буффер обмена, то пароли могут быть сохранены в не контролируемом DiskCryptor участке памяти, и попасть во всевозможные места утечки данных, вплоть до сохранения пароля в клавиатурный лог. Чтобы защититься от утечек вызываемых сторонним софтом, вам будет досаточно зашифровать все разделы на которые может идти сохранение подобной информации. Если вы их зашифровали одинаковым паролем, то можете вводить его единократно до загрузки системы. В этом случае пароль защищен от перехвата кейлоггерами и прочим подобным софтом. DiskCryptor дает вам максимально полную автоматическую защиту от основных каналов утечек ключевых данных, однако его использование не отменяет необходимости думать головой.

Компиляция


Для компиляции программы вам понадобится WDK (Windows Driver Kit), VisualStudio 2008 и FASM. Компиляция производится из IDE VisualStudio. Компиляция загрузчика производится отдельно, с помощью FASM.

Отзывы


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


Источник: http://freed0m.org/?index=dcrypt


 
На страницу: 1, 2, 3, 4, 5, 6, 7, 8 След.
Комментарии [скрыть комментарии/форму]
— ntldr (29/11/2007 13:56)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20

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

Часть была заимствована, часть написана. К сожалению удалить половину не получиться :(
— sunny (29/11/2007 13:59)   <#>
как Вам идея то, что нельзя заимствовать, написать на другом языке прграммирования?
— ntldr (29/11/2007 14:08)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
Посмотрим. Погуглю еще денек, если ничего не нагуглиться перепишу исходники с чисто визуальными отличиями, авось не соедет за плагиат. Можно еще реализовать это на ассемблере. Вариант неплохой, но проверить такой код в разы труднее, а значит может возникнуть недоверие.
— Гость (29/11/2007 15:20)   <#>
ntldr, предложи ситуацию, в которой нужна совместимость с форматом Truecrypt'а.
— ntldr (29/11/2007 16:07)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
Совместимость нужна для упрощения доступа к данным под linux, с загрузочного win pe диска, либо при невозможности установки моей программы. Также она является гарантией правильной реализации всей криптографический части (исключая prng), что может увеличить доверие.

P. S. я наше какую-то GPL реализацию LRW, если чуток доработать то должно получиться не медленее, хотя памяти сожрет больше.
— SATtva (29/11/2007 16:15)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
[Об LRW]

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

Скажете тоже! Можете взять из ядра Linux, этот режим реализован в ветках последних версий.

как Вам идея то, что нельзя заимствовать, написать на другом языке прграммирования?

Не делайте этого. Получится производное произведение, а не новое, так что лицензионные вопросы не исчезнут. Это как с переводами на разные языки литературных произведений.
— ntldr (29/11/2007 16:35)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20

Вот именно оттуда я и хочу взять код. Надеюсь с ним не возникнет таких проблем.

В таком случае ответ на наезды был бы коротким. Вы запанетновали LRW? Нет? Тогда пешком и на.уй.
— ent1 (29/11/2007 23:09)   <#>
ntldr
Ну насчет формата, 100% не парься и делай совместимой!
Насчет исходников tc, лично я делал бы софт так, как мне хочется, не обращая внимания на лицензии, обязательно указывая авторство взятого кода. Но и распространял его тоже без любых ограничений, и в некоммерческом виде. Честно говоряя не вижу причины изобретать еще раз реализации всех алгоритмов, имеющихся в свободном доступе, только потому что кто-то написал лицензию под себя.
— serzh (29/11/2007 23:31)   профиль/связь   <#>
комментариев: 232   документов: 17   редакций: 99
Авторы TrueCrypt сделали для себя очень хитрожопую лицензию, по которой они могут брать код из GPL, но если ты используешь хоть строчку их исходников, то обязан распостранять свой код под их лицензией.

В GPL это невозможно.

В качестве лицензии для следующей версии я выбрал GPL v3 с дополнениями запрещающими использование моего кода в каком-либо проекте без моего согласия.

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

Если я вынужден переписывать открытый код, то почему я должен позволять пользоваться своим кодом другим?

Вы уверены, что правильно поняли идею Open Source? Одно из преимуществ лицензий copyleft (GPL, CC-BY-SA, BSD и т.д.) – это возможность творить без получения множества разрешений, т.к. очень часто получить разрешение затруднительно или вообще невозможно.
— ntldr (30/11/2007 04:20)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20

GPL v3 допускает внесение дополнений. Правда я не знаю насколько это будет совместимо с GPL v2 кусками кода, поэтому возможно придется использовать ее без всяких дополнений.



Сначала я тоже так считал. Но после наезда авторов трукрипт у меня изменилось мнение, теперь я считаю что если мне творить без разрешения не дают, то я тоже никому не дам. Тем же авторам трукрипта никогда не позволю брать мой код и вводить к себе мой функционал. Если они так хотят, пускай переписывают, я ведь переписывал их код.
— ntldr (19/12/2007 20:35)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
Сегодня выпущена новая версия DiskCryptor 0.2 beta. В ней исправлено несколько багов и добавлены новые фичи:

[19.12.2007] – 0.2 beta
+ Added bootloader settings. Changing messages of entering password, and incorrect password.
+ Setting behavior loader when entering an incorrect password (system halt / reboot).
+ Added about box.
+ Added encryption speed test.
+ Full support of Windows Vista / Server 2008 (not tested on x64 versions)
+ Added program settings.
+ Now you can change name of the driver during installation.
+ Added hotkeys.
+ Added support for SCSI devices.
+ Added full support for removable devices (external disks, fleashes, cardreaders).
+ Added command line bootloader fix tool.
+ Added some "fool proof" checks.
+ Rewritten most of the boot code, it becomes smaller.
+ Extreme improved cryptographic functions for the x86 architecture. Increased speed in 1.5-1.7 times compared with TrueCrypt
+ Removed license violations with TrueCrypt collective license. All TrueCrypt code rewritten.
+ Improved random numbers generator used to generate keys. Added new sources of entropy.
+ The license is changed to GPL v3.
+ Fixed BSOD when extraction removable device in the encryption / decryption progress.
+ Fixed bug with bootloader not installed, if you starting encryption process without admin privilege
+ Fixed bug with it is impossible formatting encrypted volume.
+ Fixed many small problems with some flashes and cardreaders.
+ Fixed bug with decryption volume in SATA ACHI disk.

Также начиная с этой версии доступен исходный код программы, так как все заимствованые у TrueCrypt части переписаны.
— ntldr (12/01/2008 09:07)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
DiskCryptor обновлен до версии 0.2.5 beta. Как всегда вас ждут новые фичи и багфиксы:

[11.01.2008] – 0.2.5 beta
+ Added crash dumps and hiberfil encryption feature.
+ Added data leak control. This feature preventing data leaks through non-encrypted system files.
+ Improved volume encryption/decryption speed.
+ Fixed GUI crash on Vista 64
+ Fixed bug with extended partition corruption on boot disk.
+ Fixed bug with impossible to boot from FAT16 partition.
+ Fixed bug with decryption speed test.
+ Fixed small bugs in bootloader.

Обновлена статья о программе (добавлено описание каналов утечек данных и меры противодействия им).

Качайте и юзайте новый релиз: http://freed0m.org/storage/dcrypt/dcrypt_0.2.5b/
— SATtva (12/01/2008 21:06)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Страница новости постепенно превращается в полноценную документацию, что не есть правильно. Может стоит перенести описание на соответствующую страницу?
— Гость (13/01/2008 04:27)   <#>
ntldr, а в перспективе вы планируете портировать эту программу на никсы? По сею пору одним из основных затыков *BSD в плане шифрования дисков было отсутствие подобного софта под них (с "отрицаемым" скрытием данных), TC ибо так и остался только под линухом... Может быть, вы будете первый кто осмелится на это, портировать под BSD?
— ntldr (13/01/2008 14:33)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
Как изучу написание драйверов под BSD, так этим и займусь.
На страницу: 1, 2, 3, 4, 5, 6, 7, 8 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3