Класифікація зловмисних програм, Криптографія, Security & Hack, статті

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


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


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


Останнім часом мережеві черв’яки, мабуть, втратили свою популярність серед вірусописьменників. Та й чи можна взагалі активістів даного «руху» назвати справжніми творцями вірусів? Я думаю, що ні. Більшість цих людей – школярі або студенти, до яких в руки тим чи іншим шляхом потрапляють конструктори троянських програм. А випадки появи по-справжньому гідних примірників черв’яків, які дійсно справно виконували б свої шкідливі функції, зведені до мінімуму. Взяти хоча б бюлетень безпеки Лабораторії Касперського за перше півріччя 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). Існують інші способи зараження віддалених комп’ютерів – наприклад: копіювання хробака на мережеві ресурси; проникнення хробака на комп’ютер через уразливості в операційних системах і додатках; проникнення в мережеві ресурси публічного використання; паразитування на інших шкідливих програмах.


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


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


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



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


Перезаписуючий віруси (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, BAT, PHP і т.д.). Заражають вони файли досить великого діапазону розширень: від. Exe до. Html.


Троянські програми


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


Троянські утиліти віддаленого адміністрування (Backdoor). Троянські програми цього класу є утилітами віддаленого адміністрування (управління) комп’ютерів. Загалом, вони дуже схожі на «легальні» утиліти того ж напрямку. Єдине, що визначає їх як шкідливі програми, – це їх дії без відома користувача. Дана програма при установці іілі завантаженні не видає ніяких повідомлень. Таким чином, володар конкретної копії даного ПЗ може без відома користувача здійснювати операції різного роду (від вимикання комп’ютера до маніпуляцій з файлами). Таким чином, троянські програми даного класу є одними з найбільш небезпечних. Деякі backdoor’и, також можуть поширюватися по мережі, як мережеві черв’яки, але не самостійно, а після відповідної команди власника копії.


Викрадачі паролів (Trojan-PSW). Ці займаються тим, що крадуть паролі. Проникнувши на комп’ютер та інсталювати, троянець відразу приступає до пошуку файлів, що містять відповідну інформацію. Крадіжка паролів – не основна специфікація програм цього класу – вони також можуть красти інформацію про систему, файли, номери рахунків, коди активації іншого ПЗ і т.д.


Інтернет-клікери (Trojan-clicker). Дане сімейство троянських програм займається організацією несанкціонованих звернень до інтернет-ресурсів шляхом відправки команд інтернет-браузерів або підміни системних адрес ресурсів. Зловмисники використовують дані програми для наступних цілей: збільшення відвідуваності будь-яких сайтів (з метою збільшення кількості показів реклами); організація атаки на сервіс, залучення потенційних жертв для зараження шкідливим програмним забезпеченням.


Завантажувачі (Trojan-Downloader). Ці трояни займаються несанкціонованою інсталяції програмного забезпечення (зловмисних) на комп’ютер нічого не підозрює користувача. Після завантаження програма або інсталюється, або записується трояном в автозавантаження (це в залежності від можливостей операційної системи).


Установники (Trojan-Dropper). Ці встановлюють на комп’ютер-жертву програми – як правило шкідливі. Анатомія троянців цього класу наступна: основний код, файли. Основний код власне і є троянцем. Файли – це програма / и, яка / і він повинен встановити. Троянець записує її / їх в каталог (зазвичай тимчасових файлів) і встановлює. Установка відбувається або непомітно для користувача, або з викидом повідомлення про помилку.


Троянські проксі-сервери (Trojan-Proxy). Сімейство троянських програм, таємно здійснюють доступ до різних інтернет-ресурсів – зазвичай з метою розсилки спаму.


Шпигунські програми (Trojan-Spy). Дані трояни здійснюють шпигунство за користувачем: записування інформації, набраної з клавіатури, знімки екрану і т.д. У даній категорії також присутні «багатоцільові» троянські програми – наприклад, ті з них, які одночасно шпигують за користувачем і надають proxy-сервіс віддаленого зловмисникові.


Приховування присутності в операційній системі (Rootkit). Поняття rootkit прийшло до нас з UNIX. Спочатку це поняття використовувалося для позначення набору інструментів, що застосовуються для отримання прав root. Так як інструменти типу rootkit на сьогоднішній день «прижилися» та на інших ОС (у тому числі на Windows), слід визнати таке визначення rootkit морально застарілим і не відповідає реальному стану справ. Таким чином, Rootkit – програмний код або техніка, спрямована на приховування присутності в системі заданих об’єктів (процесів, файлів, ключів реєстру і т.д.). Для поведінки Rootkit в класифікації «Лабораторії Касперського» діють правила поглинання: Rootkit – наймолодше поведінка серед шкідливих програм. Тобто, якщо Rootkit-програма має троянську складову, то вона детектируется як Trojan.


Архівні бомби (ArcBomb). Ось це цікава штука … справа в тому, що такого роду архів при спробі архіватора його обробити викликає «нестандартні» дії останнього. Комп’ютер може просто зависнути або його робота істотно сповільниться. Також жорсткий диск може заповнитися бальшім коллічесвом «порожній» інформації. Зустрічаються три типи подібних «бомб»: некоректний заголовок архіву, повторювані дані і однакові файли в архіві. Некоректний заголовок архіву або зіпсовані дані в архіві можуть привести до збою в роботі конкретного архіватора або алгоритму розархівування при розборі вмісту архіву. Значних розмірів файл, що містить повторювані дані, дозволяє заархівувати такий файл в архів невеликого розміру (наприклад, 5 Гб даних упаковуються в 200 Кб RAR-або в 480 Кб ZIP-архів). Величезне кількість однакових файлів в архіві також практично не позначається на розмірі архіву при використанні спеціальних методів (наприклад, існують прийоми упаковки 10100 однакових файлів в 30 Кб RAR- або 230 Кб ZIP-архів).


Оповіщення про атаку, яка увінчалася успіхом (Trojan-Notifier). Троянці даного типу призначені для повідомлення своєму «хазяїну» про зараженому комп’ютері. При цьому на адресу «господаря» вирушає інформація про комп’ютер – наприклад, його IP-адресу, номер відкритого порту, адреса електронної пошти тощо Перевести здійснюється різними способами: електронним листом, спеціально оформленим зверненням до веб-сторінці «Господаря», ICQ-повідомленням. Дані троянські програми використовуються в багатокомпонентних троянських наборах для оповіщення «господаря» про успішну інсталяції троянських компонент в атакується систему.


Інші шкідливі програми


До іншим шкідливим відносяться різноманітні програми, що не представляють загрози безпосередньо комп’ютера, на якому виконуються, а розроблені для створення інших вірусів або троянських програм, організації DoS-атак на віддалені сервери, злому інших комп’ютерів і т.п. . Мережеві атаки (Dos, DDoS). Ці «утиліти» використовуються порушниками для організації атак на відмову в обслуговуванні. При виконанні атаки в адресу жертви вирушає велика кількість пакетів, у результаті обладнання не справляється, і настає так званий «вісюк». Програми даного класу бувають двох видів: перший – атака проводиться з комп’ютера зловмисника за його наказом, другий – здійснюється розподільна атака шляхом зараження комп’ютерів (такий комп’ютер називається комп’ютером-зомбі), користувач працює в мережі і при це не підозрює, що його комп’ютер – учасник розподільної атаки, спрямованої на відмову в обслуговуванні.


Зломщики віддалених комп’ютерів (Exploit, Hacktool). Ці програми використовуються хакерами для віддаленого злому комп’ютерів з метою подальшого управління ними. При цьому експлойти спрямовані безпосередньо на роботу з уразливими.


«Засмічення» мережі (Flood). Забивання інтернет-каналів не дуже інформацією.


Конструктори (Constructor). Софт, що використовується, як правило, малограмотними людьми, тому що дозволяють найбільш просто створювати троянські програми і т.д. Люди знаючі зазвичай пишуть свої;)).


Фатальні мережеві атаки (Nuker). Утиліти, що відправляють спеціально оформлені запити на яких атакували комп’ютери в мережі, в результаті чого атакують система припиняє роботу. Використовують уразливості в програмному забезпечення та операційних систем, в результаті чого мережевий запит спеціального виду викликає критичну помилку в атакується додатку.


Введення користувача в оману (Bad-Joke, Hoax). Це, загалом-то, і шкідливою програмою назвати не можна. Це програмка, яка змушує користувача відчути страх, еквівалентний тому, який він відчуває при вигляді напису типу: «Warning! System has bin delete », ну, або щось в цьому роді.


Шифрувальники зловмисних програм (FileCryptor, PolyCryptor). Це хакерські утиліти, які займаються тим, що приховують інше шкідливе ПЗ від антивірусних програм.


«Поліморфа» (PolyEngine). Цих вірусами можна назвати теж з натяжкою, адже, в принципі, в їхньому коді не закладені дії на розмноження, псування інформації і т.д. Але все ж …


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

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*