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