Cisco har præsenteret en ny betydelig frigivelse af det gratis antivirusprogram ClamAV 1.0.0. Den nye version er bemærkelsesværdig ved at skifte til den traditionelle versioneringsrækkefølge „Major.Minor.Patch“ (i stedet for 0.Version.Patch). Dette versionsskift er også forårsaget af ændringer i biblioteket libclamav, der bryder ABI-kompatibilitet på grund af fjernelse af navneområdet CLAMAV_PUBLIC, ændringer i argumenttyperne i funktionen cl_strerror og inkludering af symbolske navne til Rust-sprog. Projektet blev overtaget af Cisco i 2013 efter køb af Sourcefire, som udviklede ClamAV og Snort. Koden til projektet distribueres under GPLv2-licensen.
Version 1.0.0 klassificeres som en langtidssupportversion (LTS), som vil være supporteret i tre år. Udgivelsen af ClamAV 1.0.0 vil erstatte den tidligere LTS-version ClamAV 0.103, hvor opdateringer med løsning af sårbarheder og kritiske problemer vil blive offentliggjort indtil september 2023. Opdateringer for de almindelige versioner, der ikke er klassificeret som LTS, offentliggøres i det mindste i fire måneder efter udgivelsen af den første version af den næste version. Muligheden for at downloade signaturdatabasen for ikke-LTS-versioner vil også blive opretholdt i mindst yderligere fire måneder efter frigivelsen af den næste version.
Nøgleforbedringer i ClamAV 1.0:
- Tilsupport til dekryptering af skrivebeskyttede XLS-filer baseret på OLE2, der er beskyttet med standardadgangskode, er blevet tilføjet.
- Koden er blevet omskrevet med implementering af all-match-tilstand, hvor alle match i filen bestemmes, dvs. scanning fortsætter efter den første match. Den nye kode er blevet markeret som mere pålidelig og lettere at vedligeholde. I den nye implementering er der også løst flere konceptuelle mangler, der opstod ved signaturkontrol i all-match-tilstand. Test er blevet tilføjet for at kontrollere korrektheden af all-match-adfærden.
- I API'et er der tilføjet et callback-opkald clcb_file_inspection() til tilslutning af håndteringsprogrammer, der udfører inspektion af filindhold, herunder indhold udtrukket fra arkiver.
- I API'et er der tilføjet funktionen cl_cvdunpack() til at pakke arkiver med signaturer i CVD-format.
- Scripts til bygning af docker-billeder med ClamAV er blevet flyttet til et separat repository clamav-docker. Docker-billedet inkluderer headerfiler til C-biblioteket.
- Tilføjet kontroller, der begrænser niveauet af rekursion ved udtrækning af objekter fra PDF-dokumenter.
- Grænsen for den hukommelse, der tildeles ved behandling af usikre inputdata, er blevet hævet, og der implementeres en advarsel, når denne grænse overskrides.
- Sammenstilling af enhedstest for bibliotektet libclamav-Rust er blevet betydeligt hurtigere. Moduler skrevet i Rust til ClamAV kan nu samles i en mappe, der er fælles med ClamAV.
- Begrænsningerne ved kontrol af overlapning af poster i ZIP-filer er blevet lempet, hvilket har elimineret falske advarsler ved behandling af lidt ændrede, men ikke skadelige JAR-arkiver.
- Under bygningen defineres minimums- og maksimumsunderstøttede versioner af LLVM. Et forsøg på bygning med en alt for gammel eller alt for ny version vil nu resultere i, at der vises en fejlmeddelelse om kompatibilitetsproblemer.
- Det er muligt at bygge med en brugerdefineret RPATH-liste (listen over mapper, hvorfra delte biblioteker indlæses), hvilket gør det muligt at flytte eksekverbare filer til en anden placering efter bygning i et udviklingsmiljø.
Kilde: opennet.ru
