Spoločnosť Cisco vydala novú významnú verziu svojho open-source antivírusového balíka ClamAV 1.0.0. Nová vetva je pozoruhodná prechodom na tradičné číslovanie vydaní „Major.Minor.Patch“ (namiesto 0.Version.Patch). Táto významná zmena verzie zahŕňa aj zmeny v knižnici libclamav, ktoré narúšajú kompatibilitu s ABI odstránením menného priestoru CLAMAV_PUBLIC, zmenou typu argumentu funkcie cl_strerror a zahrnutím symbolov Rust do menného priestoru. Spoločnosť Cisco získala projekt v roku 2013 po akvizícii spoločnosti Sourcefire, vývojára ClamAV a Snort. Kód projektu je distribuovaný pod licenciou GPLv2.
Vetva 1.0.0 je zaradená do kategórie vetva s dlhodobou podporou (LTS) s podporou poskytovanou tri roky. Verzia ClamAV 1.0.0 nahradí predchádzajúcu vetvu LTS, ClamAV 0.103, pre ktorú budú aktualizácie opravujúce zraniteľnosti a kritické problémy vydávané do septembra 2023. Aktualizácie pre bežné vetvy, ktoré nie sú zaradené do kategórie LTS, sú zverejňované najmenej štyri mesiace po prvom vydaní nasledujúcej vetvy. Sťahovanie databázy podpisov pre vetvy bez LTS je tiež poskytované najmenej ďalšie štyri mesiace po vydaní nasledujúcej vetvy.
Kľúčové vylepšenia v ClamAV 1.0:
- Pridaná podpora pre dešifrovanie súborov XLS založených na OLE2, ktoré sú určené len na čítanie a sú šifrované predvoleným heslom.
- Kód bol prepísaný tak, aby implementoval režim všetkých zhôd, ktorý identifikuje všetky zhody v súbore, čo znamená, že skenovanie pokračuje aj po prvej zhode. Nový kód sa považuje za spoľahlivejší a ľahšie sa udržiava. Nová implementácia tiež rieši množstvo koncepčných nedostatkov, ktoré sa objavili počas overovania na základe podpisov v režime všetkých zhôd. Boli pridané testy na overenie správnosti správania pri všetkých zhodách.
- Do API bola pridaná spätná funkcia clcb_file_inspection() na pripojenie obslužných programov, ktoré kontrolujú obsah súborov vrátane tých, ktoré sú extrahované z archívov.
- Do API bola pridaná funkcia cl_cvdunpack() na rozbaľovanie archívov podpisov vo formáte CVD.
- Skripty na vytváranie obrazov Dockeru pomocou ClamAV boli presunuté do samostatného repozitára clamav-docker. Hlavičky pre knižnicu C sú súčasťou obrazu Dockeru.
- Pridané kontroly na obmedzenie úrovne rekurzie pri extrakcii objektov z dokumentov PDF.
- Limit veľkosti pamäte pridelenej pri spracovaní nedôveryhodných vstupných údajov bol zvýšený a pri prekročení tohto limitu sa zobrazuje upozornenie.
- Zostavovanie jednotkových testov pre knižnicu libclamav-Rust bolo výrazne zrýchlené. Moduly Rust pre ClamAV sa teraz zostavujú v rovnakom adresári ako ClamAV.
- Zmiernili sme obmedzenia pri kontrole prekrývajúcich sa položiek v súboroch ZIP, čím sme eliminovali falošne pozitívne výsledky pri spracovaní mierne upravených, ale neškodných archívov JAR.
- Minimálna a maximálna podporovaná verzia LLVM sa teraz definuje počas zostavovania. Pokus o zostavenie s verziou, ktorá je príliš stará alebo príliš nová, teraz povedie k chybovému upozorneniu na problémy s kompatibilitou.
- Povolenie zostavovania s vlastnou RPATH (zoznam adresárov, z ktorých sa načítavajú zdieľané knižnice) umožňuje presunúť spustiteľné súbory na iné miesto po zostavení vo vývojovom prostredí.
Zdroj: opennet.ru
