Un meccanismo di isolamento simile al plegde è stato sviluppato su FreeBSD

È stato rivelato che è stata proposta un'attuazione un meccanismo di isolamento delle applicazioni per FreeBSD, che ricorda le chiamate di sistema piegate e svelate sviluppate dal progetto OpenBSD.

L'isolamento in plegde viene eseguito vietando l'accesso alle chiamate di sistema che non sono utilizzate dall'applicazione e rivelando aprendo selettivamente l'accesso solo a determinati percorsi di file con cui l'applicazione può lavorare. Per l'applicazione viene formata una sorta di white list di chiamate di sistema e percorsi di file e tutte le altre chiamate e percorsi sono vietati.

La differenza tra piegato e svelato, sviluppato per FreeBSD, si riduce a fornire uno strato extra che consente di isolare le applicazioni senza o con modifiche minime al loro codice. Ricorda che in OpenBSD plegde e unlock mirano a una stretta integrazione con l'ambiente di base e vengono implementati aggiungendo annotazioni speciali al codice di ogni applicazione.

Per semplificare l'organizzazione della protezione, i filtri consentono di evitare dettagli a livello di singole chiamate di sistema e di manipolare classi di chiamate di sistema (input/output, lettura file, scrittura file, socket, ioctl, sysctl, avvio processi, ecc.) . Le funzioni di restrizione dell'accesso possono essere richiamate nel codice dell'applicazione quando vengono eseguite determinate azioni, ad esempio, l'accesso a socket e file può essere chiuso dopo aver aperto i file necessari e aver stabilito una connessione di rete.

L'autore del fold and reveal port per FreeBSD destinato a fornire la capacità di isolare applicazioni arbitrarie, per cui viene proposta l'utilità curtain, che consente di applicare alle applicazioni regole definite in un file separato. La configurazione proposta include un file con impostazioni di base che definiscono le classi di chiamate di sistema e percorsi di file tipici specifici per determinate applicazioni (lavoro con suoni, reti, registrazione, ecc.), nonché un file con regole di accesso per applicazioni specifiche.

L'utilità curtain può essere utilizzata per isolare la maggior parte delle utilità, processi server, applicazioni grafiche e persino intere sessioni desktop che non sono state modificate. È supportata la condivisione della cortina con i meccanismi di isolamento forniti dai sottosistemi Jail e Capsicum.

anche è possibile organizzare l'isolamento nidificato, quando le applicazioni avviate ereditano le regole stabilite dall'applicazione padre, integrandoli con vincoli separati. Alcune operazioni del kernel (strumenti di debug, POSIX/SysV IPC, PTY) sono inoltre protette da un meccanismo di barriera che impedisce l'accesso agli oggetti del kernel creati da processi diversi dal processo corrente o padre.

Un processo può configurare il proprio isolamento chiamando curtainctl oppure usando le funzioni plegde() e unveil() fornite dalla libreria libcurtain, simili a quelle di OpenBSD. Il sysctl 'security.curtain.log_level' viene fornito per tenere traccia dei blocchi mentre l'applicazione è in esecuzione.

L'accesso ai protocolli X11 e Wayland viene abilitato separatamente specificando le opzioni "-X"/"-Y" e "-W" all'avvio della tendina, ma il supporto per le applicazioni grafiche non è ancora sufficientemente stabilizzato e presenta una serie di problemi irrisolti ( i problemi compaiono principalmente quando si utilizza X11 e il supporto Wayland è molto migliore). Gli utenti possono aggiungere ulteriori restrizioni creando file di regole locali (~/.curtain.conf). Per esempio,

L'implementazione include il modulo del kernel mac_curtain per il controllo di accesso obbligatorio (MAC), una serie di patch per il kernel FreeBSD con l'implementazione dei driver e dei filtri necessari, la libreria libcurtain per usare plegde e le funzioni rivelate nelle applicazioni, l'utility curtain, mostra la configurazione file, una suite di test e patch per alcuni programmi nello spazio utente (ad esempio, per utilizzare $TMPDIR per unificare il lavoro con i file temporanei). Quando possibile, l'autore cerca di ridurre al minimo il numero di modifiche che richiedono l'applicazione di patch al kernel e alle applicazioni.

Infine se sei interessato a saperne di più, puoi controllare i dettagli nel seguente link


Lascia un tuo commento

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

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  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.