Syswall a dynamický firewall pro systémová volání

syswall

Syswall je nový vývoj zaměřený na vytvoření podobnosti dynamického firewallu k filtrování přístupu aplikací k systémovým voláním. Kód projektu je napsán v jazyce Rust, licence není specifikována.

Tento nový vývoj vypadá to jako interaktivní verze obslužného programu strace a umožňuje vám sledovat každé systémové volání provedené programem. Klíčovým rozdílem je, že kromě zobrazení informací o systémových voláních a výsledcích jejich provádění.

O společnosti Syswall

syswall podporuje interaktivní režim ve kterém je sledovaný proces zastaven před provedením systémového volání a uživatel je vyzván k pokračování nebo ignorování operace (můžete například sledovat pokusy o otevření každého souboru nebo procesu připojení k síti).

Syswall může také shromažďovat statistiky o uskutečněných systémových voláních a generovat na jejich základě zprávu.

Cíle syswallu jsou následující:

na poskytují vylepšenou verzi strace což je snazší určit, jaký software vlastně dělá.
Poskytněte prostředí pro testování a experimentování se softwarem tím, že umožníte podrobný a interaktivní přístup k povolení a odmítnutí systémových volání.

Každý proces může mít konfigurační soubor

Pro každý proces, sMůžeme připojit konfigurační soubor se seznamem výslovně povolených nebo blokovaných systémových volání.

U podporovaných hovorů umožňuje syswall uživateli provádět následující akce:

  • Povolit volání Syscall jednou
  • Vždy povolte tento konkrétní telefonický hovor
  • Blokovat volání Syscall jednou (tvrdé nebo měkké)
  • Vždy zablokujte konkrétní volání Syscall (tvrdé nebo měkké)
  • Při blokování může program provést blok (tvrdý nebo měkký).

Během interaktivní relace je možné povolit nebo blokovat konkrétní systémová volání za běhu a jakákoli volání tohoto systémového volání, bez ohledu na to, kde je přístup k programu.
Blokování je podporováno v „tvrdém“ a „měkkém“ režimu.

Typy zámků

V prvním případě se systémové volání neprovede a do procesu se odešle chybový kód přístupu. V druhém případě se systémové volání také neprovede, ale proces obdrží fiktivní úspěšný návratový kód simulující úspěšné provedení systémového volání.

Například v tuto chvíli je podporována pouze analýza systémových volání související s operacemi se soubory.

Pevný blok zabrání spuštění volání syscall a vrátí podřízenému procesu chybu s odepřením oprávnění. Na druhou stranu měkký zámek brání volání syscall, ale pokouší se vrátit příslušnou odpověď na podřízený proces, aby předstíral, že byl volání syscall skutečně proveden.

V takovém případě se žádosti o potvrzení zobrazí, pouze pokud se týkají speciálně vytočených nebo dříve chybějících systémových volání.

Uložte a načtěte konfiguraci procesu.

Volby provedené během provádění lze uložit do souboru JSON. Tento soubor lze načíst během dalšího spuštění, aby byly použity výše uvedené možnosti.

Toto je nedokončená práce - vždy se budou ukládat pouze povolené / blokované odpovědi.

informace

Po dokončení podřízeného procesu vydá syswall krátkou zprávu o systémových voláních podřízeného procesu. V současné době se skládá ze všech otevřených nebo uzamčených souborů, ale v budoucích verzích bude rozšířeno.

Projekt je stále ve fázi funkčního prototypu a nejsou realizovány všechny koncipované možnosti.

Stále je co rozvíjet

K projektu existuje velký seznam úkolů, v budoucnu se plánuje přidat podporu pro další třídy systémových volání, lschopnost ověřit, s přihlédnutím k argumentům předaným systémovému volání, prostředky uložení stavu procesu do souboru pro pozdější srovnání aktivity během různých spuštění programu (například pro porovnání seznamů souborů a připojení k síti), možnost ignorovat načítání dynamických knihoven a podporovat typickou sadu nastavení (například uzamknout všechny zásuvky, ale povolit přístup k souborům).


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.