L’isolamento è la chiave di un sistema di informazioni sicuro. Tuttavia, un’interazione fra i componenti del sistema deve essere possibile, affinché esso possa funzionare. Per creare soluzioni apposite per task specifici, siano essi l’operatività di un gateway IoT o di un reattore nucleare, è necessario poter descrivere varie politiche di sicurezza.
KasperskyOS è progettato per gestire questi e altri compiti di sicurezza sfruttando il Kaspersky Security System. Tutte le comunicazioni interprocesso (IPC) passano da questo modulo. Esso verifica che ogni interazione sia conforme alle politiche di sicurezza e, in caso contrario, la blocca.
Se anche un solo componente è compromesso, Kaspersky Security System lo elimina o ne minimizza ogni possibile danno. Il sistema diventa dunque cyberimmune.
L’architettura di Kaspersky Security System si basa su due concetti classici della sicurezza informatica: MILS (Multiple Independent Levels of Security) e FLASK (Flux Advanced Security Kernel).
Schema dei componenti di KasperskyOS
Qualsiasi interazione che non sia esplicitamente ammessa dalla politica di sicurezza viene bloccata. Il principio di Default Deny fa da fondamento a qualsiasi soluzione di sicurezza basata su KasperskyOS.
Gli sviluppatori della soluzione possono combinare diversi modelli per creare politiche che rispondano al meglio ai vostri obiettivi di sicurezza. Il linguaggio PSL è progettato per descrivere le politiche di sicurezza nei termini della soluzione stessa.
Lo sviluppatore non dovrà scrivere il codice che implementa la politica di sicurezza. Al contrario, questo sarà generato da un compilatore apposito, basato sulla descrizione PSL. Potrete fidarvi di un codice generato sulla base di modelli ben studiati.
L'implementazione di politiche di sicurezza è separata dal codice dell'applicazione. In questo modo, esse possono venire modificate in modo indipendente, semplificando significativamente il lavoro degli sviluppatori dell'app e degli architetti delle soluzioni.
Kaspersky Security System è un osservatore che riceve tutti i messaggi IPC inviati dal kernel, affinché verifichi la loro conformità alla politica di sicurezza specificata. Inoltre, gli oggetti possono accedere a Kaspersky Security System direttamente, sfruttando un’interfaccia speciale, spalancando nuove opportunità per gli architetti della sicurezza.
Per semplificare la creazione delle politiche, abbiamo sviluppato un linguaggio apposito, il PSL, Policy Specification Language. La sintassi del PSL permette di combinare diversi modelli di sicurezza in un’unica politica, includendo automi a stati finiti e a tempo, meccanismi TE (Type Enforcement), modelli role-based access control (RBAC) e molto altro. Inoltre, è possibile sviluppare le proprie classi per la politica di sicurezza. Al contempo, il PSL è un linguaggio espressivo, dove le descrizioni sono sviluppate nei termini del task.
Il Policy Specification Language solleva gli sviluppatori dalla necessità di scrivere l’implementazione della politica di sicurezza o di configurare manualmente Kaspersky Security System. Non dovrete fare altro che eseguire un compilatore speciale per ottimizzare il codice di Kaspersky Security System per il task selezionato dalla descrizione del PSL.