基于语义分析的Windows恶意软件检测方法.pdf
《基于语义分析的Windows恶意软件检测方法.pdf》由会员分享,可在线阅读,更多相关《基于语义分析的Windows恶意软件检测方法.pdf(6页珍藏版)》请在咨信网上搜索。
1、NETINFOSECURITY入选论文2023年第10 期doi:10.39 6 9/j.is s n.16 7 1-112 2.2 0 2 3.10.0 0 8基于语义分析的Windows恶意软件检测方法一王宇1,吕良双1,夏春和1.2(1.北京航空航天大学网络技术北京市重点实验室,北京10 0 19 1;2.广西区域多源信息集成与智能处理协同创新中心,桂林5410 0 4)摘要:Windows恶意软件严重侵害个人、企业甚至国家安全,为了有效发现新型恶意软件、深入剖析恶意软件的工作机制,文章提出一种基于语义分析的Windows恶意软件检测方法。该方法使用API调用之间的依赖关系描述恶意软件的
2、行为,结合符号执行技术提取API调用依赖图,并将其作为软件的底层行为特征,通过模式发现和匹配方法,将API调用依赖图映射为ATT CK(A d v e r s a r i a l T a c t i c s,T e c h n i q u e s,a n d Co m m o nKnowledge)框架中的攻击技术,反映恶意软件所包含的行为语义。文章构建了支持向量机分类器,将攻击技术特征作为分类器输入进行训练和测试。实验结果表明,文章提出的方法能够有效发现新型恶意软件。关键词:恶意软件检测;符号执行;ATT&CK中图分类号:TP309文献标志码:A文章编号:16 7 1-112 2(2 0 2
3、 3)10-0 0 58-0 6中文引用格式:王宇,吕良双,夏春和.基于语义分析的Windows恶意软件检测方法 J.信息网络安全,2023,23(10):58-63.英文引用格式:WANG Yu,LYU Liangshuang,XIA Chunhe.A Windows Malware Detection Method Based onSemantic AnalysisJ.Netinfo Security,2023,23(10):58-63.A Windows Malware Detection Method Based on Semantic AnalysisWANG Yu,LYU Lian
4、gshuang,XIA Chunhel,?(1.Beijing Key Laboratory of Network Technology,Beihang University,Beijing 100191,China;2.GuangxiCollaborative Innovation Centerof Multi-Source Information Integration and Intelligent Processing,Guilin541004,China)Abstract:Windows malware has posed a serious threat to personal,e
5、nterprise,andnational security.In order to detect new malware effectively and analyze the workingmechanism of malware in depth,this paper proposed a Windows malware detection methodbased on semantic analysis.The proposed method extracted the API call dependency graph asthe low-level behavior feature
6、 of the software by leveraging symbolic execution technology.Subsequently,this graph was mapped to the attack techniques in the adversarial tactics,techniques,and common knowledge(ATT&CK)framework through pattern discovery andmatching methods,which could reflect the behavioral semantics of malware.M
7、oreover,in收稿日期:2 0 2 3-0 5-2 4基金项目:国家自然科学基金 6 2 2 7 2 0 2 4作者简介:王宇(19 9 9 一),女,山东,硕士研究生,主要研究方向为网络与信息安全;吕良双(19 6 5一),男,湖北,副教授,硕士,主要研究方向为网络与信息安全;夏春和(19 6 3一),男,江苏,教授,博士,CCF会员,主要研究方向为网络与信息安全、计算机网络对抗和云计算。通信作者:夏春和58NETINFOSECURITY2023年第10 期入选论文this paper,a support vector machine classifier was built,and
8、the attack technique featureswere used as inputs for the classifier to perform training and testing.Experimental resultsindicate that the proposed method can effectively discover new malware.Key words:malware detection;symbolic execution;ATT&CK0引言国家互联网应急中心发布的2 0 2 0 年中国互联网网络安全报告指出,工业控制环境遭受的攻击越来越严重,工
9、业主机安全问题已成为一个重要的安全风险。在工业环境中,Windows操作系统应用较广泛,同时也是当前个人计算机端的主流操作系统。网络安全公司AtlasVPN在2 0 2 1年的报告显示,自2 0 12 年,针对Windows操作系统的恶意软件数量与类型均在稳步增长,仅在2 0 2 1年就有超过1亿个针对Windows操作系统的恶意软件被开发,同比增长18%。这些恶意软件具有数据窃取、信息收集、远程控制、广告展示和加密勒索等恶意行为,往往会破坏计算机系统的正常运行,甚至危害终端用户的利益。由于Windows恶意软件具有多样性、复杂性和变异性,仅依靠已知恶意软件签名或底层行为特征难以发现新型恶意软
10、件。恶意软件通常使用一种或多种相对固定的攻击技术达成恶意意图,其高层次的行为语义具有一定的稳定性,因此,研究基于语义分析的Windows恶意软件检测技术对于及时发现新的恶意软件具有重要意义。1相关工作现有的恶意软件检测方法分为基于签名的恶意软件检测和基于行为的恶意软件检测两类。基于签名的恶意软件检测方法将待检测对象与数据库中的已知恶意软件签名进行匹配,若在签名数据库中找到相同签名,则将待检测文件判定为恶意软件;否则,判定为良性软件。每个恶意软件都有唯一签名,根据其字符串、加密哈希、字节码、反汇编码和控制流图等计算生成 1-5。基于签名的恶意软件检测方法执行时间与开销较小,适合识别已知威胁,但其
11、局限性是无法发现新的恶意软件,也较难检测出经过混淆的恶意软件。基于行为的恶意软件检测方法可以识别可能产生不利影响的恶意活动或潜在恶意活动,通常结合机器学习或深度学习算法处理待检测文件的行为特征,如API调用 6-10 、文件系统信息、注册表信息、网络活动信息、内存操作和访问信息等 1-13。对行为特征的选择直接影响分类器的检测性能,因此为了使提取出的特征更加准确地反映恶意软件的行为语义,一些研究者提出人工构建行为特征的方法,建立从恶意软件行为到网络安全知识库(如ATT&CK)的映射,填补机器学习与恶意软件分析之间存在的语义差距 1416 。本文结合外部知识构建并提取行为特征,该特征具有更高的抽
12、象层次,能够揭露恶意代码的工作机制和攻击意图,允许机器学习模型通过少量样本快速学习,检测新出现的恶意软件,但其难点是如何构建从原始特征到外部知识的映射。现有研究普遍基于动态分析提取行为特征,存在资源开销大、效率和覆盖率较低等问题,并且更关注对底层行为特征的独立识别,容易被恶意软件对抗和规避。因此,本文结合符号执行技术,提出一种静态分析提取底层行为特征的方法,并结合ATT&CK框架,充分利用关于恶意软件的专家知识构建从底层行为特征到攻击技术特征的映射,分析恶意软件的高层行为语义,提升恶意软件检测的性能。2底层行为特征提取对于Windows平台的PE(Po r ta b le Ex e c u t
13、a b le)文件,本文选择API调用依赖图作为软件的底层行为特征。API调用依赖图是一个有向图,图中节点表示API调用,有向边表示API调用之间的数据依赖关系。本文结合符号执行技术,给出API调用依赖图的静态分析提取方法。2.1状态爆炸与分支路径选择本文对涉及API调用的反汇编函数进行模拟,除59NETINFOSECURITY入选论文2023年第10 期了代码段和导人段等只读段,其他未经写入先被读取的内存与寄存器值均被视为符号变量,因此存在较多的不确定分支,程序中每个不确定的分支都将产生两个不同的执行流,分别对应符号执行中不同的待探索路径,指数级增长的待探索路径可能导致状态爆炸问题。函数的控
14、制流图(Control FlowGraph,CFG)描述了程序执行时指令的流向,它将函数表示为一个有向图,其中节点表示程序中的基本块,即一段没有分支或跳转的连续指令,边表示程序执行的控制流转移。根据符号分析的目标,对CFG中与API调用无关的可选代码片段进行剪枝。具体而言,对于CFG中的节点,若从函数入口开始到节点的每条路径均经过基本块d,则称d是节点的必经节点。这说明除了API调用(如call指令)的基本块集合R,还需要找到其必经节点集合S,这样就可以在CFG中根据RUS对分支路径有选择地剪枝。本文通过支配树求解算法计算必经节点 17 ,剪枝策略如下。1)函数模拟从基本块集合R在支配树上的L
15、CA(Lowest Common Ancestor)开始。2)所有被执行流覆盖的基本块均在上述LCA节点的唯一可达子图(Unique Reachable Subgraph,U RS)中。其中,任何节点可以从初始LCA节点到达,且不能从当前不在URS集中的任何节点到达。3)根据集合RUS,在CFG中对3类分支跳转情况(即if-then,if-then-else,switch-case-then)进行剪枝。若if-then对应的分支中含有对Windows API的调用,则选择if-then为待执行路径;否则,跳过该分支;若if-then-else中只有if-then或else分支对应的基本块中含有
16、API调用,则将该分支加入待执行路径(如选择else分支);若两个分支都不含API调用相关的指令,则随机选择一个分支。源代码中的switch-case-then语句有两种对应的汇编形式,分别是普通结构和跳转表结构,普通结构与if-then-else汇编结构完全相同,此处讨论的是跳转表结构,如jmpdwordptredx*4+4010AAh指令。含有跳转指令的基本块有n个后继,其中n是跳转表大小。选择后继中含有API调用的基本块加人待模拟执行流,若所有分支均不含有对API的引用,则随机选择一个分支。2.2符号执行引擎设计符号执行引擎按照功能划分为6 个模块,总体框架如图1所示。IDAPE inf
17、o/Initial ContextFunctions/BytecodesCFGIDA交互符号工具模块执行引擎Hook图1符号执行引擎总体框架1)ID A 交互工具模块:IDA18是功能强大的反汇编工具,该模块负责实现对IDA反汇编器的数据访问,如读取PE文件信息、导人表和控制流图等。2)T r i t o n 交互工具模块:Triton是一个动态二进制分析框架,可以模拟执行反汇编代码,能够方便地对内存和寄存器进行操作,读取具体值或将其符号化为变量。该模块读取Triton维护的寄存器和内存状态,设置符号化变量,通过符号表达式分析变量间的依赖关系。3)H o o k:在初始化阶段,修改导人表中AP
18、I导人条目所记录的外部函数地址为特定值(一般分配PE段中未经使用的虚拟地址),并在模拟执行时将跳转到该虚拟地址的执行流转接到模块内的外部调用处理函数;在模拟执行阶段,提供对特殊API(如LoadLibraryA、GetModuleHandleA、G e t Pr o c A d d r e s s)的模拟,捕获动态加载的API调用。4)Sn a p s h o t:在模拟不同分支时,提供对当前进程状态的快照保存和恢复服务。5)Lo g:日志模块。TritonDisass&ASTEmulate主模块SnapshotSMT求解符号执行Triton交互工具模块LogRegistersMemory60
19、NETINFOSECURITY2023年第10 期入选论文6)Em u la te 主模块:与其他模块交互,完成对待检测文件的符号执行分析任务,保存特征提取结果。3攻击技术特征计算ATT&CK中的攻击技术是基于对现实世界恶意软件的观察分析得到的,因此该技术与恶意行为具有强相关性,而API调用则是软件与系统交互、实现攻击的重要方式,本文通过模式自动发现和相似度匹配,构建从API调用依赖图到ATT&CK中攻击技术的映射,计算得到攻击技术的特征向量。3.1攻击技术模式发现一组包含数据依赖关系的API调用组成API调用依赖图,若恶意软件使用这组API调用实现某种特定的攻击技术,则该API调用依赖图可以
20、作为反映该攻击技术的模式。本文使用文本处理中常用的权重计算方法词频-逆文档频率(Term Frequency-Inverse DocumentFrequency,T F-I D F),衡量攻击技术中不同模式(即API调用依赖图)的重要性。将从PE文件样本j中提取的API调用依赖图集合记作H,=gi,g2,g),将每个API调用依赖图看作文本集合中的一个词语,将应用了攻击技术T,的PE样本组成的集合记作SampleSetr,则攻击技术T,对应的攻击技术文档D,如公式(1)所示。D,=U jesampesetn H,(1)不同样本中可能提取出相同的API调用依赖图,因此D,是一个多重集合。将所有不
21、同的API调用依赖图(词语)组成文本集合。为了降低模式发现和匹配的计算复杂度,根据FireEye开源工具CAPA和ATT&CK官方网站中与攻击技术相关的API,对所有API调用依赖图做剪枝,仅保留与攻击技术相关的API及其周围的结构。API调用依赖图的词频(TermFrequency,T F)值通过该图在文档D,中出现的次数除以文档D,中图的总数得到,逆文档频率(InverseDocumentFrequency,IDF)与该API调用依赖图出现在多少个不同的攻击技术文档中相关。将每个API调用依赖图的TF值与IDF相乘得到权重值,利用此权重值衡量API调用依赖图的重要性,选取前k个权重较大的A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 语义 分析 Windows 恶意 软件 检测 方法
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。