对MSIL代码和本地代码的保护算法及实现

来源 :华东师范大学 | 被引量 : 0次 | 上传用户:lwt159
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机软件是一种极易复制篡改的特殊商品,加上各种政治经济和文化的原因,使得目前对于软件的知识产权保护十分薄弱,本文提出了几种技术手段,力图在技术上提高对软件知识产权的保护力度。 本文首先列举了目前存在的保护技术,包括硬件辅助的软件保护技术,加壳技术,代码混淆技术,软件水印技术,防篡改技术等等。 在此基础上本文提出了3个自己的保护算法:基于自动机的指令自修改技术:ABSMC(automata based self modifv code)技术是对传统的混淆技术的一种改进;自适应动态图水印技术:SADGW(Self Adaptive Dynamic Graph Watermarks)是对动态图水印技术的发展;超粒度混杂技术:HGI(Hyper Granularity Immingling)和基于瘦虚拟机的指令集交替技术:TVMBISA(thin virtual machine based instruction set alternation)是对传统的加壳技术的一种改进。并且本文在提出这些算法后,分析说明了这些算法在保证运行效率的情况下,能大大提高了目标软件的安全性。 ABSMC技术的基本思想是,在目标软件中插入许多会随着程序的运行而发生改变的代码(使用自动机控制代码的变化),由于很多代码都是在程序运行的时候动态生成的,所以攻击者很难从静态代码直接得到目标软件的意图,也就是说本技术能有效的防止攻击者的静态分析,并且在一定程度上能减缓攻击者的动态调试的进行,所以比过去的混淆技术在安全性方面有很大的提高。 SADGW技术是根据以往针对动态图水印技术的各种攻击方法,而提出的改进方案。自适应动态图水印技术分析目标软件的数据结构,然后提取出一部分放到水印中去,然后对使用这部分数据结构的代码进行混淆。这样攻击者对目标软件中的水印修改的时候,就会造成目标软件的数据结构被修改,最终导致目标软件运行失败。 HGI技术是对本地代码进行保护的,它通过高安全性的加密算法,对目标软件进行分割加密,保证内存中只有一块是明文的表示形式。并且各个块之间都要进行校验,所以大大提高了攻击者的攻击难度。而TVMBISA在HGI的基础上,利用瘦虚拟机在保证安全行的前提下,大大提高了运行效率。 本文实现了一个可扩展的保护系统:FisherProtector,用于对目标代码进行保护。本系统包括反汇编,反编译,用户要求控制,各种保护插件(每种插件是一种保护算法的实现)。通过本系统不但为本文的算法提供了实践的平台,并且以后的各种算法,只要符合本文提出的接口标准,都可以借助本系统运行,省去了很多重复性的工作。本系统由多种语言协同开发而成,对于托管代码主要由C#与MSIL汇编生成的程序处理,而本地代码主要由C++生成的程序处理。目前虽然本系统仅仅支持最核心的指令,但是对特定软件的执行结果证明了本系统的有用性和可靠性。 最后本文借助微软的测试工具(AHC和LCSC Managed Code Benchmark)证明了,本文实现的各种保护插件在运行时间,保护强度上都是符合原来的设计要求的。
其他文献
为研究不同干燥方式对苜蓿超微粉物化特性及抗氧化活性的影响,以苜蓿超微粉总色差为指标,采用正交实验法,确定苜蓿超微粉的最佳护色方法,优化热风干燥工艺参数;通过测定苜蓿超微粉
目的:观察Ⅰ型胶原海绵吸附自体骨髓基质细胞对膝关节软骨缺损的修复情况.方法: 12只新西兰大白兔取骨髓,体外扩增骨髓基质细胞 , 双膝关节随机分成实验组、对照组,实验组用
红外系统对目标进行搜索与探测时,对连续变焦光学系统的需求日益增强,其中一个措施就是改变两个或两个以上透镜在光学系统中的位置,从而改变光学系统的焦距。根据某中波红外
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
<正> 1、处方:菟丝子15克,女贞子、何首乌各12克,当归、旱莲草、白芍各10克,生熟地各15克,阿胶、枸杞各9克,水煎服。疗效:治疗53例,痊愈27例,显效20例,有效6例。病例:孔x,女,
目的:探讨食管心脏调搏终止阵发性室上性心动过速的疗效及安全性、耐受性。方法:将我院急诊就诊或住院的阵发性室上性心动过速患者100例随机分为两组各50例,一组采用食管心脏