id: Гость   вход   регистрация
текущее время 00:31 17/04/2024
Владелец: ntldr (создано 19/11/2007 23:21), редакция от 12/01/2008 09:02 (автор: ntldr) Печать
Категории: софт, инфобезопасность, защита дисков, truecrypt, исходные тексты, свободный софт
https://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 След.
Комментарии [скрыть комментарии/форму]
— 0per (23/01/2008 02:31)   <#>
как насчет поддержки смарт-карт?
— ntldr (23/01/2008 09:31)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20

В близжайших планах не значиться. Но прога открытая, хотите поддержку – подключайтесь к разработке.
— 0per (01/02/2008 23:22)   <#>
ок – у меня есть кое какие наработки по смарт-картам
— ntldr (02/02/2008 00:31)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
Проблема не в смарт-картах, для них есть опенсорсные библиотеки. Проблема в работе с USB до загрузки ОС.
— 0per (04/02/2008 00:37)   <#>
ну да – точно .... bad idea...
— Проходил_Мимо (07/02/2008 23:06)   <#>
Захотелось сказать по поводу якобы "наездов" со стороны TrueCrypt Foundation.
Ничего кроме тщеславных соплей со стороны разработчика не увидел.
Переписка была? Конкретные претензии высказывались?
Понял, что автор программы – истерик.

Насколько я понял, весь наезд со стороны разработчиков TC сводился только к старому названию программы? Так, блин, лицензию читать надо заранее, там английским по белому написано.
И про GPL в лицензии написано прямо, что, мол, можно использовать их код в GPL-проектах. Так что к чему нагнетание страстей на тему переписывания кода, я так и не понял.

Но это так, в порядке толики здравого смысла. Программе, как и любому опенсорсу, могу пожелать удачного роста и развития.
— Гость (07/02/2008 23:54)   <#>
И про GPL в лицензии написано прямо, что, мол, можно использовать их код в GPL-проектах.
Может, процитируете, где это написано?

Есть вот даже такая фраза:
You must not change the license and distribution terms of This Product in any way (i.e., no part of This Product may be put under another license)


Лицензия у них составная – разная для разных участков кода. Под GNU GPL можно использовать только реализацию алгоритма Twofish.
— Гость (08/02/2008 00:06)   <#>
Есть вот даже такая фраза:

В новой (1.3) версии их лицензии эта фраза написана так:
You must not change the license terms of This Product in any way (adding any new terms is considered changing the license terms even if the original terms are retained), which means, e.g., that no part of This Product may be put under another license
Просто добавлено разъяснение того, что было в предыдущей версии.
— ntldr (08/02/2008 00:24)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20

Ой как не культурно. Вы не умеете общаться вежливо? Тогда эта ссылка для вас http://lleo.aha.ru/na


Было высказано требование прекратить распостранение программы, либо распостранять ее только под TrueCrypt license. Я категорически против этой лицензии, так как она имеет неопределенную степень легальности и создает проблемы разработчикам.


Пожалуйста не надо столь нагло врать.
— Проходил_Мимо (08/02/2008 08:11)   <#>
>Пожалуйста не надо столь нагло врать.

Цититрую (источник: http://www.truecrypt.org/license.php):
The complete source code of Your Product must be freely and publicly
available (for exceptions, see Sections III.2 and III.3) at least until You
cease to distribute Your Product. To meet this condition, it is sufficient
that You merely include the source code with every copy of Your Product
that You make and distribute; it is also sufficient that You merely include
information (valid and correct at least until You cease to distribute Your
Product) about where the source code can be freely obtained (e.g., an
Internet address, etc.) with every copy of Your Product that You make and
distribute. Portions of the source code that were created by You (e.g. Your
additions to This Product) must be available under license(s) that are/is
compatible with this version of the TrueCrypt License (however, see also
Subsection III.1.e) and that allow(s) anyone to modify and derive new works
from Your Product (and portions thereof) and to use, copy, and redistribute
such modifications and/or derivative works. The license(s) must be
perpetual, non-exclusive, royalty-free, no-charge, and worldwide, and must
not invalidate, weaken, restrict, interpret, amend, modify, interfere with
or otherwise affect any part, term, provision, or clause of this License.
The text of the license(s) must be included with every copy of Your Product
that You make and distribute. The source code must not be deliberately
obfuscated, and it must not be in an intermediate form (e.g., the output of
a preprocessor). Source code means the preferred form in which a programmer
would usually modify the program.

GPL подходит под указанное описание.
Это раз.

А в части Copyright © 1998-2006, Brian Gladman:
ALTERNATIVELY, provided that this notice is retained in full, this product
may be distributed under the terms of the GNU General Public License (GPL),
in which case the provisions of the GPL apply INSTEAD OF those given above.
Также доказывает совместимость лицензии с GPL.

Таки внимательнее читать надо, не так ли?

> Ой как не культурно. Вы не умеете общаться вежливо?
Отдельные лично ваши высказывания на счет разработчиков TrueCrypt не более вежливы. Обойдемся без цитирования по этой теме?

Ну и напоследок:
>либо распостранять ее только под TrueCrypt license. Я категорически против этой лицензии, так как она имеет неопределенную степень легальности и создает проблемы разработчикам.
Любая лицензия легальна и имеет юридическую силу. Даже если ее напишет Вася Пупкин и там будет сказано, что для использовании программы нужно купить автору пива.
— ntldr (08/02/2008 12:44, исправлен 08/02/2008 12:51)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
Portions of the source code that were created by You (e.g. Your
additions to This Product) must be available under license(s) that are/is
compatible with this version of the TrueCrypt License

Это понимается как то, что мой код в составе программы может распостраняться под GPL, но программа целиком должна распостраняться под TrueCrypt License. Нахрен мне такое счастье.

Цитирую часть пришедшего мне письма:
It is impossible to distribute portions of TrueCrypt as part of a
larger work under the GPL license. The GPL requires that all portions of
the product must be governed by the GPL. However, the TrueCrypt License
forbids such a change of governing license terms.

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

Также доказывает совместимость лицензии с GPL

Это доказывает только то, что автор именно того конкретного файла разрешает его использование под GPL. Мой же случай касался файлов pkcs5.c и GfMul.c

Любая лицензия легальна и имеет юридическую силу.

Ой ли? Садись, два. Лицензия не имеет юридической силы если она нарушает законы государства, либо нарушает другие лицензии. В случае же с TrueCrypt у многих есть сомнения в допустимости такой лицензии. Если вы хорошенько поищете не форуме, то найдете обсуждение на эту тему.
— Гость (08/02/2008 13:12)   <#>
А в части Copyright © 1998-2006, Brian Gladman:
ALTERNATIVELY, provided that this notice is retained in full, this product
may be distributed under the terms of the GNU General Public License (GPL),
in which case the provisions of the GPL apply INSTEAD OF those given above.
Также доказывает совместимость лицензии с GPL.

Это доказывает лишь, что
Под GNU GPL можно использовать только реализацию алгоритма Twofish.
потому что иначе как вы объясните
Copyright © 1995-1997 Eric Young ... The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]


Если из TrueCrypt вы используете ту часть кода, что под TrueCrypt License Version 2.4, то:
You must include the following items with every copy of Your Product that You make and distribute: a clear and conspicuous notice stating that Your Product or portion(s) thereof is/are distributed under this version of the TrueCrypt License.

Таки внимательнее читать надо, не так ли?
Именно так! :)

The license(s) ... must
not invalidate, weaken, restrict, interpret, amend, modify, interfere with or otherwise affect any part, term, provision, or clause of this License.

GPL подходит под указанное описание.
Вы в этом твёрдо уверенны?

А вообще свободному программисту не резон заниматься юридическими тонкостями в определении совместимости лицензий. Есть даже хорошая практика публиковать список допустимых лицензий явно, например как тут.
— FTT (08/02/2008 13:40)   <#>
ntldr, несколько вопросов в связи с выходом TC5.
Планируется ли совместимость DiskCryptor с новым форматом ТС5 (SHA-512, XTS, кстати, не могли бы вы объяснить, в чем ее преимущество по сравнению с LRW)?
Не позаимствовали ли они в новой пятой версии код из DiskCryptor?
Возможно ли, теоретически, создание имеющей юридическую силу лицензии запрещающую использовать код в TC но в остальном схожую с GPL?
— Paran0ik (08/02/2008 13:47)   профиль/связь   <#>
комментариев: 88   документов: 13   редакций: 3
ИМХО чтобы иметь какие-то юридические притензии – нужно выпускать программу официально, а в России надо получать на программы для шифрования лицензию у фсб... риторический вопрос – надо ли это ntldr'у?
— Гость (08/02/2008 13:53)   <#>
Отдельные лично ваши высказывания на счет разработчиков TrueCrypt не более вежливы.
Высказывания – это дело совести говорящего. Когда был невежлив oн – это на его совести, а вот когда вы – то на вашей.
Вообще аргумент типа "я могу в него стрелять, потому что раньше видел, как он стрелял в других" :)
На страницу: 1, 2, 3, 4, 5, 6, 7, 8 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3