Чому чорт дозволяє NTFS допускати невидимі виконувані файли?


105

Ви можете приховати будь-який файл всередині іншого файлу, просто ввівши:

type sol.exe > container.txt:sol.exe

а для запуску прихованого файлу просто використовуйте:

start c:\hide\container.txt:sol.exe

Але божевільна частина цього в тому, що він не збільшує розмір файлу (тому він повністю прихований).

Якщо ви видалите файл із прихованими речами всередині, приховані речі не видаляються. Просто використовуйте:

more <  container.txt:sol.exe > sol.exe

Чому NTFS це дозволяє? Здається, найкращий спосіб приховати вірус.


1
приємно, здається, що mac resourceforks.
Стефано Борині

15
гірше, коли ви запускаєте sol.exe так, менеджер завдань показує ім'я процесу як контейнер.txt
hasen

16
Ми повинні бомбардувати Google, щоб "страшно" призвело до цього питання
hasen

4
Поки цього вже існує, все ще вражає час від часу набігати на AV розробників / інших людей, які сильно працюють з файловою системою, яка ЩО НЕ знає про це. Я не сподіваюсь, що середній розробник додатків дізнається про це, оскільки немає необхідності, але якщо ви важко ставитесь до файлової системи ... :-)
Брайан Кноблауч,

Імовірно, ви також можете приєднати ADS до папки. Ви можете видалити ADS, видаливши папку, але коли папка є коренем вашого диска, ви не можете видалити свій C: накопичувач, наприклад, без переформатування накопичувача. Схоже, це механізм створення прихованого вірусу руткіта для мене (?).
HighTechGeek

Відповіді:


98

У цього питання є дві сторони. Перше - чому ця функція взагалі існує, а друге - чому графічний інтерфейс (або командний рядок) не полегшує перегляд і управління ними.

Він існує тому, що корисний. Кілька інших платформ підтримують кілька потоків даних у файл. На Mac, наприклад, їх називали вилами . Я абсолютно впевнений, що подібні речі існували у світі мейнфреймів, але я не можу прикласти пальців до явних прикладів сьогодні.

У сучасних Windows він використовується для зберігання додаткових атрибутів для файлу. Ви можете помітити, що у вікні "Властивості", доступному в Провіднику Windows, є вкладка "Зведення", що в простому перегляді (я перебуваю на Windows XP, ваш пробіг буде відрізнятися від інших ароматів) містить купу корисних полів, таких як Назва, Тема, Автор та т.д. Ці дані зберігаються в альтернативному потоці, а не створюють якусь базу даних автомобіля для зберігання всього, що легко відокремиться від файлу.

Альтернативний потік також використовується для розміщення маркера, який говорить про те, що файл прийшов з ненадійного мережевого джерела, який застосовується Internet Explorer і Firefox при завантаженні.

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

Редагувати:

Ось натхненний коментарем до іншої відповіді, ось один із способів з’ясувати, чи захищають ваш антивірусний та / або захист від зловмисного програмного забезпечення альтернативні потоки.

Отримайте копію тестового файлу EICAR . Це 68 байт тексту ASCII, який також є дійсним виконуваним файлом x86. Незважаючи на те, що це абсолютно нешкідливо, антивірусна індустрія погодилася виявити, ніби це справжній вірус. Оригінатори думали, що тестування програмного забезпечення AV на справжній вірус буде занадто схожим на тестування пожежної сигналізації, запалюючи кошик для сміття у вогні ...

Файл EICAR:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Збережіть його за допомогою розширення, .COMі воно виконає (якщо ваш AV не звертає уваги) та надрукує привітання.

Було б корисно зберегти його в альтернативному потоці даних та запустити сканування ...


11
За задумом відображений розмір файлу показує лише розмір основного потоку $ DATA. Це теж те, чого ти зазвичай хочеш. Ви також не включаєте довжину імені файлу (який є одним з видів метаданих) до розміру файлу. Що стосується ризику для безпеки. ADS не є більш ризиком, ніж будь-який окремий файл. Я не чув жодного зловмисного програмного забезпечення, яке успішно поширюється / ховається за допомогою цих механізмів.
Joey

4
Ви не можете випадково запустити виконуваний файл, що зберігається в ADS текстового файлу. Це добре приховано, занадто добре приховано для звичайного користувача, щоб випадково запустити його. Спершу вам доведеться поставити під загрозу.
Р. Мартіньо Фернандес

7
@ashh: Martinho це видаляє - невідомість, яка ускладнює пошук виконуваного файлу в такому потоці, також ускладнює його виконання без активних спроб. Порівнюйте це, скажімо, з цілим фіаско "приховані розширення файлів", де виконувані файли можуть бути, скажімо, текстовими файлами в графічному інтерфейсі ... і все ще виконуються дуже легко.
Shog9

3
Якщо припустити, що у вас є AV, який принаймні звертає увагу на файл .COM у режимі реального часу, ви не зможете прикріпити його як ADS, оскільки AV перешкоджатиме вам доступу до файлу .COM (додавання як ADS вимагає отримання доступу до файлу .COM файл). Однак ви повинні мати змогу приєднати текстовий файл із рядком EICAR та назвати його розширенням .COM всередині ADS. тобто введіть EICAR.txt> test.txt: EICAR.COM
KTC

2
Хороший факт про файл EICAR.COM: він не працюватиме на жодних 64-бітних версіях Windows, тому, мабуть, цей трюк більше не працюватиме, коли всі будуть працювати на 64-бітних машинах (що, мабуть, ще буде деякий час).
Креднс

15

Ця функція потрібна для крос-платформної функції Windows Server: послуги для Mac.

Це дозволяє серверу Windows, який працює на NTFS-спільному доступі до Mac через AFP. Щоб ця функція працювала, файлова система NTFS повинна підтримувати вилки, і вона працює з першого дня.

І перш ніж запитати, чи використовується ще ця функція? Так, це я працюю і використовую щодня на сервері у клієнта, якого я підтримую.

Основне питання безпеки виникає, коли люди та програми забувають або не усвідомлюють, що він є.

Напевно, має бути варіант, хоча включити виделки в загальний розмір файлу або показати їх у Windows Explorer.


2
Якщо ви збираєтесь відмовитися від голосування, залиште коментар щодо того, чому.
Брюс Маклеод

2
Це звучить як цілком правдоподібна причина існування функції в першу чергу.
RBerteig

3
додавання цієї функції просто для дозволу спільного використання файлів для Mac не звучить як правдоподібна причина. Для спільного доступу до мережі не потрібно зберігати файл неушкодженим на стороні сервера. Я бачив кілька серверів обміну яблуками * nix, які розбивали файл на дані та інформацію про ресурси. Це прозоро для клієнта. Зміна фактичного формату накопичувача лише для того, щоб дозволити AFP, не здається реалістичним. Це може бути приємною користю, але не як ПРИЧИНА цієї функції.
Сімур

2
Так, я думаю, що [цитування потрібне], якщо ви збираєтесь стверджувати, що SfM є основною причиною того, що MS реалізувала ADSes в NTFS.
afrazier

3
Цитування знайдено: ... можливості ADS, де спочатку задумано, щоб забезпечити сумісність з ієрархічною файловою системою Macintosh, HFS ; де інформація про файли іноді розщеплюється на окремі ресурси. Альтернативні потоки даних стали законно використовуватися різними програмами, включаючи вбудовану операційну систему Windows для зберігання інформації про файли, такі як атрибути та тимчасове зберігання. Джерело: windowsecurity.com/articles/Alternate_Data_Streams.html
JamesBarnett

5

Я думаю, що одним із основних застосувань (можливо, навіть передбачуваного використання) було б прозоро дозволити додавання будь-яких видів метаданих до файлу. Причина, по якій розмір файлу не змінюється, полягає в тому, що в цьому випадку ви не хочете, щоб файл виглядав або поводився інакше, щоб узагальнена програма не покладалася на якийсь аспект того, як виглядає файл.

Я міг би уявити собі цікаве використання в IDE, наприклад, коли іноді залучається декілька файлів для формування єдиного блоку (файл коду / файл форми тощо), який можна приєднати до вихідного файлу таким чином, щоб вони не могли випадково відокремитись.

Я також вважаю, що є команда знайти всі такі «вкладення» у заданому дереві каталогів, тому вони насправді не є повністю прихованими. Мене також здивувало б, якщо кращі сканери вірусів цього не знають і перевіряють ці «приховані» області, але ви можете це перевірити, навмисно приєднавши заражений виконуваний файл до текстового файлу і побачивши, чи він підходить.


Чи можете ви опублікувати посилання на такий виконуваний файл, щоб я спробував? ;)
Р. Мартіньо Фернандес

Я пропоную вам запустити AVG на своїй машині, а потім схопити один із виконуваних файлів із карантинної папки, щоб спробувати;)
jerryjvl

2
@martinho, ви хочете тестовий файл EICAR: X5O! p% @ AP [4 \ PZX54 (P ^) 7CC) 7} $ EICAR-STANDARD-ANTIVIRUS-TEST-FILE! $ H + H * Просто вставте цей текст (саме 68 байт тексту ASCII, див. Eicar.org/anti_virus_test_file.htm для всієї історії) у файл, названий з розширенням .COM. Він запустить і надрукує повідомлення. Якщо, звичайно, ваш AV не працює. Перекиньте його в альтернативний потік даних і перевірте його.
RBerteig

@RBerteig: Ей круто ... не знав, що є таке.
jerryjvl

@jerryjvl, як кажуть, б'є тестування пожежної сигналізації, запалюючи кошик для сміття у вогні ...
RBerteig

5

Ось хороша стаття про потенційну вразливість безпеки, яку створюють альтернативні потоки даних .


6
<nitpick> Це вразливість, а не загроза </nitpick>. І справа не така велика, як це звучить. Щоб користуватись ним, вам вже потрібно мати облікові дані.
romandas

Без проблем. До речі, перевірте свій правопис. І пам’ятайте завжди: загрози використовують уразливі місця. Загрози, як правило, люди, але природні та спричинені катастрофи теж враховуються.
romandas

@romandas, які облікові дані вам уже потрібно мати? Вдома більшість користувачів Windows (зокрема, XP) працює з правами адміністратора, то чому це не так сильно, як це звучить?
Еш

@ashh, "з методом приховування ... на порушеній системі". Система повинна вже бути скомпрометована, в першу чергу, щоб ховати що-небудь, і аналогічно виконувати все, що сховано.
KTC

5

Добре запитання, я не був належним чином обізнаний з ADS до минулого року, і я був розробником Windows протягом багатьох років. Я можу гарантувати, що я не одна в цьому.

Що стосується можливості перевірки альтернативних даних про файли, я знайшов корисний маленький інструмент під назвою Lads, доступний у програмному забезпеченні Frank Heyne. Він може перераховувати ADS на всіх файлах у заданій директорії, навіть на зашифрованих файлах (а також у підкаталогах).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.