Вирусы и антивирусы. 2



 

Введение

 

Мы живем на стыке двух тысячелетий, когда человечество вступило в эпоху новой научно-технической революции.

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

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

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

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

Первые исследования саморазмножающихся искусственных конструкций проводились в середине прошлого столетия. В работах фон Неймана, Винера и других авторов дано определение и проведён математический анализ конечных автоматов, в том числе и самовоспроизводящихся. Термин "компьютерный вирус" появился позднее. Официально считается, что его впервые употребил сотрудник Лехайского университета (США) Ф. Коэн в 1984 г. на 7-й конференции по безопасности информации, проходившей в США. С тех пор прошло немало времени, острота проблемы вирусов многократно возросла, однако строго определения, что такое компьютерный вирус, так и не дано, несмотря на то, что многие пытались это сделать неоднократно.

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

1 Вирусы

 

1.1   Характеристика вирусов.

 

Компьютерные вирусы - вредоносные само распространяющиеся программы; основным признаком компьютерного вируса является его способность создавать собственные копии (не всегда похожие на оригинал) и внедрять их в исполняемые объекты (программы, системные области).

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

(«Virus» - лат.) - вид программ, характеризующихся способностью скрытого от пользователя саморазмножения для поражения других программ, компьютеров или сетей.

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

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

        среда обитания;

        операционная система;

        особенности алгоритма работы;

        деструктивные возможности.

В зависимости от среды обитания вирусы можно разделить:

        файловые;

        загрузочные;

        макровирусы;

        сетевые.

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

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

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

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

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

Заражаемая операционная система является вторым уровнем деления вирусов на классы.

Каждый файловый и сетевой вирус заражает файлы какой-либо одной или нескольких операционных систем - DOS, Windows, Win95/NT, OS/2 и т.д.

Макровирусы заражают файлы форматов Word, Excel, Office 97.

Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков.

 

1.2   Алгоритм работы вирусов

 

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

        резидентность;

        использование “стелс”-алгоритмов;

        самошифрование и полиморфичность;

        использование нестандартных приёмов.

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

Резидентными можно считать макровирусы, поскольку они также присутствуют памяти компьютера в течение всего времени работы заражённого редактора. При этом роль операционной системы берёт на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из             редактора.

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

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

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

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

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

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

        безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);

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

        опасные вирусы, которые могут привести к серьёзным сбоям в работе компьютера;

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

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

Основными путями проникновения вирусов в компьютер являются съемные диски (гибкие и лазерные), а также компьютерные сети. Наиболее часто вирусом заражаются загрузочный сектор диска и исполняемые файлы, имеющие расширения EXE, COM, SYS, BAT. Крайне редко заражаются текстовые файлы. После заражения программы вирус может выполнить какую-нибудь диверсию, не слишком серьезную, чтобы не привлечь внимания. И, наконец, не забывает возвратить управление той программе, из которой был запущен. Каждое выполнение зараженной программы переносит вирус в следующую. Таким образом, заразится все программное обеспечение.

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

        медленная работа компьютера;

        исчезновение файлов и каталогов или искажение их содержимого;

        изменение даты и времени модификации файлов;

        изменение размеров файлов;

        неожиданное значительное увеличение количества файлов на диске;

        существенное уменьшение размера свободной оперативной памяти;

        вывод на экран непредусмотренных сообщений или изображений;

        подача непредусмотренных звуковых сигналов;

        частые зависания и сбои в работе компьютера;

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

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

Для защиты от вирусов можно использовать:

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

        профилактические меры, позволяющие уменьшить вероятность  заражения вирусом;

        специализированные программы для защиты от вирусов.

Общие средства защиты информации полезны не только для защиты от вирусов. Имеются две основные разновидности этих средств:

        копирование информации - создание копий  файлов  и  системных  областей дисков;

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 Методы обнаружения вирусов

 

2.1 Метод соответствия определению вирусов в словаре

 

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

1.        Удалить инфицированный файл.

2.        Заблокировать доступ к инфицированному файлу.

3.        Отправить файл в карантин (то есть сделать его недоступным для выполнения с целью недопущения дальнейшего распространения вируса).

4.        Попытаться восстановить файл, удалив сам вирус из тела файла.

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

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

Для многих антивирусных программ со словарем характерна проверка файлов в тот момент, когда операционная система создает, открывает, закрывает или посылает их по почте. Таким образом, программа может обнаружить известный вирус сразу после его получения. Заметьте также, что системный администратор может установить в антивирусной программе расписание для регулярной проверки (сканирования) всех файлов на жестком диске компьютера. Хотя антивирусные программы, созданные на основе поиска соответствия определению вируса в словаре, при обычных обстоятельствах могут достаточно эффективно препятствовать вспышкам заражения компьютеров, авторы вирусов стараются держаться на полшага впереди таких программ-антивирусов, создавая «олигоморфические», «полиморфические» и самые новые, «метаморфические» вирусы, в которых некоторые части шифруются или искажаются так, чтобы было невозможно обнаружить совпадение с определением в словаре вирусов.

 

2.2 Метод обнаружения странного поведения программ

 

Антивирусы, использующие метод обнаружения подозрительного поведения программ не пытаются идентифицировать известные вирусы, вместо этого они прослеживают поведение всех программ. Если программа пытается записать какие-то данные в исполняемый файл (exe-файл), программа-антивирус может пометить этот файл, предупредить пользователя и спросить что следует сделать. В настоящее время, подобные превентивные методы обнаружения вредоносного кода, в том или ином виде, широко применяются в качестве модуля антивирусной программы, а не отдельного продукта. Другие названия: Проактивная защита, Поведенческий блокиратор, Host Intrusion Prevention System (HIPS). В отличие от метода поиска соответствия определению вируса в антивирусных базах, метод обнаружения подозрительного поведения даёт защиту от новых вирусов, которых ещё нет в антивирусных базах. Однако следует учитывать, что программы или модули, построенные на этом методе, выдают также большое количество предупреждений (в некоторых режимах работы), что делает пользователя мало восприимчивым ко всем предупреждениям. В последнее время эта проблема ещё более ухудшилась, так как стало появляться всё больше не вредоносных программ, модифицирующих другие exe-файлы, несмотря на существующую проблему ошибочных предупреждений. Несмотря на наличие большого количества предупреждающих диалогов, в современном антивирусном программном обеспечении этот метод используется всё больше и больше. Так, в 2006 году вышло несколько продуктов, впервые реализовавших этот метод: Kaspersky Internet Security, Kaspersky Antivirus, Safe’n’Sec, F-Secure Internet Security, Outpost Firewall Pro, DefenceWall. Многие программы класса файрволл издавна имели в своем составе модуль обнаружения странного       поведения программ.

 

2.3 Метод обнаружения при помощи эмуляции

 

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

 

2.4 Метод «Белого списка»

 

Общая технология по борьбе с вредоносными программами — это «белый список». Вместо того, чтобы искать только известные вредоносные программы, это технология предотвращает выполнение всех компьютерных кодов за исключением тех, которые были ранее обозначены системным администратором как безопасные. Выбрав этот параметр отказа по умолчанию, можно избежать ограничений, характерных для обновления сигнатур вирусов. К тому же, те приложения на компьютере, которые системный администратор не хочет устанавливать, не выполняются, так как их нет в «белом списке». Так как у современных предприятий есть множество надежных приложений, ответственность за ограничения в использовании этой технологии возлагается на системных администраторов и соответствующим образом составленные ими «белые списки» надежных приложений. Работа антивирусных программ с такой технологией включает инструменты для автоматизации перечня и эксплуатации действий с «белым списком».

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

Известные ныне антивирусные программы можно разделить на несколько типов:

1.        Детекторы.

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

2.        Доктора (Фаги. Фаг).

Это программа, которая способна не только обнаружить, но и уничтожить вирус, т.е. удалить его код из зараженных программ и восстановить их работоспособность (если возможно). Известнейшим в России фагом является Aidstest, созданный Д.Н.Лозинским. Одна из последних версий обнаруживает более 8000 вирусов. Aidstest для своего нормального функционирования требует, чтобы в памяти не было резидентных антивирусов, блокирующих запись в программные файлы, поэтому их следует выгрузить, либо, указав опцию выгрузки самой резидентной программе, либо воспользоваться соответствующей             утилитой.

3.        Ревизоры.

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

4.        Вакцины.

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

 

3.1 Разновидности антивирусных программ

 

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

Основными функциональными особенностями Dr. Web 4.33 являются:

        защита от червей, вирусов, троянов, полиморфных вирусов, макровирусов, spyware, программ-дозвонщиков, adware, хакерских утилит и вредоносных скриптов;

        обновление антивирусных баз до нескольких раз в час, размер каждого обновления до 15 KB;

        проверка системной памяти компьютера, позволяющая обнаружить вирусы, не существующие в виде файлов (например, CodeRed или Slammer);

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

Любой современный антивирусный продукт - это не только набор отдельных технологий детектирования, но и сложная система защиты, построенная на собственном понимании антивирусной компанией того, как нужно обеспечивать безопасность от вредоносных программ. При этом принятые многие годы назад архитектурные и технические решения серьезно ограничивают возможности изменять соотношение проактивных и реактивных методов защиты. Например, в антивирусной системе Eset NOD32 используются как эвристические, так и сигнатурные методы борьбы с вредоносным кодом, но роли между этими двумя технологиями распределяются не так, как в других антивирусах: в то время как большинство антивирусов отталкивается от сигнатурных методов, дополняя их эвристиками, у Eset NOD32 все наоборот. Основным способом противостояния вредоносным программам здесь являются так называемые расширенные эвристики (Advanced Heuristics), представляющие собой сочетание эмуляции, эвристик, алгоритмического анализа и сигнатурного метода. В итоге расширенные эвристики Eset NOD32 позволяют проактивно детектировать почти 90% всех угроз, а остальные устраняются сигнатурными методами. Надежность такого под хода подтверждается результатами независимых        тестирований.

Антивирус Касперского Personal предназначен для антивирусной защиты персональных компьютеров, работающих под управлением операционных систем Windows 98/ME, 2000/NT/XP, Windows Vista, Windows 7 от всех известных видов вирусов, включая потенциально опасное программное обеспечение. Программа осуществляет постоянный контроль всех источников проникновения вирусов - электронной почты, интернета, дискет, компакт-дисков и т.д. Уникальная система эвристического анализа данных эффективно нейтрализует неизвестные вирусы. Можно выделить следующие варианты работы программы (они могут использоваться как отдельно, так и в совокупности):

1.        Постоянная защита компьютера - проверка всех запускаемых, открываемых и сохраняемых на компьютере объектов на присутствие вирусов.

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

Программа создает надежный барьер на пути проникновения вирусов через электронную почту. Антивирус Касперского Personal автоматически осуществляет проверку и лечение всей входящей и исходящей почтовые корреспонденции по протоколам POP3 и SMTP и эффективно обнаруживает вирусы в почтовых базах. Программа поддерживает более семисот форматов архивированных и сжатых файлов и обеспечивает автоматическую антивирусную проверку их содержимого, а также удаление вредоносного кода из архивных файлов формата ZIP, CAB, RAR, ARJ, LHA и ICE. В состав Антивируса Касперского включен специальный компонент, обеспечивающий защиту файловой системы компьютера от заражения, - Файловый Антивирус. Он запускается при старте операционной системы, постоянно находится в оперативной памяти компьютера и проверяет все открываемые, сохраняемые и запускаемые вами или программами файлы.

 

3.1.1 Антивирус NOD32

 

NOD32 - антивирусный пакет, выпускаемый фирмой Eset. Возник в конце 1998 года. Название изначально расшифровывалось как Nemocnica na Okraji Disku ("Больница на краю диска").

NOD32 - это комплексное антивирусное решение для защиты в реальном времени от широкого круга угроз. Eset NOD32 обеспечивает защиту от вирусов, а также от других угроз, включая троянские программы, черви, spyware, adware, phishing-атаки. В решении Eset NOD32 используется патентованная технология ThreatSense®. Эта технология предназначена для выявления новых возникающих угроз в реальном времени путем анализа выполняемых программ на наличие вредоносного кода, что позволяет предупреждать действия авторов вредоносных программ.

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

Дружественный интерфейс программы лёгок и интуитивно понятен, настройка не вызывает проблем.

Высокая производительность Эффективное обнаружение вредоносных программ не обязательно должно замедлять работу компьютера. NOD32 по большей части написан на языке ассемблера и неоднократно выигрывал награды за высочайшую производительность среди антивирусных приложений. NOD32 в среднем в 2-5 раз быстрее, чем его конкуренты (источник: Virus Bulletin).