Головна> Різне. Куточок гику> Яким чином Windows визначає, що файл був завантажений з Інтернету, і виводить попередження безпеки
Ви напевно стикалися з ситуацією, коли на спробу відкрити завантажений з Інтернету файл система вам відповідала ось таким вікном:
Windows визначає, що файл був завантажений з Інтернету, позначений як потенційно небезпечний, і виводить відповідне попередження.
Таку позначку файл отримує, коли він був завантажений за допомогою браузера Internet Explorer, а також деяких альтернативних браузерів (деяких, але далеко не всіх: наприклад, при використанні Google Chrome позначка ставиться, а при використанні Opera - немає). Я пропоную вам подивитися, як все це працює "зсередини".
Ймовірно, ви читали статтю "Альтернативні потоки NTFS, або створення секретних файлів, існування яких на перший погляд не є очевидним". Якщо немає, варто з нею ознайомитися хоча б побіжно, тому що позначка про отримання файлу з Інтернету є не що інше, як альтернативний потік NTFS, що належить файлу, який ви завантажили.
У цьому легко переконатися, якщо виконати команду DIR c ключем / R. Команда DIR / R включає висновок альтернативних потоків даних для файлів, які присутні в її виведення.
Ось, наприклад, висновок команди DIR з папки, де я зберігаю дистрибутиви додатки TeamViewer:
Як можна помітити, лістинг файлів містить додатковий, альтернативний потік для кожного з дистрибутивів. Наприклад, ось цей: TeamViewer6_10_Setup_ru.exe: Zone.Identifier.
Давайте скористаємося стандартним додатком Windows "Блокнот", і відкриємо потік наступною командою:
Як ви можете бачити, альтернативний потік-позначка - не більше ніж звичайний INI-файл з секцією [ZoneTransfer] і ідентифікатором зони передачі. Присутність подібного файлу-альтернативного потоку говорить системі, що файл отримано з Інтернет.
Зняття і установка позначки
Операційна система Windows дозволяє відключити позначку (читати - видалити альтернативний zone-потік) безпосередньо з властивостей "меченного" файлу:
Натискання на кнопку "Розблокувати" видаляє альтернативний потік, в чому легко переконатися, знову виконавши команду dir / r:
Втім, нічого не заважає вам встановити її назад.
Знову виконуємо команду:
На цей раз Блокнот виведе попередження, що файл, який ми намагаємося відкрити, не існує (що не дивно - ми тільки що його видалили).
Відповідаємо "Так", і в якості тексту файлу заносимо вже знайомі нам рядки:
Все, зберігаємо файл, закриваємо Блокнот, і система знову вважає файл небезпечним і отриманим з Інтернет.
На жаль, засобами операційної системи не можна видаляти альтернативні потоки у кількох файлів (команда DEL вважає символ ":" неприпустимим, а Провідник не має опції відображення альтернативних потоків), і це значить, що відразу з декількох файлів ознака завантажити файл з веб зняти теж не можна.
Якщо ж вам необхідно зняти цю ознаку відразу з великої кількості файлів, то допоможе в цьому раніше розглянута утиліта streams, створена Марком Руссиновича.
Утиліта streams підтримує два необхідних ключа:
- -s обробляти папки рекурсивно.
- -d видаляти потоки
Таким чином, я видалю альтернативні потоки у всіх EXE-файлів, запустивши streams командою виду
Завантажити streams можна тут.
Увага! Не заводьте streams командою виду
Це може привести до непередбачуваних наслідків, аж до збоїв в роботі системи і встановлених додатків. Справа в тому, що утиліта streams не дозволяє видаляти конкретні потоки NTFS і удаляетвсе альтернативні потоки для кожного з файлів. Крім позначки про отримання файлу з Інтернет, в альтернативних потоках може міститися будь-яка інша інформація, яка потрібна системі і / або іншу програму.