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