Компьютерные вирусы
Многие разновидности вирусовустроены так, что при запуске зараженнойпрограммы вирус остается резидентно, т.е. до перезагрузки DOS, в памяти компьютера и время от времени заражает программы и выполняет вредные действия на компьютере.
Компьютерный вирус может испортить, т.е. изменить ненадлежащим образом, любой файл на имеющих в компьютере дисках. Но некоторые виды файлов вирус может "заразить". Это означает, что вирусможет "внедриться" в эти файлы, т.е. изменить их так, что они будут содержатьвирус, который при некоторых обстоятельствах может начать свою работу.
Следует заметить, что текстыпрограмм и документов, информационные файлы без данных, таблицы табличныхпроцессоров и другие аналогичные файлыне могут быть заражены вирусом, он может их только испортить.
------- ПРОЯВЛЕНИЕ НАЛИЧИЯ ВИРУСА В РАБОТЕ НА ПЭВМ -------
Все действия вируса могутвыполняться достаточнобыстро и без выдачи каких-либо сообщений, поэтомупользователюочень труднозаметить, что в компьютере происходит что-то необычное.
Пока на компьютере заражено относительно малопрограмм, наличие вируса может быть практически незаметно. Однако по прошествии некоторого времени на компьютере начинает твориться что-то странное, например:
*некоторые программы перестают работать или начинают работать неправиль но;
*на экран выводятся посторонние сообщения, символы и т.д.;
*работа на компьютере существенно замедляется;
*некоторые файлы оказываются испорченными и т.д.
К этому моменту, какправило, ужедостаточномного (илидаже большинство) программ являются зараженными вирусом, а некоторые файлы и диски - испорченными. Более того, зараженные программы с одного компьютера могли быть перенесены с помощью дискет или по локальной сети на другие компьютеры.
Некоторые виды вирусовведут себя еще болеековарно.Они вначале незаметно заражают большое число программ или дисков, а потом причняют очень серьезные повреждения, напримерформируют весь жесткий диск на компьютере. А бывают вирусы, которые стараются вести себя как можно более незаметно, но понемногу и постепенно портят данные на жестком диске компьютера.
Таким образом, если не предпринимать мер по защите от вируса, топоследствия заражения компьютера могут быть очень серьезными.
-------- РАЗНОВИДНОСТИ КОМПЬЮТЕРНЫХ ВИРУСОВ --------
Каждая конкретная разновидность вируса может заражать только один или два типа файлов. Чаще всего встречаются вирусы, заражающие исполнимые файлы. Некоторые вирусы заражают и файлы, и загрузочные области дисков. Вирусы, заражающиедрайверы устройств, встречаются крайне редко, обычно такие вирусыумеют заражатьи исполнимые файлы.
В последнее время получили распространение вирусы нового типа - вирусы, имеющие файловуюсистему на диске. Эти вирусы обычно называютсяDIR. Такиевирусы прячут свое тело в некоторыйучасток диска (обычно - в последний кластер диска) и помечают его в таблице размещения файлов (FAT) как конец файла.
Чтобы предотвратить свое обнаружение, некоторые вирусы применяют довольно хит-
рые приемы маскировки. Ярасскажу о двух из них: "невидимых" и самомодифицирую-
щихся вирусах.
"НЕВИДИМЫЕ" вирусы.Многиерезидентныевирусы(и файловые, и загрузочные)
предотвращают свое обнаружение тем, чтоперехватывают обращенияDOS (и тем самым
прикладных программ) к зараженным файлам и областям диска и выдают их в исходном
(незараженном) виде. Разумеется, этотэффект наблюдаетсятолько назараженном
компьютере - на "чистом" компьютереизмененияв файлах изагрузочных областях
диска можно легко обнаружить.
САМОМОДИФИЦИРУЮЩИЕСЯ вирусы. Другой способ, применяемыйвирусамидлятого,
чтобы укрыться отобнаружения, - модификация своего тела. Многиевирусы хранят
большую часть своего тела в закодированном виде, чтобы с помощьюдизассемблеров
нельзя было разобраться в механизме их работы. Самомодифицирующиеся вирусы испо-
льзуют этот прием и часто меняют параметры этой кодировки, а кроме того, изменя-
ют и свою стартовую часть, которая служит для раскодировки остальных командви-
руса. Таким образом, в теле подобного вируса не имеется ни однойпостоянной це-
почки байтов, по которой можно было бы идентифицироватьвирус. Это, естествен-
но, затрудняет нахождение таких вирусов программами-детекторами.
-------- МЕТОДЫ ЗАЩИТЫ ОТ КОМПЬЮТЕРНЫХ ВИРУСОВ --------
Каким бы не был вирус, пользователю необходимо знатьосновныеметоды защиты
от компьютерных вирусов.
Для защиты от вирусов можно использовать:
*общие средства защиты информации, которые полезны также и как страховка
от физической порчи дисков, неправильно работающих программ или ошибоч-
ных действий пользователя;
профилактические меры, позволяющие уменьшить вероятностьзаражения ви-
русом;
*специализированные программы для защиты от вирусов.
Общие средства защиты информации полезны не только для защиты от вирусов. Име-
ются две основные разновидности этих средств:
*копирование информации - создание копийфайловисистемныхобластейдисков;
*разграничениедоступапредотвращает несанкционированное использова
ние
информации, в частности, защиту от изменений программ и данныхвируса-
ми, неправильно работающими программами и ошибочными действиями пользо-
вателей.
Несмотря на то, что общие средства защиты информацииочень важныдля защиты
от вирусов, все же их недостаточно.Необходимо и применениеспециализированных
программ для защиты от вирусов. Эти программы можно разделить нанесколькови-
дов:детекторы, доктора (фаги), ревизоры, доктора-ревизоры, фильтрыивакцины
(иммунизаторы).
ПРОГРАММЫ-ДЕТЕКТОРЫ позволяют обнаруживать файлы, зараженные одним изнеско-
льких известных вирусов. Эти программы проверяют, имеется ли в файлах на указан-
ном пользователем диске специфическая для данного вируса комбинация байтов.При
ее обнаружении в каком-либо файле на экран выводится соответствующеесообщение.
Многие детекторы имеют режимы лечения или уничтожения зараженных файлов.
Следует подчеркнуть, что программы-детекторы могут обнаруживать только те ви-
русы, которые ей "известны". Программа Scan фирмы McAfee AssociatesиAidstest
Д.Н.Лозинского позволяют обнаруживать около 1000 вирусов, но всего их более пяти
тысяч! Некоторые программы-детекторы, например Norton AntiVirus илиAVSPфирмы
"Диалог-МГУ", могут настраивать на новые типы вирусов, им необходимолишьука-
зать комбинации байтов, присущие этим вирусам. Тем не мение невозможноразрабо-
тать такую программу, которая могла бы обнаруживатьлюбойзаранеенеизвестный
вирус.
Таким образом, из того, что программа не опознается детекторами какзаражен-
ная, не следует, что она здорова - в ней могут сидеть какой-нибудьновыйвирус
или слегка модифицированная версия старого вируса, неизвестные программам-детек-
торам.
Многие программы-детекторы (в том числе и Aidstest) не умеют обнаруживать за-
ражение "невидимыми" вирусами, если такой вирус активен в памяти компьютера. Де-
ло в том, что для чтения диска они используют функции DOS, а они перехватываются
вирусом, который говорит, что все хорошо. Правда, Aidstestидругиедетекторы
пытаются выявить вирус путем просмотра оперативной памяти, нопротивнекоторых
"хитрых" вирусов это не помогает. Так что надежныйдиагнозпрограммы-детекторы
дают только при загрузке DOS с "чистой", защищенной от записи дискеты, приэтом
копия программы-детектора также должна быть запущена с этой дискеты.
Некоторые детекторы, скажем, ADinf фирмы "Диалог-Наука", умеютловить "неви-
димые" вирусы, даже когда они активны. Для этого они читаютдиск, неиспользуя
вызовы DOS. Правда, этот метод работает не на всех дисководах.
Большинство программ-детекторов имеют функцию "доктора",т.е.онипытаются
вернуть зараженные файлы или области диска в их исходное состояние. Те файлы, ко-
торые не удалось восстановить, как правило, делаются неработоспособными или уда-
ляются.
Большинство программ-докторов умеют "лечить" только от некоторогофиксирован-
ного набора вирусов, поэтому они быстро устаревают. Но некоторые программы могут
обучаться не только способам обнаружения, но и способам леченияновыхвирусов.
К таким программам относится AVSP фирмы "Диалог-МГУ".
ПРОГРАММЫ-РЕВИЗОРЫ имеют две стадии работы. Сначала они запоминают сведения о
состоянии программ и системных областей дисков (загрузочного сектора и сектора с
таблицей разбиения жесткого диска).Предполагается, что в этот момент программы
и системные области дисков не заражены. После этого с помощью программы-ревизора
можно в любой момент сравнить состояние программ и системных областейдисковс
исходным. О выявленных несоответствиях сообщается пользователю.
Чтобы проверка состояния программ и дисков проходила при каждой загрузке опе-
рационной системы, необходимо включить команду запускапрограммы-ревизора в ко-
мандный файл AUTOEXEC.BAT. Это позволяет обнаружить заражение компьютерным виру-
сом, когда он еще не успел нанести большого вреда. Более того, та жепрограмма-
-ревизор сможет найти поврежденные вирусом файлы.
Многие программы-ревизоры являются довольно "интеллектуальными" -онимогут
отличать изменения в файлах, вызванные, например, переходом к новой версиипро-
граммы, от изменений, вносимых вирусом, и неподнимают ложнойтревоги.Дело в
том, что вирусы обычно изменяют файлы весьмаспецифическим образом и производят
одинаковые изменения в разных программных файлах. Понятно, что в нормальной ситу-
ации такие изменения практически никогда не встречаются, поэтому программа-реви-
зор, зафиксировав факт таких изменений, может с уверенностьюсообщить, чтоони
вызваны именно вирусом.
Следует заметить, что многие программы-ревизоры не умеют обнаруживать зараже-
ние "невидимыми" вирусами, если такой вирус активен в памяти компьютера. Но неко-
торые программы-ревизоры, напримерADinf фирмы "Диалог-Наука", все же умеют де-
лать это, не используя вызовы DOS для чтения диска (правда, они работаютнена
всех дисководах).Другие программы часто используют различные полумеры - пытаются
обнаружить вирус в оперативной памяти, требуют вызовыизпервойстрокифайла
AUTOEXEC.BAT, надеясь работать на "чистом" компьютере, и т.д. Увы против некото-
рых "хитрых" вирусов все это бесполезно.
Для проверки того, не изменился лифайл, некоторыепрограммы-ревизорыпро-
веряют длину файла. Но эта проверка недостаточна - некоторые вирусы неизменяют
длину зараженных файлов. Более надежная проверка - прочестьвесьфайл и вычис-
лить его контрольную сумму. Изменить файл так, чтобы его контрольная сумма оста-
лась прежней, практически невозможно.
В последнее время появились очень полезные гибриды ревизоров и докторов, т.е.
ДОКТОРА-РЕВИЗОРЫ,- программы, которые не только обнаруживают изменения в файлах
и системных областях дисков, но и могут в случае изменений автоматически вернуть
их в исходное состояние. Такие программы могут быть гораздо более универсальными,
чем программы-доктора, поскольку при лечении они используют заранеесохраненную
информацию о состоянии файлов и областейдисков. Этопозволяетимвылечивать
файлы даже от тех вирусов, которые не были созданы на момент написания программы.
Но они могут лечить не от всех вирусов, а только оттех, которыеиспользуют
"стандартные", известные на момент написания программы, механизмы заражения фай-
лов.
Существуют также ПРОГРАММЫ-ФИЛЬТРЫ, которые располагаются резидентно в опера-
тивной памяти компьютера и перехватывают те обращениякоперационнойсистеме,
которые используются вирусами дляразмножения и нанесениявреда, и сообщаюто
них пользователя. Пользователь может разрешить или запретить выполнение соответ-
ствующей операции.
Некоторые программы-фильтры не "ловят" подозрительныедействия, апроверяют
вызываемые на выполнение программы на наличие вирусов. Этовызываетзамедление
работы компьютера.
Однако преимущества использования программ-фильтров весьмазначительны - они
позволяют обнаружить многие вирусы на самой ранней стадии, когдавирусещене
успел размножиться и что-либо испортить. Тем самым можно свести убытки от вируса
к минимуму.
ПРОГРАММЫ-ВАКЦИНЫ, илиИММУНИЗАТОРЫ,модифицируютпрограммы и дискитаким
образом, что это не отражается на работепрограмм,но тот вирус,откоторого
производится вакцинация, считает эти программыилидиски ужезараженными. Эти
программы крайне неэффективны.
Ни один тип антивирусных программ по отдельностине даетполнойзащитыот
вирусов. Лучшей стратегией защиты от вирусов являетсямногоуровневая, "эшелони-
рованная" оборона. Опишу структуру этой обороны.
Средствам разведки в "обороне" от вирусов соответствуютпрограммы-детекторы,
позволяющиепроверятьвновьполученноепрограммноеобеспечениенаналичие
вирусов.
На переднем крае обороны находятся программы-фильтры. Эти программы могут пер-
выми сообщить о работе вируса и предотвратить заражение программ и дисков.
Второй эшелон обороны составляют программы-ревизоры, программы-доктора и док-
тора-ревизоры.
Самый глубокйэшелон обороны - это средстваразграничениядоступа. Онине
позволяют вирусам и неверно работающим программам, даже если они проникли в ком-
пьютер, испортить важные данные.
В "стратегическом резерве" находятся архивные копии информации. Это позволяет
восстановить информацию при её повреждении.
Это неформальное описание позволяет лучше понять методику применения антиви -
русных средств.
---------- ДЕЙСТВИЯ ПРИ ЗАРАЖЕНИИ ВИРУСОМ ----------
При заражении компьютера вирусом (или при подозрении на это) важнособлюдать
4-е правила:
1) Прежде всего не надо торопиться и принимать опрометчивых решений.
Непродуманные действия могут привести не только к потери части файлов, но к пов-
торному заражению компьютера.
2) Надо немедленновыключитькомпьютер, чтобы вирус непродолжал
своих разрушительных действий.
3) Все действия по обнаружению видазаражения и лечениюкомпьютера
следует выполнять при загрузке компьютера с защищенной от записи дискеты с ОС
(обязательное правило).
4) Если Вы не обладаете достаточными знаниями и опытом для лечения
компьютера, попросите помочь более опытных коллег.