Комп ютерні віруси 2

Комп'ютерні віруси

Bизначення

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

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

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

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

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

SYS A:

COPY *.* A:\

SYS B:

COPY *.* B:\

SYS C:

COPY *.* C:\

...

	

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

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

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

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



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



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

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

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

	

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

Стіп. 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 Dосtоr'а на диску з довгими іменами файлів. Запуск NDD у цьому випадку перетворює Disk Dосtоr'а в Disk Dеstrоуеr'а. 

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



5.Класифікація комп'ютерних вірусів

Віруси можна розділити на класи по наступним основних ознаках: 

середовище існування; 

операційна система (OC); 

особливості алгоритму роботи; 

деструктивні можливості. 

По СЕРЕДОВИЩУ ІСНУВАННЯ віруси можна розділити на: 

файлові; 

завантажувальні; 

макро; 

мережні. 

Файлові віруси або різні способи впроваджуються у виконувані файли (найбільш розповсюджений тип вірусів), або створюють файли-двійники (компаньйони-віруси), або використовують особливості організації файлової системи (link-віруси).

Завантажувальні віруси записують себе або в завантажувальний сектор диска (boot-сектор), або в сектор, що містить системний завантажник вінчестера (Master Boot Record), або змінюють покажчик на активний boot-сектор.

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

Мережні віруси використовують для свого поширення чи протоколи команди комп'ютерних мереж і електронної пошти.

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

Операційна СИСТЕМА, що заражається, (вірніше, ОС, об'єкти якої піддані зараженню) є другим рівнем розподілу вірусів на класи. Кожен файловий чи мережний вірус заражає файли який-небудь однієї чи декількох OS - DOS, Windows, Win95/NT, OS/2 і т.д. Макро-віруси заражають файли форматів Word, Excel, Office97. Завантажувальні віруси також орієнтовані на конкретні формати розташування системних даних у завантажувальних секторах дисків.

Серед ОСОБЛИВОСТЕЙ АЛГОРИТМУ РОБОТИ вірусів виділяються наступні пункти: 

резидентність; 

використання стелс-алгоритмів; 

самошифрування і поліморфічность; 

використання нестандартних прийомів. 

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

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

У багатозадачних операційних системах час «життя» резидентного DOS-вірусу також може бути обмежено моментом закриття зараженого DOS-вікна, а активність завантажувальних вірусів у деяких операційних системах обмежується моментом інсталяції дискових драйверів OC.

Використання Стелс-алгоритмів дозволяє вірусам чи цілком частково сховати себе в системі. Найбільш розповсюдженим стелс-алгоритмом є перехоплення запитів OC на читання/запис заражених об'єктів. Стелс-віруси при цьому або тимчасово лікують їх, або «підставляють» замість себе незаражені ділянки інформації. У випадку макро-вірусов найбільш популярний спосіб — заборона викликів меню перегляду макросів. Один з перших файлових стелс-вірусов — вірус «Frodo», перший завантажувальний стелс-вірус — «Brain».

САМОШИФРУВАННЯ і ПОЛіМОРФіЧНіСТЬ використовуються практично всіма типами вірусів для того, щоб максимально ускладнити процедуру виявлення вірусу. Полиморфик-віруси (polymorphic) - це досить важковиявлені віруси, що не мають сигнатур, тобто не утримуючі жодного постійної ділянки коду. У більшості випадків два зразки того самого поліморфік-віруса не будуть мати жодного збігу. Це досягається шифруванням основного тіла вірусу і модифікаціями програми-розшифровувача.

Різні НЕСТАНДАРТНІ ПРИЙОМИ часто використовуються у вірусах для того, щоб якнайглибше сховати себе в ядрі OC (як це робить вірус «3APA3A»), захистити від виявлення свою резидентну копію (віруси «TPVO», «Trout2»), утруднити лікування від вірусу (наприклад, помістивши свою копію в Flash-BIOS) і т.д.

По ДЕСТРУКТИВНИХ МОЖЛИВОСТЯХ віруси можна розділити на: 

нешкідливі, тобто ніяк що не впливають на роботу комп'ютера (крім зменшення вільної пам'яті на диску в результаті свого поширення); 

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

небезпечні віруси, що можуть привести до серйозних збоїв у роботі комп'ютера; 

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

Але навіть якщо в алгоритмі вірусу не знайдено галузей, що наносять збиток системі, цей вірус не можна з повною впевненістю назвати нешкідливим, тому що проникнення його в комп'ютер може викликати непередбачені і часом катастрофічні наслідки. Адже вірус, як і всяка програма, має помилки, у результаті яких можуть бути зіпсовані як файли, так і сектора дисків (наприклад, цілком необразливий на перший погляд вірус «DenZuk» досить коректно працює з 360K дискетами, але може знищити інформацію на дискетах більшого обсягу). Дотепер потрапляються віруси, що визначають «COM чи EXE» не по внутрішньому форматі файлу, а по його розширенню. Природно, що при розбіжності формату і розширення імені файл після зараження виявляється непрацездатним. Можливо також «заклинювання» резидентного вірусу і системи при використанні нових версій DOS, при роботі в Windows чи з іншими могутніми програмними системами. І так далі.











2