이전 기사 중 하나에서 인터넷에서 다운로드한 실행 파일을 열려고 할 때 Windows에서 잠재적으로 위험한 콘텐츠 실행에 대한 보안 경고를 표시한다고 언급했습니다(자세한 내용은 Windows에서 보안 경고를 비활성화하는 방법 참조). 시스템은 파일이 인터넷에서 다운로드되었는지 어떻게 확인합니까? 알아보도록 하겠습니다.
브라우저에서 인터넷에서 다운로드한 모든 실행 파일에는 특수 마커가 표시됩니다. 이 규칙은 Internet Explorer뿐만 아니라 Mozilla Firefox 및 Google Chrome과 같은 널리 사용되는 다른 브라우저에서도 지원됩니다. 파일을 복사, 이름 변경 또는 다른 NTFS 파티션으로 이동할 때 마커는 계속 유지됩니다.
이 마커는 대체 NTFS 파일 스트림입니다. .
참고 . 대체 NTFS 데이터 스트림 각 NTFS 파일에 대해 여러 추가 데이터(메타데이터) 스트림을 생성할 수 있습니다. 기본적으로 모든 파일 데이터는 기본 스트림에 저장되지만 파일에 대해 하나 이상의 추가 스트림을 생성할 수 있으며 그 크기는 기본 파일 스트림의 크기를 초과할 수도 있습니다. 대부분의 응용 프로그램(Windows 탐색기 포함)은 표준 스트림에서만 작동하며 대체 NTFS 데이터 스트림에서 데이터를 읽을 수 없습니다.
인터넷에서 다운로드한 파일에 특수 마커가 할당되었는지 확인하려면 다음 명령을 사용하여 배포본이 포함된 디렉토리의 파일 목록을 표시하십시오.
dir /r
보시다시피 대체 스트림 Zone.Identifier install_flash_player_16_active_x.exe:Zone.Identifier와 같은 실행 파일에 할당되었습니다. .
메모장에서 대체 스트림 열기:
Notepad.exe install_flash_player_16_active_x.exe:Zone.Identifier
이 스트림이 [ZoneTransfer 섹션을 포함하는 파일임을 알 수 있습니다. ], 여기서 전송 영역 ID(ZoneId) 지정됩니다. (IE 설정에서 찾을 수 있는 보안 영역입니다.) 전송 영역 ID는 0에서 4까지의 5가지 값 중 하나를 포함할 수 있습니다.
- ZoneId=0:로컬 시스템
- ZoneId=1:로컬 인트라넷
- ZoneId=2:신뢰할 수 있는 사이트
- ZoneId=3:인터넷
- ZoneId=4:제한된 사이트
보안 영역에서 파일을 다운로드하면 브라우저가 해당 ZoneId를 할당합니다. 대체 NTFS 스트림에서 ZoneId가 3 또는 4인 파일을 실행하려고 할 때 이 ID를 기반으로 시스템은 파일이 인터넷이나 신뢰할 수 없는 소스에서 다운로드되었음을 감지합니다. Windows는 Windows XP SP2부터 실행 파일의 이 마커를 확인하고 있습니다.
이 마커(대체 스트림)를 수동으로 삭제하려면 차단 해제만 클릭해야 합니다. 파일 속성에서.
지금 이 파일에 대체 스트림이 없는지 확인하세요.
팁 . 다운로드한 파일에 마커가 할당되지 않도록 인터넷에서 다운로드한 파일을 FAT, exFat 등과 같은 NTFS와 다른 파일 시스템에 저장할 수 있습니다.
실제로 Windows에는 대체 데이터 스트림을 처리하는 도구가 없습니다. 예를 들어 한 번에 여러 파일에서 삭제해야 하는 경우 Mark Rusinovich의 타사 콘솔 도구인 streams를 사용하는 것이 좋습니다. .
예를 들어, c:\Download\에 있는 모든 실행 파일의 대체 스트림을 재귀적으로 삭제하려면 다음 명령을 실행하십시오.
c:\TOOLS\streams.exe -s -d c:\Download\*.exe
명령 프롬프트에서 파일의 대체 스트림이 삭제되었음을 확인할 수 있습니다. Deleted :Zone.Identifier:$DATA
중요 . 스트림 지정된 파일의 모든 대체 스트림을 삭제하고 특정 스트림을 대상으로 하는 것을 허용하지 않습니다. 따라서 스트림을 실행하지 마십시오. streams.exe -s -d c:\*.exe로 명령 , 대체 NTFS 스트림에 포함된 중요한 정보가 삭제된 후 시스템 오류가 발생할 수 있기 때문입니다.
PowerShell 3.0에서는 디렉터리의 Zone.Identifier 스트림을 사용하여 파일 목록을 표시할 수 있습니다. 이 명령을 사용하여:
Get-ChildItem -Recurse | Get-Item -Stream Zone.Identifier -ErrorAction SilentlyContinue | Select-Object FileName
속성은 다음과 같이 제거됩니다.
Remove-Item .\install-file.exe -Stream Zone.Identifier
Windows PowerShell 4.0에서는 별도의 cmdlet을 사용하여 Zone.Identifier를 삭제할 수 있습니다.
Unblock-File install-file.exe
다음 명령을 수동으로 실행하는 모든 파일에 마커를 할당할 수 있습니다.
notepad.exe install_flash_player_16_active_x.exe:Zone.Identifier
스트림이 없기 때문에 시스템은 새 파일을 생성하라는 메시지를 표시합니다. 동의하고 메모장 창에 다음 텍스트를 복사합니다.
[ZoneTransfer]
ZoneId=3
변경 사항을 저장합니다. 파일에 대체 스트림이 할당되었는지 확인하십시오.