Компьютерный вирус - понятие и классификация.

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

 Программа,  внутри  которой находится  вирус, называется "зараженной". Когда такая программа начинает работу, то сначала управление  получает вирус. Вирус находит и "заражает" другие программы, а также выполняет какие-нибудь вредные действия (например, портит файлы  или  таблицу  размещения  файлов на диске, "засоряет"  оперативную память и т.д.). Для маскировки  вируса действия  по заражению  других программ и нанесению вреда могут выполняться не  всегда, а, скажем, при выполнении  определенных условий. 
Например, вирус Anti-MIT ежегодно 1 декабря разрушает всю информацию на жестком диске, вирус Tea Time мешает вводить информацию с клавиатуры с 15:10 до 15:13, а знаменитый One Half, в течение всего прошлого года «гулявший» и по нашему городу, незаметно шифрует данные на жестком диске. В 1989 году американский студент сумел создать вирус, который вывел из строя около 6000 компьютеров Министерства обороны США. Эпидемия известного вируса Dir-II разразилась в 1991 году. Вирус использовал действительно оригинальную, принципиально новую технологию и на первых порах сумел широко распространиться за счет несовершенства традиционных антивирусных средств. Кристоферу Пайну удалось создать вирусы Pathogen и Queeq, а также вирус Smeg. Именно последний был самым опасным, его можно было накладывать на первые два вируса, и из-за этого после каждого прогона программы они меняли конфигурацию. Поэтому их было невозможно уничтожить. Чтобы распространить вирусы, Пайн скопировал компьютерные игры и программы, заразил их, а затем отправил обратно в сеть. Пользователи загружали в свои компьютеры зараженные программы и инфицировали диски. Ситуация усугубилась тем, что Пайн умудрился занести вирусы и в программу, которая с ними борется. Запустив ее, пользователи вместо уничтожения вирусов получали еще один. В результате этого были уничтожены файлы множества фирм, убытки составили миллионы фунтов стерлингов.
Широкую известность получил американский программист Моррис. Он известен как создатель вируса, который  в ноябре 1988 года заразил порядка 7 тысяч персональных компьютеров, подключенных к Internet.

Первые исследования саморазмножающихся искусственных конструкций проводились в середине нынешнего столетия. Термин «компьютерный вирус» появился позднее - официально его автором считается сотрудник Лехайского университета (США) Ф.Коэн в 1984 году на седьмой конференции по безопасности информации.
Эксперты считают, что на сегодняшний день число существующих вирусов перевалило за 20 тысяч, причем ежедневно появляется от 6 до 9 новых. «Диких», то есть реально циркулирующих вирусов в настоящее время насчитывается около 260. 

Один из авторитетнейших «вирусологов» страны Евгений Касперский предлагает условно классифицировать вирусы  по следующим признакам :
•	по среде обитания вируса
•	по способу заражения среды обитания
•	по деструктивным возможностям
•	по особенностям алгоритма вируса.

Более подробную классификацию внутри этих  групп можно представить примерно так :

		сетевые	распространяются по компьютерной сети	
Среда обитания: 		файловые	внедряются в выполняемые файлы	
		загрузочные	внедряются в загрузочный сектор диска (Boot-сектор) 	
				
Способы 		резидентные	находятся в памяти, активны до выключения компьютера	
заражения:		нерезидентные	не заражают память, являются активными ограниченное время	
				
		безвредные	практически не влияют на работу; уменьшают свободную память на диске в результате своего распространения	
Деструктивные		неопасные	уменьшают свободную  память, создают звуковые, графические и прочие эффекты	
возможности:		опасные	могут привести к серьезным сбоям в работе	
		очень опасные	могут привести к потере программ или  системных данных 	
				
		вирусы-«спутники»	вирусы, не изменяющие файлы, создают для ЕХЕ-файлов файлы-спутники с расширением ,СОМ	
		вирусы-«черви»	распространяются по сети, рассылают свои копии, вычисляя сетевые адреса	
Особенности 		«паразитические»	изменяют содержимое дисковых секторов или файлов	
алгоритма		«студенческие»	примитив, содержат большое количество ошибок	
вируса:		«стелс»-вирусы 
(невидимки)	перехватывают обращения DOS к пораженным файлам или секторам и подставляют вместо себя незараженные участки	
		вирусы-призраки	не имеют ни одного постоянного участка кода, труднообнаружи- ваемы, основное тело вируса зашифровано	
		макровирусы	пишутся не в машинных кодах, а на WordBasic, живут в документах Word, переписывают себя в Normal.dot  	

Основными путями проникновения вирусов в компьютер являются съемные диски (гибкие и лазерные), а также компьютерные сети. Заражение жесткого диска вирусами может произойти при загрузке программы с дискеты, содержащей вирус. Такое заражение может быть и случайным, например, если дискету не вынули из дисковода А и перезагрузили компьютер, при этом дискета может быть и не системной. Заразить дискету гораздо проще. На нее вирус может попасть, даже если дискету просто вставили в дисковод зараженного компьютера и, например, прочитали ее оглавление. 

Как работает вирус.

Рассмотрим схему функционирования очень простого загрузочного вируса, заражающего дискеты.
Что  происходит, когда вы включаете компьютер? Первым делом управление передается программе начальной загрузки, которая хранится в постоянно запоминающем устройстве (ПЗУ) т.е. ПНЗ ПЗУ.
Эта программа тестирует оборудование и при успешном завершении проверок пытается найти дискету в дисководе А:
Всякая дискета размечена на т.н. секторы и дорожки. Секторы объединяются в кластеры, но это для нас несущественно.
Среди секторов есть несколько служебных, используемых операционной системой для собственных нужд (в этих секторах  не могут размещаться ваши данные). Среди служебных секторов нас пока интересует один - т.н. сектор начальной загрузки (boot-sector).
В секторе начальной загрузки хранится информация о дискете - количество поверхностей, количество дорожек, количество секторов и пр. Но нас сейчас интересует не эта информация, а небольшая программа начальной загрузки (ПНЗ), которая должна загрузить саму операционную систему и передать ей управление.
Таким образом, нормальная схема начальной загрузки следующая:
ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА
Теперь рассмотрим вирус. В загрузочных вирусах выделяют две части - т.н. голову и т.н. хвост. Хвост, вообще говоря, может быть пустым.
Пусть у вас имеются чистая дискета и зараженный компьютер, под которым мы понимаем компьютер с активным резидентным вирусом. Как только этот вирус обнаружит, что в дисководе появилась подходящая жертва - в нашем случае не защищенная от записи и еще не зараженная дискета, он приступает к заражению. Заражая дискету, вирус производит следующие действия:
•	выделяет некоторую область диска и помечает ее как недоступную операционной системе, это можно сделать по-разному, в простейшем и традиционном случае занятые вирусом секторы помечаются как сбойные (bad)
•	копирует в выделенную область диска свой хвост и оригинальный (здоровый) загрузочный сектор
•	замещает программу начальной загрузки в загрузочном секторе (настоящем) своей головой
•	организует цепочку передачи управления согласно схеме.
Таким образом, голова вируса теперь первой получает управление, вирус устанавливается в память и передает управление оригинальному загрузочному сектору. В цепочке
ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА
появляется новое звено:
ПНЗ (ПЗУ) - ВИРУС - ПНЗ (диск) - СИСТЕМА
Мы рассмотрели схему функционирования простого бутового вируса, живущего в загрузочных секторах дискет. Как правило, вирусы способны заражать не только загрузочные секторы  дискет, но и загрузочные секторы винчестеров. При этом в отличие от дискет на винчестере имеются два типа загрузочных секторов, содержащих программы начальной загрузки, которые получают управление. При загрузке компьютера с винчестера первой берет на себя управление программа начальной загрузки в MBR (Master Boot Record - главная загрузочная запись). Если ваш жесткий диск разбит на несколько разделов, то лишь один из них помечен как загрузочный (boot). Программа начальной загрузки в MBR находит загрузочный раздел винчестера и передает управление на программу начальной загрузки этого раздела. Код последней совпадает с кодом программы начальной загрузки, содержащейся на обычных дискетах, а соответствующие  загрузочные секторы отличаются только таблицами параметров. Таким образом, на винчестере имеются два объекта атаки загрузочных вирусов - программа начальной загрузки в MBR и программа начальной загрузки boot-секторе загрузочного диска.

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

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

Методы защиты. Антивирусы.

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

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

Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют обнаруживать и уничтожать вирусы. Такие программы называются антивирусными. Различают следующие виды антивирусных программ:
•	программы-детекторы
•	программы-доктора или фаги
•	программы-ревизоры
•	программы-фильтры
•	программы-вакцины или иммунизаторы
Программы-детекторы осуществляют поиск характерной для конкретного вируса сигнатуры в оперативной памяти и в файлах и при обнаружении выдают соответствующее сообщение. Недостатком таких антивирусных программ является то, что они могут находить только те вирусы, которые известны разработчикам таких программ.
Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и «лечат» их, т.е. удаляют из файла тело программы-вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к «лечению» файлов. Среди фагов выделяют полифаги, т.е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известные из них: Aidstest, Scan, Norton AntiVirus, Doctor Web.
Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление версий.
Программы-ревизоры относятся к самым надежным средствам защиты от вирусов. Ревизоры запоминают исходное состояние программ, каталогов и системных областей диска тогда, когда компьютер не заражен вирусом, а затем периодически или по желанию пользователя сравнивают текущее состояние с исходным. Обнаруженные изменения выводятся на экран монитора. Как правило, сравнение состояний производят сразу после загрузки операционной системы. При сравнении проверяются длина файла, код циклического контроля  (контрольная сумма файла), дата и время модификации, другие параметры. Программы-ревизоры имеют достаточно развитые алгоритмы, обнаруживают стелс-вирусы и могут даже очистить изменения версии проверяемой программы от изменений, внесенных вирусом. К числу программ-ревизоров относится широко распространенная в России программа Adinf.
Программы-фильтры или «сторожа» представляют собой небольшие резидентные программы, предназначенные для обнаружения подозрительных действий при работе компьютера, характерных для вирусов. Такими действиями могут являться:
•	попытки коррекции файлов с расширениями COM, EXE
•	изменение атрибутов файла
•	прямая запись на диск по абсолютному адресу
•	запись в загрузочные сектора диска
•	загрузка резидентной программы
При попытке какой-либо программы произвести указанные действия «сторож» посылает пользователю сообщение и предлагает запретить или разрешить соответствующее действие. Программы-фильтры весьма полезны, так как способны обнаружить вирус на самой ранней стадии его существования до размножения. Однако, они не «лечат» файлы и диски. Для уничтожения вирусов требуется применить другие программы, например фаги. К недостаткам программ-сторожей можно отнести их «назойливость»(например, они постоянно выдают предупреждение о любой попытке копирования исполняемого файла), а также возможные конфликты с другим программным обеспечением. Примером программы-фильтра является программа Vsafe, входящая в состав пакета утилит MS DOS.
Вакцины или иммунизаторы - это резидентные программы, предотвращающие заражение файлов. Вакцины применяют, если отсутствуют программы-доктора, «лечащие» этот вирус. Вакцинация возможна только от известных вирусов. Вакцина модифицирует программу или диск таким образом, чтобы это не отражалось на их работе, а вирус будет воспринимать их зараженными и поэтому не внедрится. В настоящее время программы-вакцины имеют ограниченное применение.
Своевременное обнаружение зараженных вирусами файлов и дисков, полное уничтожение обнаруженных вирусов на каждом компьютере позволяют избежать распространения вирусной эпидемии на другие компьютеры.

Для того, чтобы не подвергнуть компьютер заражению вирусами и обеспечить надежное хранение информации на дисках, необходимо соблюдать следующие правила:
•	оснастите свой компьютер современными антивирусными программами, например Aidstest, Doctor Web, и постоянно возобновляйте их версии
•	перед считыванием с дискет информации, записанной на других компьютерах, всегда проверяйте эти дискеты на наличие вирусов, запуская антивирусные программы своего компьютера
•	при переносе на свой компьютер файлов в архивированном виде проверяйте их сразу же после разархивации на жестком диске, ограничивая область проверки только вновь записанными файлами
•	периодически проверяйте на наличие вирусов жесткие диски компьютера, запуская антивирусные программы для тестирования файлов, памяти и системных областей дисков с защищенной от записи дискеты, предварительно загрузив операционную систему с защищенной от записи системной дискеты
•	всегда защищайте свои дискеты от записи при работе на других компьютерах, если на них не будет производится запись информации
•	обязательно делайте архивные копии на дискетах ценной для вас информации
•	не оставляйте в кармане дисковода А дискеты при включении или перезагрузке операционной системы, чтобы исключить заражение компьютера загрузочными вирусами
•	используйте антивирусные программы для входного контроля всех исполняемых файлов, получаемых из компьютерных сетей
•	для обеспечения большей безопасности применения Aidstest и Doctor Web необходимо сочетать с повседневным использованием ревизора диска Adinf.

Антивирусная программа AntiViral Toolkit Pro.

Антивирусная программа AVP разработана ведущей российской компанией «Лаборатория Касперского». Программа вышла на мировой рынок и довольно активно продается во многих странах.

При запуске AVP загружает антивирусные базы, тестирует оперативную память, на наличие резидентных вирусов и проверяет себя на заражение вирусом. После успешной загрузки в строке состояния появляется сообщение  « Последнее обновление:  <дата> , <количество> вирусов » , где <дата> - дата последнего обновления, а <количество> - количество известных вирусов (данные о вирусах находятся в файлах с расширением .AVC)

Главное окно программы содержит четыре пункта меню:
•	файл
•	поиск вирусов
•	сервис
•	?
пять вкладок:
•	область
•	объекты
•	действия
•	настройки 
•	статистика
кнопки « Пуск » (« Стоп » во время сканирования диска) и окно просмотра  « Объект - Результат ». При загрузке автоматически открывается вкладка  « Область » (рис.1.) . Для начала сканирования нужно выбрать на закладке                 « Область »  диски и/или папки которые вы хотите проверить и нажать кнопку « Пуск » (или пункт меню « Поиск вирусов  Пуск »). Выбрать проверяемый диск и/или папки можно щелкнув на нужном объекте два раза левой клавишей мыши. Чтобы быстрее выделить диски нужно поставить соответствующие флажки « Локальные диски » и/или « Сетевые диски » и/или « Флоппи-дисководы ». Если вы хотите выбрать папку для сканирования то нужно нажать клавишу « Выбрать папку », после чего перед вами появиться стандартное диалоговое окно Windows 95, в котором нужно выбрать имя папки, которую вы хотите добавить в область тестирования. Если нажать кнопку « Пуск », без выбора объекта для проверки, то AVP выдаст сообщение: Не задана область сканирования. Пожалуйста, отметьте диски на закладке «Область». Если Вы хотите срочно остановить тестирование, нажмите  кнопку « Стоп » или выберите пункт меню « Поиск вирусов  Стоп ».

Вкладка « Объекты », задает список объектов подлежащих сканированию, и типы файлов, которые будут тестироваться.
На вкладке объекты можно установить следующие флажки:
•	Память - включить процедуру сканирования системной память (в том числе и High Memory Area)
•	Сектора - включить в процедуру сканирования проверку системных секторов
•	Файлы - включить в процедуру сканирования проверку файлов (в том числе файлов с атрибутами Hidden, System, ReadOnly)
•	Упакованные объекты - включить Unpack Engine, распаковывающий для тестирования файлы
Архивы - включить Extract Engine, позволяющий проводить поиск вирусов в архивах.

«Тип файлов» содержит четыре переключателя:
Программы по формату - сканировать программы (Файлы .com, .exe, .vxd, .dll и форматы Microsoft Office). Таким образом,  при сканировании по формату проверяются все файлы, которые могут содержать код вируса. 
Программы по расширению - сканировать все файлы, имеющие расширение *.BAT, *.COM, *.EXE, *.OV*, *.SYS, *.BIN, *PRG.
Все файлы - сканировать все файлы.
По маске - сканировать по маске, заданной пользователем в строке ввода. 

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

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

Настройки позволяют пользователю показывать во время сканирования имя проверяемого объекта в столбце «Объект», в окне «Результат» напротив имени объекта будет появляться сообщение «в порядке», если объект чистый. Можно также установить подачу звукового сигнала при обнаружении вируса, что на практике очень полезно, так как процесс сканирования достаточно длителен и однообразен. Можно также следить за последовательностью сканирования (флажок Слежение за отчетом) или записать файл отчета, указав имя результирующего файла (флажок Файл отчета). Поставив этот флажок пользователь получает доступ в двум вспомогательным флажкам: 
•	Добавить - новый отчет будет дописываться строго в конец старого
•	Ограничение размера- ограничение размера файла отчета по желанию пользователя ( по умолчанию - 500 килобайт)

После окончания проверки указанных объектов автоматически активизируется вкладка «Статистика»

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

База сигнатур AVP одна из самых больших - последняя версия программы содержит более 25000 вирусов. Нужно отметить, что работа с программой не вызывает затруднений даже  у неопытного пользователя, а получить новую версию легко можно из Internet.

СПИСОК  ИСПОЛЬЗОВАННОЙ  ЛИТЕРАТУРЫ

Ахметов К. Курс молодого бойца. Москва, Компьютер-пресс,1997.

Касперский Е. Компьютерный вирусы в MS-DOS. Москва, Эдель-Ренессанс,1992.

Мир ПК. № 4,1998.