IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Вакцина для флешки, Безопасность USB носителей
Webster
20.04.2009 - 11:24
Сообщение #1


No Avatar
Full Member
***
Группа: Full member
Сообщений: 280
Регистрация: 14.02.2009

Пользователь №: 228151




Вакцина для флешки

Безопасность USB носителей

Cтепан Ильин


Правильно говорят: «все новое — хорошо забытое старое». Привыкнув, что зараза прет только через инет, мы окончательно забыли, как лихо подцепляли вирусы с дискет друзей и знакомых. В наше время малварь нашла другой способ распространения: через USB-носители. Они оказались идеальным контейнером. А вкупе с дебильной политикой Винды — еще и очень эффективным.

Вставь пендрайв где-нибудь в универе или интернет-кафе — и малварь не заставить себя ждать. К гадалке не ходи по поводу флешки подружки : вопрос тут только в том, сколько разновидностей малвари уживается в одном месте. Да что там говорить, — если даже у опытных пользователей на внешних носителях часто оседает случайно подцепленная зараза? Принцип действия настолько прост, что описывается буквально в двух словах.
Любой вирус, у которого в арсенале числится распространение через внешние носители, использует 2 файла - autorun.inf и бинарник с собственно телом вируса. Когда пользователь вставляет флешку, Винда считывает зловредный autorun.inf и, следуя указаниям, сразу запускает тело вируса или же исполняет его во время двойного клика по иконке накопителя. Ну а, обосновавшись в системе, ничего не стоит копировать эти файлы на все подключаемые в систему диски. Сегодня мы разберемся, во-первых, как обезопасить свою флешку, а во-вторых, как избавить систему от «вредных привычек».

Непробиваемая защита

Самая лучшая защита на флешке—запрет записи на хардварном уровне. Некоторое время назад у многих флешек такой переключатель был по умолчанию, но сейчас производители отошли от этой практики. Зато почти на всех карточках Secure Digital (SD) переключатели по-прежнему есть. Поэтому могу предложить непробиваемый вариант: купите такую карточку и компактный картридер, и в случае малейшего подозрения ставь переключатель в положение «read only». К тому же, картридер еще наверняка тебе пригодится .

Но вернёмся к обыкновенным флешкам :

NTFS — НАШЕ ВСЁ, ИЛИ СПОСОБ №1

Оставим изучение живности зоологам. Вместо того чтобы ежедневно отлавливать малварь, мы сделаем так, чтобы она попросту не появлялась. А для этого создадим флешке такие условия, чтобы живность там не могла существовать. Первый способ — очень легкий и, пожалуй, самый эффективный, (но увы, не лишенный недостатков). Суть в том. чтобы распрощаться с файловой системой FAT32, которая поголовно используется на внешних носителях по умолчанию, — и перевести флешку на NTFS, получив все ее преимущества.
Самый удачный вариант, перейти на NTFS — отформатировать пендрайв специальной утилитой от компании HP - HP USB Disk Storage Format Tool. Требуется лишь выбрать нужный диск и файловую систему — в нашем случае NTFS.
Практика, однако, показывает, что ничем не хуже оказываются встроенные средства Винды. Поэтому можно просто выбрать в контекстном меню пункт «Отформатировать» или даже банально воспользоваться консольной командой:
format f: /FS:NTFS
Если есть необходимость сохранить данные на флешке, используй встроенную утилиту для преобразования файловой системы на выбранном разделе:
convert f: /FS:NTFS

Вспоминаем, что вирусу обязательно нужно создать свой autorun.inf в корне сменного носителя, чтобы обосноваться на USB-носителе. Поэтому следующий шаг — просто запретить создание каких-либо файлов в корне флешки.
Где же тогда хранить файл ? Очень просто — в специально созданной папке. Пусть она будет называться FILES, для которой по-прежнему будут разрешены операции чтения/записи/выполнения файлов. Для этого переходим в свойства безопасности каталога и нажимаем на кнопку «Дополнительно" В появившемся окошке надо сделать важную вещь — отключить наследование разрешений от родительского объекта, сняв соответствующую опцию.
Далее, в появившемся диалоге, жмем «Копировать» и выходим отсюда, дважды ответив «Ок», Теперь можно смело отключать запись в корневой каталог, не опасаясь, что новые политики будут унаследованы в нашей папке с файлами. Выбираем в колонке «Запретить» пункт «Запись», а в столбце «Разрешить» оставляем следующие права: «Чтение и выполнение». «Список содержимого папки». «Чтение».
В итоге, мы получаем флешку, на которую не сможет записаться Autorun (ради чего собственно все и затеяли). Для удобства можно создать защищенный от записи autorun.inf, который будет открывать ту самую папку FILES.


Панацея ? К сожалению, нет. Если малварь запущена с правами администратора, то ничто не помешает ей поменять ACL-разрешения. как вздумается. Правда, на практике, малвари, готовой к подобной ситуации, пока немного.
А вот со следующей проблемой я столкнулся лично. — когда вставил вакцинированную флешку в свою магнитолу и, естественно, обломался. Большинство бытовых девайсов знать не знают о существовании NTFS и работают только с флешками на FAT32. Многие люди используют в качестве флешки РSР или МРЗ-плеер — и их вообще никак не получится отформатировать в NTFS. Ну и напоследок: флешки с NTFS становятся Read only на маках и на многих Linuxax.

Внимание — важный нюанс! Отформатированную в NTFS флешку обязательно нужно вытаскивать через «Безопасное отключение устройства». Если в случае с FAT32 на это можно было смело забивать, то с NTFS все данные проходят через кэш, и вероятность того, что часть данных, не успев полностью скопироваться из кэша, пропадет при отключении, крайне велика.

• Отформатировав флешку в NTFS. будь готов немного потерять в производительности. Тут приходится выбирать: максимальное быстродействие или безопасность.
• Винда по умолчанию прячет настройки безопасности NTFS, скрывая папку «Безопасность»
в свойствах папки. Чтобы включить ее отображение, необходимо в проводнике выбрать: «Сервис -> Свойства папки-> Вид» и снять галку с опции «Использоать простой общий доступ к файлам».



СЛАВНЫЕ ОСОБЕННОСТИ FAT32, ИЛИ СПОСОБ №2

Как я уже сказал, вариант с NTFS прокатывает далеко не всегда. Но есть возможность оставить носитель на родной файловой системе FAT32 и, более того — использовать для защиты ее специфику. Задача опять же та же — запретить вирусу создавать на флешке файл autorun.inf. Когда-то было достаточно просто создать каталог с именем AUTORUN. INF, выставив ему атрибуты «Read оnlу» и «Hidden». Так мы препятствовали созданию файла с тем же именем. Сейчас это, понятно, не вариант. Зато есть чуть модифицированный трик, который большинство малвари обходить пока не научилось. Обьясняю идею.

Создаем каталог AUTORUN. INF. Если каталог не пустой, удалить его можно, лишь расправившись со всем содержимым. Это очень просто, — но только не в случае, когда в каталоге есть файлы с
некорректными для FAT32 именами! Именно этот принцип защиты лежит в основе программы USB Disk Security ( www zbshareware.com), которая создает на флешке AUTORUN. INF и в нем файл «zhengbo.» (да-да, с точкой на конце — что, естественно, некорректно). И знаешь: большинство малвари остается не у дел. За свое «ноу-хау» разработчики просят $50, но нам ничего не стоит сделать то же самое вручную.

Для этого вспоминаем старый трик, заключающийся в использовании локальных UNC-путей. Напомню, что UNC — это формат для записи пути к файлу, расположенному на удаленном компьютере. Он имеет вид \\server\share\path , где server — это название удаленного хоста. Такой способ доступа к файлам можно использовать и для локальной машины, — только тогда вместо server нужно подставлять «?» или «.», а путь к файлу указывать вместе с буквой диска. Например, так: \\?\С: \ folder \file.txt. Фишка в том, что при использовании UNC-путей и стандартных консольных команд можно создавать файлы даже с запрещенными файловой системой именами.

Создадим несложный ВАТ-файл со следующим содержанием:

mkdir ”\\?\J:\AUTORUN.INF\LPT3”

После запуска получим каталоге некорректным именем LPT3, находящийся в папке AUTORUN.INF — обычным способом ее уже не удалить, а значит, малварь не сможет создать файл autorun.inf, оставшись не у дел!
Недостатков хватает и у этого способа. Во-первых, разработчики новой малвари могут использовать хинт от обратного и воспользоваться UNC-путями для удаления файлов/папок
с некорректным именем: \ \ ?\J: \ AUTORUN. INP\LPT3. Директорию можно вообще не удалять — а беспрепятственно переименовать: к примеру, в AUTORUN.INF1.

Другой вопрос, что такой малвари пока, опять же, немного. И раз мы заговорили о создании ВАТ-файла, то накидаем универсальный скриптик, который, помимо всего прочего, будет:
• удалять папку, замаскированную под корзину (на флешке ее быть не должно), где располагают свои тела многие черви (в том числе. Downadup),а также папку с файлами восстановления системы;
• создавать системную папку AUTORUN.INF с директорией СОМ1.
• с удалением такого файла будут трудности даже под NTFS:
• удалять и защищать desktop.ini, который также часто используется малварью.

rd /s /q %~d0\recycled
rd /s /q %~d0\recycler
rd /s /q ‘’%~d0\System Volume Information’’

del /f /q %~d0\autorun.*
mkdir "\\?\%~d0\autorun.inf\com1"
attrib +s +h %~d0\autorun.inf

del /f /q %~d0\desktop.ini
mkdir ’’\\?\%~d0\deskcop.ini\coml"
attrib +s +h %~d0\desktop.ini


Достаточно сохранить это на флешке с именем, например, autorun.bat и запустить


Работать в системе с правами Администратора - последнее дело, но. увы. распространенная практика. Если малварь будет запущена из-под такого аккаунта. то никакие наши меры не подействуют. Грамодный вирус беспрепятственно вернет все на свои места и не поперхнется Мораль: не сиди под рутом !

СОВЛАДАТЬ С АВТОЗАГРУЗКОЙ

Одно дело — разобраться со своей собственной флешкой, и совсем другое — не подцепить заразу с чужих. Для того чтобы малварь не перекочевала на твой комп, продолжив свое победоносное шествие, необходимо, во-первых, грамотно отключить автозагрузку и, во-вторых, взять на вооружение пару полезных утилит.

Начнем с первого. Казалось бы: что может быть проще, чем отключение автозапуска? Но на деле все не так прозрачно! Даже если поставить запрет через локальные политики Windows, в системе все равно остаются дырки, позволяющие заюзать малварь. Это легко проверить! Сначала отключаем автозапуск через стандартные политики Windows и убеждаемся, что автозапуск вроде как не работает. А теперь проведем эксперимент, создав на флешке autorun. inf со следующим содержанием:

[autorun]
open = calc.exe
shell\Open\Command=calc.exe
shell \Open\Default=l
shell \Explore\Command=calc. exe
shell \Autoplay\Command=calc. exe


Во время монтирования девайса, действительно, ничего не запускается, но попробуем дважды щелкнуть по иконке носителя. Что мы видим ? Винда открывает калькулятор! Думаю, не надо объяснять, что вместо него там могло оказаться, что угодно. Вместо этого приведу подробную инструкцию, как правильно и окончательно отключить автозапуск системы:

1. Первым делом правим ключ реестра, который отвечает за запуск с СD. Переходим в ветку

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Cdrom

находим параметр AutoRun и устанавливаем его равным нулю.

2. Далее переходим в раздел

НKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\policies\Explorer

Здесь создаем новый ключ NoDriveTypeAutoRun типа dword и задаем значение ff в шестнадцатеричной системе. Для верности можно повторить те же действии в ветке HKEY_CURRENT_USER, но они все равно будут игнорироваться.

3. Другой интересный хинт заключается в редактировании ключа

HKEY_ L0CAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ IniFileMapping\Autorun.inf

которому нужно присвоить значение (типа REG_SZ) — @SYS: DoesNotExist

Так мы заставляем Windows думать, что autorun.in является конфигурационным файлом древних программ, разработанных для ОС. более ранних чем Windows 95!

Не имея в распоряжении реестра, они использовали INI-файлы для хранения своей конфигурации. Создав подобный параметр, мы говорим, чтобы система никогда не использовала значения из файла autorun.inf. а искала альтернативные «настройки» по адресу HKEY_LOCAL_MACHINE\ SOFTWARE\DoesNotExist (естественно, он не существует). Таким образом, autorun.inf вообще игнорируется системой, что нам и нужно. Используемый в значении параметра символ @ блокирует чтение файла .INI, если запрашиваемые данные не найдены в системном реестре, а SYS является псевдонимом для краткого обозначения раздела HKEY_ LOCAL_MACHINE\Software.

4. Нелишним будет обновить параметры файлов, которые не должны автозапускаться, добавив туда маску
*.*
В разделе HKEY_LOCAL_ MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ AutoplayHandlers\CancelAutoplay\Files

создаем строковой параметр типа REG_SZ с названием *.*

5. В реестре Винды есть замечательный раздел MountPoints2, который обновляется, как только в компьютер вставляется USB-носитель. Собственно, именно это и позволяет провернуть трюк, который я описал вначале. Бороться с подобным положением вещей можно.
Сначала необходимо удалить все ключи Mount Points2, которые ты сможешь найти поиском в реестре, после чего перегрузиться.
Далее находим HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Explorer\MountPoints2 и в политике доступа запрещаем редактирование ключа всем пользователям, включая админов.
Не помешает установить монитор реестра, который следил бы за появлением новых ключей MouncPoints2 и блокировал к ним доступ.
Только после этого можно быть уверенным, что автозапуск в системе работать не будет. Кто бы мог подумать, что все так сложно?

Правим права доступа в консоли

Установить ручками права доступа для одной флешки —легко. Для двух -трех—тоже ничего сложного. Но если требуется вакцинировать сразу десяток, скажем, ДЛЯ ВСЕХ сотрудников предприятия? В этом случае нелишним будет автоматизировать процесс, устанавливая ACL-правила для флешки через командную строку. (Кстати говоря, используемая для этого консольная утилита cacls (Change AccessControl Lists) — единственный способ настроить параметры безопасности в Windows XP Home Edition. )

Первым делом нужно получить текущую ACL-таблицу с флешки. Допустим. она определяется в системе как диск X: —команда для просмотра таблицы будет:
cacls Х:\
В большинстве случаев вернется строка:
X: \ Все:(OI) (CI)F
Символ F (от слова Full) в конце означает полный доступ для всего содержимого—о чем говорят флаги (OI)(СI). Нам нужно удалить права на изменение файлов, поэтому по очереди удаляем записи из таблицы.
В нашем примере надо удалить запись о полном доступе для группы «Все»:
cacls X:\ /Е /R Все
После чего разрешаем доступ к каталогу в режиме чтения (Read only):
cacls Х:\ /G Все:R
Попробуй теперь создать в корне флешки файл. Едва ли получится.


ПОЛЕЗНЫЕ ТУЛЗЫ

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

1.AutoRunGuard _autorun.synthasite.com/AutoRunGuard.php. Миниатюрная, но очень расширяемая тулза позволит настроить правила
— что должно происходить, когда подключается флешка bkb CD. Можно, к примеру, в момент монтирования тут же запускать сканнер малвари. AuioRunGuard сама проверяет наличие autorun.inf, а также скрытых файлов, уведомляя о них юзера.

2. Flash Guard _www.davisr.com.
Эта утилита также следит за появлением в системе сменных накопителей. При обнаружении нового диска она предлагает, на выбор:
• Удалить добавленные файлом Autorun.inf пункты контекстного меню диска;
• Информировать пользователя о наличии на диске файла Autorun.inf;
• Удалить файл Autorun.inf;
• Удалить все файлы Autorun.*;
Удаляем во всех случаях Aulorun.inf и спим спокойно.

3. USB Disk Security
Увы, платная утилита для защиты флешек от малвари. По своему опыту могу сказать, что с вирусами она справляется на раз-два. В качестве бесплатной альтернативы можно привести Flash Desinfector

Сообщение было отредактировано Webster: 20.04.2009 - 11:28
User is offlineProfile Card PM
Go to the top of the page
+
Реклама

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



- Текстовая версия Сейчас: 18.04.2024 - 07:58
]]> ]]>
]]> Яндекс.Метрика ]]>