System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 程序攻击风险的检测方法和装置、存储介质及电子设备制造方法及图纸_技高网

程序攻击风险的检测方法和装置、存储介质及电子设备制造方法及图纸

技术编号:42714763 阅读:10 留言:0更新日期:2024-09-13 12:04
本申请公开了一种程序攻击风险的检测方法和装置、存储介质及电子设备。涉及金融科技领域,该方法包括:检测目标程序在输入目标输入信息之后产生的堆块控制信息;在堆块控制信息用于指示目标程序存在堆块漏洞的情况下,为目标程序生成堆块攻击约束和指针攻击约束;生成同时满足目标路径约束、堆块攻击约束和指针攻击约束的目标攻击信息;使用目标攻击信息测试目标程序是否存在线程缓存分配器隐匿攻击风险。通过本申请,解决了相关技术中,程序攻击风险的检测效率较低等问题。

【技术实现步骤摘要】

本申请涉及金融科技领域,具体而言,涉及一种程序攻击风险的检测方法和装置、存储介质及电子设备


技术介绍

1、一直以来,软件程序安全漏洞不仅是病毒、蠕虫等的重要传播途径,也是网络攻防的攻击焦点,绝大多数的网络入侵都是基于软件程序的安全漏洞进行的。攻击者可以利用这些安全漏洞访问到未授权的系统资源,进而可以破坏系统中重要的数据信息,从而对信息系统安全造成了极大地威胁,因而信息安全领域的核心问题之一就是计算机系统中存在的各种软件漏洞。而在金融领域大型信息系统建设中,存在部分软件程序需要从外部采购,该部分软件程序有可能难以获取源码进行内部安全审计来进行安全评估,如果不能很好进行安全风险检测会为系统引入潜在的安全风险。

2、当前,对于检测软件程序是否存在安全风险的方式是通过构造模糊测试工具来实现的。通过向编写的模糊测试工具输入一些随机或者精心构造的测试用例来观察软件程序对输入数据的响应,从而发现软件程序中代码存在的问题。这种采用随机或者人为的方式构造测试用例,不具针对性,出现异常后需要测试人员对造成异常的数据进行分析,存在测试时间过长,效率低的问题。

3、针对相关技术中程序攻击风险的检测效率较低等问题,目前尚未提出有效的解决方案。


技术实现思路

1、本申请的主要目的在于提供一种程序攻击风险的检测方法和装置、存储介质及电子设备,以解决相关技术中程序攻击风险的检测效率较低等问题。

2、为了实现上述目的,根据本申请的一个方面,提供了一种程序攻击风险的检测方法。该方法包括:

3、检测目标程序在输入目标输入信息之后产生的堆块控制信息,其中,所述目标程序为待测试是否存在线程缓存分配器隐匿攻击风险的程序,所述目标输入信息是允许导致所述目标程序崩溃的输入信息,所述堆块控制信息用于指示所述目标程序对堆块的控制行为;

4、在所述堆块控制信息用于指示所述目标程序存在堆块漏洞的情况下,为所述目标程序生成堆块攻击约束和指针攻击约束;

5、生成同时满足目标路径约束、所述堆块攻击约束和所述指针攻击约束的目标攻击信息,其中,所述目标路径约束用于描述所述目标程序中路径分支处的约束条件,满足所述堆块攻击约束的攻击信息用于对输入的程序中的堆块进行控制,满足所述指针攻击约束的攻击信息用于对输入的程序中的指针进行控制;

6、使用所述目标攻击信息测试所述目标程序是否存在线程缓存分配器隐匿攻击风险。

7、可选的,所述为所述目标程序生成堆块攻击约束和指针攻击约束,包括:

8、检测所述目标程序是否存在满足目标堆块控制条件的堆块,其中,满足所述目标堆块控制条件的堆块允许被所述线程缓存分配器隐匿攻击控制;

9、在检测出所述目标程序存在满足所述目标堆块控制条件的目标堆块的情况下,根据所述目标堆块构建所述堆块攻击约束,其中,满足所述堆块攻击约束的攻击信息用于对所述目标程序中的所述目标堆块进行控制;

10、检测所述目标堆块对应的目标指针是否为满足指针控制条件的指针,其中,所述目标指针为所述目标堆块中用于指向下一个堆块的指针,满足指针控制条件的指针允许被所述目标程序外部输入的信息控制;

11、在检测出所述目标指针为满足所述指针控制条件的指针的情况下,根据所述目标指针构建所述指针攻击约束,其中,满足所述指针攻击约束的攻击信息用于对所述目标程序中的所述目标指针进行控制。

12、可选的,所述检测所述目标程序是否存在满足目标堆块控制条件的堆块,包括:

13、检测所述目标程序是否存在同时满足第一堆块控制条件、第二堆块控制条件和第三堆块控制条件的堆块,其中,满足所述第一堆块控制条件的堆块为所述目标程序中已经被释放的堆块,满足所述第二堆块控制条件的堆块为所述目标程序中已经被存储至线程缓存分配器的分配器链表中的堆块,所述分配器链表为所述线程缓存分配器维护的链表用于存储所述线程缓存分配器允许控制的堆块,满足所述第三堆块控制条件的堆块为所述目标程序中存在后继堆块的堆块;

14、在检测出所述目标程序存在同时满足所述第一堆块控制条件、所述第二堆块控制条件和所述第三堆块控制条件的堆块的情况下,确定所述目标程序存在满足所述目标堆块控制条件的堆块。

15、可选的,所述检测所述目标堆块对应的目标指针是否为满足指针控制条件的指针,包括:

16、获取所述目标程序中被符号化种子文件影响的污点区域,其中,所述污点区域是将目标输入信息作为所述符号化种子文件对所述目标程序进行符号执行得到的,所述目标输入信息为允许导致所述目标程序崩溃的输入信息;

17、在所述污点区域包括所述目标指针的情况下,确定所述目标指针为满足所述指针控制条件的指针。

18、可选的,在所述为所述目标程序生成堆块攻击约束和指针攻击约束之前,所述方法还包括:

19、根据所述堆块控制信息检测所述目标程序是否存在第一堆块漏洞,其中,所述第一堆块漏洞用于指示所述目标程序存在写入数据从堆块中溢出的风险;

20、根据所述堆块控制信息检测所述目标程序是否存在第二堆块漏洞,其中,所述第二堆块漏洞用于指示所述目标程序存在已经被释放的堆块继续被使用的风险;

21、根据所述堆块控制信息检测所述目标程序是否存在第三堆块漏洞,其中,所述第三堆块漏洞用于指示所述目标程序存在堆块被重复释放的风险;

22、在检测出所述目标程序存在所述第一堆块漏洞,和/或,第二堆块漏洞,和/或,第三堆块漏洞的情况下,确定所述堆块控制信息用于指示所述目标程序存在所述堆块漏洞。

23、可选的,所述根据所述堆块控制信息检测所述目标程序是否存在第一堆块漏洞,包括:根据所述堆块控制信息检测所述目标程序中是否存在堆块的堆块边界被所述写入数据超出;在检测出所述目标程序中存在所述堆块的所述堆块边界被所述写入数据超出的情况下,确定所述目标程序存在第一堆块漏洞;

24、所述根据所述堆块控制信息检测所述目标程序是否存在第二堆块漏洞,包括:根据所述堆块控制信息检测所述目标程序中是否存在对悬挂指针的解引用操作,其中,所述悬挂指针为指向已经释放的堆块或者未初始化的堆块的指针,所述解引用操作用于访问对应的所述悬挂指针的堆块位置;在检测出所述目标程序中存在对所述悬挂指针的所述解引用操作的情况下,确定所述目标程序存在第二堆块漏洞;

25、所述根据所述堆块控制信息检测所述目标程序是否存在第三堆块漏洞,包括:根据所述堆块控制信息获取当前待释放的堆块的参考指针,并检测历史指针集合中是否存在与所述参考指针相同的历史指针,其中,所述历史指针集合内的所述历史指针为当前已被释放的堆块对应的指针;在检测到所述历史指针集合中存在与所述参考指针相同的所述历史指针的情况下,确定所述目标程序存在第三堆块漏洞。

26、可选的,所述检测目标程序在输入目标输入信息之后产生的堆块控制信息,包括:

27、从所述目标程序的控制函数中提取出具备对堆本文档来自技高网...

【技术保护点】

1.一种程序攻击风险的检测方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述为所述目标程序生成堆块攻击约束和指针攻击约束,包括:

3.根据权利要求2所述的方法,其特征在于,所述检测所述目标程序是否存在满足目标堆块控制条件的堆块,包括:

4.根据权利要求2所述的方法,其特征在于,所述检测所述目标堆块对应的目标指针是否为满足指针控制条件的指针,包括:

5.根据权利要求1所述的方法,其特征在于,在所述为所述目标程序生成堆块攻击约束和指针攻击约束之前,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,

7.根据权利要求1所述的方法,其特征在于,所述检测目标程序在输入目标输入信息之后产生的堆块控制信息,包括:

8.一种程序攻击风险的检测装置,其特征在于,包括:

9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的方法。

10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7中任一项所述的方法。

...

【技术特征摘要】

1.一种程序攻击风险的检测方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述为所述目标程序生成堆块攻击约束和指针攻击约束,包括:

3.根据权利要求2所述的方法,其特征在于,所述检测所述目标程序是否存在满足目标堆块控制条件的堆块,包括:

4.根据权利要求2所述的方法,其特征在于,所述检测所述目标堆块对应的目标指针是否为满足指针控制条件的指针,包括:

5.根据权利要求1所述的方法,其特征在于,在所述为所述目标程序生成堆块攻击约束和指针攻击约束之前,所述方法还包括:

6...

【专利技术属性】
技术研发人员:曾炜丁育祯朱深才谭宗麟
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1