首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 175 毫秒
1.
代码迷惑是一种以增加理解难度为目的的代码变换技术,主要来保护软件免遭逆向分析。恶意代码的作者为了躲避检测经常采用代码迷惑技术对程序进行转换。但是商用反病毒软件采用基于特征码的模式匹配技术而忽略了恶意代码的语义,因此最容易受到代码迷惑或病毒变种的攻击。文章中提出一种基于语义匹配的检测算法,能准确的检测出经过代码迷惑处理的恶意代码。该方法应用数据流分析技术,以变量定义使用链为单元检测每个模板及程序节点。最后通过部分实验展示了原型系统的检测效果。  相似文献   

2.
代码迷惑(保护程序的一种手段)通过增加程序的分析理解难度来阻止攻击者对代码进行有用的窜改。从攻击视角指出,盲目采用代码迷惑并不能有效增强程序安全性,而根据攻击模型,从多个角度综合运用各种码迷惑方法将能有效提高程序安全。随后建立攻击模型,将攻击描述为一个不断提取程序信息并据此分析具体语义,进而通过抽象和判断获取抽象语义的过程,并从攻击各层面出发引入相应的代码迷惑方法,进而保护代码安全。  相似文献   

3.
基于多分支语句的控制流迷惑技术   总被引:1,自引:0,他引:1  
控制流速惑是代码迷惑的一个重要方面.程序控制流分为过程内控制流及过程间控制流.本文提出了一种基于switch_case语句的控制流迷惑技术;首先给出一种基于switch语句的程序变换方法,使得过程内的控制流关系变得复杂,同时利用switch语句对整个程序中的函数进行重新定义,从而迷惑程序中的函数调用关系,以达到迷惑过程间控制流信息的目的.最后表文定性地分析了这种代码迷惑技术的性能.  相似文献   

4.
基于抽象解释的代码迷惑有效性比较框架   总被引:8,自引:0,他引:8  
高鹰  陈意云 《计算机学报》2007,30(5):806-814
代码迷惑是一种以增加理解难度为目的的程序变换技术,用来保护软件免遭逆向剖析.代码迷惑是否有效是代码迷惑研究中首要解决的问题.目前对有效性证明的研究大都是基于非语义的方式.文章将语义与有效性证明联系起来,建立了基于语义的代码迷惑有效性比较框架,该框架能够为迷惑算法在静态分析这样的限定环境下提供有效性证明,而且也能严格比较迷惑算法之间的有效性,最后使用实例描述比较框架如何应用到证明代码迷惑的有效性.  相似文献   

5.
为了提高软件的安全性,常使攻击者难以理解专利软件系统内部的工作机制,代码迷惑技术因其代价低廉而越来越受到人们的重视。代码迷惑技术的提出对于软件保护具有非常重要的意义,代码迷惑技术的使用可以对程序代码及核心算法进行保护。简要概述了代码迷惑技术基本内容,阐述了基本块和流图的相关知识,给出了可归约流图变换为不可归约流图的迷惑变换具体的算法及实验结果,并对算法的有效性进行了分析。  相似文献   

6.
代码迷惑是软件防盗版、篡改和逆向工程的有效方法,但以前的代码迷惑技术多数缺乏理论依据,使得其保护效果不是十分明确.该文给出插入死代码和改变控制流两种迷惑技术,提出了新的代码迷惑模型,并利用NP-complete问题从理论上证明其可行性.最后,通过实例分析表明该模型具有很好的保护效果.  相似文献   

7.
代码迷惑可以使恶意代码绕过基于特征匹配的恶意代码检测器的检测.本文利用抽象解释理论,从程序语义的角度对高鹰等人提出的基于语义的恶意代码检测算法处理代码迷惑的能力进行了分析.在对该算法形式化描述的基础上,建立了一个与其等价的基于迹语义的检测器,并通过证明基于迹语义的检测器对于保持变体关系的代码迷惑算法的谕示可靠性和谕示完备性,从理论上阐述了高鹰等人的恶意代码检测算法的谕示可靠性和谕示完备性.  相似文献   

8.
付剑晶  王珂 《软件学报》2013,24(4):730-748
为了方便程序员比较多种迷惑变换方案的优劣,提出了一种量化评价迷惑变换鲁棒性的方法.该方法从软件复杂度变化与代码功能模糊性两个相对独立的层面来刻画迷惑变换导致的鲁棒性.首先,从系统的复杂性与信息的多样性角度建立软件系统复杂度模型,模型包含软件结构、信息流、分支、循环以及元素的嵌套层次,力求从复杂性层面更准确地反映变换对软件的保护;之后,为量化描述迷惑变换的功能模糊度,根据专家指标评分法建立单种迷惑变换模糊度模型,在此基础上建立多种迷惑变换复合模糊度模型;然后,阐述了如何联合所提出的模型实现对单种迷惑变换技术有效性判定与多种迷惑方案的选优,也给出了模型的实现算法及一些示例;最后,通过实例仿真详细展示了模型的工作过程.  相似文献   

9.
目前代码迷惑技术已经成为构造恶意软件变体的主要方式,大量出现的病毒变体使得传统基于程序文本特征的病毒排查工具的防护作用大大降低.本文提出一种新的基于语义的恶意软件变体判定框架,为了确定一个程序是否是某种恶意软件的变体:首先基于符号执行收集程序语义状态,然后通过证明语义之间是否满足变体关系来确定该程序是否是恶意软件的变体.本框架能够识别经代码迷惑变换后得到的程序是属于变换前程序的变体,从而可以减少对病毒数据库的更新.最后,通过一个实现了该框架的原型系统来说明基于语义的恶意软件判定器框架的可行性.  相似文献   

10.
提升多维特征检测迷惑恶意代码   总被引:1,自引:0,他引:1  
针对迷惑恶意代码识别率较低的问题,提出一种基于提升多维特征的迷惑恶意代码检测算法.该算法在对迷惑恶意代码反汇编后进行静态分析,从Opcode分布序列,调用流图特征、系统调用序列图这3个特征维度对恶意代码家族特征进行归纳和分析,结合统计和语义结构特征表现恶意代码"行为"特性,从而对分类结果加权投票后给出迷惑恶意代码家族判...  相似文献   

11.
针对控制流混淆和数据混淆会引入额外开销的问题,提出4种标识符重命名算法,包括滥用标识符算法、重载无关联方法算法、非法标识符代替合法标识符算法以及重写静态方法算法,以这4种算法为核心技术构造Java混淆器JIRO,对JIRO的性能进行初步分析,结果表明,JIRO具有较好的混淆效果,不会引入额外的字节码执行开销。  相似文献   

12.
代码混淆可有效对抗逆向工程等各类 MATE 攻击威胁,作为攻击缓和性质的内生安全技术发展较为成熟,对代码混淆效果的合理度量具有重要价值。代码混淆度量研究相对较少,针对代码混淆弹性的度量方法与泛化性、实用性度量方法相对缺乏。符号执行技术广泛应用于反混淆攻击,其生成遍历程序完整路径输入测试集的难度可为混淆弹性度量提供参考,然而基于程序嵌套结构的对抗技术可显著降低符号执行效率,增加其混淆弹性参考误差。针对上述问题,提出结合符号执行技术和N-scope复杂度的代码混淆度量方法,该方法首先基于程序符号执行时间定义程序混淆弹性;其次提出适配符号执行的N-scope复杂度,定义程序混淆强度同时增强符号执行对多层嵌套结构程序的混淆弹性度量鲁棒性;进而提出结合动态分析与静态分析的混淆效果关联性分析,通过对程序进行符号执行与控制流图提取量化混淆效果。面向 C 程序构建了该度量方法的一种实现框架并验证,实验对3个公开程序集及其混淆后程序集约4 000个程序进行混淆效果度量,度量结果表明,提出的度量方法在较好地刻画混淆效果的同时拥有一定的泛化能力与实用价值;模拟真实混淆应用场景给出了该度量方法的使用样例,为混淆技术使用人员提供有效的混淆技术度量与技术配置参考。  相似文献   

13.
Experiment with control code obfuscation   总被引:1,自引:0,他引:1  
Control code obfuscation is intended to prevent malicious reverse engineering of software by masking the program control flow. The idea for further advancing the state of the art was presented in 2000 by WANG C. An obfuscating system for Java based on the ideas of WANG C is implemented and experimented. The experiment results show that obfuscation can be done efficiently with moderate increases in code size, execution times, while making the obfuscated code resilient to a variety of reverse engineering attacks.  相似文献   

14.
Java程序混淆技术综述   总被引:2,自引:0,他引:2  
软件混淆技术已经广泛应用于抵制逆向工程和重组工程.文中从混淆技术的历史发展角度对现有的混淆技术理论、算法、攻击模式和评估进行了综述,将Java程序混淆算法分为类内混淆和类间混淆两个类别,并对其中的各类算法进行详尽的阐释.最后在现有工作的基础上,展望了软件混淆技术未来的发展与研究方向.  相似文献   

15.
经过多年的技术发展和攻防对抗, Android平台应用加固技术已较为成熟,防护粒度逐步从通用的DEX动态修改发展为高度定制化的Native层混淆机制,通过不断提高逆向分析的难度和工作量,增强客户端代码防护能力.针对近期崛起的OLLVM混淆加固技术,提出一种基于Capstone和流敏感混合执行的自动化反混淆决方案(CiANa). CiANa采用Capstone引擎分析基本块及其指令结构,识别散落在程序反汇编控制流程图中的真实块,并基于流敏感的混合执行确定各真实块间的执行顺序,最后对真实块汇编指令进行指令修复得到反混淆后的可执行二进制文件.实验对比结果表明, CiANa可有效恢复ARM/ARM64架构下经OLLVM混淆的Android Native文件.CiANa是目前为止首个在ARM/ARM64架构中,支持对全版本(Debug/Realse版本) OLLVM进行有效反混淆并生成可执行文件的框架,为逆向分析提供了必要的辅助支撑.  相似文献   

16.
于璞  舒辉  熊小兵  康绯 《软件学报》2023,34(4):1650-1665
目前,在代码保护技术研究领域,传统的混淆方法具有明显的混淆特征,分析人员可根据特征对其进行定制化的去混淆处理.为此,提出了一种基于分片融合的代码保护技术,通过在源代码层面将目标代码按照语法规则进行代码分片,依据执行顺序与语法规则,将分片插入另一程序的不同位置,在修复函数调用过程与数据关系后,形成可正常运行两个代码功能的融合后代码.在实验部分,对混淆后的代码,从运行效率、代码复杂度影响、代码相似性这3个维度,与其他混淆技术进行对比.从测试结果可以看出:基于分片融合的代码隐式混淆技术能够有效地模糊代码语义,改变控制流特征,且没有明显的混淆特征.因此,融合技术在对抗多种相似性对比算法的能力上有明显优势.  相似文献   

17.
为了克服软件保护过程中代码混淆方法选择的偶然性和盲目性,针对代码混淆量化比较和评估困难的问题,提出一种基于多层次属性加权的代码混淆定量评估方法:从攻击者角度出发,采用静态和动态逆向分析手段对混淆前后程序进行分析,量化基于程序属性的评估指标。构建三级层次分析模型,运用专家评分法来比较程序属性之间的重要性,以确定属性权值。在程序属性指标量化值和权值的基础上,运用层次分析法对不同混淆方法进行评估。实验和分析表明,评估方法能够定量地对不同混淆算法的有效性进行比较。  相似文献   

18.
根据在单片机上利用Boot Loader引导加载程序可以实现用户对PLC梯形图在线自编程更新的原理,介绍了一种基于PLC应用的ATmega128的Boot Loader程序的设计。该程序采用仿三菱通信协议将PLC梯形图目标代码通过RS232接口更新写入到单片机的FLASH中。实验表明,将Boot Loader应用于PLC实现梯形图的下载更新,使PLC应用软件设计更具灵活性,同时提高了开发效率。  相似文献   

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

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

京公网安备 11010802026262号