Перейти до вмістуHisnLabs
← Захист мережі для одного комп'ютера

Урок 3 з 4 · 10 хв

Реєстрація та виявлення

Що варто реєструвати на одному Mac, і конкретні ознаки — маяки, аномалії DNS, непідписані двійкові файли — що щось потребує ближчого розгляду.

Брандмауер, який нічого не блокує і нічого не реєструє, є лише половиною захисту. Виявлення — це інша половина: помічати, коли щось на машині поводиться невідповідно. На одному Mac для цього не потрібен центр безпеки, але потрібно знати, як виглядає нормальне з’єднання, щоб помітити ненормальне.

Що варто рубати

На одному комп’ютері корисні категорії журналу відображають те, що відстежував би більший мережевий операційний центр, лише зменшений: які програми створювали які підключення, до яких місць призначення та коли; які програми запускалися та чи були вони підписані відомим розробником; і зміни параметрів безпеки, таких як брандмауер або Gatekeeper. Сама macOS зберігає уніфікований журнал, який охоплює системні події та події додатків, які можна переглянути в додатку Console або за допомогою log show, і там також записуються власні рішення брандмауера програм. Більшості людей бракує не точного ведення журналу, оскільки macOS уже багато чого реєструє, а чіткого перегляду вихідних з’єднань, оскільки це напрямок, у якому компроміс найімовірніше з’явиться в першу чергу.

Читання журналів з’єднань: як виглядає звичайне

Журнал з’єднань корисний лише тоді, коли ви маєте приблизне уявлення про те, що є нормальним для даної програми: очікується, що браузер часто підключається до багатьох різних доменів; програма для створення нотаток, яка робить те саме, не є. Для будь-якого з’єднання варто звернути увагу на три деталі: пункт призначення (домен або IP-адреса та, в ідеалі, хто ним керує), час (один раз, час від часу або через фіксований проміжок часу) і відповідальна за нього програма.

Індикатор: маячок

Beaconing — це повторюване, часто точно визначене за часом, вихідне з’єднання, яке використовується програмним забезпеченням для реєстрації на віддаленому сервері, іноді для отримання подальших інструкцій. Фреймворк ATT&CK від MITRE описує цей шаблон командно-контрольного трафіку прикладного рівня як те, що захисники шукають саме через «інтервали, схожі на маяки»: регулярний час, який не створить звичайна програма, керована користувачем, яка підключається, коли ви її використовуєте, і залишається тихою в іншому випадку. Одна програма, яка тихо з’єднується з тією самою адресою кожні кілька хвилин, цілодобово, незалежно від того, використовуєте ви її чи ні, — це модель, яку варто досліджувати, а не відкидати.

Індикатор: аномалії DNS

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

Індикатор: беззнакові двійкові файли

Очікується, що кожна законна програма для Mac має бути підписана кодом, і більшість також нотаріально завірені (про це йдеться в курсі посилення macOS на цьому сайті). Ви можете перевірити, чи підписано певну програму з терміналу:

Terminal
codesign -dv --verbose=4 /Applications/SomeApp.app
Executable=/Applications/SomeApp.app/Contents/MacOS/SomeApp
Identifier=com.example.someapp
...

Програма, яка взагалі не підписана або чий ідентифікатор не відповідає тому, що ви очікуєте від цієї програми, заслуговує на підозру, особливо якщо вона також з’являється у списку процесів, створюючи мережеві підключення, які ви не можете пояснити. Це перевірка лише для читання: вона перевіряє підпис, не запускає та не змінює програму.

IDS/IPS, в особистому масштабі

Система виявлення вторгнень (IDS) стежить за трафіком і попереджає про підозрілі схеми; система запобігання вторгненням (IPS) йде далі й автоматично блокує трафік. Корпоративні версії порівнюють трафік із великими підтримуваними наборами відомих сигнатур атак і моделей поведінки. На одному Mac брандмауер для кожної програми, який позначає нове або незвичне місце призначення та дозволяє вам вирішувати, функціонує як полегшена персональна версія тієї самої ідеї: виявлення з можливістю дії в масштабі однієї машини, а не всієї мережі.

Головне

  • Найкориснішим для входу на одному Mac є вихідні з’єднання за програмою, оскільки macOS уже реєструє більшість подій системи та безпеки в інших місцях.
  • Beaconing — це повторюване, часто регулярне вихідне з’єднання, незалежно від того, чи активно ви використовуєте відповідну програму.
  • Незвичайна діяльність DNS (довгі або випадкові на вигляд доменні імена, сплески незнайомих запитів) може вказувати на те, що дані переміщуються або виходять поза звичайним контролем веб-трафіку.
  • `codesign -dv --verbose=4 <path>` — це доступний лише для читання спосіб перевірити, чи підписано програму кодом і ким.
  • Персональний брандмауер для кожної програми, який позначає незвичайні місця призначення, функціонує як легкий IDS для однієї машини: виявлення з вибором дії.

Перевірте себе

  1. 1. Що робить «маяк» підозрілим, а не звичайне підключення?

    • Він використовує HTTPS
    • Це буває тільки один раз
    • Це повторюване, часто регулярне підключення, незалежно від того, чи активно використовується програма — Правильно.
    • Він надходить із браузера

    Звичайні програми підключаються, коли ви їх використовуєте; регулярні, заводські перевірки, незалежно від діяльності, є шаблоном, який MITRE ATT&CK асоціює з командно-адміністративним рухом.

  2. 2. Чому варто звернути увагу на незвичайну активність DNS?

    • DNS завжди зашифрований, тому аномалії трапляються рідко
    • Дані можна закодувати в DNS-запити та відповіді, щоб перемістити інформацію поза елементи керування, які перевіряють лише веб-трафік — Правильно.
    • Пошук DNS ніколи не відбувається на звичайному Mac
    • Це має значення лише для веб-серверів, а не для персональних комп’ютерів

    Тунелювання DNS приховує дані в трафіку DNS, оскільки багато засобів захисту не перевіряють DNS так ретельно, як трафік HTTP.

  3. 3. Що робить `codesign -dv --verbose=4 <app path>`?

    • Видаляє непідписану програму
    • Відображає підпис коду та ідентифікатор програми, не змінюючи їх — Правильно.
    • Блокує запуск програми
    • Встановлює правило брандмауера для програми

    Це команда перевірки лише для читання, яка показує інформацію про підпис для даної програми, що корисно для перевірки її законного підпису.

Застосуйте на практиці з FireAI

Застосуйте цей урок на своєму Mac.

Джерела

Застосуйте це на своєму Mac

Усі функції безкоштовно на 17 днів, без банківської картки.

Завантажити для Mac Документація