
Security_metod
.pdfХробаки – це автономні програми, які атакують систему, використовуючи відомі вразливості. Після успішної експлуатації вразливості, хробак копіює себе з атакуючого хоста на нові системи і цикл починається знову.
Фази атаки віруса та хробака
При вивченні атак шкідливого програмного забезпечення за останні 20 років, стає зрозумілим, що різні фази методів атак, які використовуються хакерами схожі між собою. Вирізняють п’ять основних фаз атаки незалежно від того, хробак чи вірус розгортається.
Фаза зондування (Probe phase) – визначення вразливих цілей. Задача полягає в тому, щоб знайти комп'ютери, які можуть бути атаковані. Для дослідження мереж використовується ping-сканування за протоколом ICMP. Потім застосунок сканує та ідентифікує операційні системи і вразливе програмне забезпечення. Хакери можуть отримати паролі, використовуючи соціальну інженерію, атаку за словником, атаку грубої сили (brute-force) або прослуховування мережі.
Фаза проникнення (Penetrate phase) - шкідливий код передається на вразливу ціль атаки. Мета полягає в тому, щоб отримати можливість виконати шкідливий код на цілі атаки через механізми атаки, такі як переповнення буфера, ActiveX, CGI вразливість або вірус електронної пошти.
Фаза збереження (Persist phase) - після успішного запуску атаки в пам'я- ті, код намагається зберегтися на цільовій системі. Мета полягає в тому, щоб гарантувати роботу і доступність атакуючого коду для зловмисника, навіть якщо систему буде перезавантажено. Це досягається за рахунок зміни системних файлів, змін в реєстрі, установки нового коду.
Фаза розповсюдження (Propagate phase) - атакуючий намагається поширити атаку на інші цілі, шукаючи вразливі сусідні машини. Поширення може відбуватися за рахунок відправки копії атаки електронною поштою іншим системам, завантаження файлів на інші системи з використанням файлових ресурсів спільного доступу або FTP-послуг, активних інтернет-з'єднань, а також пе-
редачу файлів через Internet Relay Chat (IRC).
Фаза паралічу (Paralyze phase) – нанесення реальних збитків системі. Файли можуть бути видалені, система може бути доведена до збою, інформація може бути вкрадена, розподілена DoS атака (DDoS) може бути запущена.
П'ять основних фаз атаки дозволяють експертам з безпеки зручно описувати хробаки та віруси за їх конкретним механізмом реалізації для кожної фази. Це полегшує класифікацію хробаків та вірусів.
Віруси та хробаки - два способи атаки. Іншим способом є троянський кінь, який використовує віруси і хробаки з додатковим елементом маскування під доброякісну програму.
2.1.3 Троянські коні
Термін «троянський кінь» виник з грецької міфології. Грецькі воїни запропонували людям Трої гігантського порожнього коня в якості подарунка.
20
Троянці перенесли гігантського коня до свого міста-фортеці, не підозрюючи, що в ньому знаходиться багато грецьких воїнів. Вночі, після того як більшість троянців поснули, воїни вирвалися з коня і підкорили місто.
У світі комп’ютерів, троянський кінь є шкідливою програмою, яка виконує шкідливі операції під прикриттям корисної функції. Троянський кінь містить прихований шкідливий код, що експлуатує привілеї користувача, який його запускає. Ігри часто містять троянського коня. При запуску гри, гра працює, але у фоновому режимі, троянський кінь встановлюється на комп'ютер користувача і продовжує працювати після завершення гри.
Концепція троянського коня є гнучкою. Він може призвести до негайного пошкодження, забезпечити віддалений доступ до системи або створити люки для доступу. Він також може віддалено виконувати дії відповідно до інструкцій, наприклад таких, "надсилайте мені файл з паролями раз на тиждень."
Спеціально написані троянські коні для виконання конкретної задачі виявити досить складно. Приклади троянських коней: NetBus, Sub7, ProRat, Vundo, SpySheriff.
Класифікація троянських коней
Троянські коні зазвичай класифікуються відповідно до збитку, який вони завдають або до способу злому системи:
Remote-access Trojan Horse - дозволяє несанкціонований віддалений доступ.
Data sending Trojan Horse - надає зловмиснику конфіденційну інформацію, наприклад, паролі.
Destructive Trojan Horse - псує або видаляє файли.
Proxy Trojan Horse – примушує комп'ютер працювати у якості проксісервера.
FTP Trojan Horse – відкриває порт 21, тим самим дозволяє несанкціоновану передачу файлів на кінцевих пристроях.
Security software disabler Trojan Horse - зупиняє роботу антивірусних програм або брандмауерів.
Denial of Service Trojan Horse - уповільнює або зупиняє мережну активність.
2.2 Пом’якшення дії вірусів, хробаків та троянських коней Переповнення буферу
Звіти показують, що одна третина відомих вразливостей програмного забезпечення визначаються CERT, як пов’язані з переповненням буфера. Буфер – це виділена область пам'яті, яка використовується процесами для тимчасового зберігання даних. Переповнення буфера відбувається, коли буфер фіксованої довжини досягає своєї межі і процес намагається зберегти дані за межами цієї максимальної межі. Це може призвести до того, що додаткові дані будуть записані до сусідніх комірок пам'яті, а також може викликати інші види несподіва-
21
ної поведінки. Переповнення буфера є зазвичай основним каналом, через який віруси, хробаки та троянські коні можуть робити шкоду.
Віруси та троянські коні, як правило, користуються локальним переповненням root буферу. Переповнення root буферу призначене для отримання root привілеїв в системі. Локальне переповнення root буферу потребує від кінцевого користувача або системи дій певного типу. Зазвичай локальне переповнення root буфера відбувається з ініціативи користувача при відкритті вкладень електронної пошти, під час відвідування веб-сайту, або обміну файлами за допомогою миттєвих повідомлень.
Такі хробаки, як SQL Slammer і Code Red використовують віддалене переповнення root буфера. Віддалене переповнення root буфера схоже на локальне переповнення root буфера, за виключенням того, що втручання кінцевого користувача системи не потрібно.
Антивірусне програмне забезпечення
Віруси, хробаки та троянські коні можуть викликати серйозні проблеми в мережах і кінцевих системах. Мережні адміністратори мають кілька способів пом'якшення цих атак, які також звуть «контрзаходами».
Основним засобом зниження вразливості до вірусів і атак троянських коней є антивірусне програмне забезпечення. Антивірусне програмне забезпечення допомагає запобігти зараженню хостів і поширенню шкідливого коду. Очищення заражених комп'ютерів вимагає набагато більше часу, ніж підтримка антивірусного програмного забезпечення і визначень вірусів в актуальному стані на тому ж комп’ютері.
Антивірусне програмне забезпечення - найпоширеніший продукт безпеки на ринку сьогодні. Кілька компаній, які створюють антивірусне програмне за-
безпечення, такі як Symantec, Computer Associates, McAfee, і Trend Micro, пра-
цюють в бізнесі виявлення і видалення вірусів протягом більш ніж десяти останніх років.
Антивірусні продукти мають варіанти автоматизованого оновлення, так що нові сигнатурі вірусів і оновлення програмного забезпечення можуть бути завантажені автоматично або за запитом. Ця практика є найбільш важливою умовою для підтримки мережі вільної від вірусів і мають бути формалізовані в політиці мережної безпеки.
Антивірусні продукти базуються на хостах. Ці продукти встановлюються на комп'ютерах і серверах, щоб виявляти і знищувати віруси. Тим не менш, вони не заважають проникненню вірусів в мережу, тож професіонали з мережної безпеки мають відстежувати оновлення безпеки щодо нових вірусів.
Попередження атак хробаків
Черви більш базуються на мережі ніж віруси. Попередження атак хробаків вимагає старанності та координованості від фахівців з мережної безпеки. Відповідь на атаку інфікування хробаком може бути розбита на чотири етапи: локалізація, щеплення, карантин та лікування (рис. 2).
22

Рис.2 – Етапи відповіді на атаку хробака
Етап локалізації (containment phase) передбачає обмеження поширення хробака в областях мережі, які вже постраждали. Це вимагає фрагментації та сегментації мережі, щоб уповільнити або зупинити хробака і запобігти атакам інфікування з вже заражених систем на інші системи. Локалізація потребує використання як вихідних, так і вхідних списків управління доступом (ACLs) на маршрутизаторах і брандмауерах в контрольних точках мережі.
Етап щеплення (inoculation phase) проходить паралельно або після фази локалізації. На етапі щеплення, на всіх неінфікованих системах встановлюються виправлення від постачальника вразливого ПЗ. Процес щеплення позбавляє хробака будь-яких доступних цілей у подальшому. Мережний сканер може допомогти визначити потенційно вразливі вузли. Мобільне середовище, поширене в сучасних мережах, створює значні труднощі. Ноутбуки зазвичай виймаються з безпечного мережного оточення і підключаються до потенційно небезпечною середовища, наприклад до домашньої мережі. Без належної профілактики системи, ноутбук може бути заражений хробаком або вірусом, а потім повернутися до безпечного середовища мережі організації, де він може заразити інші системи.
Етап карантину (quarantine phase) включає в себе відстеження і виявлення інфікованих машин в області а також їх відключення, блокування або видалення. Це ізолює системи відповідним чином для етапу лікування.
Під час етапу лікування (treatment phase), активні заражені системи дезінфікують від хробака. Це може включати завершення процесу хробака, видалення змінених файлів або системних налаштувань, які зробив хробак, виправлення вразливості, яка використовувалася хробаком для проникнення до системи. У більш важких випадках, може знадобитися повне переустановлення системи, для гарантування, що черв'як і його побічні продукти видалені.
Хробак SQL Slammer
У випадку хробака SQL Slammer, шкідливий трафік був виявлений на UDP порту 1434. Цей порт має, як правило, блокуватися брандмауером по пе-
23
риметру. Тим не менш, більшість випадків інфікування відбувається через люки і не проходять через брандмауер. Тому, щоб запобігти поширенню цього хробака було необхідно блокувати порт 1434 на всіх мережних пристроях внутрішньої мережі.
У деяких випадках, порт, на якому хробак поширюється може мати вирішальне значення для бізнес-операцій. Наприклад, коли SQL Slammer поширювався, деякі організації не могли заблокувати UDP порт 1434, тому що він був необхідний для доступу до SQL Server, щоб проходили бізнес-транзакції. В такій ситуації потрібно розглянути альтернативи.
Якщо мережні пристрої, що використовують службу на несправному порті відомі, це дає можливість організувати селективний доступ. Наприклад, якщо SQL Server використовує невелика кількість клієнтів, одним з варіантів буде відкрити UDP порт 1434 тільки для важливих пристроїв. Селективний доступ не гарантує вирішення проблеми, але безумовно знижує ймовірність зараження.
Віруси, хробаки та троянські коні можуть уповільнити або зупинити мережу, спотворити або знищити дані. Хороші політики безпеки і налаштування антивірусного програмного забезпечення дозволяють попередити ці типи загроз. Професіонали з мережної безпеки повинні постійно підтримувати пильність. Цього недостатньо, щоб ефективно реагувати на атаки. Хороший професіонал з мережної безпеки перевіряє всю мережу, щоб знайти уразливості і виправляє їх, перш ніж відбувається атака.
2.3 Самостійна робота студента
2.3.1Запитання для самоперевірки
1.Що є значущою характеристикою зловмисного ПЗ «хробак»?
2.Дайте визначення зловмисного ПЗ «троянський кінь».
3.Яка основна характеристика зловмисного ПЗ «вірус»?
4.Яку спільну рису має більшість антивірусного програмного забезпечення?
5.Назвіть етапи відповіді на атаку хробака.
6.Якому типу зловмисного ПЗ для виконання своїх функцій необхідно приєднатися до іншої програми?
2.3.2Матеріали для самостійного поглибленого вивчення теми
1.Поцікавтеся, які вразливості використовували відомі хробаки для поширення Інтернетом.
2.Знайдіть інформацію про перший вірус, перший спам, першого хробака, перших троянських коней.
3.Знайдіть на сайтах відомих організацій з безпеки комп’ютерних мереж описи зловмисного ПЗ, яке згадувалося у поточній темі.
24
ТЕМА 3. ОСНОВНІ ГРУПИ АТАК, ЇХ ХАРАКТЕРИСТИКИ ТА ПРИКЛАДИ
3.1 Типи атак
Є багато різних типів мережних атак, відмінних від вірусів, хробаків і троянських коней.
Щоб знизити небезпеку атаки, корисно спочатку різні типи атак розбити на категорії. Класифікуємо атаки за трьома основними категоріями.
Атаки розвідки (Reconnaissance Attacks)
Розвідка означає несанкціоноване виявлення і відображення систем, сервісів або вразливостей. Розвідувальні атаки часто використовують сніфери пакетів, сканери портів, які доступні для вільного скачування в Інтернеті. Розвідка є аналогом спостереження злодія за вразливими будинками, щоб увірватися до них, коли там нікого немає через відкриті двері або вікно.
Атаки доступу (Access Attacks)
Атаки доступу використовують відомі уразливості в сервісах аутентифікації, FTP сервісах, а також веб-сервісах для отримання доступу до вебрахунків, конфіденційних баз даних та іншої конфіденційної інформації. Атака доступу може бути виконана у різний спосіб. Часто використовується атака по словнику для розкриття бази паролів. Також можуть бути використані спеціалізовані словники для різних мов.
Атаки відмови в обслуговуванні (Denial of Service Attacks)
DoS атака відправляє надзвичайно велику кількість запитів мережею або через Інтернет. Ці надмірні запити примушують цільовий пристрій працювати не оптимально. Отже, атакований пристрій стає недоступним для законного доступу та використання. DoS атаки призводять до уповільнення припинення роботи додатків і процесів.
3.1.1 Різновиди атаки-розвідки
Розвідка також відома як збір інформації і, в більшості випадків, передує атаці доступу або DoS-атаці. Розвідку зловмисник, як правило, починає з проведення ping sweep цільової мережі, щоб визначити, які IP-адреси є активними. Зловмисник потім визначає, які сервіси або порти доступні на активних IP адресах. Nmap є найбільш популярним застосунком для сканування портів. Користуючись отриманою про порти інформацією, зловмисник надсилає запити на порти для визначення типу і версії ПЗ та операційної системи, під управлінням якої працює цільовий хост. У багатьох випадках, зловмисники шукають вразливі сервіси, які можна буде використати пізніше, коли ймовірність бути спійманим буде менша.
25

Атака розвідки використовує різні інструменти, щоб отримати доступ до мережі:
аналізатори протоколів (Packet sniffers); сканери хостів (Ping sweeps);
сканери портів (Port scans);
інформаційні інтернет-запити (Internet information queries).
Аналізатор протоколів
Аналізатор пакетів – це ПЗ, яке використовує карту мережного адаптера у promiscuous mode, щоб захопити всі мережні пакети, які передаються по локальній мережі. Promiscuous mode - це режим, у якому мережний адаптер відправляє всі пакети, які були отримані до застосунку для обробки. Деякі мережні застосунки передають незашифрований текст в пакетах. Оскільки мережні пакети не шифруються, вони можуть бути прочитані будь-яким застосунком, який може забрати їх з мережі і обробити.
Аналізатори пакетів можуть працювати тільки в одному колізійному домені з мережею, яку атакують, якщо зловмисник має доступ до комутаторів. Багаточисельні безкоштовні аналізатори протоколів, такі як Wireshark доступні і не потребують від користувача розуміння роботи протоколів.
Сканери хостів та портів
При використанні легальних інструментів ping sweep та port scan запускається серія тестів, спрямована на хости та пристрої для визначення вразливих сервісів. Інформація збирається шляхом вивчення IP-адрес і портів, даних з портів ТCP та UDP. Атакуючий використовує цю інформацію, щоб скомпрометувати систему.
Інформаційні інтернет-запити (іnternet information queries) можуть виявити інформацію про власника домену та які адреси належать до цього домену. Вони також можуть виявити, хто володіє конкретною IP-адресою і який домен з нею асоціюється.
Сканування хостів (ping sweep) - основний метод сканування мережі, що визначає який діапазон IP-адрес належить активним хостам. Один луна-запит показує, чи існує один певний хост-комп'ютер в мережі. ping sweep складається із серії ICMP луна-запитів, надісланих декільком вузлам. Якщо дана адреса активна, з неї повертається луна-відповідь ICMP. ping sweep - один з найстаріших та найповільніших методів сканування мережі.
Кожна служба на вузлі пов'язана з відомим (well-known) номером порту. Сканування портів є скануванням діапазону TCP або UDP номерів портів на хості з метою виявлення сервісів, які знаходяться у стані прослуховування. Відправляється повідомлення хосту на кожний порт. Отримана відповідь вказує на використання порта.
Ping sweeps адрес та інформаційні Інтернет-запити допоможуть скласти перелік активних хостів в конкретному середовищі. Після складання переліку, засоби сканування портів можуть перебрати всі відомі порти, щоб надати пов-
26
ний список усіх сервісів, які виконуються на виявлених хостах. Хакери можуть потім вивчити характеристики активних застосунків, з метою компрометації сервісу.
Попередження атаки-розвідки
Атаки розвідки, як правило, є передвісником наступних атак з метою отримання несанкціонованого доступу до мережі або порушення роботи мережі. Фахівець з безпеки мережі може визначити, коли атака розвідки ведеться шляхом отримання повідомлень тривоги. Ці сигнали тривоги спрацьовують, коли деякі параметри перевищені, такі як число ICMP запитів в секунду. Різноманітні технології і пристрої можуть бути використані для моніторингу цього типу активності і генерування сигналу тривоги.
Хост-системи запобігання вторгнень та автономні системи виявлення вторгнень також можуть використовуватися для повідомлення про те, що відбувається атака-розвідка.
3.1.2 Атаки доступа
Хакери використовують атаки доступу до мережі або системи з трьох причин: отримання даних, отримання доступу, і використання привілеїв доступу.
Атаки доступу часто використовують атаки на паролі для отримання паролів. Атаки на паролі можуть бути реалізовані за допомогою декількох методів, в тому числі метода грубої сили (brute-force attacks), троянських програм, підміни IP (IP spoofing) і аналізаторів протоколів. Тим не менше, більшість атак на паролі класифікуються як атаки грубої сили, які включають неодноразові спроби, засновані на вбудованому словнику для визначення облікового запису користувача або пароля.
Атака грубої сили часто здійснюється за допомогою програми, яка працює через мережі і намагається увійти до спільного ресурсу, наприклад серверу. Після цього зловмисник отримує доступ до ресурсу, він має ті ж самі права доступу, що і користувач, обліковий запис якого був скомпрометований. Якщо цей обліковий запис має достатні привілеї, зловмисник може створити люк (back door) для доступу в майбутньому, не піклуючись про зміну пароля до скомпрометованого облікового запису користувача.
Наприклад, користувач може запустити L0phtCrack або LC5, застосунок з метою виконання атаки грубої сили для отримання пароля Windows сервера. Коли пароль отримано, зловмисник може встановити шпигун клавіатури (keylogger), який надсилає копії всіх натискань клавіш до бажаного для зловмисника пункту призначення. Ще може бути встановлений троянський кінь, щоб надсилати копії всіх прийнятих та відправлених пакетів конкретному місцю призначення, що дозволяє контролювати весь трафік до і з цього сервера.
27
Існує п'ять типів атак доступу:
Атака на паролі (password attack) - атакуючий намагається вгадати паролі системи. Типовим прикладом є атака за словником.
Використання довіри (trust exploitation) - атакуючий використовує привілеї в системі несанкціонованим способом, що може призвести до збитків на цілі атаки.
Перенаправлення портів (port redirection) - скомпрометована система використовується як відправна точка для атак на інші цілі. Інструмент вторгнення встановлюється на скомпрометованій системі для перенаправлення сесії.
Людина посередині (man-in-the-middle attack) - зловмисник розташову-
ється посередині комунікації між двома легітимними суб'єктами, щоб читати або змінювати дані, які проходять між двома сторонами. Ця популярна атака передбачає наявність ноутбука, який діє в якості фальшивої точки доступу, щоб захопити і скопіювати весь мережний трафік від цільового користувача. Часто користувач знаходиться в громадському місці і під’єднаний до бездротової точки доступу.
Переповнення буфера (buffer overflow) - програма записує дані за межами виділеної пам'яті для буфера. Переповнення буфера зазвичай виникає як наслідок помилки в програмі на C або C ++. Результатом переповнення є те, що достовірні дані будуть перезаписані або використані для того, щоб виконати шкідливий код.
Попередження атак доступу
Атаки доступу можна виявити при вивченні журналів, використання пропускної здатності і навантаження процесів.
Політика безпеки має містити вказівку, що журнали офіційно підтримуються для всіх мережних пристроїв і серверів. Досліджуючи журнали, співробітники служби безпеки мережі можуть визначити, якщо відбулося незвичайне число невдалих спроб входу до системи. Програмні пакети, такі як
ManageEngineEventLog Analyzer або сервер Cisco Secure Access Control Service (CSACS) підтримують інформацію про невдалі спроби входу до мережних пристроїв. Сервери UNIX і Windows також ведуть журнал невдалих спроб входу до системи. Cisco маршрутизатори та брандмауери можна налаштувати так, щоб запобігти спробам входу до системи протягом заданого часу, з конкретного пристрою після певного числа збоїв протягом певного періоду часу.
Атаки man-in-the-middle часто пов'язані з реплікацією даних. Ознакою такої атаки є незвичайний обсяг мережної активності і використання пропускної здатності, на які вказує програмне забезпечення для моніторингу мережі.
3.1.3 Атаки відмови в обслуговуванні
DoS атака є мережною атакою, яка призводить до свого роду переривання обслуговування користувачів, пристроїв або додатків. Існує декілька механізмів генерування DoS атаки. Найпростіший спосіб - це створення великих обсягів
28

трафіку, який видається нормальним мережним трафіком. Цей тип мережних DoS атак насичує мережу настільки, що справжній трафік користувача не може пройти мережею.
DoS атака використовує той факт, що цільові системи, такі як сервери, повинні зберігати інформацію стану. Застосунки можуть розраховувати на очікувані розміри буферів і конкретний вміст мережних пакетів. Атака DoS може це використовувати, посилаючи пакети такого розміру або з такими значеннями даних, яких не очікує приймаючий застосунок.
Є дві основні причини з яких відбуваються DoS атаки:
Хост або застосунок не здатен впоратися з непередбаченими умовами, наприклад, з неправильно відформатованими вхідними даними, несподіваною взаємодією компонентів системи, або просто виснаженням ресурсів. Мережа, хост, застосунок не може обробити величезну кількість даних, що призводить до краху системи або її надзвичайно повільної роботи.
DoS атаки намагаються скомпрометувати доступність мережі, хоста, або програми. Вони становлять основний ризик, оскільки можуть легко перервати бізнес-процеси і викликати значні втрати. Ці атаки є відносно простими для реалізації навіть некваліфікованим зловмисником.
DoS та DDoS атаки
Одним із прикладів DoS атаки є посилка отруйного пакету. Отруйний пакет – це неправильно форматований пакет призначений для того, щоб примусити приймальний пристрій до обробки пакета неналежним чином. Отруйний пакет призводить приймаючий пристрій до краху або дуже повільної роботи. Ця атака може призвести до того, що всі комунікації пристрою будуть порушені. В іншому прикладі зловмисник посилає безперервний потік пакетів певному пристрою. Це може виснажити наявні ресурси кінцевого пристрою, в результаті чого пристрій припиняє реагувати.
Розподілена атака відмови в обслуговуванні (DDoS) схожа за наміром на DoS атаку, окрім того, що атака DDoS походить від декількох скоординованих джерел. DDoS атака потребує від професіонала з мережної безпеки виявлення та припинення атак з розподілених джерел одночасно керуючи збільшеним трафіком.
Наприклад, атака DDoS може діяти наступним чином: Хакер сканує доступні системи.
Потім хакер отримує доступ декількох «оброблених» систем, хакер встановлює на них ПЗ «зомбі».
Потім «зомбі» сканують і заражають агентські системи.
Коли хакер отримує доступ до агентської системи, хакер завантажує ПЗ дистанційного керування атакою для проведення DDoS атаки.
Корисно детально розглянути три типові DoS атаки, щоб краще розуміти як працюють DoS-атаки.
29