Класифікація шкідливого ПЗ


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

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

Мережеві черв'яки

Останнім часом мережеві черв'яки, мабуть, втратили свою популярність серед вірусописьменників. Та й чи можна взагалі активістів цього «руху» назвати справжніми творцями вірусів? Я думаю, що ні. Більшість цих людей - школярі або студенти, до яких в руки тим чи іншим шляхом потрапляють конструктори троянських програм. А випадки появи по-справжньому гідних екземплярів черв'яків, які дійсно справно виконували б свої шкідливі функції, зведені до мінімуму. Взяти хоча б бюлетень безпеки Лабораторії Касперського за перше півріччя 2006 р. (див. рис. 1). З діаграми добре видно, яка з груп шкідливого ПЗ переважає. Ну да ладно, мова йде про мережевих черв'яків. Мережевий черв'як — це шкідливий програмний код, який поширює свої копії по локальних і глобальних мереж з метою проникнення на комп'ютер-жертву, запуск своєї копії на комп'ютері і подальшого розповсюдження. Для поширення черв'яки використовують електронну пошту, ISQ, P2P - і IRC-мережі, LAN, мережі обміну даними між мобільними пристроями. Більшість черв'яків поширюються у файлах (вкладення в лист, посилання на файл і т. д.). Але існують і черв'яки, що поширюються у вигляді мережевих пакетів. Такі різновиди проникають безпосередньо в пам'ять комп'ютера і відразу починають діяти резидентно. Для проникнення на комп'ютер-жертву використовуються декілька шляхів: самостійний (пакетні черви), інтерфейс (соціальний інжиніринг), а також різні прогалини в системах безпеки операційної системи і додатків. Деякі черв'яки володіють властивостями інших типів шкідливого програмного забезпечення (найчастіше це троянські програми). Тепер, мабуть, більш детально на класах мережевих черв'яків:

Поштові черв'яки (Email-Worm). Даний клас мережевих черв'яків використовують для поширення електронну пошту. При цьому черв'як відправляє жертві лист з прикріпленим тілом коду або в листі є посилання на ресурс (природно, заражений). Для відправки повідомлення хробаками використовуються наступні способи: пряме підключення до SMTP-сервера, використовуючи вбудовану в код хробака поштову бібліотеку; використання сервісів MS Outlook; використання функцій Windows MAPI.

Для пошуку адрес жертв найчастіше використовується адресна книга MS Outlook, але може використовуватися також адресна база WAB. Черв'як може просканувати файли, що зберігаються на дисках, і виділити з них рядки, які відносяться до адрес електронної пошти. Хробаки можуть надсилати свої копії за всіма адресами, виявленим у поштовій скриньці (деякі мають здатність відповідати на листи в ящику). Зустрічаються екземпляри, які можуть комбінувати способи.

Черв'яки, які використовують інтернет-пейджери (IM-Worm). Відомі комп'ютерні черв'яки даного типу використовують єдиний спосіб розповсюдження — розсилку на виявлені контакти (з контакт-листа) повідомлень, які містять URL на файл, розташований на якому-небудь веб - сервері. Даний прийом практично повністю повторює аналогічний спосіб розсилки, використовується поштовими хробаками.

Черв'яки в IRC-каналах (IRC-Worm). Черв'яки цього класу використовують два види розповсюдження: посилання URL-посилання на файл-тіло; відсилання користувачеві файлу (при цьому користувач повинен підтвердити прийом).

Хробаки для файлообмінних мереж P2P-Worm). Механізм роботи більшості подібних черв'яків досить простий: для впровадження в P2P-мережу черв'якові достатньо скопіювати себе в каталог обміну файлами, який зазвичай розташований на локальній машині. Всю іншу роботу з його поширенню P2P-мережу бере на себе — при пошуку файлів в мережі вона повідомить віддаленим користувачам про даному файлі і надає весь необхідний сервіс для скачування з зараженого комп'ютера.

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

Інші мережеві черв'яки (NET-Worm). Існують інші способи зараження віддалених комп'ютерів — наприклад: копіювання хробака на мережеві ресурси; проникнення хробака на комп'ютер через уразливості в операційних системах і додатках; проникнення в мережеві ресурси публічного використання; паразитування на інших шкідливих програм.

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

Класичні віруси

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

  • зовнішні носії інформації;
  • інтернет ресурси;
  • файли, що поширюються по мережі (LAN, Internet).

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

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

Паразитичні віруси (Parasitic). До таких відносяться всі віруси, які змінюють вміст файлу, але при цьому залишають його працездатним. Основними типами таких вірусів є віруси, які записуються в початок файлів (prepending), у кінець файлів (appending) і в середину файлів (inserting). У свою чергу, впровадження вірусів в середину файлів відбувається різноманітними методами — шляхом переносу частини файла в його кінець або копіювання свого коду в явно невикористовувані дані файла (cavity-віруси). При записуванні коду в початок файлу вірус може скористатися двома способами. Перший — це перенесення початку в кінець файлу і дописування власного коду в звільнене місце. Другий — дописування коду файлу до свого коду. В обох випадках при запуску файлу управління отримує вірус, а потім, щоб уникнути підозр управління передається назад файлу-жертві. При впровадженні коду вірусу в кінець файлу використовується спосіб дописування. Код вірусу дописується в кінець файлу - жертви, при цьому головна частина файлу змінюється таким чином, що управління, знову ж таки, першим отримує вірус, ну, а потім файл. При впровадженні у середину файлу вірус може скористатися кількома варіантами. Перший — перенесення частини файлу, замість якої передбачається розташувати код вірусу, в кінець. Другий — так зване «розсування» коду файлу. Третій — заміщення неисполняемых областей файлу кодом вірусу. Але яким би із способів вірус не скористався, йому знову доведеться змінювати головну частину файлу-жертви. Зміна головної частини коду файлу відбувається двома способами. Найбільш поширений спосіб, при якому вірус точку входу, «переносячи її на належний йому ділянку. Але деякі можуть просто додати команду передачі управління — таким чином, файл стартує з оригінальної точки входу, а потім (за дописаною команді) передає управління коду вірусу.

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

Існують і ще способи зараження, але вони настільки рідко зустрічаються, що ми зупинимося тільки на їх перерахування: віруси, що заражають об'єктні модулі (OBJ); віруси, що заражають бібліотеки компіляторів (LIB); віруси, що заражають вихідні тексти програм. Відомі на поточний момент завантажувальні віруси заражають завантажувальний сектор гнучкого диска і boot-сектор або Master Boot Record (MBR) вінчестера. Принцип дії завантажувальних вірусів заснований на алгоритмах запуску операційної системи при включенні або перезавантаженні комп'ютера — після необхідних тестів встановленого обладнання (пам'яті, дисків і т. д.) програма системної завантаження зчитує перший фізичний сектор завантажувального диска (A:, C: або CD-ROM в залежності від параметрів, встановлених в BIOS Setup) і передає на нього управління. При зараженні дисків завантажувальні віруси «підставляють» свій код замість якої-небудь програми, що одержує управління при завантаженні системи. Принцип зараження, таким чином, однаковий у всіх вищеописаних способах: вірус «змушує» систему при її перезапуску вважати в пам'ять і віддати управління не оригінального коду завантажувача, а коду вірусу. Зараження дискет здійснюється єдиним відомим способом — вірус записує свій код замість оригінального коду boot-сектора дискети. Вінчестер заражається трьома можливими способами: вірус записується або замість коду MBR, або замість коду boot-сектора завантажувального диска (зазвичай диска C:), або модифікує адреса активного boot-сектора в таблиці розділів диска (Disk Partition Table), розташованої в MBR вінчестера. При інфікуванні диска вірус у більшості випадків переносить оригінальний boot-сектор (або MBR) в який-небудь інший сектор диска (наприклад, в перший вільний). Якщо довжина вірусу більше довжини сектора, то в заражаемый сектор поміщається перша частина вірусу, інші частини розміщуються в інших секторах (наприклад, у перших вільних). Макровіруси в основному заражають документи MS Office. При цьому вірус додає свій код в область макросів документа. Розташування коду вірусу в документах різних додатків вищеописаного пакету різне, тому уявити його можна лише схематично (див. рис. 2). Скрипт-віруси — це віруси, написані на скрипт-мови (VBS, JS, PHP, PHP тощо). Заражають вони не файли досить великого діапазону розширень: від .exe до .html.


Сторінки: 1 2 Слід.