Автор работы: Пользователь скрыл имя, 22 Декабря 2009 в 22:11, Не определен
Цель работы - ознакомить пользователя с основами компьютерной вирусологии, научить обнаруживать вирусы и бороться с ними
Таким образом, голова вируса теперь первой получает управление, вирус устанавливается в память и передает управление оригинальному загрузочному сектору. В цепочке
ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА
появляется новое звено:
ПНЗ (ПЗУ) - ВИРУС - ПНЗ (диск) - СИСТЕМА
Мораль ясна: никогда не оставляйте (случайно) дискет в дисководе.
Мы
рассмотрели схему функционирования простого
бутового вируса, живущего в загрузочных
секторах дискет. Как правило, вирусы способны
заражать не только загрузочные секторы
дискет, но и загрузочные секторы винчестеров.
При этом в отличие от дискет на винчестере
имеются два типа загрузочных секторов,
содержащих программы начальной загрузки,
которые получают управление. При загрузке
компьютера с винчестера первой берет
на себя управление программа начальной
загрузки в MBR (Master Boot Record - главная загрузочная
запись). Если ваш жесткий диск разбит
на несколько разделов, то лишь один из
них помечен как загрузочный (boot). Программа
начальной загрузки в MBR находит загрузочный
раздел винчестера и передает управление
на программу начальной загрузки этого
раздела. Код последней совпадает с кодом
программы начальной загрузки, содержащейся
на обычных дискетах, а соответствующие
загрузочные секторы отличаются только
таблицами параметров. Таким образом,
на винчестере имеются два объекта атаки
загрузочных вирусов - программа начальной
загрузки в MBR и программа начальной
загрузки в бут-секторе загрузочного
диска.
3.2. Файловые
вирусы
Рассмотрим теперь схему работы простого файлового вируса. В отличие от загрузочных вирусов, которые практически всегда резидентны, файловые вирусы совсем не обязательно резидентны. Рассмотрим схему функционирования нерезидентного файлового вируса. Пусть у нас имеется инфицированный исполняемый файл. При запуске такого файла вирус получает управление, производит некоторые действия и передает управление «хозяину» (хотя еще неизвестно, кто в такой ситуации хозяин).
Какие же действия выполняет вирус? Он ищет новый объект для заражения - подходящий по типу файл, который еще не заражен (в том случае, если вирус «приличный», а то попадаются такие, что заражают сразу, ничего не проверяя). Заражая файл, вирус внедряется в его код, чтобы получить управление при запуске этого файла. Кроме своей основной функции - размножения, вирус вполне может сделать что-нибудь замысловатое (сказать, спросить, сыграть) - это уже зависит от фантазии автора вируса. Если файловый вирус резидентный, то он установится в память и получит возможность заражать файлы и проявлять прочие способности не только во время работы зараженного файла. Заражая исполняемый файл, вирус всегда изменяет его код - следовательно, заражение исполняемого файла всегда можно обнаружить. Но, изменяя код файла, вирус не обязательно вносит другие изменения:
Наконец, к файловым вирусам часто относят вирусы, которые «имеют некоторое отношение к файлам», но не обязаны внедряться в их код. Рассмотрим в качестве примера схему функционирования вирусов известного семейства Dir-II. Нельзя не признать, что, появившись в 1991 г., эти вирусы стали причиной настоящей эпидемии чумы в России. Рассмотрим модель, на которой ясно видна основная идея вируса. Информация о файлах хранится в каталогах. Каждая запись каталога включает в себя имя файла, дату и время создания, некоторую дополнительную информацию, номер первого кластера файла и т.н. резервные байты. Последние оставлены «про запас» и самой MS-DOS не используются.
При запуске исполняемых файлов система считывает из записи в каталоге первый кластер файла и далее все остальные кластеры. Вирусы семейства Dir-II производят следующую «реорганизацию» файловой системы: сам вирус записывается в некоторые свободные секторы диска, которые он помечает как сбойные. Кроме того, он сохраняет информацию о первых кластерах исполняемых файлов в резервных битах, а на место этой информации записывает ссылки на себя.
Таким
образом, при запуске любого файла вирус
получает управление (операционная система
запускает его сама), резидентно устанавливается
в память и передает управление вызванному
файлу.
3.3. Загрузочно-файловые вирусы
Мы
не станем рассматривать модель загрузочно-файлового
вируса, ибо никакой новой информации
вы при этом не узнаете. Но здесь представляется
удобный случай кратко обсудить крайне
«популярный» в последнее время загрузочно-файловый
вирус OneHalf, заражающий главный загрузочный
сектор (MBR) и исполняемые файлы. Основное
разрушительное действие - шифрование
секторов винчестера. При каждом запуске
вирус шифрует очередную порцию секторов,
а зашифровав половину жесткого диска,
радостно сообщает об этом. Основная проблема
при лечении данного вируса состоит в
том, что недостаточно просто удалить
вирус из MBR и файлов, надо расшифровать
зашифрованную им информацию. Наиболее
«смертельное» действие - просто переписать
новый здоровый MBR. Главное - не паникуйте.
Взвесьте все спокойно, посоветуйтесь
со специалистами.
3.4. Полиморфные
вирусы
Большинство вопросов связано с термином «полиморфный вирус». Этот вид компьютерных вирусов представляется на сегодняшний день наиболее опасным. Объясним же, что это такое.
Полиморфные вирусы - вирусы, модифицирующие свой код в зараженных программах таким образом, что два экземпляра одного и того же вируса могут не совпадать ни в одном бите.
Такие вирусы не только шифруют свой код, используя различные пути шифрования, но и содержат код генерации шифровщика и расшифровщика, что отличает их от обычных шифровальных вирусов, которые также могут шифровать участки своего кода, но имеют при этом постоянный код шифровальщика и расшифровщика.
Полиморфные
вирусы - это вирусы с самомодифицирующимися
расшифровщиками. Цель такого шифрования:
имея зараженный и оригинальный файлы
вы все равно не сможете проанализировать
его код с помощью обычного дизассемблирования.
Этот код зашифрован и представляет
собой бессмысленный набор команд. Расшифровка
производится самим вирусом уже непосредственно
во время выполнения. При этом возможны
варианты: он может расшифровать себя
всего сразу, а может выполнить такую расшифровку
«по ходу дела», может вновь шифровать
уже отработавшие участки. Все это делается
ради затруднения анализа кода вируса.
4.
ПУТИ ПРОНИКНОВЕНИЯ ВИРУСОВ В
КОМПЬЮТЕР И МЕХАНИЗМ РАСПРЕДЕЛЕНИЯ
ВИРУСНЫХ ПРОГРАММ
Основными путями проникновения вирусов в компьютер являются съемные диски (гибкие и лазерные), а также компьютерные сети. Заражение жесткого диска вирусами может произойти при загрузке программы с дискеты, содержащей вирус. Такое заражение может быть и случайным, например, если дискету не вынули из дисковода и перезагрузили компьютер, при этом дискета может быть и не системной. Заразить дискету гораздо проще. На нее вирус может попасть, даже если дискету просто вставили в дисковод зараженного компьютера и, например, прочитали ее оглавление.
Вирус, как правило, внедряется в рабочую программу таким образом, чтобы при ее запуске управление сначала передалось ему и только после выполнения всех его команд снова вернулось к рабочей программе. Получив доступ к управлению, вирус, прежде всего, переписывает сам себя в другую рабочую программу и заражает ее. После запуска программы, содержащей вирус, становится возможным заражение других файлов. Наиболее часто вирусом заражаются загрузочный сектор диска и исполняемые файлы, имеющие расширения EXE, COM, SYS, BAT. Крайне редко заражаются текстовые файлы.
После заражения программы вирус может выполнить какую-нибудь диверсию, не слишком серьезную, чтобы не привлечь внимания. И, наконец, не забывает возвратить управление той программе, из которой был запущен. Каждое выполнение зараженной программы переносит вирус в следующую. Таким образом, заразится все программное обеспечение.
Для
иллюстрации процесса заражения компьютерной
программы вирусом имеет смысл уподобить
дисковую память старомодному архиву
с папками на тесьме. В папках расположены
программы, а последовательность операций
по внедрению вируса будет в этом случае
выглядеть следующим образом.
5. ПРИЗНАКИ
ПОЯВЛЕНИЯ ВИРУСОВ
При заражении компьютера вирусом важно его обнаружить. Для этого следует знать об основных признаках проявления вирусов. К ним можно отнести следующие:
Следует отметить,
что вышеперечисленные явления необязательно
вызываются присутствием вируса, а могут
быть следствием других причин. Поэтому
всегда затруднена правильная диагностика
состояния компьютера.
6. ОБНАРУЖЕНИЕ
ВИРУСОВ И МЕРЫ ПО
ЗАЩИТЕ И ПРОФИЛАКТИКЕ
Итак, некий вирусописатель создает вирус и запускает его в «жизнь». Некоторое время он, возможно, погуляет вволю, но рано или поздно «лафа» закончится. Кто-то заподозрит что-нибудь неладное. Как правило, вирусы обнаруживают обычные пользователи, которые замечают те или иные аномалии в поведении компьютера. Они, в большинстве случаев, не способны самостоятельно справиться с заразой, но этого от них и не требуется.
Необходимо лишь, чтобы как можно скорее вирус попал в руки специалистов. Профессионалы будут его изучать, выяснять, «что он делает», «как он делает», «когда он делает» и пр. В процессе такой работы собирается вся необходимая информация о данном вирусе, в частности, выделяется сигнатура вируса - последовательность байтов, которая вполне определенно его характеризует. Для построения сигнатуры обычно берутся наиболее важные и характерные участки кода вируса. Одновременно становятся ясны механизмы работы вируса, например, в случае загрузочного вируса важно знать, где он прячет свой хвост, где находится оригинальный загрузочный сектор, а в случае файлового - способ заражения файла. Полученная информация позволяет выяснить:
Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют обнаруживать и уничтожать вирусы. Такие программы называются антивирусными. Различают следующие виды антивирусных программ:
Программы-детекторы осуществляют поиск характерной для конкретного вируса сигнатуры в оперативной памяти и в файлах и при обнаружении выдают соответствующее сообщение. Недостатком таких антивирусных программ является то, что они могут находить только те вирусы, которые известны разработчикам таких программ.
Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и «лечат» их, т.е. удаляют из файла тело программы-вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к «лечению» файлов. Среди фагов выделяют полифаги, т.е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известные из них: Aidstest, Scan, Norton AntiVirus, Doctor Web.
Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление версий.
Программы-ревизоры относятся к самым надежным средствам защиты от вирусов. Ревизоры запоминают исходное состояние программ, каталогов и системных областей диска тогда, когда компьютер не заражен вирусом, а затем периодически или по желанию пользователя сравнивают текущее состояние с исходным. Обнаруженные изменения выводятся на экран монитора. Как правило, сравнение состояний производят сразу после загрузки операционной системы. При сравнении проверяются длина файла, код циклического контроля (контрольная сумма файла), дата и время модификации, другие параметры. Программы-ревизоры имеют достаточно развитые алгоритмы, обнаруживают стелс-вирусы и могут даже очистить изменения версии проверяемой программы от изменений, внесенных вирусом. К числу программ-ревизоров относится широко распространенная в России программа Adinf.
Информация о работе История развития компьютерной вирусологии