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

Файлові віруси є найбільш поширеним різновидом комп'ютерних вірусів. Основними об'єктами зараження в MS DOS є СОМ. і ЕХЕ. файли. Звичайно при зараженні СОМ-файлів, вірус запам'ятовує у своєму тілі три або більше байт програми і замість них записує перехід на початок власного коду.

Найпростіший нерезидентний комп'ютерний вірус, що заражає СОМ-файли в поточному каталозі і дописуючий своє тіло в кінець файла, можна уявити у вигляді такої неформальної специфікації.

Крок 1: Відновити перші три байта програми. Три байта зараженої програми, збережені в тілі вірусу, пересилаються на своє старе місце.

Крок 2: Перевірити середовище. Перевірити версію операційної системи. Якщо не підходить, то перейти до кроку 11.

Крок 3: Знайти чергову жертву. Знайти в поточному каталозі черговий файл типу СОМ. При невдачі перейти до кроку 11.

Крок 4: Перевірити зараженість потенційної жертви. Вважати область, що дозволяє встановити, чи заражений уже даний файл вірусом чи ні. Перевірити вміст цієї області. Якщо файл уже заражений, то перейти до кроку 3, інакше перейти до кроку 5.

Крок 5: Перевірити, чи підходить жертва для зараження. Якщо довжина файла + довжина вірусу більше 64К, перейти до кроку 3, інакше перейти до кроку 6.

Крок 6: Забезпечити атрибут READ ONLY, запам'ятати дату створення програми. Зняти зазначений атрибут і запам'ятати у своєму тілі дату створення програми.

Крок 7: Забезпечити передачу керування вірусу. Зчитати перші три байта зараженої програми і записати їх у своєму тілі. Сформувати команду переходу на байт, що слідує за кінцем програми, і записати відповідні три байта в початок програми, що заражається. При невдачі перейти до кроку 11, інакше перейти до кроку 8.

Крок 8: Дописати тіло вірусу в кінець програми, що заражається. Пересунути покажчик файлів у кінець програми і встановити режим до запису. Переписати своє тіло в кінець програми, що заражається. При невдачі перейти до кроку 11, інакше перейти до кроку 9.

Крок 9: Відновити дату створення зараженої програми. Записати в елемент каталога, що відповідає програмі, що заражається, збережену в тілі вірусу.

Крок 10: Відновити атрибут READ ONLY. Привласнити зараженому файлу атрибути, встановлені у файлі до зараження і збережені в тілі вірусу. При невдачі перейти до кроку 11, інакше перейти до кроку 10.

Крок 11: Вихід. Відновити вміст регістрів і передати керування програмі – вірусоносію.

Як видно з приведеної схеми, даний вірус поширюється не миттєво по усій файловій системі, а поступово, у міру зараження файлів у поточному каталозі. Тому від моменту появи у файловій системі першого зараженого файла до зараження усіх файлів у каталозі повинен пройти якийсь час, що залежить від інтенсивності використання зараженої програми.

Найбільш уразливими з погляду блокування розмноження вірусу є крок 6 (спроба зняття атрибута READ ONLY), кроки 7, 8 – запис у файл, що містить програму, що виконується, і крок 9 – установка дати створення файла, що відрізняється від поточної. Для блокування цих кроків звичайно використовуються різноманітні резидентні програми. Крім того, якщо на кроку 4 вірус використовує для маркування заражених файлів легко відтворену ознаку, можна блокувати його поширення, привласнивши цю ознаку всім файлам, що заражаються вірусом. Цей прийом використовується так званими програмами-вакцинами.