查看: 3274|回复: 59
收起左侧

[讨论] 关于eset监控漏毒问题的再探究

  [复制链接]
bbszy
发表于 2025-4-6 17:23:39 | 显示全部楼层 |阅读模式
本帖最后由 bbszy 于 2025-4-8 02:36 编辑

近年来对于eset漏毒的问题的声音已经少了很多,但是偶尔还是有漏毒的反馈(例如:https://bbs.kafan.cn/thread-2279590-1-1.htmlhttps://bbs.kafan.cn/thread-2277886-1-1.html),但是当大家纷纷去测试的时候,却很难复现中毒问题,因为样本一下载到本地就被eset的监控立即杀掉,最后只能不了了之。在官方论坛上,对于中毒问题的反馈,除了会被问是否“始终打开了eset的监控”,也没有实质性的解答。最终把eset监控漏毒的问题指向了玄学和使用者自己不小心。

这几日,我再次安装上了eset,进行了测试,得出的初步结论是:对于eset监控可能的漏毒风险,是由于其监控设计上的逻辑缺陷以及未给用户提供扫描所有类型文件选项导致的。(这里先不探讨eset的驱动强度问题)。

下面开始具体内容。


1.eset监控的逻辑缺陷

1.1.查看eset的设置或者官方文档可以得知,eset的文件监控(文件系统实时防护)对所有文件(不区分是否新创建或新修改文件)在以下情况下对文件进行扫描(依赖系统事件):
文件打开 - 打开文件时扫描
文件创建 - 扫描创建或修改的文件
文件执行 - 执行或运行文件时扫描。

(这里“打开”和“执行”的区别,我个人理解是,“打开”是指文件被其他程序加载,例如notepad.exe打开一个txt文件;“执行”是指运行一个exe文件及加载dll等文件。)

这里有一个坑:
坑1:通过对比卡巴、sep的文件监控设置内容,可以发现,eset的文件监控缺少了“访问时扫描”(卡巴的文件监控默认设置是“智能模式”,是在文件被访问或者文件被修改前与后进行扫描;sep的自动防护默认设置是“访问或修改文件时扫描”)。而eset这里的“打开时扫描”并不等于“访问时扫描”,“打开时扫描”要有数据被加载的过程才能触发。

1.2.eset对于已存在文件、新建与新修改的文件、执行的文件,是有不同的监控策略(eset称为ThreatSense引擎参数)。
    1.2.1.对于已存在文件,套用的是ThreatSense默认参数,默认参数提供了四个开关,扫描引导区(默认打开)、扫描加壳程序(默认关闭)、启发式扫描(默认打开)、高级启发式扫描(默认关闭)。
    1.2.2.对于新创建和新修改的文件,套用的是ThreatSense其他参数,其他参数提供了三个开关,扫描加壳程序(默认打开)、扫描自解压程序(默认打开)、高级启发式扫描(默认打开)。
    1.2.3.对于文件执行时和文件从可移动磁盘执行时,又有对应的开关,即高级启发式扫描(默认打开)。

这里有两个坑:
坑2:对于“自解压程序”(不光是sfx文件,而是指所有不依赖第三方程序就可以解压自身内部文件的程序)的漏洞:对于已存的文件,套用的ThreatSense默认参数里,缺少了是否扫描自解压程序的开关,其结果就是无论怎么设置,在“自解压程序”文件打开时(即被其他程序加载时)不被监控;对于自解压程序在自己运行,由于文件执行时的ThreatSense参数仅有高级启发式的开关,导致也不被监控。
坑3:对于可移动磁盘的文件,eset全部按已存在文件对待,如果ThreatSense默认参数没有打开高级启发式扫描,对于只能被高级启发式扫描检测到的样本,就只剩执行监控了


2.对于已存在文件的测试(对应坑1、坑3

2.1.寻找只能被高启发检测到的样本(https://bbs.kafan.cn/thread-1368600-1-1.htmlhttps://bbs.kafan.cn/thread-2277888-1-1.html),样本包含exe和dll文件。
2.2.在其他电脑上把样本保存在U盘上,或着在关闭eset文件监控下载完样本后再打开监控,这时,样本均被按已存在文件对待。(套用1.2.1中的ThreatSense默认参数)
2.3.插上包含样本的U盘,或者访问样本所在文件夹,若ThreatSense默认参数打开高级启发式扫描,exe样本在进入文件夹(必须要进入文件夹,可能需要刷新)后可以检测到,dll文件必须要点击到文件(不管是右键查看属性还是直接双击)才能检测到。
2.4.如果按照默认设置,ThreatSense默认参数不打开高级启发式扫描,exe样本必须双击才能检测,dll必须用dll加载工具加载才能检测(用记事本打开都检测不到)。

p.s.u盘里不管是开机前插入还是开机后插入测试不影响测试结果,开不开设备控制也不影响测试结果。


3.对于自解压程序的测试(对应坑2

3.1.找了一个cad样本(acad.fas,我上传至附件,解压密码为infected,请不要随意运行),感染方式:打开cad软件时通过Autocad软件的appload命令加载。
3.2.当此样本从压缩包里解压出来,会被监控杀,因为命中1.2.2中对于 新建与已知更改的文件 的监控策略。默认设置下对于新建与已知更改的文件threatsense参数是扫描自解压文件的,如果去掉 新建与已知更改的文件threatsense参数 下的自解压文件,当此样本从压缩包里解压出来监控不杀,因此可以证明此样本被eset归类为自解压文件(右键扫描时可以看到日志里有解包的过程acad.fas >> AUTOLISP >> decompiled.lsp)。
3.3.如果该样本是在eset监控打开前或者放在u盘中从其他电脑拷贝过来,eset不认为是新建或已知更改的文件,除了手动扫描,eset的监控无法发现样本,autocad软件也可以顺利加载样本造成感染。(坑2
3.4.若这个样本属于已存在文件,但事先对这个样本进行右键扫描(选择只扫描不清除的处理),这时候再用autocad去加载或者直接记事本打开,监控会拦截,感觉这样的联动很搞笑
3.5.与avast文件监控方式的对比:avast的文件监控也没有读取监控,也是打开、创建、执行时监控,但是avast可以设置监控所有文件(默认设置是只监控程序和文档),监控所有文件后,就不会有3.3中eset出现的问题。


通过2和3的测试,得出eset监控的风险点:
(1)由于eset的文件监控依赖系统事件,对于u盘里存放的文件以及eset监控打开前出现的文件,eset都按照已存在文件进行对待,这时候只剩下执行监控,对于执行监控的弊端可以看我另一个帖子(https://bbs.kafan.cn/thread-2270051-1-1.html)。
(2)在风险点1的基础上,由于eset缺少读取监控且不能被设置为监控所有文件,对于已存在的“自解压程序”文件,在其被打开(被其他程序加载)或自身运行时,不被监控。
(3)除了sfx文件,还有其他文件被eset识别为“自解压程序”,例如上述测试的acad.fas。从我的测试来看,eset所指的”自解压程序“更接近卡巴监控里对于”复合文件“的描述,因为在我通过修改eset配置文件强行打开所有情况下都扫描“自解压程序”后,对于此前监控没反应的含有pua程序的安装包也可以直接被监控拦截了。理论上来说,复合文件不解包没有问题,但是对于感染型病毒,不解包只要运行就能完成感染,我甚至猜想还有其他可以成为恶意payload的文件也可能被eset识别为自解压文件……


因此,过去对于eset漏毒的反馈,较多的集中在感染型病毒、u盘病毒以及难以清除活动病毒,现在看来也是有迹可循。在2.7版本的时代,甚至ThreatSense默认参数里都没有高级启发式的开关(也就是无法打开全局高启),只有针对新建和已更改的文件开高级启发,加上当时也没有执行高级启发,所以导致了电脑插上有毒u盘就中毒的情况。在后来的版本中,加上了1.2.3章节中所述的执行高启后这一局面才改善了很多(但是还是不能完全弥补读取监控的缺失)。



4.对于智能优化的测试

曾经出现过打开智能优化后产生样本检测数量差异的问题,详见:https://bbs.kafan.cn/thread-1367971-1-1.html

对于智能优化的定义,官方文档中是这么写的:
启用智能优化后,最优化的设置将用于确保最高效的扫描级别,同时保持最高的扫描速度。各种保护模块将进行智能化扫描,以便使用不同的扫描方法并将它们应用到特定的文件类型。如果禁用了智能优化,则在执行扫描时将仅在特定模块的 ThreatSense 核心中应用用户定义的设置。

同时,官方文档中,对于ThreatSense引擎参数下智能优化开关还有这么一段描述:
默认情况下,执行文件时将使用高级启发式扫描。启用后,强烈建议您保持智能优化和 ESET LiveGrid® 的启用状态以降低对系统性能的影响。

经测试,启用智能优化后,eset会利用livegrid跳过大量文件的扫描,如果关闭,则完全使用本地引擎进行逐一扫描,这时候eset引擎的真实效率就现原形了,特别是开了高级启发式以后。
可以通过使用不同的扫描配置文件进行测试:在手动扫描中,若使用智能扫描的配置文件(默认启用了智能优化),扫描内存仅需1秒;若果使用深度扫描的配置文件(默认关闭了智能优化),扫描内存需要很长时间。

甚至在我的测试中,文件监控关闭了智能优化后,因为执行高启的存在,还会出现我的一个游戏在启动时因为被eset高级启发扫描导致uac弹出来慢了进而导致游戏启动失败的情况,可见高级启发对性能的影响。所以eset所谓的轻量主要是依靠没有读取监控加上使用云来跳过大量文件来实现的(包括默认不扫描已存在的自解压程序),并不是引擎本身有多么高效。或许正是如此,官方才没有给eset读取监控(参考现如今个人版咖啡只剩读取监控)。

当然,这篇帖子不是来说eset的性能问题,而是聚焦于可能的漏毒风险。由于livegrid云偶尔对部分文件信誉的错误标记(黑标成白)、eset本机的缓存与云服务器较长的刷新间隔,可能导致后入库的样本不能被及时查杀(https://bbs.kafan.cn/thread-2279590-1-1.html)。


5.评论及建议

评论:
(1)在官方论坛反应中毒情况的帖子,经常被反问是否始终保持监控的开启,由此我感觉,官方是十分清楚eset监控中的逻辑缺陷(缺少读取监控),加上eset轻量的人设无法改变,官方也无意去修正持续十余年的漏毒问题。但是对于日常上上网这种从病从口入的方式目前的eset应该还是足够防御的。
(2)目前各杀软,若文件监控提供监控所有文件的选项还是选上为好,除此之外,只有卡巴的按文件格式监控是最靠谱的,按扩展名监控不靠谱。
建议:
(1)eset的监控可以归纳为写入监控+执行监控(执行监控还不包括自解压程序),对于日常使用基本能预防,但是对于u盘、共享文件夹的使用要谨慎,最好使用前对其进行手动扫描。
(2)如果需要,可以关闭监控中的“智能优化”,但是性能会有明显影响。(3)可参考我另一个帖子(https://bbs.kafan.cn/thread-2280552-1-1.html),通过修改eset设置缓解漏毒风险。














本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 9人气 +29 收起 理由
zn806 + 3 分析有理有据,令人信服
huawei_518 + 3 版区有你更精彩: )
ksss5566 + 3 版区有你更精彩: )
gtc + 3 精品文章
喀反 + 3 感谢解答: )

查看全部评分

christina7358
发表于 2025-4-6 17:39:15 | 显示全部楼层
先留个爪,回头再细看
Rukia
发表于 2025-4-6 18:07:47 | 显示全部楼层
eset本机的缓存与云服务器较长的刷新间隔


尤其是扫描文件多次/全盘扫描后,有时就得手动查看一下信誉,才会刷新。
awsl10000次
发表于 2025-4-6 18:14:47 | 显示全部楼层
所以u盘插入以后eset视为已知文件直接漏了?这也太..了
这好像解答了之前几个帖子里eset明明入库的感染型病毒但却漏毒的原因
而且搜那个报法,eset论坛从零几年开始就有反馈漏毒的情况,还有那个学校里的案例,看起来传播方式应该就是u盘
而且eset对比卡巴而言清毒能力相对弱一些,卡巴即使遇到部分拉黑不及时的感染型病毒,后续只要ksn反应过来了拉黑,绝大多数都能解决,救援区里面甚至有一个感染文件卡巴修复后和和源文件别无二致的案例
(要是可以稳定复现的话我觉得这个可以走eset自己的漏洞上报渠道赚钱呀,这绝对算有很多案例的严重漏洞了)
Rukia
发表于 2025-4-6 18:17:37 | 显示全部楼层

要是可以稳定复现的话我觉得这个可以走eset自己的漏洞上报渠道赚钱呀,这绝对算有很多案例的严重漏洞了

同意,得给他们上压力!!!
bbszy
 楼主| 发表于 2025-4-6 18:18:40 | 显示全部楼层
awsl10000次 发表于 2025-4-6 18:14
所以u盘插入以后eset视为已知文件直接漏了?这也太..了
这好像解答了之前几个帖子里eset明明入库的感染型 ...

插入u盘后,对于被识别为自解压程序的文件是直接漏的(符合eset的设置),其他可执行程序还可以有执行监控(含高级启发)。
目前不清楚哪些程序被识别为自解压程序,原以为只是sfx文件,这次测试下来远不是。
帖子了给了测试的样本,按照帖子里写的是可以稳定复现的。
awsl10000次
发表于 2025-4-6 18:23:55 来自手机 | 显示全部楼层
bbszy 发表于 2025-4-6 18:18
插入u盘后,对于被识别为自解压程序的文件是直接漏的(符合eset的设置),其他可执行程序还可以有执行监 ...

https://www.eset.com/us/security-vulnerability-reporting/
建议直接上报
eset这也太难评了
Rukia
发表于 2025-4-6 18:28:58 | 显示全部楼层
  <RECORD>
      <COLUMN NAME="时间">2025/4/6 17:38:19</COLUMN>
      <COLUMN NAME="扫描程序">文件系统实时防护</COLUMN>
      <COLUMN NAME="对象类型">文件</COLUMN>
      <COLUMN NAME="对象">C:\Users\\Downloads\病毒样本\8EC16692~m8\CCJXDll.dll</COLUMN>
      <COLUMN NAME="检测">Suspicious Object</COLUMN>
      <COLUMN NAME="操作">已通过删除清除</COLUMN>
      <COLUMN NAME="用户"></COLUMN>
      <COLUMN NAME="信息">尝试通过应用程序访问文件时发生事件: C:\Program Files\ESET\ESET Security\egui.exe (2E090B17B28D226629CDCFE69042E6A66A1440F9).</COLUMN>
      <COLUMN NAME="哈希">11C720FC602C458FC101D5E67E232975CA0A1C69</COLUMN>
      <COLUMN NAME="此处首次所见">2025/4/6 16:06:55</COLUMN>
    </RECORD>


这算访问时扫描吗?
bbszy
 楼主| 发表于 2025-4-6 18:32:01 | 显示全部楼层
Rukia 发表于 2025-4-6 18:28
2025/4/6 17:38:19
      文件系统实时防护
      文件

仅限于新建和新修改的文件
驭龙
发表于 2025-4-6 19:01:26 | 显示全部楼层
本帖最后由 驭龙 于 2025-4-6 19:02 编辑

也不完全算是没有读取监控,比如说用一个软件去访问本地的病毒样本,实际上ESET还是会检测一下的,只是这种依旧导致漏毒不可避免,因为本身机制导致U盘样本的漏

通过记事本选择打开一个文件所在位置,注意只是访问文件所在文件夹位置,没有选择打开文件的情况下,ESET是读取监控识别了腾讯视频电脑版安装包这个误报的。


也就是说ESET的读取监控是依赖于第三方应用读取文件的时候,才可触发,这也导致有漏毒的可能。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-4-17 08:59 , Processed in 0.121904 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表