Студентам > Курсовые > Классификация компьютерных вирусов
Классификация компьютерных вирусовСтраница: 3/4
6.2 Файловые вирусы
Большинство файловых стелс-вирусов
использует те же приемы, что приведены выше: они либо перехватывают DOS-вызовы
обращения к файлам (INT 21h) либо временно лечат файл при его открытии и
заражают при закрытии. Также как и для загрузочных вирусов, существуют файловые
вирусы, использующие для своих стелс-функций перехват прерываний более низкого
уровня - вызовы драйверов DOS, INT 25h и даже INT 13h.
Полноценные файловые
стелс-вирусы, использующие первый способ скрытия своего кода, в большинстве своем
достаточно громоздки, поскольку им приходиться перехватывать большое количество
DOS-функций работы с файлами: открытие/закрытие, чтение/запись, поиск, запуск,
переименование и т.д., причем необходимо поддерживать оба варианта некоторых
вызовов (FCB/ASCII), а после появления Windows95/NT им стало необходимо также
обрабатывать третий вариант - функции работы с длинными именами файлов.
Некоторые вирусы используют часть
функций полноценного стелс-вируса. Чаще всего они перехватывают функции DOS
FindFirst и FindNext (INT 21h, AH=11h, 12h, 4Eh, 4Fh) и "уменьшают"
размер зараженных файлов. Такой вирус невозможно определить по изменению
размеров файлов, если, конечно, он резидентно находится в памяти. Программы,
которые не используют указанные функции DOS (например, "Нортоновские
утилиты"), а напрямую используют содержимое секторов, хранящих каталог,
показывают правильную длину зараженных файлов.
6.3 Макро-вирусы
Реализация стелс-алгоритмов в
макро-вирусах является, наверное, наиболее простой задачей - достаточно всего
лишь запретить вызов меню File/Templates или Tools/Macro. Достигается это либо
удалением этих пунктов меню из списка, либо их подменой на макросы
FileTemplates и ToolsMacro.
Частично стелс-вирусами можно назвать
небольшую группу макро-вирусов, которые хранят свой основной код не в самом
макросе, а в других областях документа - в его переменных или в Auto-text.
7. Полиморфик-вирусы
К полиморфик-вирусам относятся те
из них, детектирование которых невозможно (или крайне затруднительно) осуществить
при помощи так называемых вирусных масок - участков постоянного кода,
специфичных для конкретного вируса. Достигается это двумя основными способами -
шифрованием основного кода вируса с непостоянным ключом и случайным набором
команд расшифровщика или изменением самого выполняемого кода вируса. Существуют
также другие, достаточно экзотические примеры полиморфизма - DOS-вирус
"Bomber", например, не зашифрован, однако последовательность команд,
которая передает управление коду вируса, является полностью полиморфной.
Полиморфизм различной степени
сложности встречается в вирусах всех типов - от загрузочных и файловых
DOS-вирусов до Windows-вирусов и даже макро-вирусов.
7.1 Полиморфные расшифровщики
Простейшим примером частично
полиморфного расшифровщика является следующий набор команд, в результате
применения которого ни один байт кода самого вируса и его расшифровщика не
является постоянным при заражении различных файлов:
MOV reg_1, count ;
reg_1, reg_2, reg_3 выбираются из
MOV reg_2, key ;
AX,BX,CX,DX,SI,DI,BP
MOV reg_3, _offset ;
count, key, _offset также могут меняться
_LOOP:
xxx byte ptr [reg_3], reg_2 ;
xor, add или sub DEC reg_1
Jxx _loop; ja или jnc; дальше следуют зашифрованные код и данные вируса
Более сложные полиморфик-вирусы
используют значительно более сложные алгоритмы для генерации кода своих
расшифровщиков: приведенные выше инструкции (или их эквиваленты) переставляются
местами от заражения к заражению, разбавляются ничего не меняющими командами
типа NOP, STI, CLI, STC, CLC, DEC неиспользуемый регистр, XCHG неиспользуемые
регистры и т.д.
Полноценные же полиморфик-вирусы
используют еще более сложные алгоритмы, в результате работы которых в
расшифровщике вируса могут встретиться операции SUB, ADD, XOR, ROR, ROL и
другие в произвольном количестве и порядке. Загрузка и изменение ключей и
других параметров шифровки производится также произвольным набором операций, в
котором могут встретиться практически все инструкции процессора Intel (ADD,
SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG, JNZ, PUSH, POP ...) со всеми
возможными режимами адресации.
8. IRC-черви
IRC (Internet Relay Chat) — это
специальный протокол, разработанный для коммуникации пользователей Интернет в
реальном времени. Этот протокол предоставлят возможность
Итрернет-"разговора" при помощи специально разработанного
программного обеспечения. Существует довольно большое количество IRC-команд,
при помощи которых пользователь может получить информацию о других
пользователях и каналах, изменять некоторые установки IRC-клиента и прочее.
Сущетсвует также возможность передавать и принимать файлы - именно на этой
возможности и базируются IRC-черви.
8.1 IRC-клиенты
На компьютерах с MS Windows
самыми распространенными клиентами являются mIRC и PIRCH. Это не очень
объемные, но довольно сложные программные продукты, которые кроме
предоставления основных услуг IRC (подключение к серверам и каналам) имеют еще
и массу дополнительных возможностей.К таким возможностям относятся, например,
сценарии работы (скрипты) и задание автоматической реакции на различные
события. Например, при появлении во время разговора определенного слова
IRC-клиент передает сообщение пользователю, пославшему это слово. Также
возможно отключение пользователя от канала; посылка персональных сообщений
новым пользователям, подключающимся к каналу; и многое другое. В PIRCH-клиенте,
например, событий, на которые предусмотрена реакция, более 50.
8.2 Скрипт-черви
Как оказалось, мощная и
разветвленная система команд IRC-клиентов позволяет на основе их скриптов
создавать компьютерные вирусы, передающие свой код на компьютеры пользователей
сетей IRC, так называемые "IRC-черви". Первый инцидент с IRC-червем
зафиксирован в конце 1997 года: пользователями mIRC-клиента был обнаружен
скрипт (файл SCRIPT.INI), переносивший свой код через каналы IRC и заражавший
mIRC-клиентов на компьютерах пользователей, подключавшихся к зараженным каналам.
Как оказалось, скрипт-черви являются достаточно простыми программами, и через
довольно короткое время на основе первого mIRC-червя были созданы и
"выпущены" в сети несколько десятков различных скрипт-червей.
Принцип действия таких IRC-червей
примерно одинаков. При помощи IRC-команд файл сценария работы (скрипт) или
реакции на IRC-события автоматически посылается с зараженного компьютера
каждому вновь присоединившемуся к каналу пользователю. Присланный файл-сценарий
замещает стандартный и при следующем сеансе работы уже вновь зараженный клиент
будет рассылать червя.
Черви при этом используют
особенности конфигурации клиента (всех версий mIRC младше 5.31 и всех версий
PIRCH до PIRCH98), благодаря которой принимаемые файлы всех типов помещаются в
корневой каталог клиента. Этот каталог также содержит и основные скрипты
клиента, включая авто-загружаемые mIRC-скрипты SCRIPT.INI, MIRC.INI и
PIRCH-скрипт EVENTS.INI. Данные скрипты автоматически исполняются клиентом при
старте и в дальнейшем используются как основной сценарий его работы.
Некоторые IRC-черви также содержат
троянский компонент: по заданным ключевым словам производят разрушительные
действия на пораженных компьютерах. Например, червь "pIRCH.Events" по
определенной команде стирает все файлы на диске пользователя.
В скрипт-языках клиентов mIRC и
PIRCH также существуют операторы для запуска обычных команд операционной
системы и исполняемых модулей (программ) DOS и Windows. Эта возможность
IRC-скриптов послужила основой для появления скрипт-червей нового поколения,
которые помимо скриптов заражали компьютеры пользователей EXE-вирусами,
устанавливали "троянских коней", и т.п.
8.3 mIRC.Acoragil и mIRC.Simpsalapim
Первые известные mIRC-черви. Обнаружены в конце ноября
- начале декабря 1997. Названия получили по кодовым словам, которые
используются червями: если в тексте, переданном в канал каким-либо
пользователем присутствует строка "Acoragil", то все пользователи,
зараженные червем "mIRC.Acoragil" автоматически отключаются от
канала. То же самое происходит с червем "mIRC.Simpsalapim" - он
аналогично реагирует на строку "Simpsalapim".
При размножении черви командами mIRC
пересылают свой код в файле SCRIPT.INI каждому новому пользователю, который
подключается к каналу.
Содержат троянскую часть. "mIRC.Simpsalapim"
содержит код захвата канала IRC: если mIRC владельца канала заражен, то по
вводу кодового слова "ananas", злоумышленник перехватывает управление
каналом.
"mIRC.Acoragil" по кодовым
словам пересылает системные файлы DOC, Windows или UNIX. Некоторые кодовые
слова выбраны таким образом, что не привлекают внимания жертвы - hi, cya или
the. Одна из модификаций этого червя пересылает злоумышленнику файл паролей
UNIX.
8.4 Win95.Fono
Опасный резидентный
файлово-загрузочный полиморфик-вирус. Использует mIRC как один из способов
своего распространения: перехватывает системные события Windows и при запуске
файла MIRC32.EXE активизирует свою mIRC-процедуру. При этом открывает файл
MIRC.INI и записывает в его конец команду, снимающую защиту:
[fileserver]
Warning=Off
Затем создает файлы SCRIPT.INI и
INCA.EXE. Файл INCA.EXE содержит дроппер вируса, скрипт файла SCRIPT.INI
пересылает себя и этот дроппер в канал IRC каждому присоединившемуся к каналу и
каждому выходящему с канала.
9. Сетевые вирусы
К сетевым относятся вирусы,
которые для своего распространения активно используют протоколы и возможности
локальных и глобальных сетей. Основным принципом работы сетевого вируса
является возможность самостоятельно передать свой код на удаленный сервер или
рабочую станцию. «Полноценные» сетевые вирусы при этом обладают еще и
возможностью запустить на выполнение свой код на удаленном компьютере или, по
крайней мере, «подтолкнуть» пользователя к запуску зараженного файла.
Бытует ошибочное мнение, что сетевым
является любой вирус, распространяющийся в компьютерной сети. Но в таком случае
практически все вирусы были бы сетевыми, даже наиболее примитивные из них: ведь
самый обычный нерезидентный вирус при заражении файлов не разбирается - сетевой
(удаленный) это диск или локальный. В результате такой вирус способен заражать
файлы в пределах сети, но отнести его к сетевым вирусам никак нельзя.
Наибольшую известность приобрели
сетевые вирусы конца 1980-х, их также называют сетевыми червями (worms). К ним
относятся вирус Морриса, вирусы «Cristmas Tree» и «Wank Worm&». Для своего
распространения они использовали ошибки и недокументированные функции
глобальных сетей того времени - вирусы передавали свои копии с сервера на
сервер и запускали их на выполнение. В случае с вирусов Морриса эпидемия
захватила аж несколько глобальных сетей в США.
Сетевые вирусы прошлого
распространялись в компьютерной сети и, как правило, так же как и
компаньон-вирусы, не изменяли файлы или сектора на дисках. Они проникали в
память компьютера из компьютерной сети, вычисляли сетевые адреса других
компьютеров и рассылали по этим адресам свои копии. Эти вирусы иногда также
создавали рабочие файлы на дисках системы, но могли вообще не обращаться к
ресурсам компьютера (за исключением оперативной памяти).
После нескольких эпидемий сетевых
вирусов ошибки в сетевых протоколах и программном обеспечении были исправлены,
а «задние двери» закрыты. В результате за песледние десять лет не было
зафиксировано ни одного случая заражения сетевым вирусом, как, впрочем, не
появилось и ни одного нового сетевого вируса.
Вновь проблема сетевых вирусов
возникла лишь в начале 1997-го года с появлением вирусов «Macro.Word.ShareFun»
и «Win.Homer». Первый из них использует возможности электронной почты Microsoft
Mail - он создает новое письмо, содержащее зараженный файл-документ («ShareFun»
является макро-вирусом), затем выбирает из списка адресов MS-Mail три случайных
адреса и рассылает по ним зараженное письмо. Поскольку многие пользователи
устанавливают параметры MS-Mail таким образом, что при получении письма
автоматически запускается MS Word, то вирус «автоматически» внедряется в
компьютер адресата зараженного письма.
Этот вирус иллюстрирует первый
тип современного сетевого вируса, которые объединяют возможности встроенного в
Word/Excel языка Basic, протоколы и особенности электронной почты и функции
авто-запуска, необходимые для распространения вируса.
Второй вирус («Homer») использует
для своего распространения протокол FTP (File Trabsfer Protocol) и передает
свою копию на удаленный ftp-сервер в каталог Incoming. Поскольку сетевой
протокол FTP исключает возможность запуска файла на удаленнов сервере, этот
вирус можно охарактеризовать как «полу-сетевой», однако это реальный пример
возможностей вирусов по использованию современных сетевых протоколов и
поражению глобальных сетей.
10. Прочие "вредные программы"
К "вредным программам",
помимо вирусов, относятся также троянские кони (логические бомбы), хакерские
утилиты скрытого администрирования удаленных компьютеров
("backdoor"), программы, "ворующие" пароли доступа к
ресурсам Интернет и прочую конфиденциальную информацию; а также
"intended" -вирусы, конструкторы вирусов и полиморфик-генераторы.
10.1 Троянские кони
(логические бомбы)
К троянским коням относятся программы, наносящие какие-либо
разрушительные действия, т.е. в зависимости от каких-либо условий или при
каждом запуске уничтожающая информацию на дисках, «завешивающая» систему и т.п.
Большинство известных троянских
коней являются программами, которые «подделываются» под какие-либо полезные
программы, новые версии популярных утилит или дополнения к ним. Очень часто они
рассылаются по BBS-станциям или электронным конференциям. По сравнению с
вирусами «троянские кони» не получают широкого распространения по достаточно
простым причинам – они либо уничтожают себя вместе с остальными данными на
диске, либо демаскируют свое присутствие и уничтожаются пострадавшим
пользователем.
К «троянским коням» также можно
отнести «дропперы» вирусов – зараженные файлы, код которых подправлен таким
образом, что известные версии антивирусов не определяют вируса в файле.
Например, файл шифруется каким-либо специальным образом или упаковывается
редкоиспользуемым архиватором, что не позволяет антивирусу «увидеть» заражение.
10. 2
Утилиты скрытого администрирования (backdoor)
Троянские кони этого класса по
своей сути является достаточно мощными утилитами удаленного администрирования
компьютеров в сети. По своей функциональности они во многом напоминают различные
системы администрирования, разрабатываемые и распространяемые различными
фирмами-производителями программных продуктов.
Будучи установленными на
компьютер, утилиты скрытого управления позволяют делать с компьютером все, что
в них заложил их автор: принимать/отсылать файлы, запускать и уничтожать их,
выводить сообщения, стирать информацию, перезагружать компьютер и т.д. В
результате эти троянцы могут быть использованы для обнаружения и передачи
конфиденциальной информации, для запуска вирусов, уничтожения данных и т.п. -
пораженные компьютеры оказываются открытыми для злоумышленных действий хакеров.
10. 3
Intended-вирусы
К таким вирусам относятся программы, которые на первый взгляд
являются стопроцентными вирусами, но не способны размножаться по причине
ошибок. Например, вирус, который при заражении «забывает» поместить в начало
файлов команду передачи управления на код вируса, либо записывает в нее
неверный адрес своего кода, либо неправильно устанавливает адрес
перехватываемого прерывания (что в подавляющем большинстве случаев завешивает
компьютер) и т.д.
|