一种C程序结构体定义中敏感对象的高效搜索方法技术

技术编号:42465908 阅读:23 留言:0更新日期:2024-08-21 12:52
本发明专利技术公开了一种C程序结构体定义中敏感对象的高效搜索方法,其步骤包括:1)根据目标C程序的源代码解析生成一抽象语法树;2)从抽象语法树中获取该目标C程序中定义的结构体,并从结构体中提取结构体信息;3)将成员变量类型为结构体名的成员变量作为目标成员变量,如果该目标成员变量的成员变量名与其他成员变量名不同,则提取该目标成员变量所对应目标结构体的结构体信息;否则进行步骤4);4)根据该目标成员变量所对应目标结构体所引入的文件建立一include图,确定该目标成员变量对应的搜索范围;5)根据设定的敏感对象特征在步骤2~4)所得结构体信息中进行搜索,获该目标C程序中包含的敏感对象。

【技术实现步骤摘要】

本专利技术属于网络安全,具体涉及一种c程序结构体定义中敏感对象的高效搜索方法。


技术介绍

1、随着网络技术的不断发展和迅速普及,计算机系统中各种应用程序均面临越来越多的网络威胁。应用程序中难免存在程序员代码编写过程中遗留的程序漏洞,攻击者可利用这些程序漏洞将控制流导向到想要执行的恶意代码中。据统计,约97%的应用程序中存在着某种形式的漏洞,36%的程序中发现了高危或严重漏洞,另有76%发现的漏洞属于owasp top 10类别。软件引发的安全问题所涉及的领域越来越广,影响也越来越深远,软件漏洞逐渐成为了信息安全的主要威胁。尽管如此,发现的漏洞中有64%的比例被认为是中低风险漏洞,难以利用的。由此可以发现,大部分的软件漏洞仍然难以被正常利用,或利用过程中存在困难。

2、程序漏洞中最常见的便是缓冲区溢出漏洞,对应的攻击方式是利用缓冲区溢出将控制流转移到攻击者想要执行的恶意代码中。其中比较常见的方法是覆盖内存中的指针,比较常见的方法是利用缓冲区溢出漏洞,攻击者通过覆盖内存中的敏感指针来获取程序的控制流。如何获取程序中潜在能够被利用的敏感指针便成为了该本文档来自技高网...

【技术保护点】

1.一种C程序结构体定义中敏感对象的高效搜索方法,其步骤包括:

2.根据权利要求1所述的方法,其特征在于,建立所述include图的方法为:通过广度优先搜索方法提取该目标成员变量所对应目标结构体所引入文件,如果所引入文件i为所引入文件j中的文件,则将文件i对应的节点作为文件j的直接点,并在文件i对应的节点与文件j对应的节点之间构建一条边,得到该目标成员变量所对应的include图。

3.根据权利要求1或2所述的方法,其特征在于,存储结构体的类型名的方法为:将结构体定义时声明的类型名直接作为结构体的类型名;对于结构体的类型名为空,则将该结构体作为匿名结构体,将该结构...

【技术特征摘要】

1.一种c程序结构体定义中敏感对象的高效搜索方法,其步骤包括:

2.根据权利要求1所述的方法,其特征在于,建立所述include图的方法为:通过广度优先搜索方法提取该目标成员变量所对应目标结构体所引入文件,如果所引入文件i为所引入文件j中的文件,则将文件i对应的节点作为文件j的直接点,并在文件i对应的节点与文件j对应的节点之间构建一条边,得到该目标成员变量所对应的include图。

3.根据权利要求1或2所述的方法,其特征在于,存储结构体的类型名的方法为:将结构体定义时声明的类型名直接作为结构体的类型名;对于结构体的类型名为空,则将该结构体作为匿名结构体,将该结构体中定义的结构体变量名称作为该结构体的类型名。

【专利技术属性】
技术研发人员:陈孟达苏璞睿王柯林和亮
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:

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

1