Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   Защищаем Flash-Drive (а так же USB-HDD) от заразы. (https://forum.antichat.xyz/showthread.php?t=52056)

-=lebed=- 26.10.2007 17:03

Защищаем Flash-Drive (а так же USB-HDD) от заразы.
 
Защищаем Flash-Drive (а так же USB-HDD) от заразы.

[INTRO]
Наверно каждый, имеющий сменный носитель - флешку, обнаруживал на ней вредоносные программы, прописанные в autorun.inf на запуск. Да что уж говорить, если купив абсолютно новый MP3-плеер, малоизвестной фирмы я обнаружил на нём виря, а ссылка на загрузку его была в файле autorun.inf. Учитывая тот момент, что я пользуюсь Portable Soft'ом на флехе и использую ещё удобное меню на основе PStart.exe, т.е. я имею уже настроенный autorun.inf на запуск этого меню мне порядком надоело, что я получаю на своей флехе после вставки флешки в чужой комп виря и отредактенный autorun.inf на его запуск. Вообщем я стал думать как защитить от заразы свою флеху.

[Ищем способы защиты]

1. Использовать переключатель Read-Only, т.е. попросту аппаратно, переключателем запретить производить запись на флешку и сделать её только читаемой. Этот способ имеет следующие недостатки: ну во-первых не на всех флешках есть такой переключатель (на моей не оказалось), ну а во вторых это очень не удобно: мне приходится по работе бегать по разным компам и активировать на них ПО, а всю инфу об активации (серийники, коды и т.д) я храню в файле на флешке и постоянно редактирую его, т.е. права на запись мне нужны на флешку. В итоге этот способ мне совсем не подходит.
2. Использовать шифрование. Способ требует наличия спец софта на компе клиента, который на лету шифрует/дешефрует файлы, что мне тоже неудобно. Использовать шифрование на уровне системы XP ? В этом случае я не уверен что поможет от виря, так как он сам может пользоваться системными функциями...
3. Использование другой файловой системы.
И тут я вспомнил про NTFS и тут же полез смотреть какая файловая система у меня на флешке. Конечно оказалась FAT. Тут же мне интуиция подсказала надо пробовать пересесть на NTFS, потому как там больше атрибутов и можно задать права на используемые файлы. Ясное дело что в первую очередь это autorun.inf. Т.е. если вирь не будет иметь прав на запись/редактирование/перезапись/удаление этого файла, то мы решим проблему: не дадим заразить нашу флешку с помощью механизма заражения через autorun.inf (хотя вирю пока никто не мешает сканить весь флеш-драйв на предмет исполняемых файлов и пробовать заражать их дописывая своё тело к файлу-жертве, но об этом позже.)


[Немного теории файловых системах]
Для хранения файлов всё доступное для них пространство разбивается на кластеры. Таблица размещения файлов содержит ячейки, каждая из которых указывает на определенный кластер на жестком диске.
1.FAT 12
Применялась в пору DOS 1.0 на древних HDD и дискетах - не рассматриваем.
2.FAT 16
Максимальный размер раздела - 2 гигабайта (Что подходит для моей флешки - она 2 Гига, она ранее и была установлена). При размере раздела свыше 512 мегабайт неэкономно расходует место на диске (из-за большого размера кластера). Распознается и может использоваться практически всеми операционными системами, используемыми на ПК, имеет корневой каталог фиксированного размера (512 записей).
3.FAT 32
Работает чуть медленнее, чем FAT 16, но в большинстве случаев разница в скорости незаметна. Позволяет создавать разделы размером до двух терабайт. Диски почти любого размера может разбить на кластеры размером 4 КБ, уменьшая тем самым бесполезную трату места на диске. Кроме того есть ограничение на размер файла - он не может быть больше 4 гб. (Целиком образ DVD не запишешь).
4.NTFS
Была специально разработана для Windows NT-систем. В NTFS значительно расширены возможности по управлению доступом к отдельным файлам и каталогам введено большое число атрибутов, реализована отказоустойчивость. В NTFS версии 5.0 были добавлены дополнительные атрибуты файлов, наряду с правом доступа введено понятие запрета доступа, позволяющее, например, при наследовании пользователем прав группы на какой-нибудь файл, запретить ему возможность изменять его содержимое. Как раз то, что доктор прописал!

[Ставим NTFS на флешку]
1. Подготовка
Для начала посмотрим свойства флэшки и замерим размер файлов а так же размер места занимаемого ими на диске.
Вот что у меня получилось:
Цитата:

Ёмкость 2049671168 байт (около 1,9 Гб.)
Свободно: 1259044864 байт (около 1,17 Гб.)
Занято: 790626304 байт (около 754 Мб.)
Размер всех файлов: 694 МБ (728*223*070 байт) - такой размер всех моих файлов.
Занимают на диске: 746 МБ (783*024*128 байт)
Налицо ощутимая потеря ёмкости 52 Мб, скорее всего из-за того что используется большой размер кластера, проверим какой. Кидаем на флешку файл размером менее 512 байт (или находим маленький из уже имеющихся на флешке) смотрим его свойства, и видим что на диске он занимает аж 32Кб. т.е таким образом мы выяснили, что размер кластера равен 32Кб., что при размере флешки 2 Гб. является слишком расточительным и при наличии большого колличества файлов размером менее 32 Кб. потери пространства могут оказаться ощутимыми. Что и имеет место быть в моём случае.
Теперь обязательно скопируйте себе на жёсткий диск всё содержимое флешки.
2. Форматируем.
Если вы уже имеете на борту компа специализированный софт для работы с разделами, ну напрмер Partition Magic, то можете конвертнуть флешку в NTFS на свой страх и риск с помощью его.
Я поступлю немного иначе: Отформатирую флешку в NTFS средствами самой системы.
Стандартный предлагаемый размер кластера на объём 1-2 Гб - 4Кб. Оптимален ли он будет для моей флешки? Форматируем. Смотрим что получилось:
Цитата:

Ёмкость: 2049945600 байт (около 1,90 Гб)
Свободно: 2010750976 байт (около 1,87 Гб)
Занято: 39194624 (около 37,3Мб.)
Сразу возникает вопрос чем? Самой файловой системой NTFS - это плата за использование.
Теперь копируем файлы обратно на флешку, получаем:
Цитата:

Ёмкость: 2049945600 байт (около 1,90 Гб)
Свободно: 1273454592 байт (около 1,18 Гб.)
Занято: 776491008 байт (около 740 Мб.)
Размер всех файлов: 694 МБ (728*223*070 байт) - не должен меняться
Занимают на диске: 699 МБ (733*388*800 байт)
Налицо выйгрыш свободного места в 14 Мб. NTFS (4Kб) vs FAT16 (32Кб.- такой размер кластера, кстати при форматировании стандартной утилитой, которая идёт в комплекте к флэшке).
Кластер у нас действительно получился 4Кб, что я считаю много для флешки размером 2 Гб.
Переформатируем в NTFS ещё раз с минимальным размером кластера в 512 Байт и посмотрим свойства получившегося диска (раздела).
Цитата:

Ёмкость: 2049949184 байт (около 1,90 Гб)
Свободно: 2010327552 байт (около 1,87 Гб)
Занято: 39621632 (около 37,7Мб.)
Т.е. в итоге мы потеряли ещё около 400Кб, Что не очень много, но дисковое пространство будет расходоваться более экономно в случае большого колличества файлов маленького размера.
Теперь снова копируем всё содержимое обратно на флешку. Смотрим что получилось:
Цитата:

Ёмкость: 2049949184 байт (около 1,90 Гб) - осталась прежняя.
Свободно: 1277632000 байт (около 1,18 Гб.) - места стало больше.
Занято: 772317184 байт (около 736 Мб.) - ещё выйгрыш в 4Мб.
Размер всех файлов: 694 МБ (728*223*070 байт) - не менялся
Занимают на диске: 695 МБ (728*784*384 байт) - на 4Мб. меньше.
Если сравнивать с изначальной FAT16 с кластером в 32Кб. которую нам предлагает производитель мы получили сумарный выйгрыш в почти в 18 Мб, несмотря на то что перешли на более прожорливую NTFS. Т.е. потери ёмкости флешки при переходе с FAT16 на NTFS окупились уменьшением кластера с 32Кб. до 512байт.
Это исследование было проведено специально для скептиков, которые по тем или иным причинам не хотят ставить NTFS на флешку.

[Защищаем файл autorun.inf]
Обычно он имеет вид:
Код:

[autorun]
Open = may_file.exe - ссылка на запуск нужного мне файла
Icon = autorun.ico

Я хочу сделать так чтоб он таким и оставался и изменить его мог только я, как владелец данного файла. Смотрим его свойства->Безопасность и видим, что стоит Полный доступ для группы Все, а именно, если капнуть глубже (Жмякнем пимпу "Дополнительно") разрешение "Полный доступ" унаследовано от самого корня диска. Жмякаем изменить, снимаем галку наследования. Далее Изменяем разрешения - ставим галки в столбце запретить на:
1. Создание файлов/запись данных
2. Создание папок/дозапись данных
3. Запись атрибутов
4. Запись дополнительных атрибутов
5. Удаление
6. Смена разрешений
7. Смена владельца
Таким образом у нас появился элемен разрешения "Запретить" что имеет более высокий приоритет над элементом "Разрешить"
...................................

[Испытания]
Сегодня вторник и мне "посчастливилось" испытать мою флеху в бою. На третьем компьютере, после установки драйвера PDF-принтера и просмотрщика PDF, я обнаружил, что комп не хочет отдавать мне флешку ("вы не можете извлечь безопасно устройство, так как оно используется в данный момент"), хотя все файлы с флехи были закрыты, включая корневой каталог. Сразу у меня мелькнула мысль - на компе вирус. И действительно, запустив портабл процессэксплорер, я увидел знакомый процесс трояна tel.xls.exe, который был запущен из папки system32 и являлся ранее известным мне Trojan.Win32.VB.atg. Я убил процесс виря и открыл на просмотр autorun.inf - он остался прежним! Закрыл файл, нашёл файл виря, удалил его из папки и из автозапуска. Спокойно извлёк флешку и пошёл дописывать статью...
[Заключение]
Я думаю, учитывая всё выше изложенное, можно экспериментировать и ставить на флешку NTFS 5.0, выставлять права на файл autorun.inf и смело пользоваться флехой на заражённых компах - вирь не пролезет (по крайней мере способом прописывания в autorun.inf). Для защиты остальных файлов на флехе и корневого каталога можно также выставить необходимые права на файлы и папки, защитив их таким образом от изменения/удаления/перезаписи. По мере эксплуатации свой флехи, статья может быть дополнена. На своём примере я убедился, что способ работает, кроме того я ещё получил дополнительное свободное место на флешке, передя с FAT16 на NTFS.

(c) -=lebed=- спец. для Античат

ссылки на используемый материал:
http://remont-hdd.by.ru/fat.shtm
http://yura.projektas.lt/archiv/per/fsinf.html

EST a1ien 26.10.2007 17:31

Один минус нельзя нормально работать из линуха если на нем нету софта для работы с Ntfs

-=lebed=- 26.10.2007 19:23

Цитата:

Сообщение от EST a1ien
Один минус нельзя нормально работать из линуха если на нем нету софта для работы с Ntfs

Согласен, но Линукс у нас на работе - это далёкая экзотика. (Есть тока у меня на виртуалке). :D

DisturbeR 26.10.2007 21:08

Софт ставиться в 2 секунды (ntfs-3g запись в NTFS). В новых дистрибутивах (ubuntu 7.10 например) запись на NTFS из коробки.

$aSH 26.10.2007 21:25

у меня на работе такой заразы полно =\ постоянно боремся
но способ не подходит. ибо есть 98.

Spyder 27.10.2007 01:10

Цитата:

Один минус нельзя нормально работать из линуха если на нем нету софта для работы с Ntfs
ставишь ntfs-3g и всё нормально пишется)

igorf()x 27.10.2007 13:23

... можно дописать?

Что бы появилась возможность отформатировать flash в Ntfs , нужно в Диспетчере устройств -- Дисковые устройства -- в свойствах - политика - ВКЛЮЧИТЬ "Оптимизировать для выполнения" точнее разрешить кеширование записи. И также flash при изьятии из компа обязательно "отключить програмно", так как возможны потери только записанных данных ...

-=[AL!EN]=- 27.10.2007 13:44

Наверное ты забыл дописать один оч большой (имхо) минус FAT32: файлы только <=4Gb, что даже хдтврип не запишешь =\

-=lebed=- 30.10.2007 11:39

Вообщем сегодня попробовал - способ сработал, файл autorun.inf остался неизменным. Отписывайтесь, кто тоже перешёл на NTFS на флешке.

ground_zero 02.01.2008 05:35

-=lebed=- статья хорошая ! а вот если например у меня на флешке файловая система другая ? ext 3 или RFS тогда к какому врачу обратитса ?
А на никсах тоже есть такой механизм автозапуска при вставке?
P.S. я правда не знаю...
-=lebed=-


Время: 06:48