Il progetto Openwall ha pubblicato la versione 0.9.0 del modulo del kernel LKRG (Linux Kernel Runtime Guard), progettato per identificare e bloccare attacchi e violazioni dell'integrità delle strutture del kernel. Ad esempio, il modulo può proteggere da modifiche non autorizzate a un kernel in esecuzione e da tentativi di elevazione dei privilegi da parte di processi utente (identificazione dell'uso di exploit). Il modulo è adatto sia per creare protezione contro exploit di vulnerabilità già note del kernel Linux (ad esempio, in situazioni in cui è problematico aggiornare il kernel nel sistema), sia per difendersi da exploit di vulnerabilità ancora sconosciute. Il codice del progetto è distribuito sotto la licenza GPLv2.
Tra le modifiche nella nuova versione:
- È stata garantita la compatibilità con i kernel Linux dalla versione 5.8 alla 5.12, così come con i kernel stabili 5.4.87 e versioni successive (inclusi gli aggiornamenti dai kernel 5.8 e oltre) e con i kernel delle versioni RHEL fino alla 8.4, mantenendo il supporto per tutte le versioni precedentemente supportate, come i kernel della RHEL 7;
- È stata aggiunta la possibilità di compilare LKRG non solo come modulo esterno, ma anche come parte dell'albero del kernel Linux, inclusa la sua integrazione nell'immagine del kernel;
- È stato aggiunto il supporto per molte configurazioni aggiuntive del kernel e del sistema;
- Sono stati corretti diversi errori significativi e problemi in LKRG;
- L'implementazione di alcuni componenti di LKRG è stata notevolmente semplificata;
- Effettuate modifiche per semplificare il supporto e il debug futuro di LKRG;
- Per il test di LKRG, è stata aggiunta l'integrazione con out-of-tree e mkosi;
- Il repository del progetto è stato trasferito da BitBucket a GitHub ed è stata aggiunta l'integrazione continua utilizzando GitHub Actions e mkosi, inclusa la verifica della compilazione e il caricamento di LKRG nei kernel di rilascio di Ubuntu, nonché nelle build giornaliere più recenti dei kernel mainline forniti dal progetto Ubuntu.
In questa versione di LKRG, diversi sviluppatori che non avevano precedentemente partecipato al progetto hanno contribuito direttamente (tramite pull requests su GitHub). In particolare, Boris Lukashev ha aggiunto la possibilità di compilazione all'interno dell'albero del kernel Linux, mentre Vitaly Chikunov di ALT Linux ha integrato mkosi e GitHub Actions.
In generale, nonostante le significative aggiunte, il numero di righe di codice di LKRG diminuisce leggermente per la seconda volta consecutiva (in precedenza era diminuito anche tra le versioni 0.8 e 0.8.1).
Attualmente, il pacchetto con LKRG su Arch Linux è già stato aggiornato alla versione 0.9.0, e altri pacchetti utilizzano le recenti versioni git di LKRG e probabilmente saranno aggiornati presto alla versione 0.9.0 e oltre.
Inoltre, si segnala la recente pubblicazione degli sviluppatori del sistema operativo Avrora (modifica russa di Sailfish OS) riguardo alla possibile potenziamento di LKRG tramite ARM TrustZone.
Maggiore informazione su LKRG è disponibile nell'annuncio della versione 0.8 e nella discussione avvenuta in quel momento.
Fonte: opennet.ru
