Будь ласка, використовуйте цей ідентифікатор, щоб цитувати або посилатися на цей матеріал: https://er.chdtu.edu.ua/handle/ChSTU/5987
Повний запис метаданих
Поле DCЗначенняМова
dc.contributor.advisorІвченко, Олександр Віталійович-
dc.contributor.authorТкаленко, Вадим Андрійович-
dc.date.accessioned2025-10-28T13:44:58Z-
dc.date.available2025-10-28T13:44:58Z-
dc.date.issued2023-
dc.identifier.urihttps://er.chdtu.edu.ua/handle/ChSTU/5987-
dc.description.abstractМетою даної курсової роботи є аналіз комп'ютерних шкідливих програм. Виявляти шкідливе програмне забезпечення; Виявлення ознак комп'ютерного шкідливого програмного забезпечення; Проаналізувати різноманіття шкідливого ПЗ; Визначення методів захисту від шкідливих програм; Покажіть класифікацію антивірусних програм.uk_UA
dc.language.isoukuk_UA
dc.subjectшкідливе ПЗuk_UA
dc.subjectсигнатури вірусівuk_UA
dc.subjectсканериuk_UA
dc.titleДослідження методик протидії впливу шкідливого програмного забезпечення за допомогою платформи Rangeforceuk_UA
dc.typeMaster Thesisuk_UA
Розташовується у зібраннях:125 Кібербезпека та захист інформації (Безпека інформаційних і комунікаційних систем)

Файли цього матеріалу:
Файл Опис РозмірФормат 
М_125_Ткаленко_Івченко.pdf
  Restricted Access
2.67 MBAdobe PDFПереглянути/Відкрити    Запит копії


Усі матеріали в архіві електронних ресурсів захищено авторським правом, усі права збережено.

Extracted text
 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
(повне найменування вищого навчального закладу) 
Факультет електронних технологій і робототехніки 
(повна назва факультету) 
Кафедра робототехнічних і телекомунікаційних систем та кібербезпеки 
(повна назва кафедри) 
 
 
 
Пояснювальна записка 
 
до кваліфікаційної роботи магістра 
(освітньо-кваліфікаційний рівень) 
 
 
на тему «Дослідження методик протидії впливу шкідливого програмного забезпечення за 
допомогою платформи Rangeforce» 
 
 
 
Виконав студент 2 курсу, групи БІ-021 
 
Спеціальності 125 - «Кібербезпека», освітньої 
програми «Безпека інформаційних і 
комунікаційних систем» 
(шифр і назва спеціальності) 
Ткаленко Вадим Андрійович 
(прізвище та ініціали) 
Керівник Івченко О.В. 
(прізвище та ініціали) 
Рецезент Чепинога Анатолій Володимирович 
(прізвище та ініціали) 
 
 
 
 
 
 
 
 
 
 
Черкаси 2024 
 
 
 
 
ЗМІСТ 
 ВСТУП ............................................................................................................. 5 
РОЗДІЛ 1. ОГЛЯД ІСНУЮЧИХ МЕТОДІВ СКАНУВАННЯ ШКІДЛИВОГО 
ПЗ .............................................................................................................................. 7 
 1.1. Класифікація методів перевірки на віруси ............................................ 9 
 1.2. Обмеження методів перевірки на віруси ............................................. 15 
РОЗДІЛ 2. СИГНАТУРНИЙ АНТИВІРУСНИЙ ЗАХИСТ............................... 24 
 2.1. Сканування на основі сигнатур і аномалій.......................................... 26 
 2.2. Виявлення на основі сигнатур .............................................................. 30 
 2.3. Виявлення статичної сигнатури ........................................................... 32 
 2.4. Гібридне виявлення сигнатур ............................................................... 34 
 2.5. Способи боротьби з методами виявлення загроз ................................ 35 
РОЗДІЛ 3. МЕТОД СИГНАТУРНОГО АНТИВІРУСНОГО ЗАХИСТУ ЗА 
ДОПОМОГОЮ СКАНЕРІВ ................................................................................. 38 
 ВИСНОВКИ ................................................................................................... 45 
 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ..................................................... 46 
 
ЧДТУ.23.22202.015 ПЗ 
Зм. Арк. № докум. Підпис Дата  
Розроб. Ткаленко В.А.  Дослідження методик протидії Літ. Аркуш Аркушів 
Перевір. Івченко О.В впливу шкідливого програмного 4 53 
 забезпечення за допомогою 
Н.Контрол. Байрак А.В. платформи Rangeforce ЧДТУ, БІ-021 
Затвердж.  
Палагін В.В. 
 
 
ВСТУП 
 
Шкідливе програмне забезпечення – це спеціально розроблена програма, 
яка здатна створювати власні копії та запускати їх у системні ресурси. 
Користувач помічає це, коли порушується робота його техніки, не 
запускаються деякі програми, комп'ютер перестає працювати. Світ цих 
шкідливих програм досі не вивчений. Постійно з'являються нові і більш 
просунуті шкідники. Навіть досвідчені сисадміни часто не знають, як вони 
розподіляються і що собою являють. Антивірусні програми намагаються 
боротися з ними, і вони також постійно вдосконалюються. Кожен новий вірус 
– це нова робота для програмістів, які допомагають захистити наші 
комп'ютери. 
В даний час існує близько тисячі видів шкідливого ПЗ. З огляду на той 
факт, що кожен з них існує в декількох модифікаціях, необхідно збільшити це 
число в 5-10 разів Більшість з них поширюються одним з двох способів: 
шляхом зараження файлів або завантажувальних секторів. 
Файли даних не можуть бути заражені вірусом. Однак існують так звані 
макровіруси, які поширюються через файли шаблонів. В інтернеті існує значна 
кількість «уявних» вірусів. 
Захиститися від вірусів не так вже й складно. Для цього створено 
величезну кількість антивірусних програм, в основному з однаковими 
можливостями. 
Метою даної курсової роботи є аналіз комп'ютерних шкідливих програм. 
Для досягнення поставленої мети необхідно вирішити наступні завдання: 
1 Виявляти шкідливе програмне забезпечення; 
2 Виявлення ознак комп'ютерного шкідливого програмного 
забезпечення; 
3 Проаналізувати різноманіття шкідливого ПЗ; 
4 Визначення методів захисту від шкідливих програм; 
5 Покажіть класифікацію антивірусних програм. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 5 
 
 
 
Метою дослідження є розробка методу сигнатурного 
антивірусного захисту за допомогою сканерів. 
Об'єктом   роботи є методи сигнатурного антивірусного захисту 
за допомогою сканерів. 
Предметом роботи є процес вивчення методології сигнатурного 
антивірусного захисту з використанням сканерів. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 6 
 
 
 
РОЗДІЛ 1. ОГЛЯД ІСНУЮЧИХ МЕТОДІВ СКАНУВАННЯ 
ШКІДЛИВОГО ПЗ 
 
Шкідливе програмне забезпечення: поняття, особливості, 
класифікація 
Зловмисне програмне забезпечення — це будь-яке програмне 
забезпечення, спеціально розроблене для завдання шкоди комп'ютеру, серверу 
чи комп'ютерній мережі або даних, що зберігаються на них, будь то вірус, 
троян, хробак тощо. 
Ботнети – це група програм або ботів, які можуть самостійно працювати 
в автономному режимі. Цей термін часто асоціюється зі шкідливим 
програмним забезпеченням, але його також можна застосувати до законних 
розподілених обчислень. 
Бекдор — це програма або набір програм, які зловмисник встановлює на 
комп'ютер жертви після отримання початкового доступу до нього. 
Руткіти - це програма або набір програм, призначених для приховування 
слідів присутності зловмисника або шкідливого ПЗ в системі. 
Мережеві черв'яки Мережеві черв'яки – це тип шкідливого програмного 
забезпечення, яке самостійно поширюється в локальних і глобальних 
комп'ютерних мережах. 
Троян – це програма, яка використовується зловмисником для збору 
інформації, її знищення або модифікації, порушення роботи комп'ютера або 
використання його ресурсів у неналежних цілях. 
Експлойт, HackTool. У цю категорію входять утиліти (особливо 
експлойти) для виконання довільного коду або DOS (Denial of Service) на 
віддаленій системі. Експлойт зазвичай є скриптом C++, PHP або Perl, який 
використовує вразливість в операційній системі або програмі, встановленій на 
атакованому комп'ютері. 
HackTool — це ширший термін, який відноситься до будь-якого 
інструменту, який використовується хакером для злому. Конструктор – 
конструктори вірусів і троянських коней. Програми цього типу здатні 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 7 
 
 
 
генерувати як вихідний код вірусів, так і самі виконувані файли. Як правило, 
до таких інструментів відносяться модулі самошифрування, 
антиналагоджувальні модулі та інші антидетект-інструменти. 
FileCryptor, PolyCryptor – приховати від антивірусних програм. У цю 
категорію входять утиліти, які можуть шифрувати вірусний код, роблячи його 
невпізнаваним антивірусними програмами (докладніше про приховування 
вірусного коду див. Антологія приховування вірусного коду). 
Nuker – фатальні мережеві атаки. Утиліти цього типу здатні організувати 
віддалену відмову в обслуговуванні (DOS) шляхом відправки спеціально 
створеного запиту (серії запитів) на віддалений хост. Прикладом може 
служити SMBDie, який експлуатує уразливість в службі NetBios. 
Невдалий жарт, містифікація – це злий жарт, який вводить користувача 
в оману. У цю категорію входять по суті нешкідливі програми, які здатні 
виводити на екран всілякі незвичайні повідомлення (наприклад, про 
форматування диска, навіть якщо форматування фактично не відбувається). 
Висновок: Поширення вірусів зараз стало великим бізнесом. Віруси часто 
пишуть на замовлення під гаслом «Віруси на будь-який смак і колір знищать 
весь світ!». 
Комп'ютерний вірус - це різновид комп'ютерної програми, відмінною 
рисою якої є здатність до розмноження (самовідтворення). Вірус може 
пошкодити або повністю знищити дані на комп'ютері жертви, від імені якого 
він був запущений. 
Поліморфні віруси - це певні шкідливі програмні продукти, які після 
чергового «зараження» ПК жертви формують свій новий алгоритм, тобто 
повністю перевтілюються в «нову версію» самих себе. Тому даний вид вірусів 
отримав таку назву, запозичене з хімічної термінології, в зв'язку з чим даний 
тип вірусу став дуже складно виявити багатьма антивірусними системами і 
програмними продуктами. Для того, щоб  Для того, щоб ефективно боротися 
з такими вірусами, антивірусні засоби повинні мати деякі емулятори і 
спеціальні алгоритми, написані спеціально для цих вірусів, і обмежувати їх дії. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 8 
 
 
 
Хороші і свіжі віруси, які не виявляються антивірусами і здатні обходити 
системи превентивного контролю (IDS/NIDS/IPS), коштують дуже дорого і 
спрямовані виключно на крадіжку корпоративної (секретної) комерційної 
інформації. Всі інші віруси, що циркулюють в мережі, пишуться в основному 
брудними ентузіастами, метою яких також є отримання прибутку, але, в 
більшості випадків, такі шкідливі програми більш руйнівні, ніж комерційні, і 
якщо у вас в системі розумний адміністратор з прямими руками, ви зможете 
убезпечити себе від будь-яких вірусів, в тому числі і написаних на замовлення. 
Головне пам'ятати, що будь-яка система не повинна мати відразу декількох 
адміністраторів! Адміністратор може бути тільки один, а якщо доступ до 
системи мають відразу кілька адміністраторів, система заздалегідь вважається 
скомпрометованою! 
Історично склалося так, що будь-яка програма, яка заражає виконувані 
або об'єктні файли, вважалася вірусом. Програма, яка розмножується без 
відома користувача, також може бути віднесена до категорії вірусів. 
Найчастіше вірус поміщає своє тіло в файл програми, щоб він активувався при 
кожному запуску програми. Крім того, віруси можуть заразити 
завантажувальний сектор жорсткого диска або дискету, поміщену в дисковод 
зараженого комп'ютера. Перенесення його корпусу на дискети і жорсткі диски 
є гарантією для вірусу, що він буде запускатися при кожному включенні 
системи. Нижче я розповім про деякі інші шляхи поширення вірусів. 
 
1.1. Класифікація методів перевірки на віруси 
Однією з найважливіших функцій будь-якої антивірусної програми є 
виявлення наявності вірусу в комп'ютерній системі. Як тільки вірус виявлено, 
антивірусна програма зазвичай інформує про це користувача. Оскільки вірус 
часто записує свій код в програму в декількох різних місцях, антивірус 
намагається видалити його і відновити вихідну програму. 
Антивірусна програма використовує різні методи виявлення вірусів. Як 
характеристики вірусів різні, так і методи, що використовуються для їх 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 9 
 
 
 
виявлення. Всі види вірусів не можуть бути виявлені якимось одним методом. 
Популярні методи, які використовуються антивірусними програмами для 
виявлення вірусів, включають сканування сигнатур, перевірку цілісності, 
евристичне сканування, емуляцію та моніторинг активності. 
Перший тип виявлення вірусів – це просте сканування сигнатур. Прості 
комп'ютерні віруси копіюють себе в кожен виконуваний файл, який вони 
заражають. Ці типи вірусів реплікують ідентичні байти копії щоразу, коли 
заражають новий файл. Їх можна легко виявити, подивившись на певний рядок 
байтів, званий «вірусною сигнатурою», який витягується з тіла вірусу. 
Вірусна сигнатура - це послідовність байтів, яку можна знайти тільки в 
програмному коді вірусу. Щоб витягти вірусну сигнатуру, досліднику 
необхідно ретельно проаналізувати структуру вірусу. При появі нового вірусу 
фахівець повинен вивчити заражений файл і знайти шаблон або «сигнатуру» 
цього вірусу. Після того, як вірусна сигнатура знайдена, вона зберігається в 
спеціальній базі даних антивірусної програми. Така база сигнатур 
розповсюджується серед клієнтів разом з антивірусною програмою. 
Антивірусна програма використовує сигнатуру для сканування кожної 
вразливої області комп'ютера, включаючи виконувані файли, завантажувальні 
записи, макрофайли документів тощо, щоб виявити наявність будь-якої з цих 
послідовностей. Якщо будь-яка з цих сигнатур знайдена, цільова програма 
вважається зараженою. 
Сканування сигнатур є простим і надійним способом сортування, але він 
має ряд обмежень. До таких обмежень можна віднести можливість виявлення 
тільки відомих вірусів, сигнатури яких вже встановлені і внесені в базу даних. 
Сканування не здатне виявити інші варіанти вже відомого вірусу, хоча 
відмінності між їх сигнатурами незначні. 
Загальне сканування сигнатур відрізняється тим, що в ньому 
використовується шаблон, виявлений у сімействі вірусів. Це більш швидкий 
метод виявлення всіх вірусів, які відносяться до одного сімейства. Цей метод 
ефективний, оскільки більшість вірусів не створюються з самого початку, а 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 10 
 
 
 
формуються шляхом модифікації коду існуючих вірусів. У таких випадках 
існує багато подібностей між основним вірусом і його варіантами. Типове 
сканування на основі сигнатур використовує різноманітні методи для 
виявлення всіх варіантів сімейства вірусів. Цей метод також здатний 
знаходити нові і майбутні віруси того ж сімейства. Загальне сканування 
сигнатур ще називають евристикою підпису. 
Перевірка цілісності - ще один метод виявлення вірусів. Цей метод 
виявляє наявність вірусів, порівнюючи хеш-значення файлу з хеш-значенням 
його незараженої версії. Якщо різниці між двома хеш-значеннями не виявлено, 
файл вважається незараженим. Перевірка цілісності виконується шляхом 
зберігання невеликої «контрольної суми» або «хеш-значення», «знімка» або 
«відбитка» незаражених програм (наприклад, виконуваних файлів, 
завантажувальних записів тощо) у безпечному місці на початку жорсткого 
диска. Під час перевірки цілісності нова контрольна сума додатків 
порівнюється з їх оригінальними або оригінальними версіями. Якщо обидва 
хеш-значення збігаються, то файли вважаються незміненими та 
незараженими. Якщо вони не збігаються, антивірусна програма повинна 
використовувати додаткові функції, щоб визначити, чи є модифікація 
«вірусоподібною» або викликана активністю користувача. 
 
Створ Якщо 
Створ Якщ
ити хеш- 
ити о 
хеш- значе
хеш- обид
значе ння 
ва 
не 
Рис. 1.1 - Етапи перевірки цілісності. 
 
Перевірка цілісності ефективна в боротьбі зі шкідливим програмним 
забезпеченням, оскільки віруси вносять зміни в свої програми. Іншими 
словами, жоден вірус не може заразити хост-додаток, не змінивши його код. 
Ця ситуація створює різницю між хешем незараженого файлу та інфікованого 
файлу. Однак перевірка цілісності не спрацює, якщо комп'ютер містить віруси 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 11 
 
 
 
під час першого сканування та збереження контрольної суми. 
Оскільки перевірка цілісності не використовує вірусну сигнатуру або 
сигнатури, її можна використовувати для виявлення будь-якого типу вірусу, 
включаючи нові та невідомі віруси. Крім того, проходження перевірки 
цілісності відбувається набагато швидше, ніж проходження сканування 
підпису. 
Як і у випадку зі скануванням сигнатур, перевірка цілісності також 
використовується для всього диска або програми перед її виконанням. Метод 
перевірки цілісності використовується не тільки антивірусними сканерами, а 
й іншими системами безпеки. Деякі системи CMOS BIOS мають настройки для 
керування змінами завантажувальних записів. Windows 2000 і XP сканують 
свої системні файли під час завантаження в рамках обробника сканування 
(SFC). Деякі операційні системи зберігають резервні копії своїх основних 
системних файлів у спеціальних місцях і відновлюють їх у разі пошкодження 
або зараження. 
Евристичне сканування - ще один метод виявлення вірусів, який не 
пов'язаний з сигнатурою і цілісністю. За допомогою евристичного 
антивірусного сканування сканується цільова програма (виконуваний файл, 
завантажувальний запис або файли документа з макросами) і аналізується її 
програмний код на схожість з вірусом. Іншими словами, евристичний сканер 
виявляє команди в програмі, яких немає в звичайних програмах, наприклад, 
механізм реплікації вірусів, поширення хробаків або корисне навантаження 
трояна. Якщо код цільової програми виглядає як вірус, сканер сповіщає про 
можливе зараження. 
Оскільки евристичний метод не використовує вірусну сигнатуру, він 
здатний виявляти нові та невідомі віруси, які ще не були проаналізовані 
дослідниками та розробниками антивірусів. 
Евристичний метод не використовує інформацію про цілісність і не 
вимагає, щоб «хеш-значення» програм зберігалося, поки комп'ютер ще 
знаходиться в незараженому стані. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 12 
 
 
 
Види евристичного сканування: 
 Коли в коді виявляється аномалія, евристичне сканування шукає в 
програмі конкретні коди або команди, яких немає в звичайних програмах, 
наприклад, механізм реплікації вірусів, поширення хробаків або корисне 
навантаження троянів. 
 Наприклад, коли виникає аномалія протоколу, програми, які 
використовують протоколи TCP/IP, дотримуються певних шаблонів. Якщо 
сканер виявить будь-яке відхилення від стандартів, він запідозрить вторгнення 
через мережу. 
 В даний час використовується змішаний евристичний метод, при 
якому антивіруси дотримуються комбінації різних евристичних підходів 
разом із загальним скануванням сигнатур для перевірки автентичності 
виявлення та запобігання помилковим спрацьовуванням. 
Евристичний метод поділяється на статичне і динамічне сканування. 
Основна відмінність між двома підходами полягає в тому, що динамічний 
метод використовує емуляцію процесора, а статичний – ні. За допомогою 
статичного евристичного методу антивірус перевіряє послідовності команд 
цільової програми на наявність операцій, які зазвичай використовуються 
вірусами. На відміну від підходу, заснованого на сигнатурах, дані 
послідовностей не є специфічними для одного вірусу. Замість цього вони 
повинні бути максимально загальними, щоб виявити активність безлічі різних 
вірусів. Наприклад, якщо статична евристична антивірусна програма виявляє 
операцію відкриття файлу з подальшим читанням і записом файлу і виявляє в 
програмі рядок «VIRUS», вона може повідомити, що файл заражений 
невідомим вірусом. Статичний евристичний метод є швидким і часто 
виконується до емуляції процесора. 
З іншого боку, динамічний евристичний метод використовує 
технологію, засновану на емуляції, яка завантажує цільову програму в 
емулятор програмного процесора. Емулятор процесора виступає в ролі 
змодельованої віртуальної машини. Програмі дозволено вільно запускатися на 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 13 
 
 
 
цій віртуальній машині. Коли цільова програма моделюється, її вірусоподібні 
операції ідентифікуються та каталогізуються. На основі цього каталогу 
вірусних операцій антивірусна програма визначає, чи схожа цільова програма 
на вірус. 
Оскільки традиційне сканування на основі сигнатур неефективне проти 
поліморфних і метаморфічних вірусів, багато антивірусних програм 
використовують технологію емуляції для виявлення вірусів. Цей метод також 
ефективний проти зашифрованих вірусів. 
Поведінковий моніторинг — це спроба виявити певну вірусну 
активність, наприклад, спроби переформатування диска, що зазвичай не є 
частиною активності звичайних програм. В іншому випадку програма може 
спробувати перемістити файл в одну з папок операційної системи. Такі дії 
відразу ж досліджуються методом поведінкового моніторингу. 
Однак моніторинг поведінки нічим не відрізняється від перерахованих вище 
методів. 
Моніторинг поведінки – це широке поняття, яке включає такі методи, як 
евристичне сканування, емуляція процесора та інші поширені методи 
сканування. 
Методи сканування вірусів можна розділити на специфічні (для 
виявлення конкретних вірусів або певного типу вірусів) і загальні (для 
виявлення будь-якого типу вірусу). Сканування сигнатур є специфічною 
технікою, тоді як перевірка цілісності, евристичне сканування, моніторинг 
поведінки є поширеними методами. 
До поширених методів належать: 
 Розмір програми 
 контрольна сума 
 Зміни в інформації 
 Адреси дисків 
 Об'єктна програма 
 Об'єктна програма, яка використовує стиснення та розпаковування 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 14 
 
 
 
Сканування може здійснюватися на вимогу або при доступі. Сканування 
за запитом виконується в автономному режимі. Користувач повинен 
натиснути на кнопку, щоб розпочати операцію сканування або запланувати 
операцію пізніше. Незважаючи на те, що сканування на вимогу або на вимогу 
здатне виявляти віруси, воно не запобігає зараженню вірусами інших файлів. 
З іншого боку, другий тип сканування запускається при доступі до файлу 
або виконанні програми. Сканування доступу виконується автоматично 
резидентним сканером, коли до файлу звертаються з метою копіювання, 
редагування або інших подібних цілей. Резидентний сканер працює як 
резидентний модуль пам'яті та сканує файл на льоту, перш ніж отримати 
доступ до нього. Цей метод забезпечує цінний захист, оскільки виявляє 
зараження вірусами в режимі реального часу та запобігає зараженню вірусом 
інших файлів у системі. 
 
1.2. Обмеження методів перевірки на віруси 
Кожен з цих способів має свої сильні і слабкі сторони. Перевірка 
сигнатур є простим і надійним методом виявлення відомих вірусів, але він не 
використовується для новостворених і невідомих вірусів. Звичайні методи 
можуть виявити нові віруси, але вони не можуть вилікувати заражені файли. 
Нижче наведено деякі з важливих недоліків, з якими стикаються традиційні 
методи сканування. 
Одним з головних недоліків сигнатурного сканування є часовий лаг між 
створенням вірусу і його виявленням. Оскільки цей метод вимагає деякого 
часу для ідентифікації підпису, розповсюдження підписів серед клієнтів по 
всьому світу та використання нової бази даних сканування, новий вірус може 
легко поширюватися, завдавати шкоди та залишатися непоміченим протягом 
певного періоду часу. 
П Аналіз Розпов Скан
оя вірусу сюдже уван
Рис. 1.3 - Часовий проміжокн мя іж створенням вірусу і перевіркою його 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 15 
 
 
 
сигнатури. 
 
У період між створенням вірусу і його виявленням новим шкідливим 
програмним забезпеченням, що не входить в вірусну базу, цей метод не 
виявляється. Значний розрив у часі створює ще більше можливостей для 
створення та поширення нових вірусів. 
Подолання обмежень: 
 Антивірусні компанії можуть використовувати різні методи (наприклад, 
використовувати автоматизовані методи вилучення сигнатур, надсилати 
зразки вірусу клієнтам тощо), щоб скоротити часовий проміжок між 
створенням вірусу та поширенням його сигнатури. 
 Вищезгаданий недолік сигнатурного сканування можна подолати за 
допомогою поширених методів виявлення вірусів, таких як евристичне 
сканування, емуляція процесора та перевірка цілісності. 
Сканування сигнатур неефективне без вірусної бази. Механізм 
сканування повинен посилатися на базу даних сигнатур для сканування 
файлів. На жаль, оновлення бази сигнатур не є одноразовим заходом, його 
потрібно постійно оновлювати. Оновлення бази сигнатур є важливою 
функцією, оскільки під час сканування можна виявити лише віруси, сигнатури 
яких вже ідентифіковані та збережені в базі даних. 
База сигнатур повинна оновлюватися як антивірусною компанією, так і 
її користувачем. Антивірусна компанія виконує цю функцію в комерційних 
цілях, а кінцевий користувач виконує цю процедуру тільки для захисту від 
вірусів. Якщо база сигнатур не оновлюється, то повне сканування навіть не 
гарантує, що на комп'ютері немає вірусів. 
Оскільки нові віруси створюються майже щодня, антивірусні компанії 
постійно виявляють нові віруси та регулярно оновлюють свої дані. Згодом 
розмір даних у цьому файлі стає дуже великим і вимагає додаткового часу для 
завантаження. Особливо ускладнюється ця ситуація повільним і ненадійним 
інтернет-з'єднанням. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 16 
 
 
 
Подолання обмежень: 
 Автоматичні оновлення є поширеним методом, який зазвичай 
використовується на комп'ютері клієнта для завантаження нових оновлень з 
сайту розробників антивіруса. 
Обмеження сканування сигнатур включають: 
 Метод сканування на основі сигнатур виявляє лише відомі віруси, 
сигнатури яких уже включені до вірусної бази. Такий підхід не здатний 
виявити будь-який невідомий вірус. 
 Крім того, існують певні типи вірусів, такі як поліморфні та 
метаморфічні віруси, які змінюють свої команди у вірусному організмі з 
кожною інфекцією. Оскільки вони не мають статичних рядків, їх часто не 
можна виявити за допомогою сканування сигнатур. 
 Під час спільного сканування підпис використовує символи 
узагальнення для пошуку кількох вірусів з одного сімейства. Але це не завжди 
може спрацювати, оскільки нові віруси того ж сімейства  можуть не  підпадати 
під символи підстановки. У цьому випадку новий вірус може не бути 
виявлений. 
 Виділення вірусного підпису – дуже кваліфікована робота. Дослідники 
в області антивірусного програмного забезпечення повинні володіти знаннями 
різних мов програмування і середовищ. Віруси завантажувального сектора 
пишуться на мові асемблера, тоді як віруси Windows пишуться на c/c++ або 
Delphi, VB або VBA. Деякі з них також написані на Java і JavaScript. 
Дослідники повинні розуміти низькорівневі та високорівневі мови 
програмування, включаючи внутрішні функції операційних систем. 
Подолання обмежень: 
 Завдання аналізу символів вірусу і вилучення його сигнатури можна 
прискорити за допомогою автоматизованих методів (Принцип ТРИЗ-25: 
Самообслуговування). Дослідники повинні аналізувати код тільки в тому 
випадку, якщо автоматизовані системи не можуть впоратися з потенційним 
вірусом. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 17 
 
 
 
 Сканування на наявність поширених сигнатур дозволяє виявити 
невідомі віруси. Не всі віруси створюються з нуля або з нуля. Багато авторів 
модифікують вірусні коди і створюють десятки подібних. У таких випадках 
дослідники антивірусів намагаються знайти загальні сигнатури, які можуть 
бути присутніми в сімействі вірусів, а не окремі сигнатури для кожного 
конкретного виду. 
 Поліморфні, метаморфічні та інші подібні віруси, які не можуть бути 
виявлені за допомогою сигнатурного сканування, можуть бути виявлені 
іншими методами, такими як моніторинг поведінки та перевірка цілісності 
(принцип ТРИЗ-6: універсальність). 
Наступні обмеження пов'язані з нестачею часу та ресурсів сканування. 
Збільшення кількості вірусів призводить до збільшення числа їх сигнатур. 
Така ситуація збільшує розмір бази даних сигнатур і збільшує час сканування. 
З тисячами можливих типів вірусів і сотнями гігабайт файлового сховища 
операція сканування часто перевищує допустимі межі. Якщо сканер містить 
менше алгоритмів, то є ймовірність, що деякі віруси будуть пропущені. З 
іншого боку, якщо сканер включає всі можливі методи, то процес сканування 
стане вкрай повільним. Наша головна мета - включити всі можливі методи 
виявлення вірусів і переконатися, що час сканування не займе занадто багато 
часу. 
Шляхи вирішення ситуації: 
 Одним із способів прискорити сканування є сканування лише на 
наявність вірусів, які відповідають вибраному типу файлу. Наприклад, 
сигнатура завантажувального сектора не буде використовуватися для 
сканування файлу макросу. Цей метод зменшує загальну кількість пошукових 
запитів і скорочує час сканування. 
 Інший метод полягає в тому, щоб сканувати лише певну область 
файлу, а не весь файл. Залежно від типу файлу, наприклад .com або .doc, 
сканери можуть вирішувати, які області файлу більше схожі на вміст вірусу. 
Цей метод дозволяє уникнути сканування всього файлу. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 18 
 
 
 
 Патент 5684875 (винайдений дослідником Гансом Елленбергером у 
листопаді 1997 року) пропонує не запускати всі алгоритми виявлення, 
сканування яких може зайняти багато часу. Він пропонує вибрати лише один 
або кілька алгоритмів для запуску кожного завантаження сканера, які слід 
вибирати випадковим чином або на основі інших критеріїв вибору. Навіть 
якщо вірус не буде виявлений декількома такими пошуковими алгоритмами, 
шанси на його виживання дуже низькі, оскільки його може знайти інший 
алгоритм. 
 Патент 7036147 (винайдений дослідником Hersey Researcher, 
наступником McAfee, квітень 2006 року) прокладає шлях до швидшого 
сканування, призначаючи завдання сканування двом різним потокам. Винахід 
виконує два потоки паралельно, перший потік для зчитування даних, а другий 
потік для сканування даних. Перший потік операції виконується паралельно з 
другим потоком таким чином, що при скануванні першої частини даних друга 
частина даних є Друга частина даних  Призначений для сканування, читання 
та кешування. Цей метод дозволяє уникнути затримок, спричинених читанням 
диска. 
Перевірка цілісності має такі обмеження: 
 Порівняння контрольних сум або CRC ефективно, якщо програма 
зберігається на жорсткому диску. Однак, якщо програма читається або 
запускається з дискети або компакт-диска, цей метод втрачає свою 
ефективність. Оскільки не існує незараженої контрольної суми для файлів на 
дискетах, компакт-дисках або флеш-пам'яті, метод контрольних сум не може 
виявити заражені файли на цих носіях. 
 Перевірка цілісності марна, якщо комп'ютер вже заражений на момент 
першого видалення контрольної суми. У таких ситуаціях комп'ютер буде 
заражений і створить безпечний притулок для зараження вірусами інших 
програм. 
 Коли з'ясовується, що зміна програми є перевіркою цілісності, 
антивірусу часто важко визначити, чи була зміна викликана вірусом або 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 19 
 
 
 
користувачем. Наприклад, користувач може оновити програму, встановивши 
нову версію або скопіювавши оновлений файл, що може призвести до 
помилкового спрацьовування. Незважаючи на те, що антивірусна програма 
може попросити користувача прийняти рішення щодо неї, багато користувачів 
можуть бути недостатньо обізнаними, щоб визначити, чи є відповідні зміни 
справжніми чи спричинені вірусами. 
 Перевірка цілісності підходить лише для файлів, які ніколи не 
змінювалися протягом певного періоду часу. Цей метод не використовується 
для файлів документів або даних, які часто змінюються користувачем. Крім 
того, цей метод підходить лише для обмеженої кількості файлів (таких як 
системні та критичні файли), оскільки він вимагає багато місця для зберігання 
резервних копій. 
Статичні евристики мають такі обмеження: 
Незважаючи на те, що евристика статичного виявлення може бути 
досить швидкою, вона здатна розпізнавати лише деякі з багатьох різних 
способів, якими віруси виконують операції. Наприклад, віруси можуть 
відкривати файли за допомогою різних кодів і методів. У таких випадках 
евристика статичного виявлення повинна тестувати велику кількість різних 
способів реалізації вірусу, щоб надійно його виявити. 
Оскільки статична евристика вимагає бази даних, яка охоплює велику 
кількість можливих перестановок таких операцій, ситуація з часом може стати 
некерованою. Особливо гостро ця проблема стоятиме, якщо автор шкідливого 
ПЗ напише програму-«генератор вірусів», яка створює тисячі вірусів 
одночасно, змінюючи порядок фрагментів коду, але не знижуючи 
ефективності своєї поведінки. При такій кількості вірусів впоратися зі 
статичним евристичним скануванням буде вкрай складно. 
Існують також певні обмеження на техніку емуляції. Незважаючи на те, 
що динамічний евристичний метод є найбільш надійним у виявленні 
вірусоподібних операцій, його реалізація пов'язана з безліччю труднощів. 
 У деяких випадках може знадобитися розширена емуляція перед 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 20 
 
 
 
виконанням операції, подібної до вірусу. Наприклад, вірус може чекати 50 000 
разів, перш ніж виконати операцію з відкриття файлу. У цьому випадку вам 
потрібно буде виконати дуже велику кількість команд, перш ніж ви дійдете до 
операції відкриття файлу. Це значно сповільнить роботу антивірусної 
програми. 
 По-друге, деякі віруси активізуються тільки при дотриманні певних 
умов. Наприклад, вірус може здійснювати свою інфекційну активність у певну 
дату (наприклад, 13 числа місяця). Якщо ця умова не виконується, динамічна 
евристична антивірусна програма не буде стежити за поведінкою зараження і 
не виявить вірус. По-третє, метод емуляції може погано працювати для 
резидентних додатків пам'яті. Динамічний евристичний антивірус запускає 
емуляцію в основній точці входу цільової програми. Однак код зараженого 
вірусу, що зберігається в пам'яті, недоступний через основну точку входу хост-
програми. Замість цього код зараженого вірусу виконується тільки при 
наявності переривання, до якого приєднується вірус, викликаний програмою, 
відмінною від зараженої. 
Таким чином, навіть якщо динамічна евристична антивірусна програма 
дуже довго емулює заражену програму, заражений вірусний код може бути 
недоступний, а отже, підозрілі вірусні операції можуть бути не виявлені. Деякі 
проблеми викликані вразливостями в антивірусному програмному 
забезпеченні. У міру того, як виявлення зловмисного програмного 
забезпечення стає все більш складним, змінюються і методи створення вірусів. 
Багато поліморфних і метаморфічних вірусів використовують противірусні 
методи, і їх дуже важко виявити. Крім того, виробники вірусів можуть 
заражати антивірусну систему різними способами. Наприклад, вірус може 
залишитися в пам'яті і обдурити антивірусну програму, паралізувати її основні 
функції або скористатися лазівками в антивірусній програмі, щоб завдати 
шкоди комп'ютеру. 
Деякі віруси створюють сильно стиснуті версії файлів набагато більшого 
розміру, знаючи, що антивірусна система вимагає величезної кількості часу і 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 21 
 
 
 
ресурсів для розпакування даного файлу, щоб перевірити його на наявність 
вірусів. У цій ситуації може використовуватися надмірна фізична/віртуальна 
пам'ять, і система може сповільнюватися, якщо розмір витягнутого файлу 
занадто великий. 
Щоб подолати це обмеження, необхідно зробити наступні кроки. Щоб 
уникнути описаної вище проблеми, деякі антивірусні системи використовують 
механізм тайм-ауту, щоб зупинити або зупинити тривалу операцію перевірки 
на віруси. 
Інші проблеми зі скануванням включають: 
 Проблема полягає в скануванні на наявність мережевих вірусів – 
звичайні сканери призначені для перевірки на наявність вірусів на локальній 
машині. Вони не підходять для мережевих вірусів, які використовують різні 
спеціальні прийоми для переміщення з однієї машини на іншу. 
 Проблема віддаленого сканування файлів полягає в тому, що 
звичайний антивірусний сканер знаходиться на вашому локальному 
комп'ютері та сканує локальні файли. Але вони не можуть перевірити їх на 
наявність вірусів, які є на іншому комп'ютері. Наприклад, якщо ви отримуєте 
доступ до файлу на віддаленому сервері, сканер не зможе просканувати файл 
на віддаленому сервері. 
 Ви не можете просканувати комп'ютер, якщо він сильно заражений і 
не може завантажитися з жорсткого диска. 
 Проблема помилкових спрацьовувань. Жоден метод сканування не є 
повністю надійним і гарантованим доказом виявлення вірусу. Кожен метод 
сканування може призводити до помилкових спрацьовувань, а це означає, що 
незаражений файл може бути помилково ідентифікований як такий, що 
містить вірус. Помилкові спрацьовування так само шкідливі, як і помилково 
негативні. 
 Проблема несумісності з прикладним програмним забезпеченням. У 
той час як розробники антивірусів ретельно тестують свої продукти на різних 
версіях операційних систем та іншого популярного прикладного програмного 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 22 
 
 
 
забезпечення, існує багато інших програм і драйверів пристроїв, які не 
тестуються в їхніх лабораторіях. Наприклад, існує безліч випадків, коли різні 
антивірусні програми реалізують карантин або видаляють драйвери пристрою 
і тим самим відключають пристрій. 
Отже, основними функціями антивірусної програми є запобігання 
поширенню вірусів і захист файлів, сканування і виявлення вірусів, видалення 
вірусів із заражених файлів, а також відновлення пошкоджених файлів і 
об'єктів. 
Антивірусна програма зазвичай використовує різноманітні стратегії для 
виявлення та видалення вірусів. Популярними методами виявлення вірусу є 
перевірка сигнатур, 
Перевірка евристики та цілісності. Однак кожен з цих способів має свої 
сильні і слабкі сторони. 
Перевірка сигнатур є найпоширенішим методом виявлення вірусів. Але 
він не може виявити віруси, сигнатури яких відсутні в базі даних. Ще одним 
популярним методом є використання евристичного алгоритму для пошуку 
вірусів на основі загальної поведінки. Цей метод може бути складним, але він 
має здатність знаходити невідомі або нові віруси. Перевірка цілісності є ще 
одним поширеним методом, але він застосовується лише до певних типів 
файлів, які зазвичай не змінюються операціями користувача. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 23 
 
 
 
РОЗДІЛ 2. СИГНАТУРНИЙ АНТИВІРУСНИЙ ЗАХИСТ 
 
Основні підходи до виявлення вірусів 
Величезна кількість і різноманітність шкідливого ПЗ є однією з причин, 
що ускладнюють завдання його виявлення. Вчені Крістодореску і Джа і 
Макгроу і Моріссетт дають докладні описи різних типів шкідливих програм. 
Нижче Строк Порочне ПЗ Забезпечити Захопити 
 Програмне забезпечення, не авторизоване в комп'ютерній системі, може 
викликати порушення політики безпеки і пошкодити інформаційні ресурси, а 
в деяких випадках і апаратні ресурси комп'ютерної системи. Для опису 
шкідливого програмного забезпечення було запропоновано багато визначень. 
Наприклад Дослідники Крістодореску і опис зловмисного програмного 
забезпечення як програму, націлену на зловмисне програмне забезпечення. 
Макгроу і Моррісетт визначають шкідливий код як «будь-який код, доданий, 
змінений або видалений з програмної системи з наміром навмисно завдати 
шкоди або підірвати будь-яку функцію системи». Дослідники Васудеван і 
Єррабаллі (Єрраболи) Давати визначення Шкідливий програмне 
забезпечення як «загальний термін, що включає віруси, трояни, шпигунські 
програми додатків та іншого нав'язливого коду». 
Дослідники Макгроу і Моррісетт відзначають, що категоризація 
шкідливого коду стає все більш складною проблемою, оскільки нові версії є 
комбінаціями тих, які належать до існуючих категорій. 
Канонічними прикладами шкідливого програмного забезпечення є 
хробаки, троянські коні та віруси. Таке визначення має на увазі дещо більш 
детальне обговорення шкідливого програмного забезпечення. 
Комп'ютерні черв'яки реплікують себе, виконуючи власний код, який не 
залежить від інших програм. Основна відмінність вірусу від хробака полягає в 
тому, що 
Тому що останньому не потрібен господар, щоб нашкодити. Ще одна 
відмінність вірусів від глистів полягає в способі їх поширення. Як правило, 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 24 
 
 
 
віруси намагаються поширюватися через програми/файли в одній 
комп'ютерній системі. Однак хробаки поширюються через мережеві 
комунікації, щоб заразити якомога більше комп'ютерних систем, підключених 
до нього. 
Троянський кінь – це шкідливе програмне забезпечення, яке зловмисник 
впроваджує в програму або систему. На перший погляд може здатися, що 
програма або система виконує якусь корисну функцію (наприклад, 
розповсюджує інформацію про місцеву погоду), але виконує деякі 
несанкціоновані дії (наприклад, перехоплює інформацію про натискання 
клавіш і відправляє її шкідливому хосту). Троянські коні зазвичай 
асоціюються з доступом до несанкціонованої інформації та надсиланням 
несанкціонованої інформації від її власника. Такі трояни також можна 
віднести до категорії шпигунських програм. Шкідливе програмне 
забезпечення не обмежується цими типами зловмисних дій. Вбудоване 
шкідливе програмне забезпечення також може діяти як бомба уповільненої дії. 
Наприклад, шкідливе програмне забезпечення може створити наступний 
сценарій; «4 травня 2010 року скомпрометована система буде запрограмована 
на відхилення всіх запитів на обслуговування». 
Комп'ютерний вірус - це код, який відтворює себе, впроваджуючи себе 
в інші програми. Програма, в яку вбудовано вірус, вважається зараженою і є 
місцем його поширення. Для функціонування вірусів потрібні їхні хости або 
місця розповсюдження, а це означає, що їм потрібна існуюча хост-програма, 
щоб завдати шкоди. Наприклад, щоб проникнути в комп'ютерну систему, вірус 
може приєднатися до програмної утиліти (наприклад, текстового редактора). 
Запуск текстового редактора може активувати вірус, який почне дублюватися 
сам по собі, і відключити детектори виявлення шкідливого ПЗ в комп'ютерній 
системі. 
По суті, існує дві фази життєвого циклу програмного забезпечення, під 
час яких впроваджується шкідливе програмне забезпечення. Ці фази 
називаються pre-release і post-release. Внутрішня загроза або інсайдер зазвичай 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 25 
 
 
 
є єдиним типом хакера, який може впровадити шкідливий код у програмне 
забезпечення, перш ніж випустити його, коли він досягне кінцевого 
користувача. Інсайдер — це надійний розробник програмного забезпечення, 
який виконує певні функції в організації до того, як продукт потрапить до 
кінцевих користувачів. Всі інші професіонали або організації, які беруть на 
себе роль хакера, вставляють шкідливий код тільки після випуску продукту, 
коли програмне забезпечення доступне його цільовій аудиторії. 
При створенні нового шкідливого ПЗ автори використовують один або 
обидва з наступних методів: обфускація (обфускація коду) і модифікація 
поведінки з метою обходу детекторів виявлення шкідливого ПЗ. Обфускація 
намагається приховати справжні наміри шкідливого коду, не розширюючи 
поведінку зловмисного програмного забезпечення. Модифікація поведінки 
ефективно створює нове шкідливе програмне забезпечення, хоча суть 
шкідливого програмного забезпечення може не змінитися. Широке 
використання методів, описаних вище, розробниками шкідливих програм, а 
також згаданими вище дослідниками, дозволяє припустити, що багаторазово 
використовуваний код є основним компонентом при розробці нових 
шкідливих програм. 
 
2.1. Сканування на основі сигнатур і аномалій 
Детектор зловмисного програмного забезпечення — це реалізація 
певного методу виявлення шкідливого програмного забезпечення для захисту 
системи, заснований на виявленні зловмисної поведінки та служить 
емпіричним засобом оцінки здатності виявляти шкідливе програмне 
забезпечення. 
Детектори шкідливого ПЗ містять два входи. Один із вхідних даних 
використовується для отримання інформації про шкідливу поведінку, а саме 
зворотний зв'язок, отриманий під час етапу навчання. Таким чином, при 
виявленні аномалій відомо, що є аномальною поведінкою, на основі знань про 
те, що є звичним або нормальним. Оскільки аномальна поведінка містить 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 26 
 
 
 
зловмисну поведінку, деякі випадки зловмисної поведінки перехоплюються 
програмним забезпеченням на основі аномалій. При методі, заснованому на 
сигнатурах, інформація про те, що є шкідливим, надходить зі сховища, яке 
зазвичай вручну оновлюється фахівцями, які змогли виявити небезпечну 
поведінку і виразити її у формі, придатній для зберігання підписів і в 
кінцевому підсумку бути читабельною комп'ютерною машиною. 
Решта вхідних даних використовується для програми, що тестується. 
Після того, як детектор зловмисного програмного забезпечення отримає повну 
інформацію про те, що вважається зловмисною поведінкою (нормальною 
поведінкою) і програмою, що сканується, він може використовувати свою 
технологію виявлення, щоб визначити, чи є програма шкідливою чи 
нешкідливою. Системи виявлення вторгнень (IDS) і детектори шкідливого ПЗ 
часто використовуються як взаємозамінні, причому детектор шкідливого ПЗ є 
лише компонентом повноцінного IDS. 
Методи, які використовуються для виявлення шкідливого програмного 
забезпечення, можна розділити на дві категорії: виявлення на основі аномалій 
і виявлення на основі сигнатур. Метод виявлення аномалій використовує свої 
знання про те, що є нормальною поведінкою, щоб визначити, чи є програма, 
що тестується, шкідливим програмним забезпеченням. Детектори на основі 
сигнатур використовують характеристики того, що вже відомо як шкідливе, 
щоб визначити небезпеку сканованої програми. Таким чином, ця 
характеристика зловмисної поведінки є ключовою для ефективності методу 
виявлення на основі сигнатур. 
Малюнок 2.1 ілюструє взаємозв'язок між різними методами виявлення 
шкідливого програмного забезпечення. У кожному з методів виявлення 
використовується один з трьох різних підходів: статичний, динамічний або 
гібридний (див. Рисунок 1). Конкретний підхід або аналіз методу, заснованого 
на аномалії або сигнатурі, визначається тим, як метод збирає інформацію для 
виявлення шкідливого програмного забезпечення. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 27 
 
 
 
Виявлення 
шкідливого 
На На основі 
основ
Стати Динам Гібри Стати Динам Гібри
 
Рис. 2.1 - Виявлення шкідливого ПЗ на основі сигнатур. 
 
Статичний аналіз використовує синтаксичні або структурні властивості 
програми (статична)/процесу (динамічна), щоб визначити, чи є вона 
шкідливою. Наприклад, виявлення на основі статичних сигнатур використовує 
лише структурну інформацію (наприклад, послідовність байтів), щоб 
визначити, чи є воно шкідливим, тоді як динамічний підхід використовує 
інформацію під час виконання (наприклад, системи, які бачать стек 
виконання). Як правило, статичний підхід намагається виявити шкідливе 
програмне забезпечення до виконання програми, що тестується. І навпаки, 
динамічний підхід намагається виявити зловмисну поведінку під час або після 
виконання програми. Існують гібридні методи, які поєднують ці два підходи 
[38]. У цьому випадку для виявлення шкідливого ПЗ використовується 
статична та динамічна інформація. 
Захист на основі сигнатур використовує шаблон зловмисної поведінки, 
який часто називають сигнатурою, для виявлення зловмисного програмного 
забезпечення. В ідеалі сигнатуру можна використовувати для ідентифікації 
будь-якого шкідливого програмного забезпечення, яке виявляє зловмисну 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 28 
 
 
 
поведінку. Як і у випадку з будь-якими даними, які існують у великих 
кількостях і потребують зберігання, вам потрібно мати сховище підписів. 
Зверніться до репозиторію або репозиторію, щоб дізнатися більше про 
шкідливість програми підпису. У наш час судово-медична експертиза відіграє 
ключову роль у створенні моделей або підписів. Одним з головних недоліків 
сигнатурного методу є те, що він не здатний виявити атаку нульового дня, 
тобто інформації про неї немає в репозиторії. 
 
 
                 Ти будеш 
 
 
 
                       S 
 
 
u = всі відомі шкідливі дії S = всі відомі шаблони сигнатур 
Рис. 2.2 - Обмеження методу підпису. 
 
Рисунок 2.2 ілюструє основний недолік сигнатурних методів. Оскільки 
множина можливих шкідливих дій U нескінченно велика, невідомо, як 
представити U за допомогою сигнатури. Крім 
Ще одним недоліком методу є те, що розробка підписів зазвичай вимагає 
участі експертів. Це може не тільки призвести до людської помилки, але й 
зайняти значно більше часу, ніж якби підписи були розроблені автоматично. 
Враховуючи, що деякі шкідливі програми поширюються надзвичайно швидко, 
можливість швидко розробити сигнатуру стає першочерговою. Існують 
автоматизовані конструктори підписів [26], але вони ще не досконалі. 
Деякі методи на основі сигнатур використовують той факт, що велика 
кількість шкідливих програм походить із попередніх версій. Отже, щоб 
скористатися цим спостереженням, необхідно створити сигнатуру шкідливого 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 29 
 
 
 
програмного забезпечення таким чином, щоб захопити шкідливу сутність або 
інваріантну частину. Основна мета побудови цієї сигнатурної парадигми – 
зробити детектори шкідливого ПЗ менш сприйнятливими до обфускації. Ще 
однією важливою причиною створення підписів таким чином є мінімізація 
кількості сигнатур шкідливого програмного забезпечення, що зберігаються в 
репозиторії або репозиторії. Зберігання сигнатур на даний момент не є 
проблемою, але в майбутньому може викликати труднощі, які пов'язані з 
часовою складовою програмного забезпечення для виявлення шкідливого 
контенту. 
 
2.2. Виявлення на основі сигнатур 
Виявлення шкідливого програмного забезпечення є сферою, що 
викликає найбільше занепокоєння не лише у дослідницької спільноти, а й у 
широкої громадськості. Методи, розроблені дослідниками та вченими для 
виявлення шкідливого програмного забезпечення, реалізуються шляхом 
впровадження детекторів виявлення шкідливого програмного забезпечення. 
Динамічне виявлення на основі сигнатур характеризується використанням для 
розв'язання лише інформації, зібраної під час виконання через свою 
розбещеність і знаходження моделей поведінки, які розкривають його злі 
наміри. 
Перший метод динамічного підпису передбачає підхід, заснований на 
правилах IDS. Ilgun et al. Атаки моделюються у вигляді діаграм переходів 
станів. Передбачається, що існує якийсь механізм аудиту даних. Цей механізм 
передає дані препроцесору, який модифікує їх так, щоб їх можна було 
проаналізувати за допомогою діаграми переходу станів. Потім дані 
порівнюються з відомими вторгненнями, які існують у вигляді діаграм 
переходів станів. 
Дослідник Ellis et al. пропонують поведінковий підхід до виявлення 
черв'яків, заснований на відомій шкідливій поведінці. Автори представляють 
чотири різні поведінкові сигнатури. Базові сигнатури – це сигнатури, які 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 30 
 
 
 
можна ідентифікувати, спостерігаючи за вхідними та вихідними потоками 
даних з одного вузла. Базовий підпис виявляється, коли серверу не вдається 
перейти до підписання на стороні клієнта. Для того, щоб поширюватися, 
хробак повинен діяти як клієнт для наступного хоста після того, як сервер був 
скомпрометований, що призводить до зараження більшої кількості машин. 
Цей підхід втрачає свою ефективність, якщо застосовується в середовищі 
рівний-рівному. 
Відповідно до наступної базової сигнатури, альфа-входу та альфа-
виходу, черв'яки зазвичай надсилають однакові дані між вузлами і тому часто 
мають схожі, якщо не ідентичні, вхідні та вихідні посилання. Такий підхід має 
певні обмеження в деяких сервісах, оскільки в надсиланні таких даних немає 
нічого екстраординарного. Наприклад, нерідко файлові сервери отримують і 
відправляють такі дані. 
Інша форма поведінкової сигнатури називається розгалуженням. Цей 
підхід просто встановлює поріг для кількості дочірніх вузлів, які вузол може 
мати в будь-який момент часу. Стосунки з дитиною – приклад мотивуючого 
підпису, який припускає, що є деякі інфіковані хазяїни, які відповідають за 
зараження інших хазяїв, викликаючи експоненціальне зростання інфекцій і 
викликаючи швидке поширення хробака. Щоб створити заголовок відповідно 
до такого типу поведінки, вам потрібно врахувати наступне: (1) глибину 
дерева, (2) кількість дочірніх елементів у дереві, (3) середній коефіцієнт 
розгалуження та (4) час, необхідний для досягнення певної глибини дерева. 
Автори проаналізували сигнатуру сервер-клієнт і альфа-версію 
введення-виведення. Сигнатура сервер-клієнт успішно використовується для 
активних черв'яків. Альфа-сигнатура на вході та виході залежить від 
порогового значення, вибраного для альфа-каналу. Наприклад, альфа-
значення 1 має високу частоту помилкових спрацьовувань. 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 31 
 
 
 
2.3. Виявлення статичної сигнатури   
Виявлення на основі статичних сигнатур — це вивчення та сканування 
програми на наявність послідовностей коду, які виявляють зловмисні наміри 
в програмі. 
Мета полягає в тому, щоб отримати доступ до коду, який є 
відображенням поведінки програми. Сигнатура зазвичай представлена 
кодовими послідовностями. Метод, заснований на сигнатурах, приймає цю 
інформацію (наприклад, послідовності команд, які, як вважається, 
відповідають за спричинення зловмисної поведінки) і порівнює програму з 
відомими сигнатурами. Основна перевага методу статичної сигнатури полягає 
в тому, що програму можна проаналізувати, а її шкідливе програмне 
забезпечення можна однозначно ідентифікувати без запуску. 
Експерти з інформаційних технологій Sung et al. запропонували метод 
під назвою Static Analysis for Vicious Executables (SAVE). Форма 
Сигнатура для даного вірусу визначається послідовністю викликів 
Windows API. Кожен виклик API представлений 32-бітним числом. Найбільш 
значущі 16 біт відповідають модулю, до якого належить виклик API, а молодші 
16 біт відповідають положенню функцій API у векторі функцій API. Евклідова 
відстань обчислюється між відомими сигнатурами та послідовністю викликів 
API, знайденими в додатку. Середнє арифметичне трьох функцій 
спорідненості дає схожість послідовності API додатку з послідовністю 
сигнатур в репозиторії. Якщо різниця становить 10 відсотків або менше, то 
програма позначається як шкідлива. Дослідник Сонг та ін. порівняв SAVE з 8 
детекторами шкідливого ПЗ. SAVE Malware Detector порівнюють з Norton, 
McAfee Unix Scanner, McAfee, Dr. Web, Panda, Kasperksy, F-Secure та Anti 
Ghostbusters. Сонг і його колеги протестували всі ці сканери W32. Mydoom, 
W32. Біка, W32. Бігль і W32. Бластер.Черв'як. SAVE виявився єдиним 
детектором, який зміг виявити всі варіанти згаданого шкідливого ПЗ під час 
розслідування. 
Наступний метод виявлення шкідливого ПЗ на основі сигнатур, 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 32 
 
 
 
заснований на статичному підході, називається семантикою. У статті 
Christodorescu et al. сигнатури шкідливого програмного забезпечення 
представлені шаблонами. Кожен шаблон являє собою набір з трьох 
взаємопов'язаних команд, змінних і символьних констант. Шаблони 
намагаються узагальнити сигнатуру екземпляра шкідливого програмного 
забезпечення, зберігаючи при цьому суть поведінки шкідливого коду. 
Щоб визначити, чи шкідлива програма, потрібно виконати три кроки. 
По-перше, додаток перетворюється в незалежне представлення проміжного 
програмного забезпечення (IR), яке є варіантом мови x86. Далі обчислюється 
графік потоку управління для проміжного виду програми і порівнюється з 
графіком потоку управління шаблону. Нарешті, порівняння здійснюється за 
допомогою пар опис-використання. Якщо IP-код програми має відповідну 
пару для кожної пари опис-використання, знайденої в шаблоні, це шкідливо. 
Результати Christodorescu et al. вказують на те, що підхід, заснований на 
шаблонах, дозволяє виявляти варіанти шкідливого програмного забезпечення 
з нульовою кількістю помилкових спрацьовувань. В ході експерименту було 
отримано 21 копію поштових хробаків з наступних сімейств шкідливих 
програм: Netsky, B[e] agle і Sober. Вражаюча здатність виявлення була 
досягнута лише за допомогою двох шаблонів, а саме петлі дешифрування та 
шаблону масової розсилки. Хоча масова розсилка хробака Sober не була 
виявлена, ін'єкція відбулася в той час, коли виконавча бібліотека Microsoft не 
підтримувалася. 
Дослідник Крістодореску і його колеги також виявили, що в 2000 році їх 
алгоритм не давав помилкових спрацьовувань в шкідливому програмному 
забезпеченні Windows. Автори також оцінили стійкість своїх методів до 
заплутування. 
Дослідники Кумар і Спаффорд запропонували універсальний 
антивірусний сканер, який виявляв віруси на основі зіставлення регулярних 
виразів. Оскільки запропонований сканер розроблявся виключно для SunOS, 
було складно порівнювати реалізацію авторів з антивірусними сканерами 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 33 
 
 
 
інших операційних і файлових систем. 
Вчені-комп'ютерники Крейбіч і Кроукрофт [26] запропонували 
«Honeycomb» — систему, яка використовує honeypot для генерації сигнатур і 
виявлення шкідливих програм, що виникають в результаті мережевого 
трафіку. Методика авторів ґрунтується на припущенні, що трафік, 
спрямований на приманку, є підозрілим. Недостатньо використаний підпис 
буде вилучено з черги підписів. Крім того, якщо знайдено той самий підпис, 
він не додається до пулу підписів. Це допомагає зберегти пул підписів якомога 
меншим. 
 
2.4. Гібридне виявлення сигнатур 
Виявлення гібридних сигнатур використовує статичні та динамічні 
властивості, щоб визначити, чи є програма шкідливою. Дослідник Mori et al. 
запропонували інструмент для аналізу та виявлення шкідливого мобільного 
коду, який виявляє самошифруються та поліморфні віруси. Традиційні методи 
не можуть виявити ці типи вірусів, тому що вони обходять свої методи. 
Іншими словами, шифруючи себе, віруси не виявляють закономірностей, від 
яких залежать відповідні методи їх виявлення. Тому автори створили 
інструмент для вирішення цього питання. 
Використовуючи підхід Mori et al., код декодується в емуляторі 
операційної системи. Після того, як вірус розшифрував своє корисне 
навантаження, над ним виконується статичний аналіз, щоб ідентифікувати 
системні виклики, зроблені з корисного навантаження. Під час експерименту 
їхній пристрій зміг виявити 600 зразків вірусів/хробаків. 
Дослідники Lo (Lo) et al. запропонували інструмент «Фільтр шкідливого 
коду» (MCF). Цей метод використовується для розбору виконуваних файлів, 
що не вимагає від програміста надання офіційних специфікацій. Відповідно до 
методу використовується виконуваний файл. Потім створюється проміжне 
зображення, яке є CFG виконуваного файлу. Проаналізувавши різні шкідливі 
програми, автори розробили «ознаки» шкідливого програмного забезпечення. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 34 
 
 
 
Використовуючи цей прийом, аналітик в кінцевому підсумку вирішує, чи є 
програма шкідливою. Характерні риси служать орієнтиром для людини-
аналітика. Ці ознаки описують різні класи шкідливих програм. Таким чином, 
радник створює фільтр, який ґрунтується на характеристиках керуючого 
сигналу. 
Таким чином, незважаючи на велику кількість сигнатурних методів 
виявлення шкідливого ПЗ, вони містять як слабкі, так і сильні сторони. Дати 
остаточну відповідь на питання, який підхід краще використовувати, вкрай 
складно, навіть якщо розробляти універсальну метрику, так як деякі 
операційні системи і файлові системи більш уразливі для шкідливих програм. 
В даний час оцінка ефективності методів виявлення шкідливого ПЗ виглядає 
досить умовно. 
 
2.5. Способи боротьби з методами виявлення загроз 
2.5.1. Заплутування 
Перше, що спадає на думку, і про що хочеться відразу згадати, це 
заплутування. Все геніальне просто, і яскравим прикладом цього є обфускація 
коду. Якщо проблему не потрібно виявляти, то немає нічого простішого і 
логічнішого, ніж просто «заплутати» код зі збереженням його 
функціональності. Відразу стає очевидним, що сигнатурне виявлення не 
здатне адекватно протистояти обфусцирофанному об'єкту. Статистичний і 
ручний аналіз також набагато складніше, що також є плюсом для цього 
методу. 
Підводячи підсумок, можна сказати, що у нас є метод, який ускладнює 
статичний аналіз і змінює хеш-сигнатури двійкового файлу. Ця методика 
дозволяє обійти пристойну кількість антивірусів, але кінцевий успіх залежить 
від глибини обфускації. 
2.5.2. Пакувальник 
Використання пакувальника є наступним методом протидії виявленню. 
Суть його, як і у випадку з обфускацією, досить проста. Пакувальник стискає 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 35 
 
 
 
вихідний файл і об'єднує стиснені дані з кодом декомпресії в один 
виконуваний файл. Коли ви запускаєте стиснений виконуваний файл, 
програма розпакування спочатку відтворює вихідний код зі стисненого файлу, 
а потім виконує. Варто відзначити, що в даному випадку захисту від виявлення 
для ефективної роботи антивірусів необхідно визначити алгоритм стиснення і 
розпакувати виконуваний файл, просканувавши упакований зразок 
шкідливого ПЗ. У свою чергу, зловмисник постарається зробити все, щоб 
максимально ускладнити життя антивірусним програмам. Оскільки запаковані 
файли важче аналізувати, це призводить до важливої вимоги до самого 
пакувальника – непропрієтарного. 
Підводячи підсумки, можна сказати, що перед нами ще один метод, який 
значно ускладнює статистичний аналіз, і при належній підготовці (наявність 
«неекспонованого» пакувальника) залишає сигнатурний метод виявлення без 
будь-яких шансів на виявлення. Однак варто зазначити той факт, що коли 
об'єкт упакований, його ентропія значно зростає, що робить об'єкт досить 
підозрілим для методу виявлення ентропійного шкідливого програмного 
забезпечення. 
2.5.3. Програми-вимагачі, перестановки та генерація сміття 
Ми детально розповімо про програми-вимагачі, перестановки та 
генерацію сміття, але згадаємо лише ці методи. Кожен з них має право на 
існування, але виділяти їх в якості самостійних методів в даній роботі 
недоцільно, так як генерація сміття і перестановки безпосередньо пов'язані з 
методом обфускації коду, а використання програм-вимагачів - це не що інше, 
як упаковка з використанням алгоритмів шифрування замість алгоритмів 
стиснення. Уточнимо, генерація сміття, як випливає з назви, ускладнює аналіз 
коду, додаючи «непотрібні» інструкції, тоді як перестановка – це перестановка 
логічних блоків у тілі шкідливого ПЗ з метою збільшення навантаження на 
антивірусний движок. 
2.5.4. Поліморфізм 
Наступний метод захисту від виявлення - симбіоз перерахованих вище 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 36 
 
 
 
методів. Він полягає в тому, що для упаковки шкідливого ПЗ кожен раз 
використовується новий ключ, найчастіше залежить від якихось параметрів 
атакованого об'єкта, наприклад, від розміру файлу. Цей метод також дозволяє 
використовувати технології обфускації, генерації сміття та проникнення. 
В результаті ми маємо метод, який дозволяє боротися практично з усіма 
перерахованими вище методами виявлення шкідливого ПЗ. Постійно мінлива 
ентропія, зміни сигнатур і методи обфускації створюють серйозні проблеми 
для завдання виявлення, але не всі методи виявлення беззахисні. Евристичний 
метод, як і раніше, небезпечний, а також можливе виявлення сигнатур 
декодера, що зробить метод виявлення сигнатур знову ефективним, додавши 
їх до антивірусних баз. 
2.5.5. Метаморфізм 
З огляду на слабкі сторони поліморфізму, розроблений ще більш 
надійний метод захисту від виявлення. Це був еволюційний варіант 
поліморфізму, метаморфізму. Прагнучи позбутися від слабкості у вигляді 
постійних сигнатур дешифратора, було знайдено рішення – генерація нового 
коду-дешифратора в кожному новому поколінні вірусів. Шкідливі програми 
такого типу називаються MtE-вірусами. 
Підводячи підсумок, можна сказати, що у нас є сильний антидетект-
алгоритм, який може бути вирішений тільки евристичним методом виявлення 
і методом виявлення в пісочниці 
2.5.6. Антипісочниця 
При значній загрозі у вигляді пісочниці перед зловмисниками постало 
питання, як їй протидіяти. Цей метод отримав назву «антипісочниця». Ідея 
методу полягає в наступному: при вході в систему необхідно було визначити, 
чи є система віртуальною. Якщо виявлялося, що віртуалізація має місце, прояв 
руйнівних властивостей відкладалося або на встановлений таймер, або до 
виходу з віртуального середовища. 
У підсумку можна зробити висновок, що наявність пісочниці не гарантує 
виявлення шкідливого ПЗ. Метод «антипісочниці» майже не має цінності як 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 37 
 
 
 
самостійний алгоритм, але є дуже важливим елементом у побудові 
комплексної антидетект-системи. 
РОЗДІЛ 3. МЕТОД СИГНАТУРНОГО АНТИВІРУСНОГО 
ЗАХИСТУ ЗА ДОПОМОГОЮ СКАНЕРІВ 
 
Згідно з першим напрямком, засоби захисту від шкідливих програм і 
програмне забезпечення захищених інформаційних систем проектуються і 
розвиваються незалежно один від одного, а засоби захисту від шкідливих 
програм додаються до вже розробленого програмного забезпечення. У 
другому напрямку впроваджується дворівнева система для виявлення 
наслідків шкідливого ПЗ та виявлення слідів впливу. У свою чергу, виявлення 
факту дії шкідливого ПЗ є дворівневим механізмом моніторингу 
функціонування захищеної інформаційної системи, фіксації її некоректної 
поведінки, а саме: шляхом порівняння поточних результатів виконання 
функцій і функцій управління, отриманих в поступовій динаміці 
функціонування; Порівняння поточних параметрів обчислювального процесу 
в захищеній інформаційній системі з раніше відомими еталонними 
значеннями. 
Особливість такого набору контролів полягає в тому, що кожен такий 
інструмент окремо має обмежені характеристики для управління шкідливими 
функціями, оскільки може охоплювати лише деякі, переважно очевидні ознаки 
та прояви шкідливого ПЗ. Для того, щоб прийняти правильне рішення про те, 
що некоректне функціонування інформаційної системи, що захищається, 
обумовлено впливом шкідливого програмного забезпечення, проводиться 
аналіз всієї сукупності істотних ознак такого функціонування, сформованих в 
результаті виявлення фактів впливу (impact traceology). При цьому 
послідовність усіх контрольних точок та викликів елементів аналізується 
відповідно до ієрархії його побудови з метою отримання інформації про час, 
місце та умови впливу шкідливого ПЗ та наслідки такого впливу. за 
допомогою професійних антивірусних пакетів. Основними методами є: 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 38 
 
 
 
сканування; евристичне сканування; КРР сканування; антивірусний 
моніторинг; імунізація. Антивірусні сканери працюють шляхом сканування 
файлів, секторів і системної пам'яті, а також сканування на наявність відомих 
і нових вірусів. Для пошуку відомих вірусів використовуються так звані 
«сигнатури», тобто послідовності байтів, однозначно характерні для 
конкретного вірусу. Довжина підпису повинна бути максимально великою, а 
в ідеалі підпис повинен включати в себе всю незмінну частину вірусу, що 
гарантує однозначну ідентифікацію. При цьому він значно збільшив обсяг 
антивіруса і значно сповільнив процес сканування. Як правило, доречною 
вважається довжина сигнатури від декількох байт до десятків байт, але не 
більше.  
Сканери поділяються на житлові, які виконують безперервне сканування 
в режимі реального часу, і нестаціонарні сканери, які забезпечують огляд 
системи тільки на вимогу. Як правило, резидентні сканери забезпечують більш 
надійний захист системи, так як відразу реагують на появу вірусу, в той час як 
іногородній сканер здатний розпізнати вірус тільки при наступному запуску. 
До переваг сканерів всіх типів можна віднести їх універсальність, до недоліків 
можна віднести розмір антивірусних баз, до складу яких повинні входити 
сканери, і відносно невисоку швидкість сканування на віруси. У багатьох 
антивірусних пакетах використовуються алгоритми аналізу послідовності 
команд з метою формування деякої статистики і прийняття рішень про 
можливість зараження для кожного сканованого об'єкта, які у відомій 
літературі називаються евристичними методами сканування. Універсальність 
евристичних методів сканування дозволяє виявити велику кількість 
шкідливих програм. Оскільки евристичне сканування багато в чому є 
правдоподібним методом виявлення шкідливого програмного забезпечення, 
до нього застосовуються багато законів теорії ймовірності.  
Наприклад, чим вищий відсоток виявлення вірусів, тим вища кількість 
помилкових спрацьовувань. Недоліком евристичних методів сканування є 
відносно низька швидкість сканування на наявність шкідливих програм. Слід 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 39 
 
 
 
зазначити, що останнім часом намітилася тенденція до використання 
евристичних сканерів про антивірусних базах даних, які зберігають 
інформацію про характерні фрагменти шкідливого коду і тільки збільшують 
виявлення таких програм, при цьому швидкість їх пошуку практично не 
збільшується. Програми, що реалізують алгоритми, засновані на обчисленні 
контрольних сум (CRCs) для всіх файлів і системних секторів, що 
зберігаються на носіях. Інформація про контрольні суми, дані про довжину 
файлів, а також дані про їх останню модифікацію і т.д. компілюються в базу 
даних і використовуються в наступних прогонах CRC-сканерів для порівняння 
з фактичними обчисленими значеннями. Якщо інформація про файл, 
записаний в базу даних, не збігається з реальними значеннями, то CRC-
сканери сигналізують про вплив шкідливого ПЗ.  
Аналіз алгоритмів сканування CRC показує, що сканери CRC, які 
використовують так звані «стелс-алгоритми», мають найкращі можливості 
виявлення шкідливого ПЗ. Однак у цього антивіруса є принциповий недолік, 
який полягає в тому, що CRC-сканери здатні виявляти шкідливе ПЗ, як тільки 
воно з'являється в системі, і робити це тільки через деякий час після того, як 
шкідливе ПЗ почало реалізовувати свої функції. Сканери CRC не можуть 
виявити шкідливе програмне забезпечення в нових файлах, таких як 
електронні листи, дискети, файли, відновлені з файлів резервних копій, або під 
час видобування файлів з архіву, оскільки їхні бази даних не містять 
інформації про ці файли. Більш того, час від часу з'являється шкідливе 
програмне забезпечення, яке використовує цю «слабкість» CRC-сканерів, 
заражає тільки нові файли і таким чином залишається невидимим для CRC-
сканерів.  
Антивірусні монітори – це програми-резиденти, які відстежують 
ситуації зі шкідливим програмним забезпеченням. До таких ситуацій можна 
віднести заклики до відкриття для запису в виконувані файли, запис в 
завантажувальні сектори дисків або жорстких дисків, спроби програм 
залишитися резидентними і т.д., виклики, властиві вірусам. До переваг 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 40 
 
 
 
моніторів можна віднести їх здатність виявляти і блокувати шкідливе ПЗ на 
ранній стадії його прояву. До недоліків можна віднести велику кількість 
помилкових спрацьовувань, що, мабуть, призвело до непопулярності такого 
роду антивірусного програмного забезпечення серед користувачів. Останнім 
часом, завдяки своїй надійності, антивірусні монітори з'явилися в якості 
комп'ютерних апаратних компонентів. Найпоширенішим є вбудований захист 
BIOS від запису.  
У той же час складність налаштування та вимоги до апаратної сумісності 
для цих типів моніторів серйозно ускладнюють їх використання. Імунізатори 
поділяються на два типи: - імунізатори, які контролюють власний організм; - 
Імунізатори, які блокують зараження певним типом шкідливого програмного 
забезпечення. Перші зазвичай записуються в кінці файлів (як файловий вірус) 
і перевіряються при кожній зміні файлу. Недоліком таких імунізаторів є 
неможливість виявити зараження шкідливим програмним забезпеченням, яке 
використовує стелс-алгоритм.  
Ще один вид імунізації захищає елементи комп'ютерних мереж від 
ураження певним типом вірусу. Файли на дисках модифікуються таким чином, 
що вірус сприймає їх як заражені. Для захисту від шкідливого ПЗ за 
допомогою резидентних вірусних механізмів в пам'ять комп'ютера додається 
програма, що імітує копію вірусу: коли шкідливе ПЗ намагається проникнути 
у файли, імунізатор повідомляє йому, що файли вже заражені. Аналіз 
вітчизняних і зарубіжних антивірусних засобів показує, що більшість з них 
використовують кілька механізмів виявлення шкідливого ПЗ. Слід зазначити, 
що якісне виявлення найчастіше забезпечується новітніми антивірусними 
засобами, бази даних яких, як правило, містять сигнатури нових шкідливих 
програм. 
Аналіз типових ситуацій, при яких шкідливе ПЗ впливає на інформаційні 
процеси в захищених інформаційних системах, показав, що дії шкідливого ПЗ 
як специфічного типу резидентних комп'ютерних вірусів файлового типу 
можуть бути формально представлені наступною послідовністю кроків:  
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 41 
 
 
 
- перехоплення управління шляхом передачі помилкового базового 
запиту модуля (ОС) функцій обслуговування переривань для виконання 
програми (CRIC 1);  
- Відновлення початкового вигляду програми, в яку було впроваджено 
шкідливе ПЗ (CROC 2); 
- Зараження оперативної пам'яті комп'ютера (CROC 3);  
- виконання шкідливих функцій незаконного маніпулювання 
інформацією (КРІК 4);  
-Повернення контролю основної програми (крок 5) Суть відповідних 
кроків Найбільш доцільною формою виявлення дій шкідливих програм, що 
відповідають крокам 1, 2 і 3, є: 
1) порівняння послідовності виконаних контрольних точок не відповідає 
реальній адресі її запуску і відноситься до типу керуючих операцій значень 
(керуюча операція типу 1);  
2) Оскільки шкідливе програмне забезпечення реалізує системні функції 
під час цих кроків, операції виявлення повинні виконуватися лише 
компонентами операційної системи під керуванням її базового модуля. При 
цьому опорна послідовність контрольних точок повинна бути захищена. Для 
контролю за виконанням шкідливих функцій доцільно використовувати як 
систему контрольних перевірок, що контролюють виконання окремих 
операцій, так і реалізацію цілих програмних функцій обробки і передачі в 
захищених інформаційних системах. При цьому перевірка операцій обробки і 
передачі даних в програмному забезпеченні здійснюється керуючими 
операціями, а перевірка функцій обробки - функціями управління, 
реалізованими окремими модулями управління. Основними інспекційними 
операціями є: перевірка відповідності даних ціннісній площі (контрольна 
операція типу 1); - перевірка граничних значень вхідних даних, проміжних і 
початкових результатів (контрольна операція типу 2);  
- Перевірка часу виконання (контрольна операція типу 3);  
- перевірка відповідності цим видам (контрольна операція 5 типу);  
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 42 
 
 
 
- Перевірка формату записів даних за допомогою необхідних шаблонів 
(керуюча операція типу 6). До основних функцій управління можна віднести:  
- перевірку результатів другим методом обробки (керуюча функція типу 
2);  
3) Звірка обчислюваних значень деяких ознак отриманих результатів 
(кількість записів, розмір масивів тощо) з їх поточними значеннями (керуюча 
функція типу  
4) Перевірка поточних значень полів даних в записах і масивах шляхом 
порівняння результатів математичних операцій над ними із заздалегідь 
розрахованими умовами (керуюча функція типу 5); 
5) Узгодження поточних значень результатів обробки зі значеннями 
математично або логічно пов'язаних величин (керуюча функція типу 6);  
6) Перевірка семантичних кореляцій між результатами обробки 
(контрольна функція  
7) Оскільки на даний момент шкідливе програмне забезпечення реалізує 
функції програми, компоненти програми можуть виконувати операції 
виявлення ударів без залучення компонентів ОС. Найбільш доцільною 
формою контролю за діями шкідливої програми на етапі повернення 
управління в основну програму (крок 5), а також на етапі взяття управління 
(крок 1) є порівняння послідовності контрольних точок, виконаних в програмі, 
з еталонною (керуюча функція типу 1), що виконується компонентами ОС. 
Результати аналізу методів виявлення впливу шкідливого ПЗ. 
 
 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 43 
 
 
 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 44 
 
 
 
ВИСНОВКИ 
 
У роботі було розглянуто метод сигнатурного антивірусного захисту за 
допомогою сканерів. Реалізація проекту дає можливість порівняти основні 
антивірусні програми, визначити їх сильні та слабкі сторони, а також створити 
сканер, підключивши власну та запозичену сигнатури (github) для виявлення 
шкідливого ПЗ. У дослідженні використовувався шістнадцятковий редактор 
та інструмент YARA для перевірки файлів та програм. Використання цього 
програмного засобу має ряд переваг. Одна з них полягає в тому, що він 
безкоштовний і має велику кількість зразків на основі підпису. 
У першому розділі було визначено ряд ключових понять, 
проаналізовано методи сканування на віруси та їх обмеження. 
Другий розділ був присвячений аналізу сигнатурного методу перед 
виявленням шкідливого ПЗ в системах виявлення вторгнень. 
Джерельну базу дослідження складають переважно зарубіжні видання. 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 45 
 
 
 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
 
1. Адельштейн Ф., Стіллерман М., Козен Д. Виявлення шкідливих 
програм для відкритої прошивки. Матеріали 18-ї щорічної конференції з 
додатків комп'ютерної безпеки, 2002. 
2. Бержерон Д., Деббабі М., Дешарне Ерхіуї М.М., Таубі Н. Статичне 
виявлення шкідливого коду у виконуваних програмах. Міжнародний. Укр., 
2001. 
3. Бержерон Д., Деббабі М., Ерхіуї М.М., Ктарі Б. Статичний аналіз 
двійкового коду для ізоляції зловмисної поведінки. На 8-му семінарі "Передові 
технології: інфраструктура для спільних підприємств", 1999 р. 
4. Болдт М., Карлссон Б. Аналіз програмного забезпечення, що порушує 
конфіденційність, за допомогою методів комп'ютерної криміналістики. http: // 
www. Електронні докази. info/ b.html, січень 2006 р. 
5. Кастанеда, Ф., Сезер, Е. К., Сюй, Дж. ACM 2004 Workshop Proceedings 
with Rapid Malcode, 2004. 
6. CERT/CC, Університет Карнегі-Меллона. http: // www. cert-overview-
trends/ module-2.pdf, травень 2003 р. 
7. CERT/CC, Університет Карнегі-Меллона. http: // www. cert-overview-
trends/ module-4.pdf, травень 2003 р. 
8. CERT/CC, Університет Карнегі-Меллона. http: // www. cert. org/ stats/ 
cert\stats.html \#incidents, останнє оновлення: квітень 2006 р. 
9. Крістодореску М., Ю. С. Статичний аналіз виконуваних файлів для 
виявлення шкідливих шаблонів. Симпозіум з безпеки Usenix, 2003. 
10. Крістореску М., Ю. С. Тестування детектора шкідливого ПЗ. 
Матеріали Міжнародного симпозіуму з тестування та аналізу програмного 
забезпечення, липень 2004 р. 
11. Крістобореску М., Джа С., Сесія С., Сонг Д., Брайант Р. Виявлення 
шкідливого ПЗ за допомогою семантики. Детальню інформацю можна знайти 
на симпозіумі IEEE з безпеки та конфіденційності 2005р., с. 32-46, 2005. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 46 
 
 
 
12. Ч.М. Нецький: Призвідник конфлікту? Вірусний бюлетень, 05.2004 
13. Коуен, К., Пу, К., Майєр, Д., Уолпол, Дж., Бакке., Бітті, С., Грієр, А., 
Вагл., Чжан, К., і Хінтон, Х. Stackguard: Автоматичне адаптивне виявлення та 
запобігання атакам переповнення буфера. Матеріали 7-ї конференції з безпеки 
USENIX, січень 1998 р. 
14. Деббібі, М., Гіссон, Е., Ктарі, Б., Мічод, Ф., і Таубі, Н. 
Самосертифіковані безпечні ліжечка. На 9-му Міжнародному семінарі IEEE з 
передових технологій: інфраструктура для спільних підприємств, с. 183-188, 
2000 
15. Елліс Д., Ейкен Д., Етвуд К., Теналья С. Поведінковий підхід до 
виявлення глистів. Матеріали семінару ACM 2004 року з Velocity Malware, с. 
43-53, 2004. 
16. Філіол Е. Схеми сканування зображень шкідливих програм, 
захищені від аналізу чорної скриньки. Комп'ютер Вірола., 2006. 
17. Форрест С., Перельсон А. С., Аллен Л., Черукурі Р. Дискримінація 
«Я-не-Я». Матеріали симпозіуму IEEE Security and Privacy Research 1994 р., 
травень 1994 р. 
18. Гіффін Дж.Т., Джа С., Міллер Б. Дистанційне виявлення потоку 
викликів. 11-й симпозіум з безпеки USENIX, 2002 
19. Уроки від розробників вірусів: Історія хробака бігль до 24 квітня 
2004 року. SecurityFocus, май 2004 г. 
20. Халфонд В., Орсо А. Амнезія: аналіз та моніторинг нейтралізуючих 
атак за допомогою SQL-ін'єкцій. Матеріали 20-ї Міжнародної конференції 
IEEE/ACM з автоматизованої програмної інженерії, с. 174 – 183, 2005. 
21. Хофмейр С., Форрест С., Сомаяджі А. Виявлення вторгнень за 
допомогою послідовностей системних викликів. Журнал комп'ютерної 
безпеки, с. 151 – 180, 1998. 
22. Ільгун К., Кеммерер Р. А., Поррас. А. Аналіз переходу стану: 
заснований на правилах підхід до виявлення вторгнень. IEEE Transactions on 
Software Engineering, 1995. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 47 
 
 
 
23. Кірда, Е., Крюгель, К., Вінья, Г., і Йованович, Н. Нокс: Рішення на 
стороні клієнта для пом'якшення атак міжсайтового скриптингу. На 21-му 
симпозіумі ACM з прикладних обчислень (SAC), 2006. 
24. Ко К., Фінк Г., Левітт К. Автоматизоване виявлення вразливостей у 
привілейованих програмах за допомогою моніторингу виконання. Матеріали 
10-ї щорічної конференції з додатків комп'ютерної безпеки, с. 134-144, грудень 
1994 р. 
25. Ко, К., Рущицька, М., & Левітт, К. Моніторинг виконання критично 
важливих для безпеки програм у розподілених системах: підхід, заснований на 
специфікаціях. У матеріалах симпозіуму IEEE з безпеки та конфіденційності 
1997 року, 1997 рік. 
26. Крейбіч К., Кроукрофт Д. Соті – Створення довірчого підпису за 
допомогою приманок. На 2-му семінарі з актуальних тем в Інтернеті, 2003 р. 
27. Кумар С., Спаффорд Е.Х. Універсальний антивірусний сканер C++. 
Матеріали 8-ї конференції з додатків комп'ютерної безпеки, с. 210 – 219, 1992. 
28. Ландвер К., Булл А., Макдермотт Д., Чой В. Таксономія недоліків 
безпеки комп'ютерних програм. ACM Computing Surveys (CSUR), 26 (3): 211-
254, 1994. 
29. Лі, Р.Б., Кериг, Д.К. і МакГрегор. і Ши З. Використання апаратної 
архітектури для запобігання впровадженню шкідливих програм. Міжнародна 
конференція з всепроникної комп'ютерної безпеки (SPC), 2003 
30. Лі В., Столфо С. Підходи до інтелектуального аналізу даних для 
виявлення вторгнень. У матеріалах 7-го симпозіуму з безпеки USENIX, 1998. 
31. Лі В., Ван К., Столфо С., Дюк Б. Відбитки пальців: ідентифікація 
типів файлів за допомогою n-грамового аналізу. 6-й семінар IEEE з 
інформаційної безпеки, червень 2005 р. 
32. Лінн, К. М., Раджагопалан, М., Бейкер, С., Кольберг, К., Дебре, С. К., 
Хартман, Дж. Симпозіум з безпеки Usenix, 2005 
33. Ло Р.В., Левітт К.Н., Олссон Р.А. MCF: Фільтр шкідливого 
програмного забезпечення. 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 48 
 
 
 
Комп'ютери і суспільство, с. 541-566, 1995. 
34. Масрі В.В., Подгурський А.В. Використання динамічного 
аналізу інформаційних потоків для виявлення атак на додатки. 2005 р. 
Семінар з розробки програмного забезпечення для безпечних систем - 
Створення надійних додатків, 30 травня 2005 р. 
35. Макгроу, Г., Моррісетт, Г. Атака шкідливого програмного 
забезпечення: звіт для Ради з досліджень інформаційної безпеки. IEEE 
Software, 17(5):33–44, 2000. 
36. Міленкович М., Міленкович А., Йованів Е. Використання 
сигнатур блоків інструкцій для протидії атакам впровадження коду. ACM 
SIGARCH Новини комп'ютерної архітектури, 33:108-117, березень 2005 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 49 
 
 
 
Додаток А 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 50 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 51 
 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 52 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 53 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 54 
 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 55 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 56 
 
 
 
 
 
 
Лист 
ЧДТУ.23.22202.015 ПЗ 
Зм Арк №Докум. Підп Дата 57