数据的机密性是云存储环境下的难点问题,基于密文的访问控制技术是解决该问题的重要思路,在目前的基于密文的访问控制技术中,数据的高安全需求和频繁的策略更新使得数据拥有者(data owner,DO)端的权限更新代价过高,进而严重制约了系统的整体效率.针对此问题,提出一种适用于云存储动态策略的密文访问控制方法(cryptographic access control strategy for dynamic policy,CACDP),该方法提出了一种基于二叉Trie树的密钥管理机制,在此基础之上利用基于ELGamal的代理重加密机制和双层加密策略,将密钥和数据更新的部分开销转移到云端以减少DO权限管理负担,提高DO的处理效率.最后通过实验验证了该方案有效降低了策略更新为DO带来的性能开销.
针对现有二进制程序同源性判别方法受限于特定编程语言或环境、难以应对复杂的代码混淆攻击、易受依赖库影响等问题,提出了一种基于内存对象访问序列动态胎记(dynamic birthmarks based on memory object access sequences, DBMOAS)的程序同源性判别方法。该方法将程序对数据结构的访问顺序流作为程序语义的一种鲁棒性特征并加以分析,能较好地应对复杂的代码混淆攻击;基于动态污点分析,表征程序的数据结构,解决了二进制程序缺少数据结构与类型的语义表示问题。为验证DBMOAS方法的可信性和弹性,在窗口大小取值不同的情况下,测试具有相似功能的独立程序间的相似度;针对不同编译器、编译选项、混淆方法、版本迭代产生的同源样本,测试程序间的相似度。实验结果表明,本文方法能有效判别程序间的同源性,可信性评估中误判率仅为6. 7%,弹性评估中无漏判情况。
基于覆盖率的错误定位(Coverage Based Fault Localization,CBFL)方法旨在通过分析程序执行的结果预测错误信息,是一种行之有效的错误定位方法.然而,CBFL方法中代码覆盖率的独立统计忽略了程序内存在的复杂控制依赖和数据依赖,从而忽视了语句间的语义关系,影响错误定位的准确性.该文借助实例重点分析了基于代码覆盖率所得到的错误可疑度与错误代码的表现关系,指出现有CBFL方法的不足是片面地将基于覆盖率的错误可疑度直接作为错误代码判定的依据;提出程序失效规则及基于覆盖向量的覆盖信息分析模型,并在此模型基础之上,指出高可疑代码与错误代码在执行路径上的覆盖一致性,进而提出用以挖掘与高可疑代码相关联的错误代码的频繁集求解方法.以SIR基准程序为实验对象建立的受控实验结果表明,相比之前的研究,文中方法在一定程度上能够改进错误定位结果.