windows

Что это за расширенные атрибуты (EA)в файлах в 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??

Почему на томе так много расширенных атрибутов? Я думал,никто больше не использует советников...


Edit:

Например, файл \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 , которая, похоже, не связана. К чему это может быть?

Судя по названию советника "CSC.DATABASE", можно предположить, что это связано с кэшированием на стороне клиента . Это также объясняет, почему их так много, поскольку они, вероятно, есть в каждом кэшированном файле, чтобы идентифицировать их с сервером.

Кроме того,я не думаю,что советники вообще редко используются.Я точно знаю,что они используются,например,в IE для определения файла как "загруженного из Интернета" (что заставляет Windows Explorer спрашивать перед запуском файла и тому подобное).




Расширенные атрибуты используются в Windows,в том числе ядром,которое использует их для отслеживания различных ограничений безопасности и их применения.

See 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»: очевидно, это используется «кэшем веток» для облегчения развертывания и обновлений системы на удаленно управляемых хостах, позволяя доменам применять свои собственные политики (а не локальные политики по умолчанию или политики, определенные по умолчанию Майкрософт в 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 сможет найти, загрузить и переустановить копию этих пакетов).

  • НЕ ПУТАЙТЕ последние два советника с "Zone.Identifier",который IE (или другие веб-браузеры для Windows)добавляют к файлам,которые вы скачиваете из Интернета,или который разархиваторы добавляют к файлам,которые вы извлекаете из скачанного ZIP или файла шкафа (или других форматов архивов),копируя его из "Zone-Identifier" в сам файл архива/шкафа:это не советники,они хранятся как "альтернативные потоки данных" (Alternate Data Streams,ADS),которые являются атрибутами типа "$DATA" (как и обычное содержимое файла,за исключением того,что этот $DATA имеет непустое имя,в то время как обычное содержимое файла имеет пустое имя);также эти ADS существуют только если они хранятся в NTFS или совместимых файловых системах,и они НЕ проверяются ядром,а пользовательским интерфейсом (в основном в проводнике файлов)и не всегда сохраняются при копировании в другое место (напр.например,при перемещении таких помеченных файлов в ZIP-файл).Эти ADS очень слабые,они не такие сильные,как EA или другие системы подписей (например,внешние безопасные каталоги,или подписи Authenticode внутри исполняемых файлов,или некоторые медиаформаты,позволяющие аналогичные подписи внутри обычного содержимого файла;для защиты системы ядру не нужны и не используются эти устаревшие ADS,оно использует Authenticode и другие безопасные каталоги,например,в базе данных Drivers или в каталогах Windows,таких как WinSxS).Альтернативные потоки данных устарели,но все еще используются в веб-браузерах только для этой цели,просто как подсказка для пользователей,но они не противостоят основным операциям,которые пользователи все еще могут делать,включая обход предупреждения,которое Explorer показал бы им (но не всегда,так как они часто не сохраняются).Кроме того,веб-браузеры могут не обязательно добавлять эти ADS "Zone.identifier",если загружаемые файлы используют более сильный механизм подписи,или если они загружаются специализированной службой в фоновом режиме (например,Windows Update,которая использует каталоги с безопасной подписью).

В зависимости от инструментов и функций ОС,которые вы используете,или от некоторых драйверов,у вас могут быть определены другие советники.Многие инструменты безопасности и антивирусные программы добавляют свои собственные советники в различные файлы или каталоги (что также помогает этим инструментам более эффективно сканировать изменения).

Если вы используете Microsoft Store или средства развертывания AppX на Windows,то также будут дополнительные советники для настройки виртуальной среды,в которой они будут работать (например.глобальные настройки для машины,или для домена,или для пользователя,или для сетевой "личности",зависящей от удаленной службы,которую вы будете использовать,или от того,с какой третьей стороной вы будете общаться,копирование при записи или полное дублирование,отложенная запись или синхронизированная запись,параметры или политики совместного доступа,предоставленные лицензии и права использования,трекеры для подписки/оплаты в сетевых службах;некоторые приложения также используют их подобно отслеживающим cookies на веб-страницах и затем сохраняют персональные идентификаторы или предпочтения,специфичные для некоторых содержимых файлов или приложений,и могут синхронизировать их с личными профилями в Интернете,чтобы вы могли использовать эти приложения в автономном режиме,по крайней мере,в течение определенного периода времени...).

Если вы используете некоторые облачные сервисы (не только от Microsoft),они также могут синхронизировать локальную копию для файлов,которые вы чаще всего используете локально,при этом позволяя архивировать файлы в Интернете или синхронизировать их с другими устройствами).

Как правило,советники очень малы (около 100 байт или около того для большинства из них).Любой файл в NTFS/ReFS (и других поддерживаемых файловых системах)может иметь множество советников,прикрепленных к нему для различных приложений.Способ индивидуального кодирования этих советников зависит от приложения.EA имеют свои собственные имена (как обычные файлы в видимых каталогах и как потоки ADS),за исключением того,что эти имена не предназначены для чтения человеком;поэтому эти имена "технические" и не используют Юникод.Некоторые префиксы имен EA зарезервированы Microsoft в файловых системах Windows.

То,будут ли эти советники находиться в MFT (в файловых системах NTFS или ReFS),зависит от того,сколько их имеется для данного файла.Если они не помещаются в записи MFT,NTFS выделит несколько экстентов для их размещения в другом месте тома.Список экспертов,определенных для файла,является одним из его потоков,как и стандартные атрибуты,или атрибуты безопасности (ACL),или обычное содержимое,или дополнительные потоки (например,поток,который отслеживает,что файл был загружен из сети и может быть небезопасен,он может отслеживать его веб-домен или IP происхождения,и если доступ к этому домену был осуществлен по безопасному протоколу,такому как HTTPS:это позволяет Windows отображать всплывающие окна авторизации для пользователя или запрашивать разрешение на повышение уровня пользователя;файлы ZIP/CAB имеют такой поток,добавляемый веб-браузерами и безопасными даунлоадерами;и инструменты извлечения zip-файлов также будут распространять этот поток на каждый извлеченный файл,если он может быть исполняемым или иметь побочные эффекты,включая HTML файлы,шрифты,Javascripts,медиа файлы или офисные документы,которые будут открываться по умолчанию в безопасном режиме приложениями,использующими их,и которые будут предупреждать пользователя,что некоторые встроенные компоненты,такие как скрипты или шрифты,могут быть небезопасными)Это правда,что некоторые советники были разработаны для обеспечения совместимости с OS/2 или MacOS (только эти советники устарели),но есть еще другие системы,добавленные и использующие их.А новые системы безопасности (в том числе в самой Windows в ее ядре или в ее службах и функциях)постоянно добавляют новые.

Советники являются ключевой особенностью NTFS (и ReFS).Они также существуют в других файловых системах,отличных от Windows (включая Ext4 в Linux);в некоторых файловых системах,не имеющих встроенной поддержки,они могут храниться в отдельном подкаталоге или в файлах со специальными именами.Эксперты обычно не отображаются в содержимом каталога (для файловых систем,которые их поддерживают)и не учитываются в обычных размерах файлов,поэтому их можно легко добавлять/удалять без изменения обычного содержимого;они также позволяют различным приложениям,сервисам или ОС взаимодействовать с одними и теми же файлами,безопасно ассоциируя свои собственные метаданные.Таким образом,они являются безопасными расширениями существующих файловых систем (в большинстве случаев приложениям не нужно заботиться о них,ими управляет ОС или ее службы,чаще всего для обеспечения безопасности и проверки).

Советники определенно не устарели.На самом деле сегодня они используются гораздо чаще и имеют множество вариантов,созданных многочисленными разработанными решениями безопасности (если вы посмотрите на Windows 11,в ней используется большее их количество;Если вы используете службы Azure или подключаетесь к домену AD,там будут дополнительные EA,если вы используете различные инструменты безопасности,не только от Microsoft,они будут добавлять свои собственные,некоторые приложения также используют их для хранения DRM-трекеров на приобретенных медиафайлах,вместе с ключами расшифровки,если необходимо,плюс защищенные подписями счетчики устройств,на которых они были авторизованы,вам нужно войти в службы,чтобы обновить эти подписи или удалить устройство и его авторизацию;EA имеют множество возможных применений,не только для безопасности,но и для оптимизации производительности путем включения подсказок по обработке и трассировки или статистики,специфичной для данного использования;они также могут использоваться для отслеживания резервного копирования и репликации/зеркалирования,лучше,чем единственный унаследованный бит "ARCHIVE";EA имеют свои собственные отличительные имена и создают своего рода "параллельную" файловую систему,за исключением того,что они,как правило,необязательны,и только соответствующие файлы или каталоги,нуждающиеся в них,получат эти EA).Интерес размещения советников в основной структуре NTFS/ReFS заключается в том,что их размещение идеально,а не в использовании отдельного хранилища в других местах тома (это было бы медленнее,особенно при работе с сетевыми файловыми системами или жесткими дисками и дисковыми массивами,из-за времени доступа:советники могут быть получены очень быстро одновременно с загрузкой основных атрибутов файла;кроме того,их легче добавлять/удалять динамически).