Шифровальщик 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 не хуже и не лучше его аналогов. Можно было бы улучшить качество кода, некоторые части требуют даже тщательной его  реструктуризации, и определенно нужна документация получше. Но в целом, программа делает то, для чего была создана».

Создатель Диспетчера задач объяснил, почему загрузка CPU в Windows врёт

Бывший инженер Microsoft Дэйв Пламмер, приложивший руку к таким знаковым вещам, как поддержка ZIP в Windows и меню «Пуск» в Windows NT, рассказал, как на самом деле Диспетчер задач считает загрузку процессора. И заодно объяснил, почему цифры в этом инструменте иногда кажутся немного странными, особенно если сравнивать их с тем, как компьютер ощущается в реальной работе.

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

Вопросов тут сразу слишком много: занят чем именно, на одном ядре или на всех, прямо сейчас или в среднем за последние секунды, в пользовательском режиме или на уровне ядра? Как только начинаешь во всём этом разбираться, простая шкала загрузки уже перестаёт выглядеть такой уж простой.

Сам Диспетчер задач, как объяснил Пламмер, работает не в режиме мгновенного измерения. Он обновляет данные через определённые интервалы, то есть показывает скорее интерпретацию того, что происходило между обновлениями, а не живую картину в каждый конкретный момент. Поэтому цифры на экране — это всегда усреднённый результат, а не моментальный снимок состояния процессора.

Самым очевидным решением мог бы быть простой расчёт по времени между обновлениями интерфейса. Но Пламмер от такого подхода отказался: он посчитал, что полагаться на точность GUI-таймера — идея так себе. Он даже сравнил это с попыткой доверить точный ритм метронома, который едет в кузове пикапа по разбитой дороге.

Вместо этого он заложил в Диспетчер задач другой принцип. Утилита запрашивает, сколько процессорного времени каждый процесс суммарно использовал с момента запуска (отдельно в пользовательском и системном режимах).

Затем из нового значения вычитается предыдущее, полученное во время прошлого обновления. Так определяется, сколько CPU-времени процесс съел за конкретный промежуток. А дальше это сравнивается с общим объёмом процессорного времени, которое было израсходовано всеми процессами за тот же период.

Звучит не очень просто, но именно такой метод, по словам Пламмера, даёт более точный результат, чем грубый расчёт по таймеру. Проблема в другом: современные процессоры стали намного сложнее, чем во времена, когда создавался классический Диспетчер задач.

Сегодня на работу CPU влияют динамическое изменение частоты, турбобуст, тепловые ограничения, глубокие режимы простоя и другие механизмы. Из-за этого один и тот же процент загрузки уже не всегда означает один и тот же объём реально выполненной работы. Пламмер привёл образное сравнение: современная загрузка CPU больше похожа не на пройденное расстояние, а на загруженность шоссе. Полупустая трасса с быстрыми спорткарами может перевезти больше, чем полностью забитая дорога со старыми грузовиками.

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

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