查看: 5408|回复: 17
收起左侧

[讨论] 我对火绒那篇的看法

[复制链接]
B100D1E55
发表于 2019-5-10 13:47:58 | 显示全部楼层 |阅读模式
本帖最后由 B100D1E55 于 2019-5-10 14:41 编辑

我觉得火绒那么说算挺实诚,但不少人不买账也在意料之中

有人解读为“火绒看不起卡饭发的样本”,这个我觉得太过激了。其实卡饭大部分样本也往往是从各类毒源刮过来的,但那些毒源特别是免费源的质量有的真的非常差。以malshare为例,有一段时间我在上面用爬虫脚本抓样本,半数以上都是废html或者白样本或者奇怪的东西。别笑,我还曾经在里面鉴定到带有效微软数字签名的记事本程序。我本来想用那个来发包,但人工抽样20个基本没看到质量好的就果断放弃了。又比如virusshare的月度包则是包含大量的重复的pua(pua本身不同厂商就有不同判识标准),一个不查杀就是几十个几百个不杀。virussign免费版更是惨得要命,懒得吐槽……

我觉得火绒提这个意思是“你发样本给我但不应该指望我把所有的样本都拉黑,因为里面有的是白文件,有的可能广度极小,我不立马拉黑不代表我不处理这些样本”,仅此而已。

也有人质疑说为什么卡巴之类的大量海外杀软都查出来你火绒查不出来。这点也很简单,那些毒包样本怎么来的?很多就是报的引擎多就收录了,特别是免费档次的东西谁会认真跑沙箱分析。就算是沙箱只靠恶意indicator也完全不够(比如早期threatbook),很多正常软件丢进去恶意indicator一大坨一大坨。真正付费版沙箱的精华之一在于威胁情报,也就是最新的IOC,C&C服务器地址,内部artifact聚类分析,这些不会向公众开放,毕竟是赚钱的东西,而且有一些是靠人肉提取出来的。因此段首的质疑就变成了先有鸡还是先有蛋的问题:为什么其他引擎查出来了?并不是其他引擎查出来了,而是我知道这个样本是恶意样本正是因为其他引擎查出来了。如果其他引擎都查不出来有几个人会知道?没有恶意情报系统实时监控遥测数据做不到,有时候做的狠一点遥测也抓不到。所以这个质疑很难完全站得住脚。

其实这种案例多了去了。去年ccleaner潜伏那么久最后才有厂商发现,要是没有厂商发现谁会在kafan把ccleaner当恶意样本来分享?而很多时候国内厂商发表的恶意程序分析不上报给海外厂商那些海外厂商甚至都不知道有这么个毒(对,ESET,说的就是你),这跟火绒的情形其实异曲同工。更别提误报滚雪球的情况,一家知名厂商误判一两天就可以变成二三十家,这种案例太多了。

P.S. 我觉得拿图像识别公共训练集和VT病毒样本训练集对比并不能完全对标。imagenet图像识别训练集是人工精心筛选标记出来的,VT训练集是什么?是杀软自动机检测,少数走人工,而其中一些还抄另一些的结论,这数据集的质量和imagenet能比吗?这种差距是必然的,图像识别数据集找没有计算机背景的大爷大妈都能做人工标记的活,但恶意程序就不一样了,找门外汉标记是不可能的事,而懂行的人又非常少,分析一个样本的耗时远大于标记一个图片的耗时……因此做了几十年的厂商这方面优势很大,他们可以使用内部巨大的经过精心鉴定的黑白样本库而不需要用潜在被污染的公共样本库。
Sophos做过一个很有意思的实验,在训练机器学习对恶意URL进行分拣的实验里,它准备了三套样本集,分别来自VT,Sophos自家,以及另一个叫CommonCrawl的样本库。用这三个样本库分别训练三个模型再交叉验证其他样本库的检出率:


其中横轴代表的是训练的样本集(1月数据),纵轴代表的是交叉测试的样本集(2和3月数据)。比如右下角的方块代表用VT的1月的样本集训练出来的模型检测CommonCrawl 2月和3月的样本,而里面的数值代表的是检测精度(越高越好)。可以看到样本集对于模型至关重要。如果实验室用的样本集质量不好或偏差性太强,可能实验室内部出来成绩很好看,放到真实世界里结果却会大相径庭,这也是为什么有时候一些杀软会出现水土不服的状况

这里并不是说火绒就做得完美无缺了。其实火绒需要改进的地方有很多很多很多,比如误报控制(说明区分算法做的还不够好,或者白文件库仍旧不够完善),比如扫描启发速度(有的文件真的扫得太慢,可能这是库小的代价),比如对未知威胁的响应速度和样本处理速度,拉黑特征提取鲁棒性等等等等

我个人现阶段仍旧支持火绒的原因在于这年头靠着自己的情报网络脚踏实地做杀毒,不让其他厂商的鉴定结果污染自己毒库的厂商太少。太多厂商急功近利为了讨好用户提振第三方测试成绩就疯狂拉黑偷结果,甚至牺牲误报率。这不仅对其他厂商不公平,最终也会害了自己(比如污染自己的训练样本池,让库密度变差体积膨胀过快,这些逐渐都会成为未来公司的技术债,想想BD的库,想想Sophos的库)。

想真正健康地发展一款杀软,需要靠自己的信息情报系统驱动。也就是通过分析用户端点遥测数据发现异常,并找到隐含的恶意程序。这是一个良性的流程。只有这样才能破除先有鸡还是先有蛋的悖论。而单家公司由于资源限制做这类分析自然很难全面,这时候就靠多家公司类似的情报系统来补足,这是VT诞生的初衷。而通过跟风拉黑等方法虽能解决一时的燃眉之急,从长远的角度上来看可能会带来更多历史遗留问题。ESET之所以误报控制的好除了客户端检测保守之外脚踏实地进行样本人工分析和特征提取也是原因之一。其实就算是某些爱跟风拉黑的厂商,他们自己也有很优秀的威胁分析团队,只不过这样的结果由于拉黑的存在并不能简单地通过VT检出结果来反映。我一直觉得要借鉴其它厂商的结果,至少要在自己的系统内再鉴定一次才是正确的补漏方式

火绒这条检测技术路线不像一些NGAV那样,其查杀率精度和广度的上升需要时间的积累+人力资源的完善+用户量的积累,一朝一夕做不出来。其实也正是因为这种脚踏实地的做法很难马上让产品通过那些国际第三方测试,大部分国内厂商才选择了OEM(毕竟按用户分布,国内厂商单靠自己的情报威胁网络捕捉海外的那些毒比较困难,为了早点首页贴海外认证标志只好借别人的库)。而那种情况下又有人很不屑地说他们没有核心技术,都是OEM国外的那我也没话说了



总体而言,我认为血淋淋的事实就是民用杀软只能保护大部分客户,这是个概率问题。如果火绒的大部分用户只接触国内的黑产,那么分析并入库国内的黑产自然是最高优先级。至于其他那些5%以下的群体,对不起,如果资源不够就是顾不上了(或者说没法及时顾上)。因此如果是海外用户,现阶段用火绒恐怕不是很好的决定。


卡巴的这张图里:

对于大部分普通用户来说,遇到的攻击是针对Cheap$,解决了这部分攻击就先解决了主要矛盾。剩下有余力再解决更高级或者更罕见的攻击。大部分厂商的企业版策略就是如此:一些高级检测机制比如沙盘之类的只对规模大的企业开放,普通人就算有钱也不一定能买到。其实这么做的出发点之一就是不想暴露为了剩下5%高级客户准备的其他检测机制。如果普通人遇到了这类攻击,那么就只能成为“牺牲品”,并成为垫脚石让其他遇到同样威胁的用户避免出现类似的惨剧,比如云拉黑。
我觉得脑子正常的杀软厂商肯定不会承认这个事实,但在实际操作中往往就是这么回事(当然最好的情况就是第一个真正牺牲者出现前miguan已经捕获到并入库了)。如果真的担心这类攻击,就应该用WDATP之类的高级产品。但回想实际生活中普通百姓遇到这类攻击的概率有多大?杀软只能降低中毒的概率,不能完全铲除中毒的可能性。至于用一款杀软这个概率能降到多低,不仅要看厂商的情报网络分布,也要看自己的使用习惯是否落在这个分布的众数区间上。这也是火绒一直质疑的“卡饭样本是否具有代表性”。有人认为这是能力不足的辩解,但在我看来这个论点有一定道理,主要取决于火绒大部分客户的使用习惯画像。因此现阶段我也对此表示理解,后续就要看火绒有多大能耐和耐心来撑过初期的困境。希望火绒未来能成为“被抄”的厂商而不是“抄别人”的厂商




本帖子中包含更多资源

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

x

评分

参与人数 5人气 +14 收起 理由
www-tekeze + 2 精品文章
vm001 + 3 感谢解答: )
renshijian + 3 精品文章
到处闲逛 + 3 精品文章
Jerry.Lin + 3 版区有你更精彩: )

查看全部评分

小野泽悠贵
头像被屏蔽
发表于 2019-5-10 14:06:57 来自手机 | 显示全部楼层
说得不错
适合是最好的
发表于 2019-5-10 14:16:02 | 显示全部楼层
写得很好,客观,有理有据
dsb2466
头像被屏蔽
发表于 2019-5-10 14:25:08 | 显示全部楼层
滋屋俺,赞
灵果
发表于 2019-5-10 14:47:59 | 显示全部楼层
大佬的文章很赞。火绒的为难,只要通过恰当的表述,作为吃瓜群众估计很多都是能理解的。安全产品就要努力追求极致的安全(追求不是做到,极致的安全不是完美的安全,有人咬文嚼字都咬不到方向上),做不到就少张扬,努力提升技术才是根本,有人质疑面对众口铄金如何保持沉默,也对,但是解答了还解答不好,惹起是非争议,就让人觉得这样公关实在太差。
麻衣神相
发表于 2019-5-10 15:03:40 | 显示全部楼层
这篇帖子值得高亮,@屁颠屁颠
B100D1E55
 楼主| 发表于 2019-5-10 15:04:22 | 显示全部楼层
本帖最后由 B100D1E55 于 2019-5-10 15:14 编辑
灵果 发表于 2019-5-10 14:47
大佬的文章很赞。火绒的为难,只要通过恰当的表述,作为吃瓜群众估计很多都是能理解的。安全产品就要努力追 ...

我觉得火绒是被逼急了觉得不得不阐述一下事实。这些东西很多厂商心中都明白的很,但都不会明面点破,主要就是怕用户不接受。ESET样本上报区经常被各种喷,官人回复说XX样本在我们情报网里面出现的机子不到5台,后来越喷越惨,再后来他们也学乖了,因为知道这样说会让人不开心,索性隔几天入库后再回复说已经处理完成(用户在这里也没错,谁希望自己成为杀软查杀覆盖范围外的那个“偏差值”)

但事实就摆在这里,花个几十几百块钱想有VIP待遇是不可能的,那钱够分析师买几顿午饭?很多厂商企业版查杀率比普通版高原因也在这里……

我还记得以前在BD官方utube频道看到对他们数据工程师的访问,他们曾经表示过说未来理想的机器学习要根据每个用户的使用习惯单独画像并进行异常侦测。我觉得这么做的确很不错,但现阶段很难实现其实这不就是HIPS的学习模式吗?只不过现阶段HIPS学习模式离理想中的“学习”距离太远了
麻衣神相
发表于 2019-5-10 15:12:30 | 显示全部楼层
灵果 发表于 2019-5-10 14:47
大佬的文章很赞。火绒的为难,只要通过恰当的表述,作为吃瓜群众估计很多都是能理解的。安全产品就要努力追 ...
查杀率精度和广度的上升需要时间的积累+人力资源的完善+用户量的积累,一朝一夕做不出来。
这是一个循序渐进的过程,没法一蹴而就。很多人盲目吐槽查杀率低,对新样本处理速度慢,拉黑不及时
小野泽悠贵
头像被屏蔽
发表于 2019-5-10 16:10:24 来自手机 | 显示全部楼层
灵果 发表于 2019-5-10 14:47
大佬的文章很赞。火绒的为难,只要通过恰当的表述,作为吃瓜群众估计很多都是能理解的。安全产品就要努力追 ...

要不干脆直接对毒组包进行文件名查杀?
直接说“此文件可能为卡饭论坛病毒样本,强烈建议不要使用”
灵果
发表于 2019-5-10 16:24:22 | 显示全部楼层
Discuz!X 发表于 2019-5-10 16:10
要不干脆直接对毒组包进行文件名查杀?
直接说“此文件可能为卡饭论坛病毒样本,强烈建议不要使用”

你找错人了,给我说这干嘛,找火绒相关人员去啊。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-26 09:35 , Processed in 0.151068 second(s), 19 queries .

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

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