id: Гость   вход   регистрация
текущее время 20:12 28/03/2024
Владелец: ressa (создано 25/10/2013 18:54), редакция от 26/10/2013 11:41 (автор: SATtva) Печать
Категории: криптография, уязвимости, исходные тексты
https://www.pgpru.com/Новости/2013/АудитСборкиTrueCrypt71aНеВыявилРасхожденияСИсходнымиТекстами
создать
просмотр
редакции
ссылки

25.10 // Аудит сборки TrueCrypt 7.1a не выявил расхождения с исходными текстами


Опубликованы результаты результаты сравнения официальной бинарной сборки TrueCrypt 7.1a для Windows и сборки, сформированной собственными силами из исходных текстов. Анализ различий показал, что в официальная бинарная сборка не содержит скрытых функций и тождественна поставляемым исходным текстам. Разница наблюдается только в элементах, связанных со сборочным окружением и используемыми на этапе компиляции опциями.


Исследование показало, что правильный подбор используемых при сборке инструментов, воссоздающий оригинальные условия сборки, позволяет сформировать тождественный исполняемый файл и подтвердить, что в распространяемые производителем бинарные сборки не были внесены скрытые изменения. Таким образом удалось подтвердить отсутствие скрытых модификаций без необходимости выполнения трудоёмких операций по обратному инженерингу исполняемых файлов. В настоящее время, усилия по аудиту проекта TrueCrypt могут сосредоточится на изучении исходных текстов и методов шифрования, .


Кроме того, представителям проекта IsTrueCryptAuditedYet удалось связаться с авторами TrueCrypt, которые приветствовали идею проведения независимого аудита безопасности их продукта. Напомним, что в рамках проекта IsTrueCryptAuditedYet создана инициатива для подтверждения отсутствия в TrueCrypt проблем безопасности и скрытых бэкдоров. Одним из подозрений было отсутствие гарантии, что бинарные сборки, которые составляют основную массу загрузок, не содержат закладок и собраны на основании публично доступного исходного кода без внесения скрытых изменений.


Источник: http://www.opennet.ru/opennews/art.shtml?num=38259


 
На страницу: 1, 2, 3, 4, 5, 6, 7, 8 След.
Комментарии [скрыть комментарии/форму]
— unknown (13/11/2013 12:12, исправлен 13/11/2013 12:21)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

А тем временем, уже почти год как тихо и незаметно появилась поддержка совместимости с Truecrypt в стандартном линуксовом cryptsetup. Сам код переписан с нуля (независимая реализация поддержки совместимости), вроде открывать можно и обычные и скрытые контейнеры (а уж с бессигнатурными заголовками Truecrypt всё совсем хорошо). Из-за ограничений стандартного CryptoAPI Linux не открываются некоторые режимы — например LRW-blowfish (и правильно, потому что ненужно по всем пунктам — сочетание некоторых шифров и режимов в TrueCrypt — бредовое и в CryptoAPI ядра такого просто нет). Вроде каскады работают (кому-нибудь нужны каскады в Linux?).


Нет возможности создавать и пересоздавать Truecrypt-контейнеры (разделы) в Linux, можно только открывать уже созданные, но никаких проблем добавить это в будущем нет.


Если кому-то охота иметь отрицаемое бессигнатурное шифрование, встроенное в каждый Linux-дистрибутив из коробки, то оно там наполовину уже есть. Будет оно совместимо с трукриптом в случае создания контейнеров, или придумают чего получше — не так важно.

— SATtva (13/11/2013 12:31)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Ого! Спасибо за информацию. Значит, скоро можно будет окончательно избавляться от TC (когда версию стабилизируют в генте).
— unknown (13/11/2013 12:39, исправлен 13/11/2013 14:29)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Дискуссия о пользе и бесполезности попыток создать отрицаемое, скрытое и бессигнатурное шифрование идёт в трекере cryptsetup (и сравнение его подхода с Truecrypt) годами. Как и у нас на сайте.



Wel, yes. Not that they are helping. I know that forensics
people now routinely do entropy analysis of unused and
used disk space, so these volumes are not very hidden
anymore. Not that they were before. Encryption is for
access control, not for hiding data. For that use
steganography.

Полной поддержки Truecrypt в плане создания контейнеров скорее всего не будет.



I don't think so. See above. Seriously, if you want to create
a TrueCrypt volume under Linux, use the TrueCrypt tools, not
cryptsetup.

The problem with hidden volumes is this: Either you have the risk of destroying them, or you cannot use the partition they are
hiding in (which gives a good hint to an attacker), or you need to reserve space for them explicitely (which gives a strong hint to the attacker).
TrueCrypt does not do any better here. Also keep in mind that in many situations (US border inspection, e.g.) the mere suspicion
of a hidden partition being present will be enough.

Вот ещё интересный комент от разработчика cryptsetup, почему попытки скрыть шифрование не помогут против форензиков, а только помогут объявить пользователя заранее виновным в суде. Почитайте ту дискуссию в рассылке целиком, там и самопальные попытки обсуждаются, кому интересно.


В цитатник:


The only real protection (once competent forensics
people are looking at your set-up), is to provably
have no secret data.

Crypto is for access control, not for hiding things.

По крайней мере, нужного криптопротокола для решения такой задачи пока не существует.


Авторы cryptsetup предлагают развивать tc-play и прочие альтернативные реализации трукрипта, в свой проект они это всё тащить не очень хотят.


Избавиться от необходимости держать TC в Linux можно уже сейчас.

— Гость (13/11/2013 15:56)   <#>

Если отказаться от презумпции невиновности, то можно далеко пойти.


Уже всё существует. Инструкции выложены, концепты озучены, ссылки сто раз приводились. Защита 100%. Скрытая ОС запускается на скрытом разделе с полной идеальной отрицаемостью. Можно сделать сколь угодно много скрытых ОС и скрытых разделов, причём существание n+1-го раздела недоказуемо, если уже открыты n разделов, но лучше всё же не открывать доступ ни к одному из скрытых разделов, поскольку в этом нет необходимости.

Можно написать полную инструкцию и скрипты, использующие dmsetup, но, повторяю ещё раз, на концептуальном уровне вопрос закрыт, поскольку метод озвучен, и ни одного толкового возражения он до сих пор не получил. Нужно ещё перевести на английский и опубликовать в сети, чтобы остановить этот бесконечный неумолкаемый срач на тему скрытых разделов и скрытых ОС? Все эти «идеи» в рассылках отстают на 50 лет от разработок, представленных на PGPru.com. Я, конечно, понимаю, что всем кажется, что будто бы всё, написанное на английском, является заведомо более авторитетным, чем написанное на русском здесь.

Я поставил себе эту задачу давно, лет 8 назад. Я 8 лет думал о том, как это сделать, и в итоге сделал. Да, спасибо всем тем, кто помогал.
— unknown (13/11/2013 16:14, исправлен 13/11/2013 16:17)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Там обсуждается масса вариантов, аналогичных тому, что обсуждались здесь. Против них всех есть принципиальное и непреодолимое возражение, которые разработчики и повторяют: у вас будет незаполненный контейнер (том, раздел). Если это только незаполненный до конца контейнер, то всё ОК.


Если вы используете «скрытый» контейнер, то в конце незаполненного контейнера вместо нулей будет ещё кусок энтропии. Никакой презумпции невиновности, например в английском суде, у вас скорее всего в этом случае не будет, поскольку эксперт скажет судье, что это признак умышленного применения скрытого шифрования. А судья сочтёт доводы вашего адвоката про остаточные данные и эксперименты с псевдослучайными числами неубедительным объяснением. Абсурдности и поэтому малой практики применимости этого закона в условиях английского правосудия это конечно не отменяет.


Эксперту не надо доказывать наличие разделов. Вообще. А судье это не нужно для обвинения. Достаточно только факта следов от экспериментов с шифрованием, от которых вы не можете выдать пароль.

— ressa (13/11/2013 16:45)   профиль/связь   <#>
комментариев: 1079   документов: 58   редакций: 59
Гость (13/11/2013 15:56)
Дай почитать наработки свои.
— Гость (13/11/2013 17:54)   <#>

Нет этих возражений, потому что нет выделенных контейнеров. Мы шифруем свободное дисковое пространство, не занятое файловой системой, предварительно затёртое случайными данными.


Следов от экспериментов с шифрованием нет. Специального софта тоже нигде нет. Ничего не шифруется.

Unknown, у вас был какой-то большой праздник на выходных? Не верится, что вы, как один из самых внимательных читателей, вдруг внезпано забыли вообще всё (или никогда и не пытались вникать, когда это обсуждалось?), откуда такая тотальная амнезия?

Косвенные улики будут, не спорю, но степень их убедительности для суда — вопрос. К тому же, на эти косвенные улики можно придумать миллион объяснений. Например, можно заполучить систему нагорячую, которая загружена, и внезпано обесточить. Если следов того, что в это время работала родная система, не обнаружено, значит, работало что-то иное. Но что? На это всегда можно указать пальцем на произвольный LiveCD или LiveUSB, а там тотальная амнезия. Что и как доказывать?


Unknown выше привёл ссылку. Подробнее есть в подборке «Метод виртуальных машин с использованием device mapper — кандидат на решение проблемы».
— unknown (13/11/2013 18:00)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Именно в том обсуждении я и относился со скепсисом к этим экспериментам и не считал эту задачу решённой.
— Гость (13/11/2013 19:05)   <#>
Unknown, лично вы можете относиться абсолютно как угодно (имеете полное право), но ваше отношение само по себе ни к чему не пришить. Мне нужна конкретная критика, но её не последовало, за исключением общих фраз. По сути конструкции следов на диске появиться не может. То, что бессигнатурное шифрование неотличимо от случайных данных, считается общепринятым фактом в вычислительно-стойкой криптографии. Что ещё вы предлагаете доказать? Остаются только социальные аспекты.

Напоминаю в общих чертах последнюю схему, до которой дообсуждались:

  1. Сначала всё дисковое пространство затирается случайными данными.
  2. На диск ставится чистая система, назовём её обманкой. Никакого шифрования разделов, шифрования файловых систем или ещё чего-то такого в обманке нет.
  3. Свободное дисковое пространство на каких-то разделах можно использовать как скрытый раздел. Это пространство можно выделить и адресовать, составив базу данных для device mapper. Эту БД потом можно зашифровывать бессигнатурным образом с помощью openssl и положить в свободное дисковое пространство на /boot-разделе. Процедура описана в красках и деталях здесь. Пользователь должен запомнить наизусть адрес на файловой системе (offset) и размер (size) для блока данных, в которых хранится эта бессигнатурно шифрованная БД.
  4. Базовую часть скрытой системы делаем вида «live». Она шифруется и прячется в свободное дисоковое пространство так же, как БД в п. 3.

Загрузка:

  1. Грузимся с произвольного LiveCD или LiveUSB общего назначения, расшифровываем базовую часть скрытой системы (см. п. 4) и записываем её на MicroSD-карточку. Следов на диске эта процедура не оставляет.
  2. Выключаем систему. Грузимся с MicroSD-карточки. Расшифровываем и подключаем БД для device mapper. Через mount union осуществляем миграцию живой ОС на скрытое дисковое пространство, подключенное через device mapper (предполагается, что там будут все нужные системные разделы и софт).
  3. Отсоединяем MicroSD-карточку. Это сделать можно, потому что она использовалась как LiveUSB (см. п. 4). Основные системные разделы после этого остаются, и они доступны на запись.
  4. Снова подсоединяем MicroSD-карточку. Затираем её.

Всё, система загружена. Заметьте, что

  1. На диске нет следов шифрования.
  2. На диске нет следов скрытых ОС.
  3. Ни на каких носителях, которыми вы обладаете, нет ни следов шифрования, ни следов каких-то специально настроенных ОС, что могло бы вызвать подозрения. У вас есть обычный LiveUSB/LiveCD и обычная обманка.
  4. Можно иметь много баз данных для device mapper. Каждая из этих баз данных будет связана со своей ОС. Имея доступ к одной из них, нельзя ни доказать, ни опровергнуть существование других, если только вы не расшифровываете полностью всё дисковое пространство.
  5. Live-система на MicroSD может быть виртуалкой со своим гипервизором. Это позволяет запустить несколько ОСей параллельно и полностью изолировать информацию, доступную под одной гостевой ОСью, от информации, доступной под другими гостевыми ОСями, а также устранить доступ к информации об используемом железе. Для strong anonymity это самое то.

Жду конструктивных возражений, опровержений, комментариев, предложений и критики, т.е. чего-то более осмысленного, чем «мне не нравится». Представленная схема — всё в одном. Если вам не нужен, например, гипервизор и виртуалки, то её можно упростить, выкинув пункты с MicroSD-карточкой (сойдёт обычный LiveCD). Короче, каждый может адаптировать общий метод под свои конкретные нужды и степень паранои.
— Гость (13/11/2013 19:12)   <#>
P.S. Вместо MicroSD-карточки можно использовать произвольный диск. Его затирание будет, пожалуй, проще, тем более, что тереть его надо будет не весь, а только ту небольшую часть, которая использовался для записи ОС.
— Гость (13/11/2013 19:49)   <#>
Я таки снимаю с себе шляпу. Даже я не смог бы так продуктивно и многословно переделать тему TrueCrypt 7.1a в тему cryptsetup. Пора искать другой форум. Тут ужо голодомор.
— Гость (13/11/2013 21:00)   <#>
Гость (13/11/2013 19:05), ваша схема разбивается об пункт 1, "Сначала всё дисковое пространство затирается случайными данными". В свободном дисковом пространстве ожидают увидеть нули, либо остатки файлов. В случае отсутствия презумпции невиновности, известности вашей схемы и достаточной квалификации эксперта, такое будет интерпретировано как признак скрытого шифрования. Второй признак – наличие LiveCD среди изъятых вещдоков. Третий признак – использование Linux (всем известно что Linux пользуются хакеры, чтобы вводить в заблуждение правоохранительные органы). Еще косвенных признаков можно нарыть с полдесятка (наличие SD карт, которым нет правдоподобного объяснения, отсутствие на "обманке" следов, которые обычно есть если ОС повседневно используется, протоколы допроса друзей/знакомых, логи провайдера в которых есть подозрительный трафик либо нет обычного для большинства людей, и т.д.).
Скажете что это слабые доказательства? При отсутсвии презумпции невиновности, сильных и не надо. Есть неустранимые подозрения – присядьте до выяснения, пока не сознаетесь или не докажете невиновность.
Если презумпция невиновности работает, самая простая и надежная схема – забыть пароль. Прямых улик нет, расшифровывайте хоть до посинения.
— Гость (13/11/2013 21:14)   <#>

cryptsetup там не упомянут ни разу. Это взлетит на любой системе, которая умеет device mapper (man dmsetup) или его эквивалент, а также дисковое шифрование. Мне известны три системы, которые это умеют: GNU/Linux, NetBSD и DragonFlyBSD. Наверняка есть аналоги dm и во FreeBSD, но быстро ничего такого не гуглится. Я не ручаюсь, что приведённых список операционных систем полный. Это только то, что мне известно.
— unknown (13/11/2013 21:26, исправлен 13/11/2013 21:26)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664


1. Да мне откровенно было неинтересно тогда и неинтересно сейчас разбираться в таких решениях. Я и не делаю строго обоснованных утверждений, что они заведомо неправильные. Просто мне тема неинтересна, оставляю её пока за пределами своей компетенции. Могу только поверхностно глянуть.
2. Я (возможно с вашей помощью) придумал и опубликовал, к примеру, метод расцепления тора от TBB и разделение его файрволлом по разным иксам и пользователям (кто хочет, может сделать это и по разным виртуалкам), но я не уверен в этой схеме. Я совершенно безосновательно считаю, что от каких-то атак она может улучшать защиту, а от каких-то ухудшать. Разработчики, наверное, справедливо считают, что не стоит такие извраты вообще включать в roadmap.
Но с какой стати в этом (преимущественно моём) уродливом костылестроении должен кто-то разбираться? Я даже не жду никакой конструктивной критики и вообще не имею никакой уверенности в том, чтобы кому-то это предлагать как надёжное решение, кроме как «для экспериментов», «поковыряться» и думать, почему официальные разработчики не хотят это внедрять как один из изкоробочных вариантов.


Свободное дисковое пространство на каких-то разделах можно использовать как скрытый раздел.

На диске нет следов шифрования.

В свободных разделах у обычного пользователя не бывает упорядоченного скопления высокоэнтропийных данных. Это разработчик Arno и говорил в рассылке. Да, сам Арно говорит, что часто затирает разделы рэндомом (хотя это нелогично, поверх рэндома обычно делают второй проход нулями, иначе могут быть глюки с разделами) или проводит статтесты, но это при условии того, что он параллельно не скрывает своего использования шифрования.


Можете поставить шифрованный своп, якобы установщик его принуждает так выбирать для гибернейта (вроде так и есть) или просто говорить, что не помните, откуда взялись настройки шифрованного свопа в системе, в нём что-то ещё спрятать можно. Это хоть как-то прокатит за отрицалово, если своп штатно не расшифруете при загрузке при сдаче вами всех паролей.


А перекидывать данные в пустые высокоэнтропийные разделы? Вот чёрт, у меня пустое пространство от логических томов осталось, я от него пароля не знаю. Весь диск был честно затёрт рэндомом и пошифрован, а ведь враги могут сказать, что я там что-то храню. Даже никакого оффсета помнить почти не надо — с внешней флэшки можно создавать и убивать безвозвратно сколько угодно логических подразделов в пустом пространстве. Я из-за вашей схемы одновременно и открытым шифрованием пользуюсь и не могу доказать противнику, что я от него ничего не скрываю. :)

— Гость (13/11/2013 22:01)   <#>

Затирание дискового пространства от старых данных — нормальная практика в любой конторе безотносительно шифрования. Даже если вы не шифруете свои диски, перед тем, как их кому-то продать, вы наверняка озаботитесь стиранием данных с них старых данных. Если мы будем криминализовывать затирание своих старых файлов и дисков случайными данными, то мы очень далеко пойдём. Если вы хотите проапеллировать к тому, что там далеко не всякий делает, то, да, и Linux далеко не всякий ставит, но всё равно в масштабах населениях таких людей наберётся очень много, а потому поголовная криминализация этого выглядела бы по меньшей мере странно.


В случае отсутствия презумпции невиновности говорить вообще не о чем, но, напоминаю, ни в законодательстве РФ, ни в законодательстве США, ни в законодательстве стран Западной Европы от презумпции невиновности пока не отказались.


Занчит, если вы купили диск у соседа, но не затёрли его нулями, то вы тоже подпадёте под этот признак, даже если ничего не шифруете (если сосед затёр свои данные рандомом). Слишком широкий признак получается.


Что ж, теперь все админы, IT-специалисты и простые пользователи, у которых есть Recovery Disk на случай траблов с ОС, становятся автоматически подозреваемыми? Снова слишком общий признак. LiveCD есть у всех админов, это необходимый инструмент.


Я могу тоже таких признаков напридумывать: образованность, наличие головы на плечах, умение мыслить... Слишком умный — иди в тюрьму. Зачем вообще компьютерную экспертизу проводить? И так же всё понятно.


Использование в фотоаппаратах, телефонах, гаджетах.


Насколько повседневно её использовать — зависит от вас. Например, выполнять нейтральную работу можно из-под неё, а отдыхать в свободное время под скрытой ОСью.


Это нетехнические проблемы, и решаются они нетехническими методами. Шифрование, знаете ли, тоже не имеет смысла, если вы пароль напишете на бумажке и на монитор приклеите, так что теперь, это аргумент против шифрования, по-вашему?


То же самое. Как и у любого косвенного признака, на это могут быть косвенные объяснения типа «да, пользовался, но на диск не сохранял, грузился под LiveCD, софт ставил на лету». Может, какие-то из этих объяснений будут звучать не слишком правдоподобно, но дело не в этом. Всё же предполагается, что сторона обвинения должна предоставить убедительное исчерпывающее доказательство, а не вы должны предоставить убедительное доказательство своей невиновности. Прямая улика против TC есть: это сам факт инсталляции TC. Этот признак сильно вас выделяет даже среди множества админов-линуксоидов, описанные же вами косвенные признаки настолько выделяющими не являются.


Они не только слабые, они ещё и требуют чего-то дополнительного (анализа сетевой активности). Если вам инкременируется скачивание пиратского фильма, то обычно берут доказательства о том, что вы его качали, но это не подразумевает предварительный детальный анализ всей вашей активности с той целью, чтобы потом сравнить актуальность вашей ОС с наблюдаемой активностью в сети. И, опять же, этот аргумент не отменяет вышесказанного: убедительные доказательства должны предоставить они, а вы — только правдоподобное отсутствие прямых улик.


Вы путаете презумпцию невиновности, правдоподобное отрицание, доказательство невиновности и доказательство виновности. В частности, вы приравниваете правдоподобное отрицание к доказательству невиновности, но это ошибочно. Никто никогда так правдоподобное отрицание не определял. Я исхожу из того, что презумпция невиновности есть (иначе вообще всё теряет смысл или, по крайней мере, становится крайне зыбким), но правдоподобное отрицание всё равно остаётся полезным. Его полезность в том, что никаких прямых улик в использовании шифрования нет, а косвенные — они на то и косвенные. По крайней мере, пока что не всякий суд в мире ставит равенство между «мог это сделать, имел мотив это сделать, не имеет железного алиби» и «виновен».

И даже если совокупность косвенных признаков оказывается достаточной, то как оформить требование на выдачу пароля? Расшифруй нам то, не знаю что? Всё свободное дисковое пространство? Полвину его? Треть? Чем его расшифровать? В пояснительной записке будет написано «зашифровано то, неизвестно что, тем, неизвестно чем, на тех разделах, неизвестно каких, той операционной системой, неизвестно какой, и что именно зашифровано, а что просто свободное место, мы не знаем»? Вам не кажется, что это было бы абсурдом в текущей юридической практике, например, в Англии? Во всяком случае, по сравнению с шифрованными разделами, для которых есть софт, сигнатуры, окошко с приглашением ввести пароль и явный отказ подозреваемого этот пароль выдать предложенная схема — вообще идеал. Ну, а если мечтать, то наличие компьютера — это уже улика. Вдруг чего сделал, а диски потом в мусорку выкинул? И не докажешь, что не было такого, даже если это правда. Предполагаю, что презумпция невиновности потому и была адаптирована в национальных законодательствах, что её отсутствие моментально приводит к такому абсурду.
На страницу: 1, 2, 3, 4, 5, 6, 7, 8 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3