zlib-rs, alternativa k zlib-rs v Rustu, která si klade za cíl řešit problémy způsobené chybami paměti

zlib-rs alternativa ke knihovně pro kompresi dat zlib

zlib-rs

knihovna zlib, vyvinul Jean-Loup Gailly a Mark Adler, je nezbytnou součástí protože se používá v široké škále aplikací, které jsou zaměřené na kompresi souborů ve formátech jako ZIP, gzip a PNG díky své efektivitě a všestrannosti. Tato knihovna existuje od roku 1995 a v důsledku jeho širokého používání se také stal terčem mnoha zranitelností v zabezpečení paměti.

Jádrem zlib je kompresní algoritmus DEFLATE, který kombinuje techniky bezztrátové komprese dat algoritmu LZ77 s Huffmanovou stromovou strukturou pro dosažení pozoruhodných kompresních rychlostí. Díky této kombinaci technik je zlib extrémně efektivní při kompresi a dekompresi dat, takže je zvláště užitečný v aplikacích, kde je úložný prostor nebo šířka pásma omezená.

Kromě komprese souborů, zlib Používá se také při přenosu komprimovaných dat v sítích, aby se snížilo zatížení šířky pásma, v aplikacích pro ukládání a zpracování souborů, stejně jako v multimediálních aplikacích pro kompresi audio a video dat.

Přesčas, zlib čelil některým zranitelnostem, které byly vyřešeny v pozdějších verzích zlib, jako jsou výše uvedené CVE-2005-1849, CVE-2016-9840, CVE-2016-9841 a CVE-2016-9842 (jen zmínit některé známé ze zlib), které by mohly být zneužity útočníky způsobit odmítnutí služby (DoS) nebo dokonce spustit libovolný kód a že kvůli bezpečnostním chybám paměti, které jsou běžné pro kompresní knihovny napsané v C/C++, zůstává zlib hlavním cílem.

Aby se tyto problémy vyřešily, aniž bychom ponechali stranou povahu a výhody zlib, ISRG (organizace stojící za projektem Let's Encrypt a věnující se zlepšování bezpečnosti internetu) nedávno oznámila spuštění nového projektu Jeho účelem je vytvořit obdobu zlib v programovacím jazyce Rust.

V prosinci 2023 jsme najali Tweede Golf pro počáteční implementaci založenou na zlib-ng se zaměřením na udržení vynikajícího výkonu při současném zavedení bezpečnosti paměti.

Co bude dál

V současné době sháníme finanční prostředky na dokončení prací nezbytných pro přípravu počáteční implementace do výroby.

Nová alternativa se nazývá "zlib-rs" a toto je prezentováno jako řešení zlib napsané v Rustu s primárním cílem řešit bezpečnostní problémy spojené s chybami paměti a zranitelností, které se obvykle vyskytují v knihovnách komprese napsaných v C/C++.

Vývoj zlib-rs vzniká v reakci na statistiky od Microsoftu a Google, které naznačují, že přibližně 70 % zranitelností je způsobeno nezabezpečenou správou paměti. Použitím Rustu jako programovacího jazyka se očekává výrazné snížení rizika těchto zranitelností, jako je přístup k uvolněným paměťovým oblastem nebo přetečení vyrovnávací paměti.

El Proyecto zlib-rs obsahuje implementaci Rust formátu souboru zlib, která je kompatibilní s rozhraním zlib API a úložiště v současné době pracuje na dvou implementacích:

  • zlib-rs, implementace Rust založená na zlib se zabezpečeným rozhraním Rust API (v současnosti je považována za nestabilní, ale očekává se, že implementaci brzy stabilizuje).
  • libz-rs-sys, a C API a C API pro zlib-rs . Rozhraní API je v podstatě ekvivalentní zlib-sys a zlib-ng-sys, ale v současné době neposkytuje rodinu funkcí gz*. Z pohledu rzi není toto API příliš ergonomické, takže prozatím doporučujeme pracovat s flate2.

Pokud jde o práci v současném vývoji, je zmíněno, že nabídka analogu v Rustu může přitáhnout pozornost ostatních a mohou se přidat k dílu, protože nabídka alternativy zaměřené na bezpečnost a prevenci běžných chyb může v řádu několika let práce a rozvoje poskytují transparentní náhradu za zlib.

Na závěr se sluší zmínit, že dílo zlib-rs je aktuálně publikováno na GitHubu v následujícím úložišti a kód je distribuován pod licencí Zlib. Více o tom můžete zkontrolovat en následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.