TrueCrypt: аудит пройден, интрига сохраняется
Как известно, отрицательный результат — тоже результат, только вопросов он ставит больше, чем даёт ответов. Именно так обстоят дела с приложением TrueCrypt, вокруг которого за последние полтора года разыгралась настоящая драма. Сейчас в этой затянувшейся истории как будто бы поставлена точка, но вот именно что «как будто бы»: аудит исходных текстов завершён, ничего подозрительного не выявлено — и это-то как раз самое подозрительное.
Предыстория, в общем, короткая. TrueCrypt — одно из самых популярных (и даже легендарное) решений в индустрии стойкого крипто. Открытый, хоть и не свободный код, богатейший функционал и переносимость, никакой самодеятельности в смысле применяемых алгоритмов — опора только на математически надёжные методы шифрования. Стойкость такова, что даже спецслужбы пасуют перед шифрованными TC файлами и томами. Одно плохо: кто авторы — неизвестно, а десять лет трудиться ради идеи (продукт бесплатный) может себе позволить мало какой энтузиаст. Так что вполне естественно в какой-то момент родилось подозрение, что за программой стоят те же самые спецслужбы.
Своего пика паранойя достигла в 2013, когда был организован сбор средств на
TrueCrypt оказался во всех отношениях качественным программным продуктом. Ни слабостей, которые бы существенно облегчили вскрытие шифра, ни тем более умышленно внедрённых «бэкдоров» не обнаружено. Да, найдены кое-какие мелочи, которые — теоретически, при условии крайне редкого стечения обстоятельств — способны ослабить стойкость защиты, однако даже для самых серьёзных из них практическая эксплуатация слишком затруднительна, чтобы среднестатистического пользователя TrueCrypt это беспокоило (к примеру, TC использует стандартный генератор случайных чисел в MS Windows, который иногда сбоит — но на качестве генерируемых криптоключей это практически не сказывается, потому что ГСЧ служит лишь одним из нескольких источников случайности). Поэтому можно спокойно брать последнюю полноценную версию продукта (7.1a) и пользоваться ею, не обращая внимания на то, что разработка прекращена. Проверено: мин нет!
Вот только как понимать отказ самих авторов от своего детища? Устали? Не все же разом! На них вышла и надавила некая спецслужба? Вероятней: признаться в этом прямо они не могли, а потому решили работу прекратить — и таким образом иносказательно сообщили о проблеме. И, выходит, установить контроль над TrueCrypt службисты не успели, иначе, конечно, такой популярный проект закрывать бы не стали.
Продлив эту линию рассуждений, мы выйдем даже на более интересную мысль: отныне нет необходимости в форках — которых уже
И всё-таки не спешите реабилитировать TrueCrypt, а тем более его переработки. Проблема? Отсутствие доказательства наличия закладок не эквивалентно доказательству их отсутствия. Этот фундаментальный логический принцип заставляет извлечь на свет божий минимум два парадоксальных аргумента.
Во-первых, что мы имеем? Некие специалисты изучили исходники программы и пришли к выводу, что слабых мест в них нет. Но кто они, кто проводил аудит, кто руководил проектом?
Второй аргумент серьёзней. Аудиторы могли попросту не заметить закладку в коде TrueCrypt, тем более, если руку к его созданию приложило АНБ или подобная ему организация. Насколько это вероятно (ведь речь, в конце концов, о профессионалах высшей пробы, не о любителях каких-нибудь)? Очень вероятно. А почему — замечательно в своё время объяснил Кен Томпсон (да, тот самый).
Это не научная работа, скорее развлекательный материал, где на элементарных примерах Томпсон показывает, почему (цитирую) никакое количество часов, потраченных на анализ исходников, не защитят от вредоносного кода — и чем ниже уровень, на котором функционирует программа (а TrueCrypt во многих смыслах оперирует на самом низком уровне), тем труднее будет обнаружить закладку.
Попросту говоря, безобидный внешне код способен трансформировать себя, выдавая через одну или несколько итераций что-либо опасное. В свете такого довода (которому, кстати, тридцать лет в обед), благоприятный результат аудита TrueCrypt выглядит особенно пугающе. Необходим новый проект, зачатый с нуля, людьми, имена и биографии которых известны, развиваемый под свободной лицензией.
А про TrueCrypt лучше забыть. От греха подальше.