Syswall динамічний брандмауер для системних дзвінків

системний екран

Syswall - це нова розробка, призначена для створення подібності динамічного брандмауера для фільтрації доступу програм до системних викликів. Код проекту написаний мовою Rust, ліцензія не вказана.

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

Про Сісволл

Сісволл підтримує інтерактивний режим в якому відстежуваний процес зупиняється перед здійсненням системного виклику і користувача просять продовжити або проігнорувати операцію (наприклад, ви можете відстежувати спроби відкрити кожен файл або процес підключення до мережі).

Syswall також може збирати статистичні дані про здійснені системні дзвінки та створювати на основі них звіт.

Цілі syswall такі:

в забезпечити вдосконалений варіант страйсу що простіше визначити, чим насправді займається програмне забезпечення.
Забезпечте середовище для тестування та експериментів із програмним забезпеченням, дозволяючи детальний та інтерактивний підхід до дозволу та відхилення системних дзвінків.

Кожен процес може мати файл конфігурації

Для кожного процесу, сВи можете підключити файл конфігурації до списку явно дозволених або заблокованих системних дзвінків.

Для підтримуваних дзвінків syswall дозволяє користувачеві виконувати такі дії:

  • Дозволити syscall один раз
  • Завжди дозволяйте саме цей системний виклик
  • Один раз заблокувати syscall (жорсткий чи м’який)
  • Завжди блокуйте цей конкретний системний виклик (твердий чи м'який)
  • При блокуванні програма може виконати блокування (жорстке або м'яке).

Під час інтерактивного сеансу можна дозволити або заблокувати певні системні дзвінки під час виконання та будь-які дзвінки до цього системного виклику, незалежно від того, де здійснюється доступ до програми.
Блокування підтримується в "жорсткому" та "м'якому" режимах.

Види замків

У першому випадку системний виклик не виконується, а код помилки доступу надсилається в процес. У другому випадку системний виклик також не виконується, але процес отримує фіктивний успішний код повернення, що імітує успішне виконання системного виклику.

Наприклад, на даний момент підтримується лише аналіз системних викликів, пов'язаний з файловими операціями.

Жорсткий блок заважає виконувати syscall і повертає дочірній процес помилку, відмовлену в дозволі. З іншого боку, м’який замок перешкоджає систематичному виклику, але намагається повернути відповідну відповідь дочірньому процесу, щоб зробити вигляд, що системний виклик насправді був виконаний.

У цьому випадку запити на підтвердження відображатимуться лише тоді, коли вони стосуються спеціально набраних або раніше відсутніх системних дзвінків.

Збережіть і завантажте конфігурацію процесу.

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

Це незавершена робота - завжди будуть збережені лише дозволені / заблоковані відповіді.

інформація

Коли дочірній процес закінчується, syswall видасть короткий звіт про системні виклики дочірнього процесу. Наразі він складається з усіх відкритих або заблокованих файлів, але буде розширений у наступних випусках.

Проект все ще перебуває у стадії функціонального прототипу, і не всі задумані можливості реалізовані.

Є ще що розвивати

Для проекту існує великий список справ, у майбутньому планується додати підтримку для додаткових класів системних дзвінків, lМожливість перевірити, беручи до уваги аргументи, передані системному виклику, засіб збереження стану процесу у файл для подальшого порівняння активності під час запуску різних програм (наприклад, для порівняння списків файлів та підключень мережі), опція ігнорувати завантаження динамічних бібліотек і підтримувати типовий набір налаштувань (наприклад, блокувати всі сокети, але дозволити доступ до файлів).


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.