В середине января мы писали об уязвимости в Windows 10, которая позволяет пользователям даже с низкими привилегиями помечать тома с файловой системой NTFS как «dirty volume». Это особая метка тома диска, обозначающая, что диск необходимо проверить при подключении или перезагрузке системы. Проблема была обнаружена инженером по компьютерной безопасности, Йонасом Ликкегаардом (Jonas Lykkegaard).
После установки метки «dirty volume», система Windows отображает сообщение о повреждении диска и предлагает пользователю перезагрузить устройство, чтобы запустить утилиту chkdsk и устранить неполадку.
В большинстве случаев после работы chkdsk операционная система снова загружается в обычном режиме. Однако, в ряде случаев, даже после запуска chkdsk, в системе возможны проблемы с запуском.
Впоследствии оказалось, что данная проблема характерна не только для Windows 10, но и для более старых версий Windows, включая даже Windows XP.
При проверке концепции порталу BleepingComputer удалось создать специальный файл, который автоматически приводит к повреждению NTFS сразу после попытки доступа к файлу или чтения его атрибутов Проводником Windows.
Доступно стороннее исправление
Компания OSR, специализирующаяся на разработке программного обеспечения для Windows, выпустила драйвер фильтра с открытым исходным кодом, который предотвращает злоупотребление ошибкой NTFS, пока мы ждем официальный патч от Microsoft.
Драйвер фильтра файловой системы под названием «i30Flt» отслеживает попытки доступа к потокам, начинающимся с «:$ i30:» и блокирует такие запросы еще до того, как они могут вызвать ошибку.
Компания рассказал про данное решение в своем блоге:
OSRDrivers/i30Flt: это простой фильтр, который блокирует попытку доступа к потокам, начинающимся с “:$i30:”. Это позволяет предотвратить ложное предупреждение о повреждении, срабатывающее в некоторых версиях Windows 10.
OSR также удалось воссоздать ситуацию, когда тестовая система не загружается даже после работы chkdsk. Компания сообщила:
Одна из наших систем перестала загружаться после второго запуска chkdsk. Поэтому мы решили предотвратить риск получения неисправной системы, пока не будет выпущено официальное исправление.
Чтобы установить драйвер, загрузите его со страницы проекта на GitHub, откройте командную строку с повышенными привилегиями и перейдите в папку, в которую вы распаковали файлы.
Затем запустите следующие команды:
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 .\i30flt.inf wevtutil im i30flt.man fltmc load i30flt
После установки драйвера перезагрузка Windows не требуется. Теперь все попытки доступа к пути, содержащему “$i30:” будут блокироваться.
Microsoft рассказала, что планирует исправить данную ошибку. После выхода официального патча драйвер можно будет удалить с помощью команды:
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultUninstall 132 .\i30flt.inf
Если ошибка не была устранена, и вы решили удалить драйвер, то ошибку можно будет снова использовать для вывода ложного предупреждения о повреждении диска.
Microsoft пока не разглашает, когда будет доступно исправление. Пока мы дожидаемся официального патча, решение от OSR станет отличной альтернативой.
Последние статьи #Windows
• Microsoft PowerToys 0.87.1: исправление проблем стабильности в Windows 10, ошибок .NET 9 и Расширенной вставки
• Microsoft тестирует перевод в режиме реального времени на Copilot+ ПК с процессорами Intel и AMD
• Microsoft рассказала об эксклюзивных функциях Windows 11 для игр. Стоит ли обновляться с Windows 10?
• Microsoft блокирует обновление до Windows 11, версия 24H2 на ПК с включенной функцией Auto HDR из-за проблем с играми
• Microsoft подтвердила проблему с выводом звука в Windows 11, версия 24H2
• GitHub открыл бесплатный доступ к ИИ-инструменту Copilot в VS Code – с поддержкой GPT-4o и Claude 3.5