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:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° OLE2-Π±Π°Π·ΠΈΡΠ°Π½ΠΈ XLS ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅, ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠ°ΡΠΎΠ»Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
- ΠΠΎΠ΄ΡΡ Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½ Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π²ΡΠ² ΡΠ°ΠΉΠ»Π°, Ρ.Π΅. ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ»Π΅Π΄ ΠΏΡΡΠ²ΠΈΡ ΠΌΠ°Ρ. ΠΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΈ ΠΏΠΎ-Π»Π΅ΡΠ΅Π½ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°. ΠΠΎΠ²Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»Π½ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ΅ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΌΠ°ΡΠΎΠ²Π΅.
- ΠΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ clcb_file_inspection() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΊΡΠΌ API Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅Π·ΠΈ, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈ ΠΎΡ Π°ΡΡ ΠΈΠ²ΠΈ.
- Π€ΡΠ½ΠΊΡΠΈΡΡΠ° cl_cvdunpack() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ API Π·Π° ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° Π°ΡΡ ΠΈΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ CVD.
- Π‘ΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄ΠΎΠΊΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ClamAV ΡΠ° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° clamav-docker. ΠΠΎΠΊΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° Π·Π°Π³Π»Π°Π²Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° C Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΡΠ΅ΠΊΡΡΡΠΈΡ ΠΏΡΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ ΠΎΡ PDF Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ.
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΏΠ°ΠΌΠ΅Ρ, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΎ ΠΈ ΡΠ΅ ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΎΠ²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π²ΠΈΡΠ΅Π½ΠΎ.
- ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΠΈ ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄ΡΠ»Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libclamav-Rust. ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ClamAV, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Rust, Π²Π΅ΡΠ΅ ΡΠ° ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Ρ ClamAV.
- ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π±ΡΡ Π° ΡΠΌΠ΅ΠΊΡΠ΅Π½ΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΠΏΡΠΈΠΏΠΎΠΊΡΠΈΠ²Π°ΡΠΈ ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ZIP ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π»ΡΠΈΠ²ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π»Π΅ΠΊΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ, Π½ΠΎ Π½Π΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ JAR Π°ΡΡ ΠΈΠ²ΠΈ.
- ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° LLVM. ΠΠΏΠΈΡΡΡ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Ρ ΡΠ²ΡΡΠ΄Π΅ ΡΡΠ°ΡΠ° ΠΈΠ»ΠΈ ΡΠ²ΡΡΠ΄Π΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π²Π΅ΡΠ΅ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠ° ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ°.
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ RPATH ΡΠΏΠΈΡΡΠΊ (ΡΠΏΠΈΡΡΠΊ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π΄ΡΡΠ³ΠΎ ΠΌΡΡΡΠΎ ΡΠ»Π΅Π΄ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π² ΡΡΠ΅Π΄Π°ΡΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru