Syswall un firewall dinamico per le chiamate di sistema

syswall

Syswall è un nuovo sviluppo volto a creare una somiglianza di un firewall dinamico per filtrare l'accesso delle applicazioni alle chiamate di sistema. Il codice del progetto è scritto in linguaggio Rust, la licenza non è specificata.

Questo nuovo sviluppo sembra la versione interattiva dell'utility strace e consente di tenere traccia di ogni chiamata di sistema effettuata dal programma. La differenza fondamentale è che, oltre a visualizzare le informazioni sulle chiamate di sistema e sui risultati della loro esecuzione.

Informazioni su Syswall

syswall supporta la modalità interattiva in cui il processo monitorato viene interrotto prima di effettuare una chiamata di sistema e all'utente viene chiesto di continuare o ignorare l'operazione (ad esempio, è possibile monitorare i tentativi di aprire ogni file o processo di connessione di rete).

Syswall può anche raccogliere statistiche sulle chiamate di sistema effettuate e generare un report basato su di esse.

Gli obiettivi di syswall sono i seguenti:

a fornire una versione migliorata di strace che è più facile determinare cosa sta effettivamente facendo il software.
Fornire un ambiente per testare e sperimentare il software consentendo un approccio dettagliato e interattivo per consentire e rifiutare le chiamate di sistema.

Ogni processo può avere un file di configurazione

Per ogni processo, sÈ possibile collegare un file di configurazione con un elenco di chiamate di sistema esplicitamente consentite o bloccate.

Per le chiamate supportate, syswall consente all'utente di eseguire le seguenti azioni:

  • Consenti syscall una volta
  • Consenti sempre quella particolare chiamata di sistema
  • Blocca una volta syscall (hard o soft)
  • Blocca sempre quella particolare chiamata di sistema (hard o soft)
  • Durante il blocco, il programma può eseguire un blocco (hard o soft).

Durante la sessione interattiva, è possibile consentire o bloccare chiamate di sistema specifiche in fase di esecuzione e qualsiasi chiamata a questa chiamata di sistema, indipendentemente da dove si accede al programma.
Il blocco è supportato nelle modalità "hard" e "soft".

Tipi di serrature

Nel primo caso, la chiamata di sistema non viene eseguita e il codice di errore di accesso viene inviato al processo. Nel secondo caso, anche la chiamata di sistema non viene eseguita, ma il processo riceve un codice di ritorno fittizio riuscito, simulando l'esecuzione riuscita della chiamata di sistema.

Ad esempio, al momento, è supportata solo l'analisi delle chiamate di sistema relativa alle operazioni sui file.

Un blocco rigido impedisce l'esecuzione della syscall e restituisce un errore di autorizzazione negata al processo figlio. D'altra parte, un soft lock impedisce la syscall, ma cerca di restituire una risposta appropriata al processo figlio per fingere che la syscall sia stata effettivamente eseguita.

In questo caso, le richieste di conferma verranno visualizzate solo quando si riferiscono a chiamate di sistema appositamente composte o precedentemente mancanti.

Salva e carica una configurazione di processo.

Le scelte effettuate durante l'esecuzione possono essere salvate in un file JSON. Questo file può essere caricato durante un'altra esecuzione in modo che vengano utilizzate le opzioni di cui sopra.

Questo è un lavoro in corso: verranno sempre salvate solo le risposte consentite / bloccate.

informazioni

Al termine del processo figlio, syswall emetterà un breve rapporto sulle chiamate di sistema del processo figlio. Attualmente è costituito da tutti i file aperti o bloccati, ma verrà ampliato nelle versioni future.

Il progetto è ancora in fase di prototipo funzionale e non tutte le possibilità concepite vengono realizzate.

C'è ancora molto da sviluppare

C'è un ampio elenco di cose da fare per il progetto, in futuro si prevede di aggiungere il supporto per classi aggiuntive di chiamate di sistema, luna capacità di verificare, tenendo conto degli argomenti passati alla chiamata di sistema, mezzi per salvare lo stato del processo in un file per un successivo confronto dell'attività durante i diversi lanci del programma (ad esempio, per confrontare elenchi di file e connessioni di rete), opzione ignorare il caricamento delle librerie dinamiche e supportare il set tipico di impostazioni (ad esempio, bloccare tutti i socket, ma consentire l'accesso ai file).


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.