Антивірус -
програмний засіб, призначений для боротьби з вірусами.
Як треба з визначення, основними
завданнями антивірусу є:
- Перешкоджання проникненню вірусів у
комп'ютерну систему
- Виявлення наявності вірусів у комп'ютерній
системі
- Усунення вірусів з комп'ютерної системи без
нанесення ушкоджень іншим об'єктам системи
- Мінімізація збитку від дій вірусів
Технології виявлення вірусів
Технології, застосовувані в
антивірусах, можна розбити на дві групи -
- Технології сигнатурного аналізу
- Технології імовірнісного аналізу
Сигнатурний
аналіз - метод виявлення вірусів, що полягає в перевірці наявності у файлах
сигнатур вірусів.
Сигнатурний аналіз є найбільш
відомим методом виявлення вірусів і використається практично у всіх сучасних
антивірусах. Для проведення перевірки антивірусу необхідний набір вірусних
сигнатур, що зберігається в антивірусній базі.
Антивірусна база
- база даних, у якій зберігаються сигнатури вірусів.
Через те, що сигнатурний аналіз
припускає перевірку файлів на наявність сигнатур вірусів, антивірусна база має
потребу в періодичному відновленні для підтримки актуальності антивірусу. Сам
принцип роботи сигнатурного аналізу також визначає границі його функціональності
- можливість виявляти лише вже відомі віруси - проти нових вірусів сигнатурний
сканер неспроможний.
З іншого боку, наявність сигнатур
вірусів припускає можливість лікування інфікованих файлів, виявлених за
допомогою сигнатурного аналізу. Однак, лікування припустиме не для всіх вірусів
- трояни й більшість хробаків не піддаються лікуванню по своїх конструктивних
особливостях, оскільки є цільними модулями, створеними для завдання збитків.
Грамотна реалізація вірусної
сигнатури дозволяє виявляти відомі віруси зі стовідсотковою ймовірністю.
Технології імовірнісного аналізу
у свою чергу підрозділяються на три категорії:
- Евристичний аналіз
- Поведінковий аналіз
- Аналіз контрольних сум
Евристичний
аналіз - технологія, заснована на імовірнісних алгоритмах, результатом роботи
яких є виявлення підозрілих об'єктів.
У процесі евристичного аналізу
перевіряється структура файлу, його відповідність вірусним шаблонам. Найбільш
популярною евристичною технологією є перевірка вмісту файлу на предмет
наявності модифікацій уже відомих сигнатур вірусів й їхніх комбінацій. Це
допомагає визначати гібриди й нові версії раніше відомих вірусів без
додаткового відновлення антивірусної бази.
Евристичний аналіз застосовується
для виявлення невідомих вірусів, і, як наслідок, не припускає лікування.
Дана технологія не здатна на 100%
визначити вірус перед нею чи ні, і як будь-який імовірнісний алгоритм грішить
помилковими спрацьовуваннями.
Поведінковий
аналіз - технологія, у якій рішення про характер об'єкта, що перевіряє,
приймається на основі аналізу виконуваних їм операцій.
Поведінковий аналіз досить вузько
застосуємо на практиці, тому що більшість дій, характерних для вірусів, можуть
виконуватися й звичайними додатками. Найбільшу популярність одержали поведінкові
аналізатори скріптів і макросів, оскільки відповідні віруси практично завжди
виконують ряд однотипних дій. Наприклад, для впровадження в систему, майже
кожен макровірус використає той самий алгоритм: у який-небудь стандартний
макрос, що запускається автоматично середовищем Microsoft Office при виконанні
стандартних команд (наприклад, "Save", "Save As",
"Open", і т.д.), записується код, що заражає основний файл шаблонів
normal.dot і кожен документ, що відкриває знову.
Засоби захисту, що вшивають в
BIOS, також можна віднести до поведінкових аналізаторів. При спробі внести
зміни в MBR комп'ютера, аналізатор блокує дія й виводить відповідне
повідомлення користувачеві.
Крім цього поведінкові
аналізатори можуть відслідковувати спроби прямого доступу до файлів, внесення
змін у завантажувальний запис дискет, форматування жорстких дисків і т.д.
Поведінкові аналізатори не
використають для роботи додаткових об'єктів, подібних до вірусних баз й, як
наслідок, нездатні розрізняти відомі й невідомі віруси - всі підозрілі програми
апріорі вважаються невідомими вірусами. Аналогічно, особливості роботи засобів,
що реалізують технології поведінкового аналізу, не припускають лікування.
Як й у попередньому випадку,
можливе виділення дій, що однозначно трактуються як неправомірні - форматування
жорстких дисків без запиту, видалення всіх даних з логічного диска, зміна
завантажувального запису дискети без відповідних повідомлень й ін. Проте,
наявність дій неоднозначних - наприклад, макрокоманда створення каталогу на
жорсткому диску, змушує також замислюватися про помилкові спрацьовування й,
найчастіше, про тонке ручне настроювання поведінкового блокатора.
Аналіз
контрольних сум - це спосіб відстеження змін в об'єктах комп'ютерної системи.
На підставі аналізу характеру змін - одночасність, масовість, ідентичні зміни
довжин файлів - можна робити вивід про зараження системи.
Аналізатори контрольних сум
(також використається назва "ревізори змін") як і поведінкові
аналізатори не використають у роботі додаткові об'єкти й видають вердикт про
наявність вірусу в системі винятково методом експертної оцінки. Більша
популярність аналізу контрольних сум пов'язана зі спогадами про однозадачні
операційні системи, коли кількість вірусів бути відносно невеликим, файлів було
небагато й мінялися вони рідко. Сьогодні ревізори змін втратили свої позиції й
використаються в антивірусах досить рідко. Частіше подібні технології
застосовуються в сканерах при доступі - при першій перевірці з файлу знімається
контрольна сума й міститься в кеші, перед наступною перевіркою того ж файлу
сума знімається ще раз, рівняється, і у випадку відсутності змін файл
уважається незараженим.
Підводячи підсумки огляду
технологій, застосовуваних в антивірусах, відзначимо, що сьогодні практично
кожен антивірус використає трохи з перерахованих вище технологій, при цьому
використання сигнатурного й евристичного аналізу для перевірки файлів і саме в
цьому порядку є повсюдним. Надалі засоби, що реалізують комбінацію сигнатурного
й евристичного аналізу, ми будемо називати антивірусними сканерами.
Друга група технологій більше
різнорідна, оскільки жоден із застосовуваних підходів не дає гарантії виявлення
невідомих вірусів. Очевидно, що й спільне використання всіх цих технологій не
дає такої гарантії. На сьогоднішній день кращим способом боротьби з новими
погрозами є максимально швидке реагування розроблювачів на появу нових
екземплярів вірусів випуском відповідних сигнатур. Також, з огляду на наявність
активних шкідливих програм, необхідно не менш швидко реагувати на виявлення нових
вразливостей в операційних системах і встановлювати відповідні латки безпеки.