思科發布了其免費防毒軟體 ClamAV 1.0.0 的新主要版本。新分支的顯著特徵是其版本號從 0.版本.補丁號過渡到傳統的“Major.Minor.Patch”(主要版本.次要版本.補丁號)。這次重大版本變更也源自於 libclamav 函式庫的變更,這些變更破壞了 ABI 層級的兼容性,例如移除了 CLAMAV_PUBLIC 命名空間、更改了 cl_strerror 函數的參數類型以及在命名空間中新增了 Rust 語言的符號。思科於 2013 年收購了開發 ClamAV 和 Snort 的公司 Sourcefire,並最終收購了該專案。此專案代碼基於 GPLv2 許可證分發。
1.0.0 分支被歸類為長期支持 (LTS) 分支,提供三年支援。 ClamAV 1.0.0 版本將取代先前的 LTS 分支 ClamAV 0.103,該分支將發布用於解決漏洞和關鍵問題的更新,直至 2023 年 4 月。未歸類為 LTS 的常規分支的更新將在下一個分支首次發布後至少發布 4 個月。非 LTS 分支的簽章資料庫下載功能也將在下一個分支發布後至少再提供 XNUMX 個月。
ClamAV 1.0 的主要改進:
- 添加了對解密使用默認密碼加密的基於 OLE2 的只讀 XLS 文件的支持。
- 代碼被重寫為全匹配模式的實現,在該模式下,文件中的所有匹配都被確定,即掃描在第一場比賽后繼續。 新代碼被標記為更可靠且更易於維護。 新的實現還消除了在全匹配模式下檢查簽名時出現的一系列概念缺陷。 添加了測試以檢查全匹配行為的正確性。
- 回調調用 clcb_file_inspection() 已添加到 API 以連接檢查文件內容的處理程序,包括從存檔中提取的文件。
- cl_cvdunpack() 函數已添加到 API 中,用於解壓 CVD 格式的簽名存檔。
- 使用 ClamAV 建置 Docker 映像的腳本已移至單獨的儲存庫 clamav-docker。該 Docker 映像包含 C 庫的頭檔。
- 添加檢查以限制從 PDF 文檔中提取對象時的遞歸級別。
- 處理不受信任的輸入數據時分配的內存量限制已增加,超過此限制時會發出警告。
- 顯著加速了 libclamav-Rust 庫的單元測試組裝。 用 Rust 編寫的 ClamAV 模塊現在構建在與 ClamAV 共享的目錄中。
- 在檢查 ZIP 文件中的重疊記錄時放寬了限制,這使得在處理經過輕微修改但非惡意的 JAR 存檔時可以消除錯誤警告。
- 該構建定義了 LLVM 的最低和最高支持版本。 嘗試使用太舊或太新的版本構建現在將導致有關兼容性問題的錯誤警告。
- 允許使用您自己的 RPATH(加載共享庫的目錄列表)進行構建,允許在開發環境中構建後將可執行檔移動到另一個位置。
來源: opennet.ru
