Бродовенко В.В.

Науковий керівник – І.І. Пархоменко, д.т.н.

Національний авіаційний університет, Київ

СИГНАТУРА КОМПЮТЕРНИХ ВІРУСІВ

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

Мета – технології виявлення вірусів, а саме  аналіз сигнатур.

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

В даний час існує декілька підходів до детектування вірусів : сигнатурний пошук, евристичний і поведінковий аналіз.

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

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

Основні характеристики сигнатур.

Виділяють такі основні характеристики сигнатур :

• Лінійність подій – події, що становлять сигнатуру, повинні уособлювати собою строго певну послідовність без операцій вибору, об'єднання  повторень і т.д.

• Уніфікація подій – властивість сигнатури описувати події, використовуючи змінні.

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

• Початок розпізнавання – показує абсолютний час початку розпізнавання сигнатури.

• Тривалість розпізнавання – накладає обмеження на час появи події в сигнатурі.

• Динамічне введення даних – вхідні дані генеруються динамічно, тобто є невідомими до початку розпізнавання. Диктується необхідністю функціонування в режимі реального часу.

• Динаміка сигнатури – визначає можливість динамічного (тобто прямо в процесі розпізнавання) додавання або видалення сигнатур.

Основні алгоритми пошуку сигнатурних атак.

На сьогоднішній день існують декілька найбільш продуктивних алгоритмів пошуку сигнатурних атак. Це такі алгоритми:

• Існування – розпізнавання факту є підставою для реєстрування спроби атаки.

• Послідовність – розпізнавання строго певної послідовності подій достатніх для виявлення атаки.

• Частковий порядок – приводом для сигналізації атаки служить розпізнавання сигнатури, що складається з частково впорядкованих подій.

• Інтервал часу – враховуються тимчасові співвідношення між подіями.

• Період – враховуються безпосередньо моменти часу, в які відбуваються події.

З іншого боку метод виявлення шкідливих кодів, який ґрунтуються тільки на аналізі сигнатур, має певні слабкості. Будучи спочатку дуже швидким, з часом швидкість його роботи буде сповільнюватися, оскільки зростає число сигнатур, які підлягають перевірці. Це – суттєва проблема, оскільки число сигнатур може рости дуже швидко. Фактично, кожна нова атака або дія, збільшує список сигнатур для перевірки. Не допоможуть навіть ефективні методи роботи з даними і пакетами: величезна кількість злегка змінених атак можуть прослизнути через таку систему. Атаки на рівні додатків типу Unicode, велика кількість варіацій на цю тему  які можна знайти в SNMP і програми ухилення типу ADMutate можуть викликати серйозні проблеми для будь-якої системи аналізу сигнатур. Навіть найменшої зміни в атаці досить, щоб система аналізу сигнатур не спрацювала. Єдине рішення – збільшення списку сигнатур для перевірки, але воно робить роботу складною і неефективною. Є й інша сторона проблеми: так як система працює, порівнюючи список наявних сигнатур з даними пакета, то такий метод може виявити тільки вже відомі атаки, сигнатури яких є.

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