Лекція №3. „Поняття про комп’ютерні віруси. Їх класифікація. Класифікація антивірусних програм”.

Поняття про комп’ютерні віруси. Їх класифікація.

Що ж це за явище - "комп'ютерний вірус" (в подальшому - вірус)? Це програма, створена людиною. Жоден вірус, що "працює" на ПК, не може виникнути ні з чого. Він створюється програмістами. Вірус може знаходитись не лише у файлі, з яким переважно асоціюється поняття програми - це може бути просто сукупність машинного коду, що поширюється по комп'ютерній мережі. Але, все ж таки, у всіх випадках цей код створений людиною.

Причин створення вірусів дуже багато. Для декого віруси є їхнім бізнесом. До того ж, не тільки для авторів, але й для тих, хто з цими вірусами бореться. Для інших - це хобі. Хобі збирання вірусних колекцій і хобі написання вірусів. З останнього, до речі, починав відомий програміст, що займається саме боротьбою з вірусами - Ігор Данилов. Для третіх - створення вірусів - просто спосіб показати свій успіх і незалежність оскільки в певних колах подібна діяльність просто необхідна для підняття престижу. Ще для когось віруси покликання, адже бувають лікарі за покликанням, отож, може бути І комп'ютерний лікар за покликання. Для декого віруси служать приводом пофілософствувати на теми виникнення і розвитку "комп'ютерного життя". Віруси - це навіть стаття Кримінального кодексу.

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

Вірус - це програма, хоча деякі початківці до цього часу про це не знають. І, очевидно, що шкодити вона може лише програмне, але ніяк не апаратно. Страшні казки про віруси, які вбивають і позбавляють розуму користувачів за допомогою виведення на екран смертельної кольорової гами, були і залишаються тільки казками. Так само вірус не може пошкодити жодного пристрою ПК. Отже, не потрібно при виході із ладу певного вузла ПК шукати причину у вірусах. Не існувало, не існує і не з'явиться такий вірус, який би фізично пошкодив апаратну частину ПК. Про це потрібно завжди пам'ятати. Єдина непряма шкода, яку може завдати вірус апаратній частині ПК - перепрограмувати BIOS. Наприклад, вірус Win95.CIH (відомий також під назвою "Чорнобиль", завдяки високій активізації своєї діяльності 26 квітня, в день аварії на ЧАЕС), що в кінці 90-х років приніс справжню епідемію в комп'ютерний світ.

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

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

Отже можна сформулювати визначення.

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

Перші комп'ютерні віруси з'явились на початку 80-х років. Поняття "комп'ютерний вірус" вперше ввів відомий англійський програміст Фред Коуен. Цей термін прозвучав у вересні 1984 році на конференції безпеки інформації, яка проходила в США. Він провів ряд експериментів на системі VAX11/750, що працювала під ОС Unix. Вірус був імплантований на початок утиліти VD і протягом ЗО хвилин йому надавались права "суперюзера". В експерименті вірус проявив надзвичайно високий ступінь розмноження (півсекунди на одне зараження).

Хоча, потрібно відмітити, що ідея саморозмноження своїм корінням сягає в далекі 50-ті роки. Її досліджував ще в 1951 році один із засновників теоретичних принципів ЕОМ Джон фон Нейман. Вже в 60-ті роки створено гру, в якій декілька асемблерних програм, що мали назву "організми", завантажувались в пам'ять ЕОМ і повинні були знищувати "організми" супротивника. Переможцем вважався той учасник, "організми" якого захоплювали всю пам'ять.

Іншим прикладом вірусоподібних програм була гра Animal, розроблена для ЕОМ Univac 1108. Ця гра намагалась вгадати тварину, яку загадав користувач. Якщо відгадка була правильною, то вона робила собі нову "покращену" копію в іншому каталозі. Причому, якщо в каталозі вже були файли гри, то вони знищувались. З часом всі каталоги файлової системи містили гру Animal. Більше того, якщо користувач переходив з машини на машину, то переносив туди свій каталог разом із грою. В результаті вона розмножувалась на інші машини.

На початку 80-х з'являється перший завантажувальний вірус для ПЕОМ Apple II, що мав назву Elk Cloner. А в 1982 році програмісти дослідницького центру Xerox розробили перший в історії мережевий вірус "черв'як" і провели над ним ряд експерементів.

Перші, офіціно зареєстровані, комп'ютерні віруси з'явились в 1986, а перша епідемія, що охопила декілька тисяч комп'ютерів, зареєстрована в 1988 році.

Кількість комп'ютерних вірусів збільшується з кожним роком. В 1990 році було відомо близько 500 вірусів, в 1992 - 1500, в 1994 - 4000, в 1996 - 8000, 1998 - 15000, 2000 - 40000, на кінець 2001 –близько 60000. На цьому розвиток вірусів не зупиняється.

Ситуація з вірусами суттєво змінилася кілька років тому. Якщо до того часу кожен турбувався про безпеку власного комп'ютера і власних даних, то із збільшенням кількості машин, з появою корпоративних мереж, із поширенням Internet проблема набула нових характеристик. Раніше віруси проникали на робочі місця хіба що з неліцензованим програмним забезпеченням, або з комп'ютерними іграми. Зараз шляхи розповсюдження вірусів значно розширились. З'явилось поняття макровірусу, тобто вірусу, що розповсюджується через макроси написані для таких програм як Word і Excel (поняття про макроси буде розглянуте пізніше).

При достатньо активному документообороті, як із зарубіжними партнерами, так і всередині країни, макровіруси здатні повністю паралізувати роботу великої компанії. На Заході таке вже траплялося. Друга проблема виникла завдяки Internet. Практично немає ніякої гарантії, що на поштових або файлових серверах разом із потрібною інформацію ви не отримаєте декілька вірусів, при цьому користувач про це може і не здогадуватись. Чим більше ПК підключається до комп'ютерних мереж, тим важче контролювати розповсюдження вірусів. Відомі випадки, коли через мережу вірус паралізував за короткий час роботу тисяч ПК, швидко долаючи великі відстані між материками. Наприклад, ще на початку 1989р. вірусом, створеним американським студентом Моррісом, були заражені і виведені з ладу близько 7 тисяч комп'ютерів, в тому числі й ті, які належали міністерству оборони США. Автор вірусу був засуджений до 3-х місяців тюрми та оштрафований на 270 тис. доларів. Покарання могло бути більш суворим, але суд врахував, що вірус не зіпсував даних, а лише розмножувався.

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

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

Поки на комп'ютері заражено відносно мало програм, наявність вірусу може бути практично непомітна. Однак через деякий час починають відбуватися нетипові дії, наприклад:

деякі програми припиняють роботу, або починають працювати неправильно;

на екран виводяться сторонні повідомлення або символи і т.д.;

робота на комп'ютері суттєво сповільнюється;

деякі файли виявляються зіпсутими.

До цього моменту, як правило, вже досить багато (навіть більшість) тих програм, якими ви користуєтесь, виявляються зараженими вірусом, а деякі файли та диски - зіпсутими. Більше того, зараженими за допомогою дискет або по локальній чи глобальній мережі виявляються цілий ряд комп'ютерів з якими "спілкувався" даний ПК.

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

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

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

Види файлів, які можуть бути заражені вірусом:

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

файли документів та шаблонів, створених програмами Word, Excel, Access та іншими офісними програмами, а точніше макроси, що використовуються там. Цей тип вірусів порівняно молодий і називають його макровірусами. Деякі з вірусів цього типу є надзвичайно шкідливими. Наприклад вірус W97M.Тhus при активізації 13 грудня здатний знищити всі файли на диску С, зберігаючи при цьому структуру папок.

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

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

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

системні файли, тобто файли IO.SYS і MSDOS.SYS. Це досить небезпечно, оскільки вони, як і у випадку зараження блоків початкового завантаження дисків, починають діяти при кожному завантаженні ПК.

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

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

I. Поділ вірусів за середовищем їх розповсюдження:

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

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

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

Віруси сімейства Dirвикористовують інформацію про файлову структуру та вміст каталогів.

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

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

II. Класифікація комп'ютерних вірусів за алгоритмом роботи:

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

Віруси супутникистворюють копію exe-файлу з розширенням com і записують туди себе. Коли з командного рядка DOS завантажують такий файл, то як правило розширення не вказують, а за правилами DOS, першим завантажується com файл, тобто вірус;

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

Студентські віруси- це віруси, які мають в собі багато помилок і написані, як правило, початківцями;

Віруси "невидимки"фальсифікують інформацію, перехоплюючи звертання антивірусної програми, до заражених ділянок диску і направляючи її на незаражені. Вірус перехоплює сектор переривання int 13h. Ця технологія використовується, як у файлових, так і в завантажувальних вірусах;

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

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

"Троянські" віруси здійснюють шкідливі дії замість оголошених легальних функцій або разом з ними. Вони переважно не здатні на саморозповсюдження і передаються тільки при копіюванні користувачем. Часто ці віруси використовують в якості "шпигунів". Проникаючи по мережі на ПК, вони стараються "затаїтись" і "вкрасти" паролі користувача (особливо виходу в Internet) і передати їх господарю. Деякі троянські віруси готують грунт на зараженому ними ПК для проникнення без перешкод інших вірусів, що слідують за ними. Боротись з такими вірусами (особливо новими) досить важко, адже в їх коді немає ніякої диструктивної дії (не міняється розмір інших файлів, не форматуються диски), а навпаки вони стараються ніяк себе не проявити. Для боротьби з такими вірусами використовуються спеціальні програми FireWoll (файрволл) - мережеві екрани, які під час підключення до мережі слідкують чи не пробує якась програма на ПК вийти в Internet. Якщо така спроба відбулась, то вона блокується і виводиться повідомлення із запитом дозволу на таку операцію. Корисною функцією файрволл є те, що він може захистити не лише від троянських вірусів, але й від хакерських атак із зовні (з Internet). Потрібно відмітити, що існує багато відомих троянських вірусів, які не лише виступають в ролі "шпигунів" але й самі несуть досить високу деструктивну дію (наприклад TROJ_ZERAF знищує ЕХЕ і SYS файли та робить помилки в системному реєстрі);

Віруси таймериочікують лише певного часу (певної години, дня і т.д.), І лише тоді спрацьовують.

III. Поділ вірусів за деструктивною дією:

Нешкідливі віруси- це віруси, які не приносять жодної шкоди, а просто себе копіюють багато разів, заповнюючи диски, або загромаджуючи оперативну пам'ять;

Не небезпечні вірусисхожі до попередніх, але крім цього їх дія супроводжується різними спецефектами (відео та звуковими);

Небезпечні віруси- це віруси дія яких призводить до серйозних збоїв в роботі ПК, таких як зависання комп'ютера і т.д.;

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

IV. Класифікація вірусів за принципом дії:

Резидентні- це віруси, що завантажуються в оперативну пам'ять і постійно там знаходяться, аж до виключення живлення чи перезавантаження ПК;

Нерезидентні- це віруси, які короткочасно завантажуються в пам'ять, виконують потрібні їм дії і вивантажуються з пам'яті.

V. Поділ вірусів за місцем втілення у файли: