Spoločnosť Cisco predstavila nový významný vydanie voľného antivírusového balíka ClamAV 1.0.0. Nová vetva je pozoruhodná prechodom na tradičnú čísláciu vydaní "Major.Minor.Patch" (namiesto 0.Version.Patch). Významný prechod verzie je tiež výsledkom zmien v knižnici libclamav, ktoré narušujú kompatibilitu na úrovni ABI z dôvodu odstránenia menného priestoru CLAMAV_PUBLIC, zmien typu argumentov vo funkcii cl_strerror a zahrnutia symbolov do menného priestoru pre jazyk Rust. Projekt prešiel do rúk spoločnosti Cisco v roku 2013 po akvizícii spoločnosti Sourcefire, ktorá vyvíja ClamAV a Snort. Kód projektu je distribuovaný pod licenciou GPLv2.
Vetva 1.0.0 patrí do kategórie s dlhodobou podporou (LTS), pričom údržba tejto verzie je zabezpečená počas troch rokov. Vydanie ClamAV 1.0.0 nahradí predchádzajúcu LTS-vetvu ClamAV 0.103, pre ktorú budú aktualizácie na opravy zraniteľností a kritických problémov vydávané do septembra 2023. Aktualizácie pre bežné vetvy, ktoré nie sú zaraďované do kategórie LTS, sa publikujú minimálne počas 4 mesiacov po vydaní prvého releasu nasledujúcej vetvy. Možnosť sťahovania databázy podpisov pre ne-LTS vetvy je zabezpečená minimálne ešte 4 mesiace po vydaní nasledujúcej vetvy.
Kľúčové vylepšenia v ClamAV 1.0:
- Pridaná podpora dešifrovania iba na čítanie XLS súborov na báze OLE2, šifrovaných predvoleným heslom.
- Kód bol prepísaný s realizáciou režimu all-match, v ktorom sú určené všetky zhodnosti v súbore, t.j. skenovanie pokračuje aj po prvom zhodnutí. Nový kód je označený ako spoľahlivejší a jednoduchší na údržbu. V novej implementácii boli tiež odstránené sériové konceptuálne nedostatky, ktoré sa prejavovali pri kontrole podľa podpisov v režime all-match. Pridané diagnostické testy na overenie správnosti správania sa all-match.
- Do API bol pridaný callback-volanie clcb_file_inspection() pre pripojenie spracovateľov, ktorí vykonávajú inšpekciu obsahu súborov, vrátane tých, ktoré sú extrahované z archívov.
- Do API bola pridaná funkcia cl_cvdunpack() na rozbalenie archívov podpisov vo formáte CVD.
- Skripty na stavbu docker-obrazov s ClamAV boli presunuté do samostatnej repozitára clamav-docker. Do docker-obrazov boli zahrnuté hlavičkové súbory pre knižnicu C.
- Pridané kontroly, ktoré obmedzujú úroveň rekurzie pri extrakcii objektov z PDF dokumentov.
- Zvýšený limit na veľkosť pamäte pridelený pri spracovaní nedôveryhodných vstupných údajov a realizované výstupy varovania pri prekročení tohto limitu.
- Výrazne zrýchlená kompilácia jednotkových testov pre knižnicu libclamav-Rust. Moduly napísané v jazyku Rust pre ClamAV sa teraz kompilujú v adresári zdieľanom s ClamAV.
- Zmienené obmedzenia pri kontrole prekrytia záznamov vo formáte ZIP, čo umožnilo zbaviť sa falošných upozornení pri spracovaní mierne pozmenených, ale neškodných JAR archívov.
- Pri kompilácii sú definované minimálne a maximálne podporované verzie LLVM. Pokus o kompiláciu s príliš starou alebo príliš novou verziou teraz povedie k výstupu chyby s upozornením o možných problémoch s kompatibilitou.
- Povoľuje sa kompilácia s vlastným zoznamom RPATH (zoznam adresárov, z ktorých sa načítavajú zdieľané knižnice), čo umožňuje presúvať spustiteľné súbory na iné miesto po kompilácii v prostredí pre vývoj.
Zdroj: opennet.ru
