Ntfs потоки данных. Два метода сокрытия данных. Блокировка скачанных файлов

Вы слышали что-нибудь о потоках NTFS ? Весьма интересная функциональность файловой системы, которой можно найти практическое применение. Сегодня поговорим о том, что это и как этим можно пользоваться.

Для начала немного теории .
Поддержка альтернативных потоков данных была добавлена в NTFS для совместимости с файловой системой HFS от Macintosh, которая использовала поток ресурсов для хранения иконок и другой информации о файле. Они присутствуют в NTFS еще с самых ранних версий Windows NT . Суть технологии в том, что у файла на NTFS может быть несколько потоков, содержащих данные. Проводник и большинство популярных файловых менеджеров ограничены работой лишь сглавным потоком (не имеющим имени), представляющим собой основное содержимое файла. Потоки могут использоваться для хранения метаданных файла, таким образом они использовались в Windows 2000 , насколько мне известно.

В Windows 7 альтернативные потоки NTFS , наличествующие у файла, штатными средствами не увидеть. И напрасно: адски хитрые вирусы, например, могут писать себя в потоки какого-нибудь вполне безобидного файла. Удалив файл с потоками, содержащими объёмные данные можно обнаружить, что места освободилось значительно больше, чем занимал файл по мнению Проводника .
Для просмотра имеющихся потоков мы будем пользоваться консольной утилитой , созданной небезызвестным Марком Руссиновичем.

Как создать альтернативный поток NTFS

Некоторые консольные команды позволяют создать и отобразить содержимое потока NTFS , например команда echo может позволить создать альтернативный поток для текстового файла. Чтобы было понятно, как это работает, рассмотрим пример. Введите следующее в командой строке:
echo Hello Happy Bulldozer > hello.txt
echo Hello World > hello.txt:test

А теперь откройте файл hello.txt в Блокноте:

Текст Hello World остался "за кадром", находясь в потоке с именем test . Если указать в имени открываемого файла и имя потока, открыть файл в потоке не получится: двоеточие - недопустимый символ для названия файла. Однако, можно воспользоваться командной строкой, которая несколько лояльней и позволит выполнить вот такую команду:
more < hello.txt:test

Просмотр потоков NTFS , как я писал выше, можно выполнить через утилиту streams.exe
streams.exe hello.txt


Я полагаю, тут всё понятно.

Альтернативные потоки NTFS и Блокнот

Продвинутые программы вроде справятся без особых усилий и отобразят вам содержимое потока:

Стандартный Блокнот будет приписывать расширение txt к имени потока. Если вы хотите использовать его, потоки именовать надо следующим образом:
echo Hello World > hello.txt:test.txt
Тогда выполненная из cmd.exe команда даст положительный результат:
notepad hello.txt:test.txt

Альтернативные потоки NTFS и файлы различных типов

У вас может сложится мнение, что область применения альтернативных потоков NTFS не простирается дальше текстовых файлов. Это не так. В следующем примере я добавил к файлу hello.txt поток, содержащий данные архива 7z:

Отмечу, что потоки можно создавать не только для файлов, но и для папок и даже для разделов жесткого диска.

Всё ограничено вашей личной фантазией и потребностями. Используя описанные приёмы, можно легко спрятать личную информацию от неподготовленного пользователя, например. Некая разновидность защиты от дурака, если хотите.

ИТ-директора тратят немало времени и ресурсов на проекты, связанные с системами аналитической обработки информации по продажам и других стандартных бизнес-данных. При этом для руководителей создаются информационные панели, отображающие показатели результативности компании и помогающие строить прогнозы на будущее. Такие системы приносят немалую пользу бизнесу, но на самом деле открывающиеся благодаря им возможности – это лишь малая часть того, что можно сделать с доступными организации данными, уверен Кришна Натан, ИТ-директор компании S&P Global (ранее McGraw Hill Financial), занимающейся ведением кредитных рейтингов, а также предоставляющей консалтинговые и аналитические услуги для фондового рынка. Под руководством Натана спроектирована и внедрена новая общекорпоративная система обработки данных, претворяется в жизнь стратегия, направленная на ускорение роста бизнеса и создание новых предложений для заказчиков.

В некоторых компаниях начинают собирать дополнительные данные – их называют альтернативными, нетрадиционными или ортогональными. Пока что это новое направление, но ИТ-директорам стоит знакомиться с соответствующими технологиями уже сегодня. Ведь совсем скоро альтернативные данные станут обязательным инструментом многих компаний.

Однако не спешите нанимать на работу очередных дорогостоящих специалистов. Давайте разберемся, о чем, собственно, идет речь.

Что такое «альтернативные данные»

Натан дает такое определение альтернативных данных: это данные, которые поступают из нетрадиционных источников, и их анализ позволяет извлечь полезные сведения в дополнение к тем, что вы получаете обычным образом.

Допустим, у вас торговая сеть и вы намерены открыть новый магазин в другом городе. Обычно подобное решение основывается на результативности ваших магазинов в конкретном городе и других мегаполисах.

Источником альтернативных данных здесь могут стать снимки парковок при супермаркетах, сделанные в течение нескольких месяцев, – уровни заполняемости стоянок можно коррелировать с объемами продаж. А также информация о пешеходном движении в том районе, где планируется открыть магазин. Объединив полученные сведения, можно узнать что-то новое, что поможет вам в вашем бизнесе.

S&P Global также поставляет аналитические услуги для товарных бирж, и ИТ-директору приходится постоянно думать, как с помощью альтернативных источников данных предложить заказчикам дополнительные сведения, как объединять различные сведения, чтобы дать клиентам информацию, которую бы они больше нигде получить не смогли.

Скажем, у S&P Global есть сведения о том, что нефтеперерабатывающий завод в Роттердаме может производить 100 тыс. баррелей нефтепродуктов в день. Но из-за дефицита поставок перерабатывает примерно 70 тыс. баррелей, то есть доступны свободные мощности еще на 30 тыс. Что произойдет после того, как в порт вошел нефтяной танкер с 30 тыс. баррелей? «Если отчет о доступной мощности завода – недельной давности, то мы не будем знать, что только что произошла разгрузка нефти, – поясняет Натан. – То есть традиционные данные устарели. И здесь пригодится такой источник альтернативных данных, как спутниковая съемка. Если проанализируем снимки со спутника наряду с другими источниками, то получим более точную картину запасов и производства почти в реальном времени».

Альтернативные данные и ИТ-директор

Даже если у вас нет готовых сценариев применения, знакомьтесь с новыми технологиями. Займитесь планированием систем, которые позволят комбинировать множество источников данных для анализа. Научитесь управлять цепочкой доставки данных, защищать ее, учитывать права использования. И нанимайте необходимый персонал – нужны опытные ученые по данным, умеющие анализировать их и извлекать полезную информацию.

Для быстрого запуска проекта в области альтернативных данных можно воспользоваться уже готовым решением. Так поступили в S&P Global, когда Platts, дочернее предприятие компании, приобрело cFlow – инструментарий для интерпретации спутниковой съемки. CFlow предлагает средства наглядного представления данных, позволяющие следить за изменениями торговых потоков по маршрутам следования судов, предоставляет сведения об объеме и характере груза танкеров.

Убеждайте руководство компании в том, что уже пришло время инвестировать в альтернативные данные – в покупку имеющихся решений или создание собственных. Какие-то из ваших проектов в области альтернативных данных принесут плоды, но многие не сработают. Ну а если альтернативные данные принесут действительно ценные сведения, пользуйтесь этим, чтобы получать средства на новые проекты.

– Martha Heller. What is ‘alternative data’ and how can you use it? CIO. JAN 3, 2017

Файловая система NTFS обладает множеством интересных возможностей, одной из которых является наличие альтернативных потоков данных (Alternate Data Stream, ADS). Суть их в том, что каждый файл в NTFS представляет из себя набор потоков, в которых хранятся данные. По умолчанию все данные находятся в основном потоке, но при необходимости к файлу можно добавлять дополнительные, альтернативные потоки данных.

Примечание. Альтернативные потоки данных в NTFS появились давным-давно, еще в Windows NT. Созданы они были для совместимости с файловой системой HFS, использующейся тогда на MacOS. HFS хранила данные о файле в специальном ресурсном потоке.

Файлы в NTFS поделены на атрибуты, одним из которых является $DATA, или атрибут данных. Потоки же являются дополнительными свойствами атрибута $DATA. По умолчанию существует один, основной поток$DATA:″″ . Как видите, он не имеет названия, поэтому зовется неименованным . Также при желании можно создавать дополнительные, именованные потоки, напр. $DATA:″Stream1″ . У каждого файла в NTFS может несколько потоков данных, содержащих различные, никак не связанные между собой данные.

Все данные, записываемые в файл, по умолчанию попадают в основной поток данных. Когда мы открываем файл, то видим именно основной поток, альтернативные же потоки скрыты от пользователя и не отображаются с помощью обычных средств. Их нельзя увидеть стандартными способами, хотя некоторые программы умеют читать скрытые в них данные. Также для работы с потоками можно использовать командную строку.

Для примера откроем консоль и с помощью команды echo создадим текстовый файл streams.txt и запишем в него текст:

echo This is main stream>streams.txt

А следующей командой запишем текст в альтернативный поток stream1:

echo This is alternate stream>streams.txt:stream1

Если теперь открыть файл streams.txt в любом текстовом редакторе, то мы увидим только первую запись, текст «This is alternate stream» останется скрытым. Прочитать скрытую в потоке stream1 информацию можно командой:

more

Альтернативные потоки можно добавлять не только к отдельным файлам, но и к директориям. Для примера добавим альтернативный поток stream2, содержащий текст «Hide stream in Streams», к текущей директории Streams:

echo Hide stream in Streams>:stream2

И выведем поток stream2 следующей командой:

more <:stream2

Содержимое альтернативных потоков можно открывать не только в консоли. К примеру Блокнот (Notepad) тоже умеет обращаться к скрытым в потоках данным, если в имени файла через двоеточие указать имя альтернативного потока. Повторим предыдущий пример, немного изменив название потока на stream1.txt:

echo This is alternate stream>streams.txt:stream1.txt

И откроем альтернативный поток в блокноте командой:

notepad streams.txt:stream1.txt

Примечание. Стандартный Блокнот требует расширение txt в названии потока, иначе он не сможет его открыть. Более продвинутые редакторы, например тот же Notepad++, могут показывать содержимое альтернативного потока вне зависимости от его названия.

Наличие альтернативных потоков у файла никак не отображается в Проводнике и других файловых менеджерах. Для того, чтобы их найти, самый простой способ - это воспользоваться командой dir /R (начиная с Windows Vista), которая показывает все потоки данных, в том числе и альтернативные.

Вам может показаться, что применение альтернативных потоков ограничено текстовыми данными. Это совсем не так, и в альтернативных потоках можно хранить абсолютно любую информацию. Для примера создадим файл picture.txt и добавим к нему поток pic1.jpg, в который поместим одноименное изображение:

echo Picture>picture.txt
type pic1.jpg>picture.jpg:pic1.jpg

Таким образом, внешне мы имеем обычный текстовый файл, а для открытия изображения из альтернативного потока в графическом редакторе Paint воспользуемся командой:

mspaint picture.txt:pic1.jpg

Подобным образом можно добавлять к любым типам файлов любые данные - к текстовым файлам добавлять изображения, к медиафайлам добавлять текстовую информацию и т. п. Что интересно, альтернативное содержимое не увеличивает видимый размер файла, к примеру добавив к 1кБ текстовому файлу HD-видео на 30Гб, проводник все равно покажет размер файла 1кБ.

Еще в альтернативные потоки можно прятать исполняемые файлы. К примеру возьмем файл test.txt и добавим приложение Блокнот (notepad.exe) в альтернативный поток note.exe:

type notepad.exe>test.txt:note.exe

А для запуска скрытого блокнота воспользуемся командой:

start .\test.txt:note.exe

Кстати этой возможностью пользуются некоторые вредоносные программы, добавляя исполняемый код в альтернативные потоки NTFS.

Утилита Streams

Для работы с альтернативными потоками существует несколько сторонних утилит, например консольная утилита Streams от Sysinternals. Она может определять наличие альтернативных потоков и удалять их. Утилита не требует установки, достаточно распаковать ее и запустить. Для примера проверим наличие потоков в папке Streams командой:

Streams.exe -s C:\Streams

И удалим альтернативные потоки из файла streams.txt:

Streams.exe -d C:\Streams\streams.txt

PowerShell

PowerShell также умеет работать с альтернативными потоками - создавать, обнаруживать, выводить их содержимое и даже удалять. Для примера создадим текстовй файл:

New-Item -Type file -Path C:\Streams\stream.txt

Добавим запись в основной поток:

Set-Content -Path C:\Streams\stream.txt -Value ″Main stream″

И в альтернативный поток с именем Second:

Set-Content -Path C:\Streams\stream.txt -Value ″Second stream″ -Stream Second

Затем выведем содержимое основного

Get-Content -Path C:\Streams\stream.txt

и альтернативного потоков:

Get-Content -Path C:\Streams\stream.txt -Stream Second

Для того, чтобы обнаружить наличие альтернативных потоков, можно воспользоваться командой:

Get-Item -Path C:\Streams\stream.txt -Stream *

А удалить лишние потоки можно командой:

Remove-Item -Path C:\Streams\streams.txt -Stream *

Использование

Альтернативные потоки используется как самой Windows, так и некоторыми программами. К примеру, Internet Explorer делит сеть на 4 зоны безопасности и при загрузке файлов добавляет к ним метки, которые содержат информацию о зоне, из которой они были загружены.

Метки эти хранятся в альтернативном потоке и представляют из себя число от 0 до 4:

Интернет (3)
Местная сеть (1)
Надежные сайты (2)
Опасные сайты (4)
Локальный компьютер (0)

Чтобы убедится в этом, перейдем в папку загрузок, возьмем файл, загруженный из интернета и проверим его на наличие альтернативных потоков. Как видите, в нем присутствует поток с именем Zone.Identifier , в котором есть строка ZoneID=3 .

Это значит, что файл относится к недоверенной зоне Интернет, и при его открытии надо быть осторожным. Некоторые программы, например Word, считывают эти данные при открытии файла и выдают соответствующее предупреждение.

Также инфраструктура классификации файлов (File Classification Infrastracture, FCI) основана на использовании альтернативных потоков. Из сторонних программ альтернативные потоки используют некоторые антивирусные программы, в частности антивирус Касперского хранит в них контрольную сумму, полученную в результате проверки.

Впрочем, применение альтернативных потоков этим не ограничивается, вы сами можете придумать для них любое применение. К примеру, с их помощью можно спрятать от посторонних глаз личную информацию. Файлы, содержащие альтернативные потоки, можно свободно копировать или переносить с диска на диск, все потоки будут скопированы вместе с файлом.

И еще, при использовании альтернативных потоков надо помнить, что они жестко привязаны к файловой системе NTFS. Для того, чтобы использовать их, файлы должны располагаться на дисках с NTFS, соответственно работать с ними можно только из под Windows. Если же переместить файл на любую другую файловую систему, то все потоки кроме основного будут потеряны. Также альтернативные потоки обрезаются при передаче файлов по FTP или при пересылке в качестве почтового вложения.
Взято с http://windowsnotes.ru/other/alternativnye-potoki-dannyx-v-ntfs/

Еще:
ADS — встроенная фишка файловой системы NTFS, которую никак нельзя выключить.

ADS позволяет добавлять любые файлы к другим файлам и даже каталогам (!). Сама ОС этим периодически пользуется, добавляя к скаченным из интернетов файлам поток «Zone.Identifier»

Zone.Identifier можно, кстати, править, дабы избавиться от предупреждений «этот файл скачан из интернета. Открыть в безопасном режиме?».

Добавить поток к любому файлу можно так:
type file1 > file2:file3

попытаться обнаружить
dir /r

запустить exe так:
start file2:file3

если на сработало, то так:
mklink file4 file2:file3
start file4

Вот это, к примеру, привяжет калькулятор к корневому диску С (!) и запустит его через ссылку

Видимо-невидимо

Читатель блога Виктор не смог запустить скачанный из Интернета скрипт PowerShell. Внимательное чтение моих инструкций позволяло избежать проблемы, но корень ее был вовсе не в строгих политиках безопасности PowerShell.

Виктор скачал из галереи TechNet архив со скриптом PSWindowsUpdate.zip для управления Windows Update, о котором я рассказывал . Однако распакованный скрипт отказывался работать. Когда я подсказал читателю, что в первом пункте моих инструкций говорится о необходимости разблокировать архив, все пошло как по маслу.

Виктор попросил объяснить, почему система заблокировала скрипт, и откуда она знает, что архив был скачан с другого компьютера.

Честно говоря, сегодняшняя тема не нова, но я решил осветить ее в своем блоге по нескольким причинам:

  • Многие статьи написаны еще во времена Windows XP или Windows 7 и не учитывают встроенных возможностей более новых ОС Microsoft.
  • В одной из запланированных на ближайшее время статей эта тема затрагивается, и мне проще сослаться на материал, за актуальность и правильность которого отвечаю я сам.
  • У блога большая аудитория, и для многих читателей эта тема все равно окажется в новинку:)

Сегодня в программе

Потоки данных NTFS

Windows черпает сведения об источнике файла из альтернативного потока данных (alternate data stream, далее ADS) файловой системы NTFS. В свойствах файла она скромно пишет, что он с другого компьютера, но на деле знает чуть больше, как вы увидите дальше.

С точки зрения NTFS, файл – это набор атрибутов . Содержимое файла – это атрибут данных с именем $DATA. Например, текстовый файл со строчкой “Hello, World!” обладает атрибутом данных “Hello, World!”

В NTFS атрибут $DATA является потоком данных и называется основным или безымянным, потому что… не имеет имени. Формально он выглядит так:

$DATA:""

  • $DATA – имя атрибута
  • : – разделитель
  • "" – имя потока (в данном случае имя отсутствует – между кавычками ничего нет)

Интересные особенности альтернативных потоков данных

В контексте примеров выше я хочу отметить несколько любопытных моментов.

Невидимые изменения

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

Интересно становится, когда файл открыт, скажем, в Notepad++. Этот редактор умеет предупреждать об изменениях файла. И он сделает это, когда вы запишете в файл альтернативный поток, однако содержимое при этом останется прежним!

Запись и просмотр ADS из CMD

ADS можно создавать и отображать из командной строки. Следующие команды записывают скрытый текст во второй ADS с именем MyStream2, а затем отображают его.

Echo Hidden Text > C:\temp\test.txt:MyStream2 more < C:\temp\test.txt:MyStream2

Просмотр ADS в текстовых редакторах

Тот же Notepad++ покажет вам содержимое ADS, если указать название потока в командной строке

"C:\Program Files (x86)\Notepad++\notepad++.exe" C:\temp\test.txt:MyStream1

Результат:

С блокнотом такой фокус пройдет только в том случае, если в конце имени потока есть .txt . Команды ниже добавляют третий ADS и открывают его в блокноте.

Echo Hidden Text > C:\temp\test.txt:MyStream3.txt notepad C:\temp\test.txt:MyStream3.txt

Результат:

Блокировка скачанных файлов

Давайте вернемся к вопросу, который задал мне читатель. Будет ли файл блокироваться зависит в первую очередь от программы, в которой он был скачан, а во вторую — от параметров ОС. Так, все современные браузеры поддерживают блокировку, и она включена в Windows.

Помните, что когда заблокирован архив, все распакованные файлы будут заблокированы «по наследству». Также не забывайте, что ADS — это функция NTFS, т.е. при сохранении или распаковке архива на FAT32 никакой блокировки не происходит.

Просмотр сведений об источнике заблокированного файла

В PowerShell перейдите в папку со скачанным файлом и посмотрите информацию обо всех потоках.

Get-Item .\PSWindowsUpdate.zip -Stream * FileName: C:\Users\Vadim\Downloads\PSWindowsUpdate.zip Stream Length ------ ------ :$DATA 45730 Zone.Identifier 26

Как вы уже знаете, $Data – это содержимое файла, но в списке фигурирует еще и ADS Zone.Identifier . Это прозрачный намек на то, что файл получен из какой-то зоны. Знаете, откуда эта картинка?

Чтобы выяснить зону, надо прочесть содержимое ADS.

Get-Content .\PSWindowsUpdate.zip -Stream Zone.Identifier ZoneId=3

Очевидно, он нацелен на пакетную разблокировку (например, когда архив уже распакован). Команда ниже разблокирует в папке Downloads все файлы, содержащие в имени PS :

Dir C:\Downloads\*PS* | Unblock-File

Конечно, существуют всякие утилиты с графическим интерфейсом, даже умеющие интегрироваться в контекстное меню. Но, на мой взгляд, PowerShell или на худой конец streams вполне достаточно.

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

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

Однако из названия неочевидно, что политика распространяется не только на почтовые вложения, но и скачанные из Интернета файлы. Подробнее о диспетчере вложений читайте в KB883260 .

В домашних изданиях редактора групповых политик нет, но реестр никто не отменял: SaveZoneInformation.zip .

Другие примеры практического применения ADS

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

Инфраструктура классификации файлов

Об авторе

Интересный материал, спасибо. Узнал что-то новое про PowerShell, который мне всё ещё мало знаком:)

Для общения с семьёй чаще использую WhatsApp — пока с этим сервисом было меньше всего проблем, даже родители там освоились. Контактик тоже в основном для семьи, хотя там обмен сообщений в основном вокруг публикуемых альбомов с фото и видео. Некоторые родственники хранят верность Viber — у меня с ним не сложилось как-то, держу просто для них, не оставляя попыток перетащить и их в WhatsApp.

Для работы в основном Slack, когда что-то срочное — WhatsApp, очень срочное — SMS. ВКонтакте для общения по работе с внешним миром.

Skype использую только для видеозвонков, в основном с семьей опять же. С удовольствием заменил бы его на WhatsApp, будь там видеозвонки.

urix

В Viber теперь появились видеозвонки, и даже видеозвонки для десктопной версии. Так что может быть, Viber станет следующим скайпом… в хорошем смысле

Андрей Кузнецов

Материал интересный, спасибо. Я знал про существование потоков, но не знал, что с ними так просто работать через PowerShell.
Что касается IM: К скайпу у меня есть нарекания только по времени запуска на Windows Phone. На ipad и Windows такой проблемы нет. Использую для голосовой связи, когда по каким-то причинам неудобно использовать GSM.
А переписка через Whatsapp. Наличие его только на телефоне скорее плюс, с точки зрения конфиденциальности.

  • Андрей Кузнецов : А переписка через Whatsapp. Наличие его только на телефоне скорее плюс, с точки зрения конфиденциальности.

    Андрей, поясните, в чем тут плюс

Павловский Роман

1. Пользуюсь чаще всего: Skype и Hangouts — по работе на ПК, по остальной переписке «ВКонтакте» с любого устройства, так как клиенты по работе обычно сидят на Скайпе, а друзья и знакомые в Соц.Сетях.

2. Хотел бы пользоваться в идеале: Jabber — для переписки и звонков с любых устройств. Как по мне, клиент можно установить на любое устройство и переписываться, где бы не находился пользователь, даже на слабом Интернет-соединении + к этому можно развернуть свой jabber-сервер и хранить всю переписку на сервере, чтобы потом можно было быстро найти нужную переписку, если клиент не умеет хранить историю, а плагины для звонков через jabber можно будет найти (например, через тот же SIP Asterisk 1.8+)

Андрей Баятаков

Чаще всего пользуюсь WhatsApp (в основном по работе), для звонков (аудио/видео/международные звонки) Skype. Хотя десктопный Skype ужасно бесит (у меня трансформер и дома я им пользуюсь в основном как планшетом)… Viber — не прижился. Чтобы звонить через WhatsApp нужно иметь просто железные нервы. Скажешь что-нибудь собеседнику и ждешь минуту-две когда он тебя услышит (подключение 50Mbit)…
Была бы возможность перешел бы совсем на Skype. На Windows 10 Mobile после недавнего обновления сообщения из Skype приходят прямо во встроенное приложение Сообщения (как СМС), что очень удобно.

Maxim

1. Скрепя сердце пользуюсь ICQ (для заказчиков-ретроградов) и Slack (для более современных).
2. Хотел бы пользоваться Jabber - по тем же причинам, что у Романа Павловского выше.

Владимир Кирюшин

Здравствуйте Вадим!
Прочитал перед этой статьёй вашу статью про то, как прочитать отчёт проверки всего системного диска командой chkdsk . Отличная статья! Благодаря ей сегодня после поверки командой chkdsk системного диска я получил текстовый файл отчёта. А эта статья тоже много чего проясняет в программе PowerShell. Кое-что мне пенсионеру бывает непонятно, но я стараюсь не паниковать и читаю усердно до конца. Спасибо вам за учёбу,которую вы с нами проводите! Всего Вам хорошего!

Lecron

Какие браузеры и программы-даунлоадеры создают этот поток?

Какие еще есть варианты использования потоков самим пользователем? И в частности, пользователем скриптописателем? Так как, хоть и знал про них давно, ни разу не использовал. При реальной работе с компом про них просто не вспоминаешь, и из-за этого, возможно городишь костыли, вместо удобного инструмента, а без этой работы, по памяти, ничего придумать не получается.
Сообразил только об одном варианте. Комментарий к файлу, если нет возможности или желания писать длинный текст в имя файла. Но для этого нужна поддержка со стороны файл менеджера, который раньше, да и сейчас, пишет их в descript.ion или files.bbs.

Speed Guru

Очередная мусорная технология наподобие USN журнала. Много ли вам будет пользы от ZoneIdentifier или от вируса, прикреплённого к фалу или папке? Конечно нет. Более того — это захламление системы лишними, ни коим образом не нужными нормальному пользователю «подфайлами». Каждое лишнее чтение в каталоге MFT и прочие операции, сопутствующие обслуживанию и содержанию альтернативных потоков, это лишние затраченные циклы процессора, оперативной памяти, а самое главное лишняя нагрузка на жёсткий диск.
Вы можете сказать мне что эта технология очень нужна системе. Но это чушь — система отлично работала бы и без потоков. Но пользователя никто не спрашивает — впарили (как USN журнал) и возможности полностью отключить ведение этих потоков не дали. А ведь мне как пользователи они вовсе не нужны, думаю как и вам…
Всё что мы можем сделать это «streams -s -d %systemdrive%». Но и это не даёт возможности удалить потоки на системном разделе.

Alexiz Kadev

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

Жаль в голосовалке нельзя было выделить несколько мессенджеров: я пользуюсь несколькими, поскольку некоторые мои контакты предпочитают какие-то определённые. Так, я использую WhatsUp, ICQ(правда, конечно, не родной клиент),Skype, SkypeforBusiness (тихий ужас, а не клиент, впрочем когда он назывался Lync был ещё хуже) и Viber (вот тут спама больше чем в других как минимум раз в 5).
А в идеале использовать какой-то один, типа Миранды с плагинами, поскольку найти в случае необходимости, кто где когда что-то говорил/писал во всей этой куче просто нереально. Но увы, ряд производителей закрывают свои протоколы и оберегают их как Кащей свою иголку.

  • VSh

    Vadim Sterkin : Роман, я не включил Jabber в опрос. Решил, что им мало кто пользуется и перспектив нет.

    Зря
    Я, например, использую OpenFire (freeware xmpp) как офисный коммуникатор на нескольких доменах.

    Поэтому у меня основной это XMPP (Pidgin.exe, Spark.exe), но 99.8% из этих сообщений — внутридоменные.
    Skype — для внешних IM
    WhatsApp и Viber — для «случайных связей», последние n месяцев только СПАМ, думаю — не удалить ли?

  • Артем

    У меня все почему-то в вайбере. И качество связи вполне устраивает. А так телеграмм бы. Да пусто там.

    hazet

    1. Skype (на ПК) и Viber (на Мобиле). Причины в основном как и у большинства — количество имеющихся контактов и естественно нежелание этих самых контактов, пересесть на другой мессенджер.
    2.uTox. Миниатюрный, ничего лишнего, клиент для Win, Linux, Mac и Android. Позиционируется как защищенный.
    P.S. ЩаЗ займусь перетягиванием своих контактов на него поплотней:-)

    Евгений Карелов

    Cпасибо Вам за Вашу работу!

    Касательно опроса, на ПК для переписки использую QIP 2012, к которому подключены контакты ICQ, ВКонтакте и другие. Лично мне удобно, использовать для общения по нескольким протоколам одну программу. Да и возможность просматривать ленты соцсетей из одного места очень радует. В идеале, не хватает только поддержки Skype, который я использую для голосовой связи, но она явно не появится.
    Хотя эта программа и выглядит «заброшенной», ибо обновлений уже давно не было, возложенные функции выполняет прекрасно.

    strafer

    Интересная мешанина из темы поста про потоки данных и опроса по IM.

    По опросу: Jabber/Jabber, который вы таки зря не включили в список, хотя там есть вотсап, основанный на XMPP, и даже идущая к успеху асечька.

    Jabber в общем-то решает все указанные проблемы ввиду открытости протокола, наличия клиентов под множество платформ и наличия серверов, которые можно поднимать самостоятельно. Но кактусы жевать традиционнее, да.

    • В списке клиенты, а не протоколы.
      ICQ… ну, я не стал там смайлики ставить, ибо должно быть и так понятно.
      Jabber точно не решает одну проблему — там никого нет.

      • strafer

        Vadim Sterkin : В списке клиенты, а не протоколы.

        Из-за того, что протокол и исходные коды официального клиента закрыты, устанавливается закономерная тождественность между единственным клиентом и протоколом.

        Vadim Sterkin : ICQ… ну, я не стал там смайлики ставить, ибо должно быть и так понятно.

        Гнилой мейлрушечке недостаточно того, что асечька умирает естественной смертью - они ещё и дополнительные усилия прилагают, чтобы она быстрее загнулась.

        Vadim Sterkin : Jabber точно не решает одну проблему - там никого нет.

        Тем не менее для Telegram вы же сами написали

        выглядит здорово, но там пусто (что поправимо)

        Jabber имел все шансы стать тем же, чем сегодня является экосистема e-mail (полная открытость протокола, возможность поднимать свои сервера кому угодно и обеспечивать взаимодействие между серверами и т.д.), но корпорациям это не нужно, что отлично видно на примере отхода от него гугла или проприентизирования вотсапа.

        • Для Telegram — поправимо, для Jabber — очень маловероятно. Поэтому первый есть в списке, а второго — нет.

          • strafer

            Конечно, Telegram - стильно, модно, молодёжно, а Jabber никто прикольный вроде Паши Дурова не двигает. Какие уж тут перспективы.

            Гм… да вылезите вы уже из своего танка теорий заговора «весь мир против свободного ПО». Все намного проще

            Если непонятно, так выглядит для человека первый опыт взаимодействия с официально рекомендуемым клиентом Jabber на самой распространенной мобильной платформе.

            strafer

          • Немного не понял, где в моём комментарии про заговор.

            Да везде:) Вы пытаетесь списать неудачи jabber на немодность и немолодежность, в то время как его клиенты с первого экрана не приспособлены для современной реальности.

            А что я должен увидеть на скриншоте?

            Предложение ввести номер телефона ~~~O~

          • strafer

            strafer : Вы пытаетесь списать неудачи jabber на немодность и немолодежность

            Ну так если оно так.

            strafer : в то время как его клиенты с первого экрана не приспособлены для современной реальности.

            Т.е. к нынешней моде, такой как разглашение своего номера телефона всем подряд. Ибо я не понимаю, зачем его вводить, если он не нужен для работы системы, как по мне так совершенно прекрасно, что его тут не просят.

            Собственно я отказался от асечьки, несмотря на несколько оставшихся там контактов, именно по этой причине - мейрушечка в ультимативной форме потребовала привязать номер телефона к учётке, вследствие чего была послана по известным координатам.

            Да, не понимаете, даже после объяснений с картинками… Это не мода, это единственный способ максимально упростить регистрацию с мобильных устройств, составляющих основу аудитории современных мессенджеров и единственный источник для ее роста.

            strafer

            На скриншоте запрос на имя, пароль и опциональный ник. Куда сильнее упрощать-то? Или кроме учащихся коррекционных школ уже не осталось больше резервов для роста аудитории, и надо чтоб была одна кнопка «сделать за*сь»?
            Зачем тут вообще номер телефона и что мессенджер должен с номером телефона делать?

  • Приветствую Вас, уважаемые читатели блога сайт. Файловая система NTFS обладает интересной возможностью поддержки альтернативных потоков данных (Alternate Data Stream, ADS). Технология подразумевает под собой, то, что каждый файл в файловой системе NTFS может иметь несколько потоков, в которых могут храниться данные. Проводник и большинство других приложений работают только со стандартным потоком и не могут получить данные их альтернативных. Таким образом с помощью технологии ADS можно скрывать данные, которые не удастся обнаружить стандартными способами.

    Поддержка альтернативных потоков данных была добавлена в NTFS для совместимости с файловой системой HFS , использующейся на MacOS.

    Немного теории

    В файловой системе NTFS файлы имеют атрибуты. Один из атрибутов $DATA является атрибутом данных. В свою очередь атрибут $DATA может иметь несколько потоков. По умолчанию существует один основной поток $DATA:"" , который называют неименованным. С этим потоком как раз и работает проводник windows. При желании к файлу можно добавить несколько именованных потоков (например $DATA:"potok1"), которые будут содержать различные не связанные между собой данные.

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

    Для работы с альтернативными потоками можно использовать специальные программы, либо командную строку.

    Как создать альтернативный поток NTFS

    Создать альтернативный поток можно с помощью консольной команды echo .

    Для начала откроем командную строку cmd.exe и с помощью команды echo создадим текстовый файл example.txt и запишем в него текст:

    echo Главный поток>example.txt

    Следующей командой запишем данные в альтернативный поток. Для этого после названия файла ставите двоеточие (:) и даете название потоку:

    echo Альтернативный поток>example.txt:test

    Теперь если открыть файл example.txt в любом тестовом редакторе, то будет виден только первый текст «Главный поток»:

    Получить информацию содержащуюся в потоке можно с помощью команды more:

    more

    Увидеть содержимое потока можно не только в командной строке. Например, открыть альтернативный поток в можно с помощью следующей команды:

    «C:\Program Files (x86)\Notepad++\notepad++.exe» example.txt:test

    Обычный Блокнот может открывать только те потоки, название которых заканчивается на «.txt». Для примера, добавим к нашему файлу поток test.txt:

    echo Альтернативный поток для блокнота>example.txt:test.txt

    И откроем его в блокноте:

    notepad.exe example.txt:test.txt

    В альтернативные потоки, можно помещать не только текстовые данные, а абсолютно любые типы данных. Кроме того к любым типам файлов можно добавлять любые данные — к текстовым файлам добавлять видео, а к изображениям текстовую информацию.

    Для примера добавим к нашему файлу поток с изображением img.jpg. Для этого воспользуемся командой type:

    type img.jpg>example.txt:img.jpg

    В результате мы получили обычный текстовый файл. Если открыть его обычным способом: двойным щелчком через проводник, то откроется текстовый редактор с содержимым главного потока:

    Чтобы открыть содержащееся в альтернативном потоке изображение, например в Paint-е, достаточно воспользоваться командой:

    mspaint example.txt:img.jpg

    Что самое интересное альтернативные потоки не увеличивают видимый объем файла. Так если к текстовому файлу размером 1 Кб добавить видео размером 30 Гб, то проводник все равно покажет размер файла 1 Кб.

    Также потоки можно добавлять для папок и даже для разделов жесткого диска. Делается все также как и для файлов:

    echo Текст в папке>c:\test:hide.txt

    И открываем в блокноте:

    notepad c:\test:hide.txt

    Так как наличие альтернативных потоков никак не отображается в проводнике и других файловых менеджерах, самый простой способ их обнаружить это воспользоваться командой dir /R:

    Скрытие приложений в альтернативных потоках и их запуск

    Поместить исполняемые файлы в альтернативные потоки также легко как и обычные файлы. Для примера возьмем наш файл example.txt и поместим приложение Блокнот (notepead.exe) в поток hideapp.exe:

    type C:\Windows\system32\notepad.exe>example.txt:hideapp.exe

    Чтобы запустить скрытый Блокнот используется следующая команда:

    start .\example.txt:hideapp.exe

    С помощью описанных приемов можно легко спрятать информацию от неподготовленных пользователей. Вообще применение альтернативных потоков данных ADS ограничено только вашей фантазией.

    На этом все, до новых встреч!