Що таке комп'ютерний вірус? p>
Комп'ютерний вірус - це спеціально написана невелика за розмірамипрограма, яка може «приписувати» себе до інших програм, а такожвиконувати різні небажані дії на комп'ютері. Програма, всерединіякої знаходиться вірус, називається «зараженою». Коли така програмапочинає роботу, то спочатку управління отримує вірус. Вірус знаходить і
«Заражає» інші програми, а також виконує які-небудь шкідливідії (наприклад, псує файли або таблицю розміщення файлів на диску,
«Засмічує» оперативну пам'ять і т.д.). Вірус - це програма, яка маєздатністю до самовідтворення. Така здатність є єдинимвластивістю, властивою всім типам вірусів. Вірус не може існувати в
«Повній ізоляції». Це означає, що сьогодні не можна уявити собі вірус,який би так чи інакше не використовував код інших програм, інформацію профайлову структуру або навіть просто імена інших програм. Причина цьогодосить зрозуміла: вірус має яких-небудь способом забезпечити передачусобі управління. p>
Історія комп'ютерної вірусології представляється сьогодні постійної
«Гонкою за лідером», причому, не дивлячись на всю потужність сучасних антивіруснихпрограм, лідерами є саме віруси. Серед тисяч вірусів лишекілька десятків є оригінальними розробками, які використовуютьдійсно принципово нові ідеї. Всі інші - «варіації на тему».
Але кожна оригінальна розробка змушує творців антивірусівпристосовуватися до нових умов, наздоганяти вірусну технологію. Останняможна оскаржити. Наприклад, в 1989 році американський студент зумів створитивірус, який вивів з ладу близько 6000 комп'ютерів Міністерства оборони
США. Або епідемія відомого вірусу Dir-II, що вибухнула в 1991 році.
Вірус використав справді оригінальну, принципово новутехнологію і на перших порах зумів широко поширитися за рахунокнедосконалості традиційних антивірусних засобів. p>
Або сплеск комп'ютерних вірусів у Великобританії: Крістоферу Пайнвдалося створити віруси Pathogen і Queeq, а також вірус Smeg. Самеостанній був найбільш небезпечним, його можна було накладати на перші двавірусу, і через це після кожного прогону програми вони змінюваликонфігурацію. Тому їх було неможливо знищити. Щоб поширитивіруси, Пайн скопіював комп'ютерні ігри та програми, заразив їх, а потімвідправив назад у мережу. Користувачі завантажували у свої комп'ютеризаражені програми та інфікували диски. Ситуація ускладнилася тим, що
Пайн примудрився занести віруси і в програму, яка з ними бореться.
Запустивши її, користувачі замість знищення вірусів отримували ще один. УВнаслідок цього були знищені файли безлічі фірм, збитки склалимільйони фунтів стерлінгів. p>
Широку популярність отримав американський програміст Морріс. Вінвідомий як творець вірусу, який в листопаді 1988 року уразив порядку
7 тисяч персональних комп'ютерів, підключених до Internet.
Причини появи і розповсюдження комп'ютерних вірусів, з одного боку,ховаються в психології людської особистості та її тіньових сторонах
(заздрості, помсти, пихатість невизнаних творців, неможливостіконструктивно застосувати свої здібності), з іншого боку, обумовленівідсутністю апаратних засобів захисту та протидії з бокуопераційної системи персонального комп'ютера. p>
Комп'ютерні віруси, їх властивості та класифікація p>
Властивості комп'ютерних вірусів p>
Зараз застосовуються персональні комп'ютери, в яких користувачмає вільний доступ до всіх ресурсів машини. Саме це відкриломожливість для небезпеки, яка отримала назву комп'ютерного вірусу. p>
Що таке комп'ютерний вірус? Формальне визначення цього поняття додосі не придумано, і є серйозні сумніви, що воно взагалі може бутидано. Численні спроби дати «сучасне» визначення вірусу непривели до успіху. Щоб відчути всю складність проблеми, спробуйте,Наприклад, дати визначення поняття «редактор». Ви або придумаєте щосьдуже загальне, або почнете перераховувати всі відомі типи редакторів. І те іінше навряд чи можна вважати прийнятним. Тому ми обмежимосярозглядом деяких властивостей комп'ютерних вірусів, які дозволяютьговорити про них як про деяке певному класі програм. p>
Перш за все, вірус - це програма. Таке просте твердження саме пособі здатне розвіяти безліч легенд про незвичайні можливостікомп'ютерних вірусів. Вірус може перевернути зображення на вашомумоніторі, але не може перевернути сам монітор. До легенд про віруси -вбивць, «знищують операторів за допомогою виводу на екран небезпечноїколірної гами 25-м кадром »також не варто ставитися серйозно. Дожаль, деякі авторитетні видання час від часу публікують «самісвіжі новини з комп'ютерних фронтів », які при ближчому розглядівиявляються наслідком не цілком ясного розуміння предмета. p>
Вірус - програма, здатна до самовідтворення. Таказдатність є єдиним засобом, що властиво всім типам вірусів.
Але не тільки віруси здатні до самовідтворення. Будь-яка операційнасистема і ще безліч програм здатні створювати власні копії.
Копії ж вірусу не тільки не зобов'язані повністю збігатися з оригіналом, але йможуть взагалі з ним не збігатися! p>
Вірус не може існувати в «повній ізоляції»: сьогодні не можнауявити собі вірус, який не використовує код інших програм,інформацію про файлову структуру або навіть просто імена інших програм.
Причина зрозуміла: вірус має яких-небудь способом забезпечити передачусобі управління. p>
Класифікація вірусів p>
В даний час відомо більше 5000 програмних вірусів, їх можнакласифікувати за такими ознаками:середовищі існуванняспособом зараження середовища проживаннявпливуособливостями алгоритму p>
Залежно від середовища перебування віруси можна розділити на мережеві,файлові, завантажувальні та файлово-завантажувальні. Мережеві вірусипоширюються по різних комп'ютерних мереж. Файлові вірусивпроваджуються головним чином у виконувані модулі, тобто У файли, що маютьрозширення COM та EXE. Файлові віруси можуть впроваджуватися і в інші типифайлів, але, як правило, записані в таких файлах, вони ніколи не отримуютьуправління і, отже, втрачають здатність до розмноження. Завантажувальнівіруси впроваджуються в завантажувальний сектор диска (Boot-сектор) або в сектор,що містить програму завантаження системного диска (Master Boot Re-cord). p>
Файлово-завантажувальні віруси заражають як файли, так ізавантажувальні сектори дисків. p>
За способом зараження віруси поділяються на резидентні і нерезидентні.
Резидентний вірус при зараженні (інфікуванні) комп'ютера залишає воперативної пам'яті свою резидентну частина, яка потім перехоплюєзвертання операційної системи до об'єктів зараження (файлів, завантажувальнимсекторів дисків і т. п.) і впроваджується в них. Резидентні віруси знаходяться впам'яті і є активними аж до вимикання або перезавантаженнякомп'ютера. Нерезидентні віруси не заражають пам'ять комп'ютера і єактивними обмежений час. p>
За ступенем впливу віруси можна розділити на наступні види: p>
5. безпечні, не заважають роботі комп'ютера, але зменшують обсяг вільної оперативної пам'яті і пам'яті на дисках, дії таких вірусів проявляються в будь-яких графічних або звукових ефектах p>
6. небезпечні віруси, які можуть привести до різних порушень в роботі комп'ютера p>
7. дуже небезпечні, вплив яких може призвести до втрати програм, знищення даних, стирання інформації в системних областях диска. p>
За особливостями алгоритму віруси важко класифікувати через великурізноманітності. Найпростіші віруси - паразитичні, вони змінюють вмістфайлів і секторів диска і можуть бути досить легко виявлені ізнищені. Можна відзначити віруси-станції, звані хробаками, якірозповсюджуються по комп'ютерних мережах, обчислюють адреси мережнихкомп'ютерів і записують за цими адресами свої копії. p>
Відомі віруси-невидимки, звані стелс-вірусами, які дужеважко виявити та знешкодити, так як вони перехоплюють зверненняопераційної системи до уражених файлів і секторів дисків та підставляютьзамість свого тіла незаражені ділянки диска. Найбільш важко виявитивіруси-мутанти, що містять алгоритми шифрування-розшифровки, завдякияким копії одного і того ж вірусу не мають ні одного повторюєтьсяланцюжка байтів. Є і так звані квазівірусние або «троянські»програми, які хоч і не здатні до самопоширення, але дуженебезпечні, тому що, маскуючись під корисну програму, руйнують завантажувальнийсектор і файлову систему дисків. p>
Тепер детальніше про деякі з цих груп. p>
Завантажувальні віруси p>
Розглянемо схему функціонування дуже простого завантажувального вірусу,заражающего дискети. p>
Що відбувається, коли ви вмикаєте комп'ютер? Насамперед управлінняпередається програмі початкового завантаження, яка зберігається в постійнопристрої, що запам'ятовує (ПЗУ) тобто ПНЗ ПЗУ. P>
Ця програма тестує обладнання і при успішному завершенні перевірокнамагається знайти дискету в дисководі А: p>
Всяка дискета розмічена на т.зв. сектори і доріжки. Секториоб'єднуються в кластери, але це для нас несуттєво. p>
Серед секторів є кілька службових, що використовуються операційноюсистемою для власних потреб (у цих секторах не можуть розміщуватися вашідані). Серед службових секторів нас цікавить сектор початкового завантаження
(boot-sector). p>
У секторі початкового завантаження зберігається інформація про дискеті - кількістьповерхонь, кількість доріжок, кількість секторів і пр. Але нас заразцікавить не ця інформація, а невелика програма початкового завантаження
(ПНЗ), яка повинна завантажити саму операційну систему і передати їйуправління. p>
Таким чином, нормальна схема початкового завантаження наступна: p>
ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА p>
Тепер розглянемо вірус. У завантажувальних віруси виділяють дві частини: голову і т.зв. хвіст. Хвіст може бути порожнім. P>
Хай у вас є чиста дискета і заражений комп'ютер, під якимми розуміємо комп'ютер з активним резидентним вірусом. Як тільки цей вірусвиявить, що в дисководі з'явилася відповідна жертва - у нашому випадку незахищена від запису і ще не заражена дискета, він приступає дозараження. Заражаючи дискету, вірус виробляє наступні дії:виділяє певну область диска і позначає її як недоступну операційноїсистемі, це можна зробити по-різному, в простому і традиційному випадкузайняті вірусом сектори позначаються як збійні (bad)копіює у виділену область диска свій хвіст і оригінальний (здоровий)завантажувальний секторзаміняє програму початкового завантаження в завантажувальному секторі (тепер)своєю головоюорганізовує ланцюжок передачі управління згідно зі схемою. p>
Таким чином, голова вірусу тепер перший отримує управління, вірусвстановлюється в пам'ять і передає управління оригінального завантажувальномусектору. У ланцюжку p>
ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА з'являється нова ланка: p>
ПНЗ (ПЗУ) - ВІРУС - ПНЗ (диск) - СИСТЕМА p>
Ми розглянули схему функціонування простого бутового вірусу,що живе в завантажувальних секторах дискет. Як правило, віруси здатнізаражати не тільки завантажувальні сектори дискет, але і завантажувальні секторивінчестерів. При цьому на відміну від дискет на вінчестері є два типизавантажувальних секторів, що містять програми початкового завантаження, якіотримують управління. При завантаженні комп'ютера з вінчестера перший бере насебе управління програма початкового завантаження в MBR (Master Boot Record --головна запис завантаження). Якщо ваш жорсткий диск розбитий на кількарозділів, то лише один з них позначений як завантажувальний (boot). Програмапочаткового завантаження в MBR знаходить завантажувальний розділ вінчестера і передаєуправління на програму початкового завантаження цього розділу. Код останньоїзбігається з кодом програми початкового завантаження, що міститься на звичайнихдискетах, а відповідні завантажувальні сектори відрізняються лишетаблицями параметрів. Таким чином, на вінчестері є два об'єктиатаки завантажувальних вірусів - програма початкового завантаження в MBR і програмапочаткового завантаження в бут-секторі завантажувального диска. p>
Файлові віруси p>
Розглянемо тепер схему роботи простого файлового вірусу. На відміну відзавантажувальних вірусів, які практично завжди резидентних, файлові вірусизовсім не обов'язково резидентних. Розглянемо схему функціонуваннянерезидентного файлового вірусу. Нехай у нас є інфікованийвиконуваний файл. При запуску такого файлу вірус одержує управління,виробляє деякі дії і передає управління «хазяїну» p>
Які ж дії виконує вірус? Він шукає новий об'єкт для зараження --відповідний за типом файл, який ще не заражена. Заражаючи файл, вірусвпроваджується в його код, щоб отримати управління при запуску цього файлу.
Окрім своєї основної функції - розмноження, вірус цілком може зробити що -небудь хитромудро (сказати, запитати, зіграти) - це вже залежить відфантазії автора вірусу. Якщо файловий вірус резидентний, то він встановитьсяв пам'ять і отримає можливість заражати файли і виявляти іншіздатності не тільки під час роботи зараженого файла. Заражаючивиконуваний файл, вірус завжди змінює його код - отже, зараженняфайлу, що виконується завжди можна виявити. Але, змінюючи код файлу, вірус необов'язково вносить інші зміни:він не зобов'язаний змінювати довжину файлуневживані ділянки кодуне зобов'язаний змінювати початок файлу p>
Нарешті, до файлових вірусів часто відносять віруси, які «маютьпевне відношення до файлів », але не зобов'язані впроваджуватися в їх код. p>
Таким чином, при запуску будь-якого файлу вірус одержує управління
(операційна система запускає його сама), резидентний встановлюється впам'ять і передає управління викликаному файлу. p>
Завантажувально-файлові віруси p>
Ми не будемо розглядати модель завантажувально-файлового вірусу, боніякої нової інформації ви при цьому не дізнаєтеся. Але тут видаєтьсязручний випадок коротко обговорити вкрай «популярний» останнім часомзавантажувально-файловий вірус OneHalf, що заражає головний завантажувальний сектор
(MBR) і виконувані файли. Основна руйнівна дія - шифруваннясекторів вінчестера. При кожному запуску вірус шифрує чергову порціюсекторів, а, зашифровані половину жорсткого диска, радісно повідомляє про це.
Основна проблема при лікуванні даного вірусу полягає в тому, щонедостатньо просто видалити вірус з MBR і файлів, треба розшифруватизашифровану їм інформацію. p>
поліморфних вірусів p>
Більшість питань пов'язано з терміном «поліморфний вірус». Цей видкомп'ютерних вірусів представляється на сьогоднішній день найбільш небезпечним.
Пояснимо ж, що це таке. P>
поліморфних вірусів - віруси, що модифікують свій код в зараженихпрограмах таким чином, що два примірники одного і того самого вірусу можутьне збігатися ні в одному бите. p>
Такі віруси не тільки шифрують свій код, використовуючи різні шляхишифрування, але й містять код генерації шіфровщіка і розшифровувача, щовідрізняє їх від звичайних шифрувальних вірусів, які також можуть шифруватиділянки свого коду, але мають при цьому постійний код шифрувальника ірозшифровувача. p>
поліморфні віруси - це віруси з самомодіфіцірующімісярозшифровувача. Мета такого шифрування: маючи заражений і оригінальнийфайли, ви все одно не зможете проаналізувати його код за допомогою звичайногодізассемблірованія. Цей код зашифрований і є безглуздийнабір команд. Розшифровка виробляється самим вірусом вже безпосередньо підчас виконання. При цьому можливі варіанти: він може розшифрувати себеза все відразу, а може виконати таку розшифровку «по ходу справи», можезнову шифрувати вже відпрацьовані ділянки. Все це робиться заради утрудненняаналізу коду вірусу. p>
Стелс-віруси p>
У ході перевірки комп'ютера антивірусні програми зчитують дані --файли та системні області з жорстких дисків та дискет, користуючись засобамиопераційної системи та базової системи введення/виводу BIOS. Ряд вірусів,після запуску залишають в оперативній пам'яті комп'ютера спеціальні модулі,перехоплюють звернення програм до дискової підсистеми комп'ютера. Якщотакий модуль виявляє, що програма намагається прочитати заражений файлабо системну о?? ласть диска, він на ходу підмінює читаються дані, якніби вірусу на диску немає. p>
Стелс-віруси обманюють антивірусні програми і в результаті залишаютьсянепоміченими. Тим не менш, існує простий спосіб відключити механізммаскування стелс-вірусів. Досить завантажити комп'ютер з не зараженоїсистемної дискети і відразу, не запускаючи інших програм з диска комп'ютера
(які також можуть виявитися зараженими), перевірити комп'ютерантивірусною програмою. p>
При завантаженні з системної дискети вірус не може отримати управління івстановити в оперативній пам'яті резидентний модуль, що реалізує стелс -механізм. Антивірусна програма зможе прочитати інформацію, що дійснозаписану на диску, і легко виявить вірус. p>
Аналіз алгоритму вірусу p>
На мій погляд, найбільш зручним для зберігання та аналізу вірусу об'єктомє файл, що містить його (вірусу) тіло. Як показує практика, дляаналізу файлового вірусу зручніше мати кілька заражених файліврізною, але не дуже великий, довжини. При цьому бажано мати зараженіфайли всіх типів (COM, EXE, SYS, BAT, NewEXE), уражаються вірусом. Якщонеобхідно проаналізувати частину оперативної пам'яті, то за допомогоюдеяких утиліт (наприклад, AVPUTIL.COM) досить просто виділити ділянку,де розташований вірус, і скопіювати його на диск. Якщо ж потрібен аналізсектора MBR або boot-сектора, то скопіювати їх у файли можна за допомогоюпопулярних «Нортоновських утиліт» або AVPUTIL. Для зберігання завантажувальноговірусу найбільш зручним є файл-образ зараженого диска. Для йогоотримання необхідно відформатувати дискету, заразити її вірусом,скопіювати образ дискети (всі сектори, починаючи з нульового і кінчаючиостаннім) в файл і при необхідності скомпрессіровать його (цю процедуруможна виконати за допомогою «Нортоновських утиліт», програм TELEDISK або
DISKDUPE). P>
Заражені файли або файл-образ зараженої дискети краще передатирозробникам антивірусних програм по електронній пошті або, в крайньомувипадку, на дискеті звичайною поштою. Однак, якщо це займе багато часу,собі, можна спробувати і самостійно розібратися у вірусу і написативласний антивірус. p>
При аналізі алгоритму вірусу належить з'ясувати:спосіб (и) розмноження вірусу;характер можливих пошкоджень, які вірус завдав інформації, що зберігаєтьсяна дисках;метод лікування оперативної пам'яті і заражених файлів (секторів). p>
При вирішенні цих завдань не обійтися без дизассемблер або відладчика
(наприклад, відладчиком AFD, AVPUTIL, SoftICE, TorboDebugger, дизассемблер
Sourcer або IDA). P>
і Відладчик, і дизассемблер мають і позитивні і негативніриси - кожен вибирає те, що він вважає більш зручним. Нескладнікороткі віруси швидко «розкриваються» стандартним відладчиком DEBUG, прианалізі об'ємних і високосложних поліморфік-стелс-вірусів не обійтися бездизассемблер. Якщо необхідно швидко виявити метод відновленняуражених файлів, досить пройтися відладчиком по початку вірусу до тогомісця, де він відновлює завантажену програму перед тим, як передатиїй управління (фактично саме цей алгоритм найчастіше використовується прилікуванні вірусу). Якщо ж потрібно отримати детальну картину роботи вірусуабо добре документований лістинг, то крім дизассемблер Sourcer або
IDA з їхніми можливостями відновлювати перехресні посилання, тут навряд чищо допоможе. До того ж слід враховувати, що, по-перше, деякі вірусидосить успішно блокують спроби протрассіровать їх коди, а по-друге,при роботі з відладчиком ненульова існує ймовірність того, що вірусвирветься з-під контролю. p>
При аналізі файлового вірусу необхідно з'ясувати, які файли (COM,
EXE, SYS) уражаються вірусом, в яке місце (місця) у файлі записуєтьсякод вірусу - на початок, кінець або середину файлу, в якому обсязі можливовідновлення файлу (повністю або частково), в якому місці вірус зберігаєвідновлювану інформацію. p>
При аналізі завантажувального вірусу основним завданням є з'ясуванняадреси (адрес) сектора, в якому вірус зберігає первіснийзавантажувальний сектор (якщо, звичайно, вірус зберігає його). p>
Для резидентного вірусу потрібно також виділити ділянку коду,що створює резидентну копію вірусу і обчислити можливі адреси точок входув перехоплюваних вірусом переривання. Необхідно також визначити, якимчином і де в оперативній пам'яті вірус виділяє місце для своєїрезидентного копії: записується чи вірус за фіксованими адресами усистемні області DOS і BIOS, зменшує чи розмір пам'яті, виділеної під
DOS (слово за адресою [0000:0413]), чи створює для себе спеціальний MCB-блокабо використовує якийсь інший спосіб. p>
Існують особливі випадки, коли аналіз вірусу може виявитися дужескладною для користувача завданням, наприклад при аналізі поліморфік-вірусу. Уцьому випадку краще звернутися до фахівця з аналізу кодів програм. p>
Для аналізу макро-вірусів необхідно отримати текст їх макросів. Длянешифрованих не-стелс вірусів це досягається за допомогою меню Tools/Macro.
Якщо ж вірус шифрує свої макроси або використовує стелс-прийоми, тонеобхідно скористатися спеціальними утилітами перегляду макросів. Такіспеціалізовані утиліти є практично в кожної фірми-виробникаантивірусів, проте вони є утилітами «внутрішнього користування» і непоширюються за межі фірм. p>
Методи захисту від комп'ютерних вірусів p>
Яким би не був вірус, користувачеві необхідно знати основні методизахисту від комп'ютерних вірусів. p>
Для захисту від вірусів можна використовувати:
> загальні засоби захисту інформації, які корисні також і як страховка від фізичного псування дисків, неправильно працюючих програм або помилкових дій користувача;
> профілактичні заходи, що дозволяють зменшити ймовірність зараження вірусом;
> спеціалізовані програми для захисту від вірусів. p>
Загальні засоби захисту інформації корисні не тільки для захисту відвірусів. Є дві основні різновиди цих коштів:
> копіювання інформації - створення копій файлів і системних областей дисків;
> розмежування доступу запобігає несанкціоноване використання інформації, зокрема, захист від змін програм і даних вірусами, неправильно працюючими програмами та помилковими діями користувачів. p>
Незважаючи на те, що загальні засоби захисту інформації дуже важливі длязахисту від вірусів, все ж їх недостатньо. Необхідно і застосуванняспеціалізованих програм для захисту від вірусів. Ці програми можнарозділити на кілька видів: детектори, доктора (фаги), ревізори,доктори-ревізори, фільтри та вакцини (іммунізатори). p>
ПРОГРАМИ-ДЕТЕКТОРИ дозволяють виявляти файли, заражені одним здекількох відомих вірусів. Ці програми перевіряють, чи є у файлахна вказаному користувачем диску специфічна для даного вірусукомбінація байтів. При її виявленні в будь-якому файлі на екран виводитьсявідповідне повідомлення. Багато детектори мають режими лікування абознищення заражених файлів. Слід підкреслити, що програми-детекториможуть виявляти тільки ті віруси, які їй "відомі". Програма Scanфірми McAfee Associates і Aidstest Д. Н. Лозинського дозволяють виявлятиблизько 9000 вірусів, але всього їх більше двадцяти тисяч! Деякі програми -детектори, наприклад Norton AntiVirus або AVSP фірми "Диалог-МГУ", можутьналаштовувати на нові типи вірусів, їм необхідно лише вказати комбінаціїбайтів, властиві цих вірусів. Тим не думка неможливо розробити такупрограму, яка могла б виявляти будь-який заздалегідь невідомийвірус. p>
Таким чином, з того, що програма не розпізнається детекторами якзаражена, не випливає, що вона здорова - у ній можуть сидіти який-небудьновий вірус або злегка модифікована версія старого вірусу, невідоміпрограмами-детекторів. p>
Багато програми-детектори (у тому числі і Aidstest) не вміютьвиявляти зараження "невидимими" вірусами, якщо такий вірус активнийпам'яті комп'ютера. Справа в тому, що для читання диска вони використовують функції
DOS, а вони перехоплюються вірусом, який говорить, що все добре.
Правда, Aidstest та інші детектори намагаються виявити вірус шляхомперегляду оперативної пам'яті, але проти деяких "хитрих" вірусів це недопомагає. Так що надійний діагноз програми-детектори дають тільки призавантаженні DOS з "чистою", захищеної від запису дискети, при цьому копіяпрограми-детектора також повинна бути запущена з цієї дискети. p>
Деякі детектори (скажімо ADinf фірми "Діалог-Наука") вміють ловити
"невидимі" віруси, навіть коли вони активні. Для цього вони читають диск, невикористовуючи виклики DOS. Щоправда, цей метод працює не на всіх дисководах. P>
Більшість програм-детекторів мають функцію "доктора", тобто вонинамагаються повернути заражені файли або області диска в їх вихіднестан. Ті файли, які не вдалося відновити, як правило, роблятьсянепрацездатними або видаляються. p>
Більшість програм-докторів вміють "лікувати" тільки від деякогофіксованого набору вірусів, тому вони швидко старіють. Але деякіпрограми можуть навчатися не тільки способам виявлення, а й способамлікування нових вірусів. До таких програм відноситься AVSP фірми "Діалог-
МГУ ". P>
ПРОГРАМИ-ревізор мають дві стадії роботи. Спочатку вони запам'ятовуютьвідомості про стан програм і системних областей дисків (завантажувальногосектору та сектору з таблицею розбиття жорсткого диска). Передбачається,що в цей момент програми та системні області дисків не заражені. Післяцього за допомогою програми-ревізора можна в будь-який момент порівняти станпрограм і системних областей дисків з вихідним. Про виявленіневідповідності повідомляється користувачеві. p>
Щоб перевірка стану програм і дисків проходила при кожнійзавантаженні операційної системи, необхідно включити команду запускупрограми-ревізора в командний файл AUTOEXEC.BAT. Це дозволяє виявитизараження комп'ютерним вірусом, коли він ще не встиг завдати великоїшкоди. Більше того, та ж програма-ревізор зможе знайти пошкодженівірусом файли. p>
Багато програми-ревізори є досить "інтелектуальними" - вониможуть відрізняти зміни у файлах, викликані, наприклад, переходом до новоїверсії програми, від змін, що вносяться вірусом, і не піднімають помилковоїтривоги. Справа в тому, що віруси зазвичай змінюють файли вельмиспецифічним чином і виробляють однакові зміни в різнихпрограмних файлах. Зрозуміло, що в нормальній ситуації такі змінипрактично ніколи не зустрічаються, тому програма-ревізор, зафіксувавшифакт таких змін, може з упевненістю повідомити, що вони викликанісаме вірусом. p>
Інші програми часто використовують різні напівзаходи - намагаютьсявиявити вірус в оперативній пам'яті, вимагають виклики з першого рядкафайлу AUTOEXEC.BAT, сподіваючись працювати на "чистому" комп'ютері, і т.д. На жаль,проти деяких "хитрих" вірусів все це марно. p>
Для перевірки того, чи не змінився файл, деякі програми-ревізори перевіряють довжину файлу. Але ця перевірка недостатня - деякі віруси незмінюють довжину заражених файлів. Більш надійна перевірка - прочитати весьфайл і обчислити його контрольну суму. Змінити файл так, щоб йогоконтрольна сума залишилася колишньою, практично неможливо. p>
Останнім часом з'явилися дуже корисні гібриди ревізорів ідокторів, тобто ДОКТОРА-ревізора, - програми, які не тільки виявляютьзміни у файлах і системних областях дисків, а й можуть у разізмін автоматично повернути їх в початковий стан. Такі програмиможуть бути набагато більш універсальними, ніж програми-доктори, оскількипри лікуванні вони використовують заздалегідь збережену інформацію про станфайлів і областей дисків. Це дозволяє їм використати файли навіть від тихвірусів, які не були створені на момент написання програми. p>
Але вони можуть лікувати не від усіх вірусів, а тільки від тих, яківикористовують "стандартні", відомі на момент написання програми,механізми зараження файлів. p>
Існують також ПРОГРАМИ-ФІЛЬТРИ, які розташовуються резидентної воперативної пам'яті комп'ютера і перехоплюють ті звернення до операційної системи, що використовуються вірусами для розмноження і нанесенняшкоди, і повідомляють про них користувача. Користувач може дозволити абозаборонити виконання відповідної операції. p>
Деякі програми-фільтри не "ловлять" підозрілі дії, аперевіряють викликаються на виконання програми на наявність вірусів. Цевикликає уповільнення роботи комп'ютера. p>
Однак переваги використання програм-фільтрів дуже значні
- Вони дозволяють виявити багато вірусів на самій ранній стадії, коливірус ще не встиг розмножитися і що-небудь зіпсувати. Тим самим можназвести збитки від вірусу до мінімуму. p>
ПРОГРАМИ-ВАКЦИНИ, або ІММУНІЗАТОРИ, модифікують програми і дискитаким чином, що це не відбивається на роботі програм, але той вірус,від якого здійснюється вакцинація, вважає ці програми або диски вже зараженими. Ці програми є вкрай неефективним. P>
Антивірусні програми p>
AIDSTEST p>
У нашій країні, як вже було сказано вище, особливу популярністьпридбали антивірусні програми, що поєднують в собі функції детекторів ідокторів. Найвідомішою з них є програма AIDSTEST Д.М.
Лозинського. В Україні практично на кожному IBM-сумісному персональномукомп'ютері є одна з версій цієї програми. Одна з останніх версіявиявлення, 8000 вірусів. p>
Aidstest для свого нормального функціонування вимагає, щоб упам'яті не було резидентних антивірусів, які блокують запис у програмніфайли, тому їх слід вивантажити, або, вказавши опцію вивантаження самоїрезидентної програмі, або скористатися відповідною утилітою. p>
При запуску Aidstest перевіряє себе оперативну пам'ять на наявністьвідомі йому вірусів і знешкоджує їх. При цьому паралізуються тількифункції вірусу, пов'язані з розмноженням, а інші побічні ефекти можутьзалишатися. Тому програма після закінчення знешкодження вірусу впам'яті видає запит про перезавантаження. Слід обов'язково наслідувати цейраді, якщо оператор ПЕОМ не є системним програмістом,що займається вивченням властивостей вірусів. При чому слід перезавантажитисякнопкою RESET, тому що при "теплою перезавантаження" деякі віруси можутьзберігатися. До того ж, краще запустити машину і Aidstest ззахищеної від запису дискети, тому що при запуску з зараженого дискавірус може записатися на згадку резидентом і перешкоджати лікуванню. p>
Aidstest тестує своє тіло на наявність відомих вірусів, а також поперекручувань у своєму коді судить про своє зараження невідомим вірусом. Прицьому можливі випадки помилкової тривоги, наприклад при стисненні антивірусапакувальником. Програма не має графічного інтерфейсу, і режими їїроботи задаються за допомогою ключів. Вказавши шлях, можна перевірити не весьдиск, а окремий підкаталогу. p>
Як показала практика, найбільш оптимальний режим для щоденної роботизадається ключами/g (перевірка всіх файлів, а не тільки з розширенням
EXE, COM, SYS) та/s (повільна перевірка). Збільшення часу при таких опціяхпрактично не відчутно, зате вірогідність виявлення на порядок вище. p>
При звичайному тестуванні не слід ставити ключ/f (виправленнязаражених програм і стирання не підлягають відновленню), навіть зключем/q (видавати запит про видалення файлу), оскільки будь-яка програма, втому числі і антивірусна, не застрахована від помилок. Ключ/f слідвикористовувати тоді, коли Aidstest, а також інші антивіруси вказуютьна наявність вірусу в будь-якому файлі. При цьому слід перезапуститикомп'ютер з захищеної від запису дискети, тому що система може бутирезидентним заражена вірусом, і тоді лікування буде неефективним, а то йпросто небезпечним. При виявленні вірусу в цінне фото слід переписатийого на дискету, а ще краще - на електронний, диск і там спробувативилікувати за допомогою вказівки Aidstest-у Опції/f. Якщо спроба не увінчаєтьсяуспіхом, то треба видалити всі заражені копії файлу, щоб переглянути диск знову.
Якщо у файлі міститься важлива інформація, яку стирати шкода, то можнапомістити його в архів фото і почекати виходу нової версії Aidstest або іншого антивіруса, здатної лікувати цей тип вірусу. Для прискорення процесуможна направити заражений файл в якості зразка Лозинському. p>
Для створення у файлі протоколу роботи програми Aidstest служить ключ
/ p. Протокол виявляється за потрібне, коли користувач не встигаєпереглянути імена заражених файлів. Для підтримки антивірусного програмно
- Апаратного комплексу Sheriff (далі буде розглянуто детальніше), служитьключ/z. p>
DOCTOR WEB p>
Останнім часом стрімко зростає популярність інший антивіруснийпрограми - Doctor Web. Dr.Web так само, як і Aidstest відноситься до класудетекторів - докторів, але на відміну від останнього, має так званий
"евристичний аналізатор" - алгоритм, що дозволяє виявлятиневідомі віруси. "Лікувальна павутина", як перекладається з англійськоїназва програми, стала відповіддю вітчизняних програмістів на навалусамомодіфіцірующіхся вірусів-мутантів. Останні при розмноженнімодифікують своє тіло так, що не залишається ні однією характерною ланцюжкабайт, яка була присутня у вихідній версії вірусу. Dr.Web можна назватиантивірусом нового покоління в порівнянні з Aidstest та його аналогами. p>
Управління режимами також як і в Aidstest здійснюється за допомогоюключів. Користувач може вказати програмі, тестувати як весь диск,так і окремі підкаталоги або групи файлів, або ж відмовитися відперевірки дисків і тестувати тільки оперативну пам'ять. У свою чергуможна тестувати або тільки базову пам'ять, або, до того ж, ще йрозширену (вказується за допомогою ключа/H). Як і Aidstest Doctor Webможе створювати звіт про роботу (ключ/P), завантажувати знакогенератор
Кирилиці (ключ/R), підтримує роботу з програмно-апаратнихкомплексом Sheriff (ключ/Z). p>
Але, звичайно, головною особливістю "Лікувальної павутини" є наявністьевристичного аналізатора, який підключається ключем/S. Балансу міжшвидкістю та якістю можна добитися, вказавши ключу рівень евристичногоаналізу: 0 - мінімальний, 1 - оптимальний, 2 - максимальний; при цьому,природно, швидкість зменшується пропорційно до збільшення якості. Дотого ж Dr.Web дозволяє тестувати файли, вакциновані CPAV, а такожупаковані LZEXE, PKLITE, DIET. Для цього слід вказати ключ/U (прице розпакування файлів буде проведена на поточному пристрої) або/Uдиск: (де диск: - пристрій, на якому буде проводитисьрозпакування), якщо дискета, з якої запущено Doctor Web захищена від запису.
Багато програм упаковані в такий спосіб, хоча користувач може і непідозрювати про це. Якщо ключ/U не встановлено, то Doctor Web можепропустити вірус, який забрався у запаковану програму. p>
Важливою функцією є контроль зараження тестованих файліврезидентним вірусом (ключ/V). При скануванні пам'яті немає стовідсотковоїгарантії, що "Лікувальна павутина" виявить всі віруси, що знаходяться там.
Так от, при завданні функції/V Dr.Web намагається перешкодитизалишилися резидентним вірусам заразити тестовані файли. p>
Тестування вінчестера Dr.Web-ом займає на багато більше часу, ніж
Aidstest-му, тому не кожен користувач може собі дозволити витрачатистільки часу на щоденну перевірку всього жорсткого диска. Такимкористувачам можна порадити ретельніше (з опцією/S2) перевірятипринесені ззовні дискети. Якщо інформація на дискеті знаходиться в архіві
(а в після