Реферат: Заражения вирусом программных файлов

Как уже указывалось,файловые вирусы обычно состоят из одного сегмента. Впрочем, первую команду JMP , подставляемую боль - шинством файловых вирусов, дописывающих свое тело в конец файла, можно рассматривать как вырожденный сегмент. Бутовый вирус всегда состоит из нескольких сегментов. Обычно таких сегментов два: голова и хвост. Положение головы бутового ви­руса на дискете определено однозначно : она всегда располо - жена в бут-секторе и занимает ровно сектор . Hа винчестере ситуация немного сложнее: голова бутового вируса может рас - полагаться в одном из его двух бут-секторов - главном (MBR - MASTER BOOT RECORD), расположенном по абсолютному дисковому адресу 0/0/1,или бут-секторе логического диска C, обычно за­нимающего первый сектор соответствующего логического диска.

Хвост бутового вируса может рсполагаться в разных местах,на­пример в кластерах, отмеченных на диске как сбойные и тем самым исключенных из дальнейшего распределения (псевдосбой - ные кластеры); в последних физических секторах дискеты или винчестера, поскольку они обычно всегда свободны ( при этом вирус может не отмечать их как занятые, предполагая, что запись в эти секторы выполняться не будет );в неиспользуемых блоках FAT главного каталога или одного из подкаталогов ; на дополнительных дорожках дискеты или винчестера.

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

Для всех бутовых вирусов механизм заражения однотипен. Когда MS-DOS загружается с зараженного диска , бутовый вирус полу­чает управление и сначала копирует себя в старшие адреса па­мяти. Затем он уменьшает размер памяти, заменяя значение, хранящееся по адресу 0040:0013 ( слово, соответствующее век­тору прерываний 12h ), с тем, чтобы защитить резидентную часть вируса, и перехватывает прерывание 13h с тем, чтобы перехватывать обращения к диску. Таким образом, при любом обращении к диску управление получает обработчик этого пре - рывания, составляющий основную часть тела вируса .После этих действий вирус запускает стандартный системный загрузчик, который загружает ibmbio.com и ibmdos.com ( или io.sys и msdos.sys), т.е. происходит стандаотная загрузка системы.

Получив управление по прерыванию по чтению, вирус анализиру­ет, относится он к дикете или к винчестеру.Если это прерыва­ние относится к дискете, то сначала вирус проверяет, зараже­на уже данная дискета или нет.Для этой цели считывается бут­сектор и проверяется его содержимое. Если дискета еще не заражена, то вирус заражает дискету, а затем обрабатывает команду read. Если дискета уже заражена, вирус сразу перехо­дит к обработке команды read; также он поступает в случае, если дискета защищена от записи .

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

Бутовые вирусы инфицируют любые дискеты, а не только систем­ные, поскольку с не несистемной дискеты также может выпол - няться попытка загрузки MS-DOS. Чаще всего такая ситуация возникает после зависания операционной системы. Если при пе­резагрузке инфицированная дискета окажется в "готовом" дис - ководе A , то естествено загрузка будет сначала выполнятся с нее.В этом случае программа начальной загрузки считывает за­раженный бут-сектор и передает ему управление. Вирус загру - жает себя в оперативную память и имитирует сообщение, выда - ваемое в этом случае стандартным загрузчиком ( " Non system disk " ). При этом если пользователь откроет дисковод с дис­кетой и нажмет клавишу Enter (Ввод), то вирус останется в памяти, заразит винчестер и в дальнейшем будет заражать все вставляемые дискеты , к которым обращались хотя бы раз (дос­таточно команды DIR).Поскольку все бутовые вирусы перехваты­вают прерывание 13h, они обычно конфликтуют с драйверами, поддерживающими нестандартные форматы ( например, 720 К). В

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

Следует отметить, что число известных чисто бутовых вирусов намного меньше , чем файловых, и, кроме того, скорость их размножения ниже (число дискет заведомо меньше, чем количе­ство файлов на них). В целом заражение "чистым" бутовым ви­русом является признаком беспечности и недостаточной квали­фикации пользователя в большей степени ,чем заражение фай - ловым вирусом.

Поскольку резкого отличия между файловыми и бутовыми виру - сами нет, некоторые вирусы являются смешанными и заражают как файлы, так и бут-секторы.Такие "гибридные вирусы" имеют более высокую инфицирующую способность, чем "чистые" типы, однако выявляются легче,чем файловые вирусы,поскольку имеют фиксированное место заражения на винчестере, целостность которого обычно контролируется большинством ревизоров.Поми­мо зараженных исполняемых файлов, файловобутовые вирусы мо­гут переноситься на дискетах, содержащих только файлы дан - ных,как обычные бутовые вирусы . Кроме того, загружаясь из MBR, легче обойти резидентные средства контроля, поскольку инсталяция вируса проходит на "чистой" машине.

АКТИВHЫЕ СТЕЛС - ВИРУСЫ

Hемного о том, что такое стелс - вирусы. Этим термином назы­вают вирусы, в алгоритмах которых заложена возможность мас - кировать свое присутствие в зараженной машине. Первые вирусы не обладали такими возможностями и их легко было обнаружить при визуальном просмотре исполняемых файлов на зараженной машине. Применение даже простейших антивирусных средств не - медленно останавливало распространение таких вирусов, и они перестали вызывать эпидемии. Появление антивирусных программ привело к новом витку в развитии технологии написания виру - сов, и появление вирусов - невидимок стало естественным ша - гом в таком развитии. Вирусы, использующие приемы маскировки нельзя увидеть средствами операционной системы ( например, нажав в VC или NC клавишу F3 ). Это происходит потому, что вирус, активно работающий вместе с операционной системой, при открытии файла на чтение немедленно удалил свое тело из зараженного файла, а при закрытии файла заразил его опять. Это только один из возможных приемов маскировки, существуют и другие. Так же маскируются и загрузочные (бутовые) вирусы При попытке прочитать ВООТ (загрузочный) сектор они заменяют его оригинальнам, не зараженным.

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

КЛАССИФИКАЦИЯ АHТИВИРУСHЫХ ПРОГРАММ

Антивирусы можно классифицировать по пяти основным группам: фильтры, детекторы, ревизоры, доктора и вакцинаторы.

Антивирусы-фильтры ( сторожа ) - это резидентные программы, которые оповещают пользователя о всех попытках какой-либо программы записаться на диск, а уж тем более отформатировать его , а также о других подозрительных действиях (например о попытках изменить установки CMOS). При этом выводится зап­рос о разрешении или запрещении данного действия. Принцип работы этих программ основан на перехвате соответствующих векторов прерываний. К преимуществу программ этого класса по сравнению с программами-детекторами можно отнести универ­сальность по отношению как к известным,так и неизвестным вирусам,тогда как детекторы пишутся под конкретные,известные на данный момент программисту виды. Это особенно актуально сейчас,когда появилось множество вирусов-мутантов,не имеющих постоянного кода. Однако, программы-фильтры не могут отсле - живать вирусы, обращающиеся непосредственно к BIOS, а также BOOT-вирусы, активизирующиеся ещe до запуска антивируса, в начальной стадии загрузки DOS. К недостаткам также можно отнести частую выдачу запросов на осуществление какой-либо операции: ответы на вопросы отнимают у пользователя много времени и действуют ему на нервы. При установке некоторых антивирусов-фильтров могут возникать конфликты с другими резидентными программами, использующими те же прерывания, которые просто перестают работать.

Наибольшее распространение в нашей стране получили програм­мы-детекторы,а вернее программы, объединяющие в себе детек - тор и доктор. Наиболее известные представители этого класса- -Aidstest, Doctor Web, MicroSoft AntiVirus далее будут рас - смотрены подробнее. Антивирусы-детекторы расчитаны на конк - ретные вирусы и основаны на сравнении последовательности ко­дов содержащихся в теле вируса с кодами проверяемых программ.

Такие программы нужно регулярно обновлять, так как они быст­ро устаревают и не могут обнаруживать новые виды вирусов. Ревизоры - программы, которые анализируют текущее состоя - ние файлов и системных областей диска и сравнивают его с информацией, сохранённой ранее в одном из файлов данных ре - визора. При этом проверяется состояние BOOT-сектора, таб - лицы FAT, а также длина файлов, их время создания, атри - буты, контрольная сумма. Анализируя сообщения программы-ре - визора, пользователь может решить, чем вызваны изменения: вирусом или нет. При выдаче такого рода сообщений не следует предаваться панике, так как причиной изменений, например, длины программы может быть вовсе и не вирус.Самые изощренные антивирусы - вакцинаторы. Они записывают в вакцинируемую программу признаки конкретного вируса так, что вирус считает ее уже зарaженной.Таким образом, вирус не может заразить эту программу. Вакицины могут быть пассивные и активные.

Пассивная вакцина представляет собой пакетную программу, которая за один вызов обрабатывает специальным образом файл или все файла на диске либо в каталоге .Обычно при такой обработке проставляется признак,который вирус использует для того, чтобы отличить зараженные программы от незараженных. Hапример, некоторые вирусы дописывают в конец зараженных файлов определенную строку. Если искусственно дописать в конец всех программ эту строку, то такие программы не будут заражаться вирусом, поскольку он будет считать, что они уже заражены.Обработанная таким образом программа является вак - цинированной против данного вируса, при чeм операция вакци - нации является обратимой: когда опасность заражения будет ликвидированна, строку можно из файла удалить. Другие вирусы проставляют в поле даты заражаемых программ значение секунд, равное 62(MS-DOS допускает запись такого явно нереального значения).

Вакцина может проставить этот признак у всех выполняемых программ, которые тем самым будут защищены от заражения дан­ным типом вируса. В этом случае вакцинирование является не - обратимым в том смысле, что восстановить первоначальное зна­чение скунд не удастся,хотя они,конечно,могут быть сброшены.

Активные вакцины являются резидентными программами, действие которых основано на имитации присутствия вируса в оператив - ной памяти.Поэтому они обычно применяются против резидентных вирусов.Если такая вакцина находится в памяти, то, когда при запуске зараженной программы вирус проверяет, находится ли уже в оперативной памяти его копия , вакцина иметирует нали­чие копии. В этом случае вирус просто передает управление программе - хозяину и его инсталляция не происходит. Прос - тейшие вакцины представляют собой выделенный и слегка моди - фицированный (лишенный спосбности к размножению) вирус.Поэ - тому они могут быть оперативно изготовлены - быстрей чем доктора.Боле сложные вакцины (поливакцины) имитируют наличие в оперативной памяти нескольких вирусов.

Конечно,приведенный список не исчерпывает всего многообразия антивирусных программ, хотя и охватывает основые их разно - видности. Каждая из антивирусных программ подобна узкому специалисту в определенной области, поэтому оптимальной так­тикой является комплексное применение нескольких типов ан - тивирусных средств.

А теперь немного о некоторых антивирусах.

AIDSTEST

В нашей стране, как уже было сказано выше, особую популяр­ность приобрели антивирусные программы, совмещающие в себе функции детекторов и докторов. Самой известной из них явля - ется программа AIDSTEST Д.Н.Лозинского. В России практически на каждом IBM-совместимом персональном компьютере есть одна из версий этой программы. Одна из последняя версия обнаружи­вает более 1100 вирусов.

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

При запуске Aidstest проверяет себя оперативную память на наличие известных ему вирусов и обезвреживает их. При этом парализуются только функции вируса, связанные с размножением,

а другие побочные эффекты могут оставаться. Поэтому прог - рамма после окончания обезвреживания вируса в памяти выдает запрос о перезагрузке. Следует обязательно последовать этому совету, если оператор ПЭВМ не является системным програм - мистом, занимающимся изучением свойств вирусов. При чем сле­дует перезагрузиться кнопкой RESET, так как при "теплой пе - резагрузке" некоторые вирусы могут сохраняться. В добавок, лучше запустить машину и Aidstest с защищенной от записи дискеты, так как при запуске с зараженного диска вирус может записаться в память резидентом и препятствовать лечению.

Aidstest тестирует свое тело на наличие известных вирусов, а также по искажениям в своем коде судит о своем заражении неизвестным вирусом. При этом возможны случаи ложной тревоги,

например при сжатии антивируса упаковщиком.

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

К-во Просмотров: 212
Бесплатно скачать Реферат: Заражения вирусом программных файлов