- •Глава 1 Все о нем и немного о.
- •1.1. Феномен компьютерных вирусов
- •1.2. Что такое компьютерный вирус
- •1.2.1. Объяснение для домохозяйки
- •1.2.2. Попытка дать "нормальное" определение
- •Обязательное (необходимое) свойство компьютерного вируса —
- •1.3. Кто и почему пишет вирусы?
- •1.4. История компьютерных вирусов — от древности до наших дней
- •1.4.1. Самое начало. Немного археологии
- •1.4.2. Начало пути
- •1.4.3. Полиморфизм — мутация вирусов
- •1.4.4. Автоматизация производства и конструкторы вирусов
- •1.4.5. За пределы dos
- •1.4.6. Эпидемия макровируса
- •1.4.7. Хронология событий
- •1.5. Перспективы: что будет завтра и послезавтра
- •Глава 2. Классификация компьютерных вирусов
- •2.1. Файловые вирусы
- •2.1.1. Overwriting-вирусы
- •2.1.2. Parasitic-вирусы
- •2.1.3. Companion-вирусы
- •2.1.4. Link-вирусы
- •2.1.5. Файловые черви
- •2.1.7. Алгоритм работы файлового вируса
- •2.1.8. Особые случаи
- •2. 2. Загрузочные вирусы
- •2.3 Макровирусы
- •2.3.1. Word-, Excel-, Office 97-вирусы
- •2.3.2. Алгоритм работы Word-макровирусов
- •2.3.3. Алгоритм работы Excel-макровирусов
- •2.3.4. AmiPro-вирусы
- •2.4. Сетевые вирусы
- •2.5. Прочие вредные программы
- •2.5.1. "Троянские кони" (логические бомбы)
- •2.5.2. Intended-вирусы
- •2.5.3. Конструкторы вирусов
- •2.5.4. Полиморфные генераторы
- •2.6. Резидентные вирусы
- •2.6.2. Загрузочные вирусы
- •2.6.3. Windows-вирусы
- •2.6.4. Макровирусы
- •2.7. "Стелс"-вирусы
- •2.7.1. Загрузочные вирусы
- •2.7.2. Файловые вирусы
- •2.7.3. Макровирусы
- •2.8. Полиморфик-вирусы
- •2.8.1. Полиморфные расшифровщики
- •2.8.2. Уровни полиморфизма
- •2.8.3. Изменение выполняемого кода
- •Глава 3 Методы обнаружения и удаления компьютерных вирусов
- •3.1 Профилактика заражения компьютера
- •3.2. Откуда берутся вирусы
- •3.2.1. Глобальные сети — электронная почта
- •3.2.2. Электронные конференции, файл-серверы ftp и bbs
- •3.2.3. Локальные сети
- •3.2.4. Пиратское программное обеспечение
- •3.2.5. Персональные компьютеры общего пользования
- •3.2.6. Ремонтные службы
- •3.3. Основные правила защиты
- •3.4.2. Типы антивирусов
- •3.4.3. Антивирусные программы, наиболее известные в России
- •Virusafe
- •3.4.4. Методика использования антивирусных программ
- •3.5. Обнаружение неизвестного вируса
- •3.6. Обнаружение загрузочного вируса
- •3.7. Обнаружение файлового вируса
- •3.8. Обнаружение макровируса
- •3.9. Обнаружение резидентного вируса
- •3.9.2. Windows-вирусы
- •3.10. Анализ алгоритма вируса
- •3.11. Восстановление пораженных объектов
- •3.11.1. Восстановление файлов-документов и таблиц
- •3.11.2. Восстановление загрузочных секторов
- •3.11.3. Восстановление файлов
- •3.11.4. Дезактивация оперативной памяти
- •Глава 4. Описание вирусов
- •4.1 Файловые вирусы
3.11.3. Восстановление файлов
В подавляющем большинстве случаев восстановление зараженных файлов является достаточно сложной процедурой, которую невозможно произвести "руками" без необходимых знаний — форматов выполняемых файлов, языка Ассемблера и т. д. К тому же обычно зараженными на диске оказываются сразу несколько десятков или сотен файлов и для их обезвреживания необходимо разработать собственную программу-антивирус (можно также воспользоваться возможностями редактора антивирусных баз из комплекта AVP версий 2.х).
При лечении файлов следует учитывать следующие правила:
— необходимо протестировать и вылечить все выполняемые файлы (СОМ, ЕХЕ, SYS, оверлеи) во всех каталогах всех дисков вне зависимости от атрибутов файлов (т. е. файлы read-only, системные и скрытые);
— желательно сохранить неизменными атрибуты и дату последней модификации файла;
— необходимо учесть возможность многократного поражения файла вирусом ("бутерброд" из вирусов).
Само лечение файла производится в большинстве случаев одним из нескольких стандартных способов, зависящих от алгоритма размножения вируса. В большинстве случаев это сводится к восстановлению заголовка файла и уменьшению его длины.
3.11.4. Дезактивация оперативной памяти
Процедура дезактивации памяти, как и лечение зараженных файлов, требует некоторых знаний об операционной системе и обязательного знания языка Ассемблер.
При лечении оперативной памяти следует обнаружить коды вируса и изменить их таким образом, чтобы вирус в дальнейшем не мешал работе антивирусной программы, — "отключить" подпрограммы заражения и "стеле". Для этого требуется полный анализ кода вируса, так как процедуры заражения и "стеле" могут располагаться в различных участках вируса, дублировать друг друга и получать управление при различных условиях.
В большинстве случаев для дезактивации памяти достаточно "обрубить" прерывания, перехватываемые вирусом: INT 21h — в случае файловых вирусов и INT 13h — в случае загрузочных (существуют, конечно, вирусы, перехватывающие другие прерывания или несколько прерываний). Например, если вирус заражает файлы при их открытии, то это может выглядеть примерно так:
При дезактивации TSR-копии вируса необходимо помнить, что вирус может предпринимать специальные меры для восстановления своих кодов (например, некоторые вирусы семейства Yankee восстанавливают их при помощи методов помехозащищенного кодирования), и в этом случае придется нейтрализовать и механизм самовосстановления вируса. Некоторые вирусы, кроме того, подсчитывают CRC своей резидентной копии и перезагружают компьютер или стирают сектора диска, если CRC не совпадает с оригинальным значением. В этом случае необходимо "обезвредить" также и процедуру подсчета CRC.
Мы и обернуться не успеем, а уже навалят больше прежнего...
А. и Б. Стругацкие. Град обреченный
Глава 4. Описание вирусов
Ниже приводятся результаты анализа алгоритма работы наиболее интересных и широко распространенных в России и странах бывшего СССР вирусов. Будут описаны вирусы, которые используют необычные методы заражения системы или проявляют себя в системе каким-либо экстраординарным способом.
Описания вирусов содержат строки, выводимые вирусами на экран компьютера или принтер. Некоторые из них имеют грамматические и/или стилистические ошибки, используют ненормативную лексику, жаргон и т. д. Для того чтобы каждый раз не заострять на этом внимание, следует отметить, что все сообщения приводятся в редакции их авторов.
В предлагаемый материал включены и некоторые из так называемых hoaxes — широко распространенных легенд про вирусы, которые на самом деле никогда не существовали. К ним относятся "сетевой вирус" GoodTime, строка "Choleepa" во втором секторе винчестера, "страшный вирус Time" и т. д.
Следует также отметить, что эта книга содержит примерно десятую часть от общего числа вирусов, описанных в электронной "Энциклопедии вирусов AVP". Остальные опущены по двум причинам: полный набор описаний всех известных вирусов чересчур велик для однотомного печатного издания, да и вряд ли покажется действительно интересным читателю. По тем же причинам не включен и каталог с основными краткими характеристиками всех вирусов, известных на сегодняшний день.
Тем, кто желает ознакомиться с полным каталогом или описаниями вирусов, не приведенных ниже, рекомендую воспользоваться "Энциклопедией вирусов AVP", которая распространяется бесплатно через станции BBS и WWW, или обратиться к ней в режиме on-line на Web-станции AVP: http://www.avp.ru.
Для того чтобы постоянно быть в курсе самых свежих новостей о компьютерных вирусах, рекомендую подписаться на Fido-конференцию AVP.SUPPORT или регулярно заглядывать на Web-сервер AVP.