Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
проблемы защиты информации / Амелин) Информационная безопасность.pdf
Скачиваний:
682
Добавлен:
09.04.2015
Размер:
1.81 Mб
Скачать

При этом многие вирусы, резидентно находясь в памяти, следят за реестром и если пользователь удаляет соответствующую запись (ключ), восстанавливают ее. Поэтому чтобы удалить вирус вручную, необходимо загрузиться в безопасном режиме.

Маскируются сетевые черви в большинстве своем в системных папках Windows (например, System32) среди сотен файлов, назначение которых пользователю неизвестно.

8.6. Загрузочные вирусы

Загрузочные вирусы заражают носители данных. Изначально заражению подвергались дискеты и жесткие диски. Загрузочный вирус прописывает себя в первый (нулевой) сектор раздела, где обычно находится программа-загрузчик. Сама эта программа перемещается в другое место, а при загрузке с зараженного носителя сначала запускается вирус. Вирус предпринимает меры к тому, чтобы закрепиться в оперативной памяти и получить контроль над системой, после чего позволяет загружаться стандартному загрузчику.

Классические загрузочные вирусы в настоящее время устарели, поскольку загрузка с дискеты (а именно на дискетах такие вирусы и распространялися) уже практически не используется. Однако в последние годы появилась вариация вирусов (которые также можно назвать загрузочными), распространяющиеся через флэш-накопители.

Такой вирус представляет собой обычный исполняемый файл с атрибутом «скрытый», который записывается в корневой каталог флешки либо в скрытую папку, эмулирующую корзину Windows либо другую системную папку. Кроме этого в корневом раталоге размещается файл autorun.inf со ссылкой на вирус. Вирус активируется, если у флешки срабытывает автозапуск, а это обычно происходит автоматически, если открывать флешку двойным щелчком по ее ярлыку при условии, что настройки Windows установлены по умолчанию. Вирус оставляет свои копии (вместе с autorun.inf) на всех разделах жесткого диска и, таким образом, получает управление во время каждого сеанса работы пользователя, когда тот случайно активирует автозапуск на одном из этих разделов. Далее вирус постоянно находится в оперативной памяти, исполняет свою начинку, а также отслеживает подключение к компьютеру новых переносных носителей и заражает их.

Для профилактики таких вирусов (помимо антивирусной защиты) необходимо открывать переносные устройства таким образом, чтобы не позволить сработать автозапуску. Например, открывать их через оболочку типа Total Commander, либо через адресную строку проводника Windows (но не двойным щелчком по ярлыку).

8.7. Троянские кони

Троянским конем (разг.: троян, троянец) называется вредоносная программа, которая не имеет (в отличие от вирусов) способности к саморазмножению, а вместо этого маскируется под программу, выполняющую полезные функции. Таким образом, распространение троянских коней часто происходит посредством самих пользователей, которые скачивают их из Интернета или друг у друга, не догадываясь о последствиях.

Особая опасность в том, что пользователи принимают их за легальные программы. Поэтому запуская троянского коня пользователь может вручную (в ответ на предупреждение операционной системы или файервола) дать ей все необходимые права, открыть доступ в Интернет и к системным ресурсам.

Одна из распространенных начинок троянских коней — бэкдор (backdoor) — программа, позволяющая злоумышленнику получать удаленный доступ к системе (а в некоторых случаях полностью ее контролировать).

8.8. Технологии маскировки вирусов

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

Стелс-вирус — вирус, полностью или частично скрывающий свое присутствие путем перехвата обращений к операционной системе, осуществляющих чтение, запись, чтение дополнительной информации о зараженных объектах (загрузочных секторах, элементах файловой системы, памяти и т.д.) Например, файловый вирус может перехватывать функции чтения/записи в файл, чтения каталога и т. д., чтобы скрыть увеличение размера зараженных программ; перехватывает функции чтения/записи файла в память, чтобы скрыть факт изменения файла.

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

Рис 2. Структура полиморфного вируса.

8.9. Тенденции современных компьютерных вирусов

Рассмотрим характерные черты, которые за последние годы наиболее четко проявились в современных вирусах:

наибольшее распространение получили сетевые черви;

вирусы активно используют уязвимости в различных операционных системах и программном обеспечении;

для быстрого распространения вирусов используются спам-технологии;

один вирус сочетает в себе мноество технологий: полиморфных, стелс, бэкдор;

вместо пересылки своего тела по электронной почте часто отправляется ссылка на вебсайт или на зараженный ранее компьютер;

увеличивается число вирусов для новых платформ: КПК, сотовых телефонов, смартфонов и коммуникаторов, при этом активно используются беспроводные среды пере-

дачи данных (Bluetooth, Wi-Fi).

8.10. Борьба с вирусами

Для борьбы с вирусами используется специальное программное обеспечение — антивирусы. По выполняемым ими функциям выделяют следующие виды антивирусов:

Программы-детекторы осуществляют поиск характерного для вируса кода (сигнатуры) в оперативной памяти и в файлах и при обнаружении выдают соответствующее сообщение.

Программы-доктора или фаги также осуществляют поиск зараженных файлов и «лечат» их, т.е. возвращают в исходное состояние. Среди фагов выделяют полифаги, т.е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов.

Ревизоры запоминают исходное состояние объектов незараженной системы и периодически сравнивают текущее состояние с исходным.

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

Вакцины — резидентные программы, предотвращающие заражение файлов. Современные антивирусы представляют собой многофункциональные программные

комплексы, которые способны обнаруживать, лечить (удалять) вирусы, а также препятствовать их проникновению на компьютер.

Современные антивирусы могут работать в двух режимах. В режиме монитора антивирус постоянно работает, отслеживая все обращения системы к файлам, вклиниваясь в этот процесс и проверяя эти файлы на предмет заражения. Таким образом, при первой попытке вируса активироваться антивирус блокирует эту попытку и выдает предупреждение. При использовании режима монитора работа компьютера замедляется (так как часть вычислительных ресурсов тратится на работу антивируса, а любое ображение к файлам и некоторым другим объектам сопровождается процедурой сканирования). Кроме того, если на компьютере присутствуют зараженные файлы, которые не проявляют активности и обращения к ним не происходит, они останутся незамеченными.

В режиме сканера антивирус проверяет все файлы в заданной области (определенный каталог, раздел жесткого диска или все устройства хранения информации) и удаляет/лечит зараженные (либо просто оповещает о них — в зависимости от настроек сканера). Проверка всех данных на компьютере может занять значительное время (несколько часов). Кроме того, вирус может попасть в систему сразу после сканирования.

Для надежной защиты рекомендуется применение обоих режимов: постоянная работа антивируса в режиме монитора и регулярная (раз в неделю) проверка всех данных с помощью сканера (обычно сканирование запускается на ночь).

Рассмотрим методы обнаружения антивирусом своих жертв.

Обнаружение, основанное на сигнатурах — метод работы антивирусов и систем об-

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

рус. Например, вирус Email-Worm.Win32.Happy содержит строку «Happy New Year 1999 !!», которая с низкой вероятностью может встретиться в другой программе.

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

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

Каждый современный антивирус имеет обширную (несколько сот тысяч) базу сигнатур, которая регулярно обновляется. Проблема обнаружения, основанного на сигнатурах заключается в том, что новый вирус (сигнатуры которого еще нет в базе) может беспрепятственно обойти антивирусную защиту. При этом создание сигнатуры и доставка ее пользователям занимает от 11 до 97 часов в зависимости от производителя, в то время как теоретически, вирус может захватить весь интернет меньше, чем за 30 секунд18.

Метод обнаружения подозрительного поведения программы. Антивирус прослежи-

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

Метод «белого списка». Предотвращается выполнение всех компьютерных кодов кроме тех, которые были ранее обозначены системным администратором как безопасные.

Эвристическое сканирование — метод, основанный на сигнатурах и эвристике, призван улучшить способность сканеров применять сигнатуры и распознавать модифицированные версии вирусов в тех случаях, когда сигнатура совпадает с телом неизвестной программы не на 100 %, но в подозрительной программе налицо более общие признаки вируса. Данная технология, однако, применяется в современных программах очень осторожно, так как может повысить количество ложных срабатываний19.

Наиболее известные современные антивирусы: антивирус Касперского, Doctor WEB, NOD32, Norton Antivirus, Panda Antivirus, Avast! Antivirus (последний является бесплат-

ным для домашнего использования).

18http://www.icir.org/vern/papers/cdc-usenix-sec02\, http://ru.wikipedia.org

19http://ru.wikipedia.org/wiki/Эвристическое_сканирование