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

Науковий керівник – к.т.н., доц. Черниш Л.Г.

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

Виявлення вірусних програм за допомогою евристичного аналізу

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

Мета роботи – дослідження методів виявлення комп’ютерних вірусів за допомогою евристичного аналізу.

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

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

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

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

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

Негативні сторони:

-         імовірність помилково визначити наявність у файлі вірусу, коли насправді файл чистий - такі події називаються помилковими спрацьовуваннями;

-         неможливість лікування - через можливі помилкові спрацьовування та через можливе неточне визначення типу вірусу, спроба лікування може призвести до великих втрат інформації;

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

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

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

Висновки  

Евристичний аналіз являє собою, по суті, технологію, яка заснована на імовірнісних алгоритмах, результатом роботи яких є виявлення підозрілих об'єктів. Цей модуль дозволяє виявити факт атаки або вторгнення.

Незважаючи на всі вище вказані недоліки, даний підхід використовується і має перспективу розвитку.

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