Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НавчПос_ЗОС.doc
Скачиваний:
90
Добавлен:
16.05.2015
Размер:
7.05 Mб
Скачать

3.3 Файлові віруси

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

Впровадження файлового вірусу можливе практично в усівикону­вані файли усіх популярнихопераційних систем.На сьогоднішній день відомі віруси, щовражають всі типи виконуваних об'єктів: командні файли (BAT), драйвери (SYS, у тому числі спеціальні файли IO.SYS і MSDOS.SYS) і виконувані двійкові файли (EXE, COM). Існують віруси, щовражають файли інших операційних систем - Windows, OS/2, Macintosh, UNIX, включаючи VxD-драйвериWindows.

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

Файлові віруси є найпоширенішим типом комп'ютерних вірусів. Вони становлять близько 80% загальної кількості вірусів, відомих для комп'ютерів, які сумісні з ІВМ РС. Цей клас комп'ютерних вірусів має дуже високу інфікуючу спро­можність. За відсутності протидії вони викликають справжні епі­демії. Так, наприклад, відбулося з вірусом RСЕ-1813.ІЕR, відо­мого також під назвами Jerusalim (Єрусалим), Black Friday (Чор­на п'ятниця).

Більшість розповсюджених файлових вірусів мають штами, які не дуже відрізняються від базової версії. Тому можна гово­рити про групи файлових вірусів і, відповідно, групові дескритори і групові сигнатури. Нині кількість ви­яв­ле­них у країнах СНД файлових вірусів перевищує кілька сотень, тому запам'я­то­ву­вання їх класифікаційних кодів суттєво полегшується, якщо вони викори­стовуються з розширенням, яке показує, до якої групи належить даний вірус.

3.3.1 Класифікаційний код файлового вірусу

Файлові віруси можна розділити на резидентні і нерезидентні, оскільки це в багатьох випадках визначає поведінку вірусу і насамперед його інфікуючу спроможність (резидентні віруси ма­ють значно вищу інфікуючу спроможність порівняно з нерезидентними).

Класифікаційний код файлових резидентних вірусів почи­наєтьсяз префікса R, наприклад R-1701.САS.

Префікс файлового віруса

Крім символа R, класифікаційний код файлового вірусу може включати символи С і Е або їх комбінацію. Як уже зазначалося, символи С і Е визначають типи файлів, заражених даним вірусом. Наприклад, якщо резидентний вірус заражає СОМ- і ЕХЕ-файли, то його класифікаційний код матиме пре­фікс RСЕ.

Кількісна характеристика

У якості кількісної характеристики можна використовувати:

  • нормований приріст або інфек­тивну довжину (infective length);

  • довжину кода вірусу;

  • приріст довжини будь-якого зараженого файла.

До об'єктивних властивостей фай­ло­вих вірусів, що безпосередньо спостерігаються, можна віднести насам­перед приріст довжини файлів при зараженні. Цей приріст, який зумовлює наявність вірусу, можна використати для визна­чення його типу. Тут є дві основні проблеми. По-перше, вели­чина приросту може варіюватися за­леж­но від довжини зараже­ного файла (багато вірусів при дописуванні свого коду в кінець зараженого файла вирівнює своє тіло на найближчуадресу, кра­тну16, тобто на межу параграфа). По-друге, величина приросту може не збігатися для СОМ- і ЕХЕ-файлів. Тому як кількісну харак­те­ристикучастішевикористовуютьнормований приріст –інфек­тивну довжину, якуви­значається за такими правилами:

  1. для вірусів з префіксом С і СЕ (RС, RКСЕ) характеристика класи­фіка­цій­ного коду має дорівнювати мінімальному приросту довжини СОМ-файла (для вірусів типу С і СЕ) або ЕХЕ-файла (для вірусів типу Е);

  2. для вірусів, які не змінюють довжину файла, вказується нуль, а через де­фіс дійсна довжина тіла вірусу, наприклад RС-О-346.LЕН;

  3. для вірусів, які маскують збільшення довжини файла на зараженій про­грамі, до характеристики, визначеної запершим правилом, зліва додається незначущий нуль (наприклад, RСЕ-02000. DAV).

Відзначимо, що запропонований першим правиломпідхід дозволяє зня­ти вплив вирівнювання на межу параграфа для вірусів, які вирів­нюють свій приріст вказаним способом. Крім того, для віру­сів, які змінюють свій приріст визначеним способом, наприклад шляхом підгонки до величини, кратної 51, мінімальний приріст також дає можливість позбутися впливу вставних байтів (цей ви­падок можна розглядати як різновидність вирів­нювання). І на­решті, для вірусів, які багато разів заражують один і той самий файл, використання мінімального приросту дозволяє звільнитися від впливу багаторазового зараження.

Для визначення інфективної довжини не треба буде про­водити спе­ціальні експериментиіззараженняфайлів. Здебіль­шого її можна досить просто визначити, порівнявши прирости довжин двох або більше заражених файлів типу СОМ. Найчас­тіше файлові віруси заражають командний процесор МS-DОS(файл СОММАND.СОМ) і програми, назви яких знаходяться у файлі АUТОЕХЕС.ВАТ. При аналізі кількох заражених файлів можливі два найтиповіші (хоч і не єдино можливі) випадки.

Якщо прирости довжин двох або більше заражених файлів збіга­ють­ся, а залишки від ділення довжин початкових файлів на 16 від­різняються один від одного, то, ймовірно, вірус не виконує вирівнювання свого коду на межу параграфа й інфективну дов­жину L даного вірусу можна дістати за формулою:

L = D - (16 - mod (LEN, 16)),

тобто відніманням із отриманого приросту D доповнення 16 залишку від ділення початкової довжини LEN файла на 16. Наприк­лад, файл СОММАND.СОМ, який файлові віруси здебільшого пошкоджують в числі перших, у найпоширеніших нині версіях М8-DOS має довжину 25307. При цьому залишок від ділення 25307 на 16 дорівнює 11 (mod(25307,16)=11). Очевидно, що доповнення до 16 дорівнює 5, і для вирівнювання на межу па­раграфа необхідна вставка п'яти додаткових байтів. У цьому ви­падку інфективна довжина буде на 5 менша, ніж приріст довжи­ни файла СОММАND.СОМ. Перевагою прийнятого підходу є те, що, за окремим винятком (наприклад, вірус RСЕ-1813.ІЕR), визначена таким чином інфективна довжина збігається з довжи­ною коду вірусу.

Як кількісна характеристика класифікаційного коду можуть засто­со­вуватися й інші параметри. Найпоширенішими вважаютьтакі два підходи.

Використання як кількісної характеристики довжини коду вірусу, ви­зна­ченої за константою, яка вміщується у фрагменті, що забезпечує допи­сування коду вірусу в заражений файл (цю константу можна порівняно легко визначити, аналізуючи дизасембльований код вірусу). Така характеристика є об'єктивною, тому її часто використовують розроб­ни­ки антивірусних про­грам, які досить добре володіють мовою асемблера. Але визна­чена так характеристика в ряді випадків не збігається зі значен­ням приросту довжин файлів, який спостерігається. Це знижує її цінність з погляду використання при спробі класифікації ко­ристувачем, який не володіє мовою асемблера, нового, ще не­відомого йому вірусу. Наприклад, для згаданого вище єруса­лимського вірусу довжина коду вірусу становить 1808 байтів, а приріст довжини при зараженні файлів типу СОМ - 1813 бай­тів, що пояснюється додатковим записуванням в кінець зараже­ного файла типу СОМ п'ятибайтної константи "Мs-Dos" (вико­ристовується як ознака зараженості файла).

Використання як кількісної характеристики приросту дов­жини якого-небудь конкретного файла, отриманого в результаті його зара­ження. Цей дійсно зручний підхід втратив свою при­вабливість з появою ряду вірусів, які не заражають командний процесор, з розповсюдженням МS-DOSверсій 4.0 і ви­ще, в якій довжина файла СОММAND.СОМ становить 37637, з появою нових сучасних операційних систем.