12
返回列表 发新帖
楼主: B100D1E55
收起左侧

[分享] BitDefender恶意程序命名规律

  [复制链接]
B100D1E55
 楼主| 发表于 2019-6-28 11:06:38 | 显示全部楼层
本帖最后由 B100D1E55 于 2019-6-28 13:04 编辑
Jirehlov1234 发表于 2019-6-16 11:29
感谢科普。
另外BD偶见DeepScan和MemScan打头的报法,咱不知道啥意思。
以前问过https://bbs.kafan.cn/th ...

由于这个问题的确是挺有趣的所以今天又做了几个实验。

其实看到官人答复的时候我马上猜测到DeepScan应该就是BD通过B-Have那个动态启发引擎跑出来的结果(他们很笼统地说archive,但是显然这里archive指的应该是壳),所以我稍微找了一个样本实验了一下。

对于BD的静态匹配,对程序的小改动(包括功能破坏)基本不会改变报毒名。而静态报法就是Gen开头的那些和GenericKD之类的检测

例如对于一个恶意程序倘若将其代码控制流切分成四段S1~4

S1+------>S2+------->S3+------->S4


其中S4是核心恶意代码,前面的是一些非主要功能代码,倘若我对程序进行patch变成这样

          +-----------+
          |           |
          |           |
          |           |
          v           +
S1+------>S2+------->S3         S4


本质上这个程序无害,但是BD的Gen仍旧会匹配
其实实际情况比这个稍微复杂一点,一般除了函数trace,动启虚拟机也扫描展开后的内存,比如很典型的就是字符串以及一些元数据特征(我猜测BD的MemScan就是如此),进阶的技术包括同时代码函数的离散程度(例如ESET的智能DNA特征)。所以如果这个程序完全不加壳,上述这样ESET之类的也会报毒(因为初始载入内存就立马被匹配到)。因此要测试就需要对一个简单的加了壳的程序在解密路径前进行这样的改动来测试。ESET因为基本是纯动启,控制流一改十有八九就不报毒

BD有具体报毒名的报法就不一样了,这些特征被加入到动态启发虚拟机当中,一般这些要么是非常流行的毒,要么就是比较久远已经被整理过的。现实当中大部分感觉都只会自动加静态特征

离题了……

所以对于DeepScan这类来说,首当其冲的特征就是:如果我把初期运行的控制流搅乱后(如上图),那么BD就扫描不出来了。这个基本上说明了DeepScan是动态启发报法。我大概试了5个样本都是这么回事

当然这样仍旧不够意思,我就想能不能自己造一个DeepScan的例子。挑选合适的入库样本是最重要的——其必须是BD虚拟机入库且不被静态模型覆盖的程序。这里我选取的是一个接近PUA的恶意程序,而且年代比较久远,BD报毒名是:Generic.Perfloger.52CA3CDB (ESET报毒名为Win32/KeyLogger.PerfKey.AR Application)。

然后就是改样本了。当然直接改裸程序的控制流没什么用,需要给程序进行加壳。
UPX之类的自然不予考虑,一开始我打算用yoda's protector不过发现BD对yoda静态杀得非常狠,对kkrunchy这类的壳索性直接匹配壳报毒,所以放弃

于是改用一个vs编译的简单压缩壳,BD报毒名改成了:GenPack:Generic.Perfloger.ECABA75E,说明BD的壳通用匹配算法识别到了Packer,此外也说明冒号前缀代表的不是毒名而是一个检测方法,而后缀也不是什么家族,就是hash一样的东西。

之后我尝试在压缩壳的基础上加了花指令和ASPack的压缩算法,BD报毒名就变成了:DeepScan:Generic.Perfloger.A5FF5F5C

由此可见DeepScan代表的是一种动态脱壳报法,和毒特征本身无关,主要是看在哪一个扫描深度检出(免杀对抗)。而MemScan应该类似,但因为mem loader做起来更麻烦而本人时间有限这里就不测试了

顺带一提ESET对这个实验中所有样本都报了和原始毒一样的毒名,大概这就是动态启发的一个好处。

最后值得一提的是对这些loader进行控制流修改(改残废),则基本会被Kernel-based静态机器学习报毒,可以说如果我是免杀者这会让我很火大……但在实验中这些静态匹配也带来了不少误报。我觉得正是因为对静态检测的大量使用让BD、Avira、Avast之流在AV-C之类的测试中傲视群雄,但随之而来的误报问题也会给一些用户代来困扰吧

原始样本:https://www.virustotal.com/gui/file/f650174245758f66f1de3afb4ca40952254c81a8183ebf4014c268a8b4fa643c/detection (50/69)

简单压缩壳样本(GenPack):https://www.virustotal.com/gui/file/7b6ff81dc8aad57d0ddbfa1a9dcb1c634f90fa02e05cf861e6d40be84fc79b62/detection (34/68)

多重压缩壳样本(DeepScan):https://www.virustotal.com/gui/file/25ffb20890f3958b120334925ec0cc4d4189cface69c5cd2574f55244b99e80f/detection (37/69)

这里且不吐槽这么无聊的壳为什么报毒厂家一下少了很多,看看熟悉的几家的报毒名:

Avira:从明确报法变成了Dropper,我猜基本是匹配压缩壳
Avast, AVG: 应该也是匹配压缩壳
微软:和ESET一样本地引擎还保留了动启,所以报毒名始终一样
Symantec: ???
Comodo:显然特征胡乱提取
Ikarus: 弱壳还是能检测,加花一下就变得奇怪了起来
Kaspersky:???这几年动启都懒得跑了吗



评分

参与人数 2人气 +4 收起 理由
Jerry.Lin + 1 版区有你更精彩: )
Sailer.X + 3 版区有你更精彩: )

查看全部评分

KK院长
发表于 2019-6-28 18:17:55 | 显示全部楼层
感谢科普,我这是希望官方出个免费的中文版,我当扫描器用用,
Sailer.X 该用户已被删除
发表于 2019-6-28 18:32:26 | 显示全部楼层
本帖最后由 Sailer.X 于 2019-6-28 18:33 编辑
KK院长 发表于 2019-6-28 18:17
感谢科普,我这是希望官方出个免费的中文版,我当扫描器用用,

中文版短期不会有的,长期也够呛。需要BD引擎的扫描器,可以选择EEK

官人原话:

Thank you for your suggestion. My colleagues in the Product Team tell me that there are no current plans for adding Chinese to Bitdefender in the immediate future, but, depending on a complex series of factors, that may change in the long term.

评分

参与人数 1人气 +1 收起 理由
KK院长 + 1 淡定

查看全部评分

klinxun
发表于 2019-7-2 00:18:35 | 显示全部楼层
本帖最后由 klinxun 于 2019-7-2 00:20 编辑
B100D1E55 发表于 2019-6-28 11:06
由于这个问题的确是挺有趣的所以今天又做了几个实验。

其实看到官人答复的时候我马上猜测到DeepScan应 ...

vs编译的简单压缩壳,蜘蛛反而不报毒(不会脱?),加了花指令和ASPack的压缩算法蜘蛛倒是报毒,和原始样本一模一样。不过这几年蜘蛛为了性能,本地扫描和监控是阉割了一些东西,交给那蛋疼的预防性保护和双击。
桑德尔
头像被屏蔽
发表于 2019-7-2 16:48:37 | 显示全部楼层
B100D1E55 发表于 2019-6-28 11:06
由于这个问题的确是挺有趣的所以今天又做了几个实验。

其实看到官人答复的时候我马上猜测到DeepScan应 ...

不过按照之前你写的你抄我抄大家抄的帖子,起码卡巴还有底线
cplvfx
发表于 2019-7-16 14:53:10 | 显示全部楼层
你们为什么都这么优秀
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-5-5 10:21 , Processed in 0.099615 second(s), 16 queries .

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

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