Отрытый немецким исследователем новый тип нападения может фатально
скомпрометировать многие программы для шифрования, работающие под Windows и
прячущие файлы внутри виртуальных дисков.
Согласно исследованию, опубликованному Берном Роллгеном из PMC Ciphers, такие
программы обычно передают пароли и информацию о расположении файлов драйверу
устройства в незашифрованном виде, используя программную функцию DeviceIOControl.
Хотя перехватить эти данные напрямую вредоносное приложение не может,
поскольку правильно написанная программа перезаписывает область памяти, в
которой кэшируется подобная информация, такие сведения могут быть получены, если
злоумышленник найдет способ скомпрометировать само ядро Windows.
При осуществлении атаки, которую Роллген назвал Mount IOCTL (input output
control), хакеру потребуется заменить функцию DevicelOControl на такую, которая
способна записывать коды ввода/вывода для того, чтобы впоследствии обнаружить те
из них, что используются драйвером шифрования. Если такие коды будут найдены,
пароли, используемые для монтирования и размонтирования виртуальных приводов,
окажутся уязвимыми.
Звучит довольно просто, а как насчет возможности практического осуществления
такой атаки? Ключевыми составляющими успеха тут будут способность вируса
пробраться в ядро и не быть при этом обнаруженным системой, и возможность
обнаружения уникального кода, используемого программой шифрования, что довольно
непросто, но теоретически допустимо.
Чтобы обезопасить свое приложение от этого, Роллген рекомендует использовать
при обмене ключами между драйвером и приложением алгоритм Диффи-Хеллмана.
|