一种Powershell混淆脚本的高精度识别方法及系统技术方案

技术编号:36974379 阅读:10 留言:0更新日期:2023-03-25 17:54
本发明专利技术涉及一种Powershell混淆脚本的高精度识别方法及系统,获取待检测的Powershell脚本,对其进行抽象语法树解析,得到结构化脚本输入信息;提取有关AST节点信息以及字符串和数组相关信息作为一部分特征采集;令结构化脚本信息进行迭代解析处理,将迭代解析过程中的运算信息记录作为一部分特征信息采集,并将解析过程中使用的解析方法作为新的信息插入脚本中;令解析完毕的结构化信息与原始Powershell脚本得到的结构化信息进行对比,将主要的差异部分信息作为特征进行采集;将上述特征进行整理合并,结合大量样本进行训练得到检测模型。与现有技术相比,本发明专利技术具有提高混淆检测的精度与准确率、应用前景广阔等优点。应用前景广阔等优点。应用前景广阔等优点。

【技术实现步骤摘要】
一种Powershell混淆脚本的高精度识别方法及系统


[0001]本专利技术涉及网络安全
,尤其是涉及一种Powershell混淆脚本的高精度识别方法及系统。

技术介绍

[0002]Powershell混淆检测工具是对可疑Powershell脚本进行检测的重要工具,能够提供基于Powershell脚本的网络攻击的预警,尤其是在高级持续渗透场景下对于高度混淆的恶意Powershell脚本的识别。随着自动化工具的普及,将Powershell脚本中的部分内容进行混淆是轻而易举的,而人工对于混淆样本的检测却十分耗费人力且低效,而高精度的混淆检测模型能够极大地减少人工审核的压力,从而更好地披露被混淆技术隐藏的Powershell脚本。
[0003]当前Powershell脚本混淆检测技术除了大量的人工收集与分析之外,全部依赖于字符级别的Powershell脚本特征,即整个脚本中所有可见字符串的统计数据如字符的频率、字符出现的数量和字符的熵。这种粗粒度的特征提取技术易造成正确率降低,且只需通过在脚本中添加无意义的脚本语句即可绕过这种字符集别的混淆检测。
[0004]抽象语法树是编程语言的一种树状解析,常运用于编程语言的语法分析和编译。通过对脚本抽象语法树的解析能够提炼出脚本除了字符信息外更多的层次化信息,且能分别出脚本中的字符串,数组,变量和命令的不同数据结构。结合抽象语法树的混淆脚本识别系统能够提高特征采集的精度,丰富特征的纬度,从而训练出准确率更高的检测模型。目前最先进的Powershell脚本混淆检测引擎是对脚本进行抽象语法树解析和针对不同的语法树节点进行字符特征的统计,这种训练检测方法相比于纯粹地通过整体脚本的字符特征分析提升了识别的准确率,但依旧无法抵御通过插入无关脚本语句来阻止字符级别分析的混淆方法。

技术实现思路

[0005]本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种Powershell混淆脚本的高精度识别方法及系统。
[0006]本专利技术的目的可以通过以下技术方案来实现:
[0007]本专利技术第一方面提供一种Powershell混淆脚本的高精度识别方法,该方法包括如下步骤:
[0008]原始脚本特征采集步骤:
[0009]获取待检测的Powershell脚本,对原始Powershell混淆脚本进行抽象语法树解析,提取得到结构化的脚本信息,通过对不同抽象语法树节点的特征采集得到原始脚本的特征信息并存储;所述结构化脚本信息包括抽象语法树节点种类、抽象语法树节点的属性和抽象语法树节点的值;所述原始脚本的特征信息包括脚本整体的字符分布,经过语法树解析完成后各类语法树节点的分布,常量字符串对应语法树节点的字符串长度与字符分
布,以及数组对应语法树节点的数组长度和字符分布中的任意一种或多种。
[0010]脚本迭代特征采集步骤:
[0011]通过分析引擎对结构化的脚本信息进行脚本语义迭代解析,并对脚本迭代方法进行记录,作为脚本动态特征进行存储;所述脚本动态特征包括对每语法树节点迭代次数的记录,各类迭代方法的次数,以及各类迭代方法的比例中的任意一种或多种。
[0012]脚本对比特征采集步骤:
[0013]对迭代分析完毕的脚本信息与原始脚本的结构化信息进行差异化比对,获取差异化特征,同时采集迭代分析完毕的脚本字符特征,对差异化特征和经迭代处理的脚本特征进行存储。
[0014]模型训练步骤:
[0015]对上述步骤过程中记录的所有特征进行合并存储,作为检测模型训练参数进行训练,获取训练后的Powershell混淆脚本的高精度识别模型。
[0016]混淆结果识别步骤:
[0017]将待检测脚本依次通过原始脚本特征采集步骤、脚本迭代特征采集步骤和脚本对比特征采集步骤进行脚本特征提取,将提取的特征作为Powershell混淆脚本的高精度识别模型的输入参数,获取混淆输出结果。
[0018]进一步地,对原始Powershell混淆脚本进行抽象语法树解析的具体内容为:
[0019]利用脚本语言特性,对原始Powershell混淆脚本进行抽象语法树解析得到原始Powershell混淆脚本的结构化脚本信息。
[0020]进一步地,各步骤中,处理后的特征信息以数据库或者文本文件形式存储。
[0021]进一步地,所述分析引擎采用字符串拼接,字符串替换,字符串格式脚本的再解析,未使用变量的清洗,ASCII码到字符的转换,语法树节点属性的更新,命令缩写的还原,脚本分析层次记录中的任意一种或多种进行脚本语义迭代解析。
[0022]进一步地,所述差异化比对中需要比对的数据包括字符频率的变化,各类语法树节点比例变化,语法树结构变化的任意一种或多种。
[0023]进一步地,训练后的Powershell混淆脚本的高精度识别模型的训练基础模型为线性回归分析模型。
[0024]本专利技术另一方面还提供一种Powershell混淆脚本的高精度识别系统,包括:
[0025]原始脚本特征采集模块,对原始Powershell混淆脚本进行抽象语法树解析,提取得到结构化脚本信息,通过对不同抽象语法树节点的特征采集得到原始脚本的特征信息并存储;
[0026]脚本迭代与动态特征采集模块:通过分析引擎处理脚本信息,对脚本迭代方法进行记录,作为脚本动态特征进行存储;
[0027]脚本对比特征采集模块:对迭代分析完毕的脚本信息与结构化脚本信息进行差异化比对,同时采集迭代分析完毕的脚本字符特征,对差异化特征和经迭代处理的脚本特征进行存储;
[0028]模型训练模块:将采集的脚本特征作为训练模型的输入部分,利用标记的脚本进行模型训练,生成模型检测参数并存储;
[0029]脚本检测模块:令输入脚本通过特征提取方法进行特征提取,将特征作为模型输
入,获取检测结果。
[0030]本专利技术提供的Powershell混淆脚本的高精度识别方法及系统,相较于现有技术至少包括如下有益效果:
[0031]1)本专利技术结合文本和抽象语法树的结构信息,通过自建的脚本结构信息迭代引擎提取Powershell脚本中的动态特征,通过迭代前后的脚本信息比对提取差异化特征作为对字符级别特征提取的补充,能够提高混淆检测的精度与准确率。
[0032]2)本专利技术支持检测经过无关语句插入处理的Powershell混淆脚本,能够抵御一定程度的混淆对抗,具有良好的鲁棒性和实用性,具有广阔的应用前景。
附图说明
[0033]图1为实施例中本专利技术Powershell脚本层次化特征提取方法的流程图;
[0034]图2为实施例中针对Powershell混淆脚本的高精度检测模型的训练流程图;
[0035]图3为实施例中针对Powershell混淆脚本的高精度检测模型的判断流程图。
具体实施方式
[0036]下面结合附图和具体实施例对本专利技术进行详细说明。显然,所描述的实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Powershell混淆脚本的高精度识别方法,其特征在于,包括下列步骤:原始脚本特征采集步骤:获取待检测的Powershell脚本,对原始Powershell混淆脚本进行抽象语法树解析,提取得到结构化的脚本信息,通过对不同抽象语法树节点的特征采集得到原始脚本的特征信息并存储;脚本迭代特征采集步骤:通过分析引擎对结构化的脚本信息进行脚本语义迭代解析,并对脚本迭代方法进行记录,作为脚本动态特征进行存储;脚本对比特征采集步骤:对迭代分析完毕的脚本信息与原始脚本的结构化信息进行差异化比对,获取差异化特征,同时采集迭代分析完毕的脚本字符特征,对差异化特征和经迭代处理的脚本特征进行存储;模型训练步骤:对上述步骤过程中记录的所有特征进行合并存储,作为检测模型训练参数进行训练,获取训练后的Powershell混淆脚本的高精度识别模型;混淆结果识别步骤:将待检测脚本依次通过原始脚本特征采集步骤、脚本迭代特征采集步骤和脚本对比特征采集步骤进行脚本特征提取,将提取的特征作为Powershell混淆脚本的高精度识别模型的输入参数,获取混淆输出结果。2.根据权利要求1所述的Powershell混淆脚本的高精度识别方法,其特征在于,对原始Powershell混淆脚本进行抽象语法树解析的具体内容为:利用脚本语言特性,对原始Powershell混淆脚本进行抽象语法树解析得到原始Powershell混淆脚本的结构化脚本信息。3.根据权利要求2所述的Powershell混淆脚本的高精度识别方法,其特征在于,所述结构化脚本信息包括抽象语法树节点种类、抽象语法树节点的属性和抽象语法树节点的值。4.根据权利要求1所述的Powershell混淆脚本的高精度识别方法,其特征在于,所述原始脚本的特征信息包括脚本整体的字符分布,经过语法树解析完成后各类语法树节点的分布,常量字符串对应语法树节点的字符串长度与字符分布,以及数组对应语法树节点的数组长度和字符分布中的任意一种或多种。5.根据权利要...

【专利技术属性】
技术研发人员:曹瑶涛王轶骏
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1