Compania Cisco a lansat o nouă versiune semnificativă a pachetului antivirus gratuit ClamAV 1.0.0. Noua versiune este remarcabilă prin trecerea la numerotarea tradițională a versiunilor „Major.Minor.Patch” (în loc de 0.Version.Patch). Schimbarea semnificativă a versiuni este determinată, de asemenea, de modificările aduse bibliotecii libclamav, care afectează compatibilitatea la nivel ABI din cauza eliminării spațiului de nume CLAMAV_PUBLIC, modificării tipului argumentelor în funcția cl_strerror și includerii în spațiul de nume a simbolurilor pentru limbajul Rust. Proiectul a trecut în proprietatea Cisco în 2013, după achiziția companiei Sourcefire, care dezvoltă ClamAV și Snort. Codul proiectului este distribuit sub licența GPLv2.
Ramura 1.0.0 este clasificată ca având suport pe termen lung (LTS), mentenanța fiind asigurată timp de trei ani. Lansarea ClamAV 1.0.0 va înlocui fosta ramură LTS ClamAV 0.103, pentru care vor fi publicate actualizări cu corecții de vulnerabilitate și probleme critice până în septembrie 2023. Actualizările pentru ramurile standard, care nu sunt clasificate ca LTS, sunt publicate timp de cel puțin 4 luni după lansarea primei versiuni a următoarei ramuri. Posibilitatea de a descărca baza de semnături pentru ramurile non-LTS va fi, de asemenea, asigurată timp de încă cel puțin 4 luni după lansarea următoarei ramuri.
Îmbunătățiri cheie în ClamAV 1.0:
- Adăugată suportul pentru decriptarea fișierelor XLS accesibile doar în mod citire, bazate pe OLE2, criptate cu o parolă implicită.
- Codul a fost rescris pentru a implementa modul all-match, în care sunt identificate toate corespondențele din fișier, adică scanarea continuă după prima corespondență. Noua implementare este considerată mai fiabilă și mai ușor de întreținut. De asemenea, în noua implementare au fost eliminate o serie de deficiențe conceptuale care apăreau la verificarea prin semnături în modul all-match. Au fost adăugate teste pentru a verifica corectitudinea comportamentului all-match.
- În API a fost adăugat apelul callback clcb_file_inspection() pentru a conecta handleri care inspectează conținutul fișierelor, inclusiv extrase din arhive.
- În API a fost adăugată funcția cl_cvdunpack() pentru extragerea arhivelor de semnături în format CVD.
- Scripturile pentru construirea imaginilor docker cu ClamAV au fost mutate într-un repository separat clamav-docker. În imaginea docker sunt incluse fișierele antet pentru biblioteca C.
- Au fost adăugate verificări care limitează nivelul de recurs la extragerea obiectelor din documentele PDF.
- A fost crescut limita de memorie alocată pentru procesarea datelor de intrare nesigure, iar o avertizare va fi generată atunci când această limită este depășită.
- A fost semnificativ accelerată compilarea testelor unității pentru biblioteca libclamav-Rust. Modulele scrise în Rust pentru ClamAV sunt acum compilate în același director cu ClamAV.
- Au fost relaxate restricțiile la verificarea suprapunerii înregistrărilor în fișierele ZIP, eliminând astfel avertizările false la procesarea arhivelor JAR ușor modificate, dar non-malware.
- În timpul compilării, au fost definite versiunile minime și maxime acceptate ale LLVM. Încercarea de a compila cu o versiune prea veche sau prea nouă va genera acum un mesaj de eroare cu o atenționare despre eventualele probleme de compatibilitate.
- A fost permisă compilarea cu o listă personalizată de RPATH (lista directorilor din care se încarcă bibliotecile partajate), ceea ce permite mutarea fișierelor executabile în alte locații după compilare în medii de dezvoltare.
Sursa: opennet.ro
