Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введення.rtf
Скачиваний:
0
Добавлен:
21.07.2019
Размер:
332.9 Кб
Скачать

2.2. Спроба дати "нормальне" визначення

Перші дослідження саморозмножуються штучних конструкцій проводилися в середині нинішнього сторіччя. У роботах фон Неймана, Вінера й інших авторів дані визначення і проведене математичний аналіз кінцевих автоматів, у тому числі і що самовідтворюються. Термін "комп'ютерний вірус" з'явився пізніше - офіційно вважається, що його вперше ужив співробітник Лехайскогоуніверситету (США) Ф. Коен в 1984 р. на 7-й конференції з безпеки інформації, яка проводилася в США. З тих пір пройшло чимало часу, гострота проблеми вірусів багаторазово зросла, однак строгого визначення, що ж таке комп'ютерний вірус, так і не даний, незважаючи на те, що спроби дати таке визначення починалися неодноразово.

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

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

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

Основна ж особливість комп'ютерних вірусів - можливість їхнього мимовільного впровадження в різні об'єкти операційної системи - властива багатьом програмам, які не є вірусами. Наприклад, найпоширеніша операційна система MS-DOS має в собі все необхідне, щоб мимовільно встановлюватися на не-DOS'овскіе диски. Для цього досить на завантажувальний флоппі-диск, що містить DOS, записати файл AUTOEXEC.BAT наступного змісту:

SYS A:

COPY *.* A:

SYS B:

COPY *.* B:

SYS C:

COPY *.* C:

...

Модифікована в такий спосіб DOS сама стане самим дійсним вірусом з погляду практично будь-якого існуючого визначення комп'ютерного вірусу.

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

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

Тому представляється можливим сформулювати тільки обов'язкова умова для того, щоб деяка послідовність виконуваного коду була вірусом.

ОБОВ'ЯЗКОВИМ (НЕОБХІДНИМ) ВЛАСТИВІСТЮ КОМП'ЮТЕРНОГО ВІРУСУ є можливість створювати свої дублікати (не обов'язково збігаються з оригіналом) і впроваджувати їх в обчислювальні мережі і / чи файли, системні області комп'ютера та інші виконувані об'єкти. При цьому дублікати зберігають здатність до подальшого поширення.

Слід зазначити, що ця умова не є достатнім (тобто остаточним), оскільки випливаючи вищенаведеному прикладу операційна система MS-DOS задовольняє даній властивості, але вірусом, швидше за все, не є.

Ось чому точного визначення вірусу немає дотепер, і навряд чи воно з'явиться в доступному для огляду майбутньому. Отже немає точно визначеного закону, по якому "хороші" файли можна відрізнити від "вірусів". Більше того, іноді навіть для конкретного файлу досить складно визначити, є він вірусом чи ні.

Ось два приклади: вірус KOH і програма ALREADY.COM.

Приклад 1. Є ... вірус? утиліта? з назвою KOH. Ця програма шифрує / розшифровує диски тільки по запиту користувача. Виконана вона у вигляді завантажувальної дискети - boot-cекторі містить bootstrap loader KOH, а десь в інших секторах лежить основний код KOH. При завантаженні з дискети KOH задає користувачеві питання типу: "А можна, я сам себе встановлю на вінчестер?" (Якщо він вже на вінчестері, то запитує те ж саме про дискету). При позитивному відповіді KOH переносить себе з диска на диск.

У результаті KOH переносить (копіює) сам себе з дискети на вінчестер, а з вінчестера на дискети, але тільки з дозволу господаря комп'ютера.

Потім KOH виводить текст про своїх hot-keys ("гарячі" клавіші), за якими він шифрує / розшифровує диски - запитує пароль, читає сектора, шифрує їх і робить недоступними, якщо не знати пароля. Є у нього, до речі, ключ деінсталяції, по якому він сам себе з диска прибирає (розшифрувавши, природно, все, що було зашифровано).

Разом, KOH - це якась утиліта захисту інформації від несанкціонованого доступу. Додана до неї, правда, одна особливість: Ця утиліта сама себе може копіювати з диска на диск (з дозволу користувача). Вірус це? .. Так чи ні? Швидше за все - ні ...

І все-б було нічого, і ніхто б цю утиліту по імені KOH вірусом не обізвав, але тільки bootstrap loader у цього KOH практично на 100% збігається з досить "популярним" вірусом "Havoc" ("StealthBoot ")... "І все - і кришка свята". Вірус! І офіційна назва є - "StealthBoot.KOH".

Якщо б, звичайно, автором KOH був би добре відомий програміст, а, скажімо, Сімантек, або Sierra, або навіть Сам Microsoft, то ніхто б і не посмів назвати це вірусом ...

Приклад 2. Є якась програма ALREADY.COM, яка сама себе копіює в різні підкаталоги на диску в залежності від системної дати. Вірус? Звичайно так - типовий вірус-хробак, сам себе розповзаються по дисках (включаючи мережеві). Так? .. Так!

"Ви грали - але не вгадали жодної букви!" Hе вірус це, як виявилося, а компонента від якогось софтвера. Однак, якщо цей файл висмикнути з цього софтвера, то веде він себе як типовий вірус.

Разом були приведені два живих прикладу:

1. не-вірус - вірус

2. вірус - не-вірус

Уважний читач, який не проти посперечатися, може заперечити:

Стоп. Hазвание "віруси" по відношенню до програм прийшло з біології саме по ознаці саморозмноження. КОH цій умові відповідає, отже це є вірус (чи комплекс, що включає вірусний компонент) ...

У такому випадку DOS є вірусом (чи комплексом, що включає вірусний компонент), оскільки в ньому є команда SYS і COPY. А якщо на диску присутній файл AUTOEXEC.BAT, приведений декількома абзацами вище, те для розмноження не буде потрібно навіть утручання користувача. Плюс до цього: якщо прийняти за необхідний і достатній ознаку вірусу можливість саморозмноження, то тоді будь-яка програма, що має інсталятор, є вірусом. Разом: аргумент не проходить.

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

Вірус KOH є програмою, що шифрує диски по паролю, що вводиться користувачем. _все_ Свої дії KOH коментує на екрані і запитує дозволу користувача. Плюс до того має дєїнсталлятор - розшифровує диски і видаляє з них свій код. Проте все одно - вірус!

Якщо у випадку з ALREADY.COM залучити суб'єктивні критерії (корисна / не корисна, входить у комплект / самостійна і т.п.), то, можливо, це і не варто називати вірусом / черв'яком. Але чи варто залучати ці самі суб'єктивні критерії?

А які можуть бути об'єктивні критерії вірусу? Саморозмноження, скритність і деструктивні властивості? Але адже на кожен об'єктивний критерій можна привести два контрприкладу - a) приклад вірусу, що не підходить під критерій, і b) приклад не-вірусу, що підходить під критерій:

Саморозмноження:

Intended-віруси, що не вміють розмножуватися через велику кількість помилок, або розмножуються тільки при дуже обмежених умовах.

MS-DOS і варіації на тему SYS + COPY.

Скритність:

Віруси "KOH", "VirDem", "Macro.Word.Polite" і деякі інші інформують користувача про свою присутність і розмноження.

Скільки приблизно (з точністю до десятка) драйверів сидить під стандартної Windows95? Потай сидить, між іншим.

Деструктивні властивості:

Нешкідливі віруси, типу "Yankee", які прекрасно живуть у DOS, Windows 3.x, Win95, NT і нічого нікуди не гадять.

Старі версії Norton Disk Doctor'а на диску з довгими іменами файлів. Запуск NDD в цьому випадку перетворює Disk Doctor'а в Disk Destroyer'а.

Тому тема "нормального" визначення комп'ютерного вірусу залишається відкритою. Є тільки кілька точних віх: наприклад, файл COMMAND.COM вірусом не є, а сумно відома програма з текстом "Dis is one half" є стовідсотковим вірусом ("OneHalf"). Все, що лежить між ними, може як виявитися вірусом, так і немає.

Не гарячіться, Шура, - ви ще не відсиділи за минуле справу.

з Жванецького