25.10 // Аудит сборки TrueCrypt 7.1a не выявил расхождения с исходными текстами
Опубликованы результаты результаты сравнения официальной бинарной сборки TrueCrypt 7.1a для Windows и сборки, сформированной собственными силами из исходных текстов. Анализ различий показал, что в официальная бинарная сборка не содержит скрытых функций и тождественна поставляемым исходным текстам. Разница наблюдается только в элементах, связанных со сборочным окружением и используемыми на этапе компиляции опциями.
Исследование показало, что правильный подбор используемых при сборке инструментов, воссоздающий оригинальные условия сборки, позволяет сформировать тождественный исполняемый файл и подтвердить, что в распространяемые производителем бинарные сборки не были внесены скрытые изменения. Таким образом удалось подтвердить отсутствие скрытых модификаций без необходимости выполнения трудоёмких операций по обратному инженерингу исполняемых файлов. В настоящее время, усилия по аудиту проекта TrueCrypt могут сосредоточится на изучении исходных текстов и методов шифрования, .
Кроме того, представителям проекта IsTrueCryptAuditedYet удалось связаться с авторами TrueCrypt, которые приветствовали идею проведения независимого аудита безопасности их продукта. Напомним, что в рамках проекта IsTrueCryptAuditedYet создана инициатива для подтверждения отсутствия в TrueCrypt проблем безопасности и скрытых бэкдоров. Одним из подозрений было отсутствие гарантии, что бинарные сборки, которые составляют основную массу загрузок, не содержат закладок и собраны на основании публично доступного исходного кода без внесения скрытых изменений.
Источник: http://www.opennet.ru/opennews/art.shtml?num=38259
комментариев: 9796 документов: 488 редакций: 5664
А тем временем, уже почти год как тихо и незаметно появилась поддержка совместимости с Truecrypt в стандартном линуксовом cryptsetup. Сам код переписан с нуля (независимая реализация поддержки совместимости), вроде открывать можно и обычные и скрытые контейнеры (а уж с бессигнатурными заголовками Truecrypt всё совсем хорошо). Из-за ограничений стандартного CryptoAPI Linux не открываются некоторые режимы — например LRW-blowfish (и правильно, потому что ненужно по всем пунктам — сочетание некоторых шифров и режимов в TrueCrypt — бредовое и в CryptoAPI ядра такого просто нет). Вроде каскады работают (кому-нибудь нужны каскады в Linux?).
Нет возможности создавать и пересоздавать Truecrypt-контейнеры (разделы) в Linux, можно только открывать уже созданные, но никаких проблем добавить это в будущем нет.
Если кому-то охота иметь отрицаемое бессигнатурное шифрование, встроенное в каждый Linux-дистрибутив из коробки, то оно там наполовину уже есть. Будет оно совместимо с трукриптом в случае создания контейнеров, или придумают чего получше — не так важно.
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 9796 документов: 488 редакций: 5664
Дискуссия о пользе и бесполезности попыток создать отрицаемое, скрытое и бессигнатурное шифрование идёт в трекере cryptsetup (и сравнение его подхода с Truecrypt) годами. Как и у нас на сайте.
Полной поддержки Truecrypt в плане создания контейнеров скорее всего не будет.
Вот ещё интересный комент от разработчика cryptsetup, почему попытки скрыть шифрование не помогут против форензиков, а только помогут объявить пользователя заранее виновным в суде. Почитайте ту дискуссию в рассылке целиком, там и самопальные попытки обсуждаются, кому интересно.
В цитатник:
По крайней мере, нужного криптопротокола для решения такой задачи пока не существует.
Авторы cryptsetup предлагают развивать tc-play и прочие альтернативные реализации трукрипта, в свой проект они это всё тащить не очень хотят.
Избавиться от необходимости держать TC в Linux можно уже сейчас.
Если отказаться от презумпции невиновности, то можно далеко пойти.
Уже всё существует. Инструкции выложены, концепты озучены, ссылки сто раз приводились. Защита 100%. Скрытая ОС запускается на скрытом разделе с полной идеальной отрицаемостью. Можно сделать сколь угодно много скрытых ОС и скрытых разделов, причём существание n+1-го раздела недоказуемо, если уже открыты n разделов, но лучше всё же не открывать доступ ни к одному из скрытых разделов, поскольку в этом нет необходимости.
Можно написать полную инструкцию и скрипты, использующие dmsetup, но, повторяю ещё раз, на концептуальном уровне вопрос закрыт, поскольку метод озвучен, и ни одного толкового возражения он до сих пор не получил. Нужно ещё перевести на английский и опубликовать в сети, чтобы остановить этот бесконечный неумолкаемый срач на тему скрытых разделов и скрытых ОС? Все эти «идеи» в рассылках отстают на 50 лет от разработок, представленных на PGPru.com. Я, конечно, понимаю, что всем кажется, что будто бы всё, написанное на английском, является заведомо более авторитетным, чем написанное на русском здесь.
Я поставил себе эту задачу давно, лет 8 назад. Я 8 лет думал о том, как это сделать, и в итоге сделал. Да, спасибо всем тем, кто помогал.
комментариев: 9796 документов: 488 редакций: 5664
Там обсуждается масса вариантов, аналогичных тому, что обсуждались здесь. Против них всех есть принципиальное и непреодолимое возражение, которые разработчики и повторяют: у вас будет незаполненный контейнер (том, раздел). Если это только незаполненный до конца контейнер, то всё ОК.
Если вы используете «скрытый» контейнер, то в конце незаполненного контейнера вместо нулей будет ещё кусок энтропии. Никакой презумпции невиновности, например в английском суде, у вас скорее всего в этом случае не будет, поскольку эксперт скажет судье, что это признак умышленного применения скрытого шифрования. А судья сочтёт доводы вашего адвоката про остаточные данные и эксперименты с псевдослучайными числами неубедительным объяснением. Абсурдности и поэтому малой практики применимости этого закона в условиях английского правосудия это конечно не отменяет.
Эксперту не надо доказывать наличие разделов. Вообще. А судье это не нужно для обвинения. Достаточно только факта следов от экспериментов с шифрованием, от которых вы не можете выдать пароль.
комментариев: 1079 документов: 58 редакций: 59
Дай почитать наработки свои.
Нет этих возражений, потому что нет выделенных контейнеров. Мы шифруем свободное дисковое пространство, не занятое файловой системой, предварительно затёртое случайными данными.
Следов от экспериментов с шифрованием нет. Специального софта тоже нигде нет. Ничего не шифруется.
Unknown, у вас был какой-то большой праздник на выходных? Не верится, что вы, как один из самых внимательных читателей, вдруг внезпано забыли вообще всё (или никогда и не пытались вникать, когда это обсуждалось?), откуда такая тотальная амнезия?
Косвенные улики будут, не спорю, но степень их убедительности для суда — вопрос. К тому же, на эти косвенные улики можно придумать миллион объяснений. Например, можно заполучить систему нагорячую, которая загружена, и внезпано обесточить. Если следов того, что в это время работала родная система, не обнаружено, значит, работало что-то иное. Но что? На это всегда можно указать пальцем на произвольный LiveCD или LiveUSB, а там тотальная амнезия. Что и как доказывать?
Unknown выше привёл ссылку. Подробнее есть в подборке «Метод виртуальных машин с использованием device mapper — кандидат на решение проблемы».
комментариев: 9796 документов: 488 редакций: 5664
Напоминаю в общих чертах последнюю схему, до которой дообсуждались:
Загрузка:
Всё, система загружена. Заметьте, что
Жду конструктивных возражений, опровержений, комментариев, предложений и критики, т.е. чего-то более осмысленного, чем «мне не нравится». Представленная схема — всё в одном. Если вам не нужен, например, гипервизор и виртуалки, то её можно упростить, выкинув пункты с MicroSD-карточкой (сойдёт обычный LiveCD). Короче, каждый может адаптировать общий метод под свои конкретные нужды и степень паранои.
Скажете что это слабые доказательства? При отсутсвии презумпции невиновности, сильных и не надо. Есть неустранимые подозрения – присядьте до выяснения, пока не сознаетесь или не докажете невиновность.
Если презумпция невиновности работает, самая простая и надежная схема – забыть пароль. Прямых улик нет, расшифровывайте хоть до посинения.
cryptsetup там не упомянут ни разу. Это взлетит на любой системе, которая умеет device mapper (man dmsetup) или его эквивалент, а также дисковое шифрование. Мне известны три системы, которые это умеют: GNU/Linux, NetBSD и DragonFlyBSD. Наверняка есть аналоги dm и во FreeBSD, но быстро ничего такого не гуглится. Я не ручаюсь, что приведённых список операционных систем полный. Это только то, что мне известно.
комментариев: 9796 документов: 488 редакций: 5664
1. Да мне откровенно было неинтересно тогда и неинтересно сейчас разбираться в таких решениях. Я и не делаю строго обоснованных утверждений, что они заведомо неправильные. Просто мне тема неинтересна, оставляю её пока за пределами своей компетенции. Могу только поверхностно глянуть.
2. Я (возможно с вашей помощью) придумал и опубликовал, к примеру, метод расцепления тора от TBB и разделение его файрволлом по разным иксам и пользователям (кто хочет, может сделать это и по разным виртуалкам), но я не уверен в этой схеме. Я совершенно безосновательно считаю, что от каких-то атак она может улучшать защиту, а от каких-то ухудшать. Разработчики, наверное, справедливо считают, что не стоит такие извраты вообще включать в roadmap.
Но с какой стати в этом (преимущественно моём) уродливом костылестроении должен кто-то разбираться? Я даже не жду никакой конструктивной критики и вообще не имею никакой уверенности в том, чтобы кому-то это предлагать как надёжное решение, кроме как «для экспериментов», «поковыряться» и думать, почему официальные разработчики не хотят это внедрять как один из изкоробочных вариантов.
В свободных разделах у обычного пользователя не бывает упорядоченного скопления высокоэнтропийных данных. Это разработчик Arno и говорил в рассылке. Да, сам Арно говорит, что часто затирает разделы рэндомом (хотя это нелогично, поверх рэндома обычно делают второй проход нулями, иначе могут быть глюки с разделами) или проводит статтесты, но это при условии того, что он параллельно не скрывает своего использования шифрования.
Можете поставить шифрованный своп, якобы установщик его принуждает так выбирать для гибернейта (вроде так и есть) или просто говорить, что не помните, откуда взялись настройки шифрованного свопа в системе, в нём что-то ещё спрятать можно. Это хоть как-то прокатит за отрицалово, если своп штатно не расшифруете при загрузке при сдаче вами всех паролей.
А перекидывать данные в пустые высокоэнтропийные разделы? Вот чёрт, у меня пустое пространство от логических томов осталось, я от него пароля не знаю. Весь диск был честно затёрт рэндомом и пошифрован, а ведь враги могут сказать, что я там что-то храню. Даже никакого оффсета помнить почти не надо — с внешней флэшки можно создавать и убивать безвозвратно сколько угодно логических подразделов в пустом пространстве. Я из-за вашей схемы одновременно и открытым шифрованием пользуюсь и не могу доказать противнику, что я от него ничего не скрываю. :)
Затирание дискового пространства от старых данных — нормальная практика в любой конторе безотносительно шифрования. Даже если вы не шифруете свои диски, перед тем, как их кому-то продать, вы наверняка озаботитесь стиранием данных с них старых данных. Если мы будем криминализовывать затирание своих старых файлов и дисков случайными данными, то мы очень далеко пойдём. Если вы хотите проапеллировать к тому, что там далеко не всякий делает, то, да, и Linux далеко не всякий ставит, но всё равно в масштабах населениях таких людей наберётся очень много, а потому поголовная криминализация этого выглядела бы по меньшей мере странно.
В случае отсутствия презумпции невиновности говорить вообще не о чем, но, напоминаю, ни в законодательстве РФ, ни в законодательстве США, ни в законодательстве стран Западной Европы от презумпции невиновности пока не отказались.
Занчит, если вы купили диск у соседа, но не затёрли его нулями, то вы тоже подпадёте под этот признак, даже если ничего не шифруете (если сосед затёр свои данные рандомом). Слишком широкий признак получается.
Что ж, теперь все админы, IT-специалисты и простые пользователи, у которых есть Recovery Disk на случай траблов с ОС, становятся автоматически подозреваемыми? Снова слишком общий признак. LiveCD есть у всех админов, это необходимый инструмент.
Я могу тоже таких признаков напридумывать: образованность, наличие головы на плечах, умение мыслить... Слишком умный — иди в тюрьму. Зачем вообще компьютерную экспертизу проводить? И так же всё понятно.
Использование в фотоаппаратах, телефонах, гаджетах.
Насколько повседневно её использовать — зависит от вас. Например, выполнять нейтральную работу можно из-под неё, а отдыхать в свободное время под скрытой ОСью.
Это нетехнические проблемы, и решаются они нетехническими методами. Шифрование, знаете ли, тоже не имеет смысла, если вы пароль напишете на бумажке и на монитор приклеите, так что теперь, это аргумент против шифрования, по-вашему?
То же самое. Как и у любого косвенного признака, на это могут быть косвенные объяснения типа «да, пользовался, но на диск не сохранял, грузился под LiveCD, софт ставил на лету». Может, какие-то из этих объяснений будут звучать не слишком правдоподобно, но дело не в этом. Всё же предполагается, что сторона обвинения должна предоставить убедительное исчерпывающее доказательство, а не вы должны предоставить убедительное доказательство своей невиновности. Прямая улика против TC есть: это сам факт инсталляции TC. Этот признак сильно вас выделяет даже среди множества админов-линуксоидов, описанные же вами косвенные признаки настолько выделяющими не являются.
Они не только слабые, они ещё и требуют чего-то дополнительного (анализа сетевой активности). Если вам инкременируется скачивание пиратского фильма, то обычно берут доказательства о том, что вы его качали, но это не подразумевает предварительный детальный анализ всей вашей активности с той целью, чтобы потом сравнить актуальность вашей ОС с наблюдаемой активностью в сети. И, опять же, этот аргумент не отменяет вышесказанного: убедительные доказательства должны предоставить они, а вы — только правдоподобное отсутствие прямых улик.
Вы путаете презумпцию невиновности, правдоподобное отрицание, доказательство невиновности и доказательство виновности. В частности, вы приравниваете правдоподобное отрицание к доказательству невиновности, но это ошибочно. Никто никогда так правдоподобное отрицание не определял. Я исхожу из того, что презумпция невиновности есть (иначе вообще всё теряет смысл или, по крайней мере, становится крайне зыбким), но правдоподобное отрицание всё равно остаётся полезным. Его полезность в том, что никаких прямых улик в использовании шифрования нет, а косвенные — они на то и косвенные. По крайней мере, пока что не всякий суд в мире ставит равенство между «мог это сделать, имел мотив это сделать, не имеет железного алиби» и «виновен».
И даже если совокупность косвенных признаков оказывается достаточной, то как оформить требование на выдачу пароля? Расшифруй нам то, не знаю что? Всё свободное дисковое пространство? Полвину его? Треть? Чем его расшифровать? В пояснительной записке будет написано «зашифровано то, неизвестно что, тем, неизвестно чем, на тех разделах, неизвестно каких, той операционной системой, неизвестно какой, и что именно зашифровано, а что просто свободное место, мы не знаем»? Вам не кажется, что это было бы абсурдом в текущей юридической практике, например, в Англии? Во всяком случае, по сравнению с шифрованными разделами, для которых есть софт, сигнатуры, окошко с приглашением ввести пароль и явный отказ подозреваемого этот пароль выдать предложенная схема — вообще идеал. Ну, а если мечтать, то наличие компьютера — это уже улика. Вдруг чего сделал, а диски потом в мусорку выкинул? И не докажешь, что не было такого, даже если это правда. Предполагаю, что презумпция невиновности потому и была адаптирована в национальных законодательствах, что её отсутствие моментально приводит к такому абсурду.