A Cisco bemutatta a ClamAV 1.0.0 ingyenes víruskereső csomagának új jelentős kiadását. Az új ágat a hagyományos "Major.Minor.Patch" verziószámra való áttérés jellemzi (a 0.Version.Patch helyett). A jelentős verzióváltás részben az ABI szintű kompatibilitást megsértő változások következményeként történt a libclamav könyvtárban, többek között a CLAMAV_PUBLIC névtér eltávolításával, a cl_strerror függvény argumentumtípusainak megváltoztatásával és a Rust nyelv szimbólumainak névtér-bevonásával. A projekt 2013-ban került a Cisco birtokába, miután megvásárolták a ClamAV-t és Snort-ot fejlesztő Sourcefire céget. A projekt kódja GPLv2 licenc alatt terjed.
Az 1.0.0 ág a hosszú távú támogatású (LTS) kategóriába tartozik, amelynek támogatása három évig biztosított. A ClamAV 1.0.0 kiadása a korábbi ClamAV 0.103 LTS-ág helyébe lép, amelyhez biztonsági és kritikus problémák javító frissítései 2023 szeptemberéig érkeznek. A nem LTS ágak számára legalább 4 hónapra a következő ág első kiadása után biztosítják a frissítéseket. A nem LTS ágakhoz a mintabázis letöltési lehetősége is biztosítva van legalább még 4 hónapig a következő ág kiadása után.
A ClamAV 1.0 kulcsfontosságú fejlesztései:
- Hozzáadva a jelszóval védett, csak olvasható OLE2 alapú XLS fájlok dekódolásának támogatása.
- A kód újraírásra került az all-match üzemmód megvalósításával, amely lehetővé teszi az összes egyezés azonosítását a fájlban, vagyis a vizsgálat folytatódik az első egyezés után. Az új kód megbízhatóbbnak és könnyebben karbantarthatónak minősül. Az új megvalósításban egy sor elméleti hiányosságot is megszüntettek, amelyek all-match módban a minták szerinti ellenőrzés során jelentkeztek. Teszteket adtak hozzá az all-match viselkedésének helyességének ellenőrzésére.
- Az API-hoz hozzáadták a clcb_file_inspection() callback-hívást, amely lehetővé teszi a fájlok tartalmát vizsgálni képes kezelők csatlakoztatását, beleértve az archívumból kinyert fájlokat is.
- Az API-hoz hozzáadták a cl_cvdunpack() függvényt a CVD formátumú mintaarchívumok kicsomagolásához.
- A ClamAV-hoz készült docker-képek összerendeléséhez szükséges szkriptek külön repóba, a clamav-docker-be kerültek. A docker-kép tartalmazza a C könyvtár fejlécfájljait.
- Hozzáadtuk a PDF-dokumentumból történő objektumkivonás során a rekurzió szintjét korlátozó ellenőrzéseket.
- Növeltük a memória méretére vonatkozó korlátot, amelyet a megbízhatatlan bemeneti adatok feldolgozása során osztanak ki, és figyelmeztető üzenetet valósítottunk meg a korlát átlépésekor.
- Jelentősen felgyorsítottuk a libclamav-Rust könyvtárhoz tartozó egységtesztek összeállítását. A Rust nyelven írt modulok most a ClamAV közönségébe tartozó könyvtárban állnak össze.
- Lazítottuk a ZIP-formátumú fájlokban a bejegyzések átfedésének ellenőrzésére vonatkozó korlátokat, amely lehetővé tette a hamis figyelmeztetések elkerülését a kissé módosított, de nem rosszindulatú JAR-archívumok feldolgozása során.
- Az összeállítás során meghatároztuk a minimálisan és maximálisan támogatott LLVM verziókat. Mostantól a túl régi vagy túl új verzióval történő összeállítás hibaüzenetet eredményez a kompatibilitási problémák figyelmeztetésével.
- Engedélyeztük a saját RPATH lista (a megosztott könyvtárak betöltésére szolgáló könyvtárak listája) használatát, ami lehetővé teszi az állományok más helyre történő mozgatását az összeállítás után a fejlesztési környezetben.
Forrás: opennet.ru
