长亭百川云 - 文章详情

基于深度学习的webshell检测

腾讯安全智能

80

2024-07-13

1.背景介绍

Webshell是一种基于web应用的后门程序,是黑客在入侵过程中经常使用的一类恶意工具之一。web渗透中黑客可以利用特定的Webshell获取服务器权限,进而进行服务器文件操作、数据库操作以及盗取用户私密信息等。

**业务背景:**将基于AI的webshell检测引擎作为重保/护网项目的样本检出插件使用。

**业务目标:**建立webshell检测模型,对输入样本进行解析和识别,并输出该样本的标签。

2.数据理解及处理

Webshell脚本文件的类型有php、jsp、asp、aspx等,其中php样本占webshell样本的70%左右。

php的简单webshell:

jsp的简单webshell:

      asp的简单webshell:

  

从PHP源代码层面分析复杂,不适合做一些语言处理的工作,因此无法作为深度学习模型的输入。PHP脚本代码在经过编译后,生成可以直接运行的中间代码OPCODE,也称字节码,具有时序性。

3.特征处理

获取opcode序列及其参数信息,去掉无用信息

 

4.算法方案

**初始方案:**TextCNN模型是使用卷积神经网络来处理NLP问题的经典模型

**改进方案:**加入时序信息,在原来的基础上引入n-gram,构造双输入模型。

n-gram模型基于这样一种假设,第n个词的出现只与前面n-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。当 n=2, 一个二元模型(2-gram model)即为 :

基于n-gram的双输入TextCNN模型:

真实场景:webshell正常页面中的比例可能不足万分之一,正负样本比例差异非常大,导致训练的模型存在一定的偏差。可使用Stacking的方式。

(1)正常样本比例作为初始训练集,训练基分类器。

(2)根据基分类器结果再训练第二个分类器;

采用上述方式可以消除真实场景样本比例差距大的问题。

5.效果展示

(长按二维码快速扫描关注)

该账号主要围绕智能化技术如何帮助企业提升网络安全水平展开,内容涉及机器学习、大数据处理等智能化技术在安全领域的实践经验分享,业界领先的产品和前沿趋势的解读分析等。通过分享、交流,推动安全智能的落地、应用。欢迎关注~

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2