Quarkslab made a security assessment of VeraCrypt 1.18. The audit was funded by OSTIF and was performed by two Quarkslab engineers between Aug. 16 and Sep. 14, 2016 for a total of 32 man-days of study. A critical vulnerability, related to cryptography, has been identified. It has been introduced in version 1.18, and will be fixed in version 1.19.
VeraCrypt представляет из себя ПО для шифрования файлов на лету и является ответвлением (форком) от другого известного ПО для шифрования под названием TrueCrypt, поддержка которого была прекращена еще в 2014 г. Поддержка VeraCrypt осуществляется французским программистом Mounir Idrassi.
Исправлению подверглось как само ПО, так и та его часть, которая относится к загрузчику ОС (bootloader). Следующие уязвимости были исправлены в версии 1.19.
— Полностью удалена настройка шифрования по стандарту GOST 28147-89.
— Удалена поддержка библиотек XZip и XUnzip, вместо них VeraCrypt использует более безопасные библиотеки libzip.
— Исправлена уязвимость в загрузчике (bootloader), которая позволяла атакующему вычислять длину пароля.
— Исправлена уязвимость в коде загрузчика, которая позволяла оставлять в памяти BIOS Data Area введенный пользователем пароль, что могло быть использовано атакующими.
— Исправлена аналогичная уязвимость, которая позволяла оставлять конфиденциальные данные загрузчика в памяти, не удаляя их должным образом. Уязвимость может позволить атакующим получить доступ к новому паролю пользователя при его изменении со старого.
— Исправлена уязвимость в загрузчике, которая относится к типу memory-corruption и присутствует в коде библиотеки XUnzip при обработке архивов VeraCrypt Recovery Disk. Уязвимость устранена путем прекращения поддержки XUnzip и переходом на libzip.
— Исправлена уязвимость в загрузчике, которая приводила к разыменованию нулевого указателя,
С полной версией отчета о проделанном аудите можно ознакомиться здесь.
be secure.
Комментарии (19)
Revertis
18.10.2016 17:06Ну что же, это хорошо. Ждём, что данные аудиты станут проводиться хотя бы ежегодно.
work15
18.10.2016 23:36Может кто выложит побольше инфы по аудиту, такие как здесь уже были по TrueCrypt?
asoloviov
18.10.2016 23:36+1Будет нелишним упомянуть, что до конца октября должно обновиться заявление «VeraCrypt's Warrant Canary», опубликованное вместе с кодом и бинарниками по указанной ссылке, но подписанное еще 30-ого сентября. Отсутствие такого обновления или изменение его принципиального смысла может трактоваться пользователями приложения как начало сотрудничества разработчиков с «органами». Вместе с устранением уязвимостей могут появиться и новые закладки…
kamtec1
19.10.2016 12:22Хорошая новость, достойный сменщик truecrypt .
dartraiden
21.10.2016 20:18+1Можно сказать, единственный. Если взглянуть на остальные форки, то:
CipherShed: за всё время выпустили лишь одну версию с минимальными изменениями.
GostCrypt: единственная их «фишка» — российская криптография, уже не эксклюзив.
LibreCrypt: в духе прочих проектов с приставкой Libre занимаются не добавлением, а удалением возможностей. Убрали поддержку шифрования системы («рекомендуем для этого Ubuntu»). Что-то мутят с возможностью создавать LUKS-контейнеры.
railiqwan
19.10.2016 12:22+3Полностью удалена настройка шифрования по стандарту GOST 28147-89.
А чем именно им не угодил ГОСТ? Есть какие то реальные претензии, или «просто не нравится»?chmod
21.10.2016 18:09Как я понял из отчета, для совместимости с XTS режимом, который использует блоки по 128 бит, 64-х битный блок ГОСТа удваивают и шифруют через CBC с неким нулевым IV, что не дает строго случайные данные в этом зашифрованном 128-и битном блоке.
railiqwan
28.10.2016 18:32Ясно, спасибо, буду теперь иметь в виду.
Хотя если я правильно понял эта «слабость» она для бытового хранения данных не актуальна и от «просто любопытных данные» защищены?
deemru
21.10.2016 18:09+1В VeraCrypt есть более актуальный шифр — «Кузнечик», и, кстати, хеш — «Стрибог».
Поэтому удаление поддержки ГОСТ 28147-89 не наносит ущерба отечественной криптографии.
railiqwan
28.10.2016 18:35Да я если в целом больше не о отечественной криптографии беспокоюсь, сколько о своей личной :) Я по привычке в основном только гост использую, так что опасался что придется все «перезащищать».
miksoft
А есть информация, какие из этих уязвимостей были портированы из TrueCrypt, а какие привнесены позднее?
dartraiden
Из официального ченджлога можно узнать об одной такой уязвимости (унаследованной), а из новости на опеннете (новостники у них крутые, но в комментах традиционно жуткое петросянство), что большинство уязвимостей содержится в новом EFI-загрузчике, который был представлен лишь в прошлом выпуске. Постепенно его отшлифуют. Сам загрузчик — очень нужен, поскольку старый (MBR-загрузчик) не может работать на современных системах, где ОС установлена на GPT-раздел.
dartraiden
Кстати, интересный факт: есть метод, позволяющий практически со 100% вероятностью узнать, есть ли внутри тома TrueCrypt другой том, скрытый. В VeraCrypt это исправлено, а вот пользователям TrueCrypt правдоподобно отрицать наличие скрытого тома («вот, гражданин начальник, я при вас ввёл пароль и тут только фоточки с котиками, больше ничего нет») уже невозможно. Исправляться в TrueCrypt это уже не будет. В этом его фатальный недостаток — развитие прекращено.
SannX
А где описан этот метод? Хотелось бы поподробнее узнать.
dartraiden
Вот коммит, устраняющий уязвимость:
https://sourceforge.net/p/veracrypt/code/ci/2c382ba15eab4e91c038ca9b0f7ab1f72fc5cf82/
X12ab
Здравствуйте! помогите, столкнулся с проблемой: зашифровал системные диски с помощью veracrypt перезагружаю пк ввожу пароль, а меня ещё просят ввести PIM хотя я его не вводил при зашифровки.подскажите что делать
dartraiden
PIM (если иное не указывалось при шифровании) — дефолтный. Следует просто нажать Enter при запросе, будет подставлено значение по умолчанию и начнётся расшифровка.
В настройках программы можно выбрать опцию «Do not request PIM», тогда это значение (количество итераций шифрования) будет храниться прямо в загрузчике.