河马WebShell检测 | 再战机器学习
2022-5-20 12:57:0 Author: mp.weixin.qq.com(查看原文) 阅读量:1 收藏

2017年10月我们上线了一版机器学习https://ml.shellpub.com, 之后长期处于“试验阶段”,当时的模型召回率始终无法达到理想状态。机缘巧合,我们加入了微步在线;有微步专业的机器学习团队支持,我们决定再战机器学习。

河马在线旧版机器学习查杀

在样本这块白样本和黑样本的比例大约是15:10,在实际对抗中深度学习检测模块展现出了强大的能力。深度学习模块不依赖正则匹配,而是将文本数据在保留文本信息的条件下转换成不同的结构化数据进行分析。能够有效解决变形和混淆问题和各种新样本绕过的问题。AI技术在文件检测领域往往被诟病为,新样本检出率低、线上线下效果差异大、无法有效解释等问题。自研深度学习模块,使用了大量前沿技术技巧,从不同的维度对恶意代码进行全面解析,使模型可以学到代码的深层次含义。

引擎

特征选择

检出

神经网络

opcode序列

96.74%

xgboost

AST特征序列

98.78%

预训练大模型

文本序列

98.21%

yara引擎

-

90.32%

某最新公开引擎

-

95.57%

神经网络

多维特征整合

99.37%

检出测试结果表

一般的AI技术会提取恶意样本中的敏感函数、信息熵、文件重合指数、标签数等等特征,通过传统的机器学习或者简单深度学习进行训练得到检测模型。这样做的确有一定效果,但在抽取特征的时候丢失了大量文件信息,这些信息在某些情况下会影响模型的判断。微步的WebShell检测引擎在大量实验后,细化了常规的特征提取,确保信息的抽取更准确;此外从多个维度抽取文件信息,确保信息的抽取更加全面。

例如我们也会抽取敏感函数,我们会细化函数分类,精准确定函数执行位置和执行情况;我们舍弃传统的信息熵和文件重合指数作为混乱度指标,采用深度学习方法更精准的计算代码混乱度;我们不仅从语法树AST角度抽取信息,我们还从文本、字符、字节码维度共同抽取文本信息,让深度学习从多维度视角理解代码,做出更准确判断。

传统的WebShell检测检出率在90%左右,一般的AI检测手法在95%左右,而我们的WebShell检测引擎检出率在99%以上。
深度学习模块架构

如今机器学习已经完全合并到在线查杀https://n.shellpub.com的正式环境中,作为河马WebShell检测的重要引擎,同时ml.shellpub.com也正式下线。

多引擎检测WebShell

福利抽奖活动

SHELLPUB出新版本啦!还有福利抽奖活动!详情请戳 ↓↓↓

SHELLPUB在线查杀更新公告(文末抽奖)

点击下方名片,关注我们

如果不想错过消息,可以星标  哦~


文章来源: https://mp.weixin.qq.com/s?__biz=MzkzNDE2NzAyMg==&mid=2247484092&idx=1&sn=861df43658da2e05bdd4c531d610fa32&chksm=c2402a3df537a32b36a5de905fb79077b7d94283523e4ce73907e5fbac2ac84af70e7fec27a6&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh