Антивірусна програма


Антивірусна програма (антивірус) — програма для знаходження і, можливо, лікування програм, що заражені комп'ютерним вірусом, а також, можливо, для запобігання зараження файла вірусом (наприклад, за допомогою вакцинації).

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

На жаль, конкуренція між антивірусними компаніями призвела до того, що розвиток йде в бік збільшення кількості вірусів, що викриваються (насамперед для реклами), а не в бік покращення їх детектування (ідеал — 100%-е детектування) і алгоритмів лікування файлів, що заражені.

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

Методи знаходження вірусів

Антивірусне програмне забезпечення звичайно використовує два різних методи для виконання своїх задач:

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

Метод відповідності визначенню вірусів в словнику

Цей метод, коли антивірусна програма під час перегляду файлу, звертається до словника з відомими вірусами, що складений авторами програми-антивіруса. У випадку відповідності якоїсь ділянки кода програми, що проглядається, відомому коду(сигнатурі) віруса в словнику, програма антивірус може виконувати одну з наступних дій:

  • Видалити інфікований файл
  • Відправити файл в карантин (тобто зробити його недоступним для виконання, з метою недопущення подальшого розповсюдження віруса).
  • Намагатися відтворити файл, видаливши сам вірус з тіла файла.

Хоча антивірусні програми, створенні на основі пошука відповідності визначенню віруса в словнику, за звичайних обставин, можуть досить ефективно перешкоджати збільшенню випадків зараження комп'ютерів, автори вірусів намагаються триматися на півкроку попереду таких програм-антивірусів, створюючи «олігоморфні», «поліморфні» і, найновіші, «метаморфні» віруси, у яких деякі частини шифруються або спотворюються так, щоб неможливо було знайти спільне з визначенням в словнику вірусів.

Метод знаходження підозрілої поведінки програм

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


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

Метод знаходження за допомогою емуляції

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