Syswall een dynamische firewall voor systeemoproepen

systeemmuur

Syswall is een nieuwe ontwikkeling die bedoeld is om een ​​gelijkenis te creëren met een dynamische firewall om de toegang van applicaties tot systeemoproepen te filteren. De projectcode is geschreven in de Rust-taal, de licentie is niet gespecificeerd.

Deze nieuwe ontwikkeling het ziet eruit als de interactieve versie van het strace-hulpprogramma en stelt je in staat om elke systeemoproep van het programma bij te houden. Het belangrijkste verschil is dat, naast het weergeven van informatie over de systeemoproepen en de resultaten van hun uitvoering.

Over Syswall

syswall ondersteunt interactieve modus waarin het bewaakte proces wordt gestopt voordat een systeemoproep wordt gedaan en de gebruiker wordt gevraagd om door te gaan of de bewerking te negeren (u kunt bijvoorbeeld pogingen volgen om elk bestand of netwerkverbindingsproces te openen).

Syswall kan ook statistieken verzamelen over de gemaakte systeemoproepen en op basis daarvan een rapport genereren.

De doelstellingen van syswall zijn als volgt:

naar bieden een verbeterde versie van strace wat gemakkelijker is om te bepalen wat software werkelijk doet.
Bied een omgeving voor het testen van en experimenteren met de software door een gedetailleerde en interactieve benadering toe te staan ​​voor het toestaan ​​en weigeren van systeemoproepen.

Elk proces kan een configuratiebestand hebben

Voor elk proces, sHij kan een configuratiebestand verbinden met een lijst van expliciet toegestane of geblokkeerde systeemoproepen.

Voor ondersteunde oproepen stelt syswall de gebruiker in staat om de volgende acties uit te voeren:

  • Sta syscall één keer toe
  • Sta altijd die specifieke syscall toe
  • Syscall één keer blokkeren (hard of zacht)
  • Blokkeer altijd die specifieke syscall (hard of zacht)
  • Bij het blokkeren kan het programma een blok (hard of zacht) uitvoeren.

Tijdens de interactieve sessie is het mogelijk om specifieke systeemoproepen tijdens runtime en alle oproepen naar deze systeemoproep toe te staan ​​of te blokkeren, ongeacht waar het programma wordt geopend.
Blokkeren wordt ondersteund in "harde" en "zachte" modi.

Soorten sloten

In het eerste geval wordt de systeemoproep niet uitgevoerd en wordt de toegangsfoutcode naar het proces gestuurd​ In het tweede geval wordt de systeemoproep ook niet uitgevoerd, maar ontvangt het proces een fictieve succesvolle retourcode die de succesvolle uitvoering van de systeemoproep simuleert.

Op dit moment wordt bijvoorbeeld alleen analyse van systeemoproepen met betrekking tot bestandsbewerkingen ondersteund.

Een hard block verhindert dat de syscall wordt uitgevoerd en retourneert een toestemming geweigerde fout naar het onderliggende proces. Aan de andere kant voorkomt een soft lock de syscall, maar probeert het een gepaste reactie op het onderliggende proces te retourneren om te doen alsof de syscall daadwerkelijk is uitgevoerd.

In dit geval worden bevestigingsverzoeken alleen weergegeven als ze verwijzen naar speciaal gekozen of eerder ontbrekende systeemoproepen.

Bewaar en laad een procesconfiguratie.

Keuzes die tijdens de uitvoering worden gemaakt, kunnen worden opgeslagen in een JSON-bestand. Dit bestand kan tijdens een andere run worden geladen, zodat de bovenstaande opties worden gebruikt.

Dit is een work in progress - alleen toegestane / geblokkeerde reacties worden altijd opgeslagen.

informatie

Wanneer het onderliggende proces is voltooid, geeft syswall een kort rapport uit over de systeemaanroepen van het onderliggende proces. Momenteel bestaat het uit alle geopende of vergrendelde bestanden, maar zal in toekomstige releases worden uitgebreid.

Het project bevindt zich nog in de fase van een functioneel prototype en niet alle bedachte mogelijkheden worden gerealiseerd.

Er moet nog meer worden ontwikkeld

Er is een grote takenlijst voor het project, in de toekomst is het de bedoeling om ondersteuning toe te voegen voor extra klassen van systeemoproepen, leen mogelijkheid om te verifiëren, rekening houdend met de argumenten die zijn doorgegeven aan de systeemaanroep, middelen om de processtatus op te slaan in een bestand voor latere vergelijking van activiteit tijdens verschillende programma-lanceringen (bijvoorbeeld om lijsten met bestanden en netwerkverbindingen te vergelijken), optie om het laden van dynamische bibliotheken te negeren en de typische set instellingen te ondersteunen (bijvoorbeeld alle sockets vergrendelen, maar bestandstoegang toestaan).


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.