首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 397 毫秒
1.
随机森林在程序分支混淆中的应用   总被引:1,自引:0,他引:1       下载免费PDF全文
陈喆  贾春福  宗楠  郑万通 《电子学报》2018,46(10):2458-2466
程序中的路径信息在程序执行过程中会被动态地泄露,基于路径敏感技术的逆向工程可自动地收集程序中的条件跳转指令,从而理解程序的内部逻辑.为了缓解路径信息泄露,提出了一种基于随机森林的路径分支混淆方法,将逆向分析路径分支信息的难度等价于抽取随机森林规则的难度.鉴于随机森林分类器可被视为一种黑盒,其内部规则难以被提取且分类过程与路径分支行为相似,因此经过特殊训练的随机森林可以在功能上替代路径分支.将该方法部署于SPECint-2006标准测试集中的6个程序进行实验,实验结果表明该混淆方法有效地保护了路径分支信息,引发的额外开销较低,具有实用性.  相似文献   

2.
耿普  祝跃飞 《电子与信息学报》2020,42(12):2857-2864
针对当前分支混淆方法仅对整数比较分支有效的缺陷,该文分析浮点数二进制表示与大小比较的关系,证明了浮点数二进制区间的前缀集合与浮点数区间内数据之间具有前缀匹配关系。使用哈希函数对前缀集合进行保护,利用哈希函数的单向性实现对抗符号执行,通过哈希值比对替换浮点数比较,提出一种基于前缀哈希值比较的分支条件混淆技术,实现了一种在符号执行对抗和混淆还原对抗上具有较强对抗性的混淆方法。最后,通过实验证和分析,证实了该文提出的混淆方法有消耗小、能够有效对抗符号执行和混淆还原的优点,具备较好的实用性。  相似文献   

3.
徐超  陈勇  葛红美  何炎祥 《电子学报》2016,44(5):1040-1050
能耗是制约便携式智能设备发展的重要瓶颈.随着嵌入式操作系统的广泛应用,因不能合理使用操作系统的API而导致的能耗错误已经成为各种嵌入式应用开发过程中不容忽视的因素.为减少应用中的能耗错误,以符号执行技术为基础,根据禁止休眠类能耗错误的特点,设计了对应的能耗错误检测方法.该方法首先利用过程内分析,获得单个函数的符号执行信息.然后借助过程间分析对单个函数的符号执行信息进行全局综合,得到更为精确的执行开销、锁变量匹配等相关信息,以更好的检测能耗错误.同时,符号执行记录了对应的分支路径信息,利用该信息能够结合约束求解器较为方便的生成出错的测试用例,进而定位错误位置.通过示例和实验,验证了该方法在能耗错误检测方面的可行性和有效性.  相似文献   

4.
为了降低代码混淆路径信息泄露以及提高运算效率,文中提出了一种应用随机森林的代码混淆路径分支技术。以随机森林作为分支混淆算法,经过混淆后的路径条件将被随机森林内部规则所代替。分别对随机森林路径混淆方法开展了效能与安全性评估,结果表明:选择常规逆向分析方法,通过多次运行再求解平均值的方法来得到被混淆程序时间开销,时间开销随着执行次数的增加而增大,bzip2达到了最大开销,对应的被混淆分支执行次数最大。  相似文献   

5.
郭曦  王盼 《电子学报》2019,47(3):630-635
符号执行在路径分析、调试和验证等软件分析过程中发挥着重要的作用.但是随着程序规模的增大,有效的执行路径数量程指数级增长,符号执行技术往往难以有较好的分析效果.符号执行分析中的两个瓶颈问题是路径条件表达式的提取和约束求解.状态合并是目前解决状态爆炸的常用分析方法,但是这种抽象的分析方法往往会导致错误的路径信息.依据符号执行引擎采用的搜索策略,符号执行工具在符号变量状态合并中可能会产生不可解的路径条件.提出基于依赖条件重构的程序符号值分析方法,通过综合分析各路径的路径条件逻辑表达式,提取共享的变量符号值从而提高变量状态合并的效率,同时采用逆向关联分析方法产生依赖条件集合从而提高路径分析的精度.实验结果表明该方法相对于传统的状态合并分析方法有更高的执行效率及分析精度.  相似文献   

6.
汪孙律  杨秋松  李明树 《电子学报》2000,48(12):2417-2424
为了解决符号执行中路径爆炸、新路径发现率低等问题,提出了针对文件格式数据块约束的符号执行分析方法(FFCBSE,File Format Constraint Based Symbolic Execution)优化框架.文件格式信息的缺失会影响符号执行的效率以及测试用例生成,该方法通过分析程序代码自动分析程序读取的格式文件数据块之间的依赖关系并建立相关约束,随后使用这些约束引导符号执行更关注于核心功能代码区域.在KLEE中实现了上述优化框架,并对Tcpdump、Readelf、Elfdump、File、Zlib等7个常用文件处理程序做了检测.和KLEE以及DASE相比,FFCBSE发现了13个之前未知的缺陷,在指令覆盖率和分支覆盖率有10%~225%不同程度的提升.  相似文献   

7.
在移动社交网络中,为保证交友匹配过程中用户的隐私,提出多密钥混淆隐私保护方案.利用代理重加密技术,对用户密钥密文进行重新加密,实现了以扩充交友访问策略条件的交友匹配,并保证密文转换过程中用户的隐私不被泄露;利用随机密文组件加密技术,实现了对真实明文对应加密文件的信息隐藏,提高了攻击者的破解难度;利用数据摘要签名技术,解决了以往方案未考虑的多加密文件对应的文件解密问题.安全和实验分析表明,本文方案可以达到CPA(Chosen Plaintext Attack)安全,可以保证交友用户的隐私不被泄露,并且比既有的方案更有效.  相似文献   

8.
哈希证明系统由Cramer-Shoup在2002年首次提出,到目前为止仍是密码工作者的研究热点之一.进而,Wee在2010年提出可提取哈希证明系统的概念,其可用来构造基于查找性困难假设的公钥加密方案.本文在可提取哈希证明系统之上,通过重新定义系统参数的意义,扩大了可提取哈希证明系统的密码学应用范围.我们利用可提取哈希证明系统的框架构造了一个基本的基于Diffie-Hellman关系的All-But-One可提取哈希证明系统.在此基础上细粒度了辅助输入,引入权重计算,给出了一个基于标签和可变策略的CCA加密方案,并进行了详细的安全性证明.特别的,该方案比可提取具有更丰富的抽象表达,即是All-But-N的,也即在提取模式中由标签决定的分支数量可以有n个.同时,该方案是基于困难性可搜索问题,本质上是基于计算性的Diffie-Hellman问题.  相似文献   

9.
基于路径覆盖的测试方法是软件测试中比较重要的一种测试方法,但程序的路径数量往往呈指数增长,对程序的每一条路径都进行测试覆盖基本上是不可能的。从软件安全测试的观点看,更关心程序中的关键代码区域(调用危险函数的语句、圈复杂度高的函数、循环写内存的代码片断)的执行情况。该文提出了覆盖关键代码区域的测试数据自动生成方法,该方法基于二进制程序,不依赖于源码。通过回溯路径获取所有可达关键代码区域的程序路径,并通过路径引导自动为获得的路径生成相应的测试数据。路径引导策略基于程序的符号执行与实际执行,逐步调整输入,使用约束求解器生成相应的测试用例。理论分析与实验结果显示该文给出的方法可以降低生成测试数据所需要的运行次数,与传统的覆盖路径测试数据生成方法相比,所需要的运行次数显著降低,提高了生成测试数据的效率。  相似文献   

10.
随着软件安全问题的日趋严重,智能Fuzzing技术被广泛应用于漏洞挖掘、软件安全领域.基于符号执行和污点分析技术的各种智能Fuzzing平台相继诞生.该文首先以漏洞安全问题以及软件测试方法学为背景,介绍了智能Fuzzing技术中用到的理论,包括符号执行、污点分析等;然后介绍了现有成型智能Fuzzing平台,包括SAGE、KLEE、BitBlaze等,并且提出它们现存的主要问题;最后通过总结智能Fuzzing平台的可改进之处,提出了一种更有效的智能Fuzzing平台的设计方案,该方案基于全系统的符号执行技术,利用云计算平台进行调度,可以有效应用于商业级软件的Fuzzing工作.  相似文献   

11.
控制流混淆用于混淆程序的运行流程,从而防止对软件的逆向工程,但通常混淆后的程序在代码量以及执行时间方面都有较大增长.针对不透明谓词难抵挡动态攻击这一弱点,提出了利用"垃圾代码"进行控制流混淆的思路,采用分支垃圾代码和循环垃圾代码算法相结合,并引入了Hash函数以限制代码的插入操作,从而控制代码长度的增长.实验结果表明,该混淆算法能够有效地控制混淆转换带来的性能过载,同时能够有效地防止逆向工程攻击.  相似文献   

12.
孙喁喁 《电子设计工程》2012,20(18):21-23,27
对于软件安全及其知识产权问题,软件保护技术的应用是非常必要的。利用软件保护中的迷惑技术,提出了基于随机数的复杂控制流程序迷惑算法,该算法同样适用于分支结构和循环结构的程序中。在保持程序功能的同时,增加了静态分析的难度,程序中拥有的方法越多,其静态分析的代价越大。该迷惑方案适用于面向对象程序。  相似文献   

13.
An obfuscator is a compiler that transforms any program (which we will view in this work as a boolean circuit) into an obfuscated program (also a circuit) that has the same input-output functionality as the original program, but is “unintelligible”. Obfuscation has applications for cryptography and for software protection. Barak et al. (CRYPTO 2001, pp. 1–18, 2001) initiated a theoretical study of obfuscation, which focused on black-box obfuscation, where the obfuscated circuit should leak no information except for its (black-box) input-output functionality. A family of functionalities that cannot be obfuscated was demonstrated. Subsequent research has showed further negative results as well as positive results for obfuscating very specific families of circuits, all with respect to black box obfuscation. This work is a study of a new notion of obfuscation, which we call best-possible obfuscation. Best possible obfuscation makes the relaxed requirement that the obfuscated program leaks as little information as any other program with the same functionality (and of similar size). In particular, this definition allows the program to leak information that cannot be obtained from a black box. Best-possible obfuscation guarantees that any information that is not hidden by the obfuscated program is also not hidden by any other similar-size program computing the same functionality, and thus the obfuscation is (literally) the best possible. In this work we study best-possible obfuscation and its relationship to previously studied definitions. Our main results are: (1) A separation between black-box and best-possible obfuscation. We show a natural obfuscation task that can be achieved under the best-possible definition, but cannot be achieved under the black-box definition. (2) A hardness result for best-possible obfuscation, showing that strong (information-theoretic) best-possible obfuscation implies a collapse in the Polynomial-Time Hierarchy. (3) An impossibility result for efficient best-possible (and black-box) obfuscation in the presence of random oracles. This impossibility result uses a random oracle to construct hard-to-obfuscate circuits, and thus it does not imply impossibility in the standard model.  相似文献   

14.
软件盗版、篡改和逆向工程是软件安全的主要威胁。逆向工程师利用逆向分析技术可以理解软件的行为,并从中提取核心算法和重要数据结构。针对目前大部分的混淆方法难以抵御动态攻击的缺点,文中提出一种基于控制流图多样化的代码混淆方法。实验结果表明,该方法不仅能够有效降低静态反汇编分析准度,同时能够在一个合理的性能开销之内增加动态逆向分析的难度,从而使混淆后的程序具有更高的安全性。  相似文献   

15.
A two stage detection approach which combine application’s UI and program code based on the observation that repackaging applications merely modify the structure of their user interface was proposed.Firstly,a fast hash similarity detection technique based on an abstracted representation of UI to identify the potential visual-similar repackaging applications was designed.Secondly,program dependency graph is used to represent as the feature of app to achieve fine-grained and precise code clone detection.A prototype system,SPRD,was implemented based on the proposed approach.Experimental results show that the proposed approach achieves a good performance in both scalability and accuracy,and can be effectively applied in millions of applications and billions of code detection.  相似文献   

16.
朱宁龙  戴紫彬  张立朝  赵峰 《微电子学》2015,45(6):777-780, 784
针对当前国内外杂凑算法标准和应用需求不同的现状,采用数据流可重构的设计思想和方法,在对SM3及SHA-2系列杂凑算法的不同特征进行分析研究的基础上,总结归纳出统一的处理模型,进而设计了一种新的硬件结构。基于该结构,根据不同环境对杂凑算法安全强度的不同要求,可以单独灵活地实现SM3,SHA-256,SHA-384及SHA-512算法。实验结果表明,设计的硬件电路有效降低了硬件资源消耗,提高了系统吞吐率,能够满足国内外商用杂凑算法的要求。  相似文献   

17.
Even though much work has been done in developing models to design diagnostic tests for fault isolation in electronic systems, there is still a lack of efficient, fast procedures. A new approach to the cost-effective design of fault isolation procedures is investigated. It is oriented specifically toward built-in-test (BIT) diagnostic subsystems for modular electronic equipment. The problem is formulated as a search tree. A branch and bound technique is used to find the optimal sequence of tests for the automatic BIT diagnostic to isolate a single malfunctioned unit among a group of Line Replaceable Units (LRUs). Dominance and branching rules are developed, and the algorithm is presented. An example problem is solved to illustrate the efficiency of the branch and bound algorithm. Computational results are given and discussed. The following conclusions can be drawn. 1. The branch and bound approach can be used successfully in designing a cost-effective fault-isolation procedure. Because of the branching and dominance rules, many of the non-optimal solutions are eliminated early in the solution procedure which could efficiently reduce the size of the required search tree, as well as the time and storage needed to find the optimal solution. 2. The proposed branch and bound algorithm is efficient in solving problems of size up to eight LRUs. 3. Even though the size of problems solved efficiently by the algorithm is limited to eight LRUs, this size is still greater than the size of any problem reported to be solved optimally in any previous work.  相似文献   

18.
This paper considers iterated hash functions. It proposes new constructions of fast and secure compression functions with nl-bit outputs for integers n>1 based on error-correcting codes and secure compression functions with l-bit outputs. This leads to simple and practical hash function constructions based on block ciphers such as the Data Encryption Standard (DES), where the key size is slightly smaller than the block size; IDEA, where the key size is twice the block size; Advanced Encryption Standard (AES), with a variable key size; and to MD4-like hash functions. Under reasonable assumptions about the underlying compression function and/or block cipher, it is proved that the new hash functions are collision resistant. More precisely, a lower bound is shown on the number of operations to find a collision as a function of the strength of the underlying compression function. Moreover, some new attacks are presented that essentially match the presented lower bounds. The constructions allow for a large degree of internal parallelism. The limits of this approach are studied in relation to bounds derived in coding theory.  相似文献   

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

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

京公网安备 11010802026262号