Вирусы и антивирусное программное обеспечение


Реферативная часть

Что такое вирус?

Один из известных "докторов" Д. Н Лозинский дал определение вируса на примере клерка.

Представим себе аккуратного клерка, который приходит на работу к себе в контору и каждый день обнаруживает у себя на столе стопку листов бумаги со списком заданий, которые он должен выполнить за рабочий день. Клерк берет верхний лист, читает указания начальства, пунктуально их выполняет, выбрасывает "отработанный" лист в мусорное ведро и переходит к следующему листу. Предположим, что некий злоумышленник тайком прокрадывается в контору и подкладывает в стопку бумаг лист, на котором написано следующее:"Переписать этот лист два раза и положить копии в стопку заданий соседей" Что сделает клерк? Дважды перепишет лист, положит его соседям на стол, уничтожит оригинал и перейдет к выполнению второго листа из стопки, т. е. продолжит выполнять свою настоящую работу. Что сделают соседи, являясь такими же аккуратными клерками, обнаружив новое задание? То же, что и первый: перепишут его по два раза и раздадут другим клеркам. Итого, в конторе бродят уже четыре копии первоначального документа, которые и дальше будут копироваться и раздаваться на другие столы.

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

В приведенном выше примере про клерка и его контору лист-вирус не проверяет, заражена очередная папка заданий или нет. В этом случае к концу рабочего дня контора будет завалена такими копиями, а клерки только и будут что переписывать один и тот же текст и раздавать его соседям - ведь первый клерк сделает две копии, очередные жертвы вируса - уже четыре, затем 8, 16, 32, 64 и т. д., т. е. количество копий каждый раз будет увеличиваться в два раза.

Если клерк на переписывание одного листа тратит 30 секунд и еще 30 секунд на раздачу копий, то через час по конторе будет "бродить" более 1.000.000.000.000.000.000 копий вируса! Скорее всего, конечно же, не хватит бумаги, и распространение вируса будет остановлено по столь банальной причине.

Как это ни смешно (хотя участникам этого инцидента было совсем не смешно), именно такой случай произошел в 1988 году в Америке - несколько глобальных сетей передачи информации оказались переполненными копиями сетевого вируса (вирус Морриса), который рассылал себя от компьютера к компьютеру. Поэтому "правильные" вирусы делают так: Переписать этот лист два раза и положить копии в стопку заданий соседей, если у них еще нет этого листа".

Проблема решена - "перенаселения" нет, но каждая стопка содержит по копии вируса, при этом клерки еще успевают справляться и с обычной работой.

"А как же уничтожение данных?" - спросите Вы. Все очень просто - достаточно дописать на лист примерно следующее:

"1. Переписать этот лист два раза и положить копии в стопку заданий соседей, если у них еще нет этого листа.

2. Посмотреть на календарь - если сегодня пятница, попавшая на 13-е число, выкинуть все документы в мусорную корзину"

Примерно это и выполняет хорошо известный вирус "Jerusalem" (другое название - "Time").

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

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

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

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

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

Обязательным свойством компьютерного вируса является возможность создавать свои дубликаты (не обязательно совпадающие с оригиналом) и внедрять их в вычислительные сети и/или файлы, системные области компьютера и прочие выполняемые объекты. При этом дубликаты сохраняют способность к дальнейшему распространению.

Следует отметить, что это условие не является достаточным (т. е. окончательным), поскольку на пример, операционная система MS-DOS удовлетворяет данному свойству, но вирусом не является.

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

Откуда берутся компьютерные вирусы?

Напоминаю, что в отличие от биологических вирусов компьютерные вирусы создаются человеком. Авторы вирусов своими "произведениями" приносят массу вреда пользователям компьютеров. Они могут вызвать сбои в работе компьютеров или даже полную потерю данных на жестком диске.

Вирус может проникнуть в систему одним из нескольких возможных путей: дискета, CD-ROM производителя ПО, сетевой интерфейс или модемное соединение, глобальная сеть Internet при получении электронной почты.

Вирусы проникают в компьютер с дискет, через модемы и по сетевым соединениям.

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

Заразить дискету гораздо проще. На нее вирус может попасть, если вы просто вставили дискету в дисковод зараженного компьютера и, например, прочитали ее оглавление.

Ситуация здесь та же, что и с вирусом СПИДа - чем больше число партнеров, с которыми вы обмениваетесь программами (дискетами), тем выше вероятность заражения.

Однако этим пути проникновения вирусов в систему далеко не исчерпываются.

У той простоты, с которой Интернет позволяет обмениваться информацией, есть и обратная сторона: из-за нее Интернет стал благоприятной средой для распространения компьютерных вирусов и других вредоносных программ. Конечно, далеко не каждая программа или документ, скаченные из Интернета или присланные Вам по электронной почте, содержат в себе вирусы. Дорожащие репутацией операторы досок объявлений и системные операторы интерактивных служб производят сканирование новых файлов на наличие вирусов, прежде чем сделать их доступными публике, однако никогда нельзя быть уверенным, что полученные файлы проверены. Каждому, кто работает в Интернете, совершенно необходима хорошая антивирусная защита.

Но в первую очередь, это касается тенденции приобретения вирусами функции распространения по электронной почте. Согласно статистике службы технической поддержки "Лаборатории Касперского", около 85% всех зарегистрированных случаев заражения были вызваны проникновением вирусов именно при помощи этого источника. Таким образом, по сравнению с 1999 г., рост числа подобных инцидентов составил около 70%.

В этой связи "Лаборатория Касперского" еще раз отмечает важность установки надежной системы антивирусной защиты для электронной почты.

Переключение внимания создателей вирусов на электронную почту вполне закономерно.

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

Признаки появления вирусов

При заражении компьютера вирусом важно его обнаружить. Для этого следует знать об основных признаках проявления вирусов. К ним можно отнести следующие:

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

Следует отметить, что вышеперечисленные явления необязательно вызываются присутствием вируса, а могут быть следствием других причин. Поэтому всегда затруднена правильная диагностика состояния компьютера.

Немного истории

Поговорим о новейшей истории: "Brain", "Vienna", "Cascade" и далее. Те, кто начал работать на IBM-PC аж в середине 80-х, еще не забыли повальную эпидемию этих вирусов в 1987-89 годах. Буквы сыпались на экранах, а толпы пользователей неслись к специалистам по ремонту дисплеев (сейчас все наоборот: винчестер сдох от старости, а валят на неизвестный передовой науке вирус). Затем компьютер заиграл чужеземный гимн "Yankee Doodle", но чинить динамики уже никто не бросился - очень быстро разобрались, что это - вирус, да не один, а целый десяток.

Так вирусы начали заражать файлы. Вирус "Brain" и скачущий по экрану шарик вируса "Pingpong" ознаменовали победу вируса и над Boot-сектором. Все это очень не нравилось пользователям IBM-PC, и - появились противоядия. Одним из первых антивирусов был отечественный ANTI-KOT: это легендарный Олег Котик выпустил в свет первые версии своей программы, которая уничтожала целых 4 (четыре) вируса (американский SCAN появился у нас в стране несколько позднее). К сожалению, ANTI-KOT определяет вирус "Time" ("Иерусалимский") по комбинации "MsDos" в конце файла, а некоторые другие антивирусы эти самые буквы аккуратно прицепляют ко всем файлам с расширением COM или EXE.

Следует обратить внимание на то, что истории завоевания вирусами России и Запада различаются между собой. Первым вирусом, стремительно распространившимся на Западе был загрузочный вирус "Brain", и только потом появились файловые вирусы "Vienna" и "Cascade". В России же наоборот, сначала появились файловые вирусы, а годом позже - загрузочные.

Время шло, вирусы плодились. Все они были чем-то похожи друг на друга, лезли в память, цеплялись к файлам и секторам, периодически убивали файлы, дискеты и винчестеры. Одним из первых "откровений" стал вирус "Frodo.4096" - один из первых из известных файловых вирусов-невидимок (стелс). Этот вирус перехватывал INT 21h и, при обращении через DOS к зараженным файлам, изменял информацию таким образом, что файл появлялся перед пользователем в незараженном виде. Но это была только надстройка вируса над MS-DOS. Не прошло и года, как электронные тараканы полезли внутрь ядра DOS (вирус-невидимка "Beast.512"). Идея невидимости продолжала приносить свой плоды и далее: летом 1991 года пронесся, кося компьютеры как бубонная чума, вирус "Dir­_П".

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

Классификация вирусов

В настоящее время известно более 5000 программных вирусов, их можно классифицировать по следующим признакам:

    - среде обитания - способу заражения среды обитания - воздействию - особенностям алгоритма

В зависимости от среды обитания вирусы можно разделить на сетевые, файловые, загрузочные и файлово-загрузочные. Сетевые вирусы распространяются по различным компьютерным сетям. Файловые вирусы внедряются главным образом в исполняемые модули, т. е. В файлы, имеющие расширения COM и EXE. Файловые вирусы могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Re-cord).

Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.

По способу заражения вирусы делятся на резидентные и нерезидентные. Резидентный вирус при заражении (инфицировании) компьютера оставляет в оперативной памяти свою резидентную часть, которая потом перехватывает обращение операционной системы к объектам заражения (файлам, загрузочным секторам дисков и т. п.) и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время.

По степени воздействия вирусы можно разделить на следующие виды:

Неопасные, не мешающие работе компьютера, но уменьшающие объем свободной оперативной памяти и памяти на дисках, действия таких вирусов проявляются в каких-либо графических или звуковых эффектах

Опасные вирусы, которые могут привести к различным нарушениям в работе компьютера

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

По особенностям алгоритмов выделяют следующие группы вирусов:

"Компаньоны - спутники" - вирусы, не изменяющие файлы. Алгоритм работы этих вирусов состоит в том, что они создают для EXE файлов файлы спутники, имеющие то же самое имя, но с расширением. Com или Bat. Вирус записывается в Com или Bat-файл и никак не изменяет EXE-файл. При активации такого файла операционная система первым обнаружит и выполнит Bat-файл или COM-файл, т. е. вирус, который затем уже запустит и EXE-файл.

"Черви - репликаторы" - вирусы, которые распространяются в компьютерной сети и, так же как и компаньон вирусы, не изменяют файлы или сектора на дисках. Они проникают в память компьютера из сети, вычисляют сетевые адреса других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда создают файлы, но могут вообще не обращаться к ресурсам компьютеров (кроме оперативной памяти).

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

"Студенческие" - крайне примитивные вирусы, часто нерезидентные и содержащие большое число ошибок, именно по этой причине они могут быть любой степени опасности, если их быстро не удалить из компьютера.

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

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

"Троянские кони" - вирусы, которые могут маскироваться под полезную программу и выполнять разрушительные действия при каждой активации. Они могут размножаться без внедрения в другие файлы, а более совершенные из них, активируются при определенных ситуациях или событиях в ЭВМ или сети.

"Макро" вирусы этого семейства используют возможности макроязыков в системах обработки данных (текстовые редакторы, электронные таблицы и т. д.). В настоящее время наиболее распространены макро вирусы заражающие документы редакторов Microsoft Word, Excel, Access.

Антивирусные программы

Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют обнаруживать и уничтожать вирусы. Такие программы называются антивирусными. Различают следующие виды антивирусных программ:

    - программы-детекторы; - программы-доктора или фаги; - программы-ревизоры; - программы-фильтры; - программы-вакцины или иммунизаторы.

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

Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и "лечат" их, т. е. удаляют из файла тело программы-вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к "лечению" файлов. Среди фагов выделяют полифаги, т. е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известные из них: AVP, Aidstest, Scan, Norton AntiVirus, Doctor Web.

Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление версий.

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

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

    1. Попытки коррекции файлов с расширениями COM, EXE; 2. Изменение атрибутов файла; 3. Прямая запись на диск по абсолютному адресу; 4. Запись в загрузочные сектора диска; 5. Загрузка резидентной программы.

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

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

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

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

Существует несколько основополагающих методов поиска вирусов, которые применяются антивирусными программами. Наиболее традиционным методом поиска вирусов является сканирование.

Оно заключается в поиске сигнатур, выделенных из ранее обнаруженных вирусов. Антивирусные программы-сканеры, способные удалить обнаруженные вирусы, обычно называются полифагами.

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

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

DOCTOR WEB

В последнее время стремительно растет популярность другой антивирусной программы - Doctor Web, которую предлагает фирма "Диалог-Наука". Эта программа была создана в 1994 г. И. А. Даниловым. Dr. Web так же, как и Aidstest относится к классу детекторов - докторов, но в отличие от последнего имеет так называемый "эвристический анализатор" - алгоритм, позволяющий обнаруживать неизвестные вирусы. "Лечебная паутина", как переводится с английского название программы, стала ответом отечественных программистов на нашествие самомодифицирующихся вирусов-мутантов, которые при размножении модифицируют свое тело так, что не остается ни одной характерной цепочки байт, присутствовавшей в исходной версии вируса. В пользу этой программы говорит тот факт, что крупную лицензию (на 2000 компьютеров) приобрело Главное управление информационных ресурсов при Президенте РФ, а второй по величине покупатель "паутины" - "Инкомбанк".

Управление режимами также как и в Aidtest осуществляется с помощью ключей. Пользователь может указать программе тестировать как весь диск, так и отдельные подкаталоги или группы файлов, либо же отказаться от проверки дисков и тестировать только оперативную память. В свою очередь можно тестировать либо только базовую память, либо, вдобавок, еще и расширенную. Как и Aidstest, Doctor Web может создавать отчет о работе, загружать знакогенератор Кириллицы, поддерживать работу с программно-аппаратным комплексом Sheriff.

Тестирование винчестера Dr. Web-ом занимает намного больше времени, чем Aidstest-ом, поэтому не каждый пользователь может себе позволить тратить столько времени на ежедневную проверку всего жесткого диска. Таким пользователям можно посоветовать более тщательно проверять принесенные извне дискеты. Если информация на дискете находится в архиве (а в последнее время программы и данные переносятся с машины на машину только в таком виде; даже фирмы-производители программного обеспечения, например Borland, пакуют свою продукцию), следует распаковать его в отдельный каталог на жестком диске и сразу же, не откладывая, запустить Dr. Web, задав ему в качестве параметра вместо имени диска полный путь к этому подкаталогу. И все же нужно хотя бы раз в две недели производить полную проверку "винчестера" на вирусы с заданием максимального уровня эвристического анализа.

Так же как и в случае с Aidstest при начальном тестировании не стоит разрешать программе лечить файлы, в которых она обнаружит вирус, так как нельзя исключить, что последовательность байт, принятая в антивирусе за шаблон может встретиться в здоровой программе.

В отличие от Aidstest, программа Dr. Web:

Распознает полиморфные вирусы;

Снабжена эвристическим анализатором;

Умеет проверять и лечить файлы в архивах;

Позволяет тестировать файлы, вакцинированные CPAV, а также упакованные LZEXE, PKLITE, DIET.

Фирма "Диалог-Наука" предлагает разные версии программы DrWeb для DOS. Как известно, имеются две версии для DOS, которые традиционно называются 16-разрядной и 32-разрядной (последняя также называется Doctor Web для DOS/386, DrWeb386). В этих названиях (16- и 32-разрядная) полностью отражена суть различия версий для DOS, однако непосредственно из названий она очевидна лишь специалистам. Лишь 32-разрядная версия обладает всеми функциональными возможностями, присущими другим современным версиям Doctor Web (в частности, версиям для Windows).

    16-разрядная версия, в силу ограничений по объему доступной памяти, накладываемых операционной системой, не обладает некоторыми крайне важными на сегодняшний день "умениями", в частности, в нее не включены (и в силу указанных ограничений по памяти, не могут быть включены):
      - модули "обслуживания" известных вирусов современных типов (в частности, речь идет о макро - и стелс-вирусах); - модули эвристического анализатора для обнаружения неизвестных вирусов современных типов; - модули распаковки современных типов архивов и упакованных Windows-программ и проч.

Таким образом, хотя 16-разрядная версия использует ту же вирусную базу (VDB-файлы), что и 32-разрядные версии, отсутствие в ней некоторых модулей делает обработку соответствующих вирусов невозможной.

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

Поскольку 32-разрядная версия является полнофункциональной и, как видно из другого ее названия - Doctor Web для DOS/386, может использоваться при работе в DOS на компьютерах с процессором не ниже 386, всем пользователям, нуждающимся в версии Doctor Web для DOS, лучше использовать именно ее.

Что же касается 16-разрядной версии, то она продолжает выпускаться, поскольку еще существует парк старых машин на платформе 86/286, где 32-разрядная версия работать не может.

AVSP (Anti-Virus Software Protection)

Интересным программным продуктом является антивирус AVSP. Эта программа сочетает в себе и детектор, и доктор, и ревизор, и даже имеет некоторые функции резидентного фильтра (запрет записи в файлы с атрибутом READ ONLY). Антивирус может лечить как известные, так и неизвестные вирусы, причем о способе лечения последних программе может сообщить сам пользователь. К тому же AVSP может лечить самомодифицирующиеся и Stealth-вирусы (невидимки).

При запуске AVSP появляется система окон с меню и информация о состоянии программы. Очень удобна контекстная система подсказок, которая дает пояснения к каждому пункту меню. Она вызывается классически, клавишей F1, и меняется при переходе от пункта к пункту. Так же не маловажным достоинством в наш век Windows-ов и "Полуосей"(OS/2) является поддержка мыши. Существенный недостаток интерфейса AVSP - отсутствие возможности выбора пунктов меню нажатием клавиши с соответствующей буквой, хотя это несколько компенсируется возможностью выбрать пункт, нажав ALT и цифру, соответствующую номеру этого пункта.

В состав пакета AVSP входит также резидентный драйвер AVSP. SYS, который позволяет обнаруживать большинство невидимых вирусов (кроме вирусов типа Ghost-1963 или DIR), дезактивировать вирусы на время своей работы, а также запрещает изменять READ ONLY файлы.

Еще одна функция AVSP. SYS - отключение на время работы AVSP. EXE резидентных вирусов, правда вместе с вирусами драйвер отключает и некоторые другие резидентные программы. При первом запуске AVSP следует протестировать систему на наличие известных вирусов. При этом проверяется оперативная память, BOOT-сектор и файлы. В ряде случаев можно восстанавливать даже файлы, испорченные неизвестным вирусом. Можно установить проверку размеров файлов, их контрольных сумм, наличие в них вирусов, либо все это вместе. Так же можно указать, что именно проверять (Boot-сектор, память, или файлы). Как и в большинстве антивирусных программ, здесь пользователю предоставляется возможность выбрать между скоростью и качеством. Суть скоростной проверки заключается в том, что просматривается не весь файл, а только его начало; при этом удается обнаружить большинство вирусов. Если же вирус пишется в середину, либо файл заражен несколькими вирусами (при этом "старые" вирусы как бы оттесняются в середину "молодым") то программа его и не заметит. Поэтому следует установить оптимизацию по качеству, тем более что в AVSP качественное тестирование занимает не намного больше времени, чем скоростное.

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

Если в процессе AVSP обнаружит известный вирус, то следует предпринять те же действия, как и при работе с Aidstest и Dr. Web: скопировать файл на диск, перезагрузиться с резервной дискеты и запустить AVSP. Желательно также, чтобы при этом в память был загружен драйвер AVSP. SYS, так как он помогает основной программе лечить Stealth-вирусы.

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

В программе AVSP есть два алгоритма нейтрализации стелс-вирусов ("невидимок") и оба они работают только при наличии активного вируса в памяти. Вот, что происходит при реализации этих алгоритмов: все файлы копируются в файлы данных, а потом стираются. Спасаются только файлы с атрибутом SYSTEM. В Adinf процесс удаления Stealth-ов реализован гораздо проще.

Программа AVSP контролирует также и состояние загрузочных секторов. Если заражен BOOT-сектор на дискете и антивирус не может его вылечить, то следует стереть загрузочный код. Дискета при этом станет несистемной, но данные при этом не потеряются. С винчестером так поступать нельзя. При обнаружении изменений в одном из BOOT-секторов жесткого диска AVSP предложит его сохранить в некотором файле, а затем попытается удалить вирус.

Microsoft Antivirus

В состав современных версий MS-DOS (например, 6.22) входит антивирусная программа Microsoft Antivirus (MSAV). Этот антивирус может работать в режимах детектора-доктора и ревизора. MSAV имеет интерфейс в стиле MS-Windows, естественно, поддерживается мышь. Хорошо реализована контекстная помощь: подсказка есть практически к любому пункту меню, к любой ситуации. Универсально реализован доступ к пунктам меню: для этого можно использовать клавиши управления курсором, ключевые клавиши (F1-F9), клавиши, соответствующие одной из букв названия пункта, а также мышь. Серьезным неудобством при использовании программы является то, что она сохраняет таблицы с данными о файлах не в одном файле, а разбрасывает их по всем директориям.

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

При первой проверке MSAV создает в каждой директории, содержащей исполнимые файлы, файлы CHKLIST. MS, в которые записывает информацию о размере, дате, времени, атрибутах, а также контрольную сумму контролируемых файлов. При последующих проверках программа будет сравнивать файлы с информацией в CHKLIST. MS-файлах. Если изменились размер и дата, то программа сообщит об этом пользователю и запросит о дальнейших действиях: обновить информацию (Update), установить дату и время в соответствие с данными в CHKLIST. MS (Repair), продолжить, не обращая внимания на изменения в данном файле (Continue), прервать проверку (Stop)..

В меню Options можно сконфигурировать программу по собственному желанию. Здесь можно установить режим поиска вирусов-невидимок (Anti-Stealth), проверки всех (а не только исполнимых) файлов (Check All Files), а также разрешить или запретить создавать таблицы CHKLIST. MS (Create New Checksums). К тому же можно задать режим сохранения отчета о проделанной работе в файле. Если установить опцию Create Backup, то перед удалением вируса из зараженного файла его копия будет сохранена с расширением VIR.

Находясь в основном меню, можно просмотреть список вирусов, известных программе MSAV, нажав клавишу F9. При этом выведется окно с названиями вирусов. Чтобы посмотреть более подробную информацию о вирусе, нужно подвести курсор к его имени и нажать ENTER. Можно быстро перейти к интересующему вирусу, набрав первые буквы его имени. Информацию о вирусе можно вывести на принтер, выбрав соответствующий пункт меню.

Защита от вирусов, распространяющихся по почте

Помимо чисто административных мер, для борьбы с вирусами и другими вредоносными программами необходимо использовать специальное антивирусное программное обеспечение (антивирусы).

Для защиты от вирусов, распространяющихся по электронной почте, можно установить антивирусы на компьютерах отправителя и получателя. Однако такой защиты часто оказывается недостаточно. Обычные антивирусы, установленные на компьютерах пользователей Интернета, рассчитаны на проверку файлов и не всегда умеют анализировать поток данных электронной почты. Если антивирус не выполняет автоматическую проверку всех открываемых файлов, то вирус или троянская программа может легко просочиться сквозь защиту на диск компьютера.

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

Антивирусы для почтовых серверов.

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

Существует и другое решение - подключение к почтовым серверам обычных антивирусов, предназначенных для проверки файлов.

Антивирусная защита почтовых серверов SMTP и POP3 намного эффективнее антивирусной защиты компьютеров пользователей. Как правило, настройкой антивирусов на сервере занимается опытный администратор, который не ошибется при настройке и к тому же включит режим автоматического обновления базы данных через Интернет. Пользователи защищенных серверов SMTP и POP3 могут не беспокоиться по поводу основного канала распространения вирусов - к ним будут приходить сообщения, уже очищенные от вирусов.

Действия, выполняемые почтовыми серверами при отправке и получении зараженных писем, зависят от настройки антивируса и самого почтового сервера. Например, когда отправитель пытается послать сообщение с зараженным файлом, защищенный почтовый север SMTP откажет ему в этом, а почтовая программа выведет на экран предупреждающее сообщение.

Если же кто-то пошлет на ваш адрес письмо с зараженным файлом вложения, то при использовании защищенного сервера POP3 вместо него придет только сообщение об обнаружении вируса.

Несмотря на постоянно растущую популярность платформы Microsoft Windows, сегодня большинство серверов Интернета работает под управлением операционных систем Linux, FreeBSD и аналогичных UNIX-подобных систем. Основное преимущество Linux - очень низкая стоимость приобретения. Каждый может загрузить через Интернет дистрибутив Linux и установить его на любое количество компьютеров.

В составе этого дистрибутива есть все, что нужно для создания узла Интернета, в том числе и серверы электронной почты.

Среди други преимуществ Linux и подобных ОС следует отметить открытость, доступность исходных текстов, наличие огромного сообщества добровольных разработчиков, готовых помочь в сложных ситуациях, простое удаленное управление с помощью текстовой консоли и т. д. Для ОС этой серии было создано всего несколько десятков вирусов, что говорит о ее высокой защищенности.

Doctor Web для UNIX-систем.

Для защиты почтовых серверов, работающих под управлением операционных систем Linux, FreeBSD и Solaris, с успехом можно использовать антивирусную программу Doctor Web Игоря Данилова. В комплект антивируса входят программа-демон DrWebD и программа-сканер DrWeb, а также решения для интеграции с почтовыми системами: CommuniGate Pro, Sendmail, Qmail, Exim, Postfix.

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

При обнаружении вируса в почтовом сообщении тело вируса изымается и перемещается в зону "карантина", после чего получателю сообщения и администратору сервера посылается извещение. Таким образом пользователи Sendmail будут надежно защищены от вредоносных программ, распространяющихся через электронную почту. Аналогичный механизм взаимодействия предусмотрен и для других почтовых серверов.

Doctor Web автоматически загружает через Интернет обновления антивирусных баз данных, что необходимо для надежной антивирусной защиты.

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

Одним из несомненных достоинств программы является высокая производительность работы демона DrWebD и сканера DrWeb, достигнутая благодаря использованию совершенных алгоритмов. Это имеет особое значение в том случае, если сервер обладает малой вычислительной мощностью. Кроме того, демон, почтовый фильтр и почтовый сервер могут работать на разных компьютерах, что позволяет при необходимости балансировать нагрузку на серверы и сетевые интерфейсы.

"Антивирус Касперского" для поверки электронной почты.

Специально для защиты почтовых систем была создана программа "Антивирус Касперского (AVP) для Sendmail/Qmail/Postfix". Выполняя в реальном времени или по требованию пользователей централизованную фильтрацию всех сообщений, проходящих через почтовый сервер, эта программа удаляет вирусы из электронной почты до того, как они достигнут адресата.

При обнаружении вирусов в файлах вложений программа удаляет их и пересылает само сообщение, а также предупреждение об обнаружении вируса на заранее заданный адрес. Это позволяет администратору определять источник вирусов или других вредоновных программ. В программе реализована функция "карантин" для зараженных и подозрительных объектов. "Антивирус Касперского" может проверять не только вложенные файлы, но и встроенные в документы объекты, упакованные архивы файлов всех основных форматов, а также содержимое вложенных почтовых сообщений любого уровня вложенности.

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

Заключение

В реферате были рассмотрены основные отечественные антивирусные программы, каждая из которых имеет свои недостатки и свои преимущества. На мой взгляд, из всех отечественных программ, рассмотренных здесь, ADinf и DrWeb являются самыми полными, логически завершенными антивирусными системами. Все программы постоянно совершенствуются и обновляются. Фирма "Диалог-Наука" постоянно оповещает своих клиентов обо всех новинках, появляющихся в ее арсенале. Чтобы узнать о новых поступлениях и разработках, достаточно зайти на сайт компании в Интернете. "Диалог-Наука" предоставляет своим клиентам максимум сервиса: на сайте можно получить ознакомительную версию любой программы (которая, конечно, обладает некоторыми ограничениями по сравнению с полнофункциональной коммерческой), причем бесплатно. Одним из самых совершенных механизмов обнаружения вирусов обладает программа AVP, созданная ЗАО "Лаборатория Касперского". Главным преимуществом этой программы является борьба с макровирусами. Высок потенциал у программы AVSP, которая при соответствующей доработке (упрощении алгоритмов поиска Stealth-вирусов, введении низкоуровневой защиты, улучшении интерфейса) может занять высокие позиции в среде антивирусов. Следует принять во внимание, что некоторые антивирусные программы хорошо интегрированы между собой, то есть их можно применять совместно (например, программы ADinf, Adinf Cure Module, DrWeb и Aidstest).

Решение системы линейных уравнений в Excel

Алгоритм решения системы линейных уравнений в Microsoft Excel методом Крамера:

Первым делом мы заходим в Microsoft Excel и создаем новый документ под названием slau.

Далее в клетки от A1 до D4 (если матрица размера 4х4, при другом размере заполнять соответственное количество ячеек) заполняем соответствующие коэффициенты нашей системы линейных уравнений, как это показано в файле slau. xlsx. После чего получаем матрицу А.

В следующем столбике (в нашем случае столбике E1:E4), мы выписываем свободные коэффициенты системы линейных уравнений, как это отмечено красными цифрами в файле slau. xlsx.

Так как мы решаем СЛАУ методом Крамера, нам нужно посчитать определитель данной матрицы. Для того, что бы это сделать, отводим отдельную ячейку в таблице (не мешающей нашей исходной матрице), и в ней, используя функцию МОБР, считаем определитель матрицы в таблице A1:D4. Двоеточие в данном адресе значит содержимое от адреса предыдущей ячейки, до адреса следующей.

Снова же за методом Крамера нам нужно посчитать еще 4 определителя четырех матриц. Если номер матрицы будет равен i, и если столбец свободных коэффициентов будем обозначать b, то i-тая строка i-той матрицы будет равна b. Соответствующие матрицы вписываем (в соответствии с пунктом 6) по очереди в ячейки A6:D9, A11:D14, A16:D19, A21:D24.

Желательно вписывать в ячейки не сами значения новых матриц, а ссылки на ячейки уже готовой исходной матрицы. Т. е. в первой (не исходной) матрице, первый столбец должен быть равен столбцу свободных коэффициентов, тогда мы не будем писать сами коэффициенты, а напишем адрес их расположения следующим образом: в ячейке A6 пишем "=E1" (без кавычек), таким образом значение в А6 будет равно тому, чему равно значение в Е1. Так далее и заполняем абсолютно все ячейки всех матриц для того, чтобы если нам нужно будет посчитать другую матрицу, нам не пришлось постоянно менять все цифры, а только исходную матрицу А.

После всех операций мы считаем определители новых матриц тем же самым методом, каким мы считали их в пункте 4, и выписываем в отдельные ячейки.

Теперь, по методу Крамера, нам нужно взять значение определителя исходной матрицы, и поделить на значение определителя каждой новой матрицы i, и результат будет занесен в Xi, для каждой из которых мы так же берем отдельную ячейку.

Для того, чтобы разделить значения двух ячеек, в какой-то третьей ячейке пишем "ячейка1/ячейка2" (без кавычек), где ячейка1 - какая-то ячейка выступающая как числитель, а ячейка2 - какая-то ячейка выступающая как знаменатель.

Все значения X1, X2, X3 и X4 и есть решение системы линейных уравнений методом Крамера.

Решение задачи с использованием компьютера

Условие: Для действительных чисел Х1, У1, Х2, У2, Х3, У3, Х4, У4, Х5, У5, Х6, У6, таких что точки с координатами (Х1, У1), (Х2, У2), (Х3, У3) - вершины первого треугольника, а (Х4, У4), (Х5, У5), (Х6, У6) - вершины второго треугольника. Определить, находится ли первый треугольник полностью внутри второго.

Блок-схема:

Да Нет

Исходный код Паскаля

Const t=0.01;

Function Plosh(x1,y1,x2,y2,x3,y3:real):real;

Begin

Plosh:=abs(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))/2;

End;

Function Prin(x1,y1,x2,y2,x3,y3,x, y:real):boolean;

Var s, s1,s2,s3:real;

Begin

S:=Plosh(x1,y1,x2,y2,x3,y3);

S1:=Plosh(x1,y1,x2,y2,x, y);

S2:=Plosh(x1,y1,x3,y3,x, y);

S3:=Plosh(x2,y2,x3,y3,x, y);

Prin:=abs(s-s1-s2-s3)<=t;

End;

Var x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6:real;

S, s1,s2:real;

Begin

Writeln('Vvedite koorti treugolnika 1:');

Readln(x1,y1,x2,y2,x3,y3);

Writeln('Vvedite koorti treugolnika 2:');

Readln(x4,y4,x5,y5,x6,y6);

If (Prin(x1,y1,x2,y2,x3,y3,x4,y4)

And Prin(x1,y1,x2,y2,x3,y3,x5,y5)

And Prin(x1,y1,x2,y2,x3,y3,x6,y6))

Or (Prin(x4,y4,x5,y5,x6,y6,x1,y1)

And Prin(x4,y4,x5,y5,x6,y6,x2,y2)

And Prin(x4,y4,x5,y5,x6,y6,x3,y3)) then

Begin

Writeln('Odin treugolnik polnostiyu prinadlegit drugomu');

End

Else writeln('Ni odin treugolnik ne prinadlegit drugomu');

Readln

End.

Результат программы:

Vvedite koorti treugolnika 1:

    8 5 6 7 2 1

Vvedite koorti treugolnika 2:

    9 6 7 5 1 1

Ni odin treugolnik ne prinadlegit drugomu

Похожие статьи




Вирусы и антивирусное программное обеспечение

Предыдущая | Следующая