- •Лекція 4 віруси як шкідливе програмне забезпечення План лекції:
- •1. Класифікація комп'ютерних вірусів
- •2. Систематизація комп’ютерних вірусів
- •3. Файлові віруси
- •Види файлових вірусів
- •Алгоритм роботи файлового вірусу
- •Приклади файлових вірусів
- •4. Завантажувальні (бутові) віруси
- •Класифікаційний код завантажувального вірусу
- •Дескриптор завантажувального вірусу
- •Сигнатура бутового вірусу
- •Принцип дії завантажувальних вірусів
- •Розташування завантажувального вірусу
- •Алгоритм роботи завантажувального вірусу
- •Приклади завантажувальних вірусів
- •5. Макро-віруси
- •Причини зараження макро-вірусами
- •Загальні відомості про віруси в ms Office
- •Принципи роботи Word/Excel/Office-вірусів
- •Алгоритм роботи Word макро-вірусів
- •Алгоритм роботи Excel макро-вірусів
- •Алгоритм роботи вірусів для Access
- •Приклади макро-вірусів
- •6. Мережеві віруси
- •Приклади мережевих вірусів
- •7. Стелс-віруси
- •Приклади стелс-вірусів
- •8. Поліморфік-віруси
- •Поліморфні розшифровувачі
- •Рівні поліморфізму
- •Зміна виконуваного коду
- •9. Способи захисту від вірусів
- •Систематичне архівування важливої інформації
- •Обмеження ненадійних контактів
- •Використання антивірусних програм
- •Види антивірусних програм
- •Контрольні питання до Лекції 4
Дескриптор завантажувального вірусу
В головному дескрипторі відображені такі властивості:
А – деструктивні дії, які використовуються вірусом;
В – прояв вірусу;
L – довжина голови і хвоста вірусу в байтах, які розділені знаком "±";
М – маскування за наявності вірусу в пам'яті;
N – номер першого байта, що не збігається при порівнянні зараженого і нормального секторів початкового завантаження;
S – стратегія зараження (метод вибору "жертви", метод зберігання хвоста вірусу і оригінальної копії бут-сектора);
R (resident) – положення в оперативній пам'яті, реакція на "тепле" перезавантаження і розмір зайнятої пам'яті;
Z – побічні прояви дій вірусу.
Сигнатура бутового вірусу
Для бутових вірусів М-, І-, В-сигнатури використовуються аналогічно тому, як це було для файлових вірусів, а J-сигнатура – в дещо іншому вигляді. На відміну від J-сигнатури для файлових вірусів, в якій байти відповідають команді переходу і не враховуються, в J-сигнатурі для бутових вірусів вони враховуються. Це пов'язано з тим, що першою командою бут-сектора завжди є команда обходу таблиці параметрів диска, розмір якої, на відміну від розміру зараженого файла, не змінюється. Тому для бутових вірусів використовують переважно J-сигнатуру, яка складається з перших трьох байтів бут-сектора, і лише при необхідності доповнюється, починаючи з байта, на якому виконується команда переходу.
Для незараженого бут-сектора (наприклад, для МS-DOS версії 3.3) J-сигнатура дорівнює ЕВ3490h (об'єктний код команди JМР, який служить для обходу таблиці параметрів). Цінність цієї еталонної J-сигнатури в тому, що вона порівняно легко запам'ятовується. Тому невідповідність перших трьох байтів бут-сектора, що аналізується, вказаній еталонній J-сигнатурі свідчить про зараження бут-сектора.
Принцип дії завантажувальних вірусів
Завантажувальні віруси заражають завантажувальний сектор флопі-диска або boot-сектор вінчестера (MBR). Принцип дії завантажувальних вірусів оснований на алгоритмах запуску операційної системи при включенні або перезавантаженні комп'ютера – після необхідних тестів встановленого устаткування (пам'яті, дисків і т.д.) програма системного завантаження зчитує перший фізичний сектор завантажувального диску (A, C чи CD у залежності від параметрів, встановлених у BIOS Setup) і передає на нього керування.
У випадку дискети чи компакт-диску керування одержує boot-сектор, що аналізує таблицю параметрів диска (BPB - BIOS Parameter Block), вираховує адреси системних файлів операційної системи, зчитує їх у пам'ять і запускає на виконання. Системними файлами звичайно є MSDOS.SYS і IO.SYS, або IBMDOS.COM і IBMBIO.COM, або інші в залежності від установленої версії DOS, Windows чи інших ОС. Якщо ж на завантажувальному диску відсутні файли операційної системи, програма, розташована в boot-секторі диска, видає повідомлення про помилку і пропонує замінити завантажувальний диск.
У випадку вінчестера керування одержує програма, розташована в MBR вінчестера. Ця програма аналізує таблицю розбиття диска (Disk Partition Table), обчислює адресу активного boot-сектора (зазвичай цим сектором є boot-сектор диску C), завантажує його в пам'ять і передає на нього керування. Одержавши керування, активний boot-сектор вінчестера здійснює певні дії.
При зараженні дисків завантажувальні віруси "підставляють" свій код замість якої-небудь програми, що одержує керування при завантаженні системи. Принцип зараження, таким чином, однаковий: у всіх описаних вище способах вірус "змушує" систему під час перезапуску зчитувати її в пам'ять і віддати керування не оригінальному коду завантажувальника, а коду вірусу.
Зараження дискет здійснюється єдиним відомим способом – вірус записує свій код замість оригінального коду boot-сектора дискети.
Вінчестер заражається трьома можливими способами – вірус записується або замість коду MBR, або замість коду boot-сектора завантажувального диска (звичайно диска C), або модифікує адреса активного boot-сектора в Disk Partition Table, розташованої в MBR вінчестера.
При інфікуванні диска вірус у більшості випадків переносить оригінальний boot-сектор (чи MBR) у який-небудь інший сектор диска (наприклад, у перший вільний). Якщо довжина вірусу більше довжини сектора, то в сектор, що заражається, поміщається перша частина вірусу, інші частини розміщаються в інших секторах (наприклад, у перших вільних).
