本发明属于网络安全,尤其涉及一种基于语义的powershell自动化反混淆方法和装置。
背景技术:
1、随着powershell在windows环境中的广泛应用,黑客和攻击者越来越频繁地利用其强大的功能进行恶意活动。混淆技术的使用使得检测和分析这些恶意脚本变得更加困难,因此有必要研究反混淆技术以提高对powershell脚本的识别和还原能力。
2、powershell反混淆技术的发展对提升网络安全和威胁检测具有关键意义。通过深入研究和开发自动化反混淆工具,可以加强对潜在威胁的防范和应对。此外,powershell自动化反混淆技术对于加强实时威胁情报、自动化安全操作和提高安全分析效率都具有潜在的应用前景。随着恶意代码不断演化,powershell反混淆的研究和应用将继续在网络安全领域发挥重要作用,为保护系统和数据提供更加强大的安全措施。
技术实现思路
1、本发明的目的在于针对现有技术的不足,提供了一种基于语义的powershell自动化反混淆方法和装置。
2、本发明的目的是通过以下技术方案来实现的:一种基于语义的powershell自动化反混淆方法,包括以下步骤:
3、(1)去除待测样本中的字符串混淆符号,得到清洗过的样本;
4、(2)根据powershell命令执行标识符识别规则集对清洗过的样本进行标识符识别,得到清洗过的样本的标识符相关信息;所述标识符相关信息包含清洗过的样本中powershell命令执行标识符的数量、每一个powershell命令执行标识符的位置以及每一个powershell命令执行标识符的特征信息;
5、如果清洗过的样本中powershell命令执行标识符的数量为0,则将清洗过的样本进行语法树反混淆处理;如果清洗过的样本中每一个powershell命令执行标识符的位置均位于清洗过的样本的中部,则将清洗过的样本进行样本语义化解析处理;反之,则将清洗过的样本进行动态模拟反混淆处理。
6、进一步地,所述步骤(1)具体包括以下子步骤:
7、(1.1)定义powershell命令执行标识符识别规则集;
8、(1.2)定义powershell字符串混淆符号集;
9、(1.3)根据powershell字符串混淆符号集去除待测样本中的字符串混淆符号,得到清洗过的样本。
10、进一步地,所述动态模拟反混淆处理具体包括以下子步骤:
11、(a1)语义化去除清洗过的样本中位于首部和末尾的powershell命令执行标识符,得到初步反混淆样本;
12、(a2)将初步反混淆样本置于沙箱中,进行动态模拟反混淆,得到反混淆样本;
13、(a3)将反混淆样本进行标识符识别,若反混淆样本中powershell命令执行标识符的数量为0,则完成对待测样本的反混淆;若反混淆样本中每一个powershell命令执行标识符的位置均位于反混淆样本的中部,则将反混淆样本进行样本语义化解析处理;反之,则将反混淆样本进行动态模拟反混淆处理。
14、进一步地,所述样本语义化解析处理具体包括以下子步骤:
15、(b1)定义程序语义分割符规则集;
16、(b2)根据程序语义分割符规则集对清洗过的样本进行语义化分割,得到语义块集合;
17、(b3)定义敏感代码规则集;随后对语义块集合中的每一个语义块进行敏感代码去除,得到清洗过的语义块集合;
18、(b4)对清洗过的语义块集合进行标识符识别,若清洗过的语义块集合中powershell命令执行标识符的数量为0,则完成对待测样本的反混淆;若清洗过的语义块集合中每一个powershell命令执行标识符的位置均位于清洗过的语义块集合的中部,则将清洗过的语义块集合进行样本语义化解析处理;反之,则将清洗过的语义块集合进行动态模拟反混淆处理。
19、进一步地,所述语法树反混淆处理具体包括以下子步骤:
20、(c1)利用语法树对清洗过的样本进行分析反混淆处理,降低清洗过的样本的复杂度,得到简化后的样本;
21、(c2)对简化后的样本进行标识符识别,若简化后的样本中powershell命令执行标识符的数量为0,则完成对待测样本的反混淆;若简化后的样本中每一个powershell命令执行标识符的位置均位于简化后的样本的中部,则将简化后的样本进行样本语义化解析处理;反之,则将简化后的样本进行动态模拟反混淆处理。
22、本发明还包括一种基于语义的powershell自动化反混淆装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于上述的一种基于语义的powershell自动化反混淆方法。
23、本发明还包括一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述的一种基于语义的powershell自动化反混淆方法。
24、本发明的有益效果是:
25、1)动态模拟利用沙箱进行反混淆,准确提取恶意样本中包含内容,提高了powershell反混淆的准确率;
26、2)样本语义化解析,提高对powershell样本的局部反混淆能力,使得powershell反混淆过程模块化,提高了反混淆的精确率。
1.一种基于语义的powershell自动化反混淆方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于语义的powershell自动化反混淆方法,其特征在于,所述步骤(1)具体包括以下子步骤:
3.根据权利要求1所述的一种基于语义的powershell自动化反混淆方法,其特征在于,所述动态模拟反混淆处理具体包括以下子步骤:
4.根据权利要求1所述的一种基于语义的powershell自动化反混淆方法,其特征在于,所述样本语义化解析处理具体包括以下子步骤:
5.根据权利要求1所述的一种基于语义的powershell自动化反混淆方法,其特征在于,所述语法树反混淆处理具体包括以下子步骤:
6.一种基于语义的powershell自动化反混淆装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-5任一项所述的一种基于语义的powershell自动化反混淆方法。
7.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-5任一项所述的一种基于语义的powershell自动化反混淆方法。