The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В рамках проекта syswall развивается файервол для системных вызовов

18.02.2019 23:47

Представлен проект syswall, нацеленный на создание подобия динамического межсетевого экрана для фильтрации доступа приложений к системным вызовам. Код проекта написан на языке Rust, лицензия не указана (дополнение: автор выбрал LGPLv3).

Syswall напоминает интерактивный вариант утилиты strace и позволяет отслеживать каждый выполняемый программой системный вызов. Ключевым отличием является то, что помимо вывода информации о системных вызовах и результатах их выполнения, syswall поддерживает интерактивный режим при котором перед выполнением системного вызова отслеживаемый процесс останавливается и пользователю выводится запрос на продолжение или игнорирование дальнейшей операции (например, можно контролировать попытки открытия каждого файла или сетевого соединения процессом). Syswall также может собирать статистику о выполняемых системных вызовах и на её основе формировать отчёт.

Для каждого процесса может подключаться файл конфигурации со списком явно разрешённых или запрещённых системных вызовов. В этом случае запросы на подтверждение будут выводиться только при обращении к специально обозначенным или ранее не встречающимся системным вызовам. Конфигурация оформляется в формате JSON и может быть сохранена на основе ответов в интерактивном сеансе.

В процессе интерактивного сеанса возможно разрешение или блокирование как конкретных системных вызовов в данный момент выполнения, так и любых обращений к данному системному вызову независимо от места обращения в программе. Поддерживается блокировка в режимах "hard" и "soft". В первом случае выполнение системного вызова не производится и процессу выводится код ошибки доступа. Во втором случае системный вызов также не выполняется, но процессу отдаётся фиктивный успешный код возврата, симулируя успешное выполнение системного вызова.

Проект пока находится на стадии рабочего прототипа и не все задуманные возможности воплощены. Например, пока поддерживается только разбор обращений к системным вызовам, связанным с выполнением файловых операций. В дальнейшем планируется добавить поддержку дополнительных классов системных вызовов, возможность проверки с учётом передаваемых в системный вызов аргументов, средства для сохранения состояния процесса в файл для последующего сравнения активности при разных запусках программы (например, для сравнения списков файлов и сетевых соединений), опцию для игнорирования загрузки динамических библиотек и поддержку типовых наборов настроек (например, блокировать все сокеты, но разрешить доступ к файлам).

  1. Главная ссылка к новости (https://www.polaris64.net/blog...)
  2. OpenNews: OpenBSD развивает Pledge, новый механизм изоляции приложений
  3. OpenNews: В OpenBSD из соображений безопасности удалены systrace и прослойка совместимости с Linux
  4. OpenNews: Доступна система изоляции приложений Firejail 0.9.40
  5. OpenNews: Выпуск strace 4.15 с функцией подмены системных вызовов
  6. OpenNews: Для ядра Linux предложена система изоляции приложений Capsicum, изначально созданная для FreeBSD
Лицензия: CC-BY
Тип: Программы
Ключевые слова: syswall, syscal, systrace, pledge, seccomp
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Гентушник (ok), 00:01, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]
  • +4 +/
    Если не считать интерактивность, то чем это лучше AppArmor?

    Интерактивный же запрос на каждый системный вызов это конечно слишком сурово...

     
     
  • 2.16, Аноним (16), 01:43, 19/02/2019 [^] [ответить]    [к модератору]
  • +3 +/
    есть еще seccomp. но некоторым людям нравится быть 'не такими как фсе'
     
  • 2.27, anonblmous (?), 08:22, 19/02/2019 [^] [ответить]     [к модератору]
  • +/
    Ну, будет в тех запросах режим обучения - разрешить запретить разрешать всегда ... весь текст скрыт [показать]
     
     
  • 3.30, Гентушник (ok), 08:51, 19/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Под ведроид ближайший известный мне аналог это XPrivacy, правда интерактивного р... весь текст скрыт [показать]
     
  • 2.37, Аноним (37), 09:41, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    >Если не считать интерактивность, то чем это лучше AppArmor?

    На Растишке же.

     
  • 2.47, Аноним (47), 12:55, 19/02/2019 [^] [ответить]    [к модератору]  
  • +3 +/
    Хипстота исправляет чужие недочеты - AppArmor написан не на Rust.
     
  • 2.64, выфвы (?), 19:12, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    ну начинается проактивные фаерволлы для линукс ;)..ответь на 100 вопросов антивируса разрешить или нет ;)
     
  • 1.5, Аноним (5), 00:19, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Какая глупость выбирать Rust для интерактивных приложений, когда у этого языка нет ни одного приличного GUI-тулкита.
     
     
  • 2.7, Аноним (-), 00:23, 19/02/2019 [^] [ответить]    [к модератору]  
  • –3 +/
    Опять GTK-фобы набежали…
     
     
  • 3.36, тов.майор (?), 09:33, 19/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Ключевое слово "приличного".
     
     
  • 4.39, Xasd5 (?), 10:03, 19/02/2019 [^] [ответить]    [к модератору]  
  • –5 +/
    выше же написали что есть GTK
     
     
  • 5.44, Аноним (-), 11:00, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    На какой стадии зачатия? 0.2? Да и на C GTK, а не на Rust'е.
     
     
  • 6.71, Аноним (71), 21:45, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Горшочек не вари. Хватит писать чушь. Если ты в глаза не видел сишного кода с gtk+ че ты строишь из себя эксперта. Без тебя разберёмся как из раста к gobject достучаться.
     
  • 2.9, Аноним84701 (ok), 00:47, 19/02/2019 [^] [ответить]     [к модератору]  
  • +4 +/
    Я правильно понимаю, что аноним не ограничится словесным напутствием как нужно ... весь текст скрыт [показать]
     
     
  • 3.11, Crazy Alex (ok), 00:52, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    В данном случае - скорее всего никак. Сисколлы, интерактивно? Свихнёшься же. selinux для таких дел есть.
     
  • 3.20, Аноним (20), 03:19, 19/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Модно-приличным считается как раз раст - ссылка в новости Нормальным для такого... весь текст скрыт [показать]
     
     
  • 4.38, develop7 (ok), 10:01, 19/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    > Нормальным для такого рода задач уже 40+ лет является Си.

    «Нормальным» в лучшем случае статистически, уж точно не «правильным».

     
  • 4.51, Аноним84701 (ok), 13:57, 19/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Что там было 40 лет назад, анонимам конечно виднее, но еще лет 15-20 назад низк... весь текст скрыт [показать]
     
  • 2.24, Аноня (?), 08:13, 19/02/2019 [^] [ответить]    [к модератору]  
  • –3 +/
    есть байндинг к гтк, он довольно хорошо работает
     
     
  • 3.67, Аноним (67), 20:14, 19/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    биндинг! .i. в слове bind имеет закрытый слог
     
     
  • 4.76, Кококо (?), 09:00, 20/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Финдинг
     
  • 4.88, MerriamWebster (?), 18:59, 17/03/2019 [^] [ответить]    [к модератору]  
  • +/
    https://www.merriam-webster.com/dictionary/bind
     
  • 2.29, Mr. Cake (?), 08:38, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Ну как же, есть у них свой UI-тулкит, servo называется.
     
  • 2.31, Аноним (31), 08:54, 19/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    а зачем для этого нужен гуй? Нотификации показывают, отправляя сообщения по dbus. Наверняка и с диалогами есть что-то похожее.
     
  • 2.32, Аноним (32), 08:56, 19/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Просто GLib при всех своих недостатках и постоянных deprecated в GTK хотя бы кое... весь текст скрыт [показать]
     
  • 2.74, Аноним (74), 02:26, 20/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Кек. Такая утилита должна быть консольной. Гуй к ней ты можешь сам написать на том же бидоне с gtk или на плюсах с qt.
     
  • 1.6, Аноним (5), 00:20, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Лучше бы автор systemd на Rust'е переписал, если уж он такой любитель коррозии.
     
     
  • 2.14, develop7 (ok), 01:32, 19/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    «лучше бы такой-то делал X вместо Y» не работает чуть менее, чем всегда.

    хотя конкретно данная идея вполне здравая.

     
  • 2.55, Аноним (55), 14:46, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    "Выкрасить и выбросить"(с)?
     
  • 2.75, Аноним (74), 02:27, 20/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Леня либитель Rust?
     
     
  • 3.87, DerRoteBaron (ok), 03:54, 21/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Вот как раз таки он любитель и не всегда уметель в Си И если кто-то из ржавого ... весь текст скрыт [показать]
     
  • 1.8, Аноним (8), 00:28, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Хотел посмотреть чего такого чувак написал на C и С++, что так восхваляет раст, а нашёл дырку от бублика: https://github.com/polaris64?tab=repositories
     
     
  • 2.22, Аноним (22), 06:37, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > так восхваляет раст

    Как?

     
     
  • 3.42, Аноним (-), 10:38, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    I absolutely love Rust! I have been using C and C++ for more low-level programming for around 20 years now and they were always my go-to languages if anything serious needed to be done. ...
     
  • 2.43, Аноним (43), 10:57, 19/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Вот же https www polaris64 net blog programming 2012 about-my-programming I wr... весь текст скрыт [показать]
     
     
  • 3.45, Аноним (-), 11:25, 19/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    И где же можно посмотреть на код этих его сотен утилит на C, С++?
     
     
  • 4.46, Аноним (43), 12:55, 19/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    > И где же можно посмотреть на код этих его сотен утилит на
    > C, С++?

    Сотни - это на всевозможных языках.

    20*365/500 = 14,6 в среднем дней на каждую.

     
  • 2.58, Аноним (58), 15:09, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Было бы он профессионал, перешёл бы на Ди. А его прошлое с "сотнями утилит" никому не интересно.
     
     
  • 3.61, Аноним (8), 17:39, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Профессионал бы просто перешел на C++17 и не ныл, что он устаревший. А то кодят на допотопной кустарной смеси Си с классами, а потом ноют, что код громоздкий и падает.
     
  • 3.78, Ordu (ok), 20:25, 20/02/2019 [^] [ответить]    [к модератору]  
  • +/
    На D не переходят с C/C++. Ну реально, сборка мусора поперёк горла, тем кто 20 лет на C/C++ кодил.
     
  • 1.10, rm1 (?), 00:52, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    > лицензия не указана

    Далеко пойдут.

    (нет).

     
     
  • 2.56, Аноним (55), 14:48, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Видимо, чуваку интереснее таки писать код, чем выпячивать свои девиации.
     
     
  • 3.68, Аноним (68), 20:36, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Я завел тикет, уже добавили - LGPL.
     
  • 1.12, Аноним (12), 01:00, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +4 +/
    Не особо понимаю хейт по поводу раста, ну раст и раст, язык как язык
    А вот что лицензии нет - плохо, мб кинуть стоит в issues?
     
     
  • 2.26, Аноня (?), 08:19, 19/02/2019 [^] [ответить]    [к модератору]  
  • –3 +/
    Хейтят потому что потеряли способность к обучению.
     
     
  • 3.33, Аноним (32), 09:00, 19/02/2019 [^] [ответить]     [к модератору]  
  • +/
    В таком случае умный человек бы его вообще не трогал, ведь C кода, нуждающегос... весь текст скрыт [показать]
     
     
  • 4.57, Аноним (55), 14:50, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    >поддержке
    >икспердными заявлениями

    ну ты понeл, да?

     
  • 3.48, Аноним (48), 13:13, 19/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Хейтят макак, которые думают, что "правильный" язык заменяет проектирование, тесты и голову на плечах.
     
     
  • 4.49, Аноним (49), 13:45, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Претензии предъявляют, однако, не к
    > проектирование, тесты и голову на плечах.

    а к языку

     
  • 4.72, Аноним (71), 21:51, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Когда ты фигачигь mvp нормальный язык действительно все заменяет. Потом ты просто все это выкидываешь и уже как положено.
     
  • 2.63, Борщдрайвен бигдата (?), 18:00, 19/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Есть критика, а есть хейт Критика зачастую рациональна, и чем знание инструмент... весь текст скрыт [показать]
     
  • 1.15, Аноним (16), 01:39, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +6 +/
    ждем firewall для инструкций cpu
     
     
  • 2.17, Аноним84701 (ok), 01:57, 19/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    > ждем firewall для инструкций cpu

    Куча их, разной степени интерактивности и гуйности -- дебагерами называют.


     
     
  • 3.79, Ordu (ok), 20:27, 20/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Кстати для линуксов нет пристойного дебуггера, чтобы работать непосредственно с инструкциями cpu.
     
  • 1.18, Аноним (18), 02:04, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Есть же firejail.
     
     
  • 2.52, Аноним (-), 14:32, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    А это для неосиляторов. ;)
     
     
  • 3.73, Аноним (18), 23:30, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Почему?
     
  • 1.19, OpenEcho (?), 02:50, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А причем здесь модное слово - "межсетевой экран", если это для локальной машины ?
    Слово "сеть" здесь каким боком ?
     
     
  • 2.21, A.Stahl (ok), 04:19, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    >подобие

    Знаешь ли ты значение этого слова?

     
  • 2.23, Аноним (23), 08:12, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Брандмауэр и фаеволл, кажись, 19-го века слова. Или ранее. Из строительства.
     
     
  • 3.28, ОнАнон (?), 08:32, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Допустим, но они из другой сферы деятельности, потому допустимо схожее иное значение. Здесь же попытка переопределения слова в рамках одной сферы деятельности.
     
  • 3.34, КО (?), 09:03, 19/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Огненная стена появилась несколько раньше, когда кочевники на попытку вторжения... весь текст скрыт [показать]
     
     
  • 4.35, Аноним (18), 09:19, 19/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Стена не огненная, а противопожарная. fire - это не только огонь, но и пожар.
     
     
  • 5.40, Xasd5 (?), 10:07, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Стена не огненная, а противопожарная. fire - это не только огонь, но
    > и пожар.

    пожар это огонь

     
  • 4.54, Аноним (54), 14:36, 19/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Какой-то поток сознания и фантазий...
     
  • 4.60, Аноним (58), 15:16, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > ну и дошло до компьютеров

    Тоже стали жечь? :)

     
     
  • 5.82, Аноним (82), 21:58, 20/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Не только жечь, но стали даже запекать (bake) физику в 3d пакетах. Что только не делают с этими вашими инторнетами... компутерами...
     
  • 1.25, Аноним (23), 08:15, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    SELinux почему-то "все" выключают. С чего бы не попроблвать что-то более удачное в настройке пользователем десктопа.
     
     
  • 2.41, Аноним (41), 10:12, 19/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Попроблевать?
     
  • 1.50, Аноним (50), 13:48, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    > лицензия не указана

    Проприетарщина.

     
     
  • 2.53, Аноним (53), 14:34, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Ванга?
     
     
  • 3.69, Аноним (68), 20:36, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    После заведения тикета, автор указал лицензию - LGPL.
     
  • 1.59, Аноним (58), 15:14, 19/02/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • +1 +/
    Удивляет, почему такие вещи только НАЧИНАЮТ писать Да первый же коммерче... весь текст скрыт [показать]
     
     
  • 2.62, Валик (?), 17:39, 19/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    > Удивляет, почему такие вещи только НАЧИНАЮТ(!!!!) писать!!

    Алеша, ну ты че??? все это есть давным-давно уже!!!
    гугли ядро hardened на предмет доступа мандатного. читай про селинукс, си-группс,appArmor в конце-концов - это про ограничения...
    если ты чего-то не знаешь, то наверное не стоит об этом орать на все интернеты, да еще БОЛЬШИМИ БУКВАМИ, уведомляя тем самым всех во всеуслышания о бездонных глубинах своего невежества.. почитал бы лучше, что ли, чего-нить на тему, о которой орать собрался во всю глотку..

     
  • 2.65, xi (??), 19:29, 19/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Удивляет, почему столько возмущения от незнания давно существующих инструментов.
    # dnf install firejail
    # firecfg
    $ libreoffice
     
  • 2.80, Ordu (ok), 20:31, 20/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Удивляет, почему такие вещи только НАЧИНАЮТ(!!!!) писать!!

    Это не венда и не дос. В смысле, последнее время разница потихоньку стирается, но как раз сейчас такие вещи и начинают появляться.

    > Да первый же коммерческий Линукс-сервер должен был озаботиться подобной защитой!

    Коммерцию тянет в копроративщину, а там SELinux.

     
  • 1.66, Аноним (66), 19:56, 19/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Походу годнота хоть и на расте
     
  • 1.70, Аноним (70), 21:20, 19/02/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Заблокировать доступ на запись и смотреть, как оно мучается Для любителей за... весь текст скрыт [показать]
     
  • 1.77, Онаним (?), 09:40, 20/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Каждый системный вызов попадает в обработчик на хрусте? Шшшпасибо, но нет.
    Ещё бы на node.js.
     
     
  • 2.86, Аноним (12), 02:30, 21/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Давай на php
     
  • 1.81, Аноним (12), 21:53, 20/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Лицензию указал, LGPL
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2019 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor