动态函数调用分析及其在内核模块逆向工程的应用

被引量 : 0次 | 上传用户:shilin00100
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件规模的增大、恶意代码的肆意扩大,因而对软件的函数调用分析以及对软件的逆向工程显得尤为重要。目前多数的函数调用分析工具是针对已知源码的静态或动态分析,无法分析函数指针、系统启动过程和可加载模块以及没有源代码的软件,目前软件的逆向工程实现也多数为半自动的。于是本文将利用动态函数调用分析来实现对内核可加载模块自动的逆向工程实现。本文通过分析已有函数调用图生成工具的优缺点,提出了基于内核跟踪的动态函数调用图生成方法,并开发了基于内核跟踪的动态函数调用图生成工具杄权杇札杒杔杌木杤杹杮条杭杩杣杣条杬杬杧杲条杰杨杢条杳来杤杯杮杒杔杌本简称为杄权杇札杒杔杌朩。杄权杇札杒杔杌是在杳朲来模拟器中运行待跟踪目标内核和模块,通过函数调用指令捕获插件以及函数名解析插件来记录运行时的函数调用和返回相关信息,同时利用杬杩杮杵杸的杫条杬杬杳杹杭机制获取可加载模块的相关信息。进一步利用函数调用和返回时间计算出每个函数自身运行花费的时间,最后把动态和静态的函数调用关系使用开源软件杬杸杲在杷来杢浏览器中展示出来。因此杄权杇札杒杔杌生成的函数调用图包含静态、动态以及函数执行时间,同时该图还附着了源码路径相关信息即通过函数调用图上的链接可以方便跳转到源代码所在地。通过对文件读写函数指针以及内核可加载模块的函数调用分析,分析结果表明杄权杇札杒杔杌具有较好的全面性和准确性。利用杄权杇札杒杔杌获取跟踪信息,提取动态函数调用关系,并根据杫条杬杬杳杹杭机制获取的模块加载后在内存中的起始位置和大小,筛选出隶属于可加载模块的函数调用。其后根据这些动态函数调用分析确定加载模块二进制代码的切片划分,再利用反编译引擎对切片后的每段二进制代码进行反汇编,得到每段的汇编代码,最后根据汇编代码编译的格式要求填补相应的信息,并对汇编代码进行整理汇集。并对已知源码的内核可加载模块进行了逆向工程的实验,实验结果表明本文方法的可行性。
其他文献
我国的人均汽车保有量已经悄然接近世界的一半,未来市场前景潜力无限。但是我国整车企业目前面临诸多挑战,其中之一就是对零部件供应商的选择方法的确定。中国大多整车企业在面
在当前全球化的时代背景下,软实力的较量已成为国家之间综合国力竞争的重要方面,而文化创意产业的发展程度已成为衡量国家综合国力强弱的重要标志之一。近年来,文化创意产业因其
自从第一辆汽车被生产出来,汽车在交通运输行业起着举足轻重的作用,为社会的稳定进步与经济的快速发展奠定了基础。传统的燃油汽车需要消耗大量的石油资源,目前全球各地石油资源
民主始于选举,扩大公民有序政治参与已经成为当前我国民主政治建设的重大课题。农村基层民主是我国民主政治建设和发展的重要组成部分。当前的农村基层民主建设在《村民委员会
聚偏氟乙烯(PVDF)因突出的化学、机械和热稳定性等功能性而广泛用于膜材料制备,但由于其较低的表面能、强疏水性导致在膜分离过程中容易产生膜污染,限制了其进一步的发展应用。
在现代经济中,物流己成为降低物质消耗、提高劳动生产率以外的“第三利润源泉”。鲜活农产品物流是现代物流的重要组成部分,涉及到农业产业化及农业现代化、生产者和消费者根本
从1958年德州仪器和仙童公司各自发明了全球第一块集成电路(IC),到今天半导体元件无时无刻的服务于我们。几十年的时间,全球的半导体产业发展迅猛,产值已增长到3000亿美元。半导
自润滑关节轴承是航空设备的关键部件之一,当前航空用精密级产品主要依赖进口,其技术瓶颈为内外圈成形装配工艺。该文基于非接触定向模压工艺原理,提出了整体式外圈自润滑关
灾害风险管理的核心任务就是要明确“怎样的安全才是安全”,而目前灾害可接受风险研究十分薄弱,且灾害风险评估结果并没有真正被纳入到风险管理决策中,其中的原因就包括:缺乏灾害
电气工业是一个对专业人才需求旺盛的工业分支,包含了强电和弱电两大主要的类别。电机工程学作为强电领域的代表性课程分支,具有知识密集的特点。中国电气工业经过了一百余年的