Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
новая книга-2.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
6.1 Mб
Скачать
      1. Структура файлового резидентного віруса

Файлові резидентні віруси крім окремих файлів, заражають і пам'ять комп'ютера. Гранично спрощуючи пам'ять комп'ютера можна розглядати як ще один файл, що можна заражати, дописуючи "у голову", тобто в область молодших адрес вільної ділянки пам'яті, "у хвіст", тобто в область старших адрес вільної ділянки пам'яті і, нарешті, "у середину", тобто в область адрес, вже використовуваних операційною системою або якою-небудь програмою.

Водночас, структура резидентного вірусу істотно різниться від структури нерезидентого вірусу. Резидентний вірус можна уявити як такий, що складається з двох відносно незалежних частин: інсталятора і модуля обробки переривань. Останній, у свою чергу складається з ряду програм обробки. Можна вважати, що на кожне переривання, що перехоплюється, припадає своя програма обробки.

Інсталятор одержує керування при виконанні зараженої програми і відіграє роль своєрідної ракети-носія, що запускає вірус на орбіту, тобто в оперативну пам'ять. Він опрацьовує один раз – після запуску зараженої програми, і його доцільно розглядати як спеціалізований файловий вірус, що заражає оперативну пам'ять. Структуру інсталятора можна спрощено уявити таким чином:

Крок 1: Перевірити версію MS DOS.

Крок 2: Відновити змінені байти зараженої програми.

Крок 3: Перевірити зараженість оперативної пам'яті. Якщо пам'ять заражена, то передати керування програмі – вірусоносію, інакше перейти до кроку 4.

Крок 4: Закріпитися в оперативній пам'яті. Переписати своє тіло в задану ділянку оперативної пам'яті і виконати дії по закріпленню цієї ділянки за собою.

Крок 5: Перехопити необхідні переривання. Замінити адреси у відповідних елементах вектора переривань на адреси своїх програм обробки.

Крок 6: Передати керування зараженій програмі.

Після закріплення в оперативній пам'яті інсталятор виконує так зване перехоплення переривань – забезпечення передачі керування модулям вірусу, що опрацьовують переривання. Кінцевий ефект полягає в тому, що при виконанні певної функції MS DOS, керування буде передаватися вірусу. При цьому вірус може містити додатковий механізм, що забезпечує одержання керування інших програм, що перехопили це ж переривання. Такі резидентні віруси будемо називати спливаючими. Спливання допомагає вірусу обходити найпростіші програми-сторожів, засновані на перехопленні тих же переривань, оскільки вони будуть одержувати керування після вірусу.

Функціонування резидентного вірусу можна уявити як дві стадії: інсталятор і спостереження. При запуску зараженої програми керування одержує інсталятор, що забезпечує закріплення вірусу в оперативній пам'яті, перехоплення необхідних переривань і маскування.

Ця фаза роботи резидентного вірусу одержала назву фази інсталяції. Надалі щораз при виникненні одного з перехоплених вірусом переривань, керування одержує модуль обробки відповідного переривання. При цьому вірус може аналізувати запит, що надійшов, і в залежності від його вигляду виконувати ті або інші дії.