Гид по технологиям

Альтернативные потоки файлов в Windows: что это и как их использовать

• 6 min read • Windows • Обновлено 23 Nov 2025
Альтернативные потоки файлов Windows — руководство
Альтернативные потоки файлов Windows — руководство

Потоки файлов (alternate data streams, ADS) — это скрытое место внутри NTFS‑файла, куда Windows и приложения могут сохранять дополнительные данные. Их можно использовать для метаданных, маркеров источника или скрытия простого текста. Инструменты: встроенная команда dir /R, утилита Streams от Sysinternals. Уделите внимание безопасности: злоумышленники тоже используют ADS для сокрытия вредоносного кода.

Что такое потоки файлов

Windows на файловой системе NTFS поддерживает не только основной содержимое файла, но и дополнительные потоки данных. Эти потоки не видны в обычных файловых менеджерах. Основной поток без имени хранит сам файл. Альтернативные потоки могут иметь имя и размер, и в них можно положить произвольные данные.

Определение в одну строку: альтернативный поток — это именованный контейнер с данными, связанный с конкретным NTFS‑файлом.

Коротко о важных понятиях

  • Основной поток — без имени, то, что вы видите как содержимое файла.
  • Альтернативный поток — именованный поток вида файл:имяпотока, невидимый в большинстве приложений.
  • Zone.Identifier — специальный поток, который Windows использует, чтобы пометить файл как загруженный из Интернета или с сетевого ресурса.

Как скрыть текст в файле

Создать альтернативный поток просто. Пример для файла с именем program.exe.

Откройте командную строку и выполните:

notepad program.exe:hide

Notepad создаст поток с именем hide внутри program.exe. Сохраните любой текст — он окажется в этом альтернативном потоке и не будет виден при обычном открытии файла.

Notepad с диалогом создания потока

Описание изображения: окно Notepad для создания альтернативного потока внутри файла program.exe

После сохранения текст доступен только по имени потока. Если вы скопируете program.exe в другое место на NTFS, поток сохранится вместе с файлом.

Notepad с текстом внутри потока

Описание изображения: Notepad с введённым текстом, сохраняемым в потоке hide внутри program.exe

Как проверить, откуда пришёл файл

Windows использует поток Zone.Identifier, чтобы пометить файлы, загруженные из Интернета или с других компьютеров. Это помогает в защите: при запуске приложений система может блокировать исполнение и требовать подтверждение.

Чтобы увидеть отметку, откройте Свойства файла через Проводник:

Свойства файла в Windows

Описание изображения: контекстное меню файла с пунктом Свойства

Вкладка Общие покажет сообщение о том, что файл получен из другого компьютера, если существует поток Zone.Identifier.

Вкладка Общие со сведениями о файле

Описание изображения: окно свойств с предупреждением о необходимости разблокировать файл

Как управлять потоками файлов

Windows не предоставляет удобной GUI‑утилиты для просмотра всех потоков. Для этого используют утилиту Streams от Sysinternals.

Скачать Streams можно на сайте Sysinternals. Утилита показывает список файлов с альтернативными потоками, имена потоков и размеры.

Пример вывода, где виден поток Zone.Identifier:

Команда Streams показывает Zone.Identifier

Описание изображения: вывод утилиты Streams, показывающий Zone.Identifier:$DATA для ряда файлов

Примеры использования утилиты Streams:

  • Просмотреть рекурсивно потоки в каталоге:
streams -s C:\путь\к\папке
  • Удалить альтернативные потоки (например, удалить Zone.Identifier):
streams -s -d C:\путь\к\папке

Важно: удаление потоков необратимо, если нет резервной копии.

Альтернативный способ для Windows Vista/7 и новее — команда dir с ключом /R, она показывает потоки для файлов:

dir /R

dir с ключом /R показывает потоки

Описание изображения: вывод команды dir /R с указанием имененных потоков

Когда потоки не работают как ожидается

  • NTFS обязательна. На FAT32 или exFAT альтернативные потоки отсутствуют.
  • При копировании файла через файловые системы, которые не поддерживают ADS, потоки будут потеряны. Например, при копировании на USB‑накопитель с FAT32 поток удалится.
  • При архивации и пересылке в ZIP/Email поток может быть утерян, если архиватор не сохраняет ADS.

Модели угроз и безопасность

Потоки удобны, но представляют риск. Злоумышленники могут скрыть конфигурации, сериализованные объекты или даже исполняемый код в ADS. Антивирусы часто проверяют ADS, но не все инструменты анализа и бэкапа учитывают потоки.

Рекомендации по безопасности

  • Скатьте политику обработки файлов, загруженных извне. Удаляйте Zone.Identifier автоматически для доверенных источников.
  • Мониторьте аномальные большие ADS в пользовательских каталогах.
  • Учитывайте, что облачные сервисы и другие ОС могут не сохранять ADS при синхронизации.

Практические сценарии и альтернативные подходы

  1. Маркировка файлов: использовать Zone.Identifier или собственные ADS для хранения метаданных о происхождении файла.
  2. Хранение конфигурации: приложения иногда кладут мелкие метаданные в ADS, чтобы не изменять основной файл.
  3. Скрытые заметки: для локальных вспомогательных заметок можно использовать ADS, но это не заменяет шифрование.

Альтернативы ADS

  • Скрытые файлы и папки на уровне файловой системы.
  • Встроенное хранение метаданных в формате файла (JSON, XML, EXIF и т. п.).
  • Внешняя база метаданных (данные в БД, сопоставленные по хэшу или пути).

Когда лучше не использовать ADS

  • Если файл должен переноситься на разные файловые системы.
  • Если данные чувствительные — лучше шифровать и хранить отдельно.

Пошаговый SOP для администратора: удалить Zone.Identifier массово

  1. Скачайте Sysinternals Streams.
  2. Запустите командную строку с правами администратора.
  3. Выполните сначала просмотр:
streams -s C:\путь\к\папке > streams-list.txt
  1. Если всё в порядке, запустите удаление:
streams -s -d C:\путь\к\папке
  1. Проверьте результат командой dir /R или повторным запуском streams.

Критерии приёмки

  • Для тестовой папки больше нет Zone.Identifier.
  • Программы в папке запускаются без системных запросов о разблокировке.

Чек-лист по ролям

Администратор

  • Установить и протестировать Streams.
  • Внедрить политику удаления Zone.Identifier для доверенных репозиториев.
  • Настроить мониторинг на большие или новые ADS.

Разработчик

  • Не полагаться на ADS для критичных конфигураций.
  • Документировать, если приложение использует ADS.

Обычный пользователь

  • Не храните критичные данные в ADS.
  • При получении файла из Интернета смотрите на сообщение в свойствах и при необходимости разблокируйте файл вручную.

Тесты и контроль качества

Тестовые сценарии

  1. Копирование между NTFS → NTFS: ADS должны сохраниться.
  2. Копирование NTFS → FAT32: ADS должны исчезнуть.
  3. Архивация в ZIP: проверить, сохранил ли архиватор ADS.
  4. Удаление Zone.Identifier через streams: убедиться, что предупреждение в свойствах исчезло.

Критерии успешного теста

  • Ожидаемое поведение потоков в каждом сценарии.
  • Отсутствие побочных эффектов после удаления ADS.

Конфиденциальность и соответствие требованиям

Если ADS используют для хранения персональных данных, применяйте те же правила, что и для основных файлов: минимизация данных, шифрование при необходимости, ведение учёта и логов доступа. При обработке данных граждан ЕС учитывайте, что ADS — это просто способ хранения; требования GDPR к защите и учёту персональных данных остаются в силе.

Часто задаваемые вопросы

Как увидеть список потоков у файла

Используйте streams или dir /R. Также есть специализированные средства для аудита файловой системы.

Сохранится ли поток при отправке файла по почте

Обычно нет. Почтовые клиенты и многие архиваторы не сохраняют ADS при пересылке.

Можно ли скрыть исполняемый код в ADS

Технически — да, но современные решения безопасности часто сканируют ADS. Не используйте ADS для обхода сканирования.

Итог

Альтернативные потоки файлов в NTFS — мощный, но скрытый инструмент. Они пригодны для метаданных и простых заметок, но требуют осторожности: переносимость, безопасность и соответствие политике конфиденциальности важны. Используйте утилиты вроде Streams и команду dir /R для диагностики и управления.

Краткое резюме

  • ADS существуют только в NTFS.
  • Zone.Identifier помечает файлы, загруженные из внешних источников.
  • Streams от Sysinternals — основной практический инструмент для просмотра и удаления потоков.
  • Не храните чувствительные данные в ADS без шифрования.

Вопросы и обсуждение

Знаете другие способы скрывать данные в файлах или интересные кейсы использования ADS в реальных проектах? Поделитесь опытом.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро