Компания
263,92
рейтинг
2 октября 2015 в 13:00

Разработка → В криптософте TrueCrypt обнаружены критические уязвимости



Член команды Google Project Zero Джеймс Форшоу (James Forshaw) обнаружил две критические уязвимости в драйвере TrueCrypt, который программа устанавливает в Windows-системах. Ошибки безопасности CVE-2015-7358, CVE-2015-7359 позволяют злоумышленникам осуществить эскалацию привилегий, получив полные права администратора и доступ ко всем данным пользователя даже в том случае, если они зашифрованы.

Уязвимости остались незамеченными во время независимого аудита кода приложения. Проверка состояла из двух этапов и проводилась инженерами iSEC Partners после того, как разработчики TrueCrypt внезпано заявили о закрытии проекта, сообщив о том, что в его коде могут содержаться уязвимости.

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



Аудиторы фокусировались именно на поисках «закладок» в коде — подозрения в их наличии появились после странных заявлений первоначальных разработчиков TrueCrypt, которые так и остались анонимными.

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

Версия VeraCrypt 1.15, выпущенная в конце сентября, содержит патчи для найденных Форшоу уязвимостей.

По словам эксперта исследовательского центра Positive Research Артема Шишкина, эксплуатировать найденные Форшоу уязвимости очень просто. «Встроенный статический верификатор на такое не жалуется, однако тот, кто «шарит» в безопасности, первым делом полезет это проверять». Эксперт не уверен в том, что уязвимости представляли собой «закладки»: «Сомнительно, скорее всего халтура, оставшаяся со времен Windows XP».

Руководитель отдела анализа приложений Positive Technologies Дмитрий Скляров предположил, что обнаруженные уязвимости действительно могли быть оставлены разработчиками TrueCrypt намеренно.

«Ошибка позволяет сделать скорее не Privilege Escalation, а получить доступ к тому TrueCrypt, смонтированному под другим пользователем, не имея прав администратора. То есть получить контроль над машиной уязвимость не позволяет, но зато обеспечение конфиденциальности явно хромает.

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

По мнению Склярова, в ходе качественно проведенного аудита безопасности такие ошибки должны были быть обнаружены:

«В таких случаях всегда ищут конкретные типы уязвимостей — из описания похоже, что в проведенном аудите искали бэкдоры и алгоритмические закладки. А значит, хорошим аудитом подобные дыры должны быть обязательно выявлены».
Автор: @ptsecurity
Positive Technologies
рейтинг 263,92

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

  • 0
    Форшоу считает, что найденные им уязвимости не являются бэкдорами.


    Хорошо, если.

    Вместе с Heartbleed это дает пищу для размышлений и на такую тему. Кто вносит изменения в открытые продукты? Все ли они добросовестны?
    • +4
      Ну с Heartbleed никаких секретов нет: вот есть конкретный коммит ( https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=4817504d069b4c5082161b02a22116ad75f822b1 ), который привнёс баг, а у коммита есть автор. Про автора ошибки даже статья на хабре была в связи с Heartbleed.
    • 0
      Кстати, на тему внесения злоумышленниками изменений в открытый продукт TrueCrypt с последующей маскировкой под оригинал уже была статья "ESET: боевой вирус маскируется под программу для шифрования данных"
  • 0
    доступ ко всем данным пользователя даже в том случае, если они зашифрованы.


    Это как?
    • 0
      Там ведь дальше дано объяснение:
      Ошибка позволяет сделать скорее не Privilege Escalation, а получить доступ к тому TrueCrypt, смонтированному под другим пользователем, не имея прав администратора. То есть получить контроль над машиной уязвимость не позволяет, но зато обеспечение конфиденциальности явно хромает.
  • 0
    Кто-нибудь из присутствующих здесь нашёл уязвимый участок кода?
    • +5
      В Veracrypt можно глянуть диффы по патчам, которые их закрывают
      • +12
        Если вдруг кому интересно и лень искать:
        https://github.com/veracrypt/VeraCrypt/commit/b7f9df6e4f09ba342fdbbadc63af5062cc57eaf2
        https://github.com/veracrypt/VeraCrypt/commit/9b24da3398581da1fa66c6b8f682bbcfa7ded4fd
  • 0
    Данная уязвимость затрагивает только зашифрованные «на лету» разделы (для этого нужен драйвер) или обычные контейнеры так же? Иными словами: что делать в случае наличия созданных отдельных контейнеров? Мигрировать на Vera и конвертировать их в формат VeraCrypt?
    • 0
      получить доступ к тому TrueCrypt, смонтированному под другим пользователем, не имея прав администратора

      в случае контейнера, если я верно понимаю, он УЖЕ должен быть расшифрован и смонтирован.
      мигрировать, а почему нет?
      зачем их конвертировать? новые создать и туда перекинуть данные просто.
  • +4
    Господа параноики, так чем таки пользоваться нынче? Куда бежать? Я как-то потерялся в обилии форков и других проектов. Хочу кросплатформенно.
    • +1
      Veracrypt
      https://veracrypt.codeplex.com/
      • 0
        они кроме codeplex параллельно ещё и в другие репозитории коммитят:
        github.com/veracrypt/VeraCrypt
        bitbucket.org/veracrypt/veracrypt

        время коммитов во все репозитории примерно одинаковое
      • 0
        На андроиде как-то монтировать VeraCrypt контейнеры возможно? Или умеет ли VeraCrypt полноценно работать с TrueCrypt контейнерами?
        • 0
          Надо будет перепаковать.
          Написано, что делается автоматически, но у меня не сделалось.
          Скопировал руками, truecrypt удалил.
          • 0
            То есть не умеет.
    • 0
      Пользоваться старой проверенной версией TrueCrypt и не поддаваться нагнетаемой панике.

      Тогда не придется задумываться о закладках в VeraCrypt, например ;-)
      • –1
        Тогда придется задумываться о закладках в старом TrueCrypt и насиловать глаза убогим интерфейсов на высокоплотном экране. Эх, мечты.
  • +2
    Я не совсем уловил степень критичности данной уязвимости.
    Есть ли смысл волноваться, если я пока нахожусь в статусе неуловимого Джо и в ближайшие несколько лет, ребята из АНБ и ФСБ вряд ли заинтересуются моей конфиденциальной инфой?
    • 0
      Как показывает опыт, всякого рода китайы очень активно подобыне уязвимости эксплуатируют для массового сбора информации. И даже чёрт с ними с китайцами, но в последнее время всё больше появляется троянов, которые через уязвимости реализуют поиск конфиденциальной информации (электронные кошельки и т.п.).
  • 0
    Я немного туповат, поэтому не понял, в какой момент уязвимость может быть использована. Например, если контейнеры размонтированы (т.е. при повторном монтировании нужно будет ввести пароль), то эта уязвимость актуальна? Или она актуальна только в момент когда контейнеры смонтированы?
    • 0
      Только в случае, если контейнер смонтирован.
      • 0
        И только на Windows, верно?
  • +1
    Я лично использую сабж в офисе для того чтобы любопытные сотрудники когда меня нет не влезли куда не просят — например в почтовый ящик. Думаю большинство использует примерно также. Это к тому что критичное с технической точки зрения проблема не является критичной де факто для большинства случаев. Кто хранит реально важные конфиденциальные данные хранит их там где TrueCrypt уже без надобности.
    • –1
      Это где же? В сейфе? На флешке под паркетом?
      • 0
        и стоило подымать тему полугодовой давности лишь бы продемонстрировать убогую попытку тролинга и свою некомпетентность.
        Какие существуют мероприятия и технические средства хранения и передачи конфиденциальных и секретных данных вам с удовольствием выдаст гугл или википедия.
        • 0
          Это был просто юмор, а не троллинг. Мне действительно интересно, где рядовому пользователю можно хранить разнородные данные надежнее чем на шифрованных дисках и контейнерах, не прибегая к физическому отключению от сети?
          • 0
            об этом я и написал — для рядового пользователя, который не хранит у себя на диске инфу стоимостью милиарды баксов, вполне достаточно сабжа даже если оный неидеален.
  • 0
    «Сомнительно, скорее всего халтура, оставшаяся со времен Windows XP».


    Скорее даже с более раннего периоду, судя по фиксу:

    -#define DOS_MOUNT_PREFIX DRIVER_STR("\\DosDevices\\")
    +#define DOS_MOUNT_PREFIX DRIVER_STR("\\GLOBAL??\\") // Explicitely use Global MS-DOS device names to avoid security issues
    
    ...
    
    +	NTSTATUS ntStatus;
    
    ...
    
    -	if (NT_SUCCESS (ZwOpenSymbolicLinkObject (&handle, GENERIC_READ, &objectAttributes)))
    +	if (NT_SUCCESS (ntStatus = ZwOpenSymbolicLinkObject (&handle, GENERIC_READ, &objectAttributes)))
    


    Тут привет Win9x во всей красе.

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

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