Защищаем Flash-Drive (а так же USB-HDD) от заразы |
Написал Evgmed | |||||||
10.06.2008 | |||||||
Наверно каждый, имеющий сменный носитель - флешку, обнаруживал на ней вредоносные программы, прописанные в 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. Подготовка Для начала посмотрим свойства флэшки и замерим размер файлов а так же размер места занимаемого ими на диске. Вот что у меня получилось: Цитата:
Налицо ощутимая потеря ёмкости 52 Мб, скорее всего из-за того что используется большой размер кластера, проверим какой. Кидаем на флешку файл размером менее 512 байт (или находим маленький из уже имеющихся на флешке) смотрим его свойства, и видим что на диске он занимает аж 32Кб. т.е таким образом мы выяснили, что размер кластера равен 32Кб., что при размере флешки 2 Гб. является слишком расточительным и при наличии большого колличества файлов размером менее 32 Кб. потери пространства могут оказаться ощутимыми. Что и имеет место быть в моём случае. Теперь обязательно скопируйте себе на жёсткий диск всё содержимое флешки. 2. Форматируем. Если вы уже имеете на борту компа специализированный софт для работы с разделами, ну напрмер Partition Magic, то можете конвертнуть флешку в NTFS на свой страх и риск с помощью его. Я поступлю немного иначе: Отформатирую флешку в NTFS средствами самой системы. Стандартный предлагаемый размер кластера на объём 1-2 Гб - 4Кб. Оптимален ли он будет для моей флешки? Форматируем. Смотрим что получилось: Цитата:
Сразу возникает вопрос чем? Самой файловой системой NTFS - это плата за использование. Теперь копируем файлы обратно на флешку, получаем: Цитата:
Налицо выйгрыш свободного места в 14 Мб. NTFS (4Kб) vs FAT16 (32Кб.- такой размер кластера, кстати при форматировании стандартной утилитой, которая идёт в комплекте к флэшке). Кластер у нас действительно получился 4Кб, что я считаю много для флешки размером 2 Гб. Переформатируем в NTFS ещё раз с минимальным размером кластера в 512 Байт и посмотрим свойства получившегося диска (раздела). Цитата:
Т.е. в итоге мы потеряли ещё около 400Кб, Что не очень много, но дисковое пространство будет расходоваться более экономно в случае большого колличества файлов маленького размера. Теперь снова копируем всё содержимое обратно на флешку. Смотрим что получилось: Цитата:
Если сравнивать с изначальной 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 Пожалуйста авторизируйтесь или зарегистрируйтесь. Опубликованные сообщения являются частными мнениями лиц, их написавших. Редакция сайта за размещенные сообщения ответственности не несет.
Powered by AkoComment 2.0! |