Файлы альтернативных потоков данных исчезают в Windows 10

Я экспериментирую со странным поведением в Windows 10 с метаданными альтернативных потоков данных (ADS). Я загрузил исполняемый файл из Интернета, и, поскольку он был загружен в раздел NTFS, у него есть соответствующий файл ADS, помеченный как Зона 3.

Когда я пытаюсь запустить его, Windows предупреждает меня о происхождении файла, по крайней мере, это происходит в Windows 7, 8 и 8.1. Какое поведение ожидается?

На Windows 10 происходит что-то странное. Когда я пытаюсь запустить его, при первой попытке Windows удаляет этот файл ADS и не предупреждает меня о происхождении файла. Поскольку этот файл больше не существует, при последующих запусках предупреждение не запускается. Такое поведение присутствует во всех Windows 10, где я смог попробовать (около 5).

Это нормальное поведение? Если мне нужно предупреждение, можно ли его включить?

Обновление: с помощью Process Monitor мне удалось обнаружить, что Explorer.exe открывает файл ADS с помощью Delete Desire Access, который производит удаление файла. Таким образом, мой текущий вопрос должен быть: Почему Explorer.exe удаляет файл ADS? Можно ли этого избежать?

Обновление 2: Я обнаружил, что эта проблема не воспроизводится в Windows 10 версии 1607, где я получаю предупреждение. Это присутствует в версии 1703.

Соответствующая строка из Process Monitor

4:28:27.4451881 PM  Explorer.EXE    7120    CreateFile  C:\Users\admin\Downloads\putty.exe:Zone.Identifier  SUCCESS Desired Access: Read Attributes, Delete, Disposition: Open, Options: Non-Directory File, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
4:28:27.4454276 PM  Explorer.EXE    7120    QueryAttributeTagFile   C:\Users\admin\Downloads\putty.exe:Zone.Identifier  SUCCESS Attributes: A, ReparseTag: 0x0
4:28:27.4454961 PM  Explorer.EXE    7120    SetDispositionInformationFile   C:\Users\admin\Downloads\putty.exe:Zone.Identifier  SUCCESS Delete: True
4:28:27.4455650 PM  Explorer.EXE    7120    CloseFile   C:\Users\admin\Downloads\putty.exe:Zone.Identifier  SUCCESS 
4:28:42.0470995 PM  Explorer.EXE    7120    CreateFile  C:\Users\admin\Downloads\putty.exe:Zone.Identifier  NAME NOT FOUND  Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

Полный журнал здесь. Это не слишком долго.

1 ответ

Обсудив эту проблему на форумах MSDN, я обнаружил, что моей проблемой является поведение нового Защитника Windows SmartScreen.

Начиная с Windows 10 версии 1703, Защитник Windows изменил свое поведение. Теперь SmartScreen проверяет, является ли исполняемый файл надежным, и если это так, он позволяет запускаться без отображения предупреждений и удаляет свой файл ADS.

Поэтому решение состоит в том, чтобы отключить опцию "Проверять приложения и файлы" для SmartScreen в Защитнике Windows.

Другие вопросы по тегам