L'organizzazione ISRG (Internet Security Research Group), che è fondatrice del progetto Let's Encrypt e contribuisce allo sviluppo di tecnologie per aumentare la sicurezza di internet, ha presentato il progetto zlib-rs per la creazione di un equivalente sicuro della libreria di compressione dati zlib. Il codice zlib-rs è scritto in Rust e distribuito con licenza Zlib. Lo sviluppo si basa sul progetto zlib-ng, che sviluppa una variante ad alte prestazioni di zlib. Sono state sviluppate due librerie: zlib-rs con implementazione dell'API zlib, che non utilizza blocchi unsafe; libz-rs-sys — un wrapper con supporto per l'API C, contenente codice in modalità 'unsafe'.
Come motivo per la creazione di zlib-rs si cita l'intento di fornire una variante di zlib, priva di potenziali vulnerabilità causate da errori nella gestione della memoria. Secondo le aziende Microsoft e Google, circa il 70% delle vulnerabilità è causato da operazioni non sicure sulla memoria. Si prevede che l'uso del linguaggio Rust per lo sviluppo di zlib-rs riduca il rischio di vulnerabilità dovute a operazioni non sicure sulla memoria ed escluda il verificarsi di errori come l'accesso a un'area di memoria dopo che è stata liberata e l'overrun del buffer.
La libreria Zlib è ampiamente utilizzata e utilizzata come dipendenza in molti sistemi, sebbene nel codice di Zlib emergano periodicamente vulnerabilità pericolose. Ad esempio, nel 2022 è stata identificata una vulnerabilità di overflow del buffer nel tentativo di comprimere una sequenza di caratteri appositamente preparata, che permetteva di sfruttare la vulnerabilità attraverso l'invio di dati di input specificamente formattati.
Fonte: opennet.ru
