Сайт о телевидении

Сайт о телевидении

» » Файловые потоки ntfs. Канал для внедрения вредоносного кода. Альтернативные потоки NTFS и файлы различных типов

Файловые потоки ntfs. Канал для внедрения вредоносного кода. Альтернативные потоки NTFS и файлы различных типов

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

Создание AltDS

Создать AltDS очень легко. Для этого воспользуемся командной строкой. Для начала создадим базовый файл, к которому будем прикреплять наши потоки.
C:\>echo Just a plan text file>sample.txt

C:\>type sample.txt
Just a plan text file


Далее мы воспользуемся двоеточием в качестве оператора, чтоб указать на то что будем использовать AltDS:
C:\\>echo You can"t see me>sample.txt:secret.txt

Для просмотра содержимого можно использовать следующие команды:
C:\ more < sample.txt:secret.txt

или
C:\ notepad sample.txt:secret.txt

Если все работает хорошо то увидите текст: You can"t see me, а при открытии из проводника данный текст виден не будет.Также AltDS можно прикрепить не только к файлу, но и к папке. Для этого создадим папку и прицепим к ней какой-нибудь текст:
C:\>md stuff
C:\>cd stuff
C:\stuff>echo Hide stuff in stuff>:hide.txt
C:\stuff>dir
Volume in drive C has no label.
Volume Serial Number is 40CC-B506Directory of C:\stuff
09/28/2004 10:19 AM .
09/28/2004 10:19 AM

0 File(s) 0 bytes2 Dir(s) 12,253,208,576 bytes free
C:\stuff>notepad:hide.txt

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

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

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

Далее поместим наше приложение в поток, для примера я использовал notepad.exe:
C:\WINDOWS>type notepad.exe>test.txt:note.exe

Теперь убедимся что в нашем файле все также текст:
C:\WINDOWS>type test.txt
Test

А теперь самое интересное, запустим наше спрятанное приложение:
C:\WINDOWS>start .\test.txt:note.exe
C:\WINDOWS>

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

UPD:

Утилиты по работе с AltDS (список взят из статьи по ссылке выше):

LADS - List Alternate Data Streams by Frank Heyne
www.heysoft.de/Frames/f_sw_la_en.htm

Streams.exe from SysInternals.

ИТ-директора тратят немало времени и ресурсов на проекты, связанные с системами аналитической обработки информации по продажам и других стандартных бизнес-данных. При этом для руководителей создаются информационные панели, отображающие показатели результативности компании и помогающие строить прогнозы на будущее. Такие системы приносят немалую пользу бизнесу, но на самом деле открывающиеся благодаря им возможности – это лишь малая часть того, что можно сделать с доступными организации данными, уверен Кришна Натан, ИТ-директор компании 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 . Я опишу, в каких целях можно использовать тот или иной тип метаданных, приведу пример его применения в какой-либо технологии Microsoft или стороннем программном обеспечении.

Речь пойдёт о точках повторной обработки (reparse points), идентификаторах объектов (object id) и о других типах данных, которые может содержать файл помимо своего основного содержимого.

Идентификатор объекта это 64 байта, которые можно прикрепить к файлу или каталогу. Из них первые 16 байт позволяют однозначно идентифицировать файл в пределах тома и обращаться к нему не по имени, а по идентификатору. Остальные 48 байт могут содержать произвольные данные.

Идентификаторы объектов существуют в NTFS со времён Windows 2000. В самой системе они используются для отслеживания расположения файла, на который ссылается ярлык (.lnk). Допустим, файл, на который ссылается ярлык, был перемещён в пределах тома. При запуске ярлыка он всё равно откроется. Специальная служба Windows в случае, если файл не найден, произведёт попытку открыть файл не по его имени, а по заранее созданному и сохранённому идентификатору. Если файл не был удалён и не покидал пределы тома, он откроется, а ярлык снова будет указывать на файл.

Идентификаторы объектов использовались в технологии iSwift Антивируса Касперского 7-ой версии. Вот как описана эта технология: Технология разработана для файловой системы NTFS. В этой системе каждому объекту присваевается NTFS-индентификатор. Этот индентификатор сравнивается с значениями специальной базы данных iSwift. Если значения базы данных с NTFS-индентификатором не совпадают, то объект проверяется или перепроверяется, если он был изменен.

Впрочем, переизбыток созданных идентификаторов вызывал проблемы со сканированием диска стандартной утилитой проверки chkdsk, она происходила слишком долго. В следующих версиях Антивируса Касперского отказались от использования NTFS Object Id.

Reparse Point

В файловой системе NTFS файл или каталог может содержать в себе reparse point, что переводится на русский язык как «точка повторной обработки» . В файл или каталог добавляются специальные данные, файл перестаёт быть обычным файлом и обработать его может только специальный драйвер фильтра файловой системы.

В Windows присутствуют типы reparse point, которые могут быть обработаны самой системой. Например, через точки повторной обработки в Windows реализуются символьные ссылки (symlink) и соединения (junction point), а также точки монтирования томов в каталог (mount points).
Reparse-буфер, присоединяемый к файлу это буфер, имеющий максимальный размер 16 килобайт. Он характеризуется наличием тега, который говорит системе о том, к какому типу принадлежит точка повторной обработки. При использовании reparse-буфера собственного типа ещё необходимо задавать в нём GUID в специальном поле, а в reparse-буферах Microsoft он может отсутствовать.

Какие типы точек повторной обработки существуют? Перечислю технологии, в которых используются reparse point"ы. Это Single Instance Storage (SIS) и Cluster Shared Volumes в Windows Storage Server 2008 R2, Hierarchical Storage Management, Distributed File System (DFS), Windows Home Server Drive Extender. Это технологии Microsoft, здесь не упомянуты технологии сторонних компаний, использующие точки повторной обработки, хотя такие тоже есть.

Extended Attributes

Расширенные атрибуты файла . Про них был . Здесь стоит упомянуть только то, что под Windows эта технология практически не применяется. Из известного мне программного обеспечения только Cygwin использует расширенные атрибуты для хранения POSIX прав доступа. У одного файла на NTFS могут быть или расширенные атрибуты, или буфер точки повторной обработки. Одновременная установка и того и другого невозможна. Максимальный размер всех расширенных атрибутов у одного файла составляет 64 Кб.

Alternate Data Streams

Дополнительные файловые потоки. Про них знает уже, наверное, каждый. Перечислю основные признаки этого вида метаданных: именованность (то есть у файла может быть несколько потоков, и у каждого своё имя), прямой доступ из файловой системы (их можно открывать, используя формат «имя файла, двоеточие, имя потока»), неограниченный размер, возможность запуска процесса прямо из потока (и возможность реализовать через это ).

Использовались в технологии iStream Антивируса Касперского. Используются в самой Windows, например при скачивании файла из интернета к нему прицепляется поток Zone.Identifier, содержащий информацию о том, из какого места получен данный файл. После запуска исполняемого файла пользователь может увидеть сообщение «Не удаётся проверить издателя. Вы действительно хотите запустить эту программу?» .

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

Что-нибудь ещё?

Есть ещё идентификатор безопасности , плюс стандартные атрибуты файла, к которым нет прямого доступа, несмотря на то, что они тоже реализованы как потоки файлов. И они, и расширенные атрибуты, и reparse и object id - всё это потоки файла с точки зрения системы. Напрямую изменять идентификатор безопасности, показанный на следующей картинке как::$SECURITY_DESCRIPTOR смысла нет, пусть его изменением занимается система. К другим типам потоков сама система не даёт прямого доступа. Так что на этом всё.

Просмотр содержимого object id, точек повторной обработки, а также работа с расширенными атрибутами и альтернативными файловыми потоками возможна с помощью программы

Были представлены в Windows NT 4.0 и были вокруг всех потомков (исключая win-95 потомки: 98, Me). В XP, Vista и Win 7 они все еще существуют. Пока версии Windows поддерживают NTFS, они будут поддерживать файловые потоки. Они будут поддерживать NTFS в течение длительного времени.

Ошибка, которую вы указали, описана на странице, которую вы видите в своем вопросе. Команда type не понимает потоки. Использование:

More < 1013.pdf:Zone.Identifier

Работа с потоками

Microsoft имеет только несколько команд, которые работают с потоками, фактически только < , > работают с потоками, и поэтому могут использоваться только команды, которые могут работать с этими операторами перенаправления. Я написал о том, как вы все еще можете управлять потоками только с этими командами.

Потоки будут работать только с программами, которые предназначены для работы с ними, просто потому, что их нужно обрабатывать специально (сравнить точки соединения, а также функцию NTFS, но драйвер скрывает детали, и программам не нужно ничего делать специальные: они просто считают точку соединения реальным файлом).

Когда вы пытаетесь открыть поток файлов с помощью start filename:streamname , и программа говорит что-то вроде "незаконного имени файла" или "файл не найден", и вы уверены, что имя потока верное, то, скорее всего, программа не поддерживают потоки. Я заметил, что Notepad, Wordpad и Word/Excel работают правильно с потоками, хотя Word и Excel считают файлы опасными. Ниже приведены некоторые эксперименты .

ПРИМЕЧАНИЕ: вам кажется, что альтернативные потоки данных нечетны. Они странные, потому что они настолько скрыты, но многие основные файловые системы (HFS, NSS) имеют это, и концепция восходит к началу 80-х годов. Фактически, изначально потоки были добавлены в NTFS для взаимодействия с другими файловыми системами.

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

Создание AltDS

Создать AltDS очень легко. Для этого воспользуемся командной строкой. Для начала создадим базовый файл, к которому будем прикреплять наши потоки.
C:\>echo Just a plan text file>sample.txt

C:\>type sample.txt
Just a plan text file


Далее мы воспользуемся двоеточием в качестве оператора, чтоб указать на то что будем использовать AltDS:
C:\\>echo You can"t see me>sample.txt:secret.txt

Для просмотра содержимого можно использовать следующие команды:
C:\ more < sample.txt:secret.txt

или
C:\ notepad sample.txt:secret.txt

Если все работает хорошо то увидите текст: You can"t see me, а при открытии из проводника данный текст виден не будет.Также AltDS можно прикрепить не только к файлу, но и к папке. Для этого создадим папку и прицепим к ней какой-нибудь текст:
C:\>md stuff
C:\>cd stuff
C:\stuff>echo Hide stuff in stuff>:hide.txt
C:\stuff>dir
Volume in drive C has no label.
Volume Serial Number is 40CC-B506Directory of C:\stuff
09/28/2004 10:19 AM .
09/28/2004 10:19 AM

0 File(s) 0 bytes2 Dir(s) 12,253,208,576 bytes free
C:\stuff>notepad:hide.txt

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

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

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

Далее поместим наше приложение в поток, для примера я использовал notepad.exe:
C:\WINDOWS>type notepad.exe>test.txt:note.exe

Теперь убедимся что в нашем файле все также текст:
C:\WINDOWS>type test.txt
Test

А теперь самое интересное, запустим наше спрятанное приложение:
C:\WINDOWS>start .\test.txt:note.exe
C:\WINDOWS>

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

UPD:

Утилиты по работе с AltDS (список взят из статьи по ссылке выше):

LADS - List Alternate Data Streams by Frank Heyne
www.heysoft.de/Frames/f_sw_la_en.htm

Streams.exe from SysInternals.