首页
社区
课程
招聘
[原创]恶意样本检测 -- Mathematics Malware Detected Tools
发表于: 2019-10-30 22:34 7101

[原创]恶意样本检测 -- Mathematics Malware Detected Tools

2019-10-30 22:34
7101

重要:由于缺少测试数据,部分结论可能不正确。更多更准确的结论,还需要进行大量实验。

mmdt(Mathematics Malware Detected Tools)是一款基于数学方法的最简单的类“机器学习”工具。该工具通过数学方法对目标对象进行处理,生成相应的标准“指纹”,通过对指纹的处理,实现“机器学习”中的“分类”、“聚类”方法。
并在此基础上,从“分类”衍生出恶意代码检测功能,从“聚类”衍生出恶意代码同源样本挖掘功能。

备注:

工具特点如下:

可参考著名工具ssdeep的目的及意义。

该工具相对于ssdeep的优势:

通过压缩算法对文件进行缩放,生成标准文件、使用哈希函数对标准文件进行处理,得到“分片”哈希(指纹)。详细内容参见后续论文(撰写论文中)。

原理不够,表情包凑。

完全一样的约束条件下,能推论出一个特解。我的状态:
机智如我

弱化(减少)约束条件之后,面对新的数学问题时,我的状态:
一脸懵逼

在群里请教大佬数学问题时,我的状态:
数学讨论

主配置文件,用于配置执行相关功能时的参数选项。

标签配置文件,用于分类(扫描)时,将id转成对应的字符串,节约存储空间。详细使用参考使用场景

参数意义见main.ini

本段落主要说明工具的用法以及怎么用。不同的使用场景需要配置不同的参数。

目前考虑到使用场景具体包括:

对有标签样本提取特征,生成指纹,融入特征库。

执行命令如下:

scan

执行命令:

pe_scan

输出检出情况。

执行命令:

nope_scan

对51个文件,共计9个大类进行聚类,执行命令:

结果如下:

cluster

51个样本聚类数量29类。从截图信息可以看出,mmdt_000是CVE-2018-0802类型,共计8个样本

用于计算文件间的相似度。

./mmdt -f 2 -c /Users/ddvv/gitcode/mmdt/tmp/test/Gandcrab/Gandcrab_2 -t /Users/ddvv/gitcode/mmdt/tmp/test/All/

结果如下:

pe_xsd1
...
pe_xsd2

./mmdt -f 2 -c /Users/ddvv/gitcode/mmdt/tmp/test/CVE-2018-0802/CVE-2018-0802_1 -t /Users/ddvv/gitcode/mmdt/tmp/test/All/

结果如下:

nope_xsd

对ssdeep中不同commit间的engine.cpp源码进行相似度计算,原始差异如下图:

source_diff

执行命令(归一化标准设置为500),

./mmdt -f 2 -n 500 -c /Users/ddvv/gitcode/mmdt/tmp/test/source/engine_new.cpp -t /Users/ddvv/gitcode/mmdt/tmp/test/source/engine_old.cpp

相似度计算结果如下:

source_xsd

对webshell进行相似度计算,原始差异如下图:

webshell_diff

执行命令(归一化标准设置为默认100),

./mmdt -f 2 -c /Users/ddvv/gitcode/mmdt/tmp/test/webshell/php1 -t /Users/ddvv/gitcode/mmdt/tmp/test/webshell/

相似度计算结果如下:

webshell_xsd

对宏代码进行相似度计算,原始差异如下图:

macro_diff

执行命令(归一化标准设置为默认100),

./mmdt -f 2 -c /Users/ddvv/gitcode/mmdt/tmp/test/Macros/Macros_3 -t /Users/ddvv/gitcode/mmdt/tmp/test/Macros/

相似度计算结果如下:

macro_xsd

通过一些参数优化等方式,有可能也能利用在相似图像查找上面。

原图如下:

img_diff

执行命令(归一化标准设置为210),

./mmdt -f 2 -k 3 -n 210 -c /Users/ddvv/gitcode/mmdt/tmp/test/Img/img1.jpeg -t /Users/ddvv/gitcode/mmdt/tmp/test/Img/

相似度计算结果如下:

img_xsd

对314个恶意样本使用同一参数(见main.ini文件),进行测试统计(样本来源参考malware-samplesAPT-Sample)。

RS比率=规则/样本数量比率

可推导出的结论包括:

主要还是如下两个原因:

出于两方面的原因考虑:

会。比如考虑支持以下一些场景和功能:

Github -- ddvv

解压码:mmdt

引用自woffffcibei,感谢大牛贡献数据

 
 
 
 
 
 
 
 
 
 
 
 
 
 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-11-9 22:05 被大大薇薇编辑 ,原因: 添加附件
上传的附件:
收藏
免费 2
支持
分享
最新回复 (6)
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
恶意家族名称        样本总数        扫描总数        规则总数        覆盖率        时耗(s)
Coinminer        17877        17877        3240        18.12%        976
Androm        29        29        19        65.51%        1
Gandcrab        76142        76142        549        0.72%        343
Ramnit        48540        48523        28306        58.34%        645
Sality        26246        26232        21251        81.01%        1896
Wannacrypt        1856        1850        1511        81.68%        476
Ardurk        25259        25259        11576        45.83%        65
Wask        28383        28383        7532        26.54%        91
Viking        12596        12595        2941        23.35%        381
Storm        51561        51561        22        0.04%        259
Gameonline        4405        4405        369        8.38%        121
Qukart        30579        30575        24903        81.45%        891
Scar        53198        53197        605        1.14%        924
AllAple        60862        60862        19548        32.12%        1688
Hematite        82122        82122        7488        9.12%        499
Musecador        31470        31470        373        1.19%        575
Small        20169        20168        20        0.10%        36
VBclone        20780        20780        83        0.40%        110
Sfone        63492        63488        2705        4.26%        4034
Autorun        17731        17685        11810        66.78%        2561
Nitol        16938        16938        1461        8.63%        112
Benjamin        14845        14843        7112        47.91%        1154
Virut        166515        166472        29263        17.58%        8465
Wabot        111757        111711        15704        14.06%        8905
汇总        983352        983167        198391        20.18%        

楼主看看这份数据呢。有空讨论下。
2019-11-6 17:08
0
雪    币: 1319
活跃值: (1945)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
听得好神奇奥
2019-11-8 15:33
0
雪    币: 1887
活跃值: (2756)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
woffffcibei 恶意家族名称 样本总数 扫描总数 规则总数 覆盖率 时耗(s) Coinminer 17877 17877 3240 18.12% 976 Androm 29 29 19 65.51% 1 Ga ...
感谢大牛提供数据,不介意的话,我添加到文章附录中去。看这个数据的话,感觉还可以,与设想的基本一致。不过,对感染性的恶意样本检出上,存在问题。
2019-11-9 22:07
0
雪    币: 1887
活跃值: (2756)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
库尔 听得好神奇奥
文字功夫不到家,见笑见笑。
2019-11-9 22:07
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
渗透+AI终于要来了吗
2019-11-14 18:10
0
雪    币: 154
活跃值: (546)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
大佬,能膜拜一下源码么
2020-11-24 18:04
0
游客
登录 | 注册 方可回帖
返回
//