首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 187 毫秒
1.
付文  赵荣彩  庞建民  王成 《计算机工程》2010,36(14):108-110
为有效提取恶意程序及其变种中的隐式API调用行为,提出一种基于静态分析的隐式API调用行为检测方法。采用指令模板匹配的方法识别具体调用形式,通过分析调用目标地址与函数名之间的关系来识别被调用API函数。实验结果表明,该方法能提高静态分析工具对恶意代码及其变体的检测能力。  相似文献   

2.
间接过程调用的恢复问题是静态二进制翻译中的难点之一。针对使用c后端的静态二进制翻译框架,提出并实现间接过程调用恢复方法,该方法结合代码间隙分析,在后端c代码生成过程中插入映射源过程地址到目标机过程地址的代码。相对于使用解释器的方法,该方法具有实现简洁、在目标机上运行速度更快的优点。  相似文献   

3.
随着Android版本的不断更替,以及恶意软件的代码混淆技术的发展,主流的静态检测方法开始面临检测效率逐年下降的问题。针对上述问题,提出一种基于抽象API调用序列的Android恶意软件检测方法。该方法采用API包名、混淆名和自定义名来抽象API调用序列,使得抽象出来的序列不依赖API版本,同时又包含混淆代码特征,具有更好的容错性。在此基础上,计算抽象API调用序列之间的转移概率矩阵作为分类特征,采用RandomForest分类算法进行恶意软件检测。实验结果表明,该方法对API版本依赖性小,且判别准确率高于一般使用API调用序列作为特征的判别方法,从而能更有效地检测未知应用软件的恶意性。  相似文献   

4.
魏松杰  杨铃 《计算机科学》2015,42(1):155-158,179
针对Android APK的静态描述,目前主要是采用权限、数据以及API调用序列的方法,而忽视了代码本身的层级结构,因此无法有效地通过这些静态特征来揭示应用程序的可能行为和恶意属性.设计并实现了一种基于代码层次结构的系统API调用描述方法,其主要是提取APK文件中API调用在应用包、对象类、类函数层面的信息,并将这些信息以树形结构表示,通过将不同应用程序的描述树进行逐层对比来计算相似度,揭示恶意应用程序由于在类型和族群上的差异所带来的API调用特征上的区别,从而为Android应用程序的特征描述和恶意检测提供新的视角.实验采用真实多样的已知Android恶意程序来验证描述方法的正确性和系统实现的效果,分析了不同层次和检测情况下该方法的利弊以及可能的改进之处.  相似文献   

5.
应用程序编程接口(Application Programming Interface,API)在软件开发以及代码复用中有着重要作用。然而,API代码和文档存在的不一致情况会误导API的使用者并降低软件开发效率及其稳定性等。针对Java API异常代码及其文档描述不一致的情况,提出了一种基于静态分析代码语法树及方法之间的调用关系的自动检测方法,为验证方法的有效性,利用JDK中的API源代码包及其相应文档作为测试对象根据实验结果。本方法的检测结果能达到71.5%的准确率以及85.9%的召回率,能够较为准确地识别API文档对程序异常描述不一致问题,对API文档的编写和维护具有指导性意义。  相似文献   

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

7.
基于行为特征的恶意代码检测方法   总被引:2,自引:0,他引:2  
本文分析总结了恶意代码的行为特征,提出了一种分析API序列来检测恶意代码的方法.该方法在传统攻击树模型中添加了时间、参数调用等语义相关信息,提升了攻击树模型对代码行为的描述能力,并对恶意代码中常见的危险API调用序列进行建模.通过虚拟执行的方法获取代码的API调用序列.并将这些序列与扩展模型进行模式匹配.发现代码中的恶意行为,计算其威胁指数,进而检测代码是否具有恶意性.  相似文献   

8.
吴姝  周安民  左政 《计算机科学》2018,45(4):163-168
苹果公司对App Store上的每一款应用程序都进行了审核,包括是否存在访问用户敏感信息的私有API调用,但是仍有恶意应用通过了该项审查。针对iOS应用程序中私有API的调用问题,提出了一种动、静态相结合的检测技术PDiOS。通过反向分片和常量传播的静态分析方式来处理大部分API调用,基于强制执行的动态迭代分析来处理剩余API。静态分析包含了对二进制文件的全面分析以及对资源文件中隐式调用的处理,动态分析主要依赖于二进制动态分析框架进行迭代分析。最后通过对比公开头文件中的API来确定私有API的调用。在对官方商店的1012款应用程序的检测中,确认有82款应用程序存在共128个不同的私有API调用。在对企业证书签名的32款应用程序的检测中,确认有26款使用了私有API调用。  相似文献   

9.
一、Windows系统为何大量使用动态链接库 WINDOWS95和WINDOWS3.X系统中均使用了大量动态链接库。由于使用动态链接库只需开发者在程序中调用库函数前,事先定义函数在库中地址指针或直接利用功能函数获取地址指针,在编译生成可执行文件时,目标代码中只包含动态链接库中函数的地址指针或获取函数地址指针的功能函数代码,所有应用程序可以共享同一目标动态函数库,而不像静态链接库那样,所有应用程序目标代码中均包含有完全相同的静态链接库函数代码。 此外应用程序在使用动态链接库时,系统只将动  相似文献   

10.
中文WINDOWS 95系统中使用了大量动态链接库程序。由于使用动态链接库只需开发者在程序中调用库函数前,事先定义函数在库中地址指针或直接利用功能函数获取地址指针,在编译生成可执行文件时,目标代码中只包含动态链接库中函数的地址指针或获取函数地址指针的功能函数代码。所有应用程序可以共享同一目标动态函数库,而不象静态链接库那  相似文献   

11.
当前分支混淆技术通过构造条件异常代码和异常处理替代条件跳转指令,隐藏分支选择指令的地址,提高约束条件获取的难度,从而对抗符号执行。当前方法构造的条件异常代码中,关键数据具有二值性问题,有利于分支混淆的检测、发现和约束条件获取,降低了混淆的隐蔽性和与符号执行的对抗性;基于该缺点,提出一种使关键数据具有多样性特征的条件异常代码构造方法,增加了混淆的隐蔽性和约束条件的获取难度,提高分支混淆对抗符号执行的强度;通过结构化异常处理实现了基于新型条件异常代码构造的分支混淆原型系统,并对混淆进行了测试和分析。  相似文献   

12.
按照一定顺序执行虚拟指令处理函数(Handler)可完成程序关键代码的保护,其为软件逆向分析者攻击的重点对象。针对“动态提取,静态分析”的Handler攻击方法,提出一种基于Handler混淆增强的虚拟机保护方法。运用等价指令替换规则生成多种等价Handler序列,对所有Handler进行变长切分和随机乱序,通过构建跳转表对乱序序列进行重组,构建随机地址数组对Handler调度地址表和执行跳转表进行隐藏。实验和分析表明:多样化Handler生成、切分和乱序增加了动态提取和分析的难度,Handler地址表和跳转表的隐藏增加了抵御静态逆向分析的难度,从而提升了虚拟机保护强度。  相似文献   

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

14.
静态反汇编是对程序进行逆向工程的第一步,它将程序的可执行机器码以汇编指令代码的形式表示,给盗用软件知识产权和发掘软件漏洞提供了可能。为了混淆静态反汇编过程,增加对程序进行反汇编的难度,本文深入研究基于分支函数的静态反汇编混淆技术,针对其隐蔽性较差和代码执行效率低下的缺点,提出一种改进的分支函数静态反汇编混淆技术。改进后的混淆技术不仅能够有效地隐藏程序中的跳转指令,提高了代码的执行效率,同时增加了软件逆向工程分析的难度。  相似文献   

15.
传统的控制流混淆方案是通过引入一些特殊结构来混淆或隐藏原程序的控制流信息,但这会导致大量的额外开销,此外针对控制流中其他敏感信息,常用的混淆技术并没有完善的保护方案。针对这些问题,提出了基于隐式跳转的控制流混淆技术。分析建立程序的控制流图,获取每个基本块的依赖关系,建立状态转移模型,为每个基本块分配一个运行时状态,并根据该状态生成的密钥来对控制流的跳转、函数的调用及变量的引用等敏感信息进行加密保护,使之转换为需要在运行时解密才能使用的隐式形式,从而实现反静态分析。此外,针对相同对象的密文重复问题,提出了基于环境密钥的两阶段加密方案,进一步减少敏感信息的暴露。实验结果表明,该方案并不会对程序运行时性能造成很大影响,同时还能较为完善地帮助程序抵抗静态分析。  相似文献   

16.
针对ARM程序高层代码混淆存在盲目性较强而降低混淆准确度,且很容易被逆向还原的问题。从ARM汇编指令底层研究ARM程序混淆,通过结合ARM架构指令系统的特点,基于模式切换提出一种ARM汇编代码混淆算法,包括指令模式切换混淆、寄存器随机分配混淆和虚假指令混淆,使混淆后汇编代码的控制流变得更加复杂,且对切换地址的寄存器混淆也提高了动态调试跟踪的难度。模式切换及虚假指令混淆也会造成反汇编错误,从复杂强度、逆向弹性和性能开销三方面进行测试评估。测试结果表明,该混淆算法不仅有效地提高了程序的控制流循环复杂度,而且能够抵抗反汇编工具的逆向分析。该混淆算法引发的额外体积开销和时间开销较低,具有实用性。  相似文献   

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

18.
网页木马程序的加壳和混淆机制使得静态分析遇到困难,而动态分析又有不能穷尽所有执行路径这一问题。文章提出了一种基于机器学习的网马识别方法,提取Url和网马场景的特征,并把Url打上类别标记,对训练数据进行分类模型建构并做了预测实验,取得了比较好的实验效果。  相似文献   

19.
静态二进制翻译的入口点通常为main函数,所以main函数执行之前的动态地址解析部分就无法在目标机上恢复。通过分析基于ELF文件的动态地址解析机制,提出了在目标代码中插入代码模拟动态地址解析的方法来解决该问题。该方法已在静态二进制翻译项目中实现,测试结果表明该方法是有效的。  相似文献   

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

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