Защищаем 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. ПодготовкаДля начала посмотрим свойства флэшки и замерим размер файлов а так же размер места занимаемого ими на диске. Вот что у меня получилось: Налицо ощутимая потеря ёмкости 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]Обычно он имеет вид: Code: [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
Софт ставиться в 2 секунды (ntfs-3g запись в NTFS). В новых дистрибутивах (ubuntu 7.10 например) запись на NTFS из коробки.
... можно дописать? Что бы появилась возможность отформатировать flash в Ntfs , нужно в Диспетчере устройств -- Дисковые устройства -- в свойствах - политика - ВКЛЮЧИТЬ "Оптимизировать для выполнения" точнее разрешить кеширование записи. И также flash при изьятии из компа обязательно "отключить програмно", так как возможны потери только записанных данных ...
Наверное ты забыл дописать один оч большой (имхо) минус FAT32: файлы только <=4Gb, что даже хдтврип не запишешь =\
Вообщем сегодня попробовал - способ сработал, файл autorun.inf остался неизменным. Отписывайтесь, кто тоже перешёл на NTFS на флешке.
-=lebed=- статья хорошая ! а вот если например у меня на флешке файловая система другая ? ext 3 или RFS тогда к какому врачу обратитса ? А на никсах тоже есть такой механизм автозапуска при вставке? P.S. я правда не знаю... -=lebed=-
Мля, один раз флеху видел полный писец... В корне диска, куча всякой живности... (10-12 видов всякой заразы). Некоторые вири чтоб закрепиться на флехе искорявали свои имена, так что с ними нельзя ничего сделать средствами системы. Часть спряталась в корзину, вообщем все способы выживания были на лицо, ну а сколько там перезаписывался autorun.inf я промолчу... (были старые autorun, c другими расширениями). Вообщем за всё время эксплуатации флэшки, у меня один раз вышел прокол - файл после использования на чужом компе оказался перезаписан. (не помню точно какой это был вирь, да и не совсем уверен что правильно тогда выставил права на файл). В остальных случаях зараза лезла (записывалась на флеху) но ссыль на её запуск через autorun.inf оставалась прежней - запуск моего PStart.exe - меню для портабл-софта. ЗЫ Как недостаток, кстате теперь у вирей появилась возможность прятаться в потоках, раз на флехе NTFS, но антивири не дремлют, они и в потоках обнаружат заразу... Интересно было рассмотреть хоть какой-то способ защиты флэхи, когда она вставлена в заражённый комп, средствами самой флехи... как я убедился способ работает, хотя и имеет свои недостатки...
Раз уэ хочется NTFS на флехе, то делается это моментально: convert <буква_диска> /fs:ntfs /v /x и никаких форматирований и партишн мэджиков. Данная команда работает не только с флэшками, но и с логическими разделами HDD
Хорошая статья респектоЗЗЗ афтару.. Лично я предлагаю немного другое решение проблемы.. Кидаем в авторан прогу которая сидит в памяти (очень мало жрёт) и через каждую секунду проверяет наличие флешки в компе и если есть то удаляет на ней файл autorun.inf... Т.о. если вставит заражённую флеху то червяк не будет забущен ибо авторан инф удалится в течении секунды после вставки флэхи... Вот мой способ... А вот его реализация: virusoff.pisem.su/USBCLEAR.RAR в архиве лежит исходник проги и уже готовый ехе.. Просто кидаем этот exe-файл в автозагрузку и на всегда забываем про usb-червей... Кстати прога весит совсем не много - 1641 байт - написана на делфи 7.
Хорошая статья. Но.. он удаляется.. ничего не могу сделать.. уже все и всем запрещаю - ничего не дает сделать кроме удаления. ======================= Нашел - если поставить галочку "только для чтения" (перед назначением прав) то его и удалить нельзя будет.
Этот способ не решит проблему распространения usb-червя, так как прога должна работать на компе до вставки флехи в него, т.е. другие компы, кроме своего (где уже работает прога) заразить червю удастся...
JayKa заходишь в проводнике в Сервис -> Cвойства папки -> Вид убераешь гаочку Использовать простой и общий доступ к файлам и вот у тебя появится вкладка безопасность...
Пуск –> Выполнить… –> Запуск программы –> cmd –> OK –> convert <буква_флешки>: /fs:ntfs /nosecurity /x