Лекція
9. Антивірусні програмні засоби.
Поняття та класифікація комп’ютерних вірусів. Захист від вірусів.
Поняття та класифікація комп'ютерних вірусів
Формально комп'ютерним вірусом називається
програма, яка створена для заподіяння шкоди користувачу ПК, може заражати інші
програми шляхом включення у них своєї, можливо модифікованої, копії, при цьому
остання зберігає здатність до подальшого розмноження.
Крім зараження, комп'ютерний вірус може виконувати
інші несанкціоновані дії: розмноження; вилучення даних на диску; внесення
помилок у дані тощо. Несанкціоновані дії, що виконуються вірусом, можуть бути
обумовлені настанням певної дати (наприклад, чорнобильський вірус, який
активізується 26 квітня) або поєднанням деяких умов.
Історія появи вірусів відкидає нас в 50-ті роки. Ще
в 1951 році один з "батьків" обчислювальної техніки Дж.фон Нейман запропонував метод
створення механізмів, що самовідновлюються. Його розробки підтримали інші вчені
і в результаті з'явилися ігрові програми, основані на вірусній технології.
Використавши наукові та практичні результати, деякі особи стали розробляти такі
програми з метою нанесення шкоди. Автори вірусів спрямували свої зусилля на
персональні комп'ютери через їх масовість та відсутність засобів захисту на
апаратному рівні та рівні ОС.
Ще в 70-ті роки були зафіксовані перші комп'ютерні
віруси. Перші випадки масового зараження ПЕОМ вірусами відмічені в 1987 році.
Спершу з'явився Пакістанський вірус, створений
братами Алві. Так вони вирішили наказати американців
за покупку незаконних копій ПЗ ( такі копії брати інфікували створеним
вірусом). У результаті були заражені більше 18 тис. ПК у СІНА, а звідти
надійшли і в СРСР. Другий вірус - назва "Ліхайський"
був розповсюджений з однойменного університету СІНА. В лютому 1989 р. цим вірусом
була знищена інформація на 4 тис. ПК СІНА. Після цього кількість вірусів почала
лавинно зростати, що спричинило появу засобів захисту
від вірусів.
Подібно до біологічних вірусів комп'ютерний вірус
має життєвий цикл, який складається з таких фаз:
–
латентний - віруси ніяких дій не виявляють;
–
інкубаційний - вірус розмножується;
– період
виявлення - поряд з розмноженням вірус виконує несанкціоновані користувачем
дії.
Перші дві фази потрібні, щоб сховати джерело вірусу
і заразити якнайбільше програм до його виявлення. Довжина інтервалу між фазами
залежить від часового інтервалу, або настання якоїсь події, або наявністю
якоїсь певної конфігурації, що закладені в програмі вірусу.
Існують десятки тисяч вірусів, але найбільш
поширених нараховується 40-50. Віруси класифікуються так:
–
завантажувальні;
–
файлові;
–
макровіруси;
–
мережеві.
Завантажувальні віруси впроваджуються у
завантажувальний сектор диска або область MBR (Master
Boot Sector). Якщо
заражений системний диск, з якого відбувається завантаження системи, тоді код
вірусу отримує управління . Під час зараження вірус зчитує потрібну інформацію
з первісного завантажувача та зберігає її у своєму коді.
Найчастіше завантажувальні віруси є резидентними.
Це означає, що під час завантаження системи вірус потрапляє в оперативну
пам'ять і знаходиться там постійно.
Файлові віруси впроваджуються
у початкові, об'єктні та завантажувальні модулі. Вони заражають файли, додаючи
свій код у початок, середину або у кінець файла. Такі файли залишаються
працездатними, але крім свого коду виконують код вірусу. Деякі віруси замість
початкового змісту файла записують свій код.
Файлові віруси можуть і не змінювати зміст файлів,
які вони заражають. Іноді для своєї активізації вони використовують властивості
операційної системи, які визначають порядок запуску програм. Так, якщо в одному
каталозі є файли з однаковими іменами, тоді спочатку запускається файл з
розширенням імені ВАТ, а потім — СОМ та ЕХЕ. Таким чином, якщо заражений файл
має розширення ЕХЕ, тоді вірусний файл із тим самим іменем, але з розширенням
СОМ, буде запускатися першим. Деякі віруси собі дають ім'я зараженого файла, а
файлу дають нове ім'я. Існують також віруси, які привертають увагу користувача
своїм іменем : Start.com,
Install.exe тощо.
Макровіруси – це файлові
віруси, які використовують файли документів редакторів та електронних таблиць.
У цих файлах розміщуються програми на макромовах, які
дозволяють створювати програми-віруси.
Мережеві віруси для свого
розповсюдження використовують можливості комп'ютерних мереж. Нині ці віруси не
мають розповсюдження тому, що помилки у мережевих протоколах та програмному
забезпеченні глобальних мереж виправлені. Мережеві віруси – в основному, це макровіруси - розповсюджуються завдяки електронній пошті.
Stealth-віруси фальсифікують
інформацію, читаючи з диска так, що активна програма отримує невірні дані.
Вірус перехоплює вектор призупинення INT 13h і поставляє читаючій програмі іншу
інформацію, яка показує, що на диску "все в нормі". Ця технологія
використовується як в файлових, так і в завантажувальних вірусах.
Ретровірусами називаються
звичайні файлові віруси, котрі заражають антивірусні програми, знищують їх або
роблять їх непрацездатними. Тому практично всі антивіруси в першу чергу
перевіряють свій розмір і контрольну суму файлів.
Multipartition - віруси можуть
вражати одночасно exe, com,
boot-сектор, mother boot record, FAT і директорії. Якщо вони до того ж володіють
поліморфними властивостями та елементами невидимості, то стає зрозуміло, що
такі віруси – одні з найбільш небезпечних.
Поряд з комп'ютерним вірусом існують інші програми,
які спричинюють шкоду ПК. Суть цих програм - обман користувачів. Такі програми
отримали назву "троянські".
"Троянська" програма маскується під корисну програму. Під час її виконання
поряд з безпосередньою дією виконується деструктивна, найчастіше відбувається
руйнування FAT-таблиці.
Ще один клас злоякісних програм є
"черв'яки", або реплікатори. Вони розмножуються без проникнення в інші
програми. Прикладом такого черв'яка є програма "Новорічна ялинка",
яка малює на екрані дерево і розсилає свої копії за всіма зареєстрованими
адресами електронної пошти.
Зараження комп'ютера відбувається через
-
Дискети. Найпоширеніший канал зараження в 1980-90 роки. Зараз практично відсутній
із-за появи поширеніших і ефективніших каналів і відсутності флоппі-дисководів на багатьох сучасних комп'ютерах.
-
Флеш-пам'ять (флешки) та інші носії інформації .Нині USB-флешки
замінюють дискети і повторюють їх долю - велика кількість вірусів поширюється
через знімні накопичувачі, включаючи цифрові фотоапарати, цифрові відеокамери,
цифрові плеєри (MP3-плеєри), стільникові телефони.
Використання цього каналу раніше було переважно обумовлене можливістю створення
на накопичувачі спеціального файлу autorun.inf, в
якому можна вказати програму, що запускається Провідником Windows при відкритті
такого накопичувача. У останній версії MS Windows під торговельною назвою
Windows 7 можливість автозапуску файлів з переносних
носіїв була усунена. Флешки - основне джерело зараження
для комп'ютерів, не підключених до Інтернету.
-
Електронна пошта. Зараз один з основних каналів поширення вірусів. Зазвичай віруси в листах
електронної пошти маскуються під нешкідливі вкладення: картинки, документи,
музику, посилання на сайти. У деяких листах можуть міститися дійсно тільки
посилання, тобто в самих листах може і не бути шкідливого коду, але якщо
відкрити таке посилання, то можна потрапити на спеціально створений веб-сайт, що містить вірусний код. Багато поштових вірусів,
потрапивши на комп'ютер користувача, потім використовують адресну книгу зі встановлених поштових клієнтів типу Outlook
для розсилки самого себе далі.
-
Системи обміну миттєвими повідомленнями.Також поширена розсилка посилань на нібито
фото, музику або програми, що насправді є вірусами, по ICQ і через інші
програми миттєвого обміну повідомленнями.
-
Веб-сторінки. Можливо також зараження через сторінки
Інтернету зважаючи на наявність на сторінках всесвітньої павутини різного
"активного" вмісту : скриптів,
ActiveX-компонент. В цьому випадку використовуються уразливості програмного
забезпечення, встановленого на комп'ютері користувача, або уразливості в ПЗ
власника сайту (що небезпечніше, оскільки зараженню піддаються доброчесні сайти
з великим потоком відвідувачів), а нічого непідозрюючі
користувачі, зайшовши на такий сайт, ризикують заразити свій комп'ютер.
-
Інтернет і локальні мережі (хробаки). Зараження
відбувається під час копіювання заражених файлів із серверів мережі або
комп'ютери локальної мережі заражаються вірусами під час реєстрації на
зараженому сервері. Хробаки - вид вірусів, які проникають на комп'ютер-жертву без участі
користувача. Хробаки використовують так звані "діри" (уразливості) в
програмному забезпеченні операційних систем, щоб проникнути на комп'ютер.
Уразливості - це помилки і недоробки в програмному забезпеченні, які дозволяють
віддалено завантажити і виконати машинний код, внаслідок чого вірус-хробак
потрапляє в операційну систему і, як правило, починає дії із зараження інших
комп'ютерів через локальну мережу або Інтернет. Зловмисники використовують
заражені комп'ютери користувачів для розсилки спаму або для DDoS
–атак.
Захист від вірусів
Існує велика кількість програмних засобів, котрі
дозволяють знайти віруси, вилучити їх та поновити пошкоджену інформацію.
Антивірусним засобом називається програмний
продукт, призначений для знаходження, лікування файлів, що заражені
комп'ютерним вірусом, а також, можливо, для запобігання зараження файла вірусом
(наприклад, за допомогою вакцинації).
Перші, найбільш прості, антивірусні програми
з'явилися майже одразу після появи вірусів. Зараз розробкою антивірусів
займаються великі компанії. Як і в розробників вірусів, у цій сфері також
сформувались оригінальні засоби — але вже для пошуку і боротьби з вірусами.
Сучасні антивірусні програми можуть знаходити десятки тисяч вірусів.
На жаль, конкуренція між антивірусними компаніями
призвела до того, що розвиток йде в бік збільшення кількості вірусів, що
викриваються (насамперед для реклами), а не в бік покращення їх детектування
(ідеал - 100%-ве детектування) і алгоритмів лікування
файлів, що заражені.
Антивірусне програмне забезпечення складається з
комп'ютерних програм, які намагаються знайти, запобігти розмноженню та видалити
комп'ютерні віруси та інші шкідливі програми.
Класифікація антивірусних засобів
Вірус-фільтри (сторожі) – це
програми, які розміщені в ОЗП (резидентно), що
забезпечують контроль виконання характерних для вірусів дій. Якщо вірус-фільтр
помічає виявлення дії вірусу, то програма видає повідомлення про ситуацію
користувачу.
Детектори – програми, які здійснюють пошук вірусів на дисках і
в ОЗП. Результатом роботи програми є список інфікованих файлів.
Універсальні детектори перевіряють цілісність файлів шляхом порівняння з
еталоном. Спеціалізовані детектори шукають вже відомі та описані віруси. Якщо детектор
розрахований на декілька вірусів, то його називають полідетектором.
Дезінфектор (лікар) – це програма, яка знищує вірус,
відновлюючи або ні середовище його існування.
Імунізатор (вакцинатор) – програма, яка запобігає зараження середовища
існування або пам'яті конкретними вірусами шляхом блокування його здатності до
розмноження.
Така класифікація є достатньо умовною з тієї
причини, що сучасні програмні антивірусні засоби являють собою інтегровані
пакети, до складу яких входять модулі, що виконують різні функції. Тому навести
приклад програми, яка б виконувала лише функцію вірус-фільтра дуже непросто.
Методи знаходження вірусів
Антивірусне програмне забезпечення звичайно
використовує два різних методи для виконання своїх задач:
–
Перегляд (сканування) файлів для пошуку відомих
вірусів, що відповідають визначенню в словнику вірусів.
–
Знаходження підозрілої поведінки будь-якої з
програм, що схожа на поведінку зараженої програми.
Метод відповідності визначенню вірусів у словнику
Антивірусна програма під час перегляду файла
звертається до словника з відомими вірусами, що складений авторами
програми-антивірусу. У випадку відповідності якоїсь ділянки коду програми, що
проглядається, відомому коду(сигнатурі) вірусу в словнику, програма - антивірус
може виконувати одну з таких дій:
–
Видалити інфікований файл.
–
Відправити файл у карантин (тобто зробити його
недоступним для виконання з метою недопущення подальшого розповсюдження
вірусу).
–
Намагатися відтворити файл, видаливши сам
вірус з тіла файла.
Хоча антивірусні програми, створені на основі
пошуку відповідності визначення вірусу в словнику, за звичайних обставин,
можуть досить ефективно перешкоджати збільшенню випадків зараження, автори
вірусів намагаються триматися на півкроку попереду таких програм-антивірусів,
створюючи «олігоморфні», «поліморфні» і, найновіші, «метаморфні» віруси, в яких деякі частини шифруються або спотворюються так, щоб неможливо було знайти
їх визначення у словнику вірусів.
Метод знаходження підозрілої поведінки програм
Антивіруси, що використовують метод знаходження
підозрілої поведінки програм, не намагаються ідентифікувати відомі віруси,
замість цього вони відслідковують поведінку всіх програм. Якщо програма
намагається записати якісь дані в файл, що виконується (exe-файл),
програма-антивірус може зробити помітку цього файла, попередити користувача і
спитати, що треба зробити. На відміну від методу відповідності визначення
вірусів у словнику, метод знаходження підозрілої поведінки дає захист від
абсолютно нових вірусів, яких ще немає в жодному словнику вірусів. Однак треба
враховувати, що програми, побудовані на цьому методі, видають також велику
кількість помилкових попереджень. Програми класу "firewall"
давно мали в своєму складі модуль знаходження підозрілої поведінки програм.
Метод знаходження за допомогою емуляції
Деякі програми-антивіруси намагаються імітувати
початок виконання коду кожної нової програми, що викликається для виконання,
перед тим як передати їй керування. Якщо програма використовує код, що
змінюється самостійно, або проявляє себе як вірус (тобто починає шукати інші
exe-файли, наприклад), така програма буде вважатися шкідливою, здатною
нашкодити іншим файлам. Однак цей метод також має велику кількість помилкових попереджень.
Приклади антивірусних програм:
–
Антивірус Касперського — Antiviral Pro (AVP);
–
Doctor Web (DRWEB);
–
Norton AntiVirus;
–
McAfee VirusScan;
–
Panda Antivirus;
–
F-Secure Anti-Virus;
–
Sophos Anti-Virus;
–
Trend Micro Pc-Cillin.
Антивірус Касперського — AntiViral Pro (AVP) існує в різних
варіантах для різних операційних систем. Розглянемо основні можливості AVP для
операційної системи Windows. Після встановлення програма AVP запускається
автоматично під час завантаження комп'ютера. Робота антивірусу уповільнює
роботу комп'ютера. Тому антивірус можна на деякий час вимкнути, прибравши
відповідний «прапорець», або вивантаживши AVP з пам'яті комп'ютера.
Антивірус Касперського
призначений для антивірусного захисту персональних комп'ютерів, що працюють під
управлінням операційної системи Windows .
Антивірус Касперського виконує такі функції:
• Захист від
вірусів і шкідливих програм - виявлення і знищення шкідливих програм, які
проникають через змінні і постійні файлові носії, електронну пошту і протоколи
Інтернету. Можна виділити такі варіанти роботи програми (вони можуть
використовуватися як окремо, так і в сукупності):
-
Постійний захист комп'ютера - перевірка тих
об'єктів, що запускаються або відкриваються чи зберігаються на комп'ютері, на
наявність вірусів.
-
Перевірка комп'ютера на вимогу -
перевірка і лікування як всього комп'ютера в цілому, так і окремих дисків,
файлів або каталогів.
• Відновлення
працездатності після вірусної атаки. Повна перевірка і лікування з рекомендованими
настройками дозволяє видалити всі віруси, що уразили при вірусній атаці.
• Перевірка і
лікування вхідної/вихідної пошти - аналіз на присутність вірусів і лікування вхідної
пошти до її надходження в поштову скриньку і вихідної пошти в режимі реального
часу. Крім того, програма дозволяє перевіряти і лікувати поштові бази різних
поштових клієнтів за вимогою.
• Оновлення
антивірусних баз і програмних модулів -поповнення антивірусних
баз інформацією про нові віруси і способи лікування заражених ними об'єктів, а
також оновлення власних модулів програми. Оновлення виконується з серверів
оновлень Лабораторії Касперського або з локального
каталогу.
• Рекомендації
щодо настроювання програми і роботи з нею – поради від
експертів Лабораторії Касперського, рекомендовані
настройки, відповідні оптимальному антивірусному захисту.
•
Карантин – переміщення об'єктів, можливо заражених вірусами
або їх модифікаціями, в спеціальне безпечне сховище, де можна їх лікувати,
видаляти, відновлювати в початковий каталог, а також відправляти експертам
Лабораторії Касперського на дослідження. Файли на
карантині зберігаються в спеціальному форматі і не являють небезпеки.
•
Формування
звіту – фіксація всіх результатів роботи Антивірусу Касперського
Personal у звіті. Докладний звіт про результати
перевірки включає загальну статистику по перевірених об'єктах, зберігає
настройки, з якими було виконане те або інше завдання, а також послідовність
перевірки та обробки кожного об'єкта окремо. Звіт формується і за наслідками
оновлень.
Головною оболонкою пакета програм AVP є Kaspersky AntiVirus Control Centre. Вікно програми має чотири вкладки. Вкладка "Задачи" дає можливість слідкувати за виконанням таких
задач :
–
Запуск AVP у режимі монітора;
–
Оновлення антивірусних баз;
–
Запуск АУР у режимі сканера.
AVP Сканер перевіряє диски на зараження
вірусами (особливо сильна сторона - боротьба з макровірусами).
Потрібно лише вибрати об'єкт для перевірки та вказати, які дії виконати із
зараженим об'єктом.
AVP Монитор автоматично
завантажується при включенні комп'ютера, доступна через піктограму на панелі
завдань. Монітор антивірусу працює постійно, перевіряючи файли, до яких
відбувається поточний доступ. Файли, які повинні бути перевірені, визначаються
вкладкою Объекты.
Контрольні питання
1.
Що таке „комп'ютерний
вірус"?
2.
Яка історія появи
вірусів?
3.
Які фази проходить
вірус у своєму життєвому циклі?
4.
Які типи вірусів
виділяють?
5.
Дати характеристику
завантажувальним та файловим вірусам.
6.
Які віруси називають макровірусами?
7.
Які шляхи зараження
файлів вірусами?
8.
Що собою являють
„троянські" програми?
9.
Які програми називають
„черв'яками"?
10.
На які види
класифікують антивірусні засоби?
11.
До якого виду
антивірусних засобів відноситься програма AVP Касперського?
12.
Які функції виконує
AVP Касперського?
13.
Які компоненти входять
до складу AVP Касперського та які їх функції?
14.
Як відбувається оновлення
антивірусних баз?
15.
Які дії виконує AVР
після знаходження вірусу?
16.
Які дії виконує
програма, якщо знешкодити вірус неможливо?