.3 Порівняльний аналіз систем виявлення
вторгнень
До числа популярних систем виявлення вторгнень відносяться наступні:
OSSEC,розробник Daniel B. Sid,OSSEC.net;, розроблено в університеті University of California at Santa Barbara;, розробники Yoann Vandoorselaere та Laurent Oudot;, розробник Martin Roesch;, розроблено в університеті University of California, Lawrence Berkeley National Laboratory.
Для порівняльного аналізу даних СВВ було обрано такі критерії:
класи атак;
рівень спостереження за системою;
метод виявлення атак;
адаптивність до невідомих атак;
масштабованість;
відкритість;
реакція на атаку;
захист.
Система Bro використовує регулярні вирази над трасами, які формуються мережевими протоколами. Набір регулярних виразів створюється експертами. Крім того, до складу системи входить транслятор сигнатур з формату системи Snort в сценарії Bro (хоча в даний час цей транслятор підтримує не всі конструкції мови Snort).
Система OSSEC є монолітною - в сенсори і аналізатори «зашиті» знання розробників системи виявлення вторгнень про те, які послідовності повідомлень в журналах можуть бути ознаками атаки. Така архітектура системи є важко розширюваною з точки зору бази знань про атаки.
Система Preludeвикористовує різні аналізуючі компоненти для мережевих даних і журналів реєстрації. Для аналізу мережевих даних можна використовувати систему Snort. Також використовується набір спеціалізованих модулів для виявлення специфічних вторгнень, таких як сканування портів, некоректні ARP-пакети і т.п. Спеціальні модулі проводять дефрагментацію IP, збірку TCP-потоку, декодування HTTP-запитів.
Система Snort використовує базу сигнатур відомих атак. У ній також використовується набір спеціалізованих модулів для виявлення специфічних атак, таких як сканування портів або відправка великого числа фрагментованих пакетів. Спеціальні модулі проводять дефрагментацію IP, декодування HTTP-запитів. Сторонні розробники часто реалізують інші методи виявлення атак у вигляді модулів (препроцесорів) Snort. Але в основну версію системи вони не входять.
Система NetSTAT використовує мову опису сценаріїв атак STATL, особливістю якого є можливість опису сценарію атаки у вигляді послідовності дій над ресурсом, що атакується. Таким чином, ця система використовує метод виявлення, близький до методу аналізу переходів станів.
Клас виявляються атак визначає, які класи атак здатна виявляти розглянута система. Це один з ключових критеріїв, так як сьогодні жодна система не здатна виявляти атаки всіх класів. Тому для більш повного покриття всього спектру атак необхідно комбінувати різні СВВ [8]. Системи, розглянуті в даній роботі, призначені для виявлення атак різних класів. Тому для поліпшення читабельності і скорочення обсягу тексту вводяться поняття об'єднання, перетину і вкладення класів атак. Для позначення об'єднання і перетину класів атак будемо використовувати символи "∪" і "∩" відповідно. Клас атаки - це четвірка <L,R,A,D>, де L - розташування атакуючого об'єкта, R - ресурс, що атакується, A - цільовий вплив на ресурс, D - ознака розподіленого характеру атаки. L: розташування атакуючого об'єкта. Воно може бути або внутрішнім по відношенню до системи, яку захищають, (li), або зовнішнім (le).R: ресурс, який атакується. Ресурси поділяються по розташуванню і за типом. За розташуванням: вузлові (rl), мережеві (rn). По типу: користувальницькі ресурси (ru), системні ресурси (rs), ресурси СКБД (Rd), обчислювальні ресурси (rc), ресурси захисту (rp). A: цільовий вплив на ресурс: збір інформації (as), отримання прав користувача ресурсу (au), отримання прав адміністратора ресурсу (ar), порушення цілісності ресурсу (ai), порушення працездатності ресурсу (ad). D: ознака розподіленого характеру атаки: розподілені (dd), нерозподілені (dn).
Частина систем, що аналізується орієнтована на виявлення вузлових атак, і використовує для аналізу такі джерела як журнали реєстрації додатків, ОС, журнали систем аудиту (OSSEC). Інші системи виявляють тільки зовнішні (мережеві) атаки і використовують для аналізу інформацію, що отримується з каналів передачі даних у мережі (Bro, Snort). Решта систем є гібридними і виявляють як локальні, так і зовнішні атаки (STAT, Prelude).
Система Bro є мережевою системою виявлення вторгнень. Вона являє собою набір модулів декомпозиції даних різних мережевих протоколів (від мережевого до прикладного рівня) і набір сигнатур над подіями відповідних протоколів. Сигнатури Bro фактично являють собою регулярні вирази в алфавітах протоколів.
Дана система виявляє вторгнення наступних класів (L, R, A, D):
= {li ∪
le} (внутрішні та зовнішні атаки);= {rn} ∩ {ru ∪
rs} (атаки на мережеві користувальницькі ресурси і системні ресурси);= {as ∪
au ∪
ar ∪
ad} (збір інформації про систему, спроби отримання прав користувача, спроби
отримання прав адміністратора і порушення працездатності ресурсу);= {dn ∪
dd} (нерозподілені та розподілені).
Система OSSEC, єдина з розглянутих в даній роботі, є спочатку орієнтованою на виявлення атак рівня системи (вузлових). Вона найбільш «молода» з розглянутих систем; її остання версія призначена, зокрема, для аналізу журналів реєстрації UNIX, типових додатків (ftpd, apache, mail, etc), а також журналів міжмережевих екранів і мережевих СВВ. OSSEC включає в себе набір аналізаторів для різних джерел даних, контроль цілісності файлової системи, сигнатури відомих троянських закладок (rootkits).
Виявляються атаки наступних класів:
= {li} (атакуючі об'єкти знаходяться всередині системи);= {rl} ∩ {ru ∪ rs} (вузлові користувальницькі та системні ресурси);= {au ∪ ar ∪ ai} (спроби отримання прав користувача, спроби отримання прав адміністратора, порушення цілісності ресурсу);= {dn ∪ dd} (нерозподілені та розподілені).
Система STAT є експериментальною університетською розробкою, і найбільш «старою» з розглянутих систем - перші публікації про STAT датуються 1992 роком. Система включає в себе набір компонентів виявлення атак різних рівнів - мережевий (NetSTAT), вузловий (USTAT, WinSTAT), додатків (WebSTAT), тобто є класичною гібридною системою. СВВ виявляє вторгнення наступних класів: (L, R, A, D). Де:
= {li ∪
le} (внутрішні та зовнішні атаки);= {rl ∪
rn} ∩ {ru ∪ rs} (атаки на
вузлові або мережеві користувальницькі ресурси і системні ресурси);= {as ∪
au ∪
ar ∪
ad} (збір інформації про систему, спроби отримання прав користувача, спроби
отримання прав адміністратора і порушення.
Система Prelude, є гібридною, тобто здатна виявити атаки як на рівні системи, так і на рівні мережі. Дана система спочатку розроблялася в якості самостійної СВВ, але в даний час є високорівневою надбудовою над відкритими СВВ і системами контролю цілісності (AIDE, Osiris тощо). Вузлова частина Prelude має досить широкий набір описів атак і, як джерело інформації, використовує різні журнали реєстрації:
журнали реєстрації брандмауера IPFW;
журнали реєстрації NetFilter ОС Linux;
журнали реєстрації маршрутизаторів Cisco and Zyxel;
журнали реєстрації GRSecurity;
журнали реєстрації типових сервісів OC UNIX та інші.
СВВ виявляє атаки наступних класів: (L, R, A, D). Де:
= {li ∪
le} (внутрішні та зовнішні атаки);= {rl ∪
rn} ∩ {ru ∪ rs ∪
rp} (атаки на локальні чи мережеві користувальницькі ресурси, системні ресурси
і ресурси захисту);= {as ∪ au ∪
ar ∪
ad} (збір інформації про систему, спроби отримання прав користувача, спроби
отримання прав адміністратора і порушення працездатності ресурсу);= {dn}
(нерозподілені).
Система Snort це найбільш популярна на сьогоднішній день некомерційна СВВ. Вона активно і динамічно розвивається, оновлення бази відомих атак відбуваються з частотою, яка порівнюється з комерційними аналогами (зазвичай поновлення Snort випереджають комерційні). Snort є чисто мережевою СВВ і, крім основної бази описів атак, має набір модулів для виявлення специфічних атак або реалізують альтернативні методи виявлення.
Система здатна виявити атаки наступних класів (L, R, A, D):
= "внутрішні" ∪
"зовнішні";= {rl ∪ rn} ∩
{ru ∪
rs ∪
rp} (атаки на локальні чи мережеві користувальницькі ресурси, системні ресурси
і ресурси захисту);= {as ∪ au ∪
ar ∪
ad} (збір інформації про систему, спроби отримання прав користувача, спроби
отримання прав адміністратора і порушення працездатності ресурсу);= {dn ∪
dd} (нерозподілені та розподілені).
Жодна з розглянутих систем не покриває всю безліч класів атак. Слід також зазначити, що ці системи використовують не адаптивні методи виявлення вторгнень.
Рівень спостереження за системою визначає, на якому рівні система, що захищається збирає дані для виявлення атаки. Розрізняються системні і мережеві джерела. Усі розглянуті вище системи працюють з даними додатків та операційної системи на вузловому рівні , а також з мережевими даними, тобто інформація, що аналізується виходить з вторинних джерел, таких як журнали реєстрації додатків, ОС, або з мережевого каналу передачі даних. Система OSSEC працює виключно з журналами реєстрації додатків і операційної системи. Системи Bro, Snort аналізують тільки мережеві дані. Системи NetSTAT і Prelude аналізують як дані з локальних системних джерел, так і мережеві дані.
Адаптивність до невідомих атакам визначає, чи дозволяє використовуваний метод виявляти раніше невідомі атаки. На даний момент ця можливість в розглянутих СВВ відсутня. Можливе використання експериментального модуля статистичного аналізу системи Snort, але його ефективність не вивчена. За рахунок контролю цілісності ресурсів вузла в OSSEC присутня умовна адаптивність. Проте, слід визнати, що контроль цілісності вирішує не завдання виявлення атак, а лише завдання виявлення їх наслідків.
Масштабованість являє собою організацію управління системою та розподіленість архітектури системи виявлення вторгнень. Дані СВВ, за винятком Bro є добре масштабованими.
Відкритість визначає, наскільки система є відкритою для інтеграції в неї компонентів сторонніх розробників і для сполучення її з іншими системами захисту інформації. Три з розглянутих систем, за винятком Bro і OSSEC, мають відкритий інтерфейс для додавання нових аналізують модулів, а також використовують стандартний для систем виявлення атак формат обміну повідомленнями (IDMEF). NetSTAT має відкритий інтерфейс для додавання нових агентів і фільтрів. Prelude має відкритий інтерфейс для додавання нових модулів аналізу та реагування, а так само ведення журналів реєстрації. Обмін повідомленнями між компонентами системи відбувається за стандартом IDMEF (Intrusion Detection Message Exchange Format), оптимізованому для високошвидкісної обробки. Snort має відкритий інтерфейс для додавання нових модулів аналізу; є модуль, який реалізує протокол SNMPv2.
Вбудовану можливість реагування на атаку мають всі розглянуті системи. В системі NetSTAT це реалізовано лише в тестовому варіанті. Система Prelude має набір агентів у відповідь реакції, які можуть блокувати атакуючого за допомогою брандмауера. Ведуться роботи по агентам, здатним або повністю ізолювати атакуючого, або зменшити пропускну здатність його каналу. Система Snort має вбудовану обмежену можливість реагування на атаку шляхом відправки TCP - пакетів, що розривають з'єднання (з встановленим прапором RST), а також ICMP- пакетів, які повідомляють атакуючому вузлу про недоступність вузла, мережі або сервісу. Аналогічна функціональність з реагування доступна в системі Bro. Система OSSEC дозволяє використовувати довільні команди для реагування - для цього необхідно статично задати відповідність між подією, командою і параметрами її виклику.
Захищеність. Всі системи, які пересилають які-небудь дані, використовують для цього захищені канали. STAT і Prelude використовують бібліотеку OpenSSL для шифрування каналу між компонентами. Snort реалізує протокол SNMPv2, в якому присутні функції шифрування паролів при передачі даних. СВВ Prelude має додаткові механізми, що забезпечують безпеку її компонентів. У системі використовується спеціалізована бібліотека, яка робить безпечними такі бібліотечні функції алгоритмічної мови С як printf, strcpy, які не перевіряють розмір переданих ним даних. Додаткові модулі аналізу мережевих даних роблять систему стійкою до некоректних мережевих пакетів на різних рівнях стека і виходу її компонентів з ладу. Такі атаки, як відправка пакетів з неправильними контрольними сумами, обнуленими прапорами TCP, ресинхронізація сесій, випадкова відправка і «обрізання» сегментів системою ігноруються. З розглянутих систем питання безпеки найбільш опрацьований у системі Prelude.
Таким чином, якась «ідеальна» СВВ володіє такими властивостями:
покриває всі класи атак (система повна);
дозволяє аналізувати поведінку РІС, яку захищає на всіх рівнях: мережевому, вузловому і рівні окремих додатків;
адаптивна до невідомих атакам ( використовує адаптивний метод виявлення атак);
масштабується для РІС різних класів: від невеликих локальних мереж класу «домашній офіс» до великих багатосегментних і комутованих корпоративних мереж, забезпечуючи можливість централізованого управління всіма компонентами СВВ;
є відкритою;
має вбудовані механізми реагування на атаки;
є захищеною від атак на компоненти СВВ, у тому числі від перехоплення управління або атаки «відмова в обслуговуванні».
В таблиці 1.1. наведено характеристики провідних систем виявлення вторгнень. На підставі проведеного порівняльного аналізу можна зробити висновок, що жодна з розглянутих вище відкритих СВВ, не відповідає повною мірою критеріям «ідеальної» СВВ.
Основним недоліком є відсутність адаптивності до
невідомих атакам і неможливість аналізувати поведінку об'єктів РІС на всіх
рівнях одночасно. З розглянутих систем жодна не покриває всі рівні
спостереження, та інформація,що аналізується кожною системою неповна з точки
зору можливості виявлення атак усіх класів.
Таблиця 1.1
Порівняльна характеристика провідних систем виявлення вторгнень
|
|
Bro |
OSSEC |
STAT |
Prelude |
Snort |
|
|
|
1 |
2 |
3 |
4 |
5 |
|
|
Клас виявлення атак |
({li ∪ le}, {rl} ∩ {ru ∪ rs ∪ rc}, {as ∪ au ∪ ar ∪ ad}, {dn}) мережеві атаки |
({li },{rl} ∩ {ru ∪ rs}, {au ∪ ar ∪ ai}, {dn}) вузлових атак |
({li ∪ le}, {rl ∪ rn) ∩ (ru ∪ rs}, {as ∪ au ∪ ar ∪ ad}, {dn}) локальні і зовнішні атаки |
({li ∪ le}, {rl ∪ rn) ∩ {ru ∪ rs ∪rp}, {as ∪ au ∪ ar ∪ ad}, {dn∪ dd}) локальні і зовнішні атаки |
({li ∪ le}, {rl ∪ rn) ∩ {ru ∪ rs ∪ rp}, {as ∪ au ∪ ar ∪ ad}, {dn}) мережеві атаки |
|
|
Рівень спостереження за системою |
Системний |
Системний |
Системний, мережевий |
Системний, мережевий |
Мережевий |
|
|
Метод виявлення атак |
Сигнатурний |
Сигнатурний |
Сигнатурний |
Сигнатурний |
Сигнатурний |
|
|
Адаптивність |
- |
+/- |
- |
- |
- |
|
|
Реакція |
- |
- |
+ |
+ |
+ |
|
|
Захист |
- |
- |
SSL |
SSL, Libsafe |
- |
|
|
Масштабованість |
- |
+ |
+ |
+ |
- |
|
|
Відкритість |
Відкритий API |
Відкритий API |
Відкритий API |
Відкритий API, IDMEF |
Відкритий APISNMPv2 |
|
На даний момент найбільш сприятлива система виявлення вторгнень - це Prelude, яка дозволяє забезпечити аналіз як даних з локальних системних джерел, так і мережевих даних, має додаткові механізми, що забезпечують безпеку її компонентів. З усіх розглянутих в даній роботі систем, система Prelude має найменше недоліків як в архітектурі, так і в реалізації. Вона потребує постійного оновлення бази знань про атаки описами нових атак, які виробляються експертами, тобто в даній системі відсутня адаптивність до невідомих атак.
Водночас, зважуючи на переваги зазначеної системи над іншими, слід відмітити, що ця IDS в останні роки практично не розвивається. Система проста в налаштуванні і обслуговуванні, проте в ній досить багато доводиться налаштовувати «руками», без зручного графічного інтерфейсу, що в свою чергу призводить до того що система не може бути використана оператором з низькою кваліфікацією і вимагає спеціальних знань та навчання. А також на сьогоднішній день атака триває не більше декількох секунд і може завдати дуже чутливу шкоду ІМ, тому адміністратор безпеки вимушений оперативно приймати рішення стосовно дій СВВ, що не дає змогу зробити виведення інформації в командний рядок, оскільки аналіз отриманих даних займає дуже багато часу. «Ручний» аналіз не дозволить своєчасно виявити і запобігти багатьом атакам.