Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НавчПос_ЗОС.doc
Скачиваний:
90
Добавлен:
16.05.2015
Размер:
7.05 Mб
Скачать

3.2.2 Дескриптор вірусу

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

Дескриптор є систематизацією основних характеристик ві­русу в за­кодованому вигляді. Кодування складається з груп сим­волів, що почина­ються з великої латинської літери,за якою йдуть маленькі латинські літери або цифри. При цьому велика латинська літера визначає вид харак­те­рис­ти­ки, а наступні за нею малі літери або цифри–значення характеристики для конкрет­ного вірусу. Наприклад, в дескрипторі "Хаb Yc Zdmt" є три вла­стивості: X–зізначенням "аb", Y–зізначенням "с" і Z–зізначенням "dmt".

3.2.3 Сигнатура вірусу

Оскільки більшість відомих нині вірусів до­пускають детектування за допомогою контекстного пошуку, то однією з важливих задач класи­фікації є складання сигнатур. Сигнатура – це список рядків для контекстного пошуку. Знання сигнатур дозволяє перевіряти нове програмне забез­пе­чення на їх наявність вірусів, тим са­мим суттєво підвищуючи ступінь захищеності ЕОМ. Стандарти­зація сигнатур особливо важлива, коли вірус має багато штамів, оскільки формальні схеми, подібні описаним вище класифіка­ційному коду і дескриптору, мають той недолік, що деякі штами не будуть розрізнятися в заданому просторі ознак. Водночас по­рівняно легко забезпечується унікальність сигнатури, у крайньо­му разі для більшості відомих вірусів, хоч існують віру­си, які не вміщують жодної постійної сигнатури, тобто які не можна знайти за допомогою контекстного пошуку.

Сигнатури вірусів можуть бути представлені як текстовими рядками або регулярними виразами, так і ділянками програмного коду.

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

Очевидно, що сигнатура, яка відповідає ділянці з коман­дами, надій­ніша за сигнатури ділянки з даними, наприклад з те­кстовими рядками (останні можуть бути модифіковані). Тому вибір сигнатури доцільно робити на основі аналізу дизасембльованого коду вірусу.

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

На сьогоднішній деньє програми, які забезпечують детектування вірусів шля­хом пошуку в файлах відповідних рядків, і використані в них сигнатури природно "прийняти за основу". Найбільшу цінність становлять рядки, які використовуються у відомому закордон­ному детекторі Scan, оскільки нові версії цього детектора з'явля­ються регулярно і охоплюють практично всі віруси, які з'яв­ляються за кордоном. З інших закордонних детекторів необхід­но відзначити Virscan фірми IВМ і ТNTVirus фірми Саrnel (Із­раїль). Для визначеності називатимеморядок, який використовуєть­сядетектором Scan,М-сигнатурою, рядок, який використовується Virscan,–І-сигнатурою, а рядок, який використовується TNTVirus,–С-сигнатурою.

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

Необхідно відзначити, що контекстний пошук може вико­ристову­ватися не тільки для пошуку заражених вірусом про­грам, але й для пошуку програм і файлів, які знищені або по­шкоджені вірусом. Наприклад, вірус С-648.VEN при певних зна­ченнях таймера замість зараження програми знищує її, запи­суючи в перші п'ять байтів рядок, який відповідає переходу на підпрограму перезавантаження ВІОS. Для пошуку знищених ві­русом програм можна використовувати рядок "ЕАFОFFООFО". Аналогічно вірус RСЕ-1800.DAV знищує сектори на вінчестері, записуючи перші байти повідомлення "Еddie lives … somewhere in time". За цим повідомленням за допомогою Norton Utilites або інших програм можна виявити пошкоджені сектори і визначити, до яких файлів вони належать.

За наявності сигнатури перевірку зараженості файлів вірусомданого типу зручно виконувати, використовуючи спеціальні програми. Наприк­лад, вдалою є програма TBScan, яка здійснює пошук у каталогах або заданих його гілках. У випадку виявлення заражених програм доцільно додатково проконтролювати результати за допомогою, наприклад, Norton Utilites, оскільки для перегляду всіх файлів можна використовувати режим глобального пошуку на диску.