Зараження вірусом програмних файлів

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ВВЕДЕHІЕ

Формально комп'ютерним вірусом називається програма, яка може заражати інші програми шляхом включення в них своєї, можливо модифікованої, копії, причому остання зберігає здатність до подальшого розмноження. Крім зараження, вірус, подібно будь-якій іншій програмі, може виконувати й інші несанкціоновані дії, від цілком нешкідливих до вкрай разрушительных.Выполняемые вірусом несанкціонованого дії можуть бути обумовлені настанням певної дати, або певною кількістю розмножень, наприклад записом зараженої програми на вінчестер.Прі цьому комбінація цих умов може бути досить складною, щоб ускладнити її визначення.

Інфікуючи програми, віруси можуть поширюватися від однієї програми до іншої, що робить їх більш небезпечним в порівнянні з іншими методами комп'ютерного вандалізма.Зараженние програми можуть передаватрся через дискети або по мережі на інші ЕОМ. У зв'язку з широко поширеною практикою обміну і передачі програм на дискетах серед користувачів ПЕОМ коічество заражених програм може бути значним, при - водить до свого роду епідемій.

ПРОЦЕС ЗАРАЖЕHІЯ

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

При передачі управління вірусу він якимось способом знаходить нову програму і виконує вставку власної копії на початок або додає її в кінець цієї звичайно ще не зараженої програми. Якщо вірус дописується в кінець програми, то він то він коригує код програми, щоб отримати управління первим.Для цього перші декілька байтів запам'ятовуються в тілі вірусу, а на їх місце вставляється команда перечода на початок вірусу. Цей спосіб є найбільш поширеним. По - лучів управління, вірус відновлює "заховані" перші байти, а після обробки свого тіла передає управління програмі - вірусоносій і та нормально виконує свої функції. Можливі випадки, коли вірус включає себе кудись у середину програми, наприклад в область стека. Останні випадки зустрічаються рідко.

СТРУКТУРА КОМПЬЮТЕРHОГО ВІРУСУ

Найбільш поширеними типами компьтерних вірусів в MS DOS є файлові нерезидентні, файлові резидентні і бутові віруси.Разбор анатомії комп'ютерних виру почнемо з аналізу структури нерезидентного файлового вірусу як прос - тейшей різновиди цього класу системних програм.

Структрно комп'ютерний вірус можна представити що складається з двох частин: голови і хвоста.Головой називається частина вірусу, яка першою отримує управленіе.Хвост вірусу - це частини вірусу, розташовані окремо від голови.В найпростішому випадку вірус може складатися з однієї голови, і дійсно файл - ові віруси зазвичай так і влаштовані. Такі віруси будемо нази - вати несегментірованное. На відміну від них сегментовані віруси мають распологаются окремо хвіст і в якій - то мірою аналогічні оверлейних програмами. Прикладом сегментують - ванних вірусів є бутові віруси, хоча можлива реалі - зація сегментованих файлових вірусів.

Структура файлової HЕРІЗЕДЕHТHОГО ВІРУСУ

Файлові віруси є найбільш поширеною різно - видности компьтерних вірусів. Принципово вони заражають будь-який вид виконуваних файлів, що існують в MS DOS: com, exe, ovl і т.д. Однак основними об'єктами зараження є соm і ехе - файли. Найбільш просто здійснюється зараження соm файлів, які представляють собою майже точну копію ділянки пам'яті з завантаженої програми. Єдина потрібна настройка при завантаженні com - файлів полягає в завантаженні сег - цементних регістрів значеннями, відповідними місця завантаження програми. Значна частина com - файлів починається з команди переходу, що обходить містяться на початку програм дані.

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

Hекоторие віруси використовують більш примітивний підхід: замість дописування свого тіла в кінець Зарожани com - файла вони переміщують туди перші кілька блоків програми, а самі записуються на місце звільнених блоків. У цьому випадку тільки програма відновлення вихідного состаяніі програми повинна бути позиційно-незалежною чи розміщуватися десь у фіксованих адресах пам'яті, використовуючи якийсь невикористовуваний її ділянку.

Вставка тіла вірусу при зараженні може виконуватися не тільки в хвіст файлу. Зустрічаються випадки імплантації в початок або середину файлу.

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

Вствка в кінець файлу. Це найбільш распрастраненной Сучай. При цьому необхідно забезпечити передачу управління кодом вірусу до початку роботи зараженої програми. Для файлів типу com найчастіше це реалізується заміною кількох пер - вих байтів програми (звичайно трьох на команду переходу). При цьому самі замінні байти обов'язково повинні бути сох - поранені десь у тілі вірусу, що забезпечує можливість їх відновлення. Коли інсталятор вірусу отримує управління, то зазвичай на початку своєї роботи він відновлює ізменениє вірусом байти в первісному вигляді.

Вставка в середину файлу. Цей спосіб зараження зустрічається рідко. По-перше, цей спосіб використовується вірусами вражаючими особливий клас програм, особливості структури якого заздалегідь відомі, наприклад тільки файл command.com.Во-друге, і це найбільш частий випадок, вставка в середину можлива шляхом перекидання заміщаються блоків в кінець файла.В приватному випадку, коли заражає файл містить область нулів або або інших повторюваних байт достатнього розміру, вставка в середину відбувається без збільшення довжини програми, що ускладнює виявлення заражених файлів. Вставка в середину може відбутися і випадково. Hапример це відбувається для звичайних вірусів, які чіпляються до кінця exe-файлу, якщо в загаловки неправильно зазначена його довжина тобто частина використовується як буфер або неявного оверлея. У цьому випадку вірус вважає, що файл має довжину, вказану в заголовку, і записує свій код в область буфера або оверлея. При цьому він опиняється в середині дійсно займаного даною програмою файла.І нарешті, файл може бути заражений декількома вірусами, однотипно заражують файл (зазвичай дописує свій код в кінець файлу). У цьому випадку вірус, першим заразив даний файл, відтісняється до середини файлу подальшими вірусами. Будучи порівняно рідкісними, зазначені випадки досить часто невраховуваних творцями антивірусних програм, зокрема детекторів і фагів, яке, захоплюючись оптимізацією часу виконання своїх програм, приймають "занадто сильні" припущення про розташування коду вірусу в тілі зараженої програми. У результаті файл може бути не детектувати як заражений або вилікуваний неправильно. Як вже вказувалося, при вставці в кінець або середину файлу вірус повинен якимось - то чином забезпечити передачу собі управленіяю. При цьому необов'язково змінювати саме перші байти програми. Можлива зміна інших байтів. Hаприклад, якщо програма починається з команди безумовного переходу, вірус може визначати адреса переходу і модифікувати команди, розташовані за цією адресою. Тому часто висловлюється думка про те, що для нейтралізації вірусу в зара - женном файлі достатньо відновити його перші байти, слід визнати неправильним.

Структура файлової РЕЗІДЕHТHОГО ВІРУСУ

Файлові резидентні віруси, крім окремих файлів, зара - жають, якщо так можна висловитися, і пам'ять комп'ютера. Преде - мон спрощуючи, пам'ять комп'ютера можна розглядати як ще один файл, який можна заражати, дописуючи "у голову", тобто в область молодших адрес вільної ділянки пам'яті, "в хвіст", тобто в область старших адрес вільного навчаючи - стка пам'яті, і, нарешті, "в середину", тобто в область адрес вже використовуються операційною системою або всякий програмою.

Разом з тим структура резидентного вірусу істотно відрізняється від структури нерезедентного віруса.Резідентний вірус можна представляти як складається з двох відносно неза - лежно частин: інсталятора і модуля обробки переривань. Останній, у свою чергу, складається з ряду програм обробки. Декілька спрощуючи, можна вважати, що на кожне перехоплення - ваемое переривання доводиться своя програма обробки.

Інсталятор отримує управління при виконанні зараженої програми і грає роль своєрідної ракети-носія, що запускає вірус на орбіту, тобто в оперативну память.Он відпрацьовує один раз - після запуску зараженої програми, і його доцільно розглядати як специалізірованний файловий вірус заражає оперативну пам'ять

і, можливо, звичайні файли (найчастіше commmand.com). В останньому випадку інсталятор фактично є допрацьованим для зараження оперативної пам'яті файловим вірусом.

Після закріплення в оперативній пам'яті інсталятор виконує так званий перехоплення переривань-обеспечивание передачі управління модулям вірусу, що обробляють соответсвующее прериваніе.Ето може робитися "в лоб", тобто шляхом використання відповідних функцій MS - DOS, або "з чорного ходу" - нестандартним способом, що забезпечує в загальному випадку більш високу ступінь маскіровкі.Прі будь-якому способі кінцевий ефект полягає в тому, що при виконанні определеной функції MS-DOS управління буде передаватися вірусу. При цьому вірус може мати додатковий механізм, що забезпечує отримання управління раніше інших програм, перехопили це ж прериваніе.Такіе резидентні віруси будемо називати вспливающімі.Всплитіе допомагає вірусу обходити найпростіші программисторожа, засновані на перехопленні тих же переривань, оскільки вони будуть отримувати управління після вірусу.

Звідси випливає, що аналіз списку резидентних програм і обсягу пам'яті, що повідомляється MS - DOS, є досить корисним способом перевірки зараженості комп'ютера.

Функціонування резидентного файлового вірусу можна пред - ставити як дві стадії: інсталяції та спостереження. При запуску зараженої програми управління отримує інсталятор, який забезпечує зукрепленіе вірусу в оперативній пам'яті, перехоплення необхідних переривань і, можливо, маскування (з метою утруднити своє виявлення серед резидентних програм). Ця фаза роботи називається фаза інсталяції. Надалі кожен раз при виникненні одного з перехоплених вірусом переривань управління отримує модуль обробки соотвествующего переривання. При цьому вірус може аналізувати надійшов запит і залежно від його виду виконувати ті чи інші действія.Hапрімер, в MS-DOS завантаження програми в оперативну пам'ять (з подальшим виконанням і без оного) реалізовано за допомогою функції 4Bh переривання 21h (Exec). Якщо вірус перехоплює переривання 21h, то контролюючи цю функцію, він може визначити ім'я файлу, з якого виконується завантаження. Тим самим з'являється можливість заразити програму у цьому фай - ле. Звідси видно, що зазвичай спосіб пошуку "жертви" у різі - дентних вірусів відрізняється від способу, використовуваного нерезидентними вірусамі.Hерезідентние віруси одержують керування після зарускі в пам'ять зарженной програми, а потім шукають файл-жертву, використовуючи параметри PATH або іншу інформацію про розташування виконуваних програм. Якщо жертва знайдена, то вона заражається, а потім управління повертається зараженій програмі. Резидентні віруси одержують керування при виконанні певних Функцій MS-DOS. Як правило, це функції обслуговування файлової сістеми.Получів управління при зверненні програми до певної функції, вони визначають контекст цього звернення (ім'я файлу, відповідного виконуваної програмі), а потім виконують над цим файлом певні дей - ствия (наприклад, зараження). Зазвичай резидентні файлові віруси заражають програми при їх запуску на виконання (по функції 4Bh переривання 21h), однак найбільш інфікують з резидентних вірусів заражають файли при їх відкритті, читанні та інших операціях.

СТРУКТУРА бутового вірусу

Бутові віруси є дуже спеціалізованими різновиди резидентних файлових вірусів. Спрощено бутовий вірус можна уявити собі як спеціалізований резидентний вірус, який заражає єдині "файл" - завантажувальний сектор гнучкого або жорсткого диска. Чіткого відмінності між резидентними файловими вірусами і бутовими вірусами не існує: останнім часом з'явилися гібриди, які поєднують зарженіе файлів із зараженням бут-сектора вінчестера. Це під - черківает близькість основних принципів організації цих двох типів вірусів.

Поширюються бутові віруси шляхом інфікування бут-сектору дискет, причому як завантажуються (що містять копію MS - DOS), так і незавантажувальних (містять будь-яку інформацію). Зараження незагруужаемих дискет пов'язано з певним психо - логічним розрахунком, який, на жаль, надто часто виправдовується: при перезавантаженні MS-DOS користувачі зазвичай забувають перевірити, вставлена ​​чи дискета в дисковод A, і часто перезавантаження виконується з вставленої у зазначений дисковод дискетою, з якою вірус і потрапляє на вінчестер.

Особливість BIOS, яка полягає у зверненні до дисковода A перед зверненням до дисковода C, в даний час є ана - хронізмом.Прі наявності вінчестера завантаження з дискети є рідкісною операцією, в CMOS передбачено поле, значення якого визначає диск початкового завантаження. При необхідності завантажитися з дискети досить змінити відповідне поле CMOS.

Інфікована дискета всгеда містить частину коду вірусу в бут-секторі, тому бутові віруси легко виявити. Пос - кольку структура стандартного завантажувача лише трохи міняється від версії до версії MS-DOS, при перегляді бут-сектора дискети на незараженою комп'ютері легко бачити зміни завантажувача.

Як вже вказувалося, файлові віруси зазвичай складаються з одного сегмента. Втім, першу команду JMP, підставляємо біль - шінство файлових вірусів, дописує своє тіло в кінець файлу, можна розглядати як вироджений сегмент. Бутовий вірус завжди складається з декількох сегментів. Зазвичай таких сегментів два: голова і хвіст. Положення голови бутового вірусу на дискеті визначено однозначно: вона завжди розта - дружина в бут-секторі і займає рівно сектор. Hа вінчестері ситуація трохи складніше: голова бутового вірусу може рас - покладатися в одному з його двох бут-секторів - головному (MBR - MASTER BOOT RECORD), розташованому за абсолютним дисковому адресою 0/0/1, або бут-секторі логічного диска C, зазвичай займає перший сектор відповідного логічного диска.

Хвіст бутового вірусу може рсполагаться в різних місцях, наприклад у кластерах, позначених на диску як збійні і тим самим виключених з подальшого розподілу (псевдосбой - кластери); в останніх фізичних секторах дискети або вінчестера, оскільки вони зазвичай завжди вільні (при цьому вірус може не відзначати їх як зайняті, припускаючи, що запис в ці сектори виконуватися не буде); у не використовуваних блоках FAT головного каталогу або одного з підкаталогів; на додаткових доріжках дискети або вінчестера.

Зазвичай хвіст вірусу містить копію оригінального бут - сектора, і якщо вона зберігатися некодованому вигляді, то становище хвоста в більшості випадках можна визначити глобальним контекстним пошуком по дискеті або вінчестера (іс - ством є випадок використання для хвоста додат - вельних доріжок на дискеті або вінчестері ). У мінімальному варіанті хвіст може складатися тільки з одного сектора з оригінальним бут-сектором.

Для всіх бутових вірусів механізм зараження однотіпен. Коли MS-DOS завантажується з зараженого диска, бутовий вірус отримує управління і спочатку копіює себе в старші адреси пам'яті. Потім він зменшує розмір пам'яті, замінюючи значення, що зберігається за адресою 0040:0013 (слово, відповідне вектору переривань 12h), з тим, щоб захистити резидентну частину вірусу, і перехоплює переривання 13h з тим, щоб перехоплювати звернення до диска. Таким чином, при будь-якому зверненні до диска управління отримує обробник цього пре - риваніе, що становить основну частину тіла вірусу. Після цих дій вірус запускає стандартний системний завантажувач, який завантажує ibmbio.com і ibmdos.com (або io.sys і msdos.sys) , тобто відбувається стандаотная завантаження системи.

Отримавши управління по перериванню з читання, вірус аналізує, належить вона до дікете або до вінчестеру.Еслі це переривання відноситься до дискети, то спочатку вірус перевіряє, заражена вже дана дискета або нет.Для цієї мети зчитується бутсектор і перевіряється його вміст. Якщо дискета ще не заражена, то вірус заражає дискету, а потім обробляє команду read. Якщо дискета вже заражена, вірус одразу переходить до обробки команди read; також він надходить у випадку, якщо дискета захищена від запису.

Як було зазначено вище, хвіст бутового вірусу може распо - Лаган в разнийх місцях. Найбільш часто бутові віруси розміщують свій хвіст у вільному кластері (ах), позначаються як збійні. Останнє необхідне для того, щоб зайнятий вірусом кластер (и) не був використаний MS-DOS при створенні нового файлу, і в той же час є непоганим методом маскування, посколку користувачі зазвичай погано уявляють структуру диска і не стежать за кількістю збійних кластерів на ньому.

Бутові віруси інфікують будь-які дискети, а не тільки системні, оскільки з не несистемної дискети також може виконувати - ся спроба завантаження MS-DOS. Найчастіше така ситуація виникає після зависання операційної системи. Якщо при перезавантаженні інфікована дискета опиниться в "готовому" дис - дисковод A, то природний завантаження буде спочатку виконуватися з нее.В цьому випадку програма початкового завантаження зчитує заражений бут-сектор і передає йому управління. Вірус загру - жает себе в оперативну пам'ять і імітує повідомлення, видав - ваемое в цьому випадку стандартним завантажувачем ("Non system disk"). При цьому якщо користувач відкриє дисковод з дискетою і натисне клавішу Enter (Введення), то вірус залишиться в пам'яті, заразить вінчестер і надалі буде заражати все вставляються дискети, до яких зверталися хоча б раз (досить команди DIR). Оскільки всі бутові віруси перехоплюють переривання 13h, вони зазвичай конфліктують з драйверами, що підтримують нестандартні формати (наприклад, 720 К). У

кращому випадку при цьому відбувається зависання системи або видача повідомлення про поділ на ноль.В гіршому випадку операційна система залишається працездатною, на дискету щось пишеться але потім нічого прочитати з неї нелзя.Особое увагу слід звернути на той факт, що бутові віруси перехва - робляють прераваніе з клавіатури і можуть пережити в оперативній пам'яті м'яку перезавантаження (тобто перезавантаження за допомогою натиснення клавіш Ctrl-Alt-Del).

Слід зазначити, що число відомих чисто бутових вірусів набагато менше, ніж файлових, і, крім того, швидкість їх розмноження нижче (число дискет свідомо менше, ніж кількість файлів на них). У цілому зараження "чистим" бутовим вірусом є ознакою безпечності та недостатньої кваліфікації користувача в більшою мірою, ніж зараження фай - столовим вірусом.

Оскільки різкої відмінності між файловими і бутовими виру - самі немає, деякі віруси є змішаними і заражають як файли, так і бут-сектори.Такіе "гібридні віруси" мають більш високу інфікують здатність, ніж "чисті" типи, однак виявляються легше, ніж файлові віруси, оскільки мають фіксоване місце зараження на вінчестері, цілісність якого зазвичай контролюється більшістю ревізоров.Помімо заражених виконуваних файлів, файловобутовие віруси можуть переноситися на дискетах, що містять тільки файли дан - них, як звичайні бутові віруси. Крім того, завантажуючись з MBR, легше обійти резидентні засоби контролю, оскільки інсталяція вірусу проходить на "чистій" машині.

АКТІВHИЕ СТЕЛС - ВІРУСИ

Hемного про те, що таке стелс - віруси. Цим терміном називають віруси, в алгоритмах яких закладена можливість мас - кіровать свою присутність в зараженій машині. Перші віруси не володіли такими можливостями і їх легко було виявити при візуальному перегляді виконуваних файлів на зараженій машині. Застосування навіть найпростіших антивірусних засобів - но зупиняло поширення таких вірусів, і вони перестали викликати епідемії. Поява антивірусних програм призвело до новому витку в розвитку технології написання виру - сов, і поява вірусів - невидимок стало природним ша - гом у такому розвитку. Віруси, які використовують прийоми маскування не можна побачити засобами операційної системи (наприклад, натиснувши в VC або NC клавішу F3). Це відбувається тому, що вірус, активно працює разом з операційною системою, при відкритті файлу на читання негайно видалив своє тіло з зараженого файлу, а при закритті файла уразив його знову. Це тільки один з можливих прийомів маскування, існують і інші. Так само маскуються і завантажувальні (бутові) віруси При спробі прочитати ВООТ (завантажувальний) сектор вони замінюють його оригінальним, не зараженим.

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

КЛАСИФІКАЦІЯ АHТІВІРУСHИХ ПРОГРАМ

Антивіруси можна класифікувати за п'ятьма основними групами: фільтри, детектори, ревізори, доктори та вакцинаторов.

Антивіруси-фільтри (сторожа) - це резидентні програми, які сповіщають користувача про всі спроби будь-якої програми записатися на диск, а вже тим більше відформатувати його, а також про інших підозрілих діях (наприклад про спроби змінити установки CMOS). При цьому виводиться запит про дозвіл або заборону даної дії. Принцип роботи цих програм заснований на перехоплення відповідних векторів переривань. До переваг програм цього класу у порівнянні з програмами-детекторами можна віднести універсальність по відношенню як до відомих, так і невідомим вірусам, тоді як детектори пишуться під конкретні, відомі на даний момент програмісту види. Це особливо актуально зараз, коли з'явилося багато вірусів-мутантів, що не мають постійного коду. Однак, програми-фільтри не можуть отсле - проживати віруси, які звертаються безпосередньо до BIOS, а також BOOT-віруси, що активізуються ещe до запуску антивіруса, в початковій стадії завантаження DOS. До недоліків також можна віднести часту видачу запитів на здійснення будь-якої операції: відповіді на питання віднімають у користувача багато часу і діють йому на нерви. При установці деяких антивірусів-фільтрів можуть виникати конфлікти з іншими резидентними програмами, використовуючи ті ж переривання, які просто перестають працювати.

Найбільшого поширення в нашій країні отримали програми-детектори, а вірніше програми, що поєднують у собі детек - тор і доктор. Найбільш відомі представники цього класу--Aidstest, Doctor Web, MicroSoft AntiVirus далі будуть рас - дивіться докладніше. Антивіруси-детектори розраховані на конк - ретних віруси і засновані на порівнянні послідовності кодів містяться в тілі вірусу з кодами перевірених програм.

Такі програми потрібно регулярно оновлювати, оскільки вони швидко застарівають і не можуть виявляти нові види вірусів. Ревізори - програми, які аналізують поточний стан - ня файлів і системних областей диска і порівнюють його з інформацією, що зберігається раніше в одному з файлів даних ре - візора. При цьому перевіряється стан BOOT-сектора, таб - лиці FAT, а також довжина файлів, їх час створення, атрі - Бути, контрольна сума. Аналізуючи повідомлення програми-рі - візора, користувач може вирішити, чим викликані зміни: вірусом чи ні. При видачі такого роду повідомлень не слід піддаватися паніці, оскільки причиною змін, наприклад, довжини програми може бути зовсім і не вірус.Самие витончені антивіруси - вакцинаторов. Вони записують у вакцініруемие програму ознаки конкретного вірусу так, що вірус вважає її вже зарaженной.Такім чином, вірус не може заразити цю програму. Вакіціни можуть бути пасивні та активні.

Пасивна вакцина являє собою пакетну програму, яка за один виклик обробляє спеціальним чином файл або всі файлу на диску або в каталозі. Зазвичай при такій обробці проставляється ознака, який вірус використовує для того, щоб відрізнити заражені програми від незаражених. Hаприклад, деякі віруси дописують в кінець заражених файлів певну рядок. Якщо штучно дописати в кінець всіх програм цей рядок, то такі програми не будуть заражатися вірусом, оскільки він буде вважати, що вони вже заражени.Обработанная таким чином програма є вак - цінірованной проти даного вірусу, при чeм операція вакці - нації є зворотною: коли небезпека зараження буде ліквідовані, рядок можна з файлу видалити. Інші віруси проставляють у полі дати заражають програм значення секунд, рівне 62 (MS-DOS допускає запис такого явно нереального значення).

Вакцина може проставити ця ознака у всіх виконуваних програм, які тим самим будуть захищені від зараження даним типом вірусу. У цьому випадку вакцинацію є не - оборотним в тому сенсі, що відновити первісне значення Скунда не вдасться, хоча вони, звичайно, можуть бути скасовані.

Активні вакцини є резидентними програмами, дія яких заснована на імітації присутності вірусу в оператив - ної памяті.Поетому вони зазвичай застосовуються проти резидентних вірусов.Еслі така вакцина знаходиться в пам'яті, то, коли при запуску зараженої програми вірус перевіряє, чи знаходиться вже в оперативній пам'яті його копія, вакцина іметірует наявність копії. У цьому випадку вірус просто передає керування програмі - господарю та його інсталяція не відбувається. Прос - тейшіе вакцини являють собою виділений і злегка моди - ваних (позбавлений спосбности до розмноження) вірус.Пое - тому вони можуть бути оперативно виготовлені - швидше ніж доктора.Боле складні вакцини (полівакцин) імітують наявність в оперативній пам'яті декількох вірусів.

Звичайно, наведений перелік не вичерпує всього різноманіття антивірусних програм, хоча і охоплює основи їх різно - видности. Кожна з антивірусних програм подібна вузького спеціаліста у певній галузі, тому оптимальною тактикою є комплексне застосування декількох типів ан - тівірусних коштів.

А тепер трохи про деяких антивірусах.

AIDSTEST

У нашій країні, як уже було сказано вище, особливу популярність придбали антивірусні програми, що поєднують в собі функції детекторів і докторів. Найвідомішою з них є ба - ється програма AIDSTEST Д. Н. Лозинського. У Росії практично на кожному IBM-сумісному персональному комп'ютері є одна з версій цієї програми. Одна з остання версія виявляє більше 1100 вірусів.

Aidstest для свого нормального функціонування потребує, щоб у пам'яті не було резидентних антивірусів, блокуючих запис в програмні файли, тому їх слід вивантажити, або вказавши опцію вивантаження самої резидентної програмі, або скористатися відповідною утилітою (наприклад у Волков Коммандера для цих цілей є спеціальний пункт у меню).

При запуску Aidstest перевіряє себе оперативну пам'ять на наявність відомих йому вірусів і знешкоджує їх. При цьому паралізуються тільки функції вірусу, пов'язані з розмноженням,

а інші побічні ефекти можуть залишатися. Тому прог - Рамі після закінчення знешкодження вірусу в пам'яті видає запит про перезавантаження. Слід обов'язково наслідувати цьому раді, якщо оператор ПЕОМ не є системним програм - містом, що займаються вивченням властивостей вірусів. При чому слід перезавантажитися кнопкою RESET, так як за "теплою пе - резагрузке" деякі віруси можуть зберігатися. У добавок, краще запустити машину і Aidstest з захищеної від запису дискети, тому що при запуску з зараженого диска вірус може записатися на згадку резидентом і перешкоджати лікуванню.

Aidstest тестує своє тіло на наявність відомих вірусів, а також по спотворень у своєму коді судить про своє зараження невідомим вірусом. При цьому можливі випадки помилкової тривоги,

наприклад при стисканні антивіруса пакувальником.

Програма не має графічного інтерфейсу і режими її роботи задаються за допомогою ключей.Указав шлях, можна перевірити не весь диск, а окремий підкаталог.

Як показала практика, найоптимальніший режим для щоденної роботи задається ключами / g (перевірка всіх файлів, а не тільки з розширенням EXE, COM, SYS) та / s (повільна перевірка). Увелічіваніе часу при таких опціях практично не відчутно (повністю "забитий" жорсткий диск ємністю 270 мегабайт на машині з процесором 486DX2 тестується менше хвилини), зате ймовірність виявлення на порядок вище.

DOCTOR WEB

Останнім часом стрімко зростає популярність інший антивірусної програми - Doctor Web. Dr.Web також, як і Aidstest належить до класу детекторів - докторів, але в від - відмінність від останнього має так званий "евристичний аналізатор" - алгоритм, що дозволяє виявляти невідомі віруси. "Лікувальна павутиння", як перекладається з англійської назва програми, стала відповіддю вітчизняних програмістів на навала самомодифицирующихся вірусів-мутантів, які при розмноженні модифікують своє тіло так, що не залишається жодної характерною ланцюжка байт, присутня в вихідної версії вірусу. Dr.Web можна назвати антивірусом нового покоління в порівнянні з Aidstest та його аналогами. На користь цієї програми свідчить той факт, що велику ліцензію (на 2000 комп'ютерів) набуло Головне управління інформаційної - них ресурсів при Президенті РФ, а другий за величиною покупець "павутини" - "Інкомбанк".

Управління режимами як і в Aidtest здійснюється за допомогою ключів. Користувач може вказати програмі тести - муть як весь диск, так і окремі підкаталоги або групи файлів, або ж відмовитися від перевірки дисків і тестувати тільки оперативну пам'ять. У свою чергу можна тестувати або тільки базову пам'ять, або, ще й, ещe і розширену (вказується з допомогою ключа / H).

AVSP

(Anti-Virus Software Protection)

Цікавим програмним продуктом є антивірус AVSP. Ця програма поєднує в собі і детектор, і доктор, і ревізор, і навіть має деякі функції резидентного фільтра (заборона запису у файли з атрибутом READ ONLY). Антивірус може лікувати як відомі і невідомі віруси, при чому про спосіб лікування останніх програмі може повідомити сам користувач. До того ж AVSP може лікувати самомодіфіцірующіеся і стелс-віруси (невидимки). До складу пакету AVSP входить також резід - ентний драйвер AVSP.SYS, який дозволяє виявляти більшість невидимих ​​вірусів, дезактивувати віруси на час своєї роботи, а також забороняє змінювати READ ONLY файли. ONLY буде знято. Поставити файли під захист можна клавішею F7. Ще одна функція AVSP.SYS - відключення на час роботи AVSP.EXE резидентних вірусів, правда разом з вірусами драйвер відключає і деякі інші резидентні програми. Звичайно, повністю всі можливості програми реалізуються в руках людини, знайомого з асемблером і системним програмуванням. У AVSP є можливість просмат - ти файли в різних форматах. При вході в режим перегляду на екран виводяться дві колонки: зліва вміст просматрі - го файлу у вигляді шістнадцяткових кодів, а праворуч - у вигляді ASCII-кодів. Крім того виводиться корисна системна інформація, яка допоможе при написанні процедури видалення вірусу. Пересуваючи курсор, можна перейти на будь-яку адресу, є також функції пошуку шаблонів, порівняння файлів. Можна встановити, в якому форматі буде проглядатися, наприклад, заголовок: як у EXE-файлу, SYS-файла або у форматі загру - вальних сектора. При цьому добре реалізований сам перегляд заголовка: його системні осередку представлені у вигляді таблиці: зліва значення клітинки, праворуч - пояснення.

Ще однією корисною функцією є вбудований дізассемблер. З його допомогою можна розібратися чи є в файлі вірус або під час перевірки диска сталося помилкове спрацьовування AVSP. Крім того можна спробувати з'ясувати спосіб зараження, принцип дії вірусу, а також місце, куди він "сховав" за - мещeнние байти файлу (якщо ми маємо справу з таким типом вірусу). Все це дозволить написати процедуру видалення вірусу і відновити запорченние файли. Для повного щастя нехва - тане тільки трасувальника, хоча в невмілих руках така функція може призвести до зараження ещe більшого кількості даних. Ще одна корисна функція - видача наочної карти змін. Особливо чітко я це зрозумів, коли у мене виникла підозра щодо одного з файлів (який не повинен був, начебто, мінятися). Карта змін дозволяє оцінити, яка від - повідають ці зміни вірусу чи ні, а також звузити область пошуку тіла вірусу при дизасемблюванні. При еe побудові червоний прямокутник використовується для зображення - ня ізменeнного блоку, синій - неізменeнного, а прозорий -

- Нового.

Якщо є підозра, що в систему забрався Stealth-вірус, можна запустити AVSP з параметром / D з жорсткого диска, а потім завантажитися з чистою системної дискети і запустити AVSP без параметрів. Якщо результати перевірки контрольних сум відрізняються в обох випадках, то підозри виправдані. У програмі AVSP є два алгоритми нейтралізації "невидимок" і обидва вони працюють лише за наявності активного вірусу в пам'яті.

Microsoft Antivirus

До складу сучасних версій MS-DOS (наприклад 6.22) входить антивірусна програма Microsoft Antivirus (MSAV). Цей ан - тівірус може працювати в режимах детектора - доктори і ревізора. MSAV має дружній інтерфейс в стилі MS-Windows. При запуску перевірки диска (як в режимі видалення - ня, так і без нього) програма спочатку сканує пам'ять на наявність відомих їй вірусів. При цьому виводиться індикація виконаної роботи у вигляді кольорової смужки і відсотка вико - ненной роботи. Після сканування пам'яті MSAV приймається за перевірку безпосередньо диска.

ADINF

(Advanced Diskinfoscope)

ADinf відноситься до класу програм-ревізорів. Антивірус має високу швидкість роботи, здатний успішно протистояти вірусам, які у пам'яті. Він дозволяє контролювати диск, читаючи його по секторах через BIOS і не використовуючи сис - темні переривання DOS, що може перехопити вірус. Програма ADinf отримала перший приз на Другому Всесоюзному конкурсі антивірусних програм в 1990 році, а також другий приз на конкурсі Borland Contest'93.

На відміну від AVSP, в якому користувачеві доводиться самому аналізувати, чи заражена машина стелс-вірусом, завантажуючись спочатку з вінчестера, а потім з еталонною дискети, в ADinf ця операція відбувається автоматично. Це відбувається завдяки оригінальному алгоритму протидії цим вірусам-- "невидимкам", суть якого полягає в тому, що спочатку диск читається безпосередньо через BIOS, а потім - за допомогою DOS. Якщо інформація буде відрізнятися, то в системі стелс-вірус. ADinf був єдиним антивірусом, який влітку 1991 року виявив вірус DIR, побудований на принципово новий спосіб зараження і маскіровкі.Для лікування заражeнних файлів застосовується модуль ADinf Cure Module, який не входить в пакет ADinf і поставляється окремо. Принцип роботи модуля -

- Збереження невеликий бази даних, яка описує контрольовані файли. Працюючи спільно, ці програми дозволяють обна - ружить і видалити близько 97% файлових вірусів і 100% вірусів у завантажувальному секторі.

На відміну від інших антивірусів Advansed Diskinfoscope не вимагає завантаження з еталонною, защіщeнной від запису дискети. При завантаженні з вінчестера надійність захисту не зменшується. ADinf має добре виконаний дружній інтерфейс, який на відміну від AVSP реалізований не в текстовому, а в графічному режимі. Програма працює безпосередньо з відео-пам'яттю, минаючи BIOS, при цьому підтримуються всі гра - фические адаптери. Наявність великої кількості ключів поз - воляет користувачеві створити максимально зручну для нього конфігурацію системи. Можна встановити, що саме потрібно контролювати: файли з заданими розширеннями, завантажувальні сектора, наявність збійних кластерів, нові файли на наявність стелс-вірусів, файли зі списку незмінних і т.д. За своїм бажанням користувач може заборонити перевіряти деякі каталоги (це потрібно, якщо каталоги є робочими і в них всe час відбуваються зміни). Є можливість змінювати спосіб доступу до диска (BIOS, Int13h або Int25h/26h), редагувати список розширень файлів, що перевіряють, а також призначити кожному розширенню власний вьюер, за допомогою якого буде проглядатися файли з цим розширенням.

При інсталяції ADinf до системи є можливість змінити ім'я основного файла ADINF.EXE і ім'я таблиць, при цьому користувач може задати будь-яке ім'я. Це дуже корисна функція, так як останнім часом з'явилося багато вірусів, "полюють" за антивірусами (наприклад, є вірус, який змінює програму Aidstest, що вона замість заставки фірми "ДіалогНаука" пише: "Лозінський - пень"), у тому числі і за ADinf.

Корисною функцією є можливість роботи з DOS не виходячи з програми. Це буває корисно, коли потрібно запустити зовнішній антивірус для лікування файлу, якщо у користувача немає лікуючого блоку ADinf Cure Module.

Ще одна цікава функція - заборона роботи з системою при виявленні змін диску. Ця функція корисна, коли за терміналами працюють користувачі, що не мають ещe великого досвіду у спілкуванні з компьютером.Такіе користувачі через незнання чи через недбальство можуть проігнорувати повідомлення ADinf і продовжити роботу як ні в чeм не бувало, що може призвести до важкими наслідками. Якщо ж встановлено ключ-Stop в рядку виклику ADinf AUTOEXEC.BAT, то при виявленні змін диску програма зажадає покликати системного програміста, який обслуговує цей термінал, а якщо користувач натисне ESC або ENTER, то система перезавантажиться і все повториться снова.І всe ж ця функція продумана не до кінця, тому що продовження роботи можливе при натисканні клавіші F10. Адже більшість користувачів, навіть якщо вони вперше сіли за комп'ютер, навіть при мінімальному на те бажанні зможуть продовжити роботу, скориставшись "правилом наукового тику", тобто натиснувши на всі клавіші поспіль. Для підвищення надeжності захисту від таких користувачів слід було б запровадити хоча б який-небудь простенький пароль.

Принцип роботи ADinf заснований на збереженні в таблиці копії MASTER-BOOT і BOOT секторів, список номерів збійних класти - рів, схему дерева каталогів та інформацію про всіх контрольованих файлах. Крім того, програма запам'ятовує і при кожному запуску перевіряє, чи не змінився доступний DOS обсяг оперативної пам'яті (що буває при зараженні більшістю завантажувальних вірусів), кількість встановлених вінчестерів, таблиці параметрів вінчестера в сфері змінних BIOS.

При першому запуску програма запам'ятовує обсяг оперативної пам'яті, знаходить і запам'ятовує адресу обробника переривання Int 13h в BIOS, який буде використовуватися при всіх подальших перевірок, і будує таблиці для перевірених дисків. При цьому перевіряється, показував чи вектор переривання 13h в BIOS перед завантаженням DOS. При наступних запусках ADinf перевіряє обсяг оперативної пам'яті, доступної DOS, змінні BIOS, завантажувальні сектора, список номерів збійних кластерів (так як деякі віруси, записавшись в кластер, позначають його, як зіпсований, щоб їх не затeрлі інші дані, а також не виявили примітивні антивіруси). До того ж антивірус шукає знову створені і знищені підкаталоги, нові, віддалені, перейменовані, перемещeнние і вимірювань - нівшіеся файли (перевіряється зміна довжини та контрольної суми). Якщо ADinf виявить, що, змінився файл зі списку незмінних, або у файлі відбулися змінився без зміни дати і часу, а також наявність у файлу Країни дати (число більше 31, місяць більше 12 або рік більше поточного) або часу (хвилин більше 59, годин більше 23 або секунд більше 59), то він видасть попередження про те, що можливе зараження вірусом.

Якщо виявлені зміни BOOT-секторів, то можна в режимі діалогу порівняти системні таблиці, які були до і після зміни, і за бажанням відновити колишній сектор. Після поновлення змінений сектор зберігається у файлі на диску для подальшого аналізу. Нові збійні кластери (вірніше інформації про них в FAT) можуть з'явитися після запуску будь-яких утиліти, що лікує диск (наприклад NDD) чи завдяки діям вірусу. Якщо ADinf видав повідомлення,

а користувач не запускав ніяких подібних утиліт, то швидше за все в комп'ютер заліз вірус. При отриманні такого сполуче - ння слід продовжити перевірку, уважно стежачи за всіма повідомленнями про зміни файлів і завантажувальних секторів. Якщо в системі дійсно вірус, то такі повідомлення не змусять себе довго чекати (бо коли її вірусу перебуватиме в "збійному" кластері, йому ніколи не передасться управління).

ЗВЕДЕНА ТАБЛИЦЯ ОПИСАНИХ АНТИВІРУСНА ПРОГРАМ

ІМ'Я AIDSTEST DR.WEB AVSP ADINF MSAV
Фільтр
Доктор
Ревізор
Детектор
Підтримка миші - + + + +
Віконний інтерфейс - + + + +
Виявлення Stealth вірусів - - + + +
Виявлення невідомих вірусів - + + + +
Час роботи при завданні соответств. режимів / G / s / A/s2/v / o / u каче ство * всі файли за розум-олчанію за умовчанням чанію, з контрол. сумами
2.5 хв 23мін 4-11 хв 1 хв 1хв 20 сек

Виноски таблиці:

* - Файли з розширеннями com, exe, ov?, Bin, sys.

ПІСЛЯМОВА

На мій погляд, з усіх вітчизняних програм, розглянутих тут ADinf є найповнішою, логічно завершеною антивірусної системою. Решта програми знаходяться, як би в стадії розвитку. Програми-фаги, в принципі, не можуть досягти логічного завершення, так як повинні розвиватися, щоб протистояти новим вірусам, хоча Dr.Web вже пішов по шляху вдосконалення інтерфейсу. Високий потенціал у програми AVSP, яка при відповідному доопрацюванні (уп - спрощені алгоритмів пошуку стелс-вірусів, введення низькорівневої захисту, поліпшення інтерфейсу) може зайняти високі позиції в середовищі антивірусів.

СПИСОК ЛІТЕРАТУРИ

1. В. Е. Фігурне "IBM PC для користувача". 1993

2. Ф. Файтс, П. Джонстон, М. Кратц "Комп'ютерний вірус: проблеми та прогноз". 1993

3. М. М. Безруков "Класифікація комп'ютерних вірусів MS-DOS і методи захисту від них". 1990

6. Документації на антивірусні програми.

7. Власний досвід.


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
83.4кб. | скачати


Схожі роботи:
Архівація файлів та створення архіватора текстових файлів
Архівування файлів Методи архівування файлів за допомогою основних програм архваторів - опис
Використання файлів Прийоми використання файлів у програмах - запис та зчитування інформації
Радіоактивне зараження місцевості
Психічне зараження і наслідування
Відповідальність за зараження ВІЛ-інфекцією
Радіоактивне зараження і ядерне поразка
Профілактика зараження комп`ютера
Захворювання СНІД шляхи зараження
© Усі права захищені
написати до нас