
Driver di sicurezza del kernel Linux che utilizza LSM per indurire il sistema, monitorare e ripristinare l'integrità della tabella delle syscall e proteggere i registri di controllo della CPU da manomissioni.

CrowArmor è un driver per Linux finalizzato alla sicurezza del sistema; utilizziamo le interfacce LSM per migliorare la sicurezza del kernel, fornendo supporto per MalDec-EDR. La documentazione del codice e le istruzioni per l'installazione sono disponibili nella Documentazione.
La pratica standard prevede che la versione stabile più recente sia disponibile per i clienti nel ramo principale (main) e nei rami taggati. Il ramo di test (test) funge da specchio del ramo di sviluppo, sottoponendolo a una serie di test e processi di garanzia della qualità (QA). Nel frattempo, il ramo di sviluppo (dev) è dedicato allo sviluppo continuo del progetto, ai miglioramenti e alle modifiche.
+-----------+
| feature1 |
+-----------+
|
+-----------+
| feature3 |
+-----------+
|
+-----------+
| feature2 |
+-----------+
|
+-----------+ +-----------+ +-----------+
| dev | ---> | test | ---> | main |
+-----------+ +-----------+ +-----------+
|
+--------------------------+
| | |
+-----+ +-----+ +-----+
|1.0.0| |2.0.0| | ... |
+-----+ +-----+ +-----+
È necessario testare tutti i componenti di MalDec-EDR; se possibile, dettagliare il compito dei componenti testati, i percorsi seguiti e come eseguire i test. Se possibile, creare uno script che illustri il funzionamento dei test per il proprio compito. Più di uno sviluppatore può effettuare la revisione.
Ogni modifica al codice, per quanto piccola, dovrebbe idealmente essere accompagnata da test unitari approfonditi. Questa pratica è fondamentale per individuare potenziali errori introdotti da altri sviluppatori. La presenza di test unitari funge da salvaguardia, garantendo che eventuali modifiche indesiderate vengano prontamente identificate e corrette.
Le modifiche dovrebbero essere testate da una persona diversa dallo sviluppatore che ha scritto il codice. Ciò è particolarmente importante per modifiche di grandi dimensioni o ad alto rischio. È utile aggiungere un piano di test alla descrizione della pull request se il test delle modifiche non è immediato.