Использование альтернативных потоков данных::Журнал СА 3.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы

1001 и 1 книга  
19.03.2018г.
Просмотров: 9866
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8077
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8181
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5182
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5857
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

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

Архив номеров / 2005 / Выпуск №3 (28) / Использование альтернативных потоков данных

Рубрика: Администрирование /  Продукты и решения

МАКСИМ КОСТЫШИН

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

Когда армия сталкивается с оврагами и ущельями, заболоченной местностью с тростником

и высокой травой, горными лесами или густым и спутанным кустарником, необходимо тщательно прочесать их

 ибо там могут быть спрятаны засады и шпионы… Стратегия ведения войны такова: не полагайся на то,

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

что враг не нападет; полагайся на то, чтобы наши позиции были неуязвимы для нападения… Поэтому сказано,

что тот  кто знает врага и знает себя, не окажется в опасности и в ста сражениях. Тот, кто не знает врага,

но знает себя, будет то побеждать, то проигрывать. Тот, кто не знает ни врага, ни себя, неизбежно будет разбит

в каждом сражении…

 

«Искусство войны»

Сунь-Цзы

Возможность использования альтернативных потоков данных (Alternate Data Streams – ADS) заложена в файловой системе NTFS и поддерживается операционными системами Microsoft Windows 2000 и выше. Специфика ADS заключается в том, что c файлами и каталогами могут ассоциироваться дополнительные наборы данных, информация о которых и само содержимое, вообще говоря, недоступны с помощью стандартных утилит и встроенных команд операционной системы Microsoft Windows.

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

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

Создание ADS и работа с использованием редактора NotePad

Создадим на диске C: пустой файл test.txt, после чего выполним команду:

NotePad C: est.txt:example.txt

На предложение создать новый файл, ответим положительно (в записи test.txt:example.txt подразумевается, что example.txt – это имя потока для файла test.txt). Затем наберем произвольный текст и завершим работу с программой, сохранив изменения. При исследовании параметров файла C: est.txt можно заметить, что размер файла test.txt по-прежнему равен нулю (из видимых обычными средствами параметров были модифицированы лишь даты последнего доступа и изменений).

Выполнив команду:

NotePad C: est.txt:example.txt

мы обнаружим в редакторе текст, который мы только что набирали и сохранили в ADS.

Подтвердить наличие альтернативного потока можно также, если в «Проводнике» попытаться скопировать файл test.txt на носитель с файловой системой, отличной от NTFS (например, на дискету). При этом на экран будет выдано предупреждение о том, что копия файла на дискете не будет содержать данных ADS.

Рисунок 1

Использование стандартных команд операционной системы Windows

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

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

type C:oot.ini > C: est.txt:boot.ini

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

Следует обратить внимание на то, что стандартные команды copy, type, del и прочие, предназначенные для выполнения операций с файлами, не позволяют использовать в именах файлов-параметров конструкции, характерные для определения имени альтернативного потока. В этой связи выполнение файловых операций для ADS стандартными командами операционной системы затруднительно. Вместе с тем вывод на экран содержимого test.txt:boot.ini можно выполнить при помощи следующей команды:

type C:oot.ini > C: est.txt:boot.ini

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

ren temp.txt test.txt

type temp.txt > test.txt

del temp.txt

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

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

md C:example

type C:example.txt > c:example:example.txt

или просто:

type C:example.txt > c::example.txt

Обработка документов Microsoft и OfficeWordPad,

размещенных в альтернативных потоках данных

Поместим в ADS документ Microsoft Word (при подготовке статьи автор использовал Microsoft Word 2002 SP-2 из состава Microsoft Office XP). Для этого создадим документ Word, сохраним его сначала в файл C:example.doc, а затем с использованием операции перенаправления потока вывода в поток:

type C:example.doc > C: est.txt:example.doc

Отметим, что в случае отсутствия файла C: est.txt применение указанной команды создаст файл test.txt нулевого размера.

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

«C:Program FilesWindows NTAccessoriesWordPad.exe» C: est.txt:example.doc

Редактор WordPad вполне сгодится для просмотра документов Microsoft Word, сохраненных в ADS. Следует отметить, что у пользователей могут возникнуть проблемы, связанные с тем, что WordPad обеспечивает сохранение информации только в формате Word для Windows 6.0 и файла RTF. При этом WordPad версии 5.0 (Windows 2000 Professional) не позволяет выполнить преобразование и сохранение документа, помещенного в альтернативный поток данных, в поддерживаемом формате. Для WordPad версии 5.1 (Windows XP) такие проблемы отсутствуют.

Просмотреть данные ADS в Microsoft Word нам удалось лишь в режиме «только чтение», закрыв все приложения указанного редактора, переименовав файл test.txt в test (исключив из имени файла расширение), выполнив следующую команду:

"C:Program FilesMicrosoft OfficeOffice10WinWord.exe" C: est:example.doc

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

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

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

Запуск программ, сохраненных в альтернативном потоке данных

Запустить обычным способом программы, сохраненные в ADS, не удастся. Однако как вариант можно применить команду start.

Поместим программу WordPad.exe в альтернативный поток файла example.txt с одноименным названием:

type WordPad.exe > C:example.txt:WordPad.exe

Выполним команду:

start C:example.txt:WordPad.exe

и убедимся в том, что программа запущена.

Обратим внимание на то, что в диспетчере задач Windows имя образа запущенного процесса будет указано не WordPad.exe, а example.txt.

Рисунок 2

Специальные средства для поиска и работы с альтернативными потоками данных

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

Создадим тестовый файл C:exampleexample.txt и заполним все значения стандартных свойств для него, которые помещаются операционной системой в альтернативные потоки.

Рисунок 3

Используем файл для наблюдения за результатами работы специальных утилит.

LNS (http://ntsecurity.nu/toolbox/lns) – небольшая (менее 35 Кб) бесплатная консольная утилита, предназначенная для поиска файлов с ADS и информации об имеющихся альтернативных потоках. Программа не производит поиск ADS для каталогов.

Рисунок 4

LADS (http://www.heysoft.de) – свободно распространяемая консольная утилита поиска файлов, содержащих ADS.

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

Рисунок 5

Stream (www.sysinternals.com) – программа, автором которой является известный среди программистов разработчик прикладных утилит Марк Русинович, доступна с исходными текстами. Параметры работы утилиты позволяют производить поиск файлов с ADS по подкаталогам, а также удалять найденные альтернативные потоки.

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

Рисунок 6

CrucialADS (http://crucialsecurity.com) – свободно распространяемая утилита, обладающая графическим интерфейсом. Реализует поиск на выбранных пользователем дисках файлов, содержащих ADS.

К недостаткам следует отнести отсутствие следующих возможностей:

  • сохранения информации, содержащейся в альтернативных потоках;
  • определения размера данных для найденных потоков;
  • поиска файлов с ADS на съемных носителях, отформатированных под NTFS.

Замечание: кроме того, также как lads, программа не проверяет наличие специфических данных для корневого каталога.

Рисунок 7

NTFS Streams Info (http://www.isgeo.kiev.ua/shareware/index.html) – программа, рекомендуемая автором статьи, предусматривает всю необходимую функциональность для поиска и исследования альтернативных потоков данных. Лицензия программы определена как условно бесплатная и предоставляет возможность демонстрационного использования в течение 30 дней, помещая в раздел реестра, описывающего настройки программного обеспечения, параметр со значением даты начала использования программы.

Рисунок 8

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

Ниже приводится предопределенный и накапливаемый в утилите список названий потоков.

Рисунок 9

Вместо эпилога

Подведем некоторые итоги по материалу, изложенному выше. Альтернативные потоки данных предоставляют широкие возможности как в плане организации секретного хранения на жестком диске конфиденциальных данных владельца компьютера, так и сохранения информации, не санкционированного хозяином.

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

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

При копировании файлов и каталогов, содержащих потоки, на стандартные съемные носители, которые обычно имеют файловую систему, отличную от NTFS, данные потоков не будут продублированы.

Известны факты использования возможностей ADS как разработчиками вирусов и троянских утилит (в качестве примера можно указать Trojan.Comxt.B), так и авторами известных антивирусных программ.

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

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

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

Материалы:

  1. «Альтернативные потоки данных NTFS», Дон Паркер, перевод Владимир Куксенок, http://www.securitylab.ru/53136.html.
  2. «Прикладная информационная безопасность шаг за шагом», Сергей Гринкевич, http://www.securitylab.ru/52764.html.
  3. «Подготовка и использование аварийного набора», Матт Леско, Журнал «Windows IT Pro», #08, 2004 год // Издательство «Открытые системы», http://www.osp.ru/win2000/2004/08/042.htm.
  4. «Hidden Threat: Alternate Data Streams», Ray Zadjmool, http://lib.training.ru/Lib/ArticleDetail.aspx?ar=5312&l=n&mi=1326&mic=1337.
  5. «FAQ: Alternate Data Streams in NTFS», http://www.heysoft.de/Frames/f_faq_ads_en.htm.
  6. «How To Use NTFS Alternate Data Streams», http://support.microsoft.com/default.aspx?scid=kb;en-us;Q105763&sd=tech.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru