一、一种简单实用的Windows应用程序反动态跟踪方法(论文文献综述)
赵玉洁[1](2021)在《基于逆向分析的二进制代码混淆保护方法研究》文中研究指明二进制代码是计算机软件存在的一种重要形式。在缺乏源代码的情况下,很多不法分子试图分析二进制代码以窃取软件核心算法。代码混淆是一种保持程序语义不变,通过转换程序代码形式以增加逆向分析难度的软件保护技术。在代码混淆领域研究者们普遍认为并不存在绝对安全的代码混淆算法。因此,尽管如何构造混淆算法已经被研究了很多年,但是可混淆规模复杂性和混淆有效性验证依然是研究热点。通常使用“强度、隐蔽性、抗攻击性、性能开销”四个指标评估混淆算法的有效性,分别表征混淆后代码被安全专家理解和分析的程度,被发现的难易程度,抵御自动化反混淆的能力,引入的额外性能开销。逆向分析是为获得程序内部模块细节及模块间关系而对程序进行分析的过程。代码混淆本质上就是为了抵御逆向分析,二者相互制约又彼此促进。因此,对混淆后程序展开逆向分析,如混淆评估、混淆检测和反混淆,有助于指导混淆算法设计,提升混淆强度、隐蔽性和抗攻击性。然而,从逆向分析角度指导混淆算法设计面临如下问题:(1)现有代码混淆强度的量化评估指标大多基于软件工程领域复杂性度量,评估维度比较单一;(2)现有二进制代码混淆检测方法一般针对特定混淆类型,且未考虑对多重混淆的检测。(3)现有反混淆算法大都假设已知混淆代码片段所在位置,并且受专家经验和领域知识的限制,导致反混淆效率较低。(4)现有虚拟化混淆算法移植到移动应用上时,存在安全漏洞并且执行效率低下。本文从逆向分析的角度入手,分别从混淆评估、混淆检测、反混淆、性能与安全平衡四个方面开展研究。主要工作和贡献包括:提出了一种面向逆向分析的混淆强度评估方法及其度量指标,拓展了代码混淆强度量化评估的维度。该方法将程序属性抽象为指令、控制流和数据流,分析论证了在对混淆后程序实施逆向分析过程中指令是控制流和数据流的基础。分别从语法和语义的角度提出了指令熵和指令N-gram两个度量指标量化混淆强度。实验中使用两种混淆工具、八种混淆算法验证这两个评估指标的有效性。实验结果表明指令熵和指令N-gram能够有效量化混淆算法强度,并可用于不同混淆算法之间的对比。提出了一种基于程序语义信息的混淆检测方法OBFEYE,实现了对多种单一混淆和多重混淆的高精度检测。该方法借鉴自然语言处理的思想,将指令、基本块、程序分别看做单词、句子、文档,采用Skip-gram、CNN、LSTM构建的语义神经网络模型生成程序上下文语义信息的表征向量,通过分类器实现对混淆的有效检测。实验中OBFEYE的预测精度至少为83%,最高可达98%。实验结果表明OBFEYE是一个高精度二进制代码混淆检测工具。提出了一种基于程序合成技术的代码反混淆方法Auto Simpler,提高了目标程序中混淆代码片段的定位精度和反混淆效率。该方法采用机器学习来识别混淆代码片段,打破现有工作对混淆代码片段已知的假设。通过将程序合成与嵌套蒙特卡洛搜索算法相结合,快速合成与目标程序语义相似但更容易理解的程序,提升了反混淆的效率。实验中Auto Simpler对混淆代码片段的定位准确率为99.29%,反混淆成功率在90%以上,且处理一个目标程序的平均时间约21s。与当前最先进的反混淆工具相比,执行效率提升了75%,准确率提高了5%。实验结果表明Auto Simpler是一个执行效率很高并保持一定成功率的自动化数据反混淆工具。提出了一种基于编译时虚拟化的代码混淆方法Dex2VM,解决了虚拟化混淆算法在移动设备上应用时存在安全漏洞并且执行效率低下的问题。该方法在预编译阶段筛选DEX字节码中执行开销较大的函数,利用反编译引擎将其转换为Native层执行速率更高的C/C++代码,解决性能问题。在编译阶段依赖LLVM编译框架的前端,将上一步生成的C/C++代码转换为LLVM的中间代码LLVMIR,使用LLVM的后端对LLVMIR实施虚拟化,解决安全问题。实验分别从抗攻击性、隐蔽性、强度、性能开销、功能一致性五个维度验证混淆算法的有效性。实验结果表明Dex2VM是一个抗攻击性强、隐蔽性好、强度大、开销适度的代码安全保护方法。
杨文博[2](2020)在《移动应用程序的若干安全分析技术研究》文中研究说明随着移动智能终端的普及与发展,移动平台应用程序在人们的生活中扮演越来越重要的角色,使用智能手机进行娱乐、社交、办公甚至是消费等已经成为用户的日常行为。经历了十多年的发展和演变之后,两大移动智能平台——Android和i OS成为了当前使用最广泛的移动智能系统。自从第一台Android设备问世,以及i OS宣布开放应用市场并支持第三方应用程序开始,移动平台应用程序就面临大量的安全威胁,其中主要的安全挑战包括应用程序分析与破解,恶意程序问题,以及应用程序漏洞及安全问题。如果移动平台应用程序的安全性得不到保障,用户将面临隐私和敏感数据泄漏的威胁,甚至是财产损失。此外,对于应用程序的开发者和厂商,也面临版权侵害,关键业务逻辑泄漏,利益损失等威胁。对于移动应用面临的威胁与挑战,研究人员提出了相应的技术和解决方案,其中包括提出对移动平台应用程序的分析技术,能够从逆向分析的角度对应用程序的行为实施精确甚至自动化的分析,以及研究对抗程序分析的程序保护技术。但是对于当前流行的移动平台的代码加固技术,目前已有的分析方法都有较大局限性,以至无法生效,设计通用且能持续对抗代码加固技术变化的分析方法是目前急需解决的问题。此外研究人员还对移动平台恶意代码分析与检测技术进行了研究,其中对Android平台主要的恶意程序方式——重打包应用和应用中有害第三方库的问题进行了重点和深入分析研究。但是对于这一类应用,除了检测以外,如何更细粒度的处理其中的恶意或异常行为,制定更加高效的策略,既能够保证应用程序主体功能正常运行,又能有效切断恶意行为,保证用户和设备的安全,是目前研究存在的空缺。最后研究人员还就应用程序的漏洞和安全问题进行了研究,目前已经发现不少安全漏洞并提出了相应的检测技术,但是我们同时发现,目前能够检测的应用程序漏洞相对单一和简单,都是基于一些特定规则的匹配,此外即使能够处理应用程序中复杂协议的安全问题,但无法做到规模化和自动化,特别是针对新兴的移动支付这类复杂功能,其重要性不言而喻,目前尚缺乏对其安全性的研究工作。针对目前研究存在的这些问题,本文在以下方面进行研究并做出了相关贡献:1.针对Android应用程序重打包攻击和应用程序中存在有害第三方库的问题,本文首先对其进行归类和总结,基于应用重打包的流程以及第三方库的嵌入方式,将重打包攻击增加的恶意代码以及有害第三方库归类为Android应用程序的附加代码。本文提出了一种有效的对Android应用程序附加代码进行识别和去除的方法,并设计与实现了APKLancet系统。APKLancet根据恶意代码和第三方库的样本,构建了附加代码特征库,根据特征库可以对应用程序的附加代码进行诊断和识别,再利用程序分析技术能够将完整的附加代码模块从原程序的整体中划分出来。最后APKLancet能够去除附加代码并且修复应用程序中的正常代码和资源文件,并且对修复后的应用程序进行功能验证。根据随机挑选的恶意程序和包含第三方库的样本评估,APKLancet能够在保留应用程序主体功能的情况下有效去除附加代码的相关异常行为,并保证应用程序运行正常。2.针对Android平台缺乏对代码加固应用的有效分析技术的现状,本文针对Android恶意程序代码加固提出了相应的分析方法和技术。本文分析了各种商用的Android应用程序代码加固服务,总结了相关的程序反分析技术,调研了37688个Android恶意程序样本,识别出其中有490个经过了代码加固。我们提出并实现了一个通用且自动化的针对Android恶意程序加固代码的反保护系统:App Spear。该系统采用了不同于传统的基于内存DUMP(或者人工分析)的反保护方法即采用基于运行时数据采集和DEX文件重组的方法来实现对加固代码的反保护。通过对App Spear的实验评估结果,证明了它能够处理使用了商用代码加固的恶意程序样本,并且能够让恢复出来的DEX文件被现有的常用Android应用程序静态分析工具所分析。此外考虑到App Spear的通用性和自动化程度,我们认为其可以作为现有的针对代码加固的恶意程序检测的必要前置步骤。3.目前对移动平台应用程序中复杂协议的分析方法研究存在空缺,本文对移动平台第三方支付应用进行了安全分析,揭示了第三方支付应用面临的安全风险,提出了攻击模型和漏洞检测方法。本文以世界上最大的移动支付市场——中国为研究主体,研究了四种用户量巨大的应用内第三方支付(微信,支付宝,银联,百度),涵盖了两大移动平台(Android和i OS),提出了自动化的支付应用识别方法。通过分析这四家支付提供商的支付方式,本文总结出两种通用的支付流程模型。根据模型及提出的威胁假设,给出了第三方支付商和商家需要遵守的七条安全规则,并提出了违反这些安全规则会造成的四种不同类型的攻击,包括任意价格购买,欺诈用户,以及商家机密信息泄漏等。最后本文给出了相应的漏洞检测方法,并对已经识别出的2679个Android支付应用,以及3972个i OS支付应用进行了漏洞检测,发现大量应用程序包含了多种安全漏洞,并进一步调研了造成这些漏洞的原因。我们还对特定的应用程序展开了实际的攻击,展示了这些问题在现实世界中的危害,相关的漏洞也都报告给相关厂商并已被修复。
李正强[3](2020)在《安卓恶意程序相似模块提取方法及其应用研究》文中指出随着移动互联网的飞速发展,安卓已成为移动端最流行的操作系统,巨大的用户群体吸引了许多开发者进入该领域,安卓恶意程序数目也随之增长,对用户个人隐私及财产安全造成巨大威胁。面对数量不断增长的安卓恶意程序,传统的检测方法已不再适用,因此研究安卓恶意程序的检测具有一定的实用价值和现实意义。有效快速地实现安卓恶意程序检测与防御是国内外恶意程序检测研究的共同目标,本论文主要包括安卓恶意程序相似模块提取方法、基于深度学习的检测模型及系统。1.提出了安卓恶意程序相似模块提取方法:针对现有检测方法准确率低性能差等问题,提出了一种基于关键函数的安卓恶意程序相似模块提取方法,构建动态自增长的相似模块数据库,使用倒排索引的方法选取对比样本子集,实现了安卓恶意程序的快速检测。2.提出了基于深度学习的安卓恶意程序检测模型:为了更有效地扩充相似模块数据库,提出了一种基于深度学习的安卓恶意程序检测方法,提取安卓程序样本的API序列、权限和程序基本块三个特征,对于不同特征集成了XGBoost和卷积神经网络模型,大幅提高了检测模型的准确率。3.安卓恶意程序检测系统原型实现:构建了一个以自增长的相似模块数据库为核心的安卓恶意程序检测系统,集成了安卓程序相似模块提取方法和深度学习检测模型,以及多种常见的移动端恶意程序检测技术,解决了传统系统对安卓恶意程序检测能力不足的问题,达到高效高准确率的线上实时检测效果。本文的研究重点是安卓恶意程序检测及相似模块数据库的构建,研究现有方法的不足,提出了一个以自增长相似模块数据库为核心的安卓恶意程序检测框架,其中安卓相似模块提取技术准确率平均在91%以上,以及深度学习检测模型在各种评价指标下具有较好的表现,且其AUC达到了 95%以上。
陈思远[4](2019)在《基于深度学习的Android恶意应用检测技术研究》文中研究表明Android平台上恶意App的泛滥不仅对用户的隐私和财产安全产生巨大威胁,而且还会给国家的安全带来重大隐患。随着Android中恶意App的不断增多,对Android恶意App的分析与研究也成为了一个热点。针对传统Android恶意App检测技术不能很好识别具有反检测能力的Android恶意App,检测准确率偏低以及检测方法在手机或嵌入式等受限环境上应用较少等问题,本文研究并提出了一种基于深度学习的Android恶意App检测方案。首先,本文研究分析了目前的Android恶意App检测方案,了解Android恶意App检测过程中的难点、所使用的关键方法和技术,并总结了现有工作的不足之处。接着,针对现有研究中不能很好识别具有反检测能力App的问题,研究了 Android App采用的反检测技术,针对前三代的反检测技术给出了解决方案,能够获取App中的源代码,也为本文的研究提供更加全面的数据。然后,针对传统Android恶意App检测技术的检测准确率偏低的问题,构建了一种基于卷积神经网络的Android恶意App检测模型。为了提高检测模型的泛化能力,在模型中设置了合适的激活函数以使分类器性能尽可能达到最佳,并从实验数据集和模型超参数两方面进一步优化Android恶意App的检测模型;同时,为了解决模型训练的过拟合问题,在构建神经网络时加入了 Dropout层,适当地放弃一部分数据,真正提高模型的检测准确率,最终生成的检测模型准确率达到了 97%左右。最后,针对现有检测模型在手机或嵌入式等受限环境上应用较少等问题,实现了本文所提出的Android恶意App检测模型,并采用TensorFlow Lite技术将生成的模型部署到手机端,从而能够做到对App文件进行本地检测。本文开发的所有源码均已上传到Github进行开源分享。
王聪[5](2019)在《基于深度学习的Android恶意软件检测系统设计与实现》文中提出随着移动设备数量的增加和Android操作系统市场占有率的显着提升,Android平台下应用程序软件的安全性受到了越来越多的关注和挑战。随着机器学习技术和深度学习技术的发展,如何将相关技术高效和准确的运用于恶意软件检测领域成为了研究的方向。本文的研究目的主要是希望基于深度学习技术来设计与实现一个检测系统,能够在Android平台下对相关的应用程序软件进行安全性检测和识别。本文使用静态反编译获取到的操作指令序列和动态分析检测到的敏感行为序列作为特征。其中参考了自然语言处理领域的神经网络模型,将操作指令序列视为机器的一种自然语言。最终搭建了一个基于卷积神经网络和长短时记忆网络的混合神经网络模型来进行学习和训练。在TensorFlow平台下实现并且测试了神经网络模型,能够对恶意应用程序软件实现检测和识别。在收集整理的数据集上综合表现好,实验结果能够达到91.3%的准确率。此外,以这个神经网络模型作为核心检测模块,结合了黑名单机制、反编译分析、模拟运行检测等模块,设计并且实现了一个Android恶意软件检测系统。该系统具有覆盖全面、准确率高、运行效率快、可拓展性好的特点,能够实现对相关恶意软件的检测和识别功能。
谈诚[6](2018)在《云环境下虚拟机内恶意行为检测与起源追踪技术研究》文中认为基于互联网的云计算模式在信息网络中迅速推广和发展,该模式将原本分散于独立物理节点的计算资源和存储资源集中起来,由云平台统一管理和分配。云计算平台聚集了大量的资产,攻击者们对此虎视眈眈。云计算模式资源集中化特点还意味着原本分散于独立物理节点的传统安全威胁如软件漏洞或者系统漏洞等也集中到了云计算环境中。租户在云平台中的虚拟机中存在的漏洞数量和可能遭受漏洞利用攻击的概率并不会比租户个人使用的物理主机要少。黑客们仍然可以依靠以漏洞利用技术和恶意代码为代表的传统攻击手段来攻击虚拟机。总的来说,以软件漏洞利用和恶意代码为代表的传统安全威胁对云计算虚拟化环境下的虚拟机依然是首要的威胁。因此,急需研究针对虚拟机内的恶意行为检测与起源追踪技术,以保障虚拟机免受攻击者的恶意利用。传统的安全监控和检测技术是在虚拟机内部部署监控和检测工具,它们可以较为精确的感知关键事件的发生并进行直接的处理,但是一旦虚拟机被成功入侵,这些工具就会受到攻击者的干扰,其运行结果不可信。虚拟化技术作为云计算的底层支撑技术,提供了虚拟机相互隔离的运行环境,虚拟机监视器对客户域虚拟机拥有完全控制权,可以为实现客户域虚拟机外部的恶意行为监控研究提供了技术上的支持。因此,本文尝试利用可以从虚拟机外部查看虚拟机内部的信息的虚拟机自省技术,在目标系统的外部增强虚拟机应对传统威胁的能力。综上所述,本文针对云计算虚拟环境下的虚拟机可能被传统安全威胁恶意利用的问题,从虚拟机的内部和外部两个层面入手,研究针对虚拟机内恶意行为的检测与起源追踪技术。针对恶意行为的检测方案可以减小虚拟机被恶意利用的概率。如果虚拟机已经遭到了恶意利用,需要可信的起源追踪方法来揭示攻击的起源、路径和结果,帮助受害系统从入侵中恢复,部署相应的防御机制以防止攻击者的再次入侵。本文的具体研究内容如下:(1)研究针对数据泄漏行为的恶意软件检测方案为了检测泄漏敏感信息的基于未知漏洞的APT级恶意软件,本文提出针对数据泄漏行为的恶意软件检测方案,通过多时间窗口关联分析和主机网络事件关联分析来检测恶意软件的信息窃取行为。本文首先根据已出现的窃取信息的恶意软件的攻击步骤,从中提取可观测的高级恶意事件,再分解为低级行为,提出一系列推断规则来关联低级行为和高级恶意事件。本文对被保护的主机和网络进行低开销的持续监控,一旦监控到异常,则进一步检测主机和网络的低级行为,根据推断规则关联已发生的低级行为和高级恶意事件,重构窃取信息的攻击步骤,从而检测攻击的存在。(2)研究基于上下文感知的透明起源收集方法针对传统起源追踪系统易受攻击者干扰的问题,本文设计了基于上下文感知的透明起源起源收集方法。该方法首先利用虚拟化技术透明的收集目标机中发生的系统事件和网络事件,再根据不同类型的事件可以通过它们的执行上下文建立关联关系这一视角,在不同类型的事件之间建立关联关系,从而将时空散布的攻击指纹连接起来,显示恶意行为的轨迹,向攻击调查提供全局视角,揭露攻击的起源、路径和结果。起源收集方法对目标机透明,避免被攻击者干扰,收集的事件可信,同时不会对目标机产生空间开销。(3)研究基于关联日志图的起源追踪方案针对现有的操作系统级别的起源方案需要分析者手动生成因果图分析攻击事件这一问题,本文提出基于关联日志图的起源追踪方案。本文利用数据关系分析技术,研究系统实体之间的关联关系。通过分析事件的上下文信息,提出事件关联算法根据上下文信息查找相关事件,提出事件过滤算法过滤攻击不相关或冗余事件,提出全景图构建算法辅助构建攻击全景图,帮助分析人员识别攻击的起源、路径和结果。(4)研究基于虚拟机自省的ROP防御机制针对虚拟机中发现的ROP漏洞急需保护方案以避免被利用的问题,本文设计了基于虚拟机自省的ROP防御机制,透明的实现对虚拟机内存中代码段的权限管理,取消存在缓冲区溢出漏洞的目标程序在运行时加载但没有使用的代码段的可执行权限,来对抗ROP攻击。整个机制分为线下和运行时两个阶段。线下阶段中,通过静态分析得到目标程序在运行时加载的依赖库信息,通过增量训练得到目标程序在运行时使用的代码段信息,二者相减,即为目标程序运行时加载但没有使用的代码段信息。运行时阶段中,基于虚拟机自省的软剥离模块以线下阶段获取的知识为输入,取消目标程序运行时加载但没有使用的代码段的可执行权限,以这种软剥离的方式有效地缩减整个库的代码空间,从而降低攻击者定位足够多的可执行片断来构造ROP片断链的概率。以上研究成果部署于目标系统的内部和外部,功能互补,实现了对虚拟机内的恶意行为的检测与起源追踪,提高了目标系统应对传统安全威胁的防御能力。
杨兆[7](2012)在《恶意软件的反分析行为检测方法研究》文中进行了进一步梳理恶意软件是威胁信息安全的重要因素。为了抽取和分析恶意软件运行时的行为,安全产品厂商和分析人员开发出自动化的分析工具。然而,恶意程序会检测出分析工具的存在,逃避分析,即检测出虚拟或模拟的分析环境后,恶意程序会表现出和在真实环境下不一样的行为,比如减少攻击行为,或者立即结束运行等。为了使恶意程序的反分析能力失效,现有的方法分为两类:第一类方法是构建透明的分析工具,但是由于性能开销太大,不适应当今大规模恶意软件样本分析的需求;第二类方法通过比较不同分析环境中恶意程序行为的差异,检测出恶意程序的反分析行为,但是有准确度低,及需要人工干预等不足之处。本文采用第二类方法,在已有工作的基础上,提出一种改进的恶意程序反分析行为检测方法,有效地提高了检测的准确度。本文的主要研究工作如下:1)总结了恶意程序反分析使用的不同类型的技术,以及现有反分析行为检测方法的优势和不足。2)研究了二进制代码分析技术在恶意软件分析领域的应用,重点描述了本文方法用到的动态二进制切片技术。3)改进了现有的检测方法。本文的方法能消除外界环境中无关因素的影响,检测出恶意程序真正的反分析行为。采用灵活的比较算法对恶意程序在不同分析环境中执行的行为进行比较,如果行为有差异,利用高效的算法对恶意程序执行的指令序列比较,并自动分析出行为的差异是否由反分析导致。4)基于上述方法,实现了一个恶意程序反分析行为检测的原型系统。实验结果表明,本文的检测方法能检测出不同类型的反分析技术,如通过检测硬件特征、应用程序和时间开销等方法发现虚拟环境进而逃避分析。并且对于不具有反分析能力的恶意程序,本文的方法具有较好的鲁棒性。
张永超[8](2011)在《基于虚拟执行技术的恶意程序检测系统研究与实现》文中研究指明计算机的出现给人们生活带来了前所未有的便捷,极大的提高了工作效率,于此同时也带来了种种安全威胁。近年来,随着计算机的大规模普及以及网络攻击门槛的逐步降低,恶意程序正以惊人的速度增长。传统的基于特征码的检测方法虽然对已知的恶意程序具有较好的检测效果,但是无法检测未知恶意程序的局限性使其已经无法满足现实的需求。基于虚拟执行技术的动态检测方法可以分析待检测程序的行为,适用于检测未知恶意程序。本文提出了恶意相似度的概念,恶意相似度可以很好的描述待检测程序与已知恶意程序的相似程度。提出了一种基于层析分析法的恶意程序检测方法,该方法可以根据待检测程序的行为序列有效的计算出待检测程序的恶意相似度。在深入研究虚拟执行技术的技术上,设计并实现了基于虚拟执行技术的恶意程序检测系统。实验结果表明,整个系统达到了预期指标。本文主要进行以下几个方面的研究工作:1.设计并实现基于虚拟执行技术的恶意程序检测系统。本文详细分析了国内外现有主流的恶意程序检测方法,在对每种方法的优点与不足进行归纳总结的基础上设计并实现了基于虚拟执行技术的恶意程序检测系统。2.设计实现了沙箱。本文在研究分析了现有沙箱实现技术的基础上利用重定向技术从文件、注册表、服务、网络、进程五个方面重点设计并实现了沙箱。沙箱不但可以隔离虚拟环境与物理环境,而且在速度上做了优化,速度更快。3.提出了基于层次分析法的恶意程序检测方法。本文设计并在系统中实现了一种基于层次分析法的恶意程序检测方法,该方法针对不同恶意行为具有不同程度破坏性的特点,利用层次分析法获得不同恶意行为的权重,然后对待检测程序的行为序列进行加权求和,并依此确认程序的恶意性。4.提出恶意相似度的概念。本文针对恶意程序难以定量、客观分析的现状,提出了恶意相似度的概念。恶意相似度可以很好的描述待检测程序与恶意程序的相似性,进而为恶意程序的判定提供了客观依据。
谢裕敏[9](2009)在《Windows应用程序关键函数的逆向定位技术研究》文中指出逆向分析是用于分析闭源软件的重要方法。一种有效提高逆向分析效率的方法是实现对目标函数的快速有效定位。定位软件中存在的具有研究价值的函数可以缩小逆向分析的范围,降低逆向分析的复杂度。论文对如何实现快速有效的函数定位进行了深入的研究。论文总结了4种当前常见的定位方法,深入研究了Windows消息处理机制以及典型框架类程序的特征。针对逆向分析中函数定位的两种常见情况,提出了基于程序框架类特征的逆向定位技术。该技术首先利用静态分析,获取程序的结构信息与框架特征,并区分功能代码与框架代码;再通过动态分析中执行特征检测的方法,对目标函数中特殊的行为如特定网络活动、特定文件读写等进行检测,标识目标函数执行时所在的路径;最后通过路径比对算法实现函数定位。为了解决定位过程中获取目标程序基本信息的问题,论文通过研究IDA的反汇编机制编写了IDA插件实现目标程序静态信息的提取;在深入分析MFC框架的基础上完成了MFC框架的分析插件;设计了目标程序运行时基本块的动态获取算法。在研究了基于调试的执行路径跟踪与记录方法后,论文实现了一款基于以上技术的函数逆向定位辅助工具。该工具采用了图形化的路径显示技术并依据不同情况下目标程序的执行路径,实现了执行路径比对算法,能够较为准确的获得目标函数的地址。最后,论文对该工具定位的效率进行了测试,并对结果的准确性进行了检验。测试的结果表明该工具能对软件中的函数实现快速准确的定位,对提高软件逆向分析的效率有较好的实用价值。
张跃洋[10](2008)在《基于软件壳的研究与实现》文中研究指明随着软件行业的发展,软件盗版现象也日益猖獗。盗版不仅损害正版软件使用者的利益而且很大程度上制约了软件行业自身的发展。特别是在国内各个软件公司都才起步的情况下,这无疑是灾难性的打击。防止盗版被提到紧迫的日程上来,所以本文将重点研究Windows环境下可执行文件的加密技术。现在加密发展己形成两个分支,一个就是传统的算法,另一个就是加密壳。越来越多的软件采用了密码学相关算法,传统算法通用性强且要求有很高的密码学和数学知识。但是理论上的算法不一定能在有限的计算机资源上实现,所以本文主要研究与计算机紧密结合的软件壳加密技术。加壳的中心思想不外乎只有两点,一是尽可能的隐藏所能隐藏的东西,二是尽最大能力的拖延破解者的时间,让破解者那颗并没有无限大的忍耐度的心再也受不了为止。早期的壳只是加密程序中涉及到的字符串部分,但随着调试技术的发展,这已远远不能满足加密的需求。代码级的加密是目前最前沿的加密手段。本文综合运用目前前沿的二进制级代码变形理论及各种反破解技术与汇编语言紧密联系,达到理论艺术与工程技术的完美结合。本文既是对变形理论安全程度的实践挑战又是对系统编程技术的挑战。目前许多加壳技术都是采用C++等高级语言实现,但变形理论是基于操作码变形的技术。这对高级语言来说望尘莫及,而汇编完全能胜任这样的工作。采用汇编编制的软件壳无论是从性能还是灵活性都是无与伦比的。本文主要研究壳的加密原理。研究过程中,首先要熟悉Windows运行机制、结构化异常处理机制和可执行文件的结构及装载过程。其次由于壳代码涉及机器码的变形,所以需要熟练掌握汇编指令和机器码的编码方式。最后,壳要具有保护被加壳软件的功能,就必须有自我保护的能力。如何将壳代码隐蔽的注入被保护软件并能在运行时透明的保护加壳软件不被动态跟踪,也是本文的重要课题。本文在深入研究上述基本知识的基础上,改进源于病毒的变形技术,使加密算法百变其身,从而最大限度迷惑破解者;改进目前常用的花指令技术,使软件壳具有迷惑目前最先进的调试器的能力;改进钩子函数的挂接方式,使壳具有反跟踪和扩展功能。世界上没有无坚不摧的盾,加壳技术随着破解技术的发展而改进。对加壳技术的要求,不能求全责备。理论上,任何一个壳被破解只是时间问题。壳的唯一的使命是保证在软件的生命周期内不被破解。这样的壳就是成功加壳。
二、一种简单实用的Windows应用程序反动态跟踪方法(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、一种简单实用的Windows应用程序反动态跟踪方法(论文提纲范文)
(1)基于逆向分析的二进制代码混淆保护方法研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.0 研究背景与意义 |
1.1 代码混淆与逆向分析 |
1.1.1 代码混淆 |
1.1.2 逆向分析 |
1.1.3 代码混淆与逆向分析的关系 |
1.2 研究现状与主要问题 |
1.2.1 混淆评估 |
1.2.2 混淆检测 |
1.2.3 反混淆 |
1.2.4 安全与性能均衡 |
1.3 研究内容及关键挑战 |
1.3.1 研究思路 |
1.3.2 研究内容及挑战 |
1.4 本文创新 |
1.5 章节安排 |
第二章 面向逆向分析的混淆强度评估方法 |
2.1 引言 |
2.2 代码混淆强度研究基础 |
2.2.1 代码混淆复杂性 |
2.2.2 指令出现频次分析 |
2.3 面向逆向分析的混淆强度分析建模 |
2.4 代码混淆强度理论分析 |
2.4.1 有关形式化定义 |
2.4.2 理论分析 |
2.5 混淆强度表征指标 |
2.5.1 指令熵 |
2.5.2 指令N-gram |
2.6 实验分析与论证 |
2.6.1 实验设置 |
2.6.2 指令熵实验与分析 |
2.6.3 指令N-gram实验与分析 |
2.7 对降低混淆强度的指导分析 |
2.8 小结 |
第三章 基于程序语义信息的混淆检测方法 |
3.1 引言 |
3.2 语义神经网络混淆检测研究基础 |
3.2.1 混淆后代码的特征分析 |
3.2.2 神经网络可行性分析 |
3.2.3 程序语义神经网络模型 |
3.3 基于程序语义信息的混淆检测方法 |
3.3.1 学习阶段 |
3.3.2 检测阶段 |
3.4 程序语义信息的特征表达 |
3.4.1 基于skip-gram的指令嵌入 |
3.4.2 基于CNN的基本块嵌入 |
3.4.3 基于LSTM的程序嵌入 |
3.4.4 基于程序语义信息的混淆分类 |
3.5 混淆标注数据集自动化生成方法 |
3.5.1 混淆样本构造算法 |
3.5.2 混淆样本有效性验证 |
3.5.3 OOV指令替换方法 |
3.5.4 基本块切片分析 |
3.6 实验分析与验证 |
3.6.1 实验设置和评估方法 |
3.6.2 实验数据集 |
3.6.3 OOV指令预处理实验与分析 |
3.6.4 语义神经网络超参选择实验与分析 |
3.6.5 混淆检测准确性的实验与分析 |
3.6.6 混淆检测效率实验与分析 |
3.6.7 与其他机器学习算法对比实验 |
3.7 对提升混淆隐蔽性的指导分析 |
3.8 小结 |
第四章 基于程序合成技术的代码反混淆方法 |
4.1 引言 |
4.2 反混淆研究基础 |
4.2.1 数据混淆复杂度分析 |
4.2.2 程序合成可行性分析 |
4.3 基于程序合成技术的代码反混淆框架 |
4.3.1 反混淆模型形式化定义 |
4.3.2 基于程序合成的反混淆框架 |
4.4 基于机器学习的混淆代码片段识别方法 |
4.4.1 样本生成 |
4.4.2 混淆特征选择 |
4.4.3 混淆分类器 |
4.5 基于程序合成技术的反混淆算法 |
4.5.1 合成算法描述 |
4.5.2 输入输出采样 |
4.5.3 语法约束 |
4.5.4 候选程序的随机输出 |
4.5.5 合成结果相似度评估 |
4.6 基于嵌套蒙特卡洛搜索的程序空间降维算法 |
4.6.1 搜索算法描述 |
4.6.2 搜索节点的选择 |
4.6.3 程序合成的模拟 |
4.6.4 反向传播更新节点收益 |
4.7 基于程序合成技术的反混淆方法扩展 |
4.7.1 混淆组件集选择指导原则 |
4.7.2 面向数据流的组件选择 |
4.7.3 面向控制流的组件选择 |
4.7.4 面向虚拟化的组件选择 |
4.7.5 程序合成算法扩展分析 |
4.8 实验分析与验证 |
4.8.1 实验设置与评估方法 |
4.8.2 混淆代码片段定位实验与分析 |
4.8.3 反混淆结果正确性分析 |
4.8.4 反混淆成功率和执行效率实验与分析 |
4.8.5 与Syntia的对比实验与分析 |
4.8.6 输入输出采样数设置实验与分析 |
4.8.7 反混淆结果可理解性实验与分析 |
4.9 对提升抗攻击性的指导分析 |
4.10 小结 |
第五章 基于编译时虚拟化的代码混淆方法 |
5.1 引言 |
5.2 虚拟化的安全威胁和性能压力分析 |
5.2.1 Decode-dispatch模式简介 |
5.2.2 Decode-dispatch模式的攻击模型 |
5.2.3 编译时虚拟化可行性分析 |
5.3 基于编译时虚拟化的代码混淆方法 |
5.3.1 编译时虚拟化混淆原理 |
5.3.2 被保护程序的执行流程 |
5.4 基于预编译的性能提升方法 |
5.4.1 函数执行占有率决策模型 |
5.4.2 Dex2C反编译引擎 |
5.5 基于编译时虚拟化的抗攻击性方法 |
5.5.1 面向LLVMIR的虚拟化指令 |
5.5.2 调度程序和虚拟指令处理程序 |
5.5.3 编译时虚拟化抗攻击性分析 |
5.6 DECODE-DISPATCH调度模式隐藏算法 |
5.6.1 隐藏算法描述 |
5.6.2 编译时虚拟化隐蔽性分析 |
5.7 实验分析与验证 |
5.7.1 实验设置和评估方法 |
5.7.2 抗攻击性实验与分析 |
5.7.3 隐蔽性实验与分析 |
5.7.4 强度实验与分析 |
5.7.5 性能开销实验与分析 |
5.7.6 功能完整性验证实验与分析 |
5.8 小结 |
第六章 总结与展望 |
6.1 总结 |
6.2 展望 |
参考文献 |
攻读博士学位期间取得的科研成果 |
致谢 |
作者简介 |
(2)移动应用程序的若干安全分析技术研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景及意义 |
1.2 国内外研究概况及主要问题 |
1.3 论文主要贡献与创新点 |
1.3.1 Android应用程序附加代码识别及去除方法 |
1.3.2 Android恶意程序加固代码的反保护技术 |
1.3.3 移动平台第三方支付应用的安全分析 |
1.4 论文结构 |
第二章 背景知识与相关工作 |
2.1 背景知识 |
2.1.1 Android应用程序背景知识 |
2.1.2 i OS应用程序背景知识 |
2.2 相关研究工作 |
2.2.1 Android应用程序分析技术研究 |
2.2.2 Android应用程序恶意代码研究 |
2.2.3 Android应用程序安全问题及漏洞研究 |
2.2.4 Android应用程序安全保护研究 |
2.2.5 i OS应用程序安全研究 |
第三章 Android应用程序的附加代码识别及去除方法 |
3.1 概述 |
3.2 Android应用程序附加代码及特征 |
3.2.1 恶意代码 |
3.2.2 广告库 |
3.2.3 统计分析类插件 |
3.2.4 附加代码特征 |
3.3 APKLancet: 应用程序附加代码的识别及去除系统 |
3.3.1 系统架构 |
3.3.2 应用程序诊断 |
3.3.3 附加代码划分 |
3.3.4 附加代码去除 |
3.3.5 应用程序验证 |
3.4 效果分析与应用举例 |
3.4.1 结果评估 |
3.4.2 应用举例 |
3.5 讨论 |
3.5.1 APKLancet适用范围 |
3.6 本章小结 |
第四章 Android恶意程序加固代码的反保护技术 |
4.1 概况 |
4.2 Android应用程序代码保护技术现状 |
4.2.1 加固应用调研 |
4.2.2 反分析代码保护 |
4.3 App Spear: Android应用加固代码自动化反保护系统 |
4.3.1 系统架构 |
4.3.2 程序监控 |
4.3.3 代码重组 |
4.3.4 应用程序APK文件重建 |
4.4 实验评估 |
4.4.1 准确性实验 |
4.4.2 恶意程序实验 |
4.4.3 自建程序实验 |
4.5 讨论 |
4.5.1 适用范围 |
4.5.2 工作比较 |
4.6 本章小结 |
第五章 移动平台第三方支付应用的安全分析 |
5.1 概述 |
5.2 移动应用第三方支付的一般模型与识别方法 |
5.2.1 相关定义 |
5.2.2 研究对象 |
5.2.3 支付应用识别 |
5.2.4 支付模型 |
5.3 移动平台第三方支付应用的安全分析方法 |
5.3.1 威胁模型 |
5.3.2 安全规则提取 |
5.3.3 多方支付模型下的可行攻击 |
5.3.4 跨平台大规模移动支付应用的漏洞发现方法 |
5.4 结果分析 |
5.4.1 漏洞检测结果 |
5.4.2 漏洞成因分析 |
5.4.3 真实案例分析 |
5.5 讨论 |
5.6 本章小结 |
第六章 总结与展望 |
6.1 论文总结 |
6.2 下一步工作展望 |
参考文献 |
致谢 |
攻读学位期间发表的学术论文 |
攻读学位期间参与的项目 |
(3)安卓恶意程序相似模块提取方法及其应用研究(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 课题背景与意义 |
1.2 研究现状及存在的问题 |
1.3 论文研究内容 |
1.4 论文组织结构与研究框架 |
第2章 移动端恶意程序检测相关技术 |
2.1 恶意软件定义 |
2.1.1 Windows环境下的恶意软件 |
2.1.2 移动端恶意软件 |
2.2 移动恶意软件检测方法 |
2.2.1 基于签名的检测方法 |
2.2.2 基于动态行为的检测方法 |
2.2.3 基于静态行为的检测方法 |
2.2.4 基于深度学习的检测方法 |
2.3 安卓平台 |
2.3.1 安卓操作系统 |
2.3.2 安卓应用程序 |
2.4 本章小结 |
第3章 安卓恶意程序相似模块提取方法 |
3.1 问题描述 |
3.2 安卓应用程序相似模块提取方法 |
3.2.1 关键函数 |
3.2.2 数据预处理 |
3.2.3 关键函数调用图生成 |
3.2.4 相似模块生成 |
3.2.5 相似模块相似度计算 |
3.3 基于相似模块的安卓恶意程序判定 |
3.4 相似模块提取算法时间复杂度分析 |
3.5 验证与分析 |
3.5.1 评判方法 |
3.5.2 比较分析 |
3.6 本章小结 |
第4章 基于深度学习的安卓恶意程序检测模型 |
4.1 问题描述 |
4.2 安卓程序样本数据特征提取 |
4.2.1 数据预处理 |
4.2.2 权限特征提取 |
4.2.3 API特征提取 |
4.2.4 图片特征提取 |
4.3 基于XGBoost和CNN的安卓恶意程序检测模型 |
4.3.1 XGBoost模型原理 |
4.3.2 CNN模型原理 |
4.3.3 安卓恶意程序检测模型 |
4.4 检测模型时间复杂度分析 |
4.5 方法验证及分析 |
4.5.1 评判方法 |
4.5.2 比较分析 |
4.6 本章小结 |
第5章 安卓恶意程序检测原型系统 |
5.1 项目需求与系统架构设计 |
5.2 系统功能框架及功能模块 |
5.3 系统开发与部署环境 |
5.4 系统展示 |
5.4.1 安卓客户端 |
5.4.2 后台管理系统 |
5.5 本章小结 |
第6章 总结与展望 |
6.1 总结 |
6.2 展望 |
参考文献 |
作者简历 |
致谢 |
(4)基于深度学习的Android恶意应用检测技术研究(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 研究背景与研究意义 |
1.1.1 研究背景 |
1.1.2 研究意义 |
1.2 研究现状 |
1.2.1 国内外研究现状 |
1.2.2 现有研究的不足 |
1.3 论文工作和论文结构 |
1.3.1 论文工作 |
1.3.2 论文结构 |
第2章 相关技术 |
2.1 自然语言处理中词的表示方法 |
2.1.1 词袋模型 |
2.1.2 TF-IDF模型 |
2.1.3 词的分布式表示 |
2.2 卷积神经网络 |
2.2.1 用卷积来代替全连接 |
2.2.2 卷积层 |
2.2.3 池化层 |
2.2.4 全连接层 |
2.2.5 输出层 |
2.3 本章小结 |
第3章 Android应用程序的反检测技术及解决方案 |
3.1 Android应用程序及其反编译 |
3.1.1 APK文件分析 |
3.1.2 APK文件的生成过程 |
3.1.3 Android应用程序的反编译 |
3.2 Android应用程序的反检测技术 |
3.2.1 对抗反编译 |
3.2.2 对抗静态分析 |
3.2.3 对抗动态分析 |
3.2.4 对抗重编译 |
3.3 针对Android应用已有反检测技术的解决方案 |
3.3.1 对抗混淆技术 |
3.3.2 对抗校验保护技术 |
3.3.3 对抗加固技术 |
3.4 本章小结 |
第4章 Android恶意应用检测模型 |
4.1 检测模型概述 |
4.2 数据预处理 |
4.2.1 实验数据集的收集 |
4.2.2 反编译 |
4.3 API函数序列编码 |
4.4 恶意应用的检测模型 |
4.4.1 卷积神经网络架构 |
4.4.2 检测效果评估 |
4.5 实验设计 |
4.5.1 实验环境 |
4.5.2 数据预处理模块 |
4.5.3 API序列编码模块 |
4.5.4 恶意应用检测模型模块 |
4.6 实验结果分析与比较 |
4.7 本章小结 |
第5章 Android恶意应用检测模型部署 |
5.1 模型部署相关技术 |
5.2 模型部署模块 |
5.3 原型系统运行效果 |
5.4 本章小结 |
第6章 总结与展望 |
参考文献 |
在读期间发表的论文及相关成果 |
致谢 |
(5)基于深度学习的Android恶意软件检测系统设计与实现(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景与意义 |
1.2 国内外研究现状 |
1.2.1 Android恶意软件检测的研究方向 |
1.2.2 机器学习和深度学习在Android恶意软件检测领域的应用 |
1.3 本文的创新性工作 |
1.4 本文的章节安排 |
第二章 相关理论知识 |
2.1 Android操作系统与应用程序软件 |
2.1.1 Android操作系统 |
2.1.2 应用程序反编译和Smali格式 |
2.2 Android应用程序动态分析检测 |
2.2.1 Android沙箱技术以及安全设计 |
2.2.2 Android平台下污点分析技术 |
2.3 神经网络 |
2.3.1 人工神经网络和深度学习 |
2.3.2 卷积神经网络基础 |
2.3.3 长短期记忆网络基础 |
2.4 本章小结 |
第三章 基于CNN和 LSTM混合的ANDROID恶意软件检测算法 |
3.1 特征选择 |
3.1.1 静态特征选择以及可行性分析 |
3.1.2 动态特征选择以及可行性分析 |
3.2 神经网络结构 |
3.2.1 卷积神经网络部分 |
3.2.2 长短期记忆网络部分 |
3.2.3 混合模型 |
3.3 实验 |
3.3.1 数据集收集 |
3.3.2 特征提取 |
3.3.3 模型搭建 |
3.3.4 实验参数和结果 |
3.3.5 对比分析 |
3.4 本章小结 |
第四章 ANDROID恶意软件检测系统 |
4.1 整体框架 |
4.2 黑名单机制 |
4.3 特征收集 |
4.4 特征分类 |
4.5 模型判断 |
4.6 实际效果 |
4.7 本章小结 |
第五章 总结与展望 |
5.1 主要的工作内容总结 |
5.2 未来的研究方向 |
参考文献 |
致谢 |
攻读硕士学位期间已发表或录用的论文 |
(6)云环境下虚拟机内恶意行为检测与起源追踪技术研究(论文提纲范文)
摘要 |
ABSTRACT |
1 绪论 |
1.1 研究背景和意义 |
1.2 云计算虚拟化技术介绍 |
1.2.1 云计算技术的发展现状 |
1.2.2 虚拟化技术的发展现状 |
1.2.3 虚拟化技术中的核心技术 |
1.2.4 虚拟机自省技术介绍 |
1.3 研究内容和主要贡献 |
1.4 论文组织结构 |
2 云环境下虚拟机内恶意行为检测与起源追踪框架 |
2.1 传统安全威胁分析 |
2.1.1 典型高级可持续威胁及其特点 |
2.1.2 ROP攻击介绍 |
2.2 恶意软件检测技术发展现状 |
2.3 起源追踪技术发展现状 |
2.3.1 起源追踪模型 |
2.3.2 现有起源追踪方案及其局限性 |
2.4 ROP防御技术发展现状 |
2.5 云环境下虚拟机内恶意行为检测与起源追踪框架 |
2.6 本章小结 |
3 针对数据泄漏行为的恶意软件检测方案 |
3.1 典型攻击样例分析 |
3.2 检测入侵的扩展攻击树模型 |
3.3 检测方案的有限状态机模型 |
3.4 具体部署方案 |
3.5 低级行为收集 |
3.6 推断规则 |
3.7 实验验证与性能分析 |
3.7.1 实验设计 |
3.7.2 检测方案的有效性评估 |
3.7.3 检测方案的性能评估 |
3.8 本章小结 |
4 基于上下文感知的透明起源收集方法 |
4.1 现有起源追踪方法的局限性 |
4.2 基于上下文感知的透明起源收集方法 |
4.3 透明起源收集方法的系统结构 |
4.4 事件收集模块的字段收集方案 |
4.5 事件收集模块的运行时操作解析 |
4.6 日志处理模块 |
4.7 实验验证与性能分析 |
4.7.1 实验设计 |
4.7.2 攻击调查 |
4.7.3 性能测试与分析 |
4.8 本章小结 |
5 基于关联日志图的起源追踪方案 |
5.1 起源追踪流程 |
5.2 事件关联算法 |
5.3 事件过滤算法 |
5.4 全景图构建算法 |
5.5 实验验证与性能分析 |
5.5.1 实验设计 |
5.5.2 数据收集 |
5.5.3 钓鱼攻击场景的起源追踪流程 |
5.5.4 数据过滤算法效果评估 |
5.6 本章小结 |
6 基于虚拟机自省的ROP防御机制 |
6.1 ROP防御的研究目标与研究动机 |
6.2 ROP防御机制设计 |
6.3 静态分析模块 |
6.4 增量训练模块 |
6.5 基于虚拟机自省的软剥离模块 |
6.6 实验验证与性能分析 |
6.6.1 实验设计 |
6.6.2 安全评估 |
6.6.3 性能评估 |
6.7 本章小结 |
7 总结与展望 |
参考文献 |
攻博期间的科研成果 |
本文研究得到以下基金项目支持 |
致谢 |
(7)恶意软件的反分析行为检测方法研究(论文提纲范文)
摘要 |
Abstract |
表格目录 |
图片目录 |
第1章 绪论 |
1.1 引言 |
1.2 本文工作 |
1.3 论文的组织结构 |
第2章 恶意程序反分析行为检测 |
2.1 恶意软件分析 |
2.2 反分析技术 |
2.3 当前研究进展 |
2.4 二进制代码分析相关技术 |
2.4.1 可执行文件简介 |
2.4.2 Intel指令格式简介 |
2.4.3 控制依赖分析 |
2.4.4 动态二进制切片 |
2.5 本章小结 |
第3章 需求分析与系统设计 |
3.1 需求分析 |
3.2 相关定义 |
3.3 方法概述 |
3.4 系统设计 |
3.5 本章小结 |
第4章 系统实现 |
4.1 恶意程序执行监控 |
4.1.1 系统内(in-the-box)监控 |
4.1.2 系统外(out-of-box)监控 |
4.2 系统调用序列比对 |
4.3 指令序列对齐 |
4.3.1 指令序列合并 |
4.3.2 指令序列对齐 |
4.4 动态后向切片 |
4.5 本章小结 |
第5章 测试与分析 |
5.1 实验过程 |
5.2 有效性评价 |
5.3 本章小结 |
第6章 总结展望 |
6.1 论文总结 |
6.2 未来工作 |
参考文献 |
攻读硕士学位期间撰写的论文 |
攻读硕士学位期间参加的项目 |
致谢 |
(8)基于虚拟执行技术的恶意程序检测系统研究与实现(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景与意义 |
1.1.1 恶意程序分类 |
1.1.2 恶意程序发展 |
1.1.3 恶意程序检测技术的研究意义 |
1.2 研究现状 |
1.3 本文工作 |
1.4 本文结构 |
第二章 恶意程序检测方法分析 |
2.1 恶意程序检测方法研究 |
2.1.1 静态分析法 |
2.1.2 动态分析法 |
2.2 虚拟执行技术 |
2.2.1 虚拟机技术 |
2.2.2 沙箱技术 |
2.3 本章小结 |
第三章 恶意程序检测系统整体设计 |
3.1 系统设计要求 |
3.2 系统整体设计方案 |
3.3 系统执行流程 |
3.4 本章小结 |
第四章 恶意程序检测系统关键技术研究 |
4.1 沙箱关键技术设计与实现 |
4.1.1 文件策略设计与实现 |
4.1.2 注册表策略设计与实现 |
4.1.3 服务策略设计与实现 |
4.1.4 进程策略设计与实现 |
4.1.5 网络策略设计与实现 |
4.2 基于行为特征序列的恶意程序检测关键技术研究与实现 |
4.2.1 动态获取行为特征序列关键技术研究与实现 |
4.2.2 基于行为特征序列的恶意性检测方法研究与实现 |
4.3 评测与分析 |
4.3.1 沙箱子系统评测与分析 |
4.3.2 行为获取子系统评测与分析 |
4.3.3 程序恶意性分析评测与分析 |
4.4 本章小结 |
结束语 |
5.1 全文总结 |
5.2 下一步工作 |
致谢 |
参考文献 |
作者在学期间取得的学术成果 |
(9)Windows应用程序关键函数的逆向定位技术研究(论文提纲范文)
表目录 |
图目录 |
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 课题研究背景 |
1.2 课题来源与意义 |
1.3 国内外研究现状 |
1.3.1 逆向工程主要方法 |
1.3.2 常见定位方法分析 |
1.4 研究目的和内容 |
1.5 论文结构安排 |
第二章 关键函数逆向定位技术研究 |
2.1 Windows 程序回顾与介绍 |
2.1.1 过程驱动的编程技术 |
2.1.2 事件驱动的编程技术 |
2.1.3 当前主流的Windows 程序 |
2.2 基于Windows 消息处理机制的定位分析 |
2.2.1 Windows 程序消息响应处理的一般结构 |
2.2.2 基于Windows 消息处理的定位分析 |
2.2.3 针对常规Windows 程序的定位方法 |
2.3 基于程序特征的定位分析 |
2.3.1 MFC 程序特点分析 |
2.3.2 Delphi/C++ Builder 程序的定位分析 |
2.3.3 DotNet 平台定位分析 |
2.3.4 其它一些框架程序的介绍与分析 |
2.3.5 基于程序特征的定位分析小结 |
2.4 本章小结 |
第三章 函数逆向定位的原理与定位工具的设计 |
3.1 基于程序框架类特征的逆向定位技术 |
3.2 逆向定位工具框架设计 |
3.2.1 总体框架功能分析 |
3.2.2 文件分析模块功能分析与结构设计 |
3.2.3 动态分析定位模块功能分析与结构设计 |
3.2.4 定位工具最终框架 |
3.3 逆向定位工具工作原理 |
3.3.1 关键函数定位工具基本原理 |
3.3.2 函数执行路径比对的原理 |
3.4 相关技术方法的研究 |
3.4.1 执行特征的划分与识别 |
3.4.2 框架类插件的版本自适应 |
3.4.3 执行路径比对算法 |
3.5 本章小结 |
第四章 文件分析模块的设计与实现 |
4.1 目标文件类型识别模块的设计与实现 |
4.1.1 功能描述 |
4.1.2 PE 文件加载 |
4.1.3 文件类型识别 |
4.2 程序静态信息提取模块设计与实现 |
4.2.1 功能描述 |
4.2.2 模块设计 |
4.2.3 IDA 插件的实现 |
4.3 运行时基本块获取模块设计与实现 |
4.3.1 功能描述 |
4.3.2 运行时基本块的获取 |
4.3.3 两种信息提取方法的比较 |
4.4 MFC 框架类插件设计与实现 |
4.4.1 功能描述 |
4.4.2 定位过程 |
4.5 本章小结 |
第五章 动态调试定位模块的设计与实现 |
5.1 常用的动态分析技术 |
5.1.1 动态调试定位模块的设计目的 |
5.1.2 几种常见动态分析方法的比较 |
5.2 动态调试模块设计 |
5.2.1 多线程设计 |
5.2.2 调试功能封装 |
5.2.3 任务延迟完成 |
5.2.4 关键函数状态检测 |
5.3 路径显示与比对模块设计 |
5.3.1 执行路径信息存储 |
5.3.2 执行路径信息查找 |
5.3.3 执行路径图绘制 |
5.3.4 路径比对算法的实现 |
5.4 本章小结 |
第六章 函数定位工具性能测试 |
6.1 软件性能测试准备 |
6.1.1 测试环境 |
6.1.2 测试软件 |
6.2 通用程序定位过程 |
6.2.1 定位特点概述 |
6.2.2 定位步骤 |
6.2.3 扫雷游戏雷区信息定位 |
6.2.4 定位过程小结 |
6.3 MFC 程序定位过程 |
6.3.1 定位特点概述 |
6.3.2 MFC 程序定位步骤 |
6.3.3 迅雷登录函数定位 |
6.3.4 其他一些定位结果 |
6.3.5 MFC 定位过程小结 |
6.4 本章小结 |
结束语 |
参考文献 |
作者简历 攻读硕士学位期间完成的主要工作 |
致谢 |
(10)基于软件壳的研究与实现(论文提纲范文)
摘要 |
Abstract |
第一章 引言 |
1.1 软件壳发展及国内外最新动向 |
1.2 软件壳需求 |
1.3 本论文的工作 |
第二章 软件加密技术背景 |
2.1 Windows 加密平台 |
2.1.1 PE 文件剖析 |
2.1.2 Windows 运行机制分析 |
2.2 开发环境介绍 |
2.2.1 转换机器码 |
2.2.2 Win32 汇编 |
2.3 代码注入的研究 |
2.4 反破解技术 |
2.5 本章小结 |
第三章 软件加密系统总体设计 |
3.1 软件加密系统逻辑图 |
3.2 软件壳功能需求与设计特性 |
3.2.1 软件壳功能需求 |
3.2.2 软件壳的特性 |
3.3 软件壳各模块划分 |
3.3.1 软件壳模块划分思路 |
3.3.2 软件壳模块层次框图 |
3.4 软件壳设计中的技术难点及解决方案 |
3.4.1 入口点隐藏 |
3.4.2 垃圾代码生成器及器存器随机选取器 |
3.4.3 壳软件的自我保护 |
3.5 本章小结 |
第四章 软件壳各功能模块设计与实现 |
4.1 壳寄生过程设计与实现 |
4.2 变形引擎设计与实现 |
4.2.1 变形引擎的需求 |
4.2.2 变形引擎的实现 |
4.3 反跟踪技术设计与实现 |
4.3.1 反跟踪需求 |
4.3.2 API 重定位设计与实现 |
4.3.3 保护原程序入口点设计与实现 |
4.4 本章小结 |
第五章 壳加密性能测试 |
5.1 测试环境 |
5.2 测试内容 |
5.3 本章小结 |
第六章 结论 |
致谢 |
参考文献 |
个人简历及硕士期间发表论文情况 |
个人简历 |
发表论文 |
四、一种简单实用的Windows应用程序反动态跟踪方法(论文参考文献)
- [1]基于逆向分析的二进制代码混淆保护方法研究[D]. 赵玉洁. 西北大学, 2021
- [2]移动应用程序的若干安全分析技术研究[D]. 杨文博. 上海交通大学, 2020(01)
- [3]安卓恶意程序相似模块提取方法及其应用研究[D]. 李正强. 中国科学院大学(中国科学院深圳先进技术研究院), 2020(07)
- [4]基于深度学习的Android恶意应用检测技术研究[D]. 陈思远. 南京师范大学, 2019(02)
- [5]基于深度学习的Android恶意软件检测系统设计与实现[D]. 王聪. 上海交通大学, 2019(06)
- [6]云环境下虚拟机内恶意行为检测与起源追踪技术研究[D]. 谈诚. 武汉大学, 2018(06)
- [7]恶意软件的反分析行为检测方法研究[D]. 杨兆. 南京大学, 2012(10)
- [8]基于虚拟执行技术的恶意程序检测系统研究与实现[D]. 张永超. 国防科学技术大学, 2011(07)
- [9]Windows应用程序关键函数的逆向定位技术研究[D]. 谢裕敏. 解放军信息工程大学, 2009(03)
- [10]基于软件壳的研究与实现[D]. 张跃洋. 电子科技大学, 2008(04)
标签:android开发论文; 代码混淆论文; 安卓应用市场论文; 软件安全论文; android架构论文;