Кампанія Cisco выпусціла вольны антывірусны пакет ClamAV 1.0.0

Кампанія Cisco прадставіла новы значны выпуск вольнага антывіруснага пакета ClamAV 1.0.0. Новая галінка характэрна пераходам на традыцыйную нумарацыю выпускаў "Major.Minor.Patch" (замест 0.Version.Patch). Значная змена версіі таксама абумоўлена занясеннем у бібліятэку libclamav змен, якія парушаюць сумяшчальнасць на ўзроўні ABI з-за выдаленні прасторы імёнаў CLAMAV_PUBLIC, змены тыпу аргументаў у функцыі cl_strerror і ўключэнні ў прастору імёнаў знакаў для мовы Rust. Праект перайшоў у рукі Cisco у 2013 годзе пасля пакупкі кампаніі Sourcefire, якая развівае ClamAV і Snort. Код праекту распаўсюджваецца пад ліцэнзіяй GPLv2.

Галінка 1.0.0 аднесена да катэгорыі з працяглым тэрмінам падтрымкі (LTS), суправаджэнне для якой забяспечваецца на працягу трох гадоў. Выпуск ClamAV 1.0.0 прыйдзе на змену мінулай LTS-галінцы ClamAV 0.103, абнаўленні з ухіленнем уразлівасцяў і крытычных праблем для якой будуць выпускацца да верасня 2023 гады. Абнаўленні для звычайных галінак, не аднесеных да катэгорыі LTS, публікуюцца як мінімум на працягу 4 месяцаў пасля вынахаду першага рэлізу наступнай галінкі. Магчымасць загрузкі базы сігнатур для не-LTS галінак таксама забяспечваецца як мінімум яшчэ 4 месяцы пасля выпуску наступнай галінкі.

Ключавыя паляпшэнні ў ClamAV 1.0:

  • Дададзена падтрымка расшыфроўкі даступных толькі на чытанне XLS-файлаў на базе OLE2, зашыфраваных паролем па змаўчанні.
  • Перапісаны код з рэалізацыяй рэжыму all-match, пры якім вызначаюцца ўсе супадзенні ў файле, г.зн. сканіраванне працягваецца пасля першага супадзення. Новы код адзначаны як больш надзейны і просты для суправаджэння. У новай рэалізацыі таксама ўхіленая серыя канцэптуальных недапрацовак, якія выяўляюцца пры праверцы па сігнатурах у рэжыме all-match. Дададзены тэсты для праверкі карэктнасці паводзін all-match.
  • У API дададзены callback-выклік clcb_file_inspection() для падлучэння апрацоўшчыкаў, якія выконваюць інспектаванне змесціва файлаў, у тым ліку вымаемых з архіваў.
  • У API дададзена функцыя cl_cvdunpack() для распакавання архіваў сігнатур у фармаце CVD.
  • Скрыпты для зборкі docker-вобразаў з ClamAV перанесены ў асобны рэпазітар clamav-docker. У склад docker-выявы ўключаны загалоўкавыя файлы для Сі-бібліятэкі.
  • Дададзеныя праверкі, якія абмяжоўваюць узровень рэкурсіі пры выманні аб'ектаў з PDF-дакументаў.
  • Падвышаны ліміт на памер памяці, якая выдаткоўваецца пры апрацоўцы не вартыя даверу ўваходных дадзеных, і рэалізаваны выснова папярэджання пры перавышэнні дадзенага ліміту.
  • Значна паскорана зборка unit-тэстаў для бібліятэкі libclamav-Rust. Напісаныя на мове Rust модулі для ClamAV зараз збіраюцца ў каталогу, агульным з ClamAV.
  • Змякчэлыя абмежаванні пры праверцы перакрыцця запісаў у файлах у фармаце ZIP, што дазволіла пазбавіцца ад ілжывых папярэджанняў пры апрацоўцы крыху змененых, але не шкоднасных, JAR-архіваў.
  • Пры зборцы вызначаны мінімальная і максімальная падтрымліваемыя версіі LLVM. Спроба зборкі з занадта старой ці занадта новай версіяй зараз прывядзе да высновы памылкі з папярэджаннем аб наяўнасці праблем з сумяшчальнасцю.
  • Дазволена зборка з уласным спісам RPATH (спіс каталогаў, з якіх загружаюцца падзяляныя бібліятэкі), што дазваляе перамяшчаць выкананыя файлы ў іншае месца пасля зборкі ў асяроддзі для распрацоўкі.

Крыніца: opennet.ru

Дадаць каментар