Шифровальщик TrueCrypt содержит баги, но в целом безопасен

Шифровальщик TrueCrypt содержит баги, но в целом безопасен

Анонимный автор TrueCrypt прекратил работу над проектом еще 2014 году, посоветовав пользователям переходить на другие приложения для шифрования, так как сам TrueCrypt небезопасен. Но программу, невзирая на существование форков VeraCrypt и CipherShed, по-прежнему используют миллионы пользователей.

Теперь аудит проекта заказало правительство Германии, и эксперты пришли к неожиданному выводу: TrueCrypt действительно содержит ряд багов, но его вполне можно считать надежным.

На этот раз аудит кода TrueCrypt заказало Федеральное управление по информационной безопасности (German Federal Office for Information Security), а осуществляли проверку специалисты института Фраунхофера. Аудит занял у них полгода, а исследованию подверглась новейшая версия TrueCrypt — 7.1a. По итогам проверки аудиторы пришли к выводу, что продукт «гораздо безопаснее, чем предполагали предыдущие исследования», пишет xakep.ru.

Ранее TrueCrypt проверяли неоднократно. Так, группа криптографов завершила аудит исходного кода программы в апреле текущего года, невзирая на тот факт, что автор официально забросил проект год назад. 21-страничный отчет опубликован на сайте Open Crypto Audit Project (OCAP). Тогда TrueCrypt был признан хорошо спроектированным образцом криптографического ПО. Проверка не выявила никаких следов или значительных ошибок архитектуры, которые могут привести к уязвимостям. Правда, тогда аудиторы скорее искали бэкдоры.

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

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

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

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

Так как в отчете OCAP говорилось, что TrueCrypt страдает от ряда багов, связанных с переполнением буфера, немецкие аналитики провели собственные тесты, чтобы проверить, так ли это. Как ни странно, согласно их данным, эксплуатация данных багов оказалась вообще невозможна.

С полным 77-страничным отчетом экспертов можно ознакомиться здесь.

Эрик Бодден (Eric Bodden), профессор Дармштадтского технического университета и глава команды аудиторов пишет:

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

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

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

Правила обработки запросов при этом добавляются динамически, а фильтрация осуществляется по регулярным выражениям, соответствующим подмножествам знаков, которые могут присутствовать на определенных позициях в URL.

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru