微信订阅号二维码

本页内容二维码:

本栏目热门内容
  • Windows 系统安全基线及软...
  • CIS-CAT 配置评估工具介绍...
  • 修改audispd.conf解决审计...
  • 详细了解微软安全合规工具...
  • 从甲方角度介绍“CIS互联...
  • 2022年甲方个人网络安全运...
  • 微软安全合规工具包(SCT...
  • CIS关键安全控制措施#1总...
  • 业务导向安全策略#5员工培...
  • 安装RHEL/CentOS时如何选...
  • SELINUX介绍连载#3:什么...
  • CIS关键安全控制措施#16应...
  • CIS关键安全控制措施#17突...
  • 关于OpenSCAP/SCAP安全策...
  • SELINUX介绍连载#2:模式...
  • SELINUX介绍连载#1:基础...
  • 网络安全日志收集甲方基础...
  • CIS RAM风险评估方法5篇目...
  • CIS关键安全控制措施#6访...
  • CIS关键安全控制措施集18...
  • 网络攻防中的色彩象征
  • CIS RAM#4实施防护措施、...
  • CIS关键安全控制措施#14安...
  • 什么是网络行为异常检测(...
  • DNS子域名发掘工具两项
  • 内网DNS服务器安全性能基...
  • CIS RAM#1风险评估方法核...
  • 业务导向安全策略#1数据管...
  • Linux服务器恶意代码防范
  • 更多...

    解决ClamAV恶意代码库重复问题及对扫描期间异常情况的分析

    作者:Sender  来源:WaveCN.com  发布日期:2023-02-18  最后修改日期:2023-02-18

    article banner

    时至今日,按网络安全等级保护要求,对 Linux 服务器部署使用 ClamAV 去防范恶意代码(杀毒),这个措施应该已经常态化了。

    但手头的CentOS 7服务器部署完用起来了发现,通过 freshclam 更新ClamAV的恶意代码检测数据库后,每次运行 clamscan 进行杀毒,clamscan 就会告警:

    LibClamAV Warning: Detected duplicate databases /var/lib/clamav/bytecode.cvd and /var/lib/clamav/bytecode.cld, please manually remove one of them
    LibClamAV Warning: Detected duplicate databases /var/lib/clamav/main.cvd and /var/lib/clamav/main.cld, please manually remove one of them
    

    提示发现有重复的恶意代码检测数据库文件,应删除其中一个。

    这个问题的原因,是通过 yum 或者 dnf 安装 clamav 软件包时,软件包内包括有 clamav-data 这个单独的 RPM 组件包,可以通过 rpm 命令观察:

    [root@vm ~]# rpm -qa | grep clamav
    clamav-0.103.7-1.el8.x86_64
    clamav-data-0.103.7-1.el8.noarch
    clamav-filesystem-0.103.7-1.el8.noarch
    clamav-update-0.103.7-1.el8.x86_64
    clamav-lib-0.103.7-1.el8.x86_64
    

    clamav-data组件包是clamav的恶意代码检测数据库,由以下三个文件组成:

    [root@vm ~]# rpm -q --filesbypkg clamav-data
    clamav-data               /var/lib/clamav/bytecode.cvd
    clamav-data               /var/lib/clamav/daily.cvd
    clamav-data               /var/lib/clamav/main.cvd
    

    当运行 freshclam 之后,clamav-update会从网络上下载最新的恶意代码检测数据库,也就是和clamav-data在功能上相同的三个文件,但文件的扩展名是 cld,并不会覆盖原有的 cvd 文件,因此就会导致提示重复。

    解决问题的办法也很简单,如果 freshclam 运作良好,能更新,那么就可以单独卸载掉 clamav-data 组件包,从而避免恶意代码检测数据库重复。

    操作上就是:

    yum remove clamav-data
    

    在 clamscan 使用期间,它有时会对扫描内容给出一些信息,比较常见的,以及所对应的原因如下:

    1、iconv错误的警告:

    LibClamAV Warning: cli_codepage_to_utf8: iconv error: An invalid multibyte sequence has been encountered in the input.
    

    提示在输入(扫描的内容)中遇到了一个无效的多字节字符序列。

    iconv()是用于转换文本的字符编码的函数。clamav通过iconv函数转换扫描内容(比如html文件)的字符集,这样统一化字符集后,可以容易检测出用非UTF8的多字节字符集(比如CJK,MBCS之类)去隐藏的恶意代码。

    这个提示是iconv()的转换过程碰到了处理不了的多字节字符序列,向用户示意可能会有隐藏得更加深的恶意代码没有被 clamscan 检查出来。

    如果对涉及的文件没有疑问,直接忽略这个提示便可。但如果确实可疑,应将涉及的文件单独进行检查,比如通过 virustotal.com 这一在线检查工具对可疑文件作深入检查。

    ​iconv相关还有其它一些告警信息,道理都是相似的。​

    2、不完整的媒体文件的警告:

    LibClamAV Warning: PNG: Unexpected early end-of-file.
    

    图片文件(比如PNG)虽然不是可以执行的文件,但由于处理图片的函数库可能存在缺陷,使得图片文件也是恶意代码的可能载体。

    clamscan 对图片文件进行结构解析和检查是否存在恶意代码。如果图片文件结构不完整,就会给出这样的提示。

    处理的方式同上,如果可疑,就扔到 virustotal.com 作进一步的深入检查。

    另外,也可以通过 --alert-broken-media=no 参数关闭告警。类似的参数可以通过 clamscan --help 观察获得。

    3、压缩文件过大的告警

    LibClamAV Warning: cli_scanxz: decompress file size exceeds limits -
    only scanning 27262976 bytes

    clamscan 支持对压缩文件解压查杀,但由于解压查杀对计算机的性能可能会产生极大影响拖累,所以 clamscan 默认只解压26MB的数据,这对于大多数情况是足够了,但使用者的系统内还是会有大压缩包存在的,所以就给出告警提示。

    可以通过 --max-scansize=#n 去设定不同的大小限制,类似的最大限制参数还有其它一些,可以自行观察。

    4、文件读不到数据的告警:

    LibClamAV Warning: fmap_readpage: pread fail: asked for 4073 bytes @
    offset 23, got 0
    

    这种情况是因为扫描了比如 /sys 这种特殊的文件系统位置。因此必须指定 clamscan 的扫描目标,不应该闭上眼从根开始扫。

    clamav trademark

    欢迎关注微信公众号后私信讨论文章内容!
    本栏目相关
  •  2022-03-16 Windows 系统安全基线及软件工具介绍
  •  2022-05-11 CIS-CAT 配置评估工具介绍及操作实践
  •  2022-03-17 详细了解微软安全合规工具包(SCT)
  •  2022-03-25 从甲方角度介绍“CIS互联网安全中心”
  •  2022-05-10 2022年甲方个人网络安全运维基础工具
  •  2022-03-18 微软安全合规工具包(SCT)操作实战
  •  2022-03-28 如何应用CIS互联网安全中心发布的《CIS关键安全控制措施集》之一:总览
  •  2022-06-06 业务导向甲方网络安全策略设计#5员工培训及系列总结
  •  2022-03-11 安装RHEL/CentOS时如何选择配置安全策略?
  • 返回页首