Введение
TrueCrypt – это программа для шифрования диска с открытым исходным кодом, распространяемая бесплатно и используемая для шифрования на лету (OTFE). Она позволяет создавать виртуальный зашифрованный диск в файле или шифровать раздел или всё устройство хранения (с предварительной загрузочной аутентификацией). 28 мая 2014 года на веб-сайте TrueCrypt было объявлено о прекращении поддержки проекта и рекомендовано пользователям найти альтернативные решения. Несмотря на то, что разработка TrueCrypt была остановлена, независимый аудит TrueCrypt (опубликованный в марте 2015 года) показал отсутствие значительных уязвимостей. От TrueCrypt отделились два проекта: VeraCrypt (активно разрабатываемый) и CipherShed (заброшенный).
TrueCrypt is a discontinued source available freeware utility used for on the fly encryption (OTFE). It can create a virtual encrypted disk within a file, or encrypt a partition or the whole storage device (pre boot authentication). On 28 May 2014, the TrueCrypt website announced that the project was no longer maintained and recommended users find alternative solutions. Though development of TrueCrypt has ceased, an independent audit of TrueCrypt (published in March 2015) has concluded that no significant flaws are present. Two projects forked from TrueCrypt: VeraCrypt (active) and CipherShed (abandoned).
История
TrueCrypt был первоначально выпущен в версии 1.0 в феврале 2004 года, основанный на E4M (Encryption for the Masses). С тех пор было выпущено несколько версий и множество незначительных обновлений, при этом самой последней версией является 7.1a. Вскоре после выхода версии 1.0 в 2004 году команда TrueCrypt сообщила о получении электронного письма от Вильфрида Хафнера, менеджера SecurStar, компании, специализирующейся на компьютерной безопасности. Это привело к тому, что команда TrueCrypt немедленно прекратила разработку и распространение TrueCrypt, о чем они объявили онлайн через usenet. Член команды TrueCrypt Дэвид Тесарик заявил, что Ле Ру сообщил команде о юридическом споре между ним и SecurStar, и что ему было рекомендовано юристами не комментировать какие-либо вопросы, связанные с этим делом. Тесарик пришел к выводу, что если команда TrueCrypt продолжит распространять TrueCrypt, Ле Ру может быть признан ответственным и вынужден выплатить SecurStar компенсацию за ущерб. Чтобы действовать добросовестно, по его словам, команде необходимо было проверить действительность лицензии E4M. Однако, из-за необходимости Ле Ру сохранять молчание по этому вопросу, он не смог ни подтвердить, ни опровергнуть ее легитимность, что оставило разработку TrueCrypt в неопределенном состоянии. Впоследствии, посетители сообщали о проблемах с доступом к веб-сайту TrueCrypt, и в сети появились сторонние зеркала, которые постоянно предоставляли доступ к исходному коду и установщику вне официального одобрения команды TrueCrypt. В разделе часто задаваемых вопросов на своем веб-сайте SecurStar продолжает утверждать о своих правах собственности как на E4M, так и на Scramdisk, другую бесплатную программу шифрования. Компания заявляет, что с этими продуктами SecurStar "имела долгую традицию разработки программного обеспечения с открытым исходным кодом", но что "конкуренты не нашли ничего лучшего, чем украсть наш исходный код", что вынудило компанию закрыть исходный код своих продуктов, требуя от потенциальных клиентов размещать крупные заказы и подписывать соглашение о неразглашении, прежде чем им будет разрешено изучить код с точки зрения безопасности. Сам Ле Ру отрицал разработку TrueCrypt на судебном заседании в марте 2016 года, где он также подтвердил, что написал E4M.
Версия 2.0
Через несколько месяцев, 7 июня 2004 года, была выпущена версия TrueCrypt 2.0. Версия 2.1a программного обеспечения была выпущена 1 октября 2004 года на поддомене truecrypt.sourceforge.net. На странице также была объявлена новая версия программного обеспечения 7.2, которая позволяет только расшифровку. Первоначально подлинность объявления и нового программного обеспечения вызывала сомнения. В технологическом сообществе возникло множество теорий, пытающихся объяснить причину этого объявления. Вскоре после объявления о прекращении поддержки TrueCrypt, Gibson Research Corporation опубликовала объявление под названием "Да, TrueCrypt все еще безопасен в использовании" и Final Release Repository для размещения последней официальной, неповрежденной версии 7.1a TrueCrypt. В политике исключения сайта указано, что страницы исключаются по запросу владельца сайта.
Операционные системы
TrueCrypt поддерживает операционные системы Windows, OS X и Linux. Поддерживаются 32-битные и 64-битные версии этих операционных систем, за исключением Windows IA 64 (не поддерживается) и Mac OS X 10.6 Snow Leopard (работает как 32-битный процесс).
Алгоритмы
Индивидуальные шифры, поддерживаемые TrueCrypt, — AES, Serpent и Twofish. Кроме того, доступны пять различных комбинаций каскадных алгоритмов: AES-Twofish, AES-Twofish-Serpent, Serpent-AES, Serpent-Twofish-AES и Twofish-Serpent. Криптографические хеш-функции, доступные для использования в TrueCrypt, — RIPEMD 160, SHA 512 и Whirlpool.
Способы работы
В настоящее время TrueCrypt использует режим работы XTS. Ранее, в версиях 4.1–4.3a TrueCrypt использовал режим LRW, а в версиях 4.0 и более ранних – режим CBC. Считается, что режим XTS более безопасен, чем режим LRW, который, в свою очередь, более безопасен, чем режим CBC. Хотя новые тома могут создаваться только в режиме XTS, TrueCrypt сохраняет обратную совместимость со старыми томами, использующими режимы LRW и CBC.
Вполне правдоподобный опровержение
TrueCrypt поддерживает концепцию, называемую правдоподобным отрицанием, позволяя создать один "скрытый том" внутри другого тома. Кроме того, версии TrueCrypt для Windows обладают возможностью создавать и запускать скрытую зашифрованную операционную систему, существование которой можно отрицать. В документации TrueCrypt перечислены многочисленные способы, которыми функции правдоподобного отрицания скрытых томов TrueCrypt могут быть скомпрометированы (например, сторонним программным обеспечением, которое может приводить к утечке информации через временные файлы, эскизы и т. д. на незашифрованные диски), а также возможные способы предотвращения этого. В статье, опубликованной в 2008 году и посвященной самой последней версии (v5.1a) и ее возможностям правдоподобного отрицания, команда исследователей безопасности во главе с Брюсом Шнайером утверждает, что Windows Vista, Microsoft Word, Google Desktop и другие программы хранят информацию на незашифрованных дисках, что может подорвать правдоподобное отрицание в TrueCrypt. В исследовании предлагалось добавить функциональность скрытой операционной системы; эта функция была реализована в TrueCrypt 6.0. При запуске скрытой операционной системы TrueCrypt также переводит локальные незашифрованные файловые системы и нескрытые тома TrueCrypt в режим только для чтения, чтобы предотвратить утечку данных. Ранее Schneier и другие проводили функциональную оценку правдоподобного отрицания скрытых томов в более ранней версии TrueCrypt, в ходе которой были обнаружены уязвимости в системе безопасности.
Определение томов TrueCrypt
При анализе тома TrueCrypt кажутся лишенными заголовка и содержат случайные данные. Размеры томов TrueCrypt являются кратными 512 из-за размера блока используемого режима шифрования. Инструменты криминалистического анализа могут использовать эти свойства – размер файла, отсутствие видимого заголовка и тесты на случайность – для попыток идентификации томов TrueCrypt. Хотя эти особенности дают основания подозревать файл в принадлежности к TrueCrypt, существуют программы, предназначенные для безопасного удаления файлов путем перезаписи содержимого файла и свободного дискового пространства случайными данными (например, утилиты "shred" и "scrub"), что создает обоснованные сомнения и опровергает утверждения о том, что файл, состоящий из статистически случайных данных, является файлом TrueCrypt. Если системный диск или раздел на нем зашифрован с помощью TrueCrypt, то возможность отрицания существования данных распространяется только на этот раздел. Когда загрузчик TrueCrypt заменяет стандартный загрузчик, оффлайн-анализ диска позволяет однозначно определить наличие загрузчика TrueCrypt, что логически указывает на наличие и зашифрованного раздела TrueCrypt. Несмотря на наличие функций, призванных скрыть его назначение (например, отображение сообщения в стиле BIOS для дезориентации пользователя, такого как "Не системный диск" или "Ошибка диска"), они снижают функциональность загрузчика TrueCrypt и не скрывают его содержимое от оффлайн-анализа. В этой ситуации использование скрытой операционной системы является рекомендуемым способом сохранения возможности отрицания. Также следует учитывать оптимизацию шифрования для многоядерных систем и, в Microsoft Windows, использование конвейерной обработки операций чтения/записи (форма асинхронной обработки). В другой статье было установлено, что снижение производительности практически незаметно при работе с "популярными настольными приложениями в разумных пределах", однако отмечалось, что "требовательные пользователи могут заметить снижение скорости".
Несовместимость с FlexNet Publisher и SafeCast
Установка стороннего программного обеспечения, использующего FlexNet Publisher или SafeCast (которые применяются для защиты программного обеспечения от пиратства в продуктах Adobe, таких как Adobe Photoshop), может повредить загрузчик TrueCrypt на Windows-разделах/дисках, зашифрованных TrueCrypt, и сделать диск незагружаемым. Это происходит из-за некорректной реализации FlexNet Publisher, который записывает данные в первый трек диска, перезаписывая любой загрузчик, отличный от Windows.
Проблемы безопасности
TrueCrypt уязвима к различным известным атакам, которые также встречаются в других программах для шифрования дисков, например, BitLocker. Чтобы предотвратить эти атаки, документация, поставляемая с TrueCrypt, требует от пользователей соблюдения ряда мер безопасности. Некоторые из этих атак описаны ниже.
Ключи шифрования, хранящиеся в памяти
TrueCrypt хранит свои ключи в оперативной памяти; на обычном персональном компьютере DRAM сохраняет своё содержимое в течение нескольких секунд после отключения питания (или дольше, если температура понижена). Даже при некоторой потере данных в памяти, различные алгоритмы могут интеллектуально восстановить ключи. Этот метод, известный как атака с холодной загрузкой (которая особенно применима к ноутбуку, полученному во включенном состоянии, в режиме ожидания или с заблокированным экраном), был успешно использован для взлома файловой системы, защищенной TrueCrypt.
Физическая безопасность
В документации TrueCrypt указано, что TrueCrypt не способен обеспечить защиту данных на компьютере, если злоумышленник получил к нему физический доступ, а затем пользователь снова использует TrueCrypt на этом скомпрометированном компьютере (это не относится к типичным случаям кражи, утери или изъятия компьютера). Злоумышленник, имея физический доступ к компьютеру, может, например, установить аппаратный или программный кейлоггер, устройство с доступом к шине для перехвата памяти, или любое другое вредоносное оборудование или программное обеспечение, позволяющее ему перехватывать незашифрованные данные (включая ключи шифрования и пароли) или расшифровывать зашифрованные данные, используя перехваченные пароли или ключи шифрования. Следовательно, физическая безопасность является фундаментальным требованием для безопасной системы. Подобные атаки часто называют "атаками злой горничной".
Вредоносные программы
В документации TrueCrypt указано, что TrueCrypt не может обеспечить безопасность данных на компьютере, если на нем установлено какое-либо вредоносное ПО. Вредоносное ПО может перехватывать нажатия клавиш, что может привести к раскрытию паролей злоумышленнику.
"Стоунд" ботинки
Буткит "Stoned", руткит MBR, представленный австрийским разработчиком Питером Клейсснером на конференции Black Hat Technical Security Conference USA 2009, способен изменять MBR TrueCrypt, эффективно обходя полное шифрование тома TrueCrypt. Потенциально любое программное обеспечение для шифрования жестких дисков подвержено такому типу атак, если оно не использует аппаратное шифрование, например, TPM, или если атака выполняется с административными привилегиями во время работы зашифрованной операционной системы. Существуют два сценария атаки, позволяющих злоумышленно использовать этот буткит: в первом случае пользователю необходимо запустить буткит с административными правами после загрузки компьютера в Windows; во втором случае, аналогично аппаратным кейлоггерам, злоумышленнику требуется физический доступ к зашифрованному жесткому диску TrueCrypt пользователя. В этом случае необходимо изменить MBR TrueCrypt пользователя на MBR буткита "Stoned", а затем вернуть жесткий диск на компьютер пользователя, не подозревающего об этом. Когда пользователь загрузит компьютер и введет свой пароль TrueCrypt при загрузке, буткит "Stoned" перехватит его, поскольку с этого момента он будет загружаться перед MBR TrueCrypt в последовательности загрузки. Первый тип атаки можно предотвратить, соблюдая обычные правила безопасности, например, избегая запуска ненадежных исполняемых файлов с административными правами. Второй тип атаки пользователь может успешно нейтрализовать, если подозревает, что зашифрованный жесткий диск мог быть физически доступен ненадежному лицу, загрузив зашифрованную операционную систему с Rescue Disk TrueCrypt вместо загрузки непосредственно с жесткого диска. С помощью Rescue Disk пользователь может восстановить MBR TrueCrypt на жестком диске.
Модуль доверенной платформы
В разделе часто задаваемых вопросов на веб-сайте TrueCrypt указано, что модуль доверенной платформы (TPM) не может быть надежным средством обеспечения безопасности, поскольку если злоумышленник имеет физический или административный доступ к компьютеру и вы используете его после этого, компьютер мог быть изменен злоумышленником, например, вредоносный компонент, такой как аппаратный кейлоггер, мог быть использован для перехвата пароля или другой конфиденциальной информации. Поскольку TPM не предотвращает злонамеренные изменения компьютера злоумышленником, TrueCrypt не поддерживает TPM. В октябре 2013 года краудфандинговая кампания по проведению независимого аудита безопасности TrueCrypt была успешно профинансирована. Была создана некоммерческая организация под названием Open Crypto Audit Project (OCAP), которая описывает себя как "глобальную инициативу, основанную на участии сообщества, возникшую в результате первого всестороннего публичного аудита и криптоанализа широко используемого программного обеспечения для шифрования TrueCrypt". Организация установила контакт с разработчиками TrueCrypt, которые приветствовали аудит. Первая фаза аудита была успешно завершена 14 апреля 2014 года и не выявила "доказательств наличия бэкдоров или вредоносного кода". Мэтью Д. Грин, один из аудиторов, добавил: "Я думаю, хорошо, что мы ничего критичного не обнаружили". На следующий день после объявления о прекращении поддержки TrueCrypt, OCAP подтвердил, что аудит будет продолжен по плану, а вторая фаза, как ожидается, начнется в июне 2014 года и завершится к концу сентября. Аудит второй фазы был отложен, но завершен 2 апреля 2015 года компанией NCC Cryptography Services. Этот аудит "не выявил доказательств преднамеренных бэкдоров или серьезных дефектов проектирования, которые могли бы сделать программное обеспечение небезопасным в большинстве случаев". Французское национальное агентство по безопасности информационных систем (ANSSI) заявило, что, хотя TrueCrypt 6.0 и 7.1a ранее получили сертификацию ANSSI, в качестве меры предосторожности рекомендуется перейти на альтернативный сертифицированный продукт. Согласно данным Gibson Research Corporation, Стивен Барнхарт написал на адрес электронной почты члена Фонда TrueCrypt, который он использовал ранее, и получил несколько ответов от "Дэвида". По словам Барнхарта, основная суть сообщений электронной почты заключалась в том, что Фонд TrueCrypt был "доволен аудитом, он не выявил ничего подозрительного", и что причиной объявления было то, что "больше нет интереса [к поддержке проекта]". Согласно исследованию, опубликованному 29 сентября 2015 года, TrueCrypt содержит две уязвимости в драйвере, который TrueCrypt устанавливает в системах Windows, позволяющие злоумышленнику выполнять произвольный код и повышать свои привилегии посредством угона DLL. В январе 2016 года эта уязвимость была устранена в VeraCrypt, но она остается неисправленной в устаревших установщиках TrueCrypt.
Операция "Сатьяграха"
В июле 2008 года у бразильского банкира Дэниела Дантаса, подозреваемого в финансовых преступлениях, было изъято несколько жестких дисков, защищенных TrueCrypt. Бразильский Национальный институт криминологии (INC) в течение пяти месяцев безуспешно пытался получить доступ к его файлам на дисках, защищенных TrueCrypt. Они обратились за помощью к ФБР, которые более 12 месяцев проводили словарные атаки на диски Дантаса, но так и не смогли их расшифровать.
Соединенные Штаты против Джона Доу
В 2012 году Апелляционный суд 11-го округа Соединенных Штатов постановил, что пользователя TrueCrypt, известного как Джон Доу, нельзя принудить к расшифровке нескольких его жестких дисков. В решении суда было отмечено, что экспертам-криминалистам ФБР не удалось обойти шифрование TrueCrypt (и, следовательно, получить доступ к данным), если только Доу сам не расшифрует диски или не предоставит ФБР пароль. Суд постановил, что право Доу на молчание, гарантированное Пятой поправкой к Конституции США, юридически препятствует правительству заставить его это сделать.
Дэвид Миранда
18 августа 2013 года Дэвид Миранда, партнер журналиста Гленна Гринвальда, был задержан в лондонском аэропорту Хитроу полицией столичного управления, направляясь из Берлина в Рио-де-Жанейро. При нем был внешний жесткий диск, предположительно содержащий конфиденциальные документы, касающиеся глобальных разоблачений в области слежки в 2013 году, спровоцированных Эдвардом Сноуденом. Содержимое диска было зашифровано TrueCrypt, что, по словам властей, "значительно затрудняет доступ к материалам". Детектив-суперинтендант Каролин Гуд заявила, что на жестком диске было около 60 гигабайт данных, "из которых на данный момент удалось получить доступ только к 20". Она также отметила, что процесс дешифровки сложен и "на сегодняшний день было восстановлено лишь 75 документов с момента получения носителя". Гринвальд подтвердил эту оценку в интервью Democracy Now!, сообщив, что правительство Великобритании подало в суд аффидевит с просьбой разрешить им сохранить вещи Миранды. Основанием для запроса было то, что они не смогли взломать шифрование и получили доступ лишь к 75 документам, которые он перевозил, причем, по словам Гринвальда, "большинство из них, вероятно, были связаны с его учебой и личными нуждами".
Джеймс Де Сильва
В феврале 2014 года Джеймс Де Сильва, сотрудник IT-отдела Департамента недвижимости штата Аризона, был арестован по обвинению в сексуальной эксплуатации несовершеннолетнего посредством распространения откровенных изображений в интернете. Его компьютер, зашифрованный программой TrueCrypt, был изъят, а Де Сильва отказался сообщить пароль. Специалисты криминалистической лаборатории офиса шерифа округа Марикопа не смогли получить доступ к его сохраненным файлам.
Лаури Лав
В октябре 2013 года британско-финский активист Лаури Лав был арестован Национальным агентством по борьбе с преступностью (NCA) по обвинению во взломе компьютерной системы американского ведомства или агентства и в сговоре с целью совершения аналогичного преступления. Правительство конфисковало все его электронные устройства и потребовало предоставить ключи, необходимые для дешифровки этих устройств. Лав отказался. 10 мая 2016 года судья районного суда (магистратского суда) отклонил запрос NCA о принуждении Лава к передаче ключей шифрования или паролей к файлам TrueCrypt, находящимся на SD-карте и жестких дисках, которые были среди изъятого имущества.
Нагрузка
В ходе расследования дела Друкинга в Южной Корее специальный прокурор расшифровал часть файлов, зашифрованных TrueCrypt, путем подбора парольной фразы. Специальный прокурор отметил, что скрытые тома представляли особую сложность. Ему удалось расшифровать некоторые зашифрованные файлы, используя слова и фразы, которые группа Друкинга применяла в других местах, в качестве составных частей парольной фразы, чтобы сделать обоснованные предположения.
Лицензия и исходная модель
TrueCrypt был выпущен с открытым исходным кодом под "Лицензией TrueCrypt", которая является уникальной для данного программного обеспечения. По состоянию на версию 7.1a (последнюю полную версию, выпущенную в феврале 2012 года), версия Лицензии TrueCrypt была 3.0. Она не входит в число широко используемых лицензий с открытым исходным кодом. Фонд свободного программного обеспечения (FSF) заявляет, что это не лицензия свободного программного обеспечения. Обсуждение условий лицензирования на почтовой рассылке Open Source Initiative (OSI) в октябре 2013 года показало, что Лицензия TrueCrypt добилась прогресса в соответствии с Определением открытого исходного кода, но пока не прошла бы сертификацию как программное обеспечение с открытым исходным кодом, если бы её предложили. По словам действующего президента OSI Саймона Фиппса:
<blockquote> it is not at all appropriate for [TrueCrypt] to describe itself as "open source." This use of the term "open source" to describe something under a license that's not only unapproved by OSI but known to be subject to issues is unacceptable. As OSI director and open source expert Karl Fogel said, "The ideal solution is not to have them remove the words 'open source' from their self description, but rather for their software to be under an OSI approved open source license." major Linux distributions do not consider the TrueCrypt License free: TrueCrypt is not included with Debian, Ubuntu, Fedora, or openSUSE.
> "Совершенно неуместно для [TrueCrypt] описывать себя как "открытый исходный код". Использование термина "открытый исходный код" для описания программного обеспечения, распространяемого под лицензией, которая не только не одобрена OSI, но и, как известно, имеет недостатки, недопустимо. Как отметил директор OSI и эксперт по открытым исходным кодам Карл Фогель, "идеальным решением было бы не удаление слов "открытый исходный код" из самоописания, а переход на лицензию открытого исходного кода, одобренную OSI".
<blockquote> it is not at all appropriate for [TrueCrypt] to describe itself as "open source." This use of the term "open source" to describe something under a license that's not only unapproved by OSI but known to be subject to issues is unacceptable. As OSI director and open source expert Karl Fogel said, "The ideal solution is not to have them remove the words 'open source' from their self description, but rather for their software to be under an OSI approved open source license." major Linux distributions do not consider the TrueCrypt License free: TrueCrypt is not included with Debian, Ubuntu, Fedora, or openSUSE.
Основные дистрибутивы Linux не считают Лицензию TrueCrypt свободной: TrueCrypt не входит в состав Debian, Ubuntu, Fedora или openSUSE.
<blockquote> it is not at all appropriate for [TrueCrypt] to describe itself as "open source." This use of the term "open source" to describe something under a license that's not only unapproved by OSI but known to be subject to issues is unacceptable. As OSI director and open source expert Karl Fogel said, "The ideal solution is not to have them remove the words 'open source' from their self description, but rather for their software to be under an OSI approved open source license." major Linux distributions do not consider the TrueCrypt License free: TrueCrypt is not included with Debian, Ubuntu, Fedora, or openSUSE.
Конец срока службы и версия лицензии 3.1
28 мая 2014 года, вместе с объявлением о прекращении разработки TrueCrypt, вышла новая версия 7.2 программы. Среди многочисленных изменений в исходном коде по сравнению с предыдущей версией были изменения в лицензии TrueCrypt, включая удаление положений, требовавших указания авторства TrueCrypt и включения ссылки на официальный сайт во все производные продукты – что привело к созданию лицензии версии 3.1. Криптограф Мэтью Грин, который участвовал в сборе средств на аудит TrueCrypt, отметил связь между отказом TrueCrypt изменить лицензию и их предупреждением о скором прекращении работы. "Они всё уничтожили, и теперь, возможно, никто не будет доверять программе, полагая, что в коде есть серьёзная уязвимость". 16 июня 2014 года единственный разработчик TrueCrypt, который ещё отвечал на электронные письма, отклонил запрос Мэтью Грина о разрешении использовать торговую марку TrueCrypt для форка, выпущенного под стандартной лицензией с открытым исходным кодом. В результате две известные форки получили названия VeraCrypt и CipherShed, а также появилась переработка, названная tc play, вместо TrueCrypt.
Торговые марки
В 2007 году в США был зарегистрирован товарный знак TrueCrypt на имя Ондрея Тесарика с указанием компании TrueCrypt Developers Association, а товарный знак на логотип "ключ" был зарегистрирован на имя Дэвида Тесарика с указанием компании TrueCrypt Developers Association. В 2009 году в США было зарегистрировано наименование компании TrueCrypt Foundation на имя Дэвида Тесарика. Некоммерческая организация TrueCrypt Foundation последний раз подавала налоговые декларации в 2010 году, а компания была ликвидирована в 2014 году.