Баг NTFS приводит к зависанию Windows 7 и 8.1

Пользователи персональных компьютеров со стажем как минимум в два десятилетия могут помнить баги операционных систем Windows 95 и 98. Определённые имена файлов были способны привести к падению операционной системы. Хакеры могли использовать это для атак компьютеров, например, через файлы изображений: браузер пытался получить доступ к плохому файлу и операционная система аварийно завершала работу.



Как оказалось, Windows Vista, Windows 7 и 8.1 также обладают похожей проблемой. Файлы с определёнными именами способны показать пользователям синий экран смерти, вредоносные веб-страницы могут использовать подобные файлы изображений. Если зайти на такую страницу через любой браузер, компьютер сразу как минимум зависнет.

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

Одним из наиболее популярных подобных файлов является con, который представляет клавиатуру для ввода и экран для вывода информации. Windows корректно обрабатывает попытки доступа к устройству con, но если имя файла содержит две ссылки на специальное устройство, вроде c:\con\con, тогда появляются проблемы. Если доступ к файлу запрашивается с веб-страницы, например, при попытке загрузки изображения по адресу file:///c:/con/con, система падает при загрузке страницы.

Новый баг не затрагивает Windows 10 и использует другое специальное имя файла. $MFT представляет собой имя одного из специальных файлов метаданных, которое использует файловая система NTFS. Файл существует в корневом каталоге каждого тома NTFS, драйвер NTFS обрабатывает его особым образом, он скрыт от просмотра и недоступен большей части программного обеспечения. Обычно попытки открыть этот файл блокируются, но если имя файла используется как название папки, например, при попытке открыть файл c:\$MFT\123, драйвер NTFS снимает блокировку файла и уже не возвращает её. В результате блокируются все попытки доступа к файловой системе и все программы зависают, компьютер приходится перезагружать.

Microsoft уже была уведомлена о существовании проблемы, информации о выпуске патча пока не поступало.

Нравится5
Комментарии (7)
B
i
u
Спойлер