VeraCrypt поправя грешки, открити при одит на сигурността

Изследователите по сигурността завършиха одита на фонда за подобряване на технологията с отворен код на платформата за криптиране VeraCrypt и откриха осем критични, три средни и 15 уязвимости с ниска степен на сериозност. Екипът зад популярния инструмент разгледа констатациите на одита във VeraCrypt 1.19. Ето как трябва да работят одитите за сигурност.

OSTIF заяви, че VeraCrypt 1.9 е в безопасност, тъй като повечето от недостатъците са отстранени. Някои уязвимости не бяха разгледани в тази версия поради „високата сложност на предложените корекции“, но съществуват решения за тях.

„Стига да следвате документацията за известни проблеми и да я използвате според препоръките, аз вярвам, че [VeraCrypt 1.9] е една от най-добрите системи за FDE [шифроване на пълен диск],“ каза Дерек Цимер, главен изпълнителен директор и президент на OSTIF, в Въпроси и отговори на Ask-Me-Anything на Reddit. Zimmer също е партньор с доставчик на виртуална частна мрежа VikingVPN.

OSTIF нае старши изследовател по сигурността на Quarkslab Жан-Батист Бедрун и старши криптограф Марион Видо, за да проверят кодовата база VeraCrypt, фокусирайки се върху версия 1.18, и DCS EFI Bootloader. Одитът се фокусира върху нови функции за сигурност, които бяха въведени във VeraCrypt след одита за сигурност на TrueCrypt през април 2015 г. VeraCrypt е вилицата на този изоставен сега инструмент за криптиране и е съвместим назад.

Четири проблема в буутлоудъра - натискания на клавиши, които не се изтриват след удостоверяване, чувствителни данни не са изтрити правилно, повреда на паметта и нулеви / лоши препратки към указателя - бяха открити при одита и отстранени във версия 1.19 

Отстранен е и недостатък на паролата за стартиране с ниска степен, при който дължината на паролата може да бъде определена. Въпреки че изтичането на информация само по себе си не е критично, тъй като системата трябва да бъде стартирана и се изисква привилегирован достъп за четене на паметта на BIOS, уязвимостта трябваше да бъде отстранена, тъй като атакуващият, знаещ дължината на паролата, би ускорил времето, необходимо за груба сила атаки, каза одитът.

VeraCrypt разчиташе на функции за компресиране, за да декомпресира буутлоудъра, когато твърдият диск е криптиран, да създава и проверява дисковете за възстановяване, ако системата е криптирана и използва UEFI, и по време на инсталацията. Одитът установи, че всички функции за компресиране имат проблеми.

VeraCrypt използваше XZip и XUnzip, които имаха известни уязвимости и бяха остарели. „Настоятелно препоръчваме или да пренапишете тази библиотека и да използвате актуална версия на zlib, или за предпочитане да използвате друг компонент за обработка на Zip файлове“, казаха одиторите. VeraCrypt 1.19 замени уязвимите библиотеки с libzip, модерна и по-сигурна zip библиотека.

UEFI е една от най-важните - и най-новите - функции, добавени към VeraCrypt, така че одиторите обърнаха допълнително внимание на тази част от кода. Целият код, специфичен за UEFI, е в хранилището VeraCrypt-DCS и е „считан за много по-зрял от останалата част от проекта“ от водещия разработчик на VeraCrypt, пишат изследователите в одиторския доклад. „Някои части са непълни или изобщо не са непълни.“

В резюмето на одита OSTIF пише, че „VeraCrypt е много по-безопасно след този одит, а корекциите, приложени към софтуера, означават, че светът е по-безопасен, когато се използва този софтуер.“  

В резултат на одита VeraCrypt изхвърли симетричен блоков шифър GOST 28147-89, първоначално добавен във VeraCrypt 1.17, поради грешки в начина, по който беше внедрен. Криптирането по GOST 28147-89 беше разработена от Съветския съюз алтернатива на DES, предназначена да укрепи алгоритъма. Всички библиотеки за компресиране се считат за остарели или лошо написани, установи одитът. Внедряването "не успя", каза Цимер в Reddit AMA.

Във версия 1.9 потребителите могат да дешифрират съществуващите томове, които са използвали шифъра, но не могат да създават нови копия.

Потребителите, които са използвали GOST шифъра, който е бил премахнат като част от одита, трябва да криптират старите дялове, като използват най-новата версия. Потребителите трябва също да криптират отново на всички системи за шифроване на пълен диск, тъй като са отстранени редица проблеми с буутлоудъра. Всеки, който е използвал версии преди 1.18, трябва да криптира отново дяловете поради грешката, свързана с откриването на скрити дялове.

VeraCrypt е вилица на TrueCrypt, която разработчиците внезапно се изключиха през май 2014 г., намеквайки за неуточнени проблеми със сигурността. Имаше опасения, че платформата има задна врата или някакъв друг недостатък, компрометиращ инструмента. Одитът беше необходим за оценка на цялостната сигурност на платформата.

OSTIF заяви, че TrueCrypt 7.1a вече не трябва да се счита за безопасен, тъй като вече не е под активна поддръжка и е засегнат от проблемите с буутлоудъра, разкрити в одита. Докладът за одит обаче предполага също така, че слабостите в TrueCrypt 7.1a не засягат сигурността на контейнери и несистемни устройства.

Лесно е да се отхвърли VeraCrypt като опасна поради разкритите проблеми, но това игнорира цялата стойност на провеждането на одит. Ако одитът е разкрил проблеми и екипът е отказал да ги отстрани или не е реагирал на исканията на одиторите, това би породило безпокойство. В този случай Quarkslab приключи одита за един месец и поддържащите фиксираха значителен брой проблеми и подробно документираха как да се справят с останалите проблеми, които не бяха разгледани. Да, одиторите откриха някои съмнителни решения и грешки, които не би трябвало да бъдат допуснати на първо място, но не е имало проблемни бекдори или някакви уязвимости, които компрометират целостта на инструмента за шифроване на пълен диск.

Естеството на разработката с отворен код означава, че изходният код е достъпен за всеки, който може да разгледа. Но, както беше многократно показано през последните няколко години, много малко разработчици активно търсят недостатъци в сигурността. Ето защо, въпреки подхода „много очни ябълки“, Heartbleed и Shellshock и други критични уязвимости се задържаха в OpenSSL с години, преди да бъдат открити.

С одит професионалистите изследват всеки ред от изходния код на софтуера с отворен код, за да проверят целостта на кода, да разкрият недостатъци в сигурността и задните врати и да работят с проекта, за да отстранят възможно най-много проблеми. Одитът обикновено е скъп - частната търсачка DuckDuckGo и услугата за виртуална частна мрежа Viking VPN бяха основните дарители на OSTIF за този одит - поради което одитите не са по-често срещани. Тъй като обаче много търговски продукти и други проекти с отворен код разчитат много на шепа проекти с отворен код, одитите стават все по-важни.

След завършване на одита VeraCrypt OSTIF очаква одити на OpenVPN 2.4. GnuPG, Off-the-Record и OpenSSL също са в пътната карта. Инициативата за основна инфраструктура на фондация Linux заяви планове за публичен одит на OpenSSL с NCC Group, но статутът на този проект в момента не е ясен.

„Иска ми се просто да ударим всеки проект, който всеки харесва, и списъкът ми ще бъде огромен, но имаме ограничени ресурси, с които да работим и осигуряването на финансиране е огромното мнозинство от нашата работа в момента“, пише Цимер, отбелязвайки, че OSTIF се фокусира по един „обещаващ“ проект във всяка област на криптографията.