Что это за расширенные атрибуты (EAs) в файлах в Windows 8?
Когда я запускаю CheckDisk на томе Windows 8 Consumer Preview, я получаю:
> chkdsk /v S:
The type of the file system is NTFS.
Volume label is Windows 8.
WARNING! F parameter not specified.
Running CHKDSK in read-only mode.
CHKDSK is verifying files (stage 1 of 3)...
91392 file records processed.
File verification completed.
28 large file records processed.
0 bad file records processed.
20224 EA records processed. <------------------ huh??
Почему на томе так много расширенных атрибутов? Я думал, что никто больше не использовал советники...
Редактировать:
Как пример, файл \Windows\CSC\v2.0.6
имеет расширенный атрибут, который содержит строку
Ԡ 1X C8A05BC0-3FA8-49E9-8148-61EE14A67687.CSC.DATABASE P X Չ: Չ: ˌΦ]cᑡPcďŠ 4 C8A05BC0-3FA8-49E9-8148-61EE14A67687.CSC.DATABASEEX1 P X _, N0t 08 C8A05BC0-3FA8-49E9-8148-61EE14A67687.CSC.EPOCHEA 8 ͌Φ]cᑡPcďŠ }
который (благодаря ответу ниже), похоже, связан с кэшированием автономных файлов на стороне клиента.
Тем не менее, кажется, что большинство других экспертов отличаются - например, файл
\Program Files\WindowsApps
\Microsoft.BingFinance_1.0.1022.0_x64__8wekyb3d8bbwe\pages\ETF\js\ETF.js
и большинство других файлов содержит (в основном) строку $KERNEL.PURGE.APPXFICACHE
, который, кажется, не связан. Для чего это может быть?
4 ответа
Исходя из названия советника "CSC.DATABASE", можно предположить, что оно связано с кэшированием на стороне клиента. Это также объясняет, почему их так много, так как каждый кэшированный файл, вероятно, имеет их для идентификации с сервером.
Кроме того, я не думаю, что советники особенно редко используются вообще. Я точно знаю, что они используются, например, IE для идентификации файла как "загруженного из Интернета" (что заставляет проводник Windows спрашивать перед запуском файла и тому подобное).
Расширенные атрибуты используются в Windows, в том числе ядром, которое использует их для отслеживания различных ограничений безопасности и обеспечения их соблюдения.
См. https://docs.microsoft.com/en-us/windows-hardware/drivers/ifs/kernel-extended-attributes .
В частности, журнал USN NTFS сможет безопасно отслеживать изменения, внесенные в файлы, так что снимки файловой системы или восстановление файловой системы после неожиданного резкого завершения работы (вызванного потерей питания, перегревом или BSOD и перезагрузками) будут надежными. Это короткие защищенные записи, добавленные в небольшие потоки EA (обычно они хранятся в записи MFT без выделения каких-либо дополнительных экстентов, если только запись MFT не слишком мала, чтобы вместить все потоки, и в этом случае они будут вставлены в отдельные экстенты NTFS, выделенные для " «нерезидентные» атрибуты, которые не помещаются в запись MFT фиксированного размера, которая обычно небольшая и имеет размер около 1 КБ, но в которой ВСЕГДА будут установлены некоторые атрибуты файла, включая базовые атрибуты и специальный атрибут, содержащий карту выделенных экстентов для потоки, которые превышают емкость, например поток по умолчанию «$DATA» для обычного содержимого файлов или индексы для каталогов; какой поток поместится в запись MFT, зависит от размера записи MFT, который можно настроить при форматировании тома MFT , но обычно составляет 1 КБ, т. е. меньше, чем "кластеры" регулятора, используемые для выделения пространства для экстентов)
Некоторые расширенные атрибуты, управляемые ядром:
«$KERNEL.PURGE.ESBCACHE»: по-видимому, это используется «Branch Cache» для облегчения развертывания и обновления системы на удаленно управляемых хостах, позволяя доменам применять свои собственные политики (а не локальные политики по умолчанию или политики, определенные по умолчанию Microsoft в Windows).
«$KERNEL.PURGE.SEC.FILEHASH»: содержит надежный хэш файла (и используемый алгоритм хеширования) содержимого файла: это позволяет восстановить файловую систему для обнаружения повреждения содержимого.
«$KERNEL.PURGE.SEC.CODEINTEGRITY»: этот небольшой советник содержит флаги политики целостности кода.
«$KERNEL.SMARTLOCKER.ORIGINCLAIM»: он надежно отслеживает приложение, создавшее файл (т. е. путь к его установщику или пакету MSI, содержащему ссылочные подписи).
«$CI.CATALOGHINT»: содержит имя защищенного файла *.cat в каталогах Windows для пакета, содержащего источник этого файла. Такие инструменты, как «SFC/SCANNOW» или «DISM/Online Cleanup-Image ScanHealth», могут проверять их, а с помощью предыдущих советников они смогут безопасно идентифицировать исходный пакет, содержащий файл, из которого он был установлен ( при необходимости Центр обновления Windows сможет найти, загрузить и переустановить копии этих пакетов).
НЕ ПУТАЙТЕ два последних EA с «Zone.Identifier», который IE (или другие веб-браузеры для Windows) добавляют к файлам, которые вы загружаете из Интернета, или которые разархиваторы добавляют к файлам, которые вы извлекаете из загруженного ZIP-архива или кабинета. файл (или другие форматы архива), скопировав его из «Идентификатора зоны» в сам файл архива/шкафа: это не советники, они хранятся как «альтернативные потоки данных» (ADS), которые являются атрибутами типа «$ DATA" (как и обычное содержимое файла, за исключением того, что $DATA имеет непустое имя, тогда как обычное содержимое файла имеет пустое имя); Кроме того, эти ADS существуют только в том случае, если они хранятся в NTFS или совместимых файловых системах, и они НЕ проверяются ядром, а пользовательским интерфейсом (в основном в проводнике) и не всегда сохраняются при копировании в другое место (например, при перемещении такие помеченные файлы в ZIP-файл). Эти ADS очень слабы, они не так сильны, как EA или другие системы подписей (например, внешние защищенные каталоги или подписи Authenticode внутри исполняемых файлов или некоторые форматы носителей, позволяющие использовать аналогичные подписи внутри обычного содержимого файла; для защиты системы ядру не нужны и используются эти устаревшие ADS, оно использует Authenticode и безопасные каталоги в противном случае, например, в базе данных драйверов или в каталогах Windows, таких как WinSxS). Альтернативные потоки данных устарели, но по-прежнему используются в веб-браузерах только для этой цели, просто как подсказка для пользователей, но они не препятствуют базовым операциям, которые пользователи все еще могут выполнять, включая обход предупреждения, которое им будет показывать Explorer (но не всегда). , так как они часто не сохраняются). Кроме того, веб-браузеры могут не обязательно добавлять эти ADS «Zone.identifier», если в загруженных файлах используется более надежный механизм подписи или если они загружаются специализированной службой в фоновом режиме (например, самим Центром обновления Windows, который использует безопасно подписанные каталоги). ).
В зависимости от используемых вами инструментов и функций ОС или некоторых драйверов у вас могут быть определены другие советники. Многие инструменты безопасности и антивирусные программы добавляют свои собственные EA в различные файлы или каталоги (что также помогает этим инструментам более эффективно сканировать изменения).
Если вы используете Microsoft Store или инструменты развертывания AppX в Windows, также будут дополнительные EA для настройки виртуальной среды, в которой они будут работать (например, глобальные настройки для каждого компьютера, или для каждого домена, или для каждого пользователя, или для каждой онлайн-идентификации в зависимости от об удаленной службе, которую вы будете использовать или с какой третьей стороной вы будете общаться, копирование при записи или полное дублирование, отложенная запись или синхронизированная запись, параметры или политики общего доступа, предоставленные лицензии и права использования, трекеры для подписки/ варианты оплаты онлайн-сервисов; некоторые приложения также используют их точно так же, как файлы cookie для отслеживания на веб-страницах, а затем сохраняют личные идентификаторы или предпочтения, специфичные для некоторого содержимого файлов или приложений, и смогут синхронизировать их с личными онлайн-профилями, чтобы вы могли могут использовать эти приложения в автономном режиме, по крайней мере, в течение определенного периода времени...).
Если вы используете некоторые облачные сервисы (кроме сервисов Microsoft), они также могут синхронизировать локальную копию файлов, которые вы используете локально чаще всего, при этом позволяя архивировать файлы в Интернете или синхронизировать их с другими устройствами).
Обычно советники очень малы (около 100 байт или около того для большинства из них). К любому файлу в NTFS/ReFS (и других поддерживаемых файловых системах) может быть прикреплено множество EA для множества различных приложений. Способ индивидуального кодирования этих советников зависит от приложения. Эксперты имеют свои собственные имена (например, обычные файлы в видимых каталогах и потоки ADS), за исключением того, что эти имена не предназначены для чтения людьми; поэтому эти имена являются «техническими» и не используют Unicode. Некоторые префиксы имен EA зарезервированы Microsoft в файловых системах Windows.
Независимо от того, будут ли эти EA находиться вне MFT (файловых систем NTFS или ReFS), зависит от того, сколько их присутствует для данного файла. ЕСЛИ они не помещаются в запись MFT, NTFS выделит некоторые экстенты, чтобы разместить их в другом месте тома. Список EA, определенных для файла, представляет собой один из его потоков, точно так же, как стандартные атрибуты, или атрибуты безопасности (ACL), или обычный контент, или дополнительные потоки (например, поток, который отслеживает, что файл был загружен из сети и может быть небезопасным, он может отслеживать свой веб-домен или IP-адрес происхождения, и если доступ к этому домену осуществлялся по защищенному протоколу, например HTTPS: это позволяет Windows отображать всплывающие окна авторизации для пользователя или запрашивать разрешение на повышение прав пользователя; файлы ZIP/CAB иметь такой поток, добавленный веб-браузерами и безопасными загрузчиками; а инструменты извлечения zip-файлов также будут распространять этот поток на каждый извлеченный файл, если он может быть исполняемым или иметь побочные эффекты, включая файлы HTML, шрифты, Javascript, медиа-файлы или офисные документы, которые будут открываться по умолчанию в безопасном режиме приложениями, использующими их, и это будет предупреждать пользователя о том, что некоторые встроенные компоненты, такие как скрипты или шрифты, могут быть небезопасными. Это правда, что некоторые советники были разработаны для обеспечения совместимости с OS/2 или MacOS (только эти Советники устарели), но все еще добавляются и используют другие системы. А новые системы безопасности (в том числе и в самой Windows, в ее ядре или в ее службах и функциях) постоянно добавляют новые.
EA являются ключевой особенностью NTFS (и ReFS). Они также существуют в других файловых системах, отличных от Windows (включая Ext4 в Linux); для некоторых файловых систем, не имеющих встроенной поддержки, они могут храниться в отдельном подкаталоге или в файлах со специальными именами. EA обычно не отображаются в содержимом каталога (для файловых систем, которые их реализуют) и не учитываются в обычных файлах, поэтому их можно легко добавлять/удалять без изменения обычного содержимого; они также позволяют различным приложениям, службам или операционным системам взаимодействовать с одними и теми же файлами, безопасно связывая свои собственные метаданные. Таким образом, они являются безопасными расширениями существующих файловых систем (в большинстве случаев приложениям не нужно о них заботиться, ими будет управлять операционная система или ее службы, чаще всего для обеспечения безопасности и проверки).
Советники определенно не устарели. На самом деле сегодня они используются гораздо чаще, и существует множество вариантов, созданных многими разработанными решениями безопасности (если вы посмотрите на Windows 11, там их больше; если вы используете службы Azure или присоединяетесь к домену AD, там будет быть дополнительными советниками, если вы используете различные инструменты безопасности, а не только инструменты Microsoft, они добавят свои собственные, некоторые приложения также используют их для хранения трекеров прав DRM на приобретенных вами носителях вместе с ключами расшифровки, если это необходимо, а также надежно подписанными счетчиками устройств, на которых они были авторизованы, вам необходимо войти в службы, чтобы обновить эти подписи или удалить устройство и его авторизацию; советники имеют множество возможных применений не только для обеспечения безопасности, но и для оптимизации производительности за счет включения подсказок по обработке и трассировки или статистика, специфичные для данного использования; их также можно использовать для отслеживания резервных копий и репликаций/зеркалирования, что лучше, чем один устаревший бит «ARCHIVE»; EA имеют свои собственные отличительные имена и создают своего рода «параллельную» файловую систему, за исключением что они, как правило, не являются обязательными и только соответствующий файл или каталоги, нуждающиеся в них, получат эти советники). Интерес к размещению EA в основной структуре NTFS/ReFS заключается в том, что их размещение является идеальным, а не использовать отдельное хранилище где-либо еще на томах (это будет медленнее, особенно при работе с сетевыми файловыми системами или жесткими дисками и дисковыми массивами, из-за времени доступа : советники можно получить очень быстро одновременно с загрузкой основных атрибутов файла; и их легче добавлять/удалять динамически)
Этот сайт указывает на CodeIntegrity, также известный как Управление приложениями Защитника Windows, в качестве источника атрибутов ESBCache и CatalogHint. https://www.exploit-db.com/exploits/43162
Я считаю, что это более точно, чем ссылка на Branchcache и SFC/SCANNOW. Они также могут использовать эти данные, хотя мне не удалось это убедительно доказать.
В этом посте объясняется, что представляет собой большинство советников. TL;DR ESBCache и CatalogHint составляют самый большой объем данных. https://posts.specterops.io/host-based-threat-modeling-indicator-design-a9dbbb53d5ea
Когда я работал в службе поддержки Microsoft, было клише, что сценарии, в которых злоумышленники могут прикоснуться к вашему компьютеру, не поддерживаются. по сути это правильно; если вы можете загрузить компьютер, он в вашей власти. плохие парни никогда не должны подходить так близко к башне.