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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Файлові віруси (англ. File infectors) — тип комп'ютерних вірусів, що розмножуються використовуючи файлову систему шляхом запису свого коду в код виконуваного файлу конкретної операційної системи. До потенційно інфікованих типів файлів належать бінарні файли .exe та .com; файли динамічних бібліотек .dll; драйвери .sys; командні файли .bat, .cmd тощо.[1][2]

Окремо слід зазначити інші види вірусів, що розповсюджуються файловою системою за допомогою файлів інших типів (офісні, пакетні, тощо). Зокрема, до таких можна віднести макровіруси.[3]

Окремі різновиди файлових вірусів можна розглядати як трояни (троянські програми, Trojans), тобто таке шкідливе ПЗ, що запускається користувачем без примусу, оскільки уражений вірусом файл може мати цілком нешкідливу природу.[4]

Історія[ред. | ред. код]

Файлові віруси — історично один з перших різновидів шкідливого програмного забезпечення, що отримав найбільшу популярність в часи MS DOS, до 2000 року. Найпоширенішим способом розповсюдження було елементарне перенесення уражених файлів на носіях — дискетах.

Одним з перших файлових вірусів можна вважати Cascade, написаний у 1988 році мовою Ассемблеру. Отримав значне поширення у кінці 80-х — початку 90-х років XX ст. Вірус отримав широке поширення та став однією з причин розробки компанією IBM власного антивірусу.[5]

На момент другого десятиліття XXI ст. файлові віруси майже не використовуються. Однією з причин такого падіння популярності є зміни основних мотивів авторів вірусів — якщо до 2000-х років віруси, переважно, були лише способом задовольнити інтерес ентузіастів-програмістів, то після цього періоду вони перетворилися на інструмент кіберзлочинців та зброю кібервійни. Оскільки файлові віруси не мають такого уражаючого ефекту як мережеві хробаки та криптовіруси, а сучасні антивіруси, здебільшого, здатні доволі ефективно виявляти їх активність, присутність файлових вірусів у кіберпросторі спадає з кожним роком.[6]

Опис[ред. | ред. код]

Вірус може записати свій код у початок, середину, або кінець виконуваного файлу. Так, наприклад, найбільш розповсюдженим способом ураження виконуваних файлів ОС MS DOS є запис виконуваного коду вірусу у кінець файлу.[7] Способи ураження для ОС Windows та Unix-подібних — аналогічні: часто вірус записується у невикористовані частини коду програми, тобто порожні простори (між заголовками та розділами, «хвости» секцій, тощо), а також в додаткові секції. Деякі більш примітивні або деструктивні різновиди можуть повністю перезаписувати код файлу.

Структура уражених файлів різних типів

Важливим атрибутом є механізм переходу на код вірусу, що перериває виконання попереднього коду програми та розпочинає безпосереднє виконання шкідливого коду. До таких механізмів можна віднести асемблерну інструкцію JMP (goto у високорівневих мовах програмування), встановлену в початкових розділах виконуваного файлу.[8]

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

Стандартний сценарій атаки[ред. | ред. код]

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

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

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

Після завершення своїх дій вірус повертає керування базовому процесу.[9][10]

Механізми та цілі ураження[ред. | ред. код]

  • Ураження одразу всіх виконуваних файлів системи, до яких вірус може отримати доступ. Найчастіше такий сценарій поведінки призводить до виведення операційної системи з ладу та аварійного завершення роботи із втратою подальшої працездатності. Такий шаблон поведінки є характерним для примітивних вірусів з простими алгоритмами функціонування, або вірусів, метою яких є елементарне виведення системи з ладу та нанесення найбільшої можливої шкоди.
  • Ураження лише деякої множини виконуваних файлів на певних логічних дисках. Такий механізм передбачає вибіркову інфекцію файлів системи — наприклад, лише виконувані файли операційної системи, або лише динамічні бібліотеки, тощо. Окремо слід зазначити потенціальну спрямованість на ураження виконуваних файлів на переносних носіях — файли Autorun USB-накопичувачів можуть мати високий пріоритет для ураженнями вірусом, оскільки гарантують подальше його поширення.[11]
  • Поліморфне ураження. Може бути комбінованим із попередніми двома групами. Вірус такого типу може уражати інші файли не абсолютно тим самим алгоритмом, яким було створено його екземпляр, а дещо модифікованим — зміни можуть бути лише «косметичні», тобто такі, що ніяк не змінюють алгоритму роботи нового екземпляра вірусу — може бути змінена точка входу в процедуру вірусу, можуть бути змінені його нефункціональні маскувальні елементи, тощо. Може використовуватися механізм розповсюдження поліморфних вірусів — шифрування коду. Коректно створений механізм поліморфного файлового вірусу може ефективно його маскувати від сигнатурного пошуку антивірусами.[12]

Демаскуючі ознаки[ред. | ред. код]

  • Хеш-сума. Інфікована файловим вірусом програма має змінену внутрішню структуру, відмінну від оригіналу. Хеш-суми оригіналу та інфікованого екземпляру в будь-якому випадку будуть різні.
  • Об'єм файлу. В загальному випадку буде відрізнятися від оригінального, однак на практиці значна частина вірусів впроваджують свій код в порожній простір програми (наприклад, фрагменти між заголовками та секціями, або ж у порожніх хвостах секцій), таким чином початковий об'єм може не змінюватись.
  • Нестандартна поведінка та небажана активність — після інфекції, програма, скоріш за все, перестане функціонувати належним чином, з'являться паузи в роботі в характерних моментах виконання, вірогідне повне припинення функціонування. Однак значна частина файлових вірусів не залишає таких слідів, або залишає їх непомітними для користувача.[13]
  • Дата та час останньої модифікації файлу — в загальному випадку будуть змінені в момент інфекції. Ця демаскуюча ознака дозволяє доволі точно визначити присутність вірусу в системі та ураження ним певного файлу, однак більшість сучасних файлових вірусів в своєму стандартному алгоритмі розповсюдження мають інструкцію із зміни дати модифікації на попередню, яка була до їх втручання.

Окремі файлові віруси[ред. | ред. код]

Cascade[ред. | ред. код]

Робота вірусу Cascade

Один із перших файлових вірусів в історії, написаний мовою Ассемблеру. Згідно із даними, отриманими із оригінального коду, був призначений до запуску у період між 01.10.1988 та 31.12.1988. Поширювався у цей період, а також на початку 90-х років 20 сторіччя. Основною ціллю ураження вірусом Cascade були виконувані файли MS DOS .com, в код яких він впроваджувався. Характерною ознакою Cascade стало використання алгоритму шифрування для маскування свого розповсюдження. Після запуску інфікованого файлу текстові рядки у терміналі користувача «розвалювалися» на символи та «падали» в нижню частину екрану, утворюючи «купи» символів. Цікавий факт полягає у тому, що згідно із кодом оригіналу, вірус не мав бути виконаним на комп'ютерах IBM, однак на практиці на останніх він все ж виконувався. Cascade отримав значну кількість модифікацій, таких як Cascade-17Y4, YAP, Jo-Jo, Formiche, Cascade.1701.K, кожна з яких мала свої певні особливості (перезапис одного і того ж файлу повторно, більші об'єми, тощо), але, тим не менш, сутність оригінального вірусу зберігалася. Cascade не наносив серйозної шкоди комп'ютерним системам, однак спровокував розвиток антивірусних продуктів, зокрема розробку антивірусу IBM.[14]

Sality[ред. | ред. код]

Sality (інші назви — SalLoad, Kookoo, SaliCode, Kukacka) — одне із найбільш відомих сімейств шкідливого програмного забезпечення. Вперше був виявлений у 2003 році. Sality належить до поліморфних файлових вірусів, що уражає виконувані файли Windows. Для свого розповсюдження використовує затінення вхідної точки та методи поліморфних вірусів. Маскує свою діяльність за допомогою шифрування коду, загальний механізм роботи можна описати наступним чином: не змінює адресу вхідної точки батьківської програми, однак змінює вхідний код оригінальної програми на перенаправлення на поліморфний вірусний код, записаний у кінці оригінального файлу, що розшифровує основну процедуру вірусу та запускає її у потоці батьківського процесу. Остання може виконувати доставку корисного навантаження.

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

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

На момент 2012 року Sality залишалався актуальною загрозою у кіберпросторі.[16]

Virut[ред. | ред. код]

Virut — відомий кіберзлочинний ботнет, створений на основі однойменного шкідливого ПЗ. Використовувався задля виконання DDoS атак, спам-розсилок, викрадення інформації, тощо. Virut поширювався у формі файлового вірусу, здебільшого на USB носіях, пізніше — через інфіковані веб-сторінки. Країною походження вірусу є Польща, в 2013 році польський регістратор домену верхнього рівня .pl NASK виконав операцію з перехоплення доменних імен, за якими були зареєстровані сервери керування ботнетом virut, після чого активність останнього перестала реєструватися, однак, можливо, частина керуючих серверів залишилася активною у Россійській Федерації, у доменній зоні .ru.[17]

Лабораторія Symantec у своїй класифікації відносить Virut до мережевих хробаків, відповідно до моделі розмноження. Середовищем розповсюдження вірусу є операційні системи Windows, а цільовими файлами є виконувані файли .exe та .scr, а також веб-скрипти та документи .php, .asp, .html. Зараження відбувається за принципами поліморфних вірусів із маскуванням вхідної точки. Особливістю цього екземпляру файлових вірусів є жорстке ураження виконачих файлів, після якого коректне функціонування програми здебільшого не є можливим. Основним способом поширення є запис у файли на переносних носіях інформації та у мережах передачі файлів. Після ураження, вірус створює у системі бекдор із шифрованим каналом з'єднання з використанням IRC, надаючи координаторам атаки доступ до інфікованої машини.[18]

Див. також[ред. | ред. код]

Література[ред. | ред. код]

  • Климентьев К. Е. Компьютерные вирусы и антивирусы: взгляд программиста. — М.: ДМК-Пресс, 2013. С. 656. ISBN 978-5-94074-885-4
  • Касперски К. Записки исследователя компьютерных вирусов. — СПб.: Питер, 2005. С. 316. ISBN 5-469-00331-0
  • Rick L. Deborah R. Gangemi G. Computer security basics. — Sebastopol, CA: O'Reilly & Associates, ©2006. ISBN 0596006691

Примітки[ред. | ред. код]

  1. Компьютерные вирусы. Файловые вирусы. bibliotekar.ru. Процитовано 2018-04-07. 
  2. Файловые вирусы - ЧУМА КОМПЬЮТЕРНОГО ВЕКА. sites.google.com. Процитовано 2018-04-07. 
  3. Макровирусы - ЧУМА КОМПЬЮТЕРНОГО ВЕКА. sites.google.com. Процитовано 2018-04-07. 
  4. Rick., Lehtinen,; T., Gangemi, G.; Deborah., Russell, (2006). Computer security basics (вид. 2nd ed). Sebastopol, CA: O'Reilly & Associates. ISBN 0596006691. OCLC 70219222. 
  5. Cascade Description | F-Secure Labs. www.f-secure.com (en). Процитовано 2018-04-07. 
  6. Kric., Kasperski, (2006). Zapiski issledovateli︠a︡ kompʹi︠u︡ternykh virusov. Moskva [Russia]: Piter. ISBN 5469003310. OCLC 70916777. 
  7. What is file infecting virus? Webopedia Definition. www.webopedia.com (en). Процитовано 2018-04-07. 
  8. бЯЕ ОПН бхпсяш. broil.narod.ru. Процитовано 2018-04-07. 
  9. Файловые вирусы - Компьютерные вирусы. sites.google.com. Процитовано 2018-04-07. 
  10. File Infectors. www.spamlaws.com. Процитовано 2018-04-07. 
  11. File infectors - part 2. Процитовано 2018-04-07. 
  12. What is polymorphic virus? - Definition from WhatIs.com. SearchSecurity (en-US). Процитовано 2018-04-07. 
  13. How to Detect and Remove a File Infector Virus? - COMBOFIX. COMBOFIX (en-US). 2012-02-05. Процитовано 2018-04-07. 
  14. Cascade Description | F-Secure Labs. www.f-secure.com (en). Процитовано 2018-04-07. 
  15. Win32/Sality threat description - Windows Defender Security Intelligence. www.microsoft.com (en-us). Процитовано 2018-04-07. 
  16. Что вы знаете о Sality? (ru-RU). Процитовано 2018-04-07. 
  17. Polish Takedown Targets ‘Virut’ Botnet — Krebs on Security. krebsonsecurity.com (en-US). Процитовано 2018-04-07. 
  18. W32.Virut | Symantec. www.symantec.com (en). Процитовано 2018-04-07.