期刊文献+
共找到17篇文章
< 1 >
每页显示 20 50 100
基于QEMU的动态二进制插桩技术 被引量:3
1
作者 邹伟 高峰 颜运强 《计算机研究与发展》 EI CSCD 北大核心 2019年第4期730-741,共12页
软件插桩是程序优化、软件调试、软件测试、故障定位等软件动态分析的基础技术.而其中,动态二进制插桩技术,因其无侵入性,即既不需要对源代码进行修改编译,又不需要重新组装二进制程序,不会引起目标码膨胀,而广泛应用于软件动态分析,特... 软件插桩是程序优化、软件调试、软件测试、故障定位等软件动态分析的基础技术.而其中,动态二进制插桩技术,因其无侵入性,即既不需要对源代码进行修改编译,又不需要重新组装二进制程序,不会引起目标码膨胀,而广泛应用于软件动态分析,特别是在资源受限、功耗低、实时性高的嵌入式软件领域,动态二进制插桩技术十分关键.然而,现有的二进制插桩工具仅能应用于用户态软件分析,在嵌入式全系统软件领域,还没有相应的二进制插桩工具.针对上述问题,在基于动态二进制翻译的开源指令集仿真器QEMU(quick emulator)基础上,研究突破基本块运行时间统计收集,并消除中断对嵌入式系统软件控制流分析的不良影响,实现了在中间码上对嵌入式全系统软件的动态二进制插桩,完成嵌入式全系统软件运行控制流跟踪,并开发日志处理工具.实验表明,该方法能完成目标码的调用图、函数剖面、覆盖率、控制流等分析,可以解决了嵌入式全系统软件动态二进制分析问题. 展开更多
关键词 动态分析 动态二进制插桩 QEMU 二进制目标码 软件测试
下载PDF
基于动态二进制插桩的密钥安全性检测 被引量:2
2
作者 林昊 康绯 光焱 《网络与信息安全学报》 2017年第11期50-58,共9页
针对加密软件中的密钥安全性问题,提出一种基于动态二进制插桩的密钥安全性检测方法。该方法面向CryptoAPI加密应用程序,首先通过对CryptoAPI密钥应用模式的分析,指出潜在的密钥安全性漏洞;然后以动态二进制分析平台Pin为支撑,动态记录... 针对加密软件中的密钥安全性问题,提出一种基于动态二进制插桩的密钥安全性检测方法。该方法面向CryptoAPI加密应用程序,首先通过对CryptoAPI密钥应用模式的分析,指出潜在的密钥安全性漏洞;然后以动态二进制分析平台Pin为支撑,动态记录程序运行期间的加解密过程信息;在此基础上设计关联性漏洞检测算法,实现对密钥安全性的检测。测试结果表明,该方法能够有效检测出两大类密钥安全性漏洞。 展开更多
关键词 密钥安全性检测 动态二进制插桩 Pin平台 CryptoAPI加密应用程序
下载PDF
DBI-Go:动态插桩定位Go二进制的非法内存引用
3
作者 陈金宝 张昱 +1 位作者 李清伟 丁伯尧 《软件学报》 EI CSCD 北大核心 2024年第6期2585-2607,共23页
Go语言,也称Golang,由于其语法简单、原生支持并发、自动内存管理等特性,近年受到很多开发者的欢迎.Go语言期望开发者不必了解变量或对象是分配在栈上还是在堆中,而由Go编译器的逃逸分析来决定分配位置,再由Go垃圾收集器自动回收无用的... Go语言,也称Golang,由于其语法简单、原生支持并发、自动内存管理等特性,近年受到很多开发者的欢迎.Go语言期望开发者不必了解变量或对象是分配在栈上还是在堆中,而由Go编译器的逃逸分析来决定分配位置,再由Go垃圾收集器自动回收无用的堆对象.Go的逃逸分析必须正确决定对象的分配位置以保证内存状态的正确性.然而,目前Go社区中逃逸相关问题频发,潜在导致程序崩溃等致命问题,而目前对该方面的研究缺失.为有效检测编译器生成的代码是否存在可能引起运行时崩溃的非法内存引用,填补研究空白,对Go程序执行进行抽象建模,并提出两条判定写入违例的规则.基于这两条规则,克服Go二进制中高层语义缺失、运行时信息不便获取等挑战,设计一个轻量化的分析工具DBI-Go.DBI-Go采用静态分析加动态二进制插桩的分析方式,基于动态二进制分析框架Pin来实现,可以识别Go二进制中违例的store指令.实验结果表明,DBI-Go可以检测出Go社区中所有已知的逃逸相关Issues;DBI-Go还发现一个目前Go社区未知的问题,该问题已经得到确认.在实际项目上的应用则表明DBI-Go可以帮助开发人员找出逃逸算法的错误.测试结果还表明DBI-Go采取的措施可以有效降低误报率且在93.3%的情况下带来的额外运行时开销小于原先的2倍.同时,DBI-Go无需修改Go的编译运行时,可以适配不同版本的Go,有较高的适用性. 展开更多
关键词 二进制分析 动态二进制插桩 静态分析 GO 编译器测试 逃逸分析
下载PDF
一种面向嵌入式设备的动态插桩方法
4
作者 司健鹏 洪征 +2 位作者 周振吉 陈乾 李涛 《计算机科学》 CSCD 北大核心 2024年第11期347-355,共9页
现有动态插桩方法大多基于x86/x64指令集,对嵌入式设备常用的RISC兼容性较差,且在应用嵌入式设备时存在插桩效率低、资源消耗大等问题。文中提出了一种面向嵌入式设备的动态插桩方法DIEB(Dynamic Instrumentation Method for Embedded P... 现有动态插桩方法大多基于x86/x64指令集,对嵌入式设备常用的RISC兼容性较差,且在应用嵌入式设备时存在插桩效率低、资源消耗大等问题。文中提出了一种面向嵌入式设备的动态插桩方法DIEB(Dynamic Instrumentation Method for Embedded Physical Devices)。DIEB在嵌入式设备中使用以控制转移指令为探针的探测模式对目标进程进行动态二进制插桩。DIEB提出了一种轻量化的解释执行指令方法,根据指令的运行环境设置指令解释执行区域,并在解释执行区域中解释执行指令获取执行结果。在目标进程动态运行过程中,DIEB通过解释执行用作探针的控制转移指令,获取控制转移指令的目的地址,从而跟踪目标进程的执行流,在软硬件资源紧张的嵌入式设备上高效地进行动态插桩。ARM指令集是一种典型的RISC指令集,测试实验以ARM指令集为验证对象,在NetGear R7000等设备上进行。实验结果表明,经过DIEB插桩的进程可以正常运行,插桩导致的时延远小于基于ptrace的插桩方式,解决了PIN,Dynamorio等现有动态插桩框架难以在嵌入式设备上运行的问题。此外,DIEB具有在多线程环境下稳定运行的能力,可以准确记录并发线程的执行流轨迹。 展开更多
关键词 动态二进制插桩 指令解释执行 嵌入式设备 灰盒测试 程序运行状态反馈
下载PDF
基于动态插桩的C/C++内存泄漏检测工具的设计与实现 被引量:8
5
作者 曾佳平 杨秋辉 +2 位作者 汪华龙 徐保平 黄蔚 《计算机应用研究》 CSCD 北大核心 2015年第6期1737-1741,共5页
针对C、C++程序常出现的内存泄漏、内存越界访问、内存的不匹配释放等错误进行了研究,分析了现有的内存错误检测工具和方法,在基于开源的动态二进制插桩框架Pin的基础上,采用函数族的内存信息块管理方法和生命周期法,实现了在Linux平台... 针对C、C++程序常出现的内存泄漏、内存越界访问、内存的不匹配释放等错误进行了研究,分析了现有的内存错误检测工具和方法,在基于开源的动态二进制插桩框架Pin的基础上,采用函数族的内存信息块管理方法和生命周期法,实现了在Linux平台下运行的内存检测工具Mem Guard原型。该原型能有效地检测出内存泄漏、内存越界访问、内存的不匹配释放等问题,并通过与运行在Valgrind上的工具Memcheck的对比实验证明了该原型的有效性以及高效性。 展开更多
关键词 内存泄漏 动态二进制插桩 生命周期 MEM Guard原型 Valgrind
下载PDF
基于二进制程序的动态污点分析技术研究综述 被引量:1
6
作者 黄冬秋 韩毅 +1 位作者 杨佳庚 田志宏 《广州大学学报(自然科学版)》 CAS 2020年第2期57-68,共12页
随着程序变得越来越庞大、难以处理,黑客攻击技术越来越复杂,网络空间安全形势日趋严峻,因此,实施有效的自动漏洞检测技术和相关修补技术以防御零day攻击变得愈发重要.动态污点分析技术是将不受信任来源的输入数据视为污染数据,然后监... 随着程序变得越来越庞大、难以处理,黑客攻击技术越来越复杂,网络空间安全形势日趋严峻,因此,实施有效的自动漏洞检测技术和相关修补技术以防御零day攻击变得愈发重要.动态污点分析技术是将不受信任来源的输入数据视为污染数据,然后监视程序的执行情况以跟踪污染数据传播,并检查污染数据何时被使用.该技术被广泛应用于程序分析、模糊测试、漏洞检测、信息泄露检测、逆向工程和恶意软件分析等安全领域.文章对目前比较流行的动态污点分析框架的研究现状和应用领域进行综述.首先,详细介绍了动态污点分析的支撑技术动态二进制插桩技术、虚拟化技术、虚拟机自省技术和弥合语义鸿沟技术等的基本原理、相关定义、面临的问题与存在的挑战;然后简单介绍动态污点分析技术的技术原理;接着,对比较流行的动态污点分析框架进行调研和分析,根据发展阶段和应用方向将动态污点分析技术划分为进程级动态污点分析技术和全系统级动态污点分析技术,并分别进行详细阐述;最后,简要分析了两类动态污点分析技术的缺点和不足,并展望该技术的研究前景和发展趋势. 展开更多
关键词 动态二进制插桩技术 动态污点分析技术 进程级动态污点分析技术 全系统级动态污点分析技术
下载PDF
基于混合分析的二进制程序控制流图构建方法 被引量:3
7
作者 朱凯龙 陆余良 +2 位作者 黄晖 邓兆琨 邓一杰 《浙江大学学报(工学版)》 EI CAS CSCD 北大核心 2019年第5期829-836,共8页
构建控制流图(CFG)是二进制程序分析的基础工作,针对静态构建方法无法处理间接跳转,动态构建方法效率低、不适用于大规模程序的问题,提出结合静态分析和动态分析的混合分析方法.使用静态分析获得基础的控制流信息;采用模糊测试生成测试... 构建控制流图(CFG)是二进制程序分析的基础工作,针对静态构建方法无法处理间接跳转,动态构建方法效率低、不适用于大规模程序的问题,提出结合静态分析和动态分析的混合分析方法.使用静态分析获得基础的控制流信息;采用模糊测试生成测试用例以进行动态分析,利用动态插桩获得间接跳转信息;融合静态分析和动态分析结果生成控制流图.基于该混合分析方法,设计并实现了面向x86平台二进制程序的控制流图构建工具CFGConstructor.分别在示例程序和CGC数据集上进行实验,评估该工具的有效性和性能.实验结果表明CFGConstructor相比于静态分析能够构建更加完备的控制流图,相比于动态分析分析效率更高,能够适用于大规模程序. 展开更多
关键词 二进制程序分析 控制流图(CFG) 混合分析技术 模糊测试 动态二进制插桩
下载PDF
基于特征字符串动态引用频率的库引用识别
8
作者 蔡建章 魏强 史建忠 《计算机工程与应用》 CSCD 2014年第18期109-112,151,共5页
提出基于特征字符串动态引用频率的程序胎记,分析了其应对编译优化、压缩混淆的能力,设计了其提取算法;通过对库引用问题的分析,提出了其相似性函数,通过实例验证了上述动态程序胎记和相似性函数在分析库引用问题上的有效性。
关键词 程序胎记 库引用识别 相似性函数 动态二进制插桩
下载PDF
基于动态污点分析的栈溢出Crash判定技术 被引量:2
9
作者 张婧 周安民 +3 位作者 刘亮 贾鹏 刘露平 贾丽 《计算机工程》 CAS CSCD 北大核心 2018年第4期168-173,180,共7页
Fuzzing技术和动态符号执行技术以发现程序异常为测试终止条件,却无法进一步评估程序异常的威胁严重等级。为此,阐述用于Crash可利用性分析的3种主要方法。在二进制插桩平台Pin上,提出一种基于动态污点分析技术的Crash可利用性自动化分... Fuzzing技术和动态符号执行技术以发现程序异常为测试终止条件,却无法进一步评估程序异常的威胁严重等级。为此,阐述用于Crash可利用性分析的3种主要方法。在二进制插桩平台Pin上,提出一种基于动态污点分析技术的Crash可利用性自动化分析框架。实验结果表明,该框架能够准确有效地判断Crash的可利用性程度。 展开更多
关键词 软件异常 Crash分析 可利用性判定 动态二进制插桩 动态污点分析
下载PDF
动态容忍和检测非对称数据竞争 被引量:1
10
作者 王文文 武成岗 +4 位作者 Paruj Ratanaworabhan 远翔 王振江 李建军 冯晓兵 《计算机研究与发展》 EI CSCD 北大核心 2014年第8期1748-1763,共16页
非对称数据竞争是数据竞争中一种常见的类型.当一个线程在临界区内访问某个共享变量,另外一个线程在临界区外或不同的临界区内同时也访问这个共享变量时,就触发了非对称数据竞争.多线程程序中的非对称数据竞争往往是有害的.为了解决非... 非对称数据竞争是数据竞争中一种常见的类型.当一个线程在临界区内访问某个共享变量,另外一个线程在临界区外或不同的临界区内同时也访问这个共享变量时,就触发了非对称数据竞争.多线程程序中的非对称数据竞争往往是有害的.为了解决非对称数据竞争引入的问题,提出了ARace.它使用共享变量保护和写缓冲区来动态容忍和检测非对称数据竞争.其中,共享变量保护用于保护临界区内只读和先读后写的共享变量,防止这些变量在临界区外被修改;写缓冲区用于缓存临界区内对共享变量的写操作.ARace不仅可以容忍临界区内和临界区外之间的非对称数据竞争,还可以对并发临界区之间的非对称数据竞争进行检测.ARace既不依赖程序源代码和编译器的支持,也不依赖额外硬件的支持.此外,还提出了一种通过动态二进制插桩技术实现ARace的方法.实验结果表明,ARace在保证容忍和检测非对称数据竞争的同时,并未引入很大的性能开销和内存开销. 展开更多
关键词 非对称数据竞争 容忍和检测 写缓冲区 页保护 动态二进制插桩
下载PDF
基于控制流分析的隐藏代码动态捕获方法
11
作者 刘建林 王震宇 +2 位作者 蒋烈辉 谢耀滨 刘絮颖 《计算机工程》 CAS CSCD 北大核心 2011年第21期23-25,共3页
为获取并分析采用加壳、控制流混淆技术所产生的隐藏代码,提出一种新的隐藏代码动态捕获方法。利用静态控制流分析算法提取动态捕获点,采用动态二进制插桩技术插入监控代码,在程序的执行过程中实现隐藏代码的执行前分析。实验结果证明,... 为获取并分析采用加壳、控制流混淆技术所产生的隐藏代码,提出一种新的隐藏代码动态捕获方法。利用静态控制流分析算法提取动态捕获点,采用动态二进制插桩技术插入监控代码,在程序的执行过程中实现隐藏代码的执行前分析。实验结果证明,该方法能够减少程序插桩点,有效获取并分析可执行程序中的隐藏代码。 展开更多
关键词 隐藏代码 动态捕获 控制流分析 动态二进制插桩 执行前分析
下载PDF
一种基于DBI的ROP攻击检测 被引量:3
12
作者 黄志军 郑滔 《计算机科学》 CSCD 北大核心 2012年第9期120-125,共6页
随着Return-Oriented Programming(ROP)思想的提出,程序安全面临新的挑战。ROP攻击操作粒度细致,特征隐蔽,构造精巧,静态特征稀少,因此传统的安全防御措施很难对之有效。在这种背景下,利用执行时的动态特征去识别、防御ROP攻击变得非常... 随着Return-Oriented Programming(ROP)思想的提出,程序安全面临新的挑战。ROP攻击操作粒度细致,特征隐蔽,构造精巧,静态特征稀少,因此传统的安全防御措施很难对之有效。在这种背景下,利用执行时的动态特征去识别、防御ROP攻击变得非常重要。Dynamic Binary Instrumentation(DBI)技术的引入,为ROP攻击动态特性分析提供了有力的支持。介绍一种利用DBI分析技术识别ROP攻击序列的方法,即通过识别恶意的程序执行流,约束库函数的调用规范,来检测ROP攻击。与此同时,还设计了一套可扩展的程序防御框架,用于检测程序的扩展,由此说明该检测工具的通用性与可扩展性。 展开更多
关键词 ROP 动态二进制插桩 程序安全 特征检测 图灵完备性 程序控制流
下载PDF
基于软件执行轨迹差异比对的关键函数定位技术研究 被引量:2
13
作者 康绯 王乾 +1 位作者 肖亚南 黄荷洁 《通信学报》 EI CSCD 北大核心 2013年第9期177-184,共8页
关键函数是指应用软件在某个运行阶段发挥着关键作用的核心功能函数。对软件中的关键函数进行快速定位是提高逆向分析效率的有效手段。目前,在软件逆向工程领域对关键函数进行定位大多是利用人工分析的方法。利用动态二进制插桩技术,提... 关键函数是指应用软件在某个运行阶段发挥着关键作用的核心功能函数。对软件中的关键函数进行快速定位是提高逆向分析效率的有效手段。目前,在软件逆向工程领域对关键函数进行定位大多是利用人工分析的方法。利用动态二进制插桩技术,提出了一种切实可行的基于软件执行轨迹差异的关键函数自动定位方法。当软件具有2类不同的输入,分别触发、不触发关键函数时,该方法能够快速、准确地识别关键函数。 展开更多
关键词 关键函数 软件执行轨迹 动态二进制插桩
下载PDF
基于数据流分析的网络协议逆向解析技术 被引量:4
14
作者 戴理 舒辉 黄荷洁 《计算机应用》 CSCD 北大核心 2013年第5期1217-1221,共5页
对未知网络协议进行逆向解析在网络安全应用中具有重要的意义。现有的协议逆向解析方法大都存在无法处理加密协议和无法获取协议字段语义信息的问题。针对这一问题,提出并实现了一种基于数据流分析的网络协议解析技术。该技术依托动态... 对未知网络协议进行逆向解析在网络安全应用中具有重要的意义。现有的协议逆向解析方法大都存在无法处理加密协议和无法获取协议字段语义信息的问题。针对这一问题,提出并实现了一种基于数据流分析的网络协议解析技术。该技术依托动态二进制插桩平台Pin下编写的数据流记录插件,以基于数据关联性分析的数据流跟踪技术为基础,对软件使用的网络通信协议进行解析,获取协议的格式信息,以及各个协议字段的语义。实验结果证明,该技术能够正确解析出软件通信的协议格式,并提取出各个字段所对应的程序行为语义,尤其对于加密协议有不错的解析效果,达到了解析网络协议的目的。 展开更多
关键词 数据流分析 网络协议逆向 加密协议解析 动态二进制插桩 协议字段语义
下载PDF
识别恶意软件中的加密函数 被引量:1
15
作者 蔡建章 魏强 祝跃飞 《计算机应用》 CSCD 北大核心 2013年第11期3239-3243,共5页
针对恶意软件通过加密函数规避安全检测和流量分析这一问题,提出了一种识别恶意软件中加密函数的方法。通过识别恶意软件动态执行路径中的循环、循环的输入和输出参数,构建恶意软件的动态循环数据流图,通过循环数据流图提取循环的输入... 针对恶意软件通过加密函数规避安全检测和流量分析这一问题,提出了一种识别恶意软件中加密函数的方法。通过识别恶意软件动态执行路径中的循环、循环的输入和输出参数,构建恶意软件的动态循环数据流图,通过循环数据流图提取循环的输入和输出参数集合,设计已知加密函数的参考实现对循环输入集合中的元素进行运算,判断输出是否能够匹配输出集合中的元素从而识别恶意软件中的加密函数。实验证明此分析方法能够分析严重混淆的恶意软件其传输载荷所采用的加密函数。 展开更多
关键词 加密函数识别 循环的输入和输出参数 循环数据流图 循环输入输出集合 动态二进制插桩
下载PDF
新型电力系统终端通信协议的逆向分析及模糊测试 被引量:2
16
作者 韩嘉佳 孙歆 +2 位作者 吕磅 孙昌华 钱锦 《浙江电力》 2023年第11期57-62,共6页
现有新型电力系统终端大都采用第三方厂商私有协议,难以对其进行解析分析。针对现有新型电力系统终端常用的Modbus协议开展逆向分析解析,基于协议分层的特点,通过从网络报文头部字段提取未知协议的有效字段部分,基于统计N-gram算法对协... 现有新型电力系统终端大都采用第三方厂商私有协议,难以对其进行解析分析。针对现有新型电力系统终端常用的Modbus协议开展逆向分析解析,基于协议分层的特点,通过从网络报文头部字段提取未知协议的有效字段部分,基于统计N-gram算法对协议字段进行分词,利用协议关键词构建Modbus协议状态机。对协议源码编译插桩,通过生成随机测试用例对Modbus服务器端程序进行模糊测试,并对测试崩溃结果进行了分析。实验结果表明,该方法能对新型电力系统终端的私有协议进行快速逆向识别和模糊测试,有较高的实用价值。 展开更多
关键词 新型电力系统终端 协议逆向分析 动态二进制插桩 状态机比对 模糊测试
下载PDF
基于启发式的程序轨迹记录优化方法
17
作者 林伟 祝跃飞 蔡瑞杰 《计算机工程与应用》 CSCD 北大核心 2016年第21期134-139,共6页
离线污点分析的轨迹记录过程的时空开销非常巨大,因此研究高效的轨迹记录方式在离线污点分析中具有重要意义。基于此,针对传统指令级轨迹记录存在的时空开销过大的问题,结合程序重放的思想,提出了一种启发式的轨迹记录方法,只在基本块... 离线污点分析的轨迹记录过程的时空开销非常巨大,因此研究高效的轨迹记录方式在离线污点分析中具有重要意义。基于此,针对传统指令级轨迹记录存在的时空开销过大的问题,结合程序重放的思想,提出了一种启发式的轨迹记录方法,只在基本块和特殊事件发生时记录寄存器变化状态信息,并对该种记录方法的信息等价性进行了理论证明。实验表明,该方法能够有效降低离线污点分析中轨迹记录的时空开销,提高污点分析效率。 展开更多
关键词 启发式 轨迹记录 离线污点分析 动态二进制插桩 轨迹约减
下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部