Learning-Log/Computer Science

[Windows] Zone.Identifier 란 무엇이고, 어떻게 지울 수 있나?

Xpectation 2022. 8. 22. 04:24
728x90
320x100

Zone.Identifier란 무엇인가?

WSL에 인터넷에서 다운받은 파일을 복붙해서 넣으면 Zone.Identifier 가 붙은 파일이 저절로 생성된다. 어떤 경우에는 생기지 않고, 어떤 경우에는 생기는 걸로 봐서 뭔가 생성 요건이 있는 듯 한데.. 아직 거기까지는 파악을 못한 상태.

 

Zone.Identifier에 대해 알아보니, Windows에 도입된 새로운 ADS라고 한다.

ADS란 Alternate Data Stream(대체 데이터 스트림) 의 약자로 NTFS 파일 시스템에 딸려있는 숨겨진 영역이다. 여기에는 일반적으로는 확인할 수 없는 여러가지 데이터가 담길 수 있는데, 이 ADS는 보안상 취약점이 되기도 한다.

어쨌거나 Windows에서 생성하는 Zone.Identifier에는 파일의 출처에 관한 정보가 담겨 있다. 악성코드 감염이나, 여러 유해 파일의 경우 이 파일이 어디서 왔는지 추적하기 위해 Zone.Identifier를 쓴다는데... WSL 환경에서는 이 파일들이 눈에 보이기 때문에 너무 거슬린다. 무엇보다도 git에 다 올라가버린다는 점. gitignore로 제외할 수는 있겠지만 그냥 마음에 안든다...

이런 내용이 담겨있다.

전문가에 따르면 Windows는 Zone.Identifier를 사용하여 파일이 인터넷에서 다운로드되었는지 여부를 알 수 있다 한다. 근데 ReferrerUrl 경로의 파일이 인터넷에서 다운 받은 파일은 맞다만, 그 파일이 어디서 왔는지는 모르지 않나? 하는 의문이 드는게 사실... 그냥 지워버리자.

 

Zone.Identifier ADS를 제거하는 방법

 

1. 제거하고 싶은 Zone.Identifier 파일이 있는 폴더의 경로를 복사해두자.

 

2. Windows PowerShell을 연 뒤, 아래의 명령어를 입력해주자 (참고로 '$'는 입력하는게 아니다. $는 그 다음의 내용을 입력하라는 뜻이다.)

$ cd [복사한 폴더 경로 붙여넣기(마우스 오른쪽 버튼을 누르면 붙여넣기가 된다)]

 

3. PowerShell의 현 위치가 위에서 입력한 폴더 경로로 바뀌었을 것이다. 이제 아래의 명령어를 입력해주자.

$ dir **/* | Unblock-File

위 명령어를 입력하면 복사하였던 폴더 경로의 하위에 존재하는 모든 Zone.Identifier 를 제거해준다. 만약, 해당 폴더에 있는 Zone.Identifier만 제거하고, 하위 폴더의 경우 예외로 하고 싶다면 **/* 대신 *만 입력해주면 된다.

 

 

728x90
반응형