Несколько недель тому назад моя жена заметила, что время от времени она видит в папке рабочего стола файлы, которые на самом деле на рабочем столе не находятся. Сказала она об этом не только из-за того, что была обескуражена таким несоответствием, а еще и потому, что ей надо было удалять и перемещать некоторые из этих файлов-призраков. Я и понятия не имел, о чем вообще она ведет речь (впрочем, так происходит почти всегда, когда супруга пытается объяснить мне суть своих затруднений при работе с компьютером), а потому попросил ее позвать меня, когда она в следующий раз увидит такие загадочные файлы. Несколькими днями спустя я вернулся домой с работы и увидел в дверях ожидающую меня взволнованную жену. Она объяснила, что проблема повторилась и она оставила окно открытым, чтобы я мог посмотреть на эти ускользающие файлы. Я ринулся к стоявшему на кухне компьютеру с таким энтузиазмом, что даже не поздоровался с собаками, и немедленно принялся за изучение ситуации. Я увидел окно 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
|