Сайт Open Crypto Audit Project сообщает о завершении второй стадии аудита кода популярного открытого средства шифрования TrueCrypt, разработчики которого 28 мая 2014 года очень странно покинули сцену, посоветовав переходить на BitLocker — решение для шифрования данных от Microsoft. По сути, аудит кода завершен, ребятам из OCAP осталось только написать финальный документ с выводами.

Согласно результатам аудита, никакой закладки в TrueCrypt 7.1a нет. Аудиторы отметили только 4 потенциально нехороших места, которые не приводили к компрометации каких-либо данных при обычных условиях:
  1. Отсутствие проверки подлинности зашифрованных данных в заголовке тома
  2. Смешивание ключевого файла происходит не криптографически устойчивым образом
  3. Реализация AES может быть уязвима к атаке по времени
  4. CryptAcquireContext может оказаться неинициализированным без сообщений об ошибке

opencryptoaudit.org/reports/TrueCrypt_Phase_II_NCC_OCAP_final.pdf — результаты второго раунда аудита.
blog.cryptographyengineering.com/2015/04/truecrypt-report.html — выводы Matthew Green, одного из членов OCAP.

Комментарии (66)


  1. k1b0rg
    02.04.2015 19:46

    «которые не приводили к компрометации каких-либо данных при обычных условиях» — а какие условия считаются обычными?
    «Реализация AES может быть уязвима к атаке по времени» — значит ли это, что при наличии суперкомпьютеров, возможен взлом?
    Ждем более полной статьи.


    1. ValdikSS Автор
      02.04.2015 19:54
      +2

      а какие условия считаются обычными?
      Использование программы на домашнем компьтере без домена.
      значит ли это, что при наличии суперкомпьютеров, возможен взлом?
      Нет, суперкомпьютеры тут ни при чем. По идее, злоумышленник может украсть симметричный ключ, если имеет возможность выплонять произвольный нативный код на машине атакуемого.


      1. Disasm
        03.04.2015 10:59
        +5

        Насколько я понимаю, при этом нужно ещё сидеть в ядре, иначе не очень понятно как сбрасывать строки кэша, соответствующие таблицам AES, расположенным в ядерном модуле трукрипта. Но если сидеть в ядре, то можно и ключ AES утащить, ибо он лежит в первых 16-32 байтах состояния.


        1. entze
          07.04.2015 10:25

          Elcomsoft Forensic Disk Decryptor

          Продукт поддерживает три метода извлечения ключей расшифровки.
          Анализом файла гибернации (исследуемый компьютер выключен);
          Анализом слепка оперативной памяти компьютера *
          Атакой через порт FireWire ** (компьютер должен быть включен, а зашифрованные тома – подключены).


          1. Disasm
            07.04.2015 10:51

            Против этого разве что TRESOR может помочь.


  1. NeoCode
    02.04.2015 20:29
    +2

    Известно что-либо о дальшейшей судьбе проекта? Кто-нибудь будет его поддерживать и развивать? Будут ли исправлены выявленные потенциально нехорошие места?


    1. ValdikSS Автор
      02.04.2015 20:35
      +1

      Все достаточно печально. Из живых есть только VeraCrypt и GostCrypt. В последнем используется ГОСТ 28147-89 в качестве асимметричной функции.


      1. g0dlike
        02.04.2015 21:05
        +2

        Как может этот ГОСТ использоваться в качестве асимметричной функции, если это алгоритм симметрического шифрования(улучшеный DES, если быть точным)?


        1. ValdikSS Автор
          02.04.2015 21:14
          +3

          Ой, конечно же симметричной. Думаю об одном, а пишу другое.


      1. AlexanderS
        02.04.2015 21:19

        VeraCrypt вроде как неплохо развивается. Причем шифрование по сравнению с tc там усложнили, совершая гораздо больше итераций при генерации пароля, что должно на порядки осложнить брутфорс.

        GostCrypt вот никогда не пробовал. А в GostCrypt можно использовать несколько независимых шифраций — сначала одним шифруется, затем другим, в tc вроде 3 алгоритма можно было так последовательно использовать?

        Я сам-то пока на tc сижу. Но тоже присматриваюсь помаленьку )


      1. symbix
        02.04.2015 21:56
        +8

        Лично я, пожалуй, продолжу пользоваться TC 7.1. Выявленные проблемы выглядят (для меня) совсем некритичными, а в форках — кто его знает, что там.


        1. Ghool
          24.04.2015 12:40

          Загрузочные тома с UEFI не поддерживаются *((

          Пока это не очень критично, но уже скоро станет.


      1. naum
        03.04.2015 06:17
        -9

        Эй, постой, а как же DiskCryptor? У него, не смотря на изначально свою ветку развития, есть полная поддержка TC-контейнера, а с точки зрения реализации — на голову выше, имхо. Это же пацан с нашего двора, а ты предательски пырнул его в спину.


        1. ValdikSS Автор
          03.04.2015 12:08

          Ну, в линуксовом cryptsetup тоже есть полная поддержка томов TrueCrypt, но это не форк же.


      1. dewil
        07.04.2015 14:02

        VeraCrypt у меня не смог открыт том созданный в TrueCrypt.
        Да и родные тома он монтирует очень долго. Не знаю с чем это связано.
        Вобщем погонял его, и удалил.


    1. MacIn
      02.04.2015 21:25

      Эти места, насколько я понимаю, «нехорошие» в случае исполнения кода на самой машине. Тут уже ничего не поможет.


      1. ValdikSS Автор
        02.04.2015 21:26
        +1

        Ну, авторы говорят, что в последнее время javascript в браузерах очень продвинулся, и, в общем, это можно попытаться сделать через него.


        1. MacIn
          03.04.2015 21:33

          Думаю, судя по темпу нахождения новых 0day, это не имеет значения. Код на машине — твои данные слиты. А как — напрямую с расшифрованного подмонтированного тома слиты или ключ + зашифрованный том — неважно.


    1. AndreWin
      02.04.2015 23:21

      Да, известно. Проект развивается другими теперь уже разработчиками вне США и переехал на новый адрес https://truecrypt.ch/.


    1. vma
      03.04.2015 00:31

      Бесплатный Cryptic Disk поддерживает TrueCrypt-формат из коробки.
      Вполне достойно выглядит и фишек много:
      www.exlade.com/ru/cryptic-disk


  1. XogN
    02.04.2015 21:40
    +1

    Когда действительно требуется защитить данные от прочтения любой ценой,
    нет ничего лучше физического разрушения носителя при попытке несанкционированного доступа.
    Для всех остальных случаев TrueCrypt пока что вполне справляется.


    1. serf
      02.04.2015 22:16

      Зашифровать весь жесткий диск не вариант (dm-crypt)?


      1. XogN
        02.04.2015 22:23
        +1

        Всегда есть малая вероятность, что зашифрованное может быть расшифровано.
        Либо подбором пароля, либо через закладки в коде программы шифровальщика, или эксплуатацией недостатков алгоритмов шифрования.
        Все 100% гарантии невозможности расшифровать, и прочитать данные, дает лишь уничтожение носителя.
        Лучше всего, конечно сочетать оба метода :) Шифровать данные, и обеспечить уничтожение носителя при несанкционированном доступе.


        1. serf
          02.04.2015 22:34

          Физически устранить можно когда есть такая возможность. Как вы узнаете что пришла пора уничтожать? Неприятели могут постучаться в любое время, в том числе когда их не ждут (не учитывая даже удаленных серверов). Так что полное шифрование носителей тоже необходимо, а дальше уже можно и физически уничтожать если дадут такую возможность.


          1. XogN
            02.04.2015 23:00

            Соглашусь на все 100%. Потому я и написал в комментарии выше, что лучше всего сочетать оба метода защиты информации :)


            1. serf
              02.04.2015 23:03

              Когда я начал писать этого не видел, теперь согласен тоже :) Но все таки уничтожать физически это больше к голивудским фильмам относится.


              1. XogN
                02.04.2015 23:16
                +3

                Главное, что физическое уничтожение носителя делает бессмысленным применение терморектального криптоанализатора,
                чтобы получить пароли/ключи доступа.
                А значит, шансы избежать этой пренеприятнейшей процедуры заметно вырастают :)


                1. serf
                  02.04.2015 23:22
                  +4

                  Это как сказать, если попасть в поле зрения ценителей подобного рода анализа, то возможно при наличии носителя информации ваша жизнь была бы длинее на время проведения этого анализа.


                  1. XogN
                    02.04.2015 23:33
                    +2

                    Осознавая со злорадством, что все таки инфы они не получат, и умирать было бы приятнее :)


                  1. Anton_Menshov
                    03.04.2015 05:03
                    +8

                    Ох, не уверен, что мне бы этот эпизод моей жизни очень понравился.


                1. MichaelBorisov
                  04.04.2015 03:00

                  Анализатор все равно применят. А вдруг у вас есть копия? Надо же выяснить ее местонахождение и пароль к ней.


          1. Odinokij_Kot
            03.04.2015 07:33
            +1

            Даже если неприятель стучится в дверь или даже тянет руки к компу есть «последний довод королей» — устройства семейства Стек и Импульс. www.detsys.ru/?spage=goods>c=16
            Есть и в 5 дюймовый слот, есть и встроенные, есть серверные. Срабатывают и по кнопке и по вскрытию и по удалёной комманде.


            1. microtrigger
              03.04.2015 08:29

              Для ssd эти ЭМИ девайсы не эффективны


              1. Odinokij_Kot
                03.04.2015 09:17

                Посмотри внимательнее, есть там устройство и для ssd.


                1. microtrigger
                  07.04.2015 15:28

                  Да, точно. Не заметил. Но сомнения все равно есть, ибо SSD может быть экранированный. Мне понравилось решение некоторых производителей самих SSD, которое подает на линию питания чипов повышенное напряжение гарантированно сжигающее микросхемы.


              1. Odinokij_Kot
                03.04.2015 09:20

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


                1. Arlakz
                  03.04.2015 14:15
                  -1

                  Есть в десять раз более надежный и даже относительно законный, но очень небезопасный метод грохнуть всю инфу (на любых современных носителях от бумаги до винтов и тд и тп)

                  Способ очень простой и опасный. При малейшем несоблюдении ТБ или ошибке — много проблем. И вообще не рекомендую и не советую использовать.

                  Еще в FIDO лет 15 назад пришли к выводу что он почти оптимальный на сегодня.
                  Ни один из методов восстановления информации не поможет.

                  Другие методы были менее надежны в каком-то из вариантов.
                  Например авто с сервером во дворе или сервер в соседней с офисом квартире
                  Или… да много вариантов тогда обсудили. Вплоть до тщательного шифрования с не хранением ключа на месте нахождения сервера и RAM диска.

                  Главное не забывать что против терморектального криптоанализа при наличии ключа в районе офиса или в голове у админа ничего не поможет =)


                  1. SunX
                    03.04.2015 15:17
                    +3

                    Дак что за метод-то? а то заинтриговали, теперь мучиться.


                    1. Arlakz
                      03.04.2015 20:49
                      -4

                      Да мне тут паранойя в моем мозгу после написания коммента сначала посоветовала убрать название, а потом вообще 2/3 коммента.

                      Вы сами подумайте — что может надежно уничтожить ЛЮБОЙ носитель из существующих на сегодня и при этом не является ВВ, соотв. меньше проблем с законом при исп-ии (а вот есть или нет и какие — надо юристов спрашивать — я такое применять не собираюсь — у меня таких данных нет. А для почты простого пароля всегда хватало пока.).

                      Все на пов-ти.
                      Дам подсказку — оно используется при вулканизации камер «в походных условиях», раньше даже наборы продавались, как сейчас — не скажу.

                      Но сюда писать не буду — а то вдруг кто без соблюдения ТБ заюзает и потом на меня будет ссылаться — что посоветовал.

                      А я не советую! Ибо опасно и чревато неприятными последствиями.


                      1. Bronx
                        07.04.2015 10:17

                        Термит, что-ли? А разжигать его время будет?


                        1. isden
                          07.04.2015 15:31

                          Электрозапал на большую красную кнопку?


                          1. grossws
                            07.04.2015 15:48

                            Можно ещё надпись «не нажимать», что бы сократить срок ожидания нажатия на эту кнопку до минимума. То так может пару-тройку месяцев понадобиться.


                    1. Arlakz
                      03.04.2015 22:44
                      -4

                      Что, не верите что есть способ и что он простой как 2 палки?
                      Назвать надо?

                      Мозг включайте и думайте сами.

                      Я за последствия вашей безлаберности и нарушения ТБ отвечать не хочу.

                      Если думать лень — наймите специалистов. Может что и посоветуют.


                  1. Odinokij_Kot
                    03.04.2015 17:30
                    +1

                    Какой способ то??? Пользоваться счётами??


  1. psylosss
    02.04.2015 22:28
    +1

    А где можно взять именно ту версию, которую проверяли?


    1. ValdikSS Автор
      02.04.2015 22:36
      +13

      1. petrovnn
        04.04.2015 00:00

        и типа мы должны поверить что там нет закладки?


        1. BaRoN
          04.04.2015 13:08

          ну можно ещё самостоятельно изучить весь код, и самостоятельно собрать бинарник


          1. Disasm
            04.04.2015 14:11

            Кто-то уже даже собирал бинарник из сорцов и «научно доказывал», что он функционально совпадает со стоковым бинарником. Можно банально повторить его действия дабы убедиться.
            От себя могу добавить, что можно существенно упростить задачу, если взять IDA Pro и patchdiff2.


            1. MacIn
              04.04.2015 19:30

              Не функционально, там байт в байт совпало, не считая даты компиляции и тому подобного.


              1. Disasm
                04.04.2015 19:41

                Я примерно это и хотел сказать. Инструкции те же, но файлы побайтово не совпадают из-за мелочей.


      1. dewil
        07.04.2015 14:23

        Я сохранил себе бинарники и исходники, которые были на момент «ухода со сцены».
        Чтобы не сомневаться в их подлинности :)


    1. serf
      02.04.2015 22:39
      +1

      del


  1. vilgeforce
    02.04.2015 23:08

    «CryptAcquireContext может оказаться неинициализированным без сообщений об ошибке» — меньшая половина информации о проблеме, судя по blog.cryptographyengineering.com/2015/04/truecrypt-report.html
    CryptoAPI используется как один из источников энтропии, и при невозможности получить контекст этот источник становится недоступен, то есть энтропии становится меньше.


    1. ValdikSS Автор
      02.04.2015 23:12

      Ну, я написал так, как оно озаглавлено в PDF.


      1. vilgeforce
        02.04.2015 23:15

        Ну какбэ неинициализированная переменная — одно, а отвал части функциональности — несколько другое :-)


  1. Security_Lab
    02.04.2015 23:29

    Так-же эксперты отметили высокое качество кода в закладках от АНБ.

    Багов нет, но значит ли это, что нет закладок, оформленных в виде функций с комментариями?
    Что сама «компания iSECpartners», не аффинированное спец-службами лицо?
    Что ни одному из аудиторов не обещали маленький остров/крипто-паяльник, если он закроет/не закроет глаза на строчки 13904-14234.


    1. serf
      02.04.2015 23:36
      +1

      Так рядом сбинарниками исходники, берите проверяйте, мне проще зашифровать весь винт чем искать что-то стоящее доверия среди сомнительных программ.


    1. microtrigger
      03.04.2015 15:50

      Номера строк от потолка или это указание на конкретный кусок кода?


  1. Disasm
    03.04.2015 01:32

    То есть 1000 (или сколько там было) итераций в PBKDF2 это нормально?


  1. vba
    03.04.2015 09:47
    +9

    Согласно результатам аудита, никакой закладки в TrueCrypt 7.1a нет.

    Посе данного заявления аудиторы так же очень странно покинули сцену…


  1. sanchower
    03.04.2015 10:33

    Отличные новости.
    Вот только ужасно не хватает поддержки GPT в TrueCrypt, из-за этого не получается шифровать системный раздел на Windows 8.1.
    Печаль конечно, что авторы забросили проект :(


    1. Arlakz
      03.04.2015 14:25

      Еще более интересно КАК они это сделали.
      Была очень реальная такая паника среди пользователей проекта =)
      Выдвигались разные версии — тут, на хабре, статья была большая с кучей коментов.


    1. Bruteo
      05.04.2015 20:23

      Windows 8.1 работает и с MBR. Я успешно сконвертировал системный диск из GPT в MBR без переустановки системы и потери/переноса данных с помощью AOMEI Partition Assistant Professional. Потом произвёл Truecrypt шифрование всего системного диска. Всё прекрасно работает.


  1. CodeDriller
    07.04.2015 11:44

    Я никогда не доверял TrueCrypt — эта программа в свое время очень подозрительно появилась из ниоткуда практически готовой и теперь так же подозрительно растворилась. Я уверен, что она создана с участием спецслужб. А то, что закладка не найдена — это еще не значит, что ее там нет.


  1. avz
    08.04.2015 09:57

    А почему они не 7.2 то проверяли?