id: Гость   вход   регистрация
текущее время 01:32 03/12/2024
Владелец: ntldr (создано 11/03/2008 10:10), редакция от 11/03/2008 11:01 (автор: ntldr) Печать
Категории: софт, truecrypt
http://www.pgpru.com/Новости/2008/КритическаяУязвимостьВTrueCrypt51
создать
просмотр
редакции
ссылки

11.03 // Критическая уязвимость в TrueCrypt 5.1


10.03.2008 вышел релиз TrueCrypt 5.1 одной из добавленых фич которого является поддержка hibernation. Посмотрев исходный код TrueCrypt, я обнаружил критическую уязвимость приводящую на некоторых конфигурациях железа к полному раскрытию всех ключей шифрования находившихся в памяти в момент использования hibernate. Это дает возможность дешифрования загрузочного раздела, и весьма вероятно всех подключенных контейнеров.


Уязвимость находится в файле DriveFilter.c, и заключается в некорректной реализации перехвата исполнения точки входа dump port драйвера. TrueCrypt определяет нужный драйвер путем сравнения его имени со следующим списком:



Если вы используете нестандартный storage контроллер, то он может иметь свой драйвер реализующий функциональность dump port, и в этом случае содержимое памяти будет записано на диск в открытом виде, что позволяет извлечь ключи шифрования просто просканировав данные на диске.


Еще одна уязвимость находится в этом участке кода:


Структура HiberDriverContext в TrueCrypt описана не полностью. Она имеет слудеющий вид:

Оригинальная структура взятая из открытых источников (отладочных символов на ядро) должна иметь такой вид:

Как вы видите, имеются два обработчика записи данных на диск. Это WriteRoutine и WritePendingRoutine. TrueCrypt обрабатывает только WritePendingRoutine, и если драйвер дамп порта не поддерживает WritePendingRoutine, то данные будут писаться через WriteRoutine, что опять же вызовет утечку ключей шифрования. В частности Windows 2000 всегда использует WriteRoutine, поэтому в этой ОС узявимость проявлялась бы всегда, если бы TrueCrypt мог работать на ней.


Уязвимости подвержены пользователи держащие систему на аппатарных RAID, а частности на популярном чипе Intel Matrix Storage.
Способы решения уязвимости: отключить hibernate в настройках электропитания. В случае если вы уже использовали hibernate вы должны проверить удалился ли файл hiberfil.sys и затереть все свободное место на диске программой безопасного уничтожения информации.


 
Много комментариев (12) [показать комментарии/форму]
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3