Спосіб раннього виявлення завантажувальних вірусів

А. Захарченко

В епоху розквіту макровірусів і троянців тема завантажувальних і файлово-завантажувальних (boot і multi) вірусів може здатися неактуальною. Дійсно, масовий перехід на Windows створив значні труднощі для виживання DOS-орієнтованих програм, особливо якщо вони повинні піклується про це самі. Тим не менше у списку WildList
(Www.wildlist.org) у розділі часто зустрічаються вірусів ще до недавнього часу були присутні AntiExe, AntiCMOS і OneHalf. Резерваціями для них служать комп'ютери публічного доступу (навчальні заклади, ігротеки і т.д.) під управлінням Win95/98, і занедбані "тетрісодроми" – комп'ютери допентіумной ери, перетворені на склад всякого непотребу.

Для виявлення завантажувальних вірусів у BIOS була введена перевірка записи в сектор головному завантажувальному запису (MBR) диску (Virus Warning). За замовчуванням ця опція відключена. Крім того, інструкція по установці Windows також вимагає її відключення, інакше нормальний хід установки припиняється без пояснень (насправді попередження про запис у завантажувальний сектор просто не виводиться на екран і необхідно натиснути клавішу "Y", щоб установка продовжилася). Таким чином прихований доступ до MBR і її зміна все ще можливі на комп'ютерах з Win95/98.

У завдання MBR входить визначення завантажувального (активного) розділу жорсткого диска і передача управління завантажувачу операційної системи (ОС). Стандартна MBR разом з таблицею частин (Partition Table), яка описує структуру жорсткого диска, розміщується на вінчестері в 1 секторі, на 0-й доріжці 0-го циліндра. Її завантаження в оперативну пам'ять здійснює BIOS після успішного завершення тесту обладнання. У цей момент процесор знаходиться в реальному режимі роботи, коли дозволено безконтрольне виконання будь-яких команд.

Це зумовило появу DOS-вірусів, що використовують у своєму життєвому циклі завантажувальний запис. Вона модифікується таким чином, щоб замість операційної системи управління спочатку отримував вірусний код. Тільки після свого розміщення в оперативній пам'яті вірус відновлює нормальний хід завантаження. Складнощі програмування (а до завантаження ОС можна використовувати тільки функції BIOS і пряму роботу з "залізом") з надлишком компенсуються вигодами контролю над роботою операційної системи і відносної невидимість для антивірусних програм.

Навіть якщо завантажувальний вірус не містить деструктивних функцій він вкрай небезпечний. Помилки програмування приведуть до нестійкості роботи ОС, втрати даних, а завантаження "нерідний" ОС дасть взагалі непередбачуваний результат. Збереження інформації залежить від раннього виявлення шкідливого коду (malicious code). Різноманітність вірусних алгоритмів і численні прорахунки в проектуванні системного забезпечення не дозволяють розробити універсальних методів діагностики.

Завантажувальні віруси представляють виняток. Їх можна виявити по перехопленим векторах переривань до завантаження ОС. Справа в тому, що в момент передачі управління на MBR всі переривання оброблятися тільки BIOS, а значить потрапляють в цілком певний діапазон адрес. Упровадилися вірус обов'язково перехоплює деякі переривання для забезпечення своєї роботи. Зазвичай це комбінація з 13h (диск), 9h (Клавіатура), 8h і / або 1Ch (таймер), 17h (принтер), 21h (MS DOS), 12h (розмір пам'яті). Якщо в момент старту MBR які-небудь з перерахованих переривань перехоплені, то можна з упевненістю говорити про присутність boot-вірусу. Для перевірки досить трохи змінити завантажувач (див.
Додаток).

У наведеному прикладі в код MBR вводяться інструкції для перегляду елементів таблиці переривань. У разі виявлення обробника поза сегмента F000h на екран виводиться попередження. Більш правильним буде пошук обробників переривань поза діапазону адрес, в яких можуть знаходитися зовнішні модулі ROM і BIOS (сегменти C800h – F000h). Вірус в будь-якому випадку ніяк не може вплинути на діагностику. Йому заважають ті ж особливості роботи процесора, які він використовує сам.

Деякі віруси не зберігають оригінальну MBR і обробляють таблицю частин самі. У цьому випадку ознакою зараження стане зникнення підпису самотестірующегося завантажувача при старті комп'ютера. Таким чином, поява завантажувальних вірусів можна виявити вже при першому перезапуску системи, незалежно від його новизни і витонченості стелс-засобів.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*