Основні види вірусів і схеми їх функціонування
Серед усієї розмаїтості вірусів можна виділити такі основні групи:
— завантажувальні;
— файлові;
— файлово-завантажувальні.
Завантажувальні віруси
Розглянемо схему функціонування дуже простого завантажувального вірусу, Що заражає диски. Ми свідомо уникнемо розгляду всіх численних тонкощів, які неминуче зустрілися б при послідовному розбиранні алгоритму його функціонування. Що відбувається, коли ви вмикаєте комп"ютер? Спершу управління передається програмі початкового завантаження (ППЗ), що зберігається в постійно запам"ятовуючому пристрої (ПЗП).
Будь-який диск розмічений на так звані сектори і доріжки. Серед секторів є кілька службових, що використовуються операційною системою для власних потреб (у цих секторах не можуть розміщуватися ваші дані). Серед службових секторів нас поки цікавить один — сектор початкового завантаження .
У секторі початкового завантаження зберігається інформація про дискету — кількість поверхонь, кількість доріжок, кількість секторів і т. ін. Але нас зараз цікавить не ця інформація, а невелика програма початкового завантаження (ППЗ), що повинна завантажити саму операційну систему і передати їй управління.
Таким чином, нормальна схема початкового завантаження має такий вигляд:
ППЗ (ПЗП) - ППЗ (диск) - СИСТЕМА.
Тепер розглянемо вірус. У завантажувальних вірусах виділяють дві частини — так звані голову і хвіст. Хвіст, узагалі кажучи, може бути порожнім.
Нехай у вас є чиста дискета і заражений комп"ютер, під яким ми розуміємо комп"ютер з активним резидентним вірусом. Як тільки цей вірус виявить, що в дисководі з"явилася відповідна жертва (у нашому випадку не захищена від запису і ще не заражена дискета), він приступає до зараження. Заражаючи дискету, вірус виконує такі дії:
— виділяє певну область диска і позначає її як недоступну для операційної системи. Це можна зробити по-різному, у найпростішому й традиційному випадку зайняті вірусом сектори позначаються як збійні (bad);
— копіює у виділену область диска свій хвіст і оригінальний (здоровий) завантажувальний сектор;
— заміщає програму початкового завантаження в завантажувальному секторі (оригінальному) своєю головою;
— організовує ланцюжок передачі управління відповідно до схеми.
Таким чином, голова вірусу тепер першою одержує управління, вірус установлюється в пам"ять і передає управління оригінальному завантажувальному секторові. У ланцюжку
ППЗ (ПЗП) - ППЗ (диск) - СИСТЕМА з"являється нова ланка:
ППЗ (ПЗП) - ВІРУС - ППЗ (диск) - СИСТЕМА.
Ми розглянули схему функціонування простого бутового вірусу, що живе в завантажувальних секторах дискет. Як правило, віруси здатні заражати не тільки завантажувальні сектори дискет, але і завантажувальні сектори вінчестерів. При цьому, на відміну від дискет, на вінчестері є два типи завантажувальних секторів, що містять програми початкового завантаження, які одержують управління. При завантаженні комп"ютера з вінчестера першою бере на себе управління програма початкового завантаження в MBR (головний завантажувальний сектор). Якщо ваш жорсткий диск розбитий на кілька розділів, то лише один із них позначений як завантажувальний (boot). Програма початкового завантаження в MBR знаходить завантажувальний розділ вінчестера і передає управління на програму початкового завантаження цього розділу. Код останньої збігається з кодом програми початкового завантаження, що міститься на звичайних дискетах, а відповідні завантажувальні сектори відрізняються тільки таблицями параметрів. Таким чином, на вінчестері є два об"єкти атаки завантажувальних вірусів — програма початкового завантаження в MBR і програма початкового завантаження в boot-секторі завантажувального диска.
Розглянемо тепер схему роботи простого файлового вірусу. Нехай у нас є інфікований виконуваний файл. При запуску такого файла вірус одержує управління, виконує деякі дії і передає управління «хазяїнові» (хоча ще невідомо, хто в такій ситуації хазяїн).
Які ж дії виконує вірус? Він шукає новий об"єкт для зараження — підходящий за типом файл, який ще не заражений (у тому випадку, якщо вірус «пристойний», бо трапляються такі, що заражають відразу, нічого не перевіряючи). Заражаючи файл, вірус проникає в його код, щоб одержати управління при запуску цього файла. Крім своєї основної функції — розмноження, — вірус може зробити що-небудь вигадливе (сказати, запитати, зіграти) — це вже залежить від фантазії автора вірусу. Якщо файловий вірус резидентний, то він установиться в пам"ять і одержить можливість заражати файли і виявляти інші можливості не тільки під час роботи зараженого файла. Заражаючи виконуваний файл, вірус завжди змінює його код, отже, зараження виконуваного файла завжди можна виявити. Але, змінюючи код файла, вірус не обов"язково вносить інші зміни:
— він не зобов’язаний змінювати довжину файла;
— не заражає невикористовувані ділянки коду;
— не зобов’язаний змінювати початок файла.
Завантажувально-файлові віруси
Ми не будемо розглядати модель завантажувально-файлового вірусу, тому що ніякої нової інформації ви при цьому не отримаєте. Але тут випадає зручна нагода коротко описати занадто «популярний» останнім часом завантажувально-файловий вірус OneHalf, що заражає головний завантажувальний сектор (MBR) і виконувані файли. Основна руйнівна дія — шифрування секторів вінчестера. При кожному запуску вірус шифрує чергову порцію секторів, а зашифрувавши половину жорсткого диска, радісно сповіщає про це. Основна проблема при лікуванні цього вірусу полягає в тому, що недостатньо є просто видалити вірус із MBR і файлів, треба розшифрувати зашифровану ним інформацію. Але найкраще просто переписати новий здоровий MBR. Головне — не панікуйте. Зважте все спокійно, порадьтеся з фахівцями.
Поліморфні віруси
Багато питань пов’язано з терміном «поліморфний вірус». Цей вид комп’ютерних вірусів сьогодні є найбільш небезпечним. Пояснимо ж, що це таке.
Поліморфні віруси — віруси, що модифікують свій код у заражених програмах таким чином, що два екземпляри одного й того вірусу можуть не збігатися ні в одному біті.
Такі віруси не тільки шифрують свій код, використовуючи різні шляхи шифрування, але й містять код генерації шифрувальника і розшифровувача, що відрізняє їх від звичайних шифрувальних вірусів, які також можуть шифрувати ділянки свого коду, але мають при цьому постійний код шифрувальника й розшифровувача.
Поліморфні віруси — це віруси з розшифровувачами, які самомодифікуються. Мета такого шифрування: маючи заражений і оригінальний файли, ви все одно не зможете проаналізувати його код за допомогою звичайного дизасемблерування. Цей код зашифрований і являє собою безглуздий набір команд. Розшифровка здійснюється самим вірусом уже безпосередньо під час виконання. При цьому можливі варіанти: він може розшифрувати себе усього відразу, а може виконати таку розшифровку у процесі роботи, може знову шифрувати уже виконані ділянки. Усе це робиться заради ускладнення аналізу коду вірусу.
Макровіруси
Комментариев нет:
Отправить комментарий