Осенью прошлого года в ходе краудфандинговой кампании с целью проведения всестороннего аудита безопасности популярной криптографической программы TrueCrypt было собрано больше 60 000 долларов. 14 апреля завершился первый этап аудита — компания iSECpartners представила отчёт об аудите качества кода TrueCrypt. На втором этапе будет проведён формальный криптоанализ.
В ходе аудита кода обнаружено 11 ошибок — среди них ни одной критической, четыре ошибки средней степени опасности, четыре — низкой и три в категории «informational» — то есть практически несущественные с точки зрения безопасности. В 32-хстраничном отчёте (PDF) для наглядности найденные баги сведены в диаграмму по признакам степени риска и легкости эксплуатации. В левом нижнем углу — зона наивысшей опасности, в правом верхнем — наинизшей.
Аудиту подвергался код версии 7.1a и бинарник для Windows. Несмотря на отсутствие критических уязвимостей, аудиторы отметили не очень высокое качество кода, в частности — недостаток комментариев, использование небезопасных или устаревших функций, отсутствие единообразия в типах переменных, в частности, хаотичное использование разных типов целых — длинных и коротких, со знаком и без знака. Хотя в целом принцип разбиения кода на небольшие функции, исполняющие одну конкретную задачу, соблюдался, некоторые функции имели объём около 700 строк, что затрудняло их анализ.
Идея провести аудит TrueCrypt и заодно привести в порядок его код, лицензию и процедуру сборки на всех платформах возникла на волне истории с тотальной прослушкой интернета Агентством национальной безопасности США, о которой стало известно благодаря Эдварду Сноудену. Публикация информации о деятельности АНБ вызвала множество опасений по поводу наличия закладок спецслужб в открытых криптографических продуктах.
Автор: ilya42