7 інструментів для моніторингу безпеки хмарних систем
Це — переклад статті, де детально розглянуто 7 опенсорсних інструментів для моніторингу. Ділимося ним із вами та бажаємо приємного читання!
1. Osquery
Osquery — це система для низькорівневого моніторингу та аналізу операційних систем. Вона дає фахівцям з безпеки проводити складні дослідження даних із використанням SQL. Фреймворк Osquery може працювати на Linux, macOS, Windows і FreeBSD.
Виглядає він як високопродуктивна реляційна база даних, а це дає змогу безпековикам досліджувати ОС виконанням SQL-запитів. Наприклад, за допомогою запиту можна дізнатися про процеси, що виконуються, завантажені модулі ядра, відкриті мережеві з’єднання, встановлені розширення браузера, апаратні події та хеш-суми файлів.
Osquery створений Facebook. Його код відкрили 2014 року, коли компанія зрозуміла, що таких інструментів потребує не тільки Facebook. Відтоді Osquery користуються фахівці з таких компаній, як Dactiv, Google, Kolide, Trail of Bits, Uptycs і з багатьох інших. Нещодавно стало відомо, що Linux Foundation і Facebook сформують фонд підтримки Osquery.
Демон моніторингу хостів Osquery називається osqueryd. Він допомагає планувати виконання запитів для збору даних з усієї інфраструктури організації. Демон збирає результати запитів і створює журнали, які відображають зміну стану інфраструктури. Так безпечники залишаються в курсі стану справ у системі, що особливо корисно для виявлення аномалій.
Можливості Osquery з агрегації журналів використовують для полегшення пошуку відомих і невідомих шкідливих програм. Ще система корисна для виявлення місць проникнення зловмисників у систему і для пошуку встановлених ними програм. Ось матеріал, у якому можна знайти подробиці про виявлення аномалій за допомогою Osquery.
2. GoAudit
Система аудиту Linux складається з двох основних компонентів. Перший — це код рівня ядра, призначений для перехоплення і моніторингу системних викликів. Другий — це демон auditd, що працює в користувацькому просторі. Він відповідає за запис на диск результатів аудиту.
GoAudit — система від Slack, випущена в 2016 році. Зроблена вона на заміну auditd. У ній більше можливостей логування: GoAudit конвертує багаторядкові повідомлення про події в єдині BLOB-об’єкти JSON, що спрощує аналіз.
Завдяки GoAudit можна безпосередньо звертатися до механізмів рівня ядра по мережі. Крім того, можна увімкнути мінімальну фільтрацію подій на самому хості або повністю відключити фільтрацію.
GoAudit не тільки забезпечує безпеку. Цей інструмент задуманий як багатофункціональний засіб для фахівців, що займаються підтримкою систем або розробкою. Він допомагає боротися з проблемами у великомасштабних інфраструктурах.
Система GoAudit написана на Golang. Перед встановленням GoAudit перевірте, щоб наявна у вас версія Golang була вищою за 1.7.
3. Grapl
Проєкт Grapl (Graph Analytics Platform) перевели в опенсорс у березні минулого року. Це порівняно нова платформа для виявлення проблем із безпекою, проведення експертизи та для формування звітів про події.
Нападники часто користуються чимось на кшталт моделі графа, отримуючи контроль над окремою системою і досліджуючи інші мережеві системи на основі першої зламаної. Тож не дивно, що і безпековики використовують механізм на основі моделі графа зв’язків мережевих систем, який враховує особливості відносин між системами. У Grapl виявляють інциденти і реагують на них на основі моделі графа, а не на моделі журналу.
Інструмент Grapl приймає журнали, що мають відношення до безпеки (логи Sysmon або логи у форматі JSON) і конвертує їх у підграфи, визначаючи ідентифікаційну інформацію для кожного вузла. Після цього він об’єднує підграфи в загальний граф (Master Graph) з діями, виконаними в аналізованих оточеннях.
Потім Grapl запускає на графі аналізатори (Analyzers) із «сигнатурами нападника» для виявлення аномалій і підозрілих патернів. Коли аналізатор виявляє підозрілий підграф, Grapl генерує конструкт Engagement, потрібний для проведення розслідувань. Engagement — це Python-клас, який можна завантажити, наприклад, у Jupyter Notebook, розгорнутий в AWS.
Ще Grapl вміє збільшувати масштаби збору інформації для розслідування інциденту через розширення графа. Якщо ви хочете краще розібратися з Grapl, то можете подивитися це цікаве відео — запис виступу з BSides Las Vegas 2019.
4. OSSEC
OSSEC — проєкт, заснований у 2004 році. Це опенсорсна платформа моніторингу безпеки для аналізу хостів і виявлення вторгнень. За рік OSSEC завантажують понад 500000 разів.
Цю платформу часто використовують як засіб виявлення вторгнень на сервери. Причому йдеться як про локальні, так і про хмарні системи.
Ще OSSEC використовують як інструмент для дослідження журналів моніторингу та аналізу файрволів, систем виявлення вторгнень, вебсерверів, а також для вивчення журналів аутентифікації.
OSSEC комбінує можливості хостової системи виявлення вторгнень (HIDS) із системою управління інцидентами у сфері безпеки (SIM) і з системою управління інформацією про безпеку та подіями безпеки (SIEM).
OSSEC моніторить цілісність файлів у реальному часі. Це, наприклад, моніторинг реєстру Windows, виявлення руткітів. Ще він вміє сповіщати зацікавлених осіб про виявлені проблеми в режимі реального часу і допомагає оперативно реагувати на знайдені загрози. Ця платформа підтримує Microsoft Windows і більшість сучасних Unix-подібних систем: Linux, FreeBSD, OpenBSD і Solaris.
Платформа OSSEC складається з менеджера, що використовується для отримання та моніторингу інформації від агентів — маленьких програм, встановлених у системах, які треба моніторити.
Підтримкою проєкту OSSEC займається компанія Atomicorp. Вона керує безкоштовною опенсорсною версією і пропонує розширену комерційну версію продукту. Ось подкаст, у якому менеджер проєкту OSSEC розповідає про свіжу версію системи — OSSEC 3.0. Там же йдеться про історію проєкту і про те, чим він відрізняється від сучасних комерційних систем у сфері комп’ютерної безпеки.
5. Suricata
Suricata — це опенсорсний проєкт, орієнтований на розв’язання основних завдань комп’ютерної безпеки. Проєктом займається Open Information Security Foundation (OISF). До складу Suricata входить система виявлення вторгнень, система запобігання вторгнень та інструмент для моніторингу мережевої безпеки.
Цей продукт з’явився 2009 року. Його робота заснована на тому, що адміністратор може задавати правила для мережевого трафіку. Якщо правило спрацьовує, то Suricata генерує повідомлення, блокуючи або розриваючи підозріле з’єднання.
Suricata підтримує роботу в багатопотоковому режимі. Це дає змогу швидко обробляти велику кількість правил у мережах, якими проходять великі обсяги трафіку. Завдяки підтримці багатопоточності звичайний сервер може аналізувати трафік на швидкості в 10 Гбіт/с. Адміністратору не потрібно обмежувати використовувані для аналізу правила.
Ще проєкт підтримує хешування і вилучення файлів. Корисна підтримка Lua-скриптів, за допомогою яких можна створювати складну і деталізовану логіку аналізу сигнатур загроз.
Suricata можна налаштувати з розрахунку на роботу на звичайних серверах або на віртуальних машинах, наприклад, в AWS, з використанням можливості traffic-monitoring, яка нещодавно з’явилася в продукті.
6. Zeek (Bro)
Як і Suricata, Zeek (цей проєкт раніше називався Bro) — це теж система для виявлення вторгнень та інструмент для моніторингу мережевої безпеки, який може виявляти аномалії, такі, як підозрілі або небезпечні дії.
Zeek відрізняється від традиційних IDS тим, що, на відміну від систем, заснованих на правилах, що виявляють винятки, Zeek ще й захоплює метадані, пов’язані з тим, що відбувається в мережі. Робиться це для того, щоб краще зрозуміти контекст незвичайної мережевої поведінки. Це дає, наприклад, аналізуючи HTTP-виклик або процедуру обміну сертифікатами безпеки, глянути на протокол, на заголовки пакетів, на доменні імена.
Якщо розглядати Zeek як інструмент мережевої безпеки, то він дає фахівцеві провести розслідування події, дізнавшись про те, що сталося до або під час інциденту. Zeek конвертує дані про мережевий трафік у високорівневі події та дає можливість працювати з інтерпретатором скриптів. Інтерпретатор підтримує мову програмування, яка використовується для організації взаємодії з подіями і для з’ясування того, що саме означають ці події в плані мережевої безпеки.
Мова програмування Zeek може використовуватися для налаштування інтерпретації метаданих так, як потрібно конкретній організації. Вона дозволяє будувати складні логічні умови з використанням операторів AND, OR і NOT. Це дає користувачам налаштовувати процедуру аналізу їхніх оточень. Щоправда, треба зазначити, що, порівняно з Suricata, Zeek може здатися досить складним інструментом під час проведення розвідки загроз безпеки.
Якщо вас цікавлять подробиці про Zeek – зверніться до цього відео.
7. Panther
Panther — це потужна, спочатку орієнтована на роботу в хмарі платформа для організації безперервного моніторингу безпеки. Вона була переведена в розряд опенсорсних нещодавно. Біля джерела проєкту стоїть StreamAlert — рішення для автоматизованого аналізу журналів, код якого відкрила компанія Airbnb.
Panther дає користувачеві єдину систему для централізованого виявлення загроз у всіх оточеннях і для організації реакції на них. Ця система здатна рости разом із розміром інфраструктури, яку обслуговує.
Виявлення загроз організовано за допомогою прозорих правил. Це зроблено для того, щоб знизити відсоток хибнопозитивних спрацювань і знизити рівень непотрібного навантаження на фахівців з безпеки.
Серед основних можливостей Panther можна відзначити такі:
/ Виявлення неавторизованого доступу до ресурсів шляхом аналізу журналів.
/ Пошук загроз, реалізований через пошук у журналах показників, що вказують на проблеми з безпекою. Пошук проводиться з використанням стандартизованих полів даних Panther.
/ Перевірка системи на відповідність стандартам SOC/PCI/HIPAA з використанням вбудованих механізмів Panther.
/ Захист хмарних ресурсів завдяки автоматичному виправленню помилок у конфігуруванні, які, якщо ними скористаються зловмисники, здатні призвести до виникнення серйозних проблем.
Panther розгортається в AWS-хмарі організації за допомогою AWS CloudFormation. Це дає змогу користувачеві завжди контролювати його дані.
Підсумки
Моніторинг безпеки систем — це найважливіше завдання в наші дні. У вирішенні цього завдання компаніям будь-якого масштабу можуть допомогти опенсорсні майже нічого не варті або безплатні інструменти, що дають масу можливостей.