windows

Windows 8의 파일에서 이러한 확장 속성(EA)은 무엇입니까?

Windows 8 Consumer Preview 볼륨에서 CheckDisk를 실행하면 다음과 같은 결과가 나타납니다.

> 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??

볼륨에 왜 그렇게 많은 확장 속성이 있습니까? 더 이상 EA를 사용하는 사람이 없다고 생각했는데...


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ďŠ }

(아래 답변 덕분에) 오프라인 파일의 클라이언트 측 캐싱과 관련된 것 같습니다.

그러나 대부분의 다른 EA는 다른 것처럼 보입니다. 예를 들어 파일

\Program Files\WindowsApps  
    \Microsoft.BingFinance_1.0.1022.0_x64__8wekyb3d8bbwe\pages\ETF\js\ETF.js

그리고 대부분의 다른 파일에는 (대부분) $KERNEL.PURGE.APPXFICACHE 문자열이 포함되어 있는데 , 이는 관련이 없는 것 같습니다. 이것은 무엇을 위한 것일까요?

EA 이름 "CSC.DATABASE"를 기반으로 클라이언트 측 캐싱 과 관련이 있다고 추측할 수 있습니다 . 또한 캐시된 각 파일에 서버와 식별할 수 있는 파일이 있을 수 있으므로 이러한 파일이 왜 그렇게 많은지 설명할 수 있습니다.

또한 EA는 특히 거의 사용되지 않는다고 생각합니다. 예를 들어 IE에서 파일을 "웹에서 다운로드"한 것으로 식별하는 데 사용된다는 것을 알고 있습니다(이로 인해 Windows 탐색기는 파일 등을 실행하기 전에 묻습니다).




확장 속성은 다양한 보안 제한을 추적하고 적용하는 데 사용하는 커널을 포함하여 Windows에서 사용됩니다.

See https://docs.microsoft.com/en-us/windows-hardware/drivers/ifs/kernel-extended-attributes

특히 NTFS의 USN 저널은 파일에 대한 변경 사항을 안전하게 추적할 수 있으므로 예기치 않은 잔인한 종료(전원 손실, 과열 또는 BSOD 및 재부팅으로 인한) 후 파일 시스템 스냅샷 또는 파일 시스템 복구를 신뢰할 수 있습니다. 이것은 작은 EA 스트림에 추가된 짧은 보안 레코드입니다(MFT 레코드가 너무 작아 모든 스트림에 맞지 않는 한 일반적으로 추가 범위를 할당하지 않고 MFT 레코드 내에 저장됩니다. 이 경우 " 일반적으로 작고 약 1KB인 고정 크기 MFT 레코드에 맞지 않지만 기본 속성을 포함하여 일부 파일 속성이 항상 장착되는 "비상주" 속성 및 할당된 익스텐트 맵을 포함하는 특수 속성 용량을 초과하는 스트림, 일반 파일 내용에 대한 기본 "$DATA" 스트림 또는 디렉토리에 대한 인덱스와 같은 것입니다. MFT 레코드에 맞는 스트림은 MFT 레코드의 크기에 따라 달라지며, MFT 볼륨을 포맷할 때 조정할 수 있지만 일반적으로 1KB입니다.

커널에서 관리하는 일부 확장 속성은 다음과 같습니다.

  • "$KERNEL.PURGE.ESBCACHE": "Branch Cache"가 원격으로 관리되는 호스트에서 배포 및 시스템 업데이트를 용이하게 하기 위해 분명히 사용되어 도메인이 자체 정책(기본적으로 마이크로소프트 윈도우즈).

  • "$KERNEL.PURGE.SEC.FILEHASH": 파일 내용의 강력한 파일 해시(및 사용된 해싱 알고리즘)가 포함되어 있습니다. 이를 통해 파일 시스템 복구가 내용 손상을 감지할 수 있습니다.

  • "$KERNEL.PURGE.SEC.CODEINTEGRITY": 이 작은 EA에는 코드 무결성 정책 플래그가 포함되어 있습니다.

  • "$KERNEL.SMARTLOCKER.ORIGINCLAIM": 파일을 생성한 응용 프로그램을 안전하게 추적합니다(예: 설치 프로그램 또는 참조 서명이 포함된 MSI 패키지의 경로).

  • "$CI.CATALOGHINT": 여기에는 해당 파일의 소스가 포함된 패키지에 대한 Windows 카탈로그의 보안 *.cat 파일 이름이 포함됩니다. "SFC /SCANNOW" 또는 "DISM /Online Cleanup-Image ScanHealth"와 같은 도구는 이를 검사할 수 있으며 이전 EA의 도움으로 설치된 파일이 포함된 원본 패키지를 안전하게 식별할 수 있습니다( 필요한 경우 Windows Update는 이러한 패키지의 복사본을 찾아 다운로드하고 다시 설치할 수 있습니다.

  • 마지막 두 개의 EA를 웹에서 다운로드한 파일에 IE(또는 Windows용 다른 웹 브라우저)가 추가하거나 다운로드한 ZIP 또는 캐비닛에서 추출한 파일에 아카이브 해제자가 추가하는 "Zone.Identifier"와 혼동하지 마십시오. 파일(또는 다른 아카이브 형식), 아카이브/캐비닛 파일 자체에 대한 "영역 식별자"에서 복사: 이들은 EA가 아니며 "$ 유형의 속성인 "대체 데이터 스트림"(ADS)으로 저장됩니다. DATA"(파일의 일반 내용과 유사하지만 이 $DATA에는 비어 있지 않은 이름이 있고 파일의 일반 내용은 이름이 비어 있음) 또한 이러한 ADS는 NTFS 또는 호환 가능한 파일 시스템에 저장되어 있고 커널에서 확인하지 않는 경우에만 존재합니다. 그러나 사용자 인터페이스에 의해(주로 파일 탐색기에서) 다른 곳에 복사할 때 항상 보존되지는 않습니다(예: 태그가 지정된 파일을 ZIP 파일로 이동할 때). 이러한 ADS는 매우 약하며 EA 또는 기타 서명 시스템(예: 외부 보안 카탈로그 또는 실행 파일 내부의 Authenticode 서명 또는 파일의 일반 콘텐츠 내에서 유사한 서명을 허용하는 일부 미디어 형식과 같은)만큼 강력하지 않습니다. 시스템을 보호하기 위해, 커널은 이러한 레거시 ADS를 필요로 하지 않고 사용하며, Authenticode를 사용하고 그렇지 않은 경우에는 예를 들어 드라이버 데이터베이스 또는 WinSxS와 같은 Windows 카탈로그에서 보안 카탈로그를 사용합니다. 대체 데이터 스트림은 더 이상 사용되지 않지만 사용자를 위한 힌트로 해당 목적으로만 웹 브라우저에서 계속 사용되지만 사용자가 여전히 수행할 수 있는 기본 작업에는 저항하지 않습니다. Explorer가 표시할 경고를 무시하는 것을 포함합니다(그러나 항상 유지되지 않는 경우가 많기 때문에 항상 그런 것은 아닙니다). 또한 웹 브라우저는 다운로드한 파일이 더 강력한 서명 메커니즘을 사용하거나 백그라운드에서 특수 서비스(예: 안전하게 서명된 카탈로그를 사용하는 Windows 업데이트 자체)에서 다운로드한 경우 이러한 "Zone.identifier" ADS를 반드시 추가하지 않을 수 있습니다. ).

사용하는 도구 및 OS 기능 또는 일부 드라이버에 따라 다른 EA가 정의될 ​​수 있습니다. 많은 보안 도구와 맬웨어 방지 프로그램은 자체 EA를 다양한 파일이나 디렉터리에 추가합니다(또한 이러한 도구가 변경 사항을 보다 효율적으로 검색하는 데 도움이 됨).

Windows에서 Microsoft Store 또는 AppX 배포 도구를 사용하는 경우 실행할 가상 환경을 설정하기 위한 추가 EA가 있습니다(예: 머신별, 도메인별, 사용자별 또는 온라인 "ID"별 전역 설정). 사용할 원격 서비스 또는 통신할 제3자, 기록 중 복사 또는 전체 복제, 쓰기 지연 또는 동기화된 쓰기, 공유 옵션 또는 정책, 부여된 라이선스 및 사용 권한, 구독 추적기/ 온라인 서비스의 지불 옵션, 일부 앱은 웹 페이지에서 쿠키를 추적하는 것처럼 이를 사용하고 일부 파일 콘텐츠 또는 앱에 특정한 개인 식별자 또는 기본 설정을 저장하고 온라인 개인 프로필과 동기화할 수 있습니다. 적어도 주어진 기간 동안 오프라인에서 이러한 앱을 사용할 수 있습니다...).

Microsoft의 서비스가 아닌 일부 클라우드 서비스를 사용하는 경우 로컬에서 가장 많이 사용하는 파일의 로컬 복사본을 동기화하는 동시에 파일을 온라인으로 보관하거나 다른 장치와 동기화할 수 있습니다.

일반적으로 EA는 매우 작습니다(대부분의 경우 약 100바이트 정도). NTFS/ReFS(및 기타 지원되는 파일 시스템)의 모든 파일에는 다양한 응용 프로그램에 대해 많은 EA가 첨부될 수 있습니다. 이러한 EA가 개별적으로 인코딩되는 방식은 애플리케이션에 따라 다릅니다. EA에는 사람이 읽을 수 없다는 점을 제외하고 고유한 이름(가시 디렉토리의 일반 파일 및 ADS 스트림과 같은)이 있습니다. 따라서 이러한 이름은 "기술적"이며 유니코드를 사용하지 않습니다. 일부 EA 이름 접두사는 Windows 파일 시스템에서 Microsoft에서 예약합니다.

이러한 EA가 MFT(NTFS 또는 ReFS 파일 시스템)가 아닌 상주하는지 여부는 주어진 파일에 얼마나 많은 EA가 있는지에 따라 다릅니다. MFT 레코드에 맞지 않는 경우 NTFS는 볼륨의 다른 위치에서 찾을 수 있도록 일부 범위를 할당합니다. 파일에 대해 정의된 EA 목록은 표준 속성, 보안 속성(ACL) 또는 일반 콘텐츠와 같은 스트림 또는 추가 스트림(예: 파일이 인터넷 및 안전하지 않을 수 있고, 웹 도메인 또는 출처 IP를 추적할 수 있으며, 해당 도메인이 HTTPS와 같은 보안 프로토콜로 액세스된 경우: 이를 통해 Windows는 사용자에 대한 인증 팝업을 표시하거나 사용자 상승 권한을 요청할 수 있습니다. ZIP/CAB 파일 웹 브라우저 및 안전한 다운로더에 의해 추가된 이러한 스트림이 있습니다. zip 추출 도구는 HTML 파일, 글꼴, Javascript, 미디어 파일 또는 사무실 문서를 포함하여 실행 가능하거나 부작용이 있는 경우 추출된 각 파일에 해당 스트램을 전파합니다. 스크립트나 글꼴과 같은 일부 임베디드 구성 요소가 안전하지 않을 수 있음을 사용자에게 경고합니다) 일부 EA가 OS/2 또는 MacOS와의 호환성을 제공하도록 설계된 것은 사실입니다(이 EA만 더 이상 사용되지 않음). 그러나 여전히 다른 시스템이 있습니다. 추가하여 사용하고 있습니다. 그리고 새로운 보안 시스템(Windows 자체의 커널 또는 서비스 및 기능 포함)은 지속적으로 새로운 보안 시스템을 추가합니다. 이를 사용하는 응용 프로그램에서 기본적으로 안전 모드에서 열리며 스크립트나 글꼴과 같은 일부 포함된 구성 요소가 안전하지 않을 수 있음을 사용자에게 경고합니다. 일부 EA는 OS/2 또는 MacOS와의 호환성을 제공하도록 설계된 것이 사실입니다. 이러한 EA는 더 이상 사용되지 않습니다.) 그러나 여전히 다른 시스템이 추가되어 이를 사용하고 있습니다. 그리고 새로운 보안 시스템(Windows 자체의 커널 또는 서비스 및 기능 포함)은 지속적으로 새로운 보안 시스템을 추가합니다. 이를 사용하는 응용 프로그램에서 기본적으로 안전 모드에서 열리며 스크립트나 글꼴과 같은 일부 포함된 구성 요소가 안전하지 않을 수 있음을 사용자에게 경고합니다. 일부 EA는 OS/2 또는 MacOS와의 호환성을 제공하도록 설계된 것이 사실입니다. 이러한 EA는 더 이상 사용되지 않습니다.) 그러나 여전히 다른 시스템이 추가되어 이를 사용하고 있습니다. 그리고 새로운 보안 시스템(Windows 자체의 커널 또는 서비스 및 기능 포함)은 지속적으로 새로운 보안 시스템을 추가합니다.

EA는 NTFS(및 ReFS)의 핵심 기능입니다. 또한 다른 비 Windows 파일 시스템(Linux의 Ext4 포함)에도 존재합니다. 기본 지원이 없는 일부 파일 시스템의 경우 별도의 하위 디렉토리나 특수 이름을 가진 파일에 저장될 수 있습니다. EA는 일반적으로 디렉토리 내용(이를 구현하는 파일 시스템의 경우)에 표시되지 않고 일반 파일 크기에 포함되지 않으므로 일반 내용을 변경하지 않고도 쉽게 추가/제거할 수 있습니다. 또한 서로 다른 애플리케이션, 서비스 또는 OS가 자체 메타데이터를 안전하게 연결하여 동일한 파일과 상호 운용할 수 있습니다. 따라서 기존 파일 시스템의 안전한 확장입니다(대부분의 경우 응용 프로그램에서 신경 쓸 필요가 없으며 OS 또는 해당 서비스에서 관리하며 대부분 보안 시대 및 검사용)

EA는 확실히 더 이상 사용되지 않습니다. 실제로 오늘날에는 훨씬 더 자주 사용되며 개발된 많은 보안 솔루션에 의해 생성된 많은 변형이 있습니다(Windows 11을 보면 더 많이 사용합니다. Azure 서비스를 사용하거나 AD 도메인에 가입하면 추가 EA가 되십시오. Microsoft뿐만 아니라 다양한 보안 도구를 사용하는 경우 자체 도구를 추가하고 일부 앱에서는 이를 사용하여 구입한 미디어에 DRM 오른쪽 추적기를 저장하고 필요한 경우 암호 해독 키와 함께 안전하게 서명된 카운터를 저장합니다. 권한이 부여된 장치의 경우 이러한 서명을 업데이트하거나 장치 및 해당 권한을 제거하려면 서비스에 로그온해야 합니다. EA는 보안뿐만 아니라 처리 힌트 및 주어진 사용과 관련된 추적 또는 통계 또한 단일 레거시 "ARCHIVE" 비트보다 더 나은 백업 및 복제/미러링을 추적하는 데 사용할 수 있습니다. EA는 고유한 고유한 이름을 가지고 있으며 일종의 "병렬" 파일 시스템을 만들고 있습니다. 단, 일반적으로 선택 사항이며 필요한 파일이나 디렉토리에서 해당 EA를 얻을 수 있다는 점만 다릅니다. 핵심 NTFS/ReFS 구조에 EA를 배치하는 것에 대한 관심은 볼륨의 다른 곳에 별도의 저장소를 사용하는 것보다 배치가 이상적이라는 것입니다(이는 액세스 시간으로 인해 특히 네트워크 파일 시스템이나 하드 디스크 및 디스크 어레이로 작업할 때 더 느릴 수 있습니다. : EA는 기본 파일 속성이 로드됨과 동시에 매우 빠르게 검색할 수 있으며 동적으로 추가/제거가 더 쉽습니다) 조금; EA는 고유한 고유한 이름을 가지고 있으며 일종의 "병렬" 파일 시스템을 만들고 있습니다. 단, 일반적으로 선택 사항이며 필요한 파일이나 디렉토리에서 해당 EA를 얻을 수 있다는 점만 다릅니다. 핵심 NTFS/ReFS 구조에 EA를 배치하는 것에 대한 관심은 볼륨의 다른 곳에 별도의 저장소를 사용하는 것보다 배치가 이상적이라는 것입니다(이는 액세스 시간으로 인해 특히 네트워크 파일 시스템이나 하드 디스크 및 디스크 어레이로 작업할 때 더 느릴 수 있습니다. : EA는 기본 파일 속성이 로드됨과 동시에 매우 빠르게 검색할 수 있으며 동적으로 추가/제거가 더 쉽습니다) 조금; EA는 고유한 고유한 이름을 가지고 있으며 일종의 "병렬" 파일 시스템을 만들고 있습니다. 단, 일반적으로 선택 사항이며 필요한 파일이나 디렉토리에서 해당 EA를 얻을 수 있다는 점만 다릅니다. 핵심 NTFS/ReFS 구조에 EA를 배치하는 것에 대한 관심은 볼륨의 다른 곳에 별도의 저장소를 사용하는 것보다 배치가 이상적이라는 것입니다(이는 액세스 시간으로 인해 특히 네트워크 파일 시스템이나 하드 디스크 및 디스크 어레이로 작업할 때 더 느릴 수 있습니다. : EA는 기본 파일 속성이 로드됨과 동시에 매우 빠르게 검색할 수 있으며 동적으로 추가/제거가 더 쉽습니다)