首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 78 毫秒
1.
一种源程序到控制流图的自动生成方法   总被引:5,自引:0,他引:5  
将源程序转换为控制流图是软件工程领域中逆向工程的研究内容之一。本文给出了一种由源程序生成其对应的控制流图的方法和实现技术。该方法和技术也可应用于程序分析及软件纵等方面。  相似文献   

2.
张贵民  李清宝  王炜  朱毅 《计算机应用》2013,33(9):2520-2524
软件防篡改是软件保护的重要手段。针对由缓冲区溢出等攻击导致的控制流篡改,提出一种基于函数级控制流监控的软件防篡改方法。以函数级控制流描述软件正常行为,利用二进制重写技术在软件函数入口处植入哨兵,由监控模块实时获取哨兵发送的软件运行状态,通过对比运行状态和预期值判断程序是否被篡改。实现了原型系统并对其进行了性能分析,实验结果表明,基于函数级控制流监控的软件防篡改方法能有效检测对控制流的篡改攻击,无误报且开销较低,其实现不依赖程序源码,无需修改底层硬件和操作系统,监控机制与被保护软件隔离,提高了安全性。  相似文献   

3.
张家奇  牟永敏  张志华 《计算机应用》2005,40(10):3025-3033
针对目前软件设计与实现一致性检测方法需要大量模板集,难以一般化的问题,提出一种基于控制流的软件设计与实现一致性分析方法。首先,将设计文档伪代码和程序源代码转换为具有相同特征的中间表示,从中间表示中分别提取设计特征和实现特征,特征包括能反映系统结构的函数调用关系和能反映函数内部结构的控制流信息;然后,根据设计特征和实现特征分别建立设计特征模型和实现特征模型;最后,通过计算特征相似度来度量特征模型的相似度,进而获取一致性检测结果。实验结果表明,所提方法在软件实现的函数调用关系与设计不一致时,能够正确检测不一致函数调用关系;而在软件实现的函数调用关系与设计一致时,能够正确检测函数内部结构的不一致情况,准确度达到了92.85%。该方法可以有效获取一致性检测结果,不需要模板集,具有更优越的一般性。  相似文献   

4.
张家奇  牟永敏  张志华 《计算机应用》2020,40(10):3025-3033
针对目前软件设计与实现一致性检测方法需要大量模板集,难以一般化的问题,提出一种基于控制流的软件设计与实现一致性分析方法。首先,将设计文档伪代码和程序源代码转换为具有相同特征的中间表示,从中间表示中分别提取设计特征和实现特征,特征包括能反映系统结构的函数调用关系和能反映函数内部结构的控制流信息;然后,根据设计特征和实现特征分别建立设计特征模型和实现特征模型;最后,通过计算特征相似度来度量特征模型的相似度,进而获取一致性检测结果。实验结果表明,所提方法在软件实现的函数调用关系与设计不一致时,能够正确检测不一致函数调用关系;而在软件实现的函数调用关系与设计一致时,能够正确检测函数内部结构的不一致情况,准确度达到了92.85%。该方法可以有效获取一致性检测结果,不需要模板集,具有更优越的一般性。  相似文献   

5.
带控制流的静态函数调用分析方法   总被引:2,自引:0,他引:2       下载免费PDF全文
提出一种带有控制流的静态函数调用分析的方法,通过建立模型,对源程序进行静态分析,得到程序中的控制流信息和函数调用信息。和已有的静态函数调用关系图分析工具calltree和Source Insight相比,该方法生成的函数调用流图不仅能展现函数间的调用次序,还可以了解程序设计的逻辑复杂度,有助于代码阅读和分析人员更快更好地理解程序结构以及设计流程,并为分析程序控制条件、设计路径覆盖测试用例和进行程序优化奠定基础。  相似文献   

6.
程序中通常会隐含大量编程规则,若在程序编写过程中违反此类规则,则可能引发软件缺陷。函数调用规则是其中一类常见的程序隐含规则,常见的函数调用规则挖掘工作将整个函数体内的函数调用作为一个项集来进行分析,未使用程序中函数调用先后顺序等约束信息,导致软件缺陷挖掘结果的误报率较高。通过简单的静态分析即可获取函数调用序列信息,如在缺陷挖掘过程中充分利用函数调用序列信息,将有效提高缺陷挖掘精度。基于上述思路,提出了一种基于函数调用序列模式挖掘的缺陷检测方法,该方法自动检测程序中违反函数调用序列模式的疑似缺陷,并报告可疑度较高的缺陷。基于该方法,在一组开源项目上进行的实验的结果表明,此方法能有效发现程序中由于违反函数调用序列模式而导致的缺陷,减少了缺陷误报,从而降低了人工核查疑似缺陷开销。  相似文献   

7.
与传统密码相比,轻量级密码在对软硬件资源的需求、运行功耗等方面具有明显的优势。随着物联网的广泛普及和应用,轻量级密码在实际生活中扮演着越来越重要得角色,从而对基于轻量级密码的系统安全提出了新的需求。基于控制流隐藏的轻量级密码安全防护方法面向各种轻量级应用,利用 HCahe的触发阈值动态调整、地址序列随机化单元的并发操作等技术,对程序运行过程中的地址信息进行随机重排,从根源上杜绝了控制流信息泄露。实验表明,基于控制流隐藏的轻量级密码安全防护对于当前各种基于控制流的攻击分析方法具有很好的防护效果,以较小的性能损失实现了高安全等级的控制流隐藏,较好地保护了系统内敏感数据及代码的安全。  相似文献   

8.
从基于调用图的函数内联技术、函数参数的映射技术和内联使用的不同策略3个方面讨论基于SUIF系统的内联技术的实现。根据KAP系统需求,提出叶节点的内联算法,以满足并行性分析的需要,降低全内联引起的代码膨胀问题。测试结果表明,该算法能够有效地内联NPB测试集中的一些函数,经函数内联后,加速比最高可提高15.78%。  相似文献   

9.
随着软件安全性需求不断增长,大量的研究工作将深度学习应用于漏洞检测领域,目前存在多种源代码漏洞检测方法。现阶段在检测单个文件中由于函数调用导致的漏洞方面有较好的效果,但由于复杂函数调用关系可能涉及到多个文件,针对多文件的漏洞检测是当前的检测难点之一。因此,该文在源代码程序依赖图的基础上提出了一个新的图表征PDGcross,从一个文件入口合并其他被调用的文件,生成一个图表征即PDGcross。再运用Node2Vec图嵌入算法将PDGcross进一步处理为特征矩阵,利用长短时记忆神经网络训练出漏洞分类模型,实现了一种基于跨文件程序依赖图表征和深度学习的源代码检测方法。在实验中,针对跨文件间的函数调用产生的漏洞,Fortify和PDG表征的检测效率很低,而提出的基于PDGcross表征的检测方法则明显优于该两类方法。  相似文献   

10.
11.
控制流检测是抵御单粒子事件的有效手段之一.目前的主流方法是采用嵌入式签名技术, 但是该技术引入的检测指令过多, 导致程序效率低下. 本文使用基本块规约的技术, 在原基本块的基础上, 选择合适的约束量重新划分基本块, 减少引入的检测指令. 与8个常见算法的性能比较表明, 该方法在软错误检测覆盖率基本不变的前提下,能有效提高目标程序效率.  相似文献   

12.
控制流劫持攻击利用程序内存漏洞获取程序的控制权,进而控制程序执行恶意代码,对系统安全造成极大的威胁.为了应对控制流劫持攻击,研究人员提出了一系列的防御手段.控制流完整性是一种运行时防御方法,通过阻止进程控制流的非法转移,来确保控制流始终处于程序要求的范围之内.近年来,越来越多的研究致力于解决控制流完整性的相关问题,例如提出新的控制流完整性方案、新的控制流完整性方案评估方法等.首先阐述了控制流完整性的基本原理,然后对现有控制流完整性方案进行了分类,并分别进行了分析,同时介绍了现有针对控制流完整性方案的评估方法与评价指标.最后,对控制流完整性的未来工作进行了展望,以期对未来的控制流完整性研究提供参考.  相似文献   

13.
李自清 《计算机测量与控制》2017,25(10):198-201, 205
随着移动互联网的迅猛发展和智能设备的普及,Android 平台的安全问题日益严峻,不断增多的恶意软件对终端用户造成了许多困扰,严重威胁着用户的隐私安全和财产安全;因此对恶意软件的分析与研究也成为安全领域的热点之一;提出了一种基于函数调用图的 Android 程序特征提取及检测方法;该方法通过对 Android 程序进行反汇编得到函数调用图,在图谱理论基础上,结合函数调用图变换后提取出的图结构和提取算法,获取出具有一定抗干扰能力的程序行为特征;由于 Android 函数调用图能够较好地体现 Android 程序的功能模块、结构特征和语义;在此基础上,实现检测原型系统,通过对多个恶意 Android 程序分析和检测,完成了对该系统的实验验证;实验结果表明,利用该方法提取的特征能够有效对抗各类 Android 程序中的混淆变形技术,具有抗干扰能力强等特点,基于此特征的检测对恶意代码具有较好地识别能力。  相似文献   

14.
基于Hash函数的报文鉴别方法   总被引:1,自引:0,他引:1       下载免费PDF全文
基于当前网络通信中对报文鉴别码(MAC)的需求,介绍了Hash函数在密码学上的安全性质,分析了Hash函数在报文鉴别中的应用和针对Hash函数的主要攻击。在此基础之上,提出一种基于Hash函数的报文鉴别码——伪报文鉴别码(PMAC)。利用当前现有的Hash函数来构造MAC,而不改变原有的Hash函数的内部结构。在没有利用任何现有加密算法的基础上,仅应用一个密钥不仅对报文提供了鉴别,而且也提供了机密性。对该伪报文鉴别算法的安全性进行了初步分析。  相似文献   

15.
函数调用关系能够反映软件系统中函数间的依赖关系,完整的函数调用关系可以更好地辅助程序验证和死锁分析,提升验证和分析的完备性.现有静态分析函数调用关系的方法不能准确分析函数指针和虚函数的调用,影响了其分析结果的准确性.针对这一问题本文提出了一种基于控制流图(Control Flow Graph, CFG)的函数调用关系静态分析方法,该方法首先使用GCC插件静态获取源代码中的类型和函数CFG等信息并构建分析路径,然后采用本文提出的模拟仿真算法分析程序中的语句,并解析函数指针和虚函数的调用,最后基于分析结果生成完整的函数调用关系.实验结果表明,该方法能够很好地支持对函数指针和虚函数的处理,提升了分析结果的准确性.  相似文献   

16.
Pilsung Kang 《Software》2018,48(3):385-401
Function call interception (FCI), or method call interception (MCI) in the object‐oriented programming domain, is a technique of intercepting function calls at program runtime. Without directly modifying the original code, FCI enables to undertake certain operations before and/or after the called function or even to replace the intercepted call. Thanks to this capability, FCI has been typically used to profile programs, where functions of interest are dynamically intercepted by instrumentation code so that the execution control is transferred to an external module that performs execution time measurement or logging operations. In addition, FCI allows for manipulating the runtime behavior of program components at the fine‐grained function level, which can be useful in changing an application's original behavior at runtime to meet certain execution requirements such as maintaining performance characteristics for different input problem sets. Due to this capability, however, some FCI techniques can be used as a basis of many security exploits for vulnerable systems. In this paper, we survey a variety of FCI techniques and tools along with their applications to diverse areas in the computing and software domains. We describe static and dynamic FCI techniques at large and discuss the strengths and weaknesses of different implementations in this category. In addition, we also discuss aspect‐oriented programming implementation techniques for intercepting method calls.  相似文献   

17.
程序的行为轨迹常采用基于系统调用的程序行为自动机来表示.针对传统的程序行为自动机中控制流和数据流描述的程序行为轨迹准确性较低、获取系统调用上下文时间开销大、无法监控程序运行时相邻系统调用间的程序执行轨迹等问题,提出了基于系统调用属性的程序行为自动机.引入了多个系统调用属性,综合系统调用各属性的偏离程度,对系统调用序列描述的程序行为轨迹进行更准确地监控;提出了基于上下文的系统调用参数策略,检测针对系统调用控制流及数据流的行为轨迹偏离;提出了系统调用时间间距属性,使得通过系统调用及其参数无法监控的相邻系统调用间的程序行为轨迹在一定程度上得到了监控.实验表明基于系统调用属性的程序行为自动机能够更准确地刻画程序行为轨迹,较传统模型有更强的行为偏离检测能力.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号