- •6.1. Класифікація шкідливого програмного забезпечення
- •6.2. Програмні закладки
- •6.2.1. Функції програмних закладок
- •6.2.2. Шпигунські програми
- •6.2.3. «Логічні бомби»
- •6.2.4. Люки — утиліти віддаленого адміністрування
- •6.2.5. Несанкціонована робота з мережею
- •6.2.6. Інші програмні закладки
- •6.3. Комп'ютерні віруси
- •6.3.1. Файлові віруси
- •6.3.2. Завантажувальні віруси
- •6.3.3. Макровіруси
- •6.3.4. Скриптові віруси
- •6.3.5. Захист від комп'ютерних вірусів
- •6.4. Мережні хробаки
- •6.4.1. Класифікація мережних хробаків
- •6.4.2. Хробак Морріса
- •6.4.3. Сучасні мережні хробаки
- •6.5. «Троянські коні»
- •6.5.1. Соціальна інженерія
- •3DNow!(tm) mobile emulator for *games* .
- •Internet Accelerator
- •Internet accelerator, ssl security update #7. Internet Cracker
- •Virtual sex mobile engine from Russian hackers!
- •6.5.2. Класифікація «троянських коней»
- •6.5.3. Шпигунські троянські програми
- •6.5.4. Троянські інсталятори
- •6.5.5. «Троянські бомби»
- •6.6. Спеціальні хакерські утиліти
- •6.6.1. Засоби здійснення віддалених атак
- •6.6.2. Засоби створення шкідливого програмного забезпечення
- •6.6.3. Створення засобів атак
6.4. Мережні хробаки
Основною ознакою мережного хробака є його здатність самостійно, без втручання користувача, розповсюджуватись у комп'ютерній мережі, забезпечуючи щонайменше дві функції; передавання свого програмного коду на інший комп'ютер і запуск свого програмного коду на віддаленому комп'ютері. Здебільшого мережні хробаки, як і комп'ютерні віруси, здатні розмножуватись, і тому їх часто розглядають як різновид вірусів. Однак на відміну від класичних комп'ютерних вірусів більшість хробаків не використовують як носій код іншої програми, оскільки не мають на меті примусити користувача у такий спосіб запустити їх.
Класичний мережний хробак використовує вразливості програмного забезпечення, яке реалізує ті чи інші мережні протоколи. Таке програмне забезпечення діє автоматично відповідно до вимог протоколу, а часом, через помилки розробників або завдяки їхньому специфічному погляду на деякі вимоги специфікацій протоколів, Щ і всупереч вимогам стандартних протоколів. Слід зазначити, що в переважній більшості ситуацій такі програми не покладаються на користувача, а часто інтерфейс взаємодії з користувачем локальної системи взагалі відсутній. Особливості програмного забезпечення, що обслуговує мережну взаємодію, буде докладно розглянуто в розділі 15, оскільки воно суттєво впливає і на можливості компрометації системи через мережу, і на методи її захисту.
Іноді до хробаків відносять і ті програми, що не здатні самостійно запуститися на виконання на віддаленій системі, й відтак використовують принцип «троянського коня». Є безліч різновидів програм, які використовують різні, часто дуже непрості технології розповсюдження в мережі та доставляння себе на комп'ютери — потенційні жертви. Хоча такі програми є хробаками лише наполовину (тобто лише в частині доставляння, а не запуску), стисло буде розглянуто й їх, переважно в контексті технологій розповсюдження.
6.4.1. Класифікація мережних хробаків
Основною ознакою, за якою хробаків поділяють на різні типи, є спосіб їх розповсюдження — яким чином хробак передає свою копію на віддалені комп'ютери. Іншими ознаками є способи запуску копії хробака на комп'ютері, методи його впровадження в систему та характеристики, притаманні різним видам шкідливого програмного забезпечення (вірусам і «троянським коням») — поліморфізм, прихованість тощо. Розглянемо такі типи хробаків (із наведенням позначень, які застосовує «Лабораторія Касперського» [61]):
поштові хробаки (Email-worm);
хробаки, що використовують інтернет-пейджери (IM-worm);
хробаки у IRC-каналах (IRC-worm);
хробаки для файлообмінниХ"мереж (P2P-worm);
інші мережні хробаки (Net-worm).
Поштові хробаки
До цієї категорії належать хробаки, які для свого розповсюдження використовують електронну пошту. Хробак надсилає свою копію у вигляді вкладення (приєднаного файлу) в електронний лист або розміщує посилання (з URL-адресою) на свій файл на мережному ресурсі (наприклад, на скомпрометованому чи ха-керському сайті). Як правило, код хробака активізується після втручання користувача: у першому випадку необхідно відкрити заражене вкладення, у другому б скористатися посиланням на заражений файл.
Поштові хробаки надсилають заражені повідомлення у різні способи:
прямим підключенням до SMTP-сервера;
використанням сервісів Microsoft Outlook;
застосуванням функцій Windows МАРІ.
Для пошуку поштових адрес, на які розсилатимуться заражені листи, також
використовують різні методи:
+ хробак розсилає себе на всі адреси, що було знайдено в адресній книзі Microsoft Outlook;
адреси зчитуються з адресної бази WAB; ,-,...
хробак сканує «придатні» файли у файловій системі та позначає в них рядки, що є адресами електронної пошти;
хробак вибирає адреси з листів, що містяться у поштовій скриньці (при цьому деякі хробаки «відповідають» на знайдені у скриньці листи).
Деякі з хробаків використовують комбінації названих методів, зустрічаються також інші способи пошуку адрес.
Хробаки, що використовують інтернет-пейджери
Хробаки цього типу розсилають повідомлення, що містять URL-адресу файлу з кодом хробака, на контакти, отримані з контакт-листа інтернет-пейджера. Цей спосіб розсилки подібний до того, що використовують поштові хробаки.
Хробаки в IRC-каналах
Ці хробаки, як і поштові, розсилають URL-посилання на копію хробака або безпосередньо заражений файл, причому розсилання здійснюється по IRC-каналах. У другому варіанті користувач, якого атакують, має підтвердити отримання файлу, зберегти його на диску і відкрити.
Хробаки для файлообмінних мереж
Більшість із розглянутих типів мережних хробаків реалізують лише доставляння коду хробака на комп'ютер жертви. При цьому імітується отримання файлу з достовірних джерел (від відомих користувачу контактів), що й провокує користувача на запуск файлу.
Файлообмінні мережі беруть на себе левову частку роботи з доставляння файлу, тому хробаку достатньо скопіювати себе в каталог обміну файлами, що розташований на локальній машині. Р2Р-мережа здійснює інформування віддалених користувачів про цей файл і надає весь необхідний сервіс для завантаження файлу із зараженого комп'ютера. Таким чином, сам хробак може бути влаштований дуже просто.
Але є й складні Р2Р-хробаки, які самостійно імітують протокол конкретної файлообмінної системи і відповідають на пошукові запити, пропонуючи свою копію для завантаження.
Інші мережні хробаки
Це хробаки, які використовують інші способи зараження віддалених комп'ютерів. Серед них такі:
копіювання хробака на мережні ресурси;
проникнення в мережні ресурси публічного використання;
проникнення на комп'ютер через уразливості в операційних системах і застосуваннях;
паразитування на інших шкідливих програмах.
Перший спосіб передбачає використання хробаком відкритих для читання і записування ресурсів на віддалених комп'ютерах. Такі ресурси завжди можна знайти всередині корпоративних мереж, але в Інтернеті їх наявність можна вважати помилкою адміністрування або помилкою розроблення політики безпеки. Часто вразливими стають домашні комп'ютери через недостатньо професійне адміністрування. Як наслідок, у хробаків з'являється можливість скопіювати себе у доступні каталоги (щоправда, після цього необхідно, щоб користувач запустив на виконання відповідний файл).
Другий спосіб дещо схожий на перший, але у цьому випадку хробак копіює себе не на комп'ютер користувача, а на загальнодоступний веб- або FTP-сервер. Тоді можна просто зачекати, доки користувач не завантажить файл із кодом хробака. Але частіше застосовують складнішу та ефективнішу схему: спочатку хробак потрапляє на сервер, де модифікує службові файли (наприклад, веб-сторінки), а потім чекає на відвідувачів, які запитують інформацію із зараженого сервера (відкривають заражену веб-сторінку), і таким чином потрапляє на інші комп'ютери.
Тепер розглянемо класичні «безкомпромісні» мережні хробаки, здатні не лише завантажитися на віддалений комп'ютер, але й запустити себе на виконання.
Перший із таких способів — використання критичних уразливостей у системному або прикладному програмному забезпеченні. Далі ми наведемо приклади таких хробаків.
Другий спосіб, який останнім часом набув значного поширення, — цедарази-тування на інших хробаках або «троянських конях», а точніше — на програмних закладках-люках, упроваджених на скомпрометованому комп'ютері. Люки дають змогу виконувати на віддалених комп'ютерах команди, іноді з правами адміністратора або системи. Деякі люки мають вбудовану команду для завантаження з мережі вказаного файлу і запуску його на виконання. У такий спосіб хробак може шукати вже скомпрометовані комп'ютери і без проблем проникати в них. Останнім часом відбуваються справжні війни між різними розробниками хробаків - їх витвори не лише використовують люки, впроваджені «конкурентами», але й видаляють «ворожого» хробака і всі пов'язані з ним програмні закладки, впроваджуючи замість них свої.
Слід зазначити, що багато хробаків використовують два і більше методів пошуку цілей і поширення своїх копій у мережі.
Найнебезпечніші ті хробаки, що здатні розповсюджуватися і активізуватися без втручання користувача. А позаяк у мережі є величезна кількість користувачів, які несвідомо активно сприяють розповсюдженню хробаків, завантажуючи та відкриваючи різні файли з Інтернету, найпростіший «троянський кінь» може спричинити рекордні суми витрат. Обмеження прав користувачів і підвищення їхньої відповідальності у корпоративному середовищі можуть суттєво покращити ситуацію. Але коли хробак використовує нову технологію або невідому дотепер уразливість розповсюджених систем, захиститися від цього хробака дуже складно. Саме про таких хробаків ітиметься в наступних підрозділах.
