Комп’ютерні віруси і проблеми антивірусного захисту

VirusІснує багато визначень комп’ютерного вірусу. Історично перше визначення було дано в 1984 р Фредом Коеном: «Комп’ютерний вірус – це програма, яка може заражати інші програми, модифікуючи їх допомогою включення в них своєї, можливо зміненої копії, причому остання зберігає здатність до подальшого розмноження». Ключовими поняттями в цьому визначенні є здатність вірусу до саморозмноження й здатність до модифікації обчислювального процесу. Зазначені властивості комп’ютерного вірусу аналогічні паразитування біологічного вірусу в живій природі. З тих пір гострота проблеми вірусів багаторазово зросла – до кінця XX ст. в світі налічувалося понад 14 300 модифікацій вірусів.

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

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

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

На сьогоднішній день відомі десятки тисяч різних комп’ютерних вірусів. Незважаючи на такий достаток, число типів вірусів, що відрізняються один від одного механізмом розповсюдження і принципом дії, досить обмежена. Існують і комбіновані віруси, які можна віднести одночасно до декількох типів. Віруси можна розділити на класи:
• по середовищі існування;
• операційній системі (ОС);
• особливостями алгоритму роботи;
• деструктивним можливостям.

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

За середовищі існування комп’ютерні віруси можна розділити:
• на файлові;
• завантажувальні;
• макровіруси;
• мережеві.

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

Завантажувальні віруси записують себе або в завантажувальний сектор диска (boot-сектор), або в сектор, що містить системний завантажувач вінчестера (MasterBoot Record). Завантажувальні віруси заміщають код програми, що одержує управління при завантаженні системи. В результаті при перезавантаженні управління передається вірусу. При цьому оригінальний boot-сектор звичайно переноситься в який-небудь інший сектор диска. Іноді завантажувальні віруси називаютбутовимі вірусами.

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

Мережеві віруси використовують для свого поширення протоколи або команди комп’ютерних мереж і електронної пошти. Іноді мережеві віруси називають програмами типу «хробак». Мережеві черв’яки підрозділяються на Internet-черв’яки (поширюються по Internet), LAN-черв’яки (поширюються по локальній мережі), IRC-черв’яки Internet Relay Chat (поширюються через чати). Існують також змішані типи, які поєднують в собі відразу декілька технологій.

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

Іншою ознакою поділу комп’ютерних вірусів на класи є операційна система, об’єкти якої піддаються зараженню. Кожен файловий чи мережний вірус заражає файли який-небудь однієї або декількох ОС – DOS, Windows 95/98, Windows NT / 2000 і т. Д. Макро-віруси заражають файли форматів Word, Excel, Microsoft Office. На певні формати розташування системних даних у завантажувальних секторах дисків також орієнтовані завантажувальні віруси.

Природно, ці схеми класифікації не є єдино можливими, існують багато різних схем типізації вірусів. Однак обмежимося поки класифікацією комп’ютерних вірусів по середовищі існування, оскільки вона є базовою, і перейдемо до розгляду загальних принципів функціонування вірусів. Аналіз основних етапів «життєвого циклу» цих шкідливих програм дозволяє виділити їх різні ознаки і особливості, які можуть бути покладені в основу додаткових класифікацій.

Життєвий цикл вірусів

Як і у будь-якої програми, у комп’ютерних вірусів можна виділити дві основні стадії життєвого циклу – зберігання і виконання.

Стадія зберігання відповідає періоду, коли вірус просто зберігається на диску спільно з об’єктом, в який він впроваджений. На цій стадії вірус є найбільш вразливим з боку антивірусного ПЗ, так як він не активний і не може контролювати роботу ОС з метою самозахисту.

Деякі віруси на цій стадії використовують механізми захисту свого коду від виявлення. Найбільш поширеним способом захисту є шифрування більшої частини тіла вірусу. Його використання спільно з механізмами мутації коду (про це йдеться нижче) унеможливлює виділення сигнатур – стійких характеристичних фрагментів коду вірусів.

Стадія виконання комп’ютерних вірусів, як правило, включає п’ять етапів:
1) завантаження вірусу в пам’ять;
2) пошук жертви;
3) зараження знайденої жертви;
4) виконання деструктивних функцій;
5) передача управління програмою-носію вірусу. Розглянемо ці етапи докладніше.

Завантаження вірусу. Завантаження вірусу в пам’ять здійснюється ОС одночасно із завантаженням виконуваного об’єкта, в який вірус впроваджений. Наприклад, якщо користувач запустив на виконання програмний файл, що містить вірус, то, очевидно, вірусний код буде завантажений в пам’ять як частина цього файлу. У найпростішому випадку процес завантаження вірусу являє собою не що інше, як копіювання з диска в оперативну пам’ять, супроводжуване іноді налаштуванням адрес, після чого відбувається передача керування кодом тіла вірусу. Ці дії виконуються ОС, а сам вірус знаходиться в пасивному стані. У більш складних ситуаціях вірус може після отримання управління виконувати додаткові дії, які необхідні для його функціонування. У зв’язку з цим розглядаються два аспекти.

Перший аспект пов’язаний з максимальним ускладненням процедури виявлення вірусів. Для забезпечення захисту на стадії зберігання деякі віруси використовують досить складні алгоритми. До таких ускладнень можна віднести шифрування основного тіла вірусу. Однак використання тільки шифрування є півзаходом, так як у відкритому вигляді повинна зберігатися та частина вірусу, яка забезпечує расшифрование вірусу на стадії завантаження. Для уникнення подібної ситуації розробники вірусів використовують механізми «мутацій» коду расшифровщика. Суть цього методу полягає в тому, що при впровадженні в об’єкт копії вірусу частина її коду, що відноситься до расшифровщика, модифікується так, щоб виникли текстуальні відмінності з оригіналом, але результати роботи залишилися незмінними. Зазвичай застосовують такі прийоми модифікації коду:
• зміна порядку незалежних інструкцій;
• заміну деяких інструкцій на еквівалентні за результатом роботи;
• заміну використовуваних в інструкціях регістрів на інші;
• запровадження випадковим чином зашумлять інструкцій.

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

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

Додаткові дії, які виконують поліморфні віруси на етапі завантаження, полягають у розшифровуванні основного тіла вірусу.

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

Стелс-віруси (Stealth) здатні приховувати свою присутність в системі і уникати виявлення антивірусними програмами. Ці віруси можуть перехоплювати запити ОС на читання / запис заражених файлів, при цьому вони або тимчасово лікують ці файли, або «підставляють» замість себе незаражені ділянки інформації, емулюючи «чистоту» заражених файлів.

У разі макровірусів найбільш популярним способом є заборона викликів меню перегляду макросів. Одним з перших файлових стелс-вірусів був вірус «Frodo», першим завантажувальним стелс-вірусом був вірус «Brain».

Нерідко у вірусах використовуються різні нестандартні прийоми з метою глибше сховатися в ядрі ОС, або захистити від виявлення свою резидентну копію, або утруднити лікування від вірусу і т. П.

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

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

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

Нерезидентні віруси не заражають пам’ять комп’ютера і зберігають активність обмежений час. Деякі віруси залишають в оперативній пам’яті невеликі резидентні програми, які не поширюють вірус. Такі віруси вважаються нерезидентними.

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

Пошук жертви. По способу пошуку жертви віруси можна розділити два два класи.

До першого класу відносяться віруси, що здійснюють «активний» пошук з використанням функцій ОС. Прикладом є файлові віруси, що використовують механізм пошуку виконуваних файлів в поточному каталозі.

Другий клас складають віруси, які реалізують «пасивний» механізм пошуку, т. Е. Віруси, що розставляють «пастки» дпя програмних файлів. Як правило, файлові віруси влаштовують такі пастки шляхом перехоплення функції Exec ОС, а макровіруси – за допомогою перехоплення команд типу Save as з меню File.

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

Особливості зараження файловими вірусами. За способом інфікування жертви віруси можна розділити на два класи.

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

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

Впровадження в початок файлу. Цей спосіб є найбільш зручним для СОМ-файлів MS-DOS, так як даний формат не передбачає наявність службових заголовків. При впровадженні цим способом віруси можуть або виробляти конкатенацію власного коду та коду програми-жертви, або переписувати початковий фрагмент файлу в кінець, звільняючи місце для себе.

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

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

Особливості зараження завантажувальними вірусами визначаються особливостями об’єктів, в які вони впроваджуються, – завантажувальними секторами гнучких і жорстких дисків і головного завантажувального (MBR) жорстких дисків. Основною проблемою є обмежений розмір цих об’єктів. У зв’язку з цим вірусам необхідно зберегти на диску ту свою частку, яка не вмістилася на місці жертви, а також перенести оригінальний код інфікованого завантажувача. Існують різні способи вирішення цієї задачі. Нижче наводиться класифікація, запропонована Е. Касперського.

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

Використовуються рідко застосовуються сектори в кінці розділу. Вірус переносить необхідний код в ці вільні сектори в кінці диска. З точки зору ОС ці сектори виглядають як вільні.

Використовуються зарезервовані області розділів. Вірус переносить необхідний код в області диска, зарезервовані під потреби ОС, а тому невикористовувані.

Короткі віруси можуть вміститися в один сектор завантажувача і повністю взяти на себе функції MBR або завантажувального сектора.

Особливості зараження макровірусами. Процес зараження зводиться до збереження вірусного макрокода в обраному документі-жертві. Для деяких систем обробки інформації це зробити не просто, так як формат файлів документів може не передбачати можливість збереження макропрограми. Як приклад наведемо Microsoft Word 6.0. Збереження макрокода для цієї системи можливо тільки в файлах шаблонів (що мають за замовчуванням розширення .DOT). Тому для свого збереження вірус повинен контролювати обробку команди Save as з меню File, яка викликається щоразу, коли відбувається перше збереження документа на диск. Цей контроль необхідний, щоб в момент збереження змінити тип файлу-документа (що має за замовчуванням розширення .DOC) на тип файлу-шаблону. У цьому випадку на диску опиняться і макрокод вірусу, і вміст документа.

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

Виконання деструктивних функцій. Віруси можуть виконувати крім самокопірованія деструктивні функції.

За деструктивним можливостям віруси можна розділити на нешкідливі, безпечні, небезпечні і дуже небезпечні.

Нешкідливі віруси – це віруси, у яких реалізований тільки механізм самораспространения. Вони не завдають шкоди системі, за винятком витрат вільної пам’яті на диску в результаті свого поширення.

Безпечні віруси – це віруси, присутність яких в системі пов’язано з різними ефектами (звуковими, відео) і зменшенням вільної пам’яті на диску, але які не завдають шкоди програм і даних.

Небезпечні віруси – це віруси, які можуть привести до серйозних збоїв у роботі комп’ютера. Наслідком збою може стати руйнування програм і даних.

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

На «ступінь небезпеки» вірусів робить істотний вплив те середовище, під управлінням якої віруси працюють.

Так, віруси, створені для роботи в MS-DOS, мають практично необмежені потенційними можливостями.

Поширення вірусів під управлінням Windows NT / 2000 обмежується розвиненою системою розмежування доступу.

Можливості макровірусів безпосередньо визначаються можливостями макромов, на яких вони написані. Зокрема, мова Word Basic дозволяє створити потужні макровіруси, здатні доставити користувачам серйозні неприємності.

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

Передача управління програмою-носію віруса. Тут слід вказати на розподіл вірусів на руйнують і неруйнівні.

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

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

Шкідливі програми інших типів.

Крім вірусів прийнято виділяти ще кілька видів шкідливих програм. Це троянські програми, логічні бомби, хакерські утиліти прихованого адміністрування віддалених комп’ютерів, програми, що крадуть паролі доступу до ресурсів Інтернет та іншу конфіденційну інформацію. Чіткого поділу між ними не існує: троянські програми можуть містити віруси, в віруси можуть бути вбудовані логічні бомби і т. Д.

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

Логічною бомбою називається програма або її окремі модулі, які за певних умов виконують шкідливі дії. Логічна бомба може, наприклад, спрацювати по досягненні певної дати або тоді, коли в БД з’явиться або зникне запис, і т. П. Така бомба може бути вбудована в віруси, троянські програми і навіть у звичайні програми.

Компанія «Сучасні системи безпеки бізнесу» активно впроваджує передові технології в сфери безпеки бізнесу та технічного захисту інформації. Основними напрямками нашої діяльності є: пошук закладних пристроїв (захист від прослуховування, прихованих камер і т.д.); проектування, монтаж і обслуговування систем безпеки бізнесу: відеоспостереження; контроль доступу; облік робочого часу; охоронна і пожежна сигналізаціявимірювання тепловтрат приміщень та рекомендації щодо теплоізоляції; вимірювання радіоактивного фону в приміщеннях і на територіях. Дзвоніть нам за вказаним номером телефону і ми відповімо на всі Ваші запитання:

(044) 227-90-21

(096) 875-77-51

(099) 448-83-83

Добавить комментарий

%d такие блоггеры, как: