Як windows визначає, що файл викачаний з інтернету, windows для системних адміністраторів

В одній з попередніх статей ми згадували, що Windows при спробі відкрити скачаний з Інтернету виконуваний файл видає попередження системи безпеки про спробу запуску потенційно небезпечного вмісту (подробиці в статті Як відключити попередження системи безпеки в Windows). Яким же чином система визначає, що файл був викачаний з Інтернету? Спробуємо розібратися.

Як windows визначає, що файл викачаний з інтернету, windows для системних адміністраторів

Порада. У Windows 8 блокувати файли, викачані з Інтернету також може фільтр SmartScreen.

Всі виконувані файли, завантажені з Інтернету за допомогою браузера отримують особливу позначку. Це правило підтримується не тільки браузером Internet Explorer, але і більшістю популярних браузерів, наприклад Mozilla Firefox і Google Chrome. При копіюванні, перейменування або переміщення файлу на інший розділ з файлової системної NTFS, попередження все одно залишається.

Дана позначка є альтернативний потік NTFS. що належить файлу.

Щоб переконається, що викачаного з Інтернету файлу призначена особлива мітка (альтернативний потік NTFS), у вікні командного рядка виведемо список файлів в каталозі з збірками командою:

Як windows визначає, що файл викачаний з інтернету, windows для системних адміністраторів
Як ми бачимо, виконуваних файлів в цьому каталозі призначений альтернативний потік Zone.Identifier. наприклад: install_flash_player_16_active_x.exe: Zone.Identifier

Відкриємо вміст альтернативного потоку в блокноті:

Як windows визначає, що файл викачаний з інтернету, windows для системних адміністраторів
Ми бачимо, що даний потік являє собою файл з секцією [ZoneTransfer], в якій вказано ідентифікатор зони передачі ZoneId (ті самі зони безпеки, які присутні в настройках IE). ID зони передачі може містити одне з 5 значень від 0 до 4.

  • ZoneId = 0: Local machine (Локальний комп'ютер)
  • ZoneId = 1: Local intranet (Місцева мережа)
  • ZoneId = 2: Trusted sites (Надійні сайти)
  • ZoneId = 3: Internet (Інтернет)
  • ZoneId = 4: Restricted sites (Небезпечні сайти)

При завантаженні файлу з певної зони безпеки, браузер ставить їм мітку цієї зони. При запуску файлів, у яких в альтернативному NTFS потоці атрибут ZoneId дорівнює 3 або 4, система на підставі мітки зони розпізнає, що файл отриманий з Інтернету або недовірених джерела. Windows перевіряє наявність даної мітки у виконуваних файлів починаючи з Windows XP SP2.

Щоб вручну видалити цю мітку (альтернативний потік) у файлу, досить натиснути кнопку Розблокувати у властивостях файлу.

Як windows визначає, що файл викачаний з інтернету, windows для системних адміністраторів
Переконаємося, що альтернативної потік у даного файлу тепер відсутній:

Як windows визначає, що файл викачаний з інтернету, windows для системних адміністраторів

Порада. Щоб система не призначала мітки завантажених файлів, можна зберігати файли з Інтернету на файлової системі, відмінній від NTFS. Наприклад, FAT, exFat тощо.

Взагалі кажучи, в Windows відсутні осудні кошти роботи з альтернативними потоками даних. І, якщо, наприклад, виникне завдання прибрати цю ознаку відразу у безлічі файлів, найкраще буде скористатися сторонньою консольної утилітою Марка Русиновича - streams.

Наприклад, щоб рекурсивно видалити альтернативні потоки у всіх exe-файлів в каталозі c: \ Download \, виконайте команду:

c: \ TOOLS \ streams.exe -s -d c: \ Download \ *. exe

В консолі видно, що альтернативний потік у файлу видалений: Deleted: Zone.Identifier: $ DATA

Важливо. Утиліта streams видаляє всі альтернативні потоки у заданих файлів і не дозволяє зорієнтувати конкретний потік. Тому не виконуйте команду streams в форматі 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. \ Installfile.exe -Stream Zone.Identifier

У Windows PowerShell 4.0 зняти мітку Zone.Identifier можна за допомогою окремого командлет:

Дану мітку можна для довільного файлу встановити вручну, для цього виконаємо команду

Оскільки потік відсутній, система запропонує створити новий файл. Погоджуємося і в вікно блокнота копіюємо текст:

Як windows визначає, що файл викачаний з інтернету, windows для системних адміністраторів
Зберігаємо зміни. Переконуємося, що файлу призначений альтернативний потік.

Як windows визначає, що файл викачаний з інтернету, windows для системних адміністраторів

  • Відключаємо попередження системи безпеки в Windows 7
  • Налаштування порт форвардинга в Windows
  • Як приховати службу Windows від користувачів
  • Windows не призначить букви зовнішнім дискам і флешка
  • Як правильно видаляти поновлення в Windows 7/8

Схожі статті