Блог з безпеки FireAI

Автор FireAI Security & Research Team · Опубліковано

FireAI 1.0: оновлений інтерфейс, що показує стан мережі Mac з першого погляду

FireAI 1.0: оновлений інтерфейс, що показує стан мережі Mac з першого погляду

FireAI 1.0, випущений 30 вересня 2026 року, змінює те, як фаєрвол показує, що Mac робить у мережі. FireAI — мережевий фаєрвол для macOS, розроблений HisnLabs, з моделлю ШІ на пристрої, що пропонує рішення. Ця нотатка перелічує зміни з версії 0.1.8, і кожна зміна випливає з одного з чотирьох проєктних рішень, описаних нижче.

Ці чотири рішення такі: показувати стан, а не просити користувача читати числа; діяти там, куди дивишся; нічого не рухається, доки щось не відбувається, що також знижує навантаження на процесор; і кожне сповіщення простими словами каже, що сталося і що з цим можна зробити.

Що змінилося з версії 0.1.8

Примітки до випуску кожної збірки наведено на сторінці випусків.
СфераРаніше (0.1.8)Тепер (1.0)
Мапа світуДуги показували загальні суми за весь час; точки рухалися навіть на неактивних з’єднанняхРіки даних: ширина й рухомі точки відповідають живій пропускній здатності й з’являються лише під час передавання даних; затінення дня й ночі; кільце живого трафіку
КраїниНе показувалися списком«Запити за країнами» під глобусом, з кнопками «Фільтр» і «Заблокувати» в кожному рядку
Сповіщення про вивантаженняОкремого сповіщення про вивантаження не булоНезвичне вивантаження до країни позначається в списку, на глобусі, на «Головній» і в рядку меню
АктивністьСписки з’єднань60-секундна смуга серцебиття для кожного з’єднання; «Відтворити» для заблокованих з’єднань
ГоловнаЧислові показникиПігулка «погоди приватності» й талісман, що реагує на події
ПропозиціїСписок пропозиційСтос карток «Швидкого перегляду» з відповідями перетягуванням і з клавіатури
ЗагрозиПодробиці загрозиХронологія «Чому?» з тим, що було помічено
Рядок менюЗначок стануЧервоний спалах під час блокування; червона стрілка й код країни під час сплеску вивантаження
FireAI PilotОдин профіль для всього Mac у 0.1.8; для кожної мережі починаючи з 0.1.8 build 3Навчається для кожної мережі Wi-Fi і кожного режиму безпеки
Навантаження на процесорЗнижено починаючи з 0.1.8 build 3Перемальовується лише те, що змінилося; глобус призупиняється у фоновому режимі

«Мапа світу»: пропускна здатність як форма

У 0.1.8 дуги на мапі відображали загальні суми за весь час, а їхні точки рухалися навіть на з’єднаннях, що вже затихли. Загальна сума мало що каже про теперішнє, а рухома точка на неактивній лінії вказує на активність, якої немає. Тепер «Мапа світу» малює «ріки даних». Ширина лінії відповідає живій пропускній здатності в логарифмічній шкалі приблизно від 1 KB/s до приблизно 1 MB/s. Білі точки біжать від Mac, поки програма вивантажує дані, а кольорові повертаються назад, поки вона завантажує, і лише під час передавання даних. Неактивні лінії залишаються тонкими й нерухомими, тож рух на мапі завжди означає трафік. Подробиці наведено в документації «Мапи світу».

Контекст додається там, де він змінює прочитання з’єднання. Справжній нічний бік Землі затінено, невеликий місяць позначає адреси, активні в той час, коли там ніч, а картка з’єднання показує приблизний місцевий час на адресі призначення, наприклад «Там близько 1 ночі». Кільце навколо глобуса показує частку кожної країни в поточному трафіку з підписом «LIVE · 1.2 MB/s». Наведення на сегмент показує країну, її частку й швидкість і робить блідішими лінії інших країн, щоб одну країну можна було прочитати окремо.

«Запити за країнами»: дія там, куди дивишся

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

Проєктна причина — близькість між спостереженням і дією. Наведення на рядок відкриває дві кнопки. «Фільтр» обмежує і глобус, і список цією країною. «Заблокувати» після підтвердження створює правила блокування для адрес, уже помічених там. Нові адреси в цій країні й далі викликають запит або підпорядковуються поточному режиму, тож дія охоплює те, що було помічено, і мовчки не поширюється на те, що не було. Див. «Запити за країнами» та сплески вивантаження.

Сплески вивантаження: сповіщення, що називає країну

Країну позначено, коли вона отримує щонайменше 5 MB за останні 10 секунд і щонайменше вдесятеро більше від свого звичного темпу. Країна переміщується на верх списку червоним кольором зі своєю швидкістю, наприклад «↑ 4.2 MB/s», а червоний рядок повідомляє «Незвичне вивантаження до Франції · з 14:02». Глобус показує червоні лінії й пульсуючу позначку, «погода» на «Головній» змінюється на «Гроза», а рядок меню показує червону ↑ з кодом країни.

Отже, той самий факт показано в чотирьох місцях, кожне з яких відповідає рівню уваги, на якому, ймовірно, перебуває користувач: рядок меню — для побіжного погляду, «Головна» — для сеансу роботи, мапа — для дослідження, а список — для рішення. Позначка зберігається протягом однієї хвилини після завершення сплеску. Стабільне вивантаження, як-от резервне копіювання, стає нормою приблизно через дві хвилини, що обмежує повторні сповіщення про очікувану поведінку. FireAI не блокує трафік самостійно; сповіщення повідомляє, що сталося, і залишає рішення користувачеві.

«Активність»: хвилина поведінки в одній смузі

Кожне з’єднання тепер має 60-секундну смугу серцебиття — на своїй картці та як стовпець «Остання хвилина» в таблиці. Пік — це сплеск, хвиля — стабільний потік, червона риска — заблокована спроба, а пряма лінія — тихе з’єднання. Смуга оновлюється раз на секунду й лише тоді, коли видима на екрані. Вона замінює ряд числових показників швидкості формою, яку можна з першого погляду порівняти між з’єднаннями. Подробиці — в «Активність» та історія з’єднань.

Заблоковане з’єднання має кнопку «Відтворити». Вона програє 2-секундну анімацію: пакет залишає програму, талісман FireAI тієї частини, що його заблокувала, перехоплює пакет, а на адресі призначення з’являється ✕. Після анімації показано, що саме заблокувало з’єднання і скільки разів воно намагалося. Мета — відповісти на питання «що це зупинило» в тому порядку, в якому відбувалися події, без окремого перегляду журналу.

«Головна», рядок меню й талісман: ніщо не рухається без причини

«Головна» тепер починається з пігулки «погоди приватності». «Ясно» означає, що цієї години нічого не було заблоковано, «Кілька хмар» і «Зливи» означають кілька й багато заблокованих з’єднань, «Гроза» — сплеск вивантаження, а «Під укриттям» — що ввімкнено аварійний вимикач. «Штиль» і «Тиха ніч» означають, що назовні майже нічого не йде. Вибір пігулки відкриває «Активність» або, під час грози, «Мапу світу». Документація «Головної» описує кожен стан.

3D-талісман реагує на ті самі події. Він хитає головою у відповідь на серію блокувань, визначену як п’ять або більше за 10 секунд, підстрибує під час сплеску вивантаження й дрімає пізно вночі, коли майже нічого не передається. Коли нічого не відбувається, він нічого не малює. Значок у рядку меню підпорядковується тому самому правилу: він спалахує червоним приблизно на секунду під час блокування, не частіше ніж раз на 3 секунди, і показує червону ↑ з кодом країни під час сплеску вивантаження (див. Віджет рядка меню). Анімація тут використовується як сигнал, тож її відсутність також є інформацією.

«Швидкий перегляд», хронологія «Загроз» і FireAI Pilot

«Швидкий перегляд» перетворює список пропозицій на стос карток. Перетягування картки або натискання ← блокує, → дозволяє, ↓ пропускає, а Esc зупиняє. Під час перетягування з’являються штампи BLOCK і ALLOW, тож результат видно ще до того, як картку відпущено, а наприкінці показано підсумок. Кожна відповідь створює правило й навчає FireAI Pilot, тож рішення ухвалюється один раз, а використовується двічі.

На сторінці «Загрози» хронологія «Чому?» показує, коли програма вперше вийшла в мережу і чи була вона підписана, її перший контакт із сервером і країну сервера, тривожні ознаки, а також що зробив FireAI. Таким чином висновок супроводжується доказами в хронологічному порядку.

FireAI Pilot навчається для кожної мережі Wi-Fi і кожного режиму безпеки — зміна, що почалася в 0.1.8 build 3 і входить до 1.0. Мережа зберігається як короткий відбиток її назви чи збереженого місця, ніколи не як сама назва, і лише на Mac. Для читання назви Wi-Fi потрібен дозвіл на доступ до геолокації. Рішення, ухвалене в іншій мережі, важить приблизно третину від рішення, ухваленого в поточній.

Нижче навантаження на процесор

Правило, що ніщо не рухається, доки щось не відбувається, має побічний ефект для використання ресурсів. «Головна» перемальовує лише те, що змінилося, глобус малюється з частотою 24 кадри на секунду й призупиняється, коли FireAI у фоновому режимі, а 3D-талісман перестає малюватися після своєї появи. Смуги серцебиття оновлюються лише тоді, коли видимі. FireAI — програма, що працює безперервно поряд з іншою роботою, тож інтерфейс розроблено так, щоб він мало коштував, коли мережа спокійна.

Принципи проєктування, яких ми дотримуємося

  • Показувати стан, а не числа: ширина, колір, форма й слово про погоду передають зміст до того, як прочитано будь-яке число.
  • Діяти там, куди дивишся: «Фільтр» і «Заблокувати» розташовано в рядку країни, «Відтворити» — на заблокованому з’єднанні, відповіді — на картці.
  • Ніщо не рухається, доки щось не відбувається: рух сигналізує про трафік, а нерухомість — про тишу.
  • Кожне сповіщення простими словами каже, що сталося і що можна зробити, і FireAI не діє щодо сплеску вивантаження без користувача.
  • Дії охоплюють те, що було помічено: блокування країни застосовується до вже помічених адрес, а нові залишає поточному режиму.

Обмеження

  • Поріг вивантаження (щонайменше 5 MB за 10 секунд і вдесятеро більше від звичного темпу) є евристикою. Коротке легітимне вивантаження нижче порогу не позначається, а велике до країни, яка регулярно отримує великі вивантаження, може не позначитися.
  • Країну адреси призначення визначено за її адресою, а місцевий час і позначка ночі є наближеннями для цієї країни.
  • Блокування за країною охоплює вже помічені адреси. Це не правило проти країни загалом.
  • Стабільне вивантаження за задумом стає нормою приблизно через дві хвилини, тож повільна безперервна передача даних після цього періоду не позначається.
  • Без дозволу на доступ до геолокації FireAI не може прочитати назву Wi-Fi, і FireAI Pilot тоді не може розрізняти мережі.

Як оновитися

FireAI оновлюється сам із налаштувань. Користувачі без автоматичних оновлень можуть завантажити FireAI 1.0 і безкоштовно спробувати його 17 днів. Сторінка випусків перелічує зміни кожної збірки.

Яке місце тут посідають FireAI та HisnLabs

Бачте, з чим з’єднується ваш Mac, і дійте з того самого екрана.

FireAI — це власний продукт HisnLabs: ШІ-фаєрвол, який працює безпосередньо на вашому Mac. Він показує простою мовою кожне з’єднання, яке встановлюють ваші застосунки, і дає вам вирішувати, що покидає ваш Mac, — його ШІ працює локально, тож ваш трафік ніколи не надсилається ні нам, ні будь-кому іншому. Команда дослідників безпеки HisnLabs — саме вона підтримує точність цих рішень: каталогізує, які домени є звичайною телеметрією, а які — справжнім сервісом, відстежує країну та мережу за з’єднанням і навчає локальну модель (функцію FireAI Pilot) на реальних шаблонах трафіку — і нічого з цього не покидає ваш Mac.

Ви можете почитати про технічні рішення, що лежать в його основі, або спробувати FireAI протягом 17 днів на сторінці FireAI від HisnLabs.

Джерела