- •Лекція 4 віруси як шкідливе програмне забезпечення План лекції:
- •1. Класифікація комп'ютерних вірусів
- •2. Систематизація комп’ютерних вірусів
- •3. Файлові віруси
- •Види файлових вірусів
- •Алгоритм роботи файлового вірусу
- •Приклади файлових вірусів
- •4. Завантажувальні (бутові) віруси
- •Класифікаційний код завантажувального вірусу
- •Дескриптор завантажувального вірусу
- •Сигнатура бутового вірусу
- •Принцип дії завантажувальних вірусів
- •Розташування завантажувального вірусу
- •Алгоритм роботи завантажувального вірусу
- •Приклади завантажувальних вірусів
- •5. Макро-віруси
- •Причини зараження макро-вірусами
- •Загальні відомості про віруси в ms Office
- •Принципи роботи Word/Excel/Office-вірусів
- •Алгоритм роботи Word макро-вірусів
- •Алгоритм роботи Excel макро-вірусів
- •Алгоритм роботи вірусів для Access
- •Приклади макро-вірусів
- •6. Мережеві віруси
- •Приклади мережевих вірусів
- •7. Стелс-віруси
- •Приклади стелс-вірусів
- •8. Поліморфік-віруси
- •Поліморфні розшифровувачі
- •Рівні поліморфізму
- •Зміна виконуваного коду
- •9. Способи захисту від вірусів
- •Систематичне архівування важливої інформації
- •Обмеження ненадійних контактів
- •Використання антивірусних програм
- •Види антивірусних програм
- •Контрольні питання до Лекції 4
Розташування завантажувального вірусу
Існує декілька варіантів розміщення на диску первинного завантажувального сектора і продовження вірусу в сектори вільних кластерів логічного диска, у не використовувані чи рідко використовувані системні сектори або у сектори, розташовані за межами диска.
Якщо продовження вірусу розміщається в секторах, що належать вільним кластерам диска (для пошуку цих секторів вірусу приходиться аналізувати таблицю розміщення файлів – FAT-таблицю), то, як правило, вірус позначає ці кластери як збійні (псевдозбійні кластери). Цей спосіб використовується вірусами "Brain", "Ping-Pong" і деякими іншими.
У вірусах сімейства "Stoned" задіяний інший метод. Ці віруси розміщують первинний завантажувальний сектор у не використовуваному чи рідко використовуваному секторі – в одному із секторів вінчестера (якщо такі є), розташованих між MBR і першим boot-сектором, а на дискеті такий сектор вибирається з останніх секторів кореневого каталогу.
Деякі віруси записують свій код в останні сектори вінчестера, оскільки ці сектори використовуються тільки тоді, коли вінчестер цілком заповнений інформацією (що є досить рідким явищем, якщо врахувати розміри сучасних дисків). Однак такі віруси приводять до псування файлової системи OS/2, що у деяких випадках зберігає активний boot-сектор і системні дані саме в останніх секторах вінчестера.
Рідше використовується метод збереження продовження вірусу за межами диска. Досягається це двома способами:
зменшення розмірів логічних дисків – вірус віднімає необхідні значення з відповідних полів BPB boot-сектора і Disk Partition Table вінчестера (якщо заражається вінчестер), зменшує в такий спосіб розмір логічного диску і записує свій код у "відрізані" від нього сектори;
запис даних за межами фізичної розбивки диска. У випадку флопі-дисків вірусу для цього приходиться форматувати на диску додатковий трек (метод нестандартного форматування), наприклад, 80-й трек на дискеті. Існують віруси, що записують свій код за межами доступного простору вінчестера, якщо, зрозуміло, це допускається встановленим устаткуванням (вірус "Hare").
Звичайно, існують і інші методи розміщення вірусу на диску, наприклад, віруси сімейства "Azusa" містять у своєму тілі стандартний завантажник MBR і при зараженні записуються поверх оригінального MBR без його збереження.
При зараженні більшість вірусів копіює в код свого завантажника системну інформацію, що зберігається в первісному завантажнику (для MBR цією інформацією є Disk Partition Table, для Boot-сектора дискет – BIOS Parameter Block). В іншому випадку система виявиться нездатною завантажити себе, оскільки дискові адреси компонентів системи вираховуються на основі цієї інформації. Такі віруси досить легко видаляються переписуванням заново коду системного завантажника в boot-секторі і MBR - для цього необхідно завантажитися з незараженої системної дискети і використовувати команди SYS для знешкодження дискет і логічних дисків вінчестера чи FDISK/MBR для лікування зараженого MBR-сектора.
Однак деякі 100%-стелс віруси не зберігають цю інформацію чи навіть, більш того, навмисно шифрують її. При звертанні системи або інших програм до заражених секторів вірус підставляє їхні незаражені оригінали, і завантаження системи відбувається без якихось збоїв, однак лікування MBR за допомогою FDISK/MBR у випадку такого вірусу приводить до втрати інформації про розбивку диска (Disk Partition Table). У цьому випадку диск може бути "оживлений" або переформатуванням із втратою всієї інформації, або відновленням Disk Partition Table "вручну", що вимагає значної кваліфікації.
Слід також зазначити той факт, що завантажувальні віруси дуже рідко "уживаются" разом на одному диску – часто вони використовують ті самі дискові сектори для розміщення свого коду (даних). У результаті код (дані) першого вірусу виявляється зіпсованим при зараженні другим вірусом, і система або зависає при завантаженні, або зациклюється, що також приводить до її зависання.
Користувачам сучасних ОС завантажувальні віруси також можуть спричинити неприємності. Незважаючи на те, що ці системи працюють з дисками напряму, минаючи виклики BIOS (що блокує вірус і унеможливлює подальше його поширення), код вірусу все-таки, хоч і дуже рідко, одержує керування при перезавантаженні системи. Тому вірус "March6", наприклад, може роками "жити" у MBR сервера і ніяк не впливати при цьому на його (сервера) роботу і продуктивність. Однак при випадковому перезавантаженні 6-го березня цей вірус цілком знищить усі дані на диску.
