Con l’aggiunta di complessità nei software che usiamo tutti i giorni la sicurezza è diventata fondamentale e, come ben sanno coloro che mettono mano a questo tema tutti i giorni, tantissime variabili entrano in gioco, soprattutto nei software complessi.
E’ il caso di Firefox che oramai è composto da tantissime librerie estremamente specializzate ed, ovviamente, non tutte sviluppate direttamente da Mozilla stessa. E non stiamo solo parlando dei famosi plugin, anche nel codice cuore del famoso browser possiamo trovarle.
Gli sviluppatori di Mozilla si sono quindi chiesti ad un certo punto: possiamo far girare le applicazioni in ambienti isolati (il così detto sandboxing), ma cosa fare se il problema proviene da una libreria interna all’applicazione stessa?
Con questa idea è nato RLBox, una nuova tecnologia che permette di separare le librerie di terze parte dal codice nativo dell’applicazione. Questa trovata permetterà di evitare che bug o vulnerabilità trovate in queste librerie impattino altri progetti che utilizzano le stesse librerie.
Lo sviluppo è iniziato nel 2019 da una collaborazione tra Mozilla e le università di San Diego (California), di Austin (Texas) e la Stanford University. Questo è proseguito molto rapidamente e con la prossima versione di Firefox per Linux, la 74 in uscita a Marzo, avremo RLBox a disposizione nel nostro browser, che al momento conterrà la libreria dei font Grafite.
Dopo il rilascio anche per Firefox su macOS (la 75 prevista ad Aprile), l’idea dell’azienda di San Francisco è quella di integrare altri componenti di Firefox dentro sandbox RLBox dedicate, così come di portare questa tecnologia anche su altre piattaforme.
Ed ovviamente questa tecnologia, seppur la vedremo usata inizialmente in Firefox, è stata sviluppata come framework generico ed open-source, cosa che in futuro potrà vedere RLBox utilizzato anche su altre applicazioni.
Mozilla, manco a dirlo, è entusiasta della cosa:
Security is a top priority for us, and it’s just too easy to make dangerous mistakes in C/C++ […] We’re writing a lot of new code in Rust, but Firefox is a huge codebase with millions of lines of C/C++ that aren’t going away any time soon […] RLBox makes it quick and easy to isolate existing chunks of code at a granularity that hasn’t been possible with the process-level sandboxing used in browsers today.
La sicurezza è una alta priorità per noi, ed è semplicemente troppo facile fare errori pericolosi in C/C++ […] Stiamo scrivendo tanto del nuovo codice in Rust, ma Firefox ha un’enorme base di codice con milioni di righe di C/C++ che non andranno via presto […] RLBox rende veloce e facile isolare blocchi di codice esistenti ad una granularità che non era possibile con il sandboxing a livello di processo usato nei browser oggi.
Mozilla ha pubblicato un post sul blog per illustrare i problemi ed i benefici che RLBox porterà a tutti noi, ed il team che ha lavorato allo stesso ha anch’esso pubblicato informazioni riguardo gli impatti in termini di sicurezza e performance di questa metodologia di isolamento.
Sarà interessante vedere quante altre applicazioni sfrutteranno questa idea per rendersi più sicure.
Utente Linux/Unix da più di 20 anni, cerco sempre di condividere il mio know-how; occasionalmente, litigo con lo sviluppatore di Postfix e risolvo piccoli bug in GNOME. Adoro tutto ciò che può essere automatizzato e reso dinamico, l’HA e l’universo container. Autore dal 2011, provo a condividere quei piccoli tips&tricks che migliorano il lavoro e la giornata.
Lascia un commento