- •Лекція 4 віруси як шкідливе програмне забезпечення План лекції:
- •1. Класифікація комп'ютерних вірусів
- •2. Систематизація комп’ютерних вірусів
- •3. Файлові віруси
- •Види файлових вірусів
- •Алгоритм роботи файлового вірусу
- •Приклади файлових вірусів
- •4. Завантажувальні (бутові) віруси
- •Класифікаційний код завантажувального вірусу
- •Дескриптор завантажувального вірусу
- •Сигнатура бутового вірусу
- •Принцип дії завантажувальних вірусів
- •Розташування завантажувального вірусу
- •Алгоритм роботи завантажувального вірусу
- •Приклади завантажувальних вірусів
- •5. Макро-віруси
- •Причини зараження макро-вірусами
- •Загальні відомості про віруси в ms Office
- •Принципи роботи Word/Excel/Office-вірусів
- •Алгоритм роботи Word макро-вірусів
- •Алгоритм роботи Excel макро-вірусів
- •Алгоритм роботи вірусів для Access
- •Приклади макро-вірусів
- •6. Мережеві віруси
- •Приклади мережевих вірусів
- •7. Стелс-віруси
- •Приклади стелс-вірусів
- •8. Поліморфік-віруси
- •Поліморфні розшифровувачі
- •Рівні поліморфізму
- •Зміна виконуваного коду
- •9. Способи захисту від вірусів
- •Систематичне архівування важливої інформації
- •Обмеження ненадійних контактів
- •Використання антивірусних програм
- •Види антивірусних програм
- •Контрольні питання до Лекції 4
5. Макро-віруси
Багато табличних і графічних редакторів, системи проектування, текстові процесори мають свої макро-мови для автоматизації виконання повторюваних дій. Ці макро-мови часто мають складну структуру і розвинений набір команд. Макро-віруси є програмами на макро-мовах, вбудованих у системи обробки даних. Для свого розмноження віруси цього класу використовують можливості макро-мов і при їх допомозі переносять себе з одного зараженого файла (документа, таблиці) в інші.
На кінець 1999 року відомо декілька систем, у яких виявлені макро-віруси. Це основні додатки Microsoft Office:
редактор MS Word – мова WordBasic у MS Word 6/7 і VBA (Visual Basic for Applications), починаючи з MS Word 8;
редактор таблиць MS Excel – мова VBA;
редактор баз даних MS Access – мова VBA;
редактор презентацій MS PowerPoint – мова VBA;
менеджер проектів MS Project – мова VBA.
Піддався зараженню макро-вірусами також редактор AmiPro – спеціальна скрипт-мова.
Найбільше поширення одержали макро-віруси для Microsoft Office (Word, Excel і PowerPoint). Віруси в інших додатках MS Office досить рідкі, а для AmiPro відомий всего один макро-вирус. Можливе також існування макро-вірусів і для інших систем, що підтримують макро-мови достатньої потужності.
Причини зараження макро-вірусами
Для існування вірусів у конкретній системі (редакторі) необхідна наявність вбудованої в систему макро-мови з такими можливостями:
програми на макро-мові прив'язані до документів (AmiPro) чи зберігаються в них (додатки MS Office);
у макро-мові присутні команди копіювання макро-програм з одного файла в іншій (AmiPro) або переміщати макро-програми у службові файли системи і файли, що редагуються (MS Office);
є можливість одержання керування макро-програмою без втручання користувача (автоматичні чи стандартні макроси), тобто при роботі з файлом за певних умов (відкриття, закриття і т.д.) викликаються макро-програми (якщо такі є), що визначені спеціальним чином (AmiPro) чи мають стандартні імена (MS Office).
Дані можливості макро-мов призначені для автоматичної обробки даних у великих організаціях чи у глобальних мережах і дозволяють організувати так званий "автоматизований документообіг". З іншого боку, можливості макро-мов таких систем дозволяють вірусу переносити свій код в інші файли, і в такий спосіб заражати їх.
Більшість макро-вірусів можна вважати резидентними, оскільки вони присутні в області системних макросів протягом усього часу роботи редактора. Вони так само, як резидентні завантажувальні і файлові віруси, перехоплюють системні події і використовують їх для свого розмноження. До подібних подій відносяться різні системні виклики, що виникають при роботі з документами Word і таблицями Excel (відкриття, закриття, створення, печатка і т.д.), виклик пункту меню, натискання на яку-небудь клавішу чи досягнення певного моменту часу. Для перехоплення подій макро-віруси перевизначають один чи декілька системних макросів або функцій.
При зараженні деякі макро-віруси перевіряють наявність своєї копії в об'єкті, що заражається, і повторно себе не копіюють. Інші макро-вируси не роблять цього і переписують свій код при кожному зараженні. Якщо при цьому у файлі, що заражається, чи області системних макросів уже визначений макрос, ім'я якого збігається з макросом вірусу, то такий макрос виявляється знищеним.
