Вирусы (работа 3)
Вирусы на ПК.
Введение.
20-е столетие, несомненно, является одним из поворотных этапов в жизни
человечества. Как сказал один из писателей-фантастов, “человечество понеслось
вперед, как подстегнутая лошадь”, и, определив себя как технократическую
цивилизацию, все свои силы наши деды, отцы и мы сами бросили на развитие техники
в самых разных ее обличиях - от медицинских приборов до космических аппаратов,
от сельскохозяйственных комбайнов до атомных электростанций, от транспорта до
систем связи, - список бесконечен, поскольку крайне сложно привести область
деятельности человечества, не затронутую развитием техники. Что являлось
причиной столь широкомасштабного и стремительного развития - военное
противостояние политических систем, эволюционное “поумнение” человека или его
патологическая лень (изобрести колесо, дабы не таскать мамонта на плечах) - пока
неясно. Оставим эту загадку для историков последующих столетий.
Человечество захвачено техникой и уже вряд ли откажется от удобств,
предоставляемых ею (мало кто пожелает поменять современный автомобиль на гужевую
тягу). Уже очень многими напрочь забыта обычная почта с ее конвертами и
почтальонами - вместо нее пришла электронная почта с ее ошеломляющей скоростью
доставки (до нескольких минут вне зависимости от расстояния) и очень высокой
надежностью. Не представляю себе существования современного общества без
компьютера, способного многократно повысить производительность труда и доставить
любую мыслимую информацию (что-то вроде принципа “пойди туда, не знаю куда,
найди то, не знаю что”). Уже не удивляемся мобильному телефону на улице - я и
сам к нему привык всего за один день.
20-е столетие также является одним из самых противоречивых, принесших истории
человечества немало парадоксов, основной из которых, как мне кажется, является
отношение человека к природе. Перестав жить в дружбе с природой, победив ее и
доказав себе, что легко может ее уничтожить, человек вдруг понял, что погибнет и
сам, - и поменялись роли в драме ”Человек-Природа”. Раньше человек защищал себя
от природы, теперь же он все больше и больше защищает природу от самого себя.
Другим феноменом 20-го века является отношение человека к религии. Став
технократом, человек не перестал верить в Бога (или его аналогов). Более того,
появились и окрепли другие религии.
К основным техническим феноменам 20-го века относятся, на мой взгляд, появление
человека в космосе, утилизация атомной энергии вещества, грандиозный прогресс
систем связи и передачи информации и, конечно же, ошеломляющее развитие микро- и
макро-компьютеров. И как скоро появляется упоминание о феномене компьютеров, так
тут же возникает еще один феномен конца нашего столетия - феномен компьютерных
вирусов.
Быть может, многим покажется смешным или легкомысленным то, что факт
возникновения компьютерных вирусов поставлен в один ряд с исследованиями
космоса, атомного ядра и развитием электроники. Возможно, что я не прав в своих
рассуждениях, однако дайте возможность объясниться.
Во-первых, компьютерные вирусы - это серьезная и довольно заметная проблема,
возникновения которой никто не ожидал. Даже всевидящие фантасты-футурологи
прошлого не говорят об этом ничего (насколько это мне известно). В их
многочисленных произведениях с той или иной точностью предсказаны практически
все технические достижения настоящего (вспомним, например, Уэллса с его идеей
полета из пушки на Луну и марсиан, вооруженных неким подобием лазера). Если же
говорить о вычислительных машинах, то тема эта вылизана донельзя - однако нет ни
одного пророчества, посвященного компьютерным вирусам. Тема вируса в
произведениях писателей появилась уже после того, как первый реальный вирус
поразил свой первый компьютер.
Во-вторых, компьютерные вирусы - это первая вполне удачная попытка создать
жизнь. Попытка удачная, но нельзя сказать, что полезная - современные
компьютерные “микроорганизмы” более всего напоминают насекомых-вредителей,
приносящих только проблемы и неприятности.
Но все таки - жизнь, поскольку компьютерным вирусам присущи все атрибуты живого
- способность к размножению, приспособляемости к среде, движению и т.д.
(естественно, только в пределах компьютеров - так же как все вышесказанное верно
для биологических вирусов в пределах клеток организма). Более того, существуют
“двуполые” вирусы (см. вирус RMNS), а примером “многоклеточности” могут служить,
например, макро-вирусы, состоящие из нескольких независимых макросов.
И, в-третьих, тема вирусов стоит несколько особняком от всех остальных задач,
решаемых при помощи компьютера (забудем о таких специфичных задачах, как взлом
защиты от копирования и криптографию). Практически все проблемы, решаемые при
помощи вычислительной техники, являются продолжением целенаправленной борьбы
человека с окружающей его природой. Природа ставит человеку длинное нелинейное
дифференциальное уравнение в трехмерном пространстве - человек набивает
компьютер процессорами, памятью, обвешивает пыльными проводами, много курит и в
итоге решает это уравнение (или пребывает в состоянии уверенности, что решил).
Природа дает человеку кусок провода с вполне определенными характеристиками -
человек придумывает алгоритмы передачи как можно большего объема информации по
этому проводу, терзает его модуляциями, сжимает байты в биты и терпеливо ждет
сверхпроводимости при комнатной температуре. Природа (в лице фирмы IBM) дает
человеку очередное ограничение в виде очередной версии IBM PC - и человек не
спит ночами, опять много курит, оптимизируя коды очередной базы данных, дабы
уместить ее в предоставленные ему ресурсы оперативной и дисковой памяти. И так
далее.
А вот борьба с компьютерными вирусами является борьбой человека с человеческим
же разумом (в некотором смысле тоже проявлением природных сил, хотя на этот счет
имеется более одного мнения). Эта борьба является борьбой умов, поскольку
задачи, стоящие перед вирусологами, ставят такие же люди. Они придумывают новый
вирус - а вирусологам с ним разбираться. Затем они придумывают вирус, в котором
разобраться очень тяжело - но и с ним разбираются. И сейчас наверняка где-то
сидит за компьютером парень, страдающий над очередным монстром, в котором
вирусологам придется разбираться целую неделю, а потом еще одну неделю
отлаживать алгоритм антивируса. Кстати, чем не эволюция живых организмов?
Итак, появление компьютерных вирусов - один из наиболее интересных моментов в
истории технического прогресса 20-го века, и настал момент закончить с
околофилософскими рассуждениями и перейти к конкретным вопросам. И вопрос об
определении понятия “компьютерный вирус” будет стоять на первом месте.
Так что-же такое компьютерные вирусы и как с ними бороться?
На эту тему написаны десятки книг и сотни статей, борьбой с компьютерными
вирусами профессионально занимаются сотни (или тысячи) специалистов в десятках
(а может быть, сотнях) компаний. Казалось бы, тема эта не настолько сложна и
актуальна, чтобы быть объектом такого пристального внимания. Однако это не так.
Компьютерные вирусы были и остаются одной из наиболее распространенных причин
потери информации. Известны случаи, когда вирусы блокировали работу организаций
и предприятий. Более того, несколько лет назад был зафиксирован случай, когда
компьютерный вирус стал причиной гибели человека - в одном из госпиталей
Нидерландов пациент получил летальную дозу морфия по той причине, что компьютер
был заражен вирусом и выдавал неверную информацию.
Несмотря на огромные усилия конкурирующих между собой антивирусных фирм, убытки,
приносимые компьютерными вирусами, не падают и достигают астрономических величин
в сотни миллионов долларов ежегодно. Эти оценки явно занижены, поскольку
известно становится лишь о части подобных инцидентов.
При этом следует иметь в виду, что антивирусные программы и “железо” не дают
полной гарантии защиты от вирусов. Примерно так же плохо обстоят дела на другой
стороне тандема “человек-компьютер”. Как пользователи, так и
профессионалы-программисты часто не имеют даже навыков “самообороны”, а их
представления о вирусе порой являются настолько поверхностными, что лучше бы их
(представлений) и не было.
Немногим лучше обстоят дела на Западе, где и литературы побольше (издается аж
три ежемесячных журнала, посвященных вирусам и защите от них), и вирусов
поменьше (поскольку “левые” китайские компакт-диски особо на рынок не
поступают), и антивирусные компании ведут себя активнее (проводя, например,
специальные конференции и семинары для специалистов и пользователей).
У нас же, к сожалению, все это не совсем так. И одним из наименее
”проработанных” пунктов является литература, посвященная проблемам борьбы с
вирусами. На сегодняшний день имеющаяся на прилавках магазинов печатная
продукция антивирусного толка либо давно устарела, либо написана
непрофессионалами, либо авторами типа Хижняка, что гораздо хуже.
Довольно неприятным моментом является также опережающая работа Российского
компьютерного “андеграунда”: только за два года было выпущено более десятка
электронных номеров журнала вирусописателей “Infected Voice”, появилось
несколько станций BBS и WWW-страниц, ориентированные на распространение вирусов
и сопутствующей информации.
1. История возникновения и развития компьютерных вирусов.
Считают, что идея создания компьютерных вирусов была придумана
писателем-фантастом Т. Дж. Райн, который в одной из своих книг, опубликованной в
США в 1977 г., описал эпидемию, за короткое время поразившую более 7000
компьютеров. Причиной эпидемии стал компьютерный вирус, который, передаваясь от
одного компьютера к другому, внедрялся в их операционные системы и выводил их
из-под контроля человека.
Ущерб, наносимый компьютерными вирусами, быстро возрастает, а их опасность для
таких жизненно важных систем, как оборона, транспорт, связь, поставила проблему
компьютерных вирусов в ряд тех, которые обычно находятся под пристальным
вниманием органов государственной безопасности.
Считается признанным, что в последние годы больше всего вирусов создавалось в
СССР, а затем в России и других странах СНГ. Но и в других странах, в том числе
в США, значителен урон, наносимый вирусами. В США борьба с вирусами ведется на
самом высоком уровне.
В Уголовном Кодексе России обозначена статья 273 за "Создание, использование и
распространение вредоносных программ для ЭВМ", которая гласит:
1. Создание программ для ЭВМ или внесение изменений в существующие программы,
заведомо приводящих к несанкционированному уничтожению, блокированию,
модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или
их сети а равно использование либо распространение таких программ или машинных
носителей с такими программами – наказываются лишением свободы на срок до 3 лет
со штрафом в размере от двухсот до пятисот минимальных размеров оплаты труда или
в размере заработной платы или иного дохода осужденного за период от двух до
пяти месяцев.
2. Те же деяния, повлекшие по неосторожности тяжкие последствия, - наказываются
лишением свободы на срок от трех до семи лет.
В США, вскоре после объявления в 1993 году Белым домом о подключении президента
Билла Клинтона и вице-президента Альберта Гора к сети Internet, администрация
поддержала идею проведения Национального дня борьбы с компьютерными вирусами.
Такой день отмечается теперь ежегодно. Национальной ассоциацией по компьютерной
защите США (NCSA) и компанией Dataquest опубликованы следующие данные по
результатам исследований вирусной проблемы:
- 63% опрошенных пострадали от компьютерных вирусов;
- предполагаемые потери американского бизнеса от компьютерных вирусов в 1999
году составят около 3 млрд. долларов;
- идентифицировано более 23000 компьютерных вирусов;
- каждый месяц появляется более 50 новых вирусов;
- в среднем от каждой вирусной атаки страдает 142 персональных компьютера: на ее
отражение в среднем уходит 2,4 дня;
- для компенсации ущерба в 114 случаев требовалось более 5 дней.
Начиная с конца 1990 г., появилась новая тенденция, получившая название
"экспоненциальный вирусный взрыв". Количество новых вирусов, обнаруживаемых в
месяц, стало исчисляться десятками, а в дальнейшем и сотнями. Поначалу
эпицентром этого взрыва была Болгария, затем он переместился в Россию. После
1994 г. темп роста вирусов пошел на убыль, хотя их общее количество продолжает
увеличиваться. Это связано с тем, что ОС MS D0S, которая и дает 99% существующих
компьютерных вирусов, постепенно сдает свои лидирующие позиции как операционная
система для персональных компьютеров, уступая их Windows, 0S\2, UNIX и т.п.
Кроме того, вирусы постоянно расширяют свою "среду обитания" и реализуют
принципиально новые алгоритмы внедрения и поведения. Так, в 1995 году появились
представители, опровергающие ключевые принципы антивирусной защиты – то, что
компьютер, загруженный с заведомо чистой системной дискеты, не может содержать
вирус; и то, что вирусы не заражают файлы с данными.
Первым появился вирус, который таким образом корректирует конфигурацию
компьютера, что при попытке загрузки с дискеты он все равно загружается с
зараженного жесткого диска, и вирус активизируется в системе.
Другой вирус, появившийся в середине августа 1995 г. в США и ряде стран Западной
Европы, использует возможность представления информации в виде конгломерата
данных и программ. Он заражает документы, подготовленные в системе MS Word for
Windows – файлы типа .DOC. Так как такие файлы ежедневно десятками тысяч
циркулируют в локальных и глобальных сетях, эта способность вируса обеспечила
его мгновенное распространение по всему свету в течение нескольких дней и 25
августа он был обнаружен в Москве. Вирус написан на макроязыке пакета Word. Он
переносит себя в область глобальных макросов, переопределяет макрос FileSaveAs и
копирует себя в каждый файл, сохраняемый с помощью команды Save As. При этом он
переводит файл из категории "документ" в категорию "шаблон", что делает,
невозможным его дальнейшее редактирование. Обнаружить наличие этого вируса можно
по появлению в файле winword6.ini строки ww6i=1.
Новым словом в вирусологии стал вирус под названием “Чернобыль” или WIN95.CIH.
Данный вирус в отличие от своих собратьев в зависимости от модификации мог
уничтожать MBR жесткого диска, таблицу размещения данных и не защищенную от
перезаписи Flash-память. Волна эпидемии этого вируса прокатилась по всему миру.
Громадный материальный ущерб был нанесен в Швеции. 26 апреля 1999 года
пострадало большое количество пользователей и в России.
Наиболее известен вызвавший всемирную сенсацию и привлекший внимание к вирусной
проблеме инцидент с вирусом-червем в глобальной сети Internet. Второго ноября
1988 года студент Корнелловского университета Роберт Моррис запустил на
компьютере Массачусетского технологического института программу-червь, которая
передавала свой код с машины на машину, используя ошибки в системе UNIX на
компьютерах VAX и Sun. В течение 6 часов были поражены 6000 компьютеров, в том
числе Станфордского университета, Массачусетского технологического института,
университета Беркли и многих других. Кроме того, были поражены компьютеры
Исследовательского института НАСА и Национальной лаборатории Лоуренса в
Ливерморе – объекты, на которых проводятся самые секретные стратегические
исследования и разработки. Червь представлял собой программу из 4000 строк на
языке "С" и входном языке командного интерпретатора системы UNIX. Следует
отметить, что вирус только распространялся по сети и не совершал каких-либо
разрушающих действий. Однако это стало ясно только на этапе анализа его кода, а
пока вирус распространялся, в вычислительных центрах царила настоящая паника.
Тысячи компьютеров были остановлены, ущерб составил многие миллионы долларов.
2. Классификация вирусов
Известные программные вирусы можно классифицировать по следующим признакам:
среде обитания;
способу заражения среды обитания;
воздействию;
особенностям алгоритма.
В зависимости от среды обитания вирусы можно разделить на:
сетевые;
файловые;
загрузочные;
файлово-загрузочные.
Сетевые вирусы распространяются по различным компьютерным сетям. К сетевым
относятся вирусы, которые для своего распространения активно используют
протоколы и возможности локальных и глобальных сетей. Основным принципом работы
сетевого вируса является возможность самостоятельно передать свой код на
удаленный сервер или рабочую станцию. “Полноценные” сетевые вирусы при этом
обладают еще и возможностью запустить на выполнение свой код на удаленном
компьютере или, по крайней мере, “подтолкнуть” пользователя к запуску
зараженного файла.
Бытует ошибочное мнение, что сетевым является любой вирус, распространяющийся в
компьютерной сети. Но в таком случае практически все вирусы были бы сетевыми,
даже наиболее примитивные из них: ведь самый обычный нерезидентный вирус при
заражении файлов не разбирается - сетевой (удаленный) это диск или локальный. В
результате такой вирус способен заражать файлы в пределах сети, но отнести его к
сетевым вирусам никак нельзя.
Наибольшую известность приобрели сетевые вирусы конца 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 исключает возможность запуска файла на
удаленнов сервере, этот вирус можно охарактеризовать как “полу-сетевой”, однако
это реальный пример возможностей вирусов по использованию современных сетевых
протоколов и поражению глобальных сетей.
Файловые вирусы внедряются главным образом в исполняемые модули, т. е. в файлы,
имеющие расширения COM и EXE. Они могут внедряться и в другие типы файлов, но,
как правило, записанные в таких файлах, они никогда не получают управление и,
следовательно, теряют способность к размножению. В отличие от загрузочных
вирусов, которые практически всегда резидентны, файловые вирусы не обязательно
резидентны. Областью обитания файловых вирусов являются файлы. Если файловый
вирус не резидентный, то при запуске инфицированного исполняемого файла вирус
записывает свой код в тело программного файла таким образом, что при запуске
программы вирус первым получает управление. Произведя некоторые действия, вирус
передает управление зараженной программе. При запуске вирус сканирует локальные
диски компьютера и сетевые каталоги в поисках нового объекта для заражения.
После того как подходящий программный файл будет найден, вирус записывает в него
свой код, чтобы получить управление при запуске этого файла.
Если файловый вирус резидентный, то он установится в память и получит
возможность заражать файлы и проявлять прочие способности не только во время
работы зараженного файла.
Относительно новой разновидностью файлового вируса является макрокомандный
вирус, распространяющийся с документами офисных приложений, таких как Microsoft
Word for Windows или Microsoft Excel for Windows.
Документы офисных приложений содержат в себе не только текст и графические
изображения, но и макрокоманды, которые представляют собой ничто иное, как
программы. Эти программы составляются на языке, напоминающем Бейсик. Вирус может
изменять существующие макрокоманды и добавлять новые, внедряя свое тело в файл
документа.
Механизм распространения макрокомандных вирусов основан на том, что существуют
макрокоманды, которые запускаются при открывании документа для редактирования
или при выполнении других операций. Разработчик макрокомандного вируса берет
файл с именем, например, readme.doc, и записывает в него одну или несколько
вирусных макрокоманд, например, вирусную макрокоманду с именем AutoExec. Когда
пользователь открывает такой файл при помощи текстового процессора Microsoft
Word for Windows, эта макрокоманда будет автоматически запущена на выполнение.
При этом вирус получит управление и может заразить другие документы, хранящиеся
на дисках. Если вирусная макрокоманда имеет имя FileSaveAs, то распространение
вируса будет происходить при сохранении документа.
Для предотвращения заражения макрокомандными вирусами необходимо перед
просмотром или редактированием проверять новые файлы документов с помощью
антивирусных программ, способных искать такие вирусы.
Загрузочные вирусы.
Вторая большая группа вирусов - это так называемые загрузочные вирусы.
Распространение и активизация этих вирусов происходит в момент загрузки
операционной системы, еще до того, как пользователь успел запустить какую-либо
антивирусную программу.
Сразу после включения электропитания компьютера начинает работать программа
инициализации, записанная в ПЗУ базовой системы ввода/вывода BIOS. Эта программа
проверяет оперативную память и другие устройства компьютера, а затем передает
управление программе начальной загрузки, которая также находится в BIOS.
Программа начальной загрузки пытается прочитать в оперативную память содержимое
самого первого сектора нулевой дорожки жесткого диска, в котором находится
главная загрузочная запись Master Boot Record (MBR), либо содержимое самого
первого сектора нулевой дорожки дискеты, вставленной в устройство A:. Этот
сектор содержит загрузочную запись Boot Record (BR).
Существует две возможности загрузить операционную систему - с жесткого диска или
с дискеты.
При загрузке с жесткого диска в память по фиксированному адресу читается
содержимое главной загрузочной записи. Эта запись представляет собой программу,
задачей которой является загрузка операционной системы с логического диска.
Загрузчик, расположенный в главной загрузочной записи MBR просматривает таблицу
разделов диска Partition Table, которая находится в том же секторе диска, что и
сама запись MBR. После того как в этой таблице будет найден раздел, отмеченный
как активный, выполняется чтение самого первого сектора этого раздела в
оперативную память, - сектора загрузочной записи BR. В этом секторе находится
еще один загрузчик.
Задачей загрузчика BR является считывание в оперативную память стартовых модулей
операционной системы и передача им управления. Способ загрузки зависит от
операционной системы, поэтому каждая операционная система имеет свой собственный
загрузчик BR.
Загрузка с дискеты происходит проще, так как формат дискеты в точности
соответствует формату логического диска. Самый первый сектор нулевой дорожки
дискеты содержит загрузочную запись BR, которая читается в память. После чтения
ей передается управление.
Дискеты могут быть системными и несистемными.
Системную дискету MS-DOS можно подготовить при помощи команды format, указав ей
параметр /s, либо при помощи команды sys. И в том, и в другом случае в первый
сектор нулевой дорожки дискеты записывается программа начальной загрузки MS-DOS.
Если же дискета была отформатирована командой format без параметра /s, она будет
несистемной. Тем не менее, в первый сектор нулевой дорожки дискеты все равно
записывается программа, единственным назначением которой является вывод
сообщения о необходимости вставить в НГМД системную дискету.
Данное обстоятельство - присутствие загрузочной записи на несистемной дискете -
играет важную роль при распространении загрузочных вирусов.
Загрузка операционной системы является многоступенчатым процессом, ход которого
зависит от разных обстоятельств. В этом процессе задействовано три программы,
которые служат объектом нападения загрузочных вирусов:
главная загрузочная запись;
загрузочная запись на логическом диске;
загрузочная запись на дискете.
Вирусы могут заменять некоторые или все перечисленные выше объекты, встраивая в
них свое тело и сохраняя содержимое оригинального загрузочного сектора в
каком-либо более или менее подходящем для этого месте на диске компьютера. В
результате при включении компьютера программа загрузки, расположенная в BIOS,
загружает в память вирусный код и передает ему управление. Дальнейшая загрузка
операционной системы происходит под контролем вируса, что затрудняет, а в
некоторых случаях и исключает его обнаружение антивирусными программами.
Загрузочные вирусы заражают загрузочный (boot) сектор флоппи-диска и boot-сектор
или Master Boot Record (MBR) винчестера. Принцип действия загрузочных вирусов
основан на алгоритмах запуска операционной системы при включении или
перезагрузке компьютера - после необходимых тестов установленного оборудования
(памяти, дисков и т.д.) программа системной загрузки считывает первый физический
сектор загрузочного диска (A:, C: или CD-ROM в зависимости от параметров,
установленных в BIOS Setup) и передает на него управление.
Файлово–загрузочные вирусы. Существует большое количество сочетаний - например,
файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные сектора
дисков. Такие вирусы, как правило, имеют довольно сложный алгоритм работы, часто
применяют оригинальные методы проникновения в систему, используют стелс и
полиморфик-технологии.
По способу заражения среды обитания вирусы делятся на две группы:
резидентные
нерезидентные.
Под термином "резидентность" (DOS'овский термин TSR - Terminate and Stay
Resident) понимается способность вирусов оставлять свои копии в системной
памяти, перехватывать некоторые события (например, обращения к файлам или
дискам) и вызывать при этом процедуры заражения обнаруженных объектов (файлов и
секторов). Таким образом, резидентные вирусы активны не только в момент работы
зараженной программы, но и после того, как программа закончила свою работу.
Резидентные копии таких вирусов остаются жизнеспособными вплоть до очередной
перезагрузки, даже если на диске уничтожены все зараженные файлы. Часто от таких
вирусов невозможно избавиться восстановлением всек копий файлов с дистрибутивных
дисков или backup-копий. Резидентная копия вируса остается активной и заражает
вновь создаваемые файлы. То же верно и для загрузочных вирусов — форматирование
диска при наличии в памяти резидентного вируса не всегда вылечивает диск,
поскольку многие резидентные вирусы заражает диск повторно после того, как он
отформатирован.
Нерезидентные вирусы, напротив, активны довольно непродолжительное время —
только в момент запуска зараженной программы. Для своего распространения они
ищут на диске незараженные файлы и записываются в них. После того, как код
вируса передает управление программе-носителю, влияние вируса на работу
операционной системы сводится к нулю вплоть до очередного запуска какой-либо
зараженной программы. Поэтому файлы, зараженные нерезидентными вирусами
значительно проще удалить с диска и при этом не позволить вирусу заразить их
повторно.
По степени воздействия вирусы можно разделить на следующие виды:неопасные, не
мешающие работе компьютера, но уменьшающие объем свободной оперативной памяти и
памяти на дисках, действия таких вирусов проявляются в каких-либо графических
или звуковых эффектахопасные вирусы, которые могут привести к различным
нарушениям в работе компьютера очень опасные, воздействие которых может привести
к потере программ, уничтожению данных, стиранию информации в системных областях
диска.
По особенностям алгоритма вирусы трудно классифицировать из-за большого
разнообразия. Простейшие вирусы - паразитические, они изменяют содержимое файлов
и секторов диска и могут быть достаточно легко обнаружены и уничтожены.
Вирусы-репликаторы, называемые червями, которые распространяются по компьютерным
сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои
копии. Вирусы-невидимки, называемые стелс-вирусами, которые очень трудно
обнаружить и обезвредить, так как они перехватывают обращения операционной
системы к пораженным файлам и секторам дисков и подставляют вместо своего тела
незараженные участки диска. Наиболее трудно обнаружить вирусы-мутанты
(полиморфные вирусы), содержащие алгоритмы шифровки-расшифровки, благодаря
которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки
байтов. Имеются и так называемые квазивирусные или “троянские” программы,
которые хотя и не способны к самораспространению, но очень опасны, так как,
маскируясь под полезную программу, разрушают загрузочный сектор и файловую
систему дисков.
Макровирусы.
Весьма оригинальный класс вирусов (хотя вирусами в полном смысле этого слова их
даже нельзя назвать), заражающий документы, в которых предусмотрено выполнение
макрокоманд. При открытии таких документов вначале исполняются макрокоманды
(специальные программы высокого уровня), содержащиеся в этом документе, -
макровирус как раз и представляет собой такую макрокоманду. Таким образом, как
только будет открыт зараженный документ, вирус получит управление и совершит все
вредные действия (в частности, найдет и заразит еще не зараженные документы).
Полиморфные вирусы.
Этот вид компьютерных вирусов представляется на сегодняшний день наиболее
опасным.
Полиморфные вирусы - вирусы, модифицирующие свой код в зараженных программах
таким образом, что два экземпляра одного и того же вируса могут не совпадать ни
в одном бите.
Такие вирусы не только шифруют свой код, используя различные пути шифрования, но
и содержат код генерации шифровщика и расшифровщика, что отличает их от обычных
шифровальных вирусов, которые также могут шифровать участки своего кода, но
имеют при этом постоянный код шифровальщика и расшифровщика.
Полиморфные вирусы - это вирусы с самомодифицирующимися расшифровщиками. Цель
такого шифрования: сделать невозможным проанализировать код вируса с помощью
обычного дизассемблирования, даже имея зараженный и оригинальный файлы. Этот код
зашифрован и представляет собой бессмысленный набор команд. Расшифровка
производится самим вирусом уже непосредственно во время выполнения. При этом
возможны варианты: он может расшифровать себя всего сразу, а может выполнить
такую расшифровку в ходе работы, может вновь шифровать уже отработавшие участки.
Все это делается ради затруднения анализа кода вируса.
Стелс-вирусы.
В ходе проверки компьютера антивирусные программы считывают данные - файлы и
системные области с жестких дисков и дискет, пользуясь средствами операционной
системы и базовой системы ввода/вывода BIOS. Ряд вирусов, после запуска
оставляют в оперативной памяти компьютера специальные модули, перехватывающие
обращение программ к дисковой подсистеме компьютера. Если такой модуль
обнаруживает, что программа пытается прочитать зараженный файл или системную
область диска, он на ходу подменяет читаемые данные, как будто вируса на диске
нет.
Стелс-вирусы обманывают антивирусные программы и в результате остаются
незамеченными. Тем не менее, существует простой способ отключить механизм
маскировки стелс-вирусов. Достаточно загрузить компьютер с не зараженной
системной дискеты и сразу, не запуская других программ с диска компьютера
(которые также могут оказаться зараженными), проверить компьютер антивирусной
программой.
При загрузке с системной дискеты вирус не может получить управление и установить
в оперативной памяти резидентный модуль, реализующий стелс-механизм.
Антивирусная программа сможет прочитать информацию, действительно записанную на
диске, и легко обнаружит вирус.
Системная дискета для антивирусного контроля должна быть подготовлена заранее.
Кроме системных файлов, на нее следует записать антивирусные программы.
Вирусы-призраки.
Вирусы-призраки маскируются с помощью другого механизма. Эти вирусы постоянно
модифицируют себя таким образом, что не содержат одинаковых фрагментов. Такие
вирусы хранят свое тело в закодированном виде и постоянно меняют параметры этой
кодировки. Стартовая же часть, занимающаяся декодированием непосредственно
самого тела, может генерироваться весьма сложным способом. При переносе вируса
данного типа с компьютера на компьютер код вируса изменяется таким образом, что
уже не имеет ничего общего со своим предыдущим вариантом. А часть вирусов может
самомодифицироваться и в пределах одного компьютера. Обнаружение таких вирусов
весьма затруднено, хотя часть антивирусных программ пытается находить их по
участкам кода, характерным для стартовой части.
Компаньон – вирусы.
Компаньон - вирусы (companion) - это вирусы, не изменяющие файлы. Алгоритм
работы этих вирусов состоит в том, что они создают для EXE-файлов
файлы-спутники, имеющие то же самое имя, но с расширением .COM, например, для
файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в COM-файл и никак
не изменяет EXE-файл. При запуске такого файла DOS первым обнаружит и выполнит
COM-файл, т.е. вирус, который затем запустит и EXE-файл.
Вирусы-“черви”.
Вирусы –“черви” (worm) - вирусы, которые распространяются в компьютерной сети и,
так же как и компаньон - вирусы, не изменяют файлы или сектора на дисках. Они
проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса
других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда
создают рабочие файлы на дисках системы, но могут вообще не обращаться к
ресурсам компьютера (за исключением оперативной памяти). К счастью, в
вычислительных сетях IBM-компьютеров такие вирусы пока не завелись.
Студенческие вирусы.
Студенческие вирусы являются самыми примитивными и элементарными, потому что эти
вирусы пишутся ради забавы или от нечего делать студентами, которые только что
научились их писать и решили попробовать свои силы. Но также есть исключения,
например такой вирус как “Чернобыль” написан самым обычным студентом. Но такие
исключения очень редки.
Троянские кони, программные закладки и сетевые черви.
Троянский конь – это программа, содержащая в себе некоторую разрушающую функцию,
которая активизируется при наступлении некоторого условия срабатывания. Обычно
такие программы маскируются под какие-нибудь полезные утилиты. Вирусы могут
нести в себе троянских коней или "троянизировать" другие программы – вносить в
них разрушающие функции.
“Троянские кони” представляют собой программы, реализующие помимо функций,
описанных в документации, и некоторые другие функции, связанные с нарушением
безопасности и деструктивными действиями. Отмечены случаи создания таких
программ с целью облегчения распространения вирусов. Списки таких программ
широко публикуются в зарубежной печати. Обычно они маскируются под игровые или
развлекательные программы и наносят вред под красивые картинки или музыку.
Программные закладки также содержат некоторую функцию, наносящую ущерб ВС, но
эта функция, наоборот, старается быть как можно незаметнее, т.к. чем дольше
программа не будет вызывать подозрений, тем дольше закладка сможет работать.
В качестве примера приведем возможные деструктивные функции, реализуемые
“троянскими конями” и программными закладками:
1. Уничтожение информации. Конкретный выбор объектов и способов уничтожения
зависит только от фантазии автора такой программы и возможностей ОС. Эта функция
является общей для троянских коней и закладок.
2. Перехват и передача информации. В качестве примера можно привести реализацию
закладки для выделения паролей, набираемых на клавиатуре.
3. Целенаправленная модификация кода программы, интересующей нарушителя. Как
правило, это программы, реализующие функции безопасности и защиты.
Если вирусы и “троянские кони” наносят ущерб посредством лавинообразного
саморазмножения или явного разрушения, то основная функция вирусов типа “червь”,
действующих в компьютерных сетях, – взлом атакуемой системы, т.е. преодоление
защиты с целью нарушения безопасности и целостности.
В более 80% компьютерных преступлений, расследуемых ФБР, "взломщики" проникают в
атакуемую систему через глобальную сеть Internet. Когда такая попытка удается,
будущее компании, на создание которой ушли годы, может быть поставлено под
угрозу за какие-то секунды.
Этот процесс может быть автоматизирован с помощью вируса, называемого сетевой
червь.
Червями называют вирусы, которые распространяются по глобальным сетям, поражая
целые системы, а не отдельные программы. Это самый опасный вид вирусов, так как
объектами нападения в этом случае становятся информационные системы
государственного масштаба. С появлением глобальной сети Internet этот вид
нарушения безопасности представляет наибольшую угрозу, т. к. ему в любой момент
может подвергнуться любой из 40 миллионов компьютеров, подключенных к этой сети.
Признаки появления вирусов.
При заражении компьютера вирусом важно его обнаружить. Для этого следует знать
об основных признаках проявления вирусов. К ним можно отнести следующие:
прекращение работы или неправильная работа ранее успешно функционировавших
программ;
медленная работа компьютера;
невозможность загрузки операционной системы;
исчезновение файлов и каталогов или искажение их содержимого;
изменение даты и времени модификации файлов;
изменение размеров файлов;
неожиданное значительное увеличение количества файлов на диске;
существенное уменьшение размера свободной оперативной памяти;
вывод на экран непредусмотренных сообщений или изображений;
подача непредусмотренных звуковых сигналов;
частые зависания и сбои в работе компьютера.
Следует отметить, что вышеперечисленные явления необязательно вызываются
присутствием вируса, а могут быть следствием других причин. Поэтому всегда
затруднена правильная диагностика состояния компьютера.
3. Антивирусные программы.
Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько
видов специальных программ, которые позволяют обнаруживать и уничтожать вирусы.
Такие программы называются антивирусными. Различают следующие виды антивирусных
программ:
программы-детекторы;
программы-доктора или фаги;
программы-ревизоры;
программы-фильтры;
программы-вакцины или иммунизаторы.
Программы-детекторы осуществляют поиск характерной для конкретного вируса
сигнатуры в оперативной памяти и в файлах и при обнаружении выдают
соответствующее сообщение. Недостатком таких антивирусных программ является то,
что они могут находить только те вирусы, которые известны разработчикам таких
программ.
Программы-доктора или фаги, а также программы-вакцины не только находят
зараженные вирусами файлы, но и “лечат” их, т.е. удаляют из файла тело
программы-вируса, возвращая файлы в исходное состояние. В начале своей работы
фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к
“лечению” файлов. Среди фагов выделяют полифаги, т.е. программы-доктора,
предназначенные для поиска и уничтожения большого количества вирусов. Наиболее
известные из них: AVP, Aidstest, Scan, Norton AntiVirus, Doctor Web.
Учитывая, что постоянно появляются новые вирусы, программы-детекторы и
программы-доктора быстро устаревают, и требуется регулярное обновление версий.
Программы-ревизоры относятся к самым надежным средствам защиты от вирусов.
Ревизоры запоминают исходное состояние программ, каталогов и системных областей
диска тогда, когда компьютер не заражен вирусом, а затем периодически или по
желанию пользователя сравнивают текущее состояние с исходным. Обнаруженные
изменения выводятся на экран монитора. Как правило, сравнение состояний
производят сразу после загрузки операционной системы. При сравнении проверяются
длина файла, код циклического контроля (контрольная сумма файла), дата и время
модификации, другие параметры. Программы-ревизоры имеют достаточно развитые
алгоритмы, обнаруживают стелс-вирусы и могут даже очистить изменения версии
проверяемой программы от изменений, внесенных вирусом. К числу
программ-ревизоров относится широко распространенная в России программа Adinf.
Программы-фильтры или “сторожа” представляют собой небольшие резидентные
программы, предназначенные для обнаружения подозрительных действий при работе
компьютера, характерных для вирусов. Такими действиями могут являться:
попытки коррекции файлов с расширениями COM, EXE;
изменение атрибутов файла;
прямая запись на диск по абсолютному адресу;
запись в загрузочные сектора диска;
загрузка резидентной программы.
При попытке какой-либо программы произвести указанные действия “сторож” посылает
пользователю сообщение и предлагает запретить или разрешить соответствующее
действие. Программы-фильтры весьма полезны, так как способны обнаружить вирус на
самой ранней стадии его существования до размножения. Однако, они не “лечат”
файлы и диски. Для уничтожения вирусов требуется применить другие программы,
например фаги.
Вакцины или иммунизаторы - это резидентные программы, предотвращающие заражение
файлов. Вакцины применяют, если отсутствуют программы-доктора, “лечащие” этот
вирус. Вакцинация возможна только от известных вирусов. Вакцина модифицирует
программу или диск таким образом, чтобы это не отражалось на их работе, а вирус
будет воспринимать их зараженными и поэтому не внедрится. В настоящее время
программы-вакцины имеют ограниченное применение.
Своевременное обнаружение зараженных вирусами файлов и дисков, полное
уничтожение обнаруженных вирусов на каждом компьютере позволяют избежать
распространения вирусной эпидемии на другие компьютеры.
Главным оружием в борьбе с вирусами являются антивирусные программы. Они
позволяют не только обнаружить вирусы, в том числе вирусы, использующие
различные методы маскировки, но и удалить их из компьютера. Последняя операция
может быть достаточно сложной и занять некоторое время.
Существует несколько основополагающих методов поиска вирусов, которые
применяются антивирусными программами:
Сканирование;
Эвристический анализ;
Обнаружение изменений;
Резидентные мониторы.
Антивирусные программы могут реализовывать все перечисленные выше методики, либо
только некоторые из них.
3.1. Сканирование.
Сканирование является наиболее традиционным методом поиска вирусов. Оно
заключается в поиске сигнатур, выделенных из ранее обнаруженных вирусов.
Антивирусные программы-сканеры, способные удалить обнаруженные вирусы, обычно
называются полифагами.
Недостатком простых сканеров является их неспособность обнаружить полиморфные
вирусы, полностью меняющие свой код. Для этого необходимо использовать более
сложные алгоритмы поиска, включающие эвристический анализ проверяемых программ.
Кроме того, сканеры могут обнаружить только уже известные и предварительно
изученные вирусы, для которых была определена сигнатура. Поэтому
программы-сканеры не защитят ваш компьютер от проникновения новых вирусов,
которых, кстати, появляется по несколько штук в день. Как результат, сканеры
устаревают уже в момент выхода новой версии.
3.2. Эвристический анализ.
Эвристический анализ зачастую используется совместно со сканированием для поиска
шифрующихся и полиморфных вирусов. В большинстве случаев эвристический анализ
позволяет также обнаруживать и ранее неизвестные вирусы. В этом случае, скорее
всего их лечение будет невозможно.
Если эвристический анализатор сообщает, что файл или загрузочный сектор,
возможно, заражен вирусом, вы должны отнестись к этому с большим вниманием.
Необходимо дополнительно проверить такие файлы с помощью самых последних версий
антивирусных программ сканеров или передать их для исследования авторам
антивирусных программ.
3.3. Обнаружение изменений.
Заражая компьютер, вирус делает изменения на жестком диске: дописывает свой код
в заражаемый файл, изменяет системные области диска и т. д. На обнаружении таких
изменений основываются работа антивирусных программ-ревизоров.
Антивирусные программы-ревизоры запоминают характеристики всех областей диска,
которые могут подвергнутся нападению вируса, а затем периодически проверяют их.
В случае обнаружения изменений, выдается сообщение о том, что возможно на
компьютер напал вирус.
Следует учитывать, что не все изменения вызваны вторжением вирусов. Так,
загрузочная запись может изменится при обновлении версии операционной системы, а
некоторые программы записывают внутри своего выполнимого файла данные.
3.4. Резидентные мониторы.
Антивирусные программы, постоянно находящиеся в оперативной памяти компьютера и
отслеживающие все подозрительные действия, выполняемые другими программами,
носят название резидентных мониторов или сторожей. К сожалению, резидентные
мониторы имеют очень много недостатков, которые делают этот класс программ
малопригодными для использования. Они раздражают пользователей большим
количеством сообщений, по большей части не имеющим отношения к вирусному
заражению, в результате чего их отключают.
4. Основные меры по защите от вирусов.
Для того, чтобы не подвергнуть компьютер заражению вирусами и обеспечить
надежное хранение информации на дисках, необходимо соблюдать следующие правила:
оснастить компьютер современными антивирусными программами, например AVP,
Aidstest, Doctor Web, и постоянно обновлять их версии;
перед считыванием с дискет информации, записанной на других компьютерах,
всегда проверять эти дискеты на наличие вирусов, запуская антивирусные
программы;
при переносе на компьютер файлов в архивированном виде проверять их сразу же
после разархивации на жестком диске, ограничивая область проверки только вновь
записанными файлами;
периодически проверять на наличие вирусов жесткие диски компьютера, запуская
антивирусные программыдля тестирования файлов, памяти и системных областей
дисков с защищенной от записи дискеты, предварительно загрузив операционную
систему с защищенной от записи системной дискеты;
всегда защищать дискеты от записи при работе на других компьютерах, если на
них не будет производится запись информации;
обязательно делать архивные копии на дискетах ценной информации;
не оставлять в кармане дисковода А дискеты при включении или перезагрузке
операционной системы, чтобы исключить заражение компьютера загрузочными
вирусами;
использовать антивирусные программы для входного контроля всех исполняемых
файлов, получаемых из компьютерных сетей;
для обеспечения большей безопасности применения Aidstest и Doctor Web
необходимо сочетать с повседневным использованием ревизора диска Adinf, либо
использовать полный комплект антивируса AVP.
4.1. Антивирусная профилактика.
Необходимо всегда иметь системную дискету, созданную на не зараженном
компьютере. На системную дискету надо записать последние версии антивирусных
программ-полифагов, таких как Aidstest, Doctor Web или Antiviral Toolkit Pro.
Кроме антивирусных программ, на дискету полезно записать драйверы внешних
устройств компьютера, например драйвер устройства чтения компакт-дисков,
программы для форматирования дисков - format и переноса операционной системы -
sys, программу для ремонта файловой системы Norton Disk Doctor или ScanDisk.
Системная дискета будет полезна не только в случае нападения вирусов. Ей можно
воспользоваться для загрузки компьютера в случае повреждения файлов операционной
системы.
Необходимо периодически проверять компьютер на заражение вирусами. Лучше всего
встроить вызов антивирусной программы в файл конфигурации autoexec.bat, чтобы
проверка осуществлялась при каждом включении компьютера. Выполнять проверку не
только выполнимых файлов, имеющих расширение COM, EXE, но также пакетных файлов
BAT и системных областей дисков.
Если в компьютере записано много файлов, их проверка антивирусами-полифагами,
скорее всего, будет отнимать достаточно много времени. Поэтому во многих случаях
предпочтительней для повседневной проверки использовать программы-ревизоры, а
новые и изменившиеся файлы подвергать проверке полифагами.
Практически все ревизоры в случае изменения системных областей диска (главной
загрузочной записи и загрузочной записи) позволяют восстановить их, даже в том
случае если не известно, какой именно вирус их заразил. Лечащий модуль ADinf
Cure Module даже позволяет удалять неизвестные файловые вирусы.
Практически все современные антивирусы могут правильно работать даже на
зараженном компьютере, когда в его оперативной памяти находится активный вирус.
Однако перед удалением вируса все же рекомендуется предварительно загрузить
компьютер с системной дискеты, чтобы вирус не смог препятствовать лечению.
Когда производится загрузка компьютера с системной дискеты, следует обратить
внимание на два важных момента.
Во-первых, для перезагрузки компьютера надо использовать кнопку Reset,
расположенную на корпусе системного блока, или даже временно выключить его
питание. Не использовать для перезагрузки комбинацию из трех известных клавиш.
Некоторые вирусы могут остаться в памяти даже после этой процедуры.
Во-вторых, перед перезагрузкой компьютера с дискеты проверить конфигурацию
дисковой подсистемы компьютера и особенно параметры дисководов и порядок
загрузки операционной системы (должна быть установлена приоритетная загрузка с
дискеты), записанную в энергонезависимой памяти. Существуют вирусы, ловко
меняющие параметры, записанные в энергонезависимой памяти компьютера, в
результате чего компьютер загружается с зараженного вирусом жесткого диска, в то
время как оператор думает, что загрузка происходит с чистой системной дискеты.
Обязательно проверять с помощью антивирусных программ все дискеты и все
программы, поступающие на ПК через любые носители или через модем. Если
компьютер подключен к локальной сети, необходимо проверять файлы, полученные
через сеть от других пользователей.
С появлением вирусов, распространяющихся через макрокоманды текстового
процессора Microsoft Word и электронной таблицы Microsoft Excel, необходимо
особенно внимательно проверять не только выполнимые файлы программ и системные
области дисков, но также и файлы документов.
Крайне важно постоянно следить за выходом новых версий применяемых антивирусных
средств и своевременно выполнять их обновления на системной дискете и
компьютере; использовать для восстановления зараженных файлов и системных
областей диска только самые последние версии антивирусов.
5. Антивирусная программа AntiViral Toolkit Pro
для Windows 95 (Windows NT).
AVP представляет из себя полностью 32-ух разрядное приложение, оптимизированное
для работы в популярной во всем мире среде Microsoft Windows 95 (Windows NT) и
использующее все ее возможности. AVP имеет удобный пользовательский интерфейс,
характерный для Windows 95, большое количество настроек, выбираемых
пользователем, а также одну из самых больших в мире антивирусных баз, что
гарантирует надежную защиту от огромного числа самых разнообразных вирусов.
В ходе работы AVP сканирует следующие области:
Оперативную память (DOS, XMS, EMS).
Файлы, включая архивные и упакованные.
Системные сектора, содержащие Master Boot Record, загрузочный сектор
(Boot-сектор) и таблицу разбиения диска (Partition Table).
AntiViral Toolkit Pro для Windows 95 имеет ряд особенностей, характеризующих его
работу:
детектирование и удаление огромного числа самых разнообразных вирусов, в том
числе;
полиморфных или самошифрующихся вирусов;
стелс-вирусов или вирусов-невидимок;
новых вирусов для Windows 3.XX и Windows 95;
макро вирусов, заражающих документы Word и таблицы Excel;
сканирование внутри упакованных файлов (модуль Unpacking Engine);
сканирование внутри архивных файлов (модуль Extracting Engine);
сканирование объектов на гибких, локальных, сетевых и CD-ROM дисках;
эвристический модуль Code Analyzer, необходимый для детектирования НЕИЗВЕСТНЫХ
вирусов;
поиск в режиме избыточного сканирования;
проверка объектов на наличие в них изменений;
“AVP Monitor” – резидентный модуль, находящийся постоянно в оперативной памяти
компьютера и отслеживающий все файловые операции в системе. Позволяет
обнаружить и удалить вирус до момента реального заражения системы в целом;
удобный пользовательский интерфейс;
создание, сохранение и загрузка большого количества различных настроек;
механизм проверки целостности антивирусной системы;
мощная система помощи;
AVP Центр Управления – программа-оболочка, позволяющая организовать
эффективную антивирусную защиту на ПК.
Опишем некоторые из них.
5.1. Механизм распаковки исполняемых модулей
(Unpacking Engine).
В настоящее время достаточно широко распространены утилиты упаковки исполняемых
файлов. Они записывают упакованный файл на диск со специальным распаковщиком.
При исполнении такого файла этот распаковщик распаковывает исполняемую программу
в оперативную память и запускает ее.
Пораженные вирусом файлы могут быть компрессированы такими паковщиками так же,
как и неинфицированные. При сканировании обычными антивирусными программами
пораженные таким образом файлы будут определяться как неинфицированные, так как
тело вируса упаковано вместе с кодом программы.
Unpacking Engine распаковывает файлы, созданные наиболее популярными утилитами
упаковки: DIET, PKLITE, LZEXE и EXEPACK различных версий, во временный файл и
передает его на повторную проверку. Если внутри упакованного файла обнаружен
известныйвирус, то возможно его удаление. При этом исходный файл замещается
распакованным и вылеченным. Механизм распаковки корректно работает и с
многократно упакованными файлами.
Модуль распаковки работает также с некоторыми версиями иммунизаторов (программы
защищающие выполняемые файлы от заражения путем присоединения к ним
контролирующих блоков) файлов (CPAV и F-XLOCK) и шифрующих программ (CryptCOM).
Модуль Unpacking Engine будет обновляться для новых паковщиков, шифровщиков и
иммунизаторов.
5.2. Механизм распаковки из архивов
(Extracting Engine).
Проблема поиска вирусов в архивированных файлах (ZIP, ARJ, LHA и RAR) становится
в данный момент, пожалуй, одной из самых насущных. Инфицированный файл может
затаиться на несколько месяцев и даже лет, и быстро распространиться при
невнимательном обращении с такими архивами. Особую опасность представляют
архивы, хранящиеся на BBS.
С такой ситуацией успешно справляется механизм распаковки из архивов Extracting
Engine. При сканировании архивов Extracting Engine распаковывает файлы из архива
по заданной маске во временный файл и передает его для проверки основному
модулю. После проверки временный файл уничтожается.
Текущая версия Extracting Engine содержит коды для распаковки архивов формата
ARJ, ZIP, LHA, RAR существующих версий.
ЗАМЕЧАНИЯ!
1. AVP не удаляет вирусы из архивов, а только детектирует их.
2. Extracting Engine не распаковывает архивы, защищенные паролем.
AVP детектирует зараженный файл, даже если он зашифрован утилитой CryptCOM,
затем упакован PKLITE и записан в архив программой PKZIP.
5.3. Анализатор кода
(Code Analyzer).
Анализатор кода (эвристический сканер) проверяет коды файлов и секторов по
разным ветвям алгоритма сканируемой программы на наличие вирусоподобных
инструкций и выдает сообщение, если обнаружена комбинация команд, таких как
открытие или запись в файл, перехват векторов прерываний и т.д.
Конечно, этот алгоритм может давать ложные срабатывания, как и любой из подобных
эвристических алгоритмов, но он был протестирован на очень большом количестве
файлов, и при этом не было получено ни одного действительно ложного
срабатывания.
При сканировании кода Code Analyzer проверяет много ветвей алгоритма программы
(включая несколько подуровней). Вследствие этого AVP работает примерно на 20%
медленнее при включенном Code Analyzer, чем при выключенном. Но данный механизм
определяет около 80% вирусов (включая многие шифрованные) из нашей коллекции, и
мы рассчитываем, что новые неизвестные вирусы будут определяться с такой же
вероятностью.
Сообщения Code Analyzer:
Сообщения выдаются в формате:
: подозрение на вирус типа TYPE - подозрение на вирус , где "TYPE" является
одной из строк:
Com - файл выглядит как зараженный неизвестным вирусом, поражающим COM файлы;
Exe - файл выглядит как зараженный неизвестным вирусом, поражающим EXE файлы;
ComExe - файл выглядит как зараженный неизвестным вирусом, поражающим файлы
формата COM и EXE;
ComTSR, ExeTSR, ComExeTSR - файл выглядит как зараженный неизвестным резидентным
вирусом, поражающим файлы формата COM, EXE, или COM и EXE файлы;
Boot - файл/сектор выглядит как зараженный неизвестным boot-вирусом или как
инсталлятор boot-вируса;
Trojan - файл выглядит как троянская программа;
5.4. Избыточное сканирование.
Избыточное сканирование - это механизм полного сканирования содержимого
исследуемых файлов вместо стандартной обработки только “точек входа” (т.е. тех
мест, где начинается обработка программ системой).
Этот режим рекомендуется использовать, когда вирус не обнаружен, но в работе
системы продолжаются “странные” проявления (частые “самостоятельные”
перезагрузки, замедление работы некоторых программ и др.). В остальных случаях
использование этого режима не рекомендуется, так как процесс сканирования
замедляется в несколько раз и увеличивается вероятность ложных срабатываний при
сканировании незараженных файлов.
5.5. AVP Monitor.
AVP Monitor представляет собой резидентную антивирусную программу, которая
постоянно находится в оперативной памяти и контролирует операции обращения к
файлам и секторам. Прежде чем разрешить доступ к объекту, AVP Monitor проверяет
его на наличие вируса. Таким образом он позволяет обнаружить и удалить вирус до
момента реального заражения системы.
Если при запуске программы в командной строке указать специальный ключ /q, то
AVP Monitor запустится в особом режиме, при котором будут запрещены следующие
действия пользователя:
выгрузка программы из памяти (команда "Выход" в контекстном меню и кнопка
"Выгрузить AVP Monitor" во вкладке "Общие" станут недоступными);
выключение AVP Monitor (команда "Выключить" в контекстном меню и установленный
флажок "Включить" во вкладке "Общие" станут недоступными);
изменение любых настроек программы (все остальные опции также будут
недоступными).
В этом режиме можно просматривать вкладку "Статистика", а также просмотреть
установленные опции, не изменяя их.
Главное окно AVP Monitor содержит 5 вкладок: "Общие", "Объекты", "Действия",
"Настройки", "Статистика". Перемещаясь по вкладкам и выбирая нужные опции, Вы
можете изменять настройки программы.
Чтобы все произведенные Вами действия по выбору опций вступили в силу, нужно
нажать кнопку "Применить"(в этом случае окно AVP Monitor останется открытым) или
кнопку "OK"(в этом случае окно свернется в иконку) которые находятся в нижней
части окна.
5.5.1. Вкладка "Общие".
В верхней части вкладки "Общие" содержится различная информация о программе
(номер версии, дата последнего обновления и количество известных программе
вирусов, регистрационная информация, информация о разработчиках). Нажав кнопку
"Техническая поддержка", Вы получите информацию о каналах, по которым
осуществляется техническая поддержка для легальных пользователей программы.
В нижней части вкладки находится флажок "Включить", с помощью которого можно
включать или выключать монитор.
Кнопка "Выгрузить AVP Monitor" позволяет завершить работу программы.
5.5.2. Вкладка "Объекты".
Эта вкладка позволяет выбирать типы файлов, которые будут проверяться.
Вы можете выбрать один из типов файлов:
Программы по формату - проверять на наличие вируса только программы, т.е.
объекты, имеющие внутренний формат выполняемых файлов, а также все файлы,
имеющие расширения: .BAT, .COM, .EXE, .OV*, .SYS, .BIN, .PRG, .VxD, .DLL, .OLE.;
Программы по расширению - проверять все выполняемые файлы, имеющие расширения:
*.BAT, *.COM, *.EXE, *.OV*, *.SYS, и т.д.
Все файлы - проверять все файлы, независимо от их внутреннего формата;
По маске - проверять файлы по маскам, задаваемым пользователем. Маски нужно
вписывать в поле ввода через запятую. Например: *.EXE, *.COM, *.DOC.
5.5.3. Вкладка "Действия".
Вкладка "Действия" позволяет задавать действия AVP Monitor при обнаружении
зараженного объекта. Вы можете выбрать одно из следующих действий:
Запрашивать пользователя о действии - если Вы выберите эту опцию, то
при каждой попытке обращения к зараженному объекту будет появляться синий экран,
содержащий информацию об этом зараженном объекте, имя вируса и запрос на лечение
объекта: "Попытаться удалить вирус?" Нажмите клавишу <Y> если Вы хотите вылечить
объект, или клавишу <N> в противном случае;
при каждой попытке обращения к подозрительному объекту (если включена опция
"Предупреждения" во вкладке "Настройки") или объекту, содержащему измененный или
поврежденный вирус (если включена опция "Анализатор кода" во вкладке
"Настройки") будет появляться синий экран, содержащий информацию об этом
объекте, имя вируса (или тип вируса) и запрос: "Запретить доступ к объекту?"
Нажмите клавишу <Y> если Вы хотите запретить доступ, или клавишу <N> в противном
случае;
Лечить зараженные объекты автоматически - лечение зараженных объектов будет
производиться автоматически, т.е. без какого-либо запроса;
Удалять зараженные объекты автоматически - все зараженные объекты будут
автоматически удаляться при обращении к ним. Если выбрать эту опцию, появится
предупреждающее сообщение: "Вы действительно хотите удалить ВСЕ зараженные
объекты?" Нажмите кнопку "Да" для подтверждения действия, или кнопку "Нет" для
возврата в главное окно AVP Monitor;
Запретить доступ к объекту - доступ к зараженным объектам будет запрещен.
5.5.4. Вкладка "Настройки".
Эта вкладка предоставляет возможность подключения дополнительных механизмов
поиска вирусов, а также возможность создания файла отчета. Вы можете поставить
следующие флажки:
Предупреждения - включить добавочный механизм проверки. При этом будет
выводиться предупреждающее сообщение, если сканируемый файл или сектор содержит
измененный или поврежденный вирус, а также, если в памяти компьютера обнаружена
подозрительная последовательность машинных инструкций;
Анализатор кода - включить эвристический механизм "Code Analyzer", позволяющий
обнаруживать новые, еще не известные программе вирусы;
Файл отчета - создать файл отчета, в который будет заноситься информация об
обнаруженных зараженных объектах. В поле ввода рядом с флажком нужно указать имя
файла отчета (по умолчанию "Avpm_rep.txt ");
Ограничение размера, Kb: - ограничить размер файла отчета числом Килобайт,
указанных в соответствующем поле ввода (по умолчанию - 500 Kb).
5.5.5. Вкладка “Статистика”.
В этой вкладке отображается (и динамически обновляется) информация о количестве:
проверенных объектов;
инфицированных объектов;
предупреждений;
подозрений на вирус;
вылеченных объектов;
удаленных объектов;
а также следующая информация:
Последний зараженный объект: - имя последнего зараженного объекта (с
указаниемпути);
Имя последнего вируса: название последнего найденного вируса.
Последний проверенный объект: - имя последнего проверенного объекта (с
указанием пути);
5.6. Программа AVP Центр Управления.
Программа AVP Центр Управления входит в состав пакета антивирусных программ
AntiViral Toolkit Pro и выполняет функции управляющей оболочки. Она
предназначена для организации установки и обновления компонент пакета,
формирования расписания для автоматического запуска задач, а также контроля
результатов их выполнения.
Возможность получения сводной информации о составе установленных компонент и их
версиях облегчает общение пользователя со службой технической поддержки
"Лаборатории Касперского" и позволяет своевременно принять решение о
необходимости обновления. Использование функции автоматического обновления
обеспечивает регулярную загрузку актуальных версий компонент и пополнение базы
данных информацией о новых вирусах.
С помощью программы AVP Центр Управления Вы можете планировать запуск
антивирусных программ, входящих в состав пакета. Тем самым повышается
эффективность работы и, в то же время, сохраняется высокая защищенность системы
от вирусов.
Возможность автоматического запуска внешних программ позволяет использовать AVP
Центр Управления и в качестве традиционного планировщика задач. При этом в
большинстве случаев исчезает необходимость в использовании других средств
автоматического запуска, что ведет к экономии ресурсов компьютера. Кроме того,
обеспечивается точная взаимная синхронизация задач, связанных с антивирусной
защитой системы и прочими задачами, что позволяет избежать конфликтов между
ними.
AVP Центр Управления – это программная оболочка, предназначенная для запуска
различных задач (приложений). С помощью этой программы Вы можете запускать
приложения как вручную, так и автоматически по расписанию. В качестве задач
выступают другие модули пакета антивирусных программ: AVP Сканер, AVPМонитор и
Обновление AVP.
5.7. Программа Обновление AVP.
Программа Обновление AVP входит в состав пакета антивирусных программ AntiViral
Toolkit Pro и предназначена для автоматизированного обновления базы данных, в
которой хранится информация о вирусах, а также программных компонент пакета.
Обновление может осуществляться через Internet с использованием постоянного или
Dial Up подключения, либо по локальной сети.
В условиях крупной корпоративной локальной сети затраты времени и трафик
Internet могут быть существенно сокращены за счет организации централизованного
обновления. При этом каждый пользователь избавляется от необходимости
самостоятельно загружать файлы обновления через Internet – эта задача
возлагается на сетевого администратора, который помещает их в специально
отведенный каталог на жестком диске одного из компьютеров локальной сети
(например, файлового сервера). В таком случае следует настроить программу
Обновление AVP для обновления через локальную сеть.
Для регулярного автоматического обновления удобно организовать запуск программы
Обновление AVP по расписанию средствами программы AVP Центр Управления. Для
этого необходимо создать и настроить задачу управления автоматическим
обновлением.
ЗАКЛЮЧЕНИЕ.
В настоящее время для существует несколько десятков тысяч компьютерных вирусов и
их число продолжает расти. Поэтому следует, с одной стороны, ожидать
постепенного проникновения в Россию новых, более опасных и изощренно написанных
вирусов, включая стелс-вирусы, и с другой - потока сравнительно простых, а
зачастую и безграмотно написанных вирусов в результате "вирусного взрыва" внутри
самой страны. Не следует думать, что эволюция вирусов пойдет только в
направлении их усложнения. Опыт показал, что сложность стелс-вирусов существенно
снижает их жизнеспособность. Как отмечал С.Н.Паркинсон в одном из своих
знаменитых законов, "рост означает усложнение, а усложнение - разложение".
По-видимому, эволюция компьютерных вирусов будет идти сразу в нескольких
направлениях, лишь одним из которых являются стелс-вирусы.
Хотя общее количество вирусов велико, лежащие в их основе идеи сравнительно
малочисленны и не так просто поддаются расширению. Поэтому основной тенденцией,
наблюдаемой в настоящее время, является не столько появление новых типов
вирусов, сколько комбинирование уже известных идей. Такие "гибриды", как
правило, оказываются опаснее базисных видов. Еще чаще наблюдается тенденция к
минимальной модификации одного из получивших широкое распространение вирусов,
что приводит к образованию вокруг "базисного" вируса группы штаммов, причем их
количество в некоторых случаях превышает десяток.
Приложение 1.
Win95.CIH (aka Чернобыль).
Резидентный вирус, работает только под Windows95/98 и заражает PE-файлы
(Portable Executable). Имеет довольно небольшую длину - около 1Кб. Был обнаружен
"в живом виде" на Тайване в июне 1998 - автор вируса заразил компьютеры в
местном университете, где он (автор вируса) в то время проходил обучение. Через
некоторое время зараженные файлы были (случайно?) разосланы в местные
Интернет-конференции, и вирус выбрался за пределы Тайваня: за последующую неделю
вирусные эпидемии были зарегистрированы в Австрии, Австралии, Израиле и
Великобретании. Затем вирус был обнаружен и в нескольких других странах, включая
Россию.
Примерно через месяц зараженные файлы были обнаружены на нескольких американских
Web-серверах, распространяющих игровые программы. Этот факт, видимо, и послужил
причиной последовавшей глобальной вирусной эпидемии. 26 апреля 1999 года
(примерно через год после появления вируса) сработала "логическая бомба",
заложенная в его код. По различным оценкам, в этот день по всему миру пострадало
около полумиллиона компьютеров - у них оказались уничтожены данные на жестком
диске, а на некоторых плюс к тому испорчены микросхемы на материнских платах.
Данный инцидент стал настоящей компьютерной катастрофой - вирусные эпидемии и их
последствия никогда до того не были столь масштабными и не приносили таких
убытков.
Видимо, по тем причинам, что 1) вирус нес реальную угрозу компьютерам во всем
мире и 2) дата срабатывания вируса (26 апреля) совпадает с датой аварии на
Чернобыльской атомной электростанции, вирус получил свое второе имя -
"Чернобыль" (Chernobyl).
Автор вируса, скорее всего, никак не связывал Чернобыльскую трагедию со своим
вирусом и поставил дату срабатывания "бомбы" на 26 апреля по совсем другой
причине: именно 26 апреля в 1998 году он выпустил первую версию своего вируса
(которая, кстати, так и не вышла за пределы Тайваня) - 26 апреля вирус "CIH"
отмечает подобным образом свой "день рождения".
Автор вируса не только выпустил копии зараженных файлов "на свободу", но и
разослал исходные ассемблерные тексты вируса. Это привело к тому, что эти тексты
были откорректированы, откомпилированы и вскоре появились модификации вируса,
имевшие различные длины, однако по функциональности они все соответствовали
своему "родителю". В некоторых вариантах вируса была изменена дата срабатывания
"бомбы", либо этот участок вообще никогда не вызывался.
Известно также об "оригинальных" версиях вируса, срабатывающих в дни, отличные
от 26 [апреля]. Данный факт объясняется тем, что проверка даты в коде вируса
происходит по двум константам. Для того, чтобы поставить таймер "бомбы" на любой
заданный день, достаточно поменять лишь два байта в коде вируса.
I-Worm.Haiku.
Вирус-червь, распространяющийся по сетям Интернет при помощи электронной почты.
Является 16-килобайтным PE EXE-файлом Windows. Передается по электронной почте в
виде присоединенного к письмам файла HAIKU.EXE. При запуске этого файла червь
получает управление, инсталлирует себя в систему, выводит сообщение-"обманку" и
завершает свою работу. При следующей перезагрузке Windows червь активизируется
из своей инсталлированной в систему копии, остается в памяти Windows как скрытое
приложение и рассылает в Интернет своикопии, присоединенные к электронным
письмам.
I-Worm.WinExt, aka Trit.
Зашифрованный вирус-червь, поражающий компьютеры под управлением Windows.
Распространяет свои копии через Интернет. На компьютер попадает в виде письма с
вложенным EXE-файлом TRYIT.EXE, являющимся на самом деле кодом червя. Этот файл
является 70-килобайтной программой,состоящей из двух частей: около 50Kb -
непосредственно код червя (написан на Visual C++) и 15-килобайтный код
расшифровщика, которым зашифрован основной код червя.