Organizația ISRG (Internet Security Research Group), care este fondatorul proiectului Let’s Encrypt și susține dezvoltarea tehnologiilor pentru creșterea securității internetului, a prezentat proiectul zlib-rs pentru crearea unui analog sigur al bibliotecii de comprimare a datelor zlib. Codul zlib-rs este scris în limbajul Rust și este distribuit sub licența Zlib. Dezvoltarea se face cu referire la proiectul zlib-ng, care dezvoltă o variantă de înaltă performanță a zlib. Proiectul a dezvoltat două biblioteci: zlib-rs cu implementarea API zlib care nu utilizează blocuri unsafe; libz-rs-sys — un wrapper cu suport pentru API C, conținând cod în modul „unsafe”.
Ca motiv pentru crearea zlib-rs se menționează intenția de a oferi o variantă zlib, lipsită de posibile breșe cauzate de erori în gestionarea memoriei. Potrivit companiilor Microsoft și Google, aproximativ 70% din vulnerabilități sunt cauzate de o gestionare nesigură a memoriei. Se estimează că utilizarea limbajului Rust pentru dezvoltarea zlib-rs va reduce riscul apariției vulnerabilităților cauzate de gestionarea nesigură a memoriei și va exclude apariția unor erori precum accesul la zona de memorie după eliberarea acesteia și depășirea limitelor buffer-ului.
Biblioteca Zlib este foarte răspândită și este folosită ca dependență în multe sisteme, deși în codul Zlib apar periodic vulnerabilități periculoase. De exemplu, în 2022, în zlib a fost descoperit un overflow de buffer în timpul încercării de comprimare a unei secvențe de caractere special pregătite, care permitea exploatarea vulnerabilității prin transmiterea de date de intrare formatate special.
Sursa: opennet.ro
