本帖最后由 191196846 于 2018-8-10 10:01 编辑
这几天对往期所有的#PACKAGE的众测结果进行了统计分析,哈出来的结果还是蛮有意思的。因为是大家一起测试,每个人的测试环境,产品配置等等都会影响到结果,最终出来的数据还是有些误差的。不过好在样本总量一定达到一定程度,还是具有一定的参考意义的。我也不想让每次辛苦双击的饭友得到的结果白白浪费,故做了这次统计,希望大家开心~
一、测试意义
#PACKAGE 样本包的测试目的在于尽可能真实的评估一款安全软件在遭遇未知威胁时的防护能力以及应对之策,要求样本必须足够新,要求在短时间内对多款安全软件同时进行测试(这时候众测的优势就显露出来)。虽然样本数量,测试条件等等外部变量的控制远远达不到第三方专业评测机构的水准,但相比于第三方的月度测试,本众测的时效性更强(每日),数据透明,故具有一定参考性。
本次测试仅测试安全软件的检测率,没有对误报率,性能方面进行评估,结果仅供参考。
二、样本来源
测试所用样本是从单一在线威胁情报平台收集的,所以开始时所以我有点虚他的广度性。查完VT后,发现很多样本在Hyber-Analysis, VMRay, THOR ATP Scanner等一些较为出名的威胁情报平台(VT comment)都有记录;这些平台所提供的样本,很多都来源真实的APT(Advanced Persistent Threat 高级长期威胁)攻击,被安全厂商的EDR(Endpoint Detection and Response 端点检测及响应)或 蜜 罐 (Honeypot)捕获并上传至平台进行情报共享(IOC),故样本具有一定广度性。
比较需要注意一点的是样本均来源于国外,没有国内样本。
==============================================================
被最近论坛上火绒的事件搞得有些心累,本来可以不用说明的我想再写下会更好(以问答模式)
1、样本来源于国外,对国产杀软公平吗?
确实不公平,但不至于差距这么大(见下文统计数据)。我想样本地域问题确实可以是检测率偏低的一个原因(毕竟我国 网 络 环境特殊),但不能将检测率低全部归于样本地域问题,或者拿其当挡箭牌,为国产杀软辩护. 影响的原因还可能是:1、端点覆盖面积大小问题:越大覆盖面越广,捕获新威胁几率就越大。2、自身技术问题:国产杀软的检测技术和手段和国际上还是有差距的,这点一定不可否认,是需要努力追上的;国内一家独大的安全生态也会导致整个产业发展,技术发展缓慢(对我指的是360)。
我也想要有些国内样本,但是没有可靠的源。国内威胁情报平台规模也很小,数量也极少,加之安全生态发展有些畸形……
2、为何PACKAGE 报内只有可执行文件,那些脚本啦不是也是威胁吗?
js, vbs, rtf, doc, xls, rtf, pdf 这些格式的文件确实能携带威胁,但其最后都要释放一个可执行文件来对用户造成威胁(现在的无文件攻击是个例外,指的是利用脚本驻留在内存实现恶意行为):这个可执行文件就是payload(PACKAGE内绝大多数是payload)。这些脚本文档中包含的恶意链接很容易失效或者因网络波动问题无法接收,给测试增加不确定性,所以最后就把搬运母体了。
==============================================================
筛选样本时尽可能遵循以下标准:
1、如VT上记录,选择不超过6小时/检测率最多不超过30Vendors(通常为10-20)的样本。
2、样本在分析平台表现出明显的恶意行为 。
3、来源尽量从带宏文档,漏洞攻击文档,VBS,JS 等获取。
4、尽量不捕获RiskTool,Adware这种各安全厂商处理策略不相同的样本。
每日稳定样本数量在15-30枚之间,由捕获到发布时差不超过1小时。发布时修改Hash(防止一些VT抄抄厂商,当然一定程度上也有些不公,下文细讲)。
三、样本类型
对PACKAGE 0601~0803 的样本进行重新统计:
测试样本总量:1088
有效样本量(剔除前期修改MD5的样本,重复样本):896
因为时间缘故,只用卡巴斯基分类系统进行分类(如果有人可以帮个忙用ESET或VT综合分类下是最好的,后期的话我可能也会做下)。
对着896枚样本进行分类(实际检测到样本889枚),得到的结果如下
*Generic 这一类的报法为 HEUR:Trojan.Win32.Generic + HEUR:Trojan.Win32.Agent.gen,为卡巴斯基机器学习引擎的报法。从图表可以看出卡巴这几年精简本地库和加强启发能力的工作完成得很不错,很多对零日威胁的检出基本是这两个报法。不过这也对分类工作造成一定困扰。
*UDS = UDS:DangerousObject.Multi.Generic 是仍处于云拉黑状态的样本
*Others 内包含很多家族性样本,例如Yakes,Refinka,Delf 等;同时也包含17个not-a-virus的报法,基本上是RiskTool或者Adware。
*Emotet 释义:收集用户敏感信息,银行,金融等信息并上传至服务器,可能具有注入行为的恶意软件。
将不可分类的报法去除后,可以得到以下图表:
可见Backdoor(后门程序),Spy(间谍软件),PSW(密码窃取程序)占了绝大部分,一定程度上体现出当今威胁的演变趋势:从以前的破坏型木马,到现在多以隐私资料窃取,远控等隐蔽性极高的木马为主,攻击越来越复杂,攻击频率越来高,同一样本多变种的情况非常多见,这也促使着安全厂商向下一代反病毒软件靠近(Next-gen antivirus):既以端点响应,云/大数据,机器学习/深度学习 为一体的安全防护软件。
之所以说恶意软件越来越复杂,越来越难防御,可以从几个方面体现:
1、对抗手段多样化
反沙盒,反虚拟机,反调试已成为常态,这点在样本区双击测试过的饭友应该清楚,样本自退,自删除的行为很大程度上是因为嗅探到了虚拟环境;即便是在实机测试,有些样本可能还会“装死”5分钟,或者达到某种特定条件(例如打开浏览器)才会有动作;这些特性无疑增大安全厂商自动化分析样本的难度(不过肯定有对应手段,例如分析环境伪装技术(Cloaking))。
2、与正常软件差异缩小
例如远控,隐私窃取程序等,它们或许仅单单上传对应数据,又或者原地不动等待云端指令,在行为上与正常软件差别很小;这也对安全厂商提出了更高的要求,不仅需要行为识别模型训练得当,其他防御手段,如防火墙,IDS,IPS,漏洞防护也好做好;同时也端点应具有一定的威胁情报收集能力,这样在大规模网络攻击,僵尸网络形成之前能够提供威胁预警
3、攻击手段复杂化
捕毒时很多母体是从带宏的doc,通过脚本执行powershell/cmd下载而来得;有些利用软件漏洞,获得高权限(MS OFFICE , PDF, FLASH);还有些利用信任机制(“白加黑”,污染白名单(CCleaner事件));无文件攻击(Fileless attacks) 等等,再次凸显出多层防御的重要性。
哈写到这里感觉写偏了,第一次写这种文章,准备还是有点不充分,马上进入正题~
四、统计方法&结果
共计39次测试,1088枚测试样本,众测结果仅抽取PACKAGE发布6小时之内的测试。
对于多贴同时测试同一款安软,采取以下标准优先筛选以尽可能确保公平:
1、距离样本发布时间最近
2、附带双击测试
3、测试环境为实机
由于每次测试参与的安软不一定相同,有时候只有测静态扫描没有双击执行测试,故采用平均值计算,计算公式如下:
总保护率(Total Protection rate)= 多次结果求平均值(每次扫描率(扫描杀数量/样本总量)+ 每次执行后拦截率(执行后拦截数量/样本总量))
静态扫描率(Scan Detection rate)=多次结果求平均值(每次扫描率(扫描杀数量/样本总量))
执行后拦截率(Post executed block rate)= 多次结果求平均值(每次执行后拦截率(执行后拦截数量/样本总量))
执行后拦截率占比(The propotion of execution block samples to scan left samples)= 多次结果求平均值(每次执行后拦截率占比(执行后拦截数量/扫描后剩余样本))
扫描拦截定义:贴内第一次扫描得到的数值
执行后拦截定义:通过行为拦截,防火墙拦截,漏洞防护等执行后补救手段致使样本失效(需要测试的饭友标明出)
==============================================================
首先来看下各安全软件参与测试的次数
参与扫描测试:
参与双击执行测试:
参与次数越多,得到的结果也就越准确。以平均每次测试20枚样本来算,双击测试次数少的,像微软,也有100枚被测试样本左右,还可以凑合。
个人看法:
卡巴参与次数果然最多哈…… 对于参与双击测试次数排名靠最后的两个厂商,Avira和Kingsoft,一个是近乎没有行为防御且扫描检测率太高以至于没人测,另一个就……
第一张图表:Total Protection rate
个人看法:
写这个贴前我还一直犹豫要不要发,毕竟评测很难做,是把硬骨头,不过想想确实都是由饭友亲手测出来的,汇总下也挺好。
红伞以纯扫描占第一是因为未知样本在执行前都会被其默认上传到APC(Avira Protection Cloud)进行云端详细分析的机制,这个好处就很明显了,检测率非常高,但坏处就是一旦过APC,伞伞就没啥战斗力了。
很多人会注意到卡巴的成绩不太好看,这里说明下可能的原因…… 一个是样本发布前都做了修改Hash的操作,使得以纯Hash拉黑的UDS失效,影响卡巴扫描检测率;第二个是卡巴的主防PDM对动作较小的恶意程序放的比较宽松,比如说行为不明显的后门或者信息窃取类的木马,PDM比较不敏感(当然同时降低了误报率)。
简单谈论下样本改Hash的缘由
我始终认为纯Hash拉黑不靠谱;现在检测手段如此之多,稍微认真提取下表层静态信息也能避免一改Hash就失灵(比如BD的KD,不是纯Hash置黑),同样也不会产生误报(特异性强)。这一定程度上降低了免杀成本,特别是对于个人用户来说。卡巴采取这种策略可能有其考量的原因(可能是性能问题,I don't know , just guess),我个人持怀疑态度,毕竟PDM不是万能的(卡饭粉轻拍,有其他想法的欢迎跟帖~)。这其实也能突显云安全的短板,也就是常说的一条特征对应一个样本,同样各大厂商也在改进,例如上文提到的BitDefender, WD, ESET,这几个厂商的置黑不拍改Hash,国内的360也为了补这个短板开发出云QVM(不过误报高哈……)
排位最后的两位,一个靠吹,一个吃老本,刷版本换皮肤比谁都快,这样的成绩挺正常的,我就在这里批评下……
第二张图表:Scan Detection rate
需要注意的是没有考虑误报率,文末的时候会把AVC误报测试搬出来供大家参考~
第三张图表:The propotion of execution block samples to scan left samples
如果说单独把图标1(Total Protection rate)内的 执行后拦截率拿出来比较是不公平的。举个例子:一个扫描检测率高的安软扫描后剩余样本的数量肯定不多,这时候双击拦截的数量/总样本量就很低,与扫描低的安软比较就不合适。所以这里改为执行后拦截在剩余样本当中的占比来统计,才比较准确的反映出真实情况。
个人看法:
BD的ATD无疑是大杀器,迈克菲的Real-Protect主防表现不错;360对敏感操作,诸如注入之类的,还是非常灵敏的
我还有什么要说的呢……暂时没想到,先这样吧
欢迎在评论区留下自己的看法~
五、AVC误报测试
跟上面检测率做个参考,详细报告见附件
avc_fps_201803_en.pdf
(418.81 KB, 下载次数: 1178)
|