基于分析字节码调用序列是否可信的方法及装置制造方法及图纸

技术编号:38035941 阅读:11 留言:0更新日期:2023-06-30 11:02
本发明专利技术提供一种分析字节码调用序列是否可信的方法及装置,该方法包括:通过预设的监控点获取堆栈信息,根据所述堆栈信息确定外部参数和字节码文件调用序列,所述外部参数表示外部输入的参数,所述字节码文件调用序列表示字节码文件被调用、执行的顺序;根据所述外部参数和字节码文件调用序列执行字节码文件以模拟对所述外部参数的处理过程,并获取最后调用的字节码文件执行后输出的处理结果;根据所述输出的处理结果是否危险指令确定所述字节码文件调用序列是否可信。本发明专利技术通过字节码文件调用序列能实现从运行原理上对安全的字节码文件调用序列进行区分,且能对未知漏洞防护,防护能力更强。防护能力更强。防护能力更强。

【技术实现步骤摘要】
基于分析字节码调用序列是否可信的方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种分析字节码调用序列是否可信的方法及装置。

技术介绍

[0002]Java攻击方式大部分是通过不安全的调用序列执行指定命令达到攻击的目的,且大部分防护工具通过检测特定危险指令进行防护,只能对已知的攻击手法提供有限防护。例如,openRASP技术基于现有漏洞规则设置监控点扫描,对符合规则的攻击进行告警,只能防御已知漏洞,且每次经过监控点都需要重新分析,费时费力。

技术实现思路

[0003]本专利技术提供一种分析字节码调用序列是否可信的方法,包括:
[0004]通过预设的监控点获取堆栈信息,根据所述堆栈信息确定外部参数和字节码文件调用序列,所述外部参数表示外部输入的参数,所述字节码文件调用序列表示依次被执行的字节码文件的调用顺序;
[0005]根据所述外部参数和字节码文件调用序列执行字节码文件以模拟对所述外部参数的处理过程,并获取最后调用的字节码文件执行后输出的处理结果;
[0006]根据所述输出的处理结果是否为危险指令确定所述字节码文件调用序列是否可信。
[0007]可选的,所述通过预设的监控点获取堆栈信息之前,该方法还包括:
[0008]对已加载的类进行扫描,获取类对应的字节码文件集合。
[0009]可选的,所述堆栈信息包括请求信息,根据所述堆栈信息确定外部参数和字节码文件调用序列,包括:
[0010]解析所述请求信息,得到所述外部参数和第一字节码文件信息,所述第一字节码文件信息用于获取处理所述外部参数的第一字节码文件,所述第一字节码文件为字节码文件调用序列中第一个被调用字节码文件;
[0011]通过除最后调用的字节码文件之外的各字节码文件执行后输出的结果的出栈、入栈操作,获取下一个调用的字节码文件信息;
[0012]基于每个所述下一个调用的字节码文件信息确定字节码文件调用序列。
[0013]可选的,根据所述外部参数和字节码文件调用序列模拟对所述外部参数的处理过程,包括:
[0014]基于字节码文件调用序列,将外部参数输入调用顺序为第一的第一字节码文件,得到第一字节码文件执行后的第一处理结果;
[0015]将第一处理结果输入第一字节码文件之后下一个要被调用的字节码文件,得到第二处理结果;
[0016]依此类推,将当前调用的字节码文件执行后的处理结果,输入当前调用的字节码
文件之后下一个要被调用的字节码文件中,得到对应的处理结果;
[0017]重复上述过程,直到获取到字节码文件调用序列中排序最末的字节码文件执行后的处理结果。
[0018]可选的,根据所述输出的处理结果是否为危险指令,确定所述字节码文件调用序列是否可信,包括:
[0019]判断所述输出的处理结果是否为危险指令;
[0020]若所述输出的处理结果不是危险命令,则所述字节码文件调用序列可信,将所述字节码文件调用序列存储在数据库中;
[0021]若所述所述输出的处理结果是危险命令,则所述字节码文件调用序列不可信,并生成告警信息。
[0022]可选的,根据所述外部参数和字节码文件调用序列执行字节码文件以模拟所述外部参数的处理过程之前,还包括:
[0023]将所述字节码文件调用序列与数据库中预设的可信字节码文件调用序列匹配,若匹配成功,则确定所述字节码文件调用序列可信。
[0024]可选的,通过预设的监控点获取堆栈信息包括:
[0025]基于SecurityManager的checkExec方法调用预设的监控点以获取堆栈信息。
[0026]可选的,在通过预设的监控点获取堆栈信息之前,该方法包括:
[0027]通过自定义监控程序的方式预设监控点,所述自定义监控程序基于预定的系统行为触发。
[0028]本专利技术还提供一种分析字节码调用序列是否可信的装置,包括:
[0029]堆栈信息处理模块,用于通过预设的监控点获取堆栈信息,根据所述堆栈信息确定外部参数和字节码文件调用序列,所述外部参数表示外部输入的参数,所述字节码文件调用序列表示依次被执行的字节码文件的调用顺序;
[0030]字节码文件执行模块,用于根据所述外部参数和字节码文件调用序列执行字节码文件以模拟对所述外部参数的处理过程,并获取最后调用的字节码文件执行后输出的处理结果;
[0031]可信判断模块,用于根据所述输出的处理结果是否为危险指令确定所述字节码文件调用序列是否可信。
[0032]本专利技术提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前面所述分析字节码调用序列是否可信的方法。
[0033]本专利技术提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前面所述分析字节码调用序列是否可信的方法。
[0034]本专利技术提供的一种分析字节码调用序列是否可信的方法,基于字节码分析调用序列的方式能够从运行原理上对安全调用序列进行区分,相同的序列无需再判断,性能损耗小,且能对未知漏洞防护,防护能力更强。
附图说明
[0035]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术
描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1是本专利技术提供的分析字节码调用序列是否可信的方法的流程示意图;
[0037]图2是本专利技术提供的分析字节码调用序列是否可信的方法的应用场景的示意图;
[0038]图3是本专利技术提供的分析字节码调用序列是否可信的装置的结构示意图;
[0039]图4是本专利技术提供的电子设备的结构示意图。
具体实施方式
[0040]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0041]请参阅图1,图1为本专利技术分析字节码调用序列是否可信的方法的实施例流程图。如图1所示,该分析字节码调用序列是否可信的方法,包括以下步骤:
[0042]步骤101,通过预设的监控点获取堆栈信息,根据所述堆栈信息确定外部参数和字节码文件调用序列,所述外部参数表示外部输入的参数,所述字节码文件调用序列表示依次被执行的字节码文件的调用顺序。
[0043]字节码文件就是.class文件,.java文件编译后就会生成.class文件,然后编译器加载字节码文件,类加载器按类名加载对应类的字节码文件,用以执行入口main方法或者其他的方法。...

【技术保护点】

【技术特征摘要】
1.一种分析字节码调用序列是否可信的方法,其特征在于,包括:通过预设的监控点获取堆栈信息,根据所述堆栈信息确定外部参数和字节码文件调用序列,所述外部参数表示外部输入的参数,所述字节码文件调用序列表示依次被执行的字节码文件的调用顺序;根据所述外部参数和字节码文件调用序列执行字节码文件以模拟对所述外部参数的处理过程,并获取最后调用的字节码文件执行后输出的处理结果;根据所述输出的处理结果是否为危险指令确定所述字节码文件调用序列是否可信。2.根据权利要求1所述的分析字节码调用序列是否可信的方法,其特征在于,所述通过预设的监控点获取堆栈信息之前,还包括:对已加载的类进行扫描,获取类对应的字节码文件集合。3.根据权利要求2所述的分析字节码调用序列是否可信的方法,其特征在于,所述堆栈信息包括请求信息,根据所述堆栈信息确定外部参数和字节码文件调用序列,包括:解析所述请求信息,得到所述外部参数和第一字节码文件信息,所述第一字节码文件信息用于获取处理所述外部参数的第一字节码文件,所述第一字节码文件为字节码文件调用序列中第一个被调用字节码文件;通过除最后调用的字节码文件之外的各字节码文件执行后输出的结果的出栈、入栈操作,获取下一个调用的字节码文件信息;基于每个所述下一个调用的字节码文件信息确定字节码文件调用序列。4.根据权利要求3所述的分析字节码调用序列是否可信的方法,其特征在于,根据所述外部参数和字节码文件调用序列模拟对所述外部参数的处理过程,包括:基于字节码文件调用序列,将外部参数输入调用顺序为第一的第一字节码文件,得到第一字节码文件执行后的第一处理结果;将第一处理结果输入第一字节码文件之后下一个要被调用的字节码文件,得到第二处理结果;依此类推,将当前调用的字节码文件执行后的处理结果,输入当前调用的字节码文件之后下一个要被调用的字节码文件中,得到对应的处理结果;重复上述过程,直到获取到字节码文件调用序列中最后调用的字节码文件执行后的处理结果。5.根据权利要求4所述的分析字节码调用序列是否可信的方法,其特征在于,根据所述输出的处理结果是否为危险指令,确定所述字节码文件调用序列...

【专利技术属性】
技术研发人员:黄歆龙良
申请(专利权)人:奇安盘古上海信息技术有限公司
类型:发明
国别省市:

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

1