首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 203 毫秒
1.
考虑到Handler序列为逆向分析者的重点攻击对象。针对Handler指令序列的内存转储分析以及起始和终止点的断点分析,提出一种基于虚拟机Handler动态加解密的软件保护方法,在基于虚拟机的软件保护方法上,增加加密和解密代码模块,并将所有Handler进行加密保存。当程序执行到某个Handler时,先将加密过的Handler进行解密并执行,执行完成后再次对其进行加密,直到所有Handler序列执行结束。实验和分析表明:该方法能够有效防止攻击者对于Handler的起始和终止位置进行断点调试分析和内存转储分析。  相似文献   

2.
针对静动态逆向分析容易获取程序内部核心代码的问题,提出一种基于ROP技术的代码混淆方法。借鉴ROP攻击技术的代码组织和调用方式,利用内存空间随机分布的gadget指令序列执行目标代码的等价功能,实现隐藏目标代码和抵抗逆向分析的目的。从有效性、时间开销和空间开销三个方面评价方法的性能,分析和实验表明,该方法能够有效增加攻击者静动态获取和分析目标代码的难度,具有较好的时间和空间开销性能。  相似文献   

3.
潘雁  祝跃飞  林伟 《软件学报》2019,30(6):1778-1792
软件程序是按一定顺序排列的指令序列,指令的排列组合构成了千变万化的程序语义.指令顺序重排通常会相应地导致程序语义的变化,通过分析相邻指令序列的相对独立性,可以在不影响程序语义的前提下交换相邻指令序列,增大指令距离,改变程序特征,在一定程度上增加逆向分析代价.通过改进程序的形式化定义论证相邻指令交换的充分条件,采用模拟退火算法实现随机化的指令乱序混淆方法,并将指令乱序方法与虚拟机代码保护技术融合,实现基于指令乱序的虚拟机代码保护系统IS-VMP,使用加密算法实例进行系统测试,验证了指令乱序混淆算法的可行性与有效性.  相似文献   

4.
反静态反汇编技术研究   总被引:2,自引:0,他引:2  
通过对软件可执行二进制码的静态反汇编结果进行分析,可以对其进行非法的修改或窃取其知识产权。为了防范这种情况,在描述静态反汇编基本算法的基础上,提出了分支函数和跳转表欺骗两种隐藏程序控制流的反静态反汇编技术。这两种技术能够隐藏程序中跳转指令的真实目标地址,并能够伪造出导致静态反汇编器出错的假目标地址,从而提高程序的反静态反汇编性能,增加软件分析的难度。  相似文献   

5.
针对传统的基于垃圾指令插入的花指令技术在软件保护应用中的不足,提出了一种基于自封闭代码块的软件反静态分析和动态调试的软件保护技术。重点介绍了自封闭代码块的相关概念,阐述了自封闭代码块的自动生成技术,包括基于指令编码表的随机指令序列生成技术和基于指令逆向思想的逆指令序列生成技术,并给出了相关算法和实例分析。  相似文献   

6.
未经处理的传统二进制可执行代码容易遭到静态分析、动态分析、逆向工程和篡改等恶意攻击。进程级虚拟机软件技术近年来被用于软件保护领域。本文描述一种新颖的进程级软件保护虚拟机指令解释器方案,该方案使用自定义的SEH(Structured Exception Handling,结构化异常处理)控制虚拟指令的获取。结果表明,该方案为虚拟机中其他保护手段提供了平台,并能在现有基础上增加逆向分析的难度。  相似文献   

7.
基于自封闭代码块的软件保护技术   总被引:1,自引:0,他引:1  
针对传统的基于垃圾指令插入的花指令技术在软件保护应用中的不足,提出了一种基于自封闭代码块的软件反静态分析和动态调试的软件保护技术.重点介绍了自封闭代码块的相关概念,阐述了自封闭代码块的自动生成技术,包括基于指令编码表的随机指令序列生成技术和基于指令逆向思想的逆指令序列生成技术,并给出了相关算法和实例分析.  相似文献   

8.
针对虚拟机框架不同模块连接之间的强固定性,提出一种基于图变换的虚拟机保护增强方法;首先将虚拟机结构框图转换为有向完全图,然后运用多重等价变换策略对完全图中节点模块进行等价变形,最后运用多样化虚拟机对不同节点模块进行嵌套保护;采用了混沌不透明谓词,跳转表和指令等价规则等关键技术实现了原型系统,通过实验验证了系统的可行性和方法的有效性.  相似文献   

9.
尚利宏  田冰 《计算机应用》2007,27(8):1991-1993
介绍了在SystemC的系统级建模与验证环境中,使用SCV实现用于MIPS指令集指令随机生成的工具。该随机指令生成工具包括静态生成与动态生成两种工作模式。并针对随机指令生成中会遇到的数据访问越界、分支/跳转地址越界等问题提出了解决办法。此外还研究了针对流水线冲突进行验证的方法。  相似文献   

10.
由于虚拟机采用虚拟化技术和代码混淆技术,采用传统的逆向分析方法还原被虚拟机保护的算法时存在较大困难。为此,提出一种基于动态数据流分析的虚拟机保护破解方法。以动态二进制插桩平台Pin作为支撑,跟踪记录被虚拟机保护的算法在动态执行过程中的数据流信息,对记录的数据流信息进行整理分析,获取虚拟机指令的解释执行轨迹,还原程序的控制流图,根据轨迹信息对数据生成过程进行分层次、分阶段还原,并由分析人员结合控制流图和数据生成过程进行算法重构。实验结果证明,该方法能够正确还原程序的控制流和数据生成过程,辅助分析人员完成被保护算法的重构。  相似文献   

11.
基于linux内核发展的KVM虚拟机解决方案的应用日益广泛,为减少虚拟客户机运行过程中的地址空间转换开销,本文提出了一种利用基于Intel-VT技术的EPT页表进行地址转换的优化方法,并经实验证实了该优化方法的有效性。  相似文献   

12.
云环境下的虚拟化技术,给用户带来了一些数据和隐私安全问题.针对云环境中虚拟机单一性、同质性和静态性等问题,文章提出一种云环境下面向拟态防御的反馈控制方法.该方法以云中虚拟机为基础,利用拟态防御技术对虚拟机进行拟态化封装,通过反馈控制架构对其实现闭环负反馈控制,并基于异构虚拟机动态轮换改变执行环境,保证虚拟机系统环境的随...  相似文献   

13.
云计算以其按需索取、按需付费、无需预先投资的优势给用户带来极大的便利,然而静态、单一的云计算环境容易成为网络攻击的目标,给用户带来较大的安全风险。动态的虚拟机部署策略和异构的云基础设施在提升云计算环境安全性的同时会降低资源利用率。提出一种针对虚拟机轮换时的资源分配算法,将不同类型的资源抽象成维度不同的向量,并通过求解装箱问题实现资源分配中的负载平衡,同时为每个虚拟机设定驻留时间,对当前服务器的负载状态进行轮换以提升虚拟机的安全性。实验结果表明,资源动态分配算法在提高虚拟机安全性能的同时,能够减小轮换带来的负载波动。  相似文献   

14.
Recovery of jump table case statements from binary code   总被引:7,自引:0,他引:7  
One of the fundamental problems with the static analysis of binary (executable) code is that of recognizing, in a machine-independent way, the target addresses of n-conditional branches implemented via a jump table. Without these addresses, the decoding of the machine instructions for a given procedure is incomplete, leading to imprecise analysis of the code.

In this paper we present a technique for recovering jump tables and their target addresses in a machine and compiler independent way. The technique is based on slicing and copy propagation. The assembly code of a procedure that contains an indexed jump is transformed into a normal form which allows us to determine where the jump table is located and what information it contains (e.g. offsets from the table or absolute addresses).

The presented technique has been implemented and tested on SPARC and Pentium code generated by C, C++, Fortran and Pascal compilers. Our tests show that up to 89% more of the code in a text segment can be found by using this technique, when compared against the standard method of decoding. The technique was developed as part of our retargetable binary translation framework UQBT; however, it is also suitable for other binary-manipulation and analysis tools such as binary profilers, instrumentors and decompilers.  相似文献   


15.
针对虚拟机模块连接安全性较弱的问题,提出一种多维防御混合的虚拟机保护安全性增强方法。首先融合ROP、指令重叠和指令自修改技术对虚拟机框架模块连接指令序列进行隐蔽性混淆,然后运用基于多样化和随机化技术构造的混淆指令网络提升指令序列复杂性,最后采用哨兵集和三线程保护技术完成模块连接指令序列的防篡改。采用了不透明谓词,随机选...  相似文献   

16.
代伟  刘智  刘益和 《计算机应用》2015,35(2):424-429
针对传统函数指针攻击检测技术无法检测面向返回编程(ROP)攻击的问题,提出了一种基于跳转地址完整性检查的新方法,在二进制代码层面能够检测多种类型的函数指针攻击。首先,通过静态分析得到函数地址信息,然后动态检查跳转目标地址是否位于合法函数区间。分析了非入口点跳转,提出一种动静结合方法检测ROP攻击。基于二进制代码插桩工具实现原型系统fpcheck,对真实攻击和正常程序进行了测试。实验结果表明fpcheck能够检测包括ROP在内的多种函数指针攻击,通过准确的检测策略,误报率显著下降,性能损失相比原始插桩仅升高10%~20%。  相似文献   

17.
IA-64二进制代码switch语句恢复技术研究   总被引:1,自引:1,他引:0  
在对IA-64二进制代码进行分析的过程中,一个基本的问题就是识别通过跳转表实现的switch语句中n-条件分支的目标地址,该问题的解决使得对指定过程的机器指令的解码更加完整。文章基于切片和表达式置换技术,结合IA-64中为switch语句生成的汇编代码特点,给出了恢复跳转表及目标地址的方法,从而可以将包含跳转表的IA-64二进制代码恢复为高级switch语句。  相似文献   

18.
针对使用C后端的静态二进制翻译框架,提出了间接调用动态链接库函数恢复方法。该方法使用伪地址来代替需要动态解析的动态链接库函数的地址,在后端构建了伪地址与目标机上动态链接库函数地址的对应表,在后端C代码生成过程中插入根据伪地址获得动态链接库函数地址的查表代码,使用查表得到的库函数地址恢复对于动态链接库函数的间接调用。  相似文献   

19.
针对闪存存储器NorFlash而言,其功能验证与参数测试主要依赖于集成电路自动测试机(Automatic Test Equipment,ATE),采用ATE进行测试程序开发时存在测试向量编写困难、测试程序编写流程复杂、ATE机时占用时间长等不足,通过研制一款基于可变静态存储控制器(Flexible Static Memory Controller ,FSMC)技术的NorFlash功能验证装置,在功能验证时可以实现NorFlsah测试向量的地址动态递增和数据动态添加,时序设置简单,从而减少开发周期和难度,同时释放ATE机时占用;并且可广泛外接各类型高精度源表设备进行部分交直流参数的测试;在板级模拟NorFlsah实际工作条件进行验证测试所得到的功能验证效果与测试数据均符合芯片手册要求,为后续此类存储芯片的选用与评估提供可靠的试验支撑。  相似文献   

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

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