Пользователь
0,0
рейтинг
15 апреля 2014 в 21:24

Разработка → Закончился первый этап аудита безопасности TrueCrypt — критических багов не обнаружено

Осенью прошлого года в ходе краудфандинговой кампании с целью проведения всестороннего аудита безопасности популярной криптографической программы TrueCrypt было собрано больше 60 000 долларов. 14 апреля завершился первый этап аудита — компания iSECpartners представила отчёт об аудите качества кода TrueCrypt. На втором этапе будет проведён формальный криптоанализ.

В ходе аудита кода обнаружено 11 ошибок — среди них ни одной критической, четыре ошибки средней степени опасности, четыре — низкой и три в категории «informational» — то есть практически несущественные с точки зрения безопасности. В 32-страничном отчёте (PDF) для наглядности найденные баги сведены в диаграмму по признакам степени риска и легкости эксплуатации. В левом нижнем углу — зона наивысшей опасности, в правом верхнем — наинизшей.



Аудиту подвергался код версии 7.1a и бинарник для Windows. Несмотря на отсутствие критических уязвимостей, аудиторы отметили не очень высокое качество кода, в частности — недостаток комментариев, использование небезопасных или устаревших функций, отсутствие единообразия в типах переменных, в частности, хаотичное использование разных типов целых — длинных и коротких, со знаком и без знака. Хотя в целом принцип разбиения кода на небольшие функции, исполняющие одну конкретную задачу, соблюдался, некоторые функции имели объём около 700 строк, что затрудняло их анализ.

Идея провести аудит TrueCrypt и заодно привести в порядок его код, лицензию и процедуру сборки на всех платформах возникла на волне истории с тотальной прослушкой интернета Агентством национальной безопасности США, о которой стало известно благодаря Эдварду Сноудену. Публикация информации о деятельности АНБ вызвала множество опасений по поводу наличия закладок спецслужб в открытых криптографических продуктах.

Илья Сименко @ilya42
карма
524,7
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

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

  • 0
    Ни у кого нет информации о аналогичном приложении BestCrypt?
    • +20
      Есть.
      BestCrypt — платный пакет проприетарных программ для создания на жёстком диске компьютера виртуального зашифрованного диска (контейнера) — одного или нескольких.

      — Wikipedia

      Я не к тому, что проприетарный — это плохо или хорошо, а к тому, что проверить подобным образом код не получится.
      • 0
        Ну не то, чтобы совсем не получится…
        Разработчики вполне могут заключить контракт и оплатить работу исследователей, которые выдадут заключение. Но перепроверить работу экспертов в домашних условиях вы не сможете, да.
      • 0
        > Я не к тому, что проприетарный — это плохо или хорошо, а к тому что

        такого слова в словаре то нет, как вы из этого описания выводы делать пытаетесь?
      • 0
        В случае с крипто-ПО, сделанного в США, проприетарность это однозначно плохо по понятным сейчас причинам.
  • 0
    Если я правильно понял, то проверили реализацию алгоритмов шифрования. Вопрос стойкости самих алгоритмов не доказан.
    • +7
      Там же стандартные алгоритмы типа AES и Twofish. Я думаю, их уже вдоль и поперек исследовали и (на данном этапе) можно считать их надежными.
      • –23
        Про OpenSSL тоже так думали…
        • +30
          В OpenSSL как раз была уязвимость реализации (причем довольно глупая), а не протокола.
        • +4
          Специалистов, способных заниматься анализом криптоалгоритмов, крайне мало
        • +11
          openssl не является криптоалгоритмом.
        • –15
          Слушай, братуха, иногда лучше реально промолчать.
      • +3
        Проверяли код ТруКрипт в целом — драйвера, клиент и тд
        • 0
          Если авторы TrueCrypt анонимы, какая вероятность, что iSECpartners проверили свой собственный код?

          • +2
            Какая вероятность, что они сами вложили эти 60к в свою краудфандинговую кампанию, чтобы проверить свой собственный код?
    • +2
      Я не думаю, в это было нужно, стойкость алгоритмов — «зона ответственности» других специалистов
      • +3
        Написано же, криптоанализ будет проведен на втором этапе тестирования.
        • 0
          К примеру, AES был объявлен стандартом шифрования в 2002 году и до сих пор не придумали как его взломать. Стойкость алгоритмов проверяется десятилетиями и я сомневаюсь, что ребята из iSECpartners найдут какую-то бреш в AES или любом другом алгоритме, которые использует TrueCrypt.
          • +1
            *брешь
          • +3
            Небольшая поправка.
            В криптографии под «взломать» как правило понимается понимается что-то близкое к «расшифровать текст гарантированно быстрее, чем полным перебором всех возможных паролей», и AES в этом смысле взломан: en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks

            Для тех, кто не пойдёт по ссылке: в статье описаны несколько успешных «взломов» AES. Кроме узкоспециальных случаев типа «при определённом расположении планет можем определить, случайный ли это поток битов или что-то, зашифрованное AES», там есть действительно атака на восстановление ключа, которая в 4 раза быстрее чем полный перебор.
            То есть ключ от AES-256 можно подобрать не за 2^256 операций, а за 2^254. Что делает существование этого «взлома» не отражающимся на практике, понятное дело.
            • +1
              В truecrypt можно же шифровать последовательно тремя алгоритмами — это опция при создании контейнера. Кроме взлома непосредствнено алгоритма нужно выбрать еще и правильную последовательность.
              • –1
                Да, такая возможность есть, но кто может гарантировать, что последовательность нескольких алгоритмов не будет слабее одного алгоритма из-за вероятности «взаимного ослабления», т.е., к примеру, в первом алгоритме есть операция сдвиг влево, а во втором сдвиг вправо на одинаковое количество бит.
                • +4
                  Слабее одного не будет. Может не увеличить стойкость, но слабее точно не будет. Иначе можно было бы искусственно «понаослаблять» до des и брутфорсить. :)
            • 0
              Спасибо за поправку, вы абсолютно правы. Я, своим комментарием, хотел сказать, что iSECpartners вряд ли найдут способ как подобрать ключ, к примеру, за 2^4 операций, доказав тем самым, что AES не стоит использовать.
    • +2
      А доказать надежность алгоритмов в принципе невозможно. Возможно только доказать ненадежность. Даже более того — любая криптографическая система (кроме Верман-подобных) ненадежна. Задача аудита — найти баги наподобие нашумевшего HeartBleed, которые к криптографии отношения не имеют.
      • +2
        Вы имели в виду Вернам-подобных?
        • 0
          Да, действительно. Криво прочитал имя, спасибо, буду знать.
  • +10
    … Так-же эксперты отметили высокое качество кода в закладках от АНБ.

    Багов нет, но значит ли это, что нет закладок, оформленных в виде функций с комментариями?
    Что сама «компания iSECpartners», не аффинированное спец-службами лицо?
    Что ни одному из аудиторов не обещали маленький остров/крипто-паяльник, если он закроет/не закроет глаза на строчки 13904-14234.
    • +4
      Всё верно, но, тем не менее, лучше провести хоть какой-то аудит, чем вообще никакого. При наличии средств можно регулярно повторять аудит поручая его каждый раз разным компаниям из разных стран. Плюс предложить вознаграждение за обнаруженные уязвимости чтобы подключились независимые исследователи которых вообще никто не сможет проконтролировать и удержать от публикации обнаруженных проблем.
      • 0
        это всё равно что надеть вместо шлема шапку и кататься на мотоцикле.
        ложное чувство безопасности это плохо
        • 0
          А кто говорил про чувство безопасности? Я говорил, что есть методы, которые могут обнаружить некоторые проблемы. И что лучше этим воспользоваться и найти/исправить эти проблемы, чем не делать вообще ничего из соображений вроде «мы все умрём!!11». А то, что нет гарантии что найдут все ошибки/закладки — это вроде и так понятно.

          Единственный способ быть уверенным в отсутствии закладок в софте — написать его самостоятельно… но это всё-равно не даёт гарантии что этот софт не будет подвержен закладкам в железе, ОС, используемых библиотеках и даже крипто-алгоритмах, и я уже молчу про баги. В результате, максимально возможную безопасность даёт только софт open source плюс регулярные и максимально независимые аудиты (причём используя разных аудиторов из разных стран).
          • 0
            Речь шла о том, что аудит проводит американская компания. Конечно они «не заметят» закладки от АНБ. Зато можно будет заявить что аудит закончен, проблем не выявлено.
            Лучше никакой аудит, чем аудит под крылом АНБ.
            • 0
              Аудит под крылом АНБ может позволит выявить не-АНБ-шные закладки. :)
  • +1
    Интересно, организует ли кто-то такую проверку для OpenSSL. После недавних событий нужная сумма для аудита безопасности должна собраться довольно быстро.
    • +14
      Имхо, его проще и дешевле будет переписать заново. Люди, копавшиеся в его коде, нервно рассказывают страшные вещи.
      • 0
        … что собственно и делают — LibreSSL
  • +3
    iSECpartners вполне могла получить от АНБ ещё 60к, что бы в они в TrueCrypt некоторых проблем не обнаружили
    • +1
      И самое печальное, что отсутствие этого факта никак не докажешь. Разве что проводить аудит снова и снова, силами разных компаний, пока общая собранная сумма не превысит бюджет АНБ =)
      • +1
        В теории можно доказать, повысив свой скилл до неимоверных высот… но доказать только себе самому :)
        • 0
          Как-то это весьма грустно
          • +1
            Не совсем. Тут интересный момент получается: если там реально есть баг/закладка, которую аудиторы проглядели/скрыли, то доказать это сообществу не составит труда никакого вообще. А вот если её там нет — то доказать никак…
            • +1
              И как только она будет найдена, репутация компании аудитора, которая её пропустила, начнет довольно быстро падать.
      • 0
        Остаётся только стать гением и написать себе систему шифрования с блекджеком.
        • +1
          … и ждать в гости АНБ.
        • –7
          Главное себе потом объяснить, зачем было всем этим заниматься. Шифровать порно картинки с котиками, или архив статей с Хабра и блога Навального?
      • 0
        Точно:
        «Отсутствие доказательств — не есть доказательство отсутствия.»
    • +3
      На самом деле, можно — можно внедрить фейковую закладку (код, очень похожий на закладку; ну или ва-банк — в найт-сборки сключить настоящую закладку) и посмотреть, найдут её или нет.
      • 0
        Можно, когда все карты открыты, заинтересованные стороны известны. Кто даст гарантию, что внедряющий не сольёт аудиторам информацию о конкретной закладке?
        • +3
          Ну, если закладку найдут — это ни о чём не скажет, конечно.
          А вот если не найдут, то всё станет ясно.
  • +4
    Узнал об этом событии из твиттера Брюса Шнайера. Так вот он у себя в блоге сделал такой обобщающий вывод: «Продолжаю пользоваться».
  • 0
    Это только первый этап. Сколько займет второй?
    Новые версии не выходили относительно давно. Поддержка UEFI по слухам должна была появится год назад, но ее так и нет.
  • +4
    Залез на сайт этой самой iSEC partners — четыре офиса, все в США.
    www.isecpartners.com/about.aspx
    Они правда рассчитывали найти закладки АНБ с помощью конторы, весь бизнес которой сосредоточен в США?
    Ну ещё бы RSA Security попросили, ей-богу.
  • 0
    Какой толк от трукрипта, когда подавляющее большинство современных ноутбуков на UEFI, который последний не поддерживает?
    Какой толк от трукрипта, когда подавляющее большинство юзеров используют AES с включеным хардварным AESNI, что приводит к тому, что ключи попадают в процессор в виде :«Привет, я AES-ключ в открытом виде», что говорит о возможности наличия закладок на уровне процессора?
    Какой толк от трукрипта, когда виртуализация сейчас аппаратная, а следовательно, вероятность того, что юзера работают в ОС, которая находится без их ведома внутри гипервизора-закладки, весьма высока?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.