Несколько недель тому назад моя жена заметила, что время от времени она видит
в папке рабочего стола файлы, которые на самом деле на рабочем столе не
находятся. Сказала она об этом не только из-за того, что была обескуражена таким
несоответствием, а еще и потому, что ей надо было удалять и перемещать некоторые
из этих файлов-призраков. Я и понятия не имел, о чем вообще она ведет речь
(впрочем, так происходит почти всегда, когда супруга пытается объяснить мне суть
своих затруднений при работе с компьютером), а потому попросил ее позвать меня,
когда она в следующий раз увидит такие загадочные файлы.
Несколькими днями спустя я вернулся домой с работы и увидел в дверях
ожидающую меня взволнованную жену. Она объяснила, что проблема повторилась и она
оставила окно открытым, чтобы я мог посмотреть на эти ускользающие файлы. Я
ринулся к стоявшему на кухне компьютеру с таким энтузиазмом, что даже не
поздоровался с собаками, и немедленно принялся за изучение ситуации. Я увидел
окно IE во весь экран и множество вкладок с открытыми электронными письмами
(иногда мне кажется, что моя вторая половинка вообще не закрывает вкладки с
электронными сообщениями), а также открытое диалоговое окно выбора файла со
списком файлов, находящихся у ней в папке "Рабочий стол", которое она вызвала,
нажав на кнопку вложения при работе с письмом. Диалоговое окно выглядело
следующим образом:
Я свернул IE, чтобы посмотреть на рабочий стол и действительно убедился в
том, что несколько файлов, включая папку "Maui Feb. 08" и JPG-файлы CIMG13xx там
отсутствовали. В надежде обнаружить их в окне обозревателя, я открыл его и
перешел в папку "Рабочий стол", но не обнаружил всех этих файлов и там:
Таких вещей ранее мне наблюдать не приходилось и я понял, что для утилиты
Process Monitor нашлось занятие. А поскольку программ от Sysinternals на ее
машине не было (печально, но факт), я запустил утилиту прямо из сети,
воспользовавшись адресом сервиса Sysinternals Live (\\live.sysinternals.com\tools\procmon.exe).
Оставив Process Monitor фиксировать все мои действия, я закрыл и снова открыл
диалоговое окно выбора файла через веб-интерфейс почтовой службы, после чего
выполнил поиск по сочетанию букв "CIMG" с которого начинались имена многих
файлов, присутствовавших в диалоговом окне выбора файла, но не в папке "Рабочий
стол" обозревателя. Первое попадание случилось при перечислении списка
директориев, где имена файлов появлялись с крайней правой колонке, озаглавленной
Подробности:
Файлы были расположены в профиле пользователя жены по адресу \Appdata\Local\Microsoft\Windows\Temporary
Internet Files\Virtualized\C\Users\Daryl\Desktop. Каталог Virtualized создается
браузером IE7 во время работы в защищенном режиме (PMIE), который является
режимом по умолчанию в Windows Vista и Windows Server 2008.
В режиме PMIE используются Уровни целостности (Integrity Levels), которые
впервые появились в Vista и Server 2008. Они позволяют ограничивать возможность
записи для выполняемого в IE кода только теми каталогами файловой системы и
ветками реестра, которые отмечены как перезаписываемые для учетной записи, из
под которой работает IE. Как я уже объяснял ранее в предыдущем сообщении на
блоге, с PMIE браузер запускается в режиме низкого уровня целостности (Low
Integrity), что позволяет ему записывать предпочтения и временные файлы (такие
как кэш браузера и история посещений). Однако при этом он не может производить
изменения в других областях, доступных для текущей учетной записи, например, в
папке с документами или индивидуальной для каждого пользователя папке
автозапуска, поскольку они имеют средний уровень целостности (Medium Integrity).
Такая политика предотвращает атаки при загрузке с помощью которых вредоносные
приложения могут внедряться в процессы IE и осуществлять постоянное присутствие.
Для того, чтобы обеспечить обратную совместимость со старым кодом (например,
с элементами ActiveX или модулями Browser Helper Objects), для работы которого
может потребоваться запись в каталоги за пределами виртуализованной среды
браузера, в режиме PMIE браузер перехватывает такие запросы и перенаправляет их
в директорию Virtualized.
Чтобы удостовериться в том, что это как раз то, что в нашем случае и
происходило, я просмотрел трассировку стека вышеозначенных виртуализованных
операций, кликая по строкам правой кнопкой мыши и выбирая Stack. Стэк показал,
что Acredir.dll перехватывал операции и выполнял функции перенаправления:
Двойной клик по строке в окне трассировки стека открыл окно свойств модуля, в
котором сообщалось, что данный DLL-файл является "DLL-файлом совместимости с
Windows". Это убедило меня в том, что он представляет собой часть
виртуализованной среды режима PMIE:
Я хорошо знаком с виртуализацией PMIE, но раньше я никогда не видел, чтобы
файлы виртуализировались на рабочий стол, поэтому для меня не было очевидно, что
именно в этом и кроется причина обнаруженного супругой несоответствия. Программа
Process Monitor вскрыла эту причину и все, что мне оставалось сделать – это
удалить виртуализованные файлы. Большинство пользователей не знает, что удалять
файлы можно прямо из окна выбора файлов, поэтому я воспользовался случаем и
показал жене, как она может управлять виртуализованными файлами из окна выбора
файла вложения веб-интерфейса почтовой службы, если то же самое будет
происходить снова. Мы удалили те файлы, которые были ей не нужны и переместили
некоторые изображения в папки его фотогалереи.
Дело было закрыто. В качестве вознаграждения я заработал восхищение своей
жены, которое она выразила по поводу того, с какой легкостью мне удалось
установить источник неприятностей, и в особенности от того, что именно я написал
утилиту, которую использовал для их устранения. Кроме этого, супруга получила
представление о принципах работы виртуализованной среды PMIE, хотя я подозреваю,
что моя лекция на эту тему в ее голове долго не задержится.
Кстати говоря, ты практически наверняка увидишь некоторые файлы и каталоги,
если заглянешь в папку Virtualized, которая находится в твоем профиле
пользователя, поскольку даже самые обычные операции IE приводят к
перенаправлению. На последнем скриншоте ты видишь кэш-файлы пиктограмм, которые
создаются окном выбора файлов, если пользоваться им из-под IE. Обычно они
хранятся в твоем профиле, однако в режиме PMIE у браузера нет туда доступа,
поэтому они виртуализируются:
Оригинал:
http://blogs.technet.com/markrussinovich/archive/2009/02/03/3174194.aspx
Читай так же:
Windows Defender: история одного торможения
История пропавшего автозапуска
История случаных падений IE и WMP
Копирование: простая сложность
История неизвестного Автостарта