基于图表示学习的恶意软件检测
发布时间:2022-01-13 00:30
随着计算机的普及与互联网的高速发展,恶意软件的数量和种类越来越多,给恶意软件检测带来了前所未有的挑战。现有的检测方法可以分为基于统计特征、文本语义和行为图进行检测,虽然这些方法可以检测恶意软件,但都存在着各自的不足。基于统计特征的方法高度依赖专家经验进行特征码提取,很难识别经过混淆和加壳处理的恶意软件;基于文本语义的方法对硬件性能要求过高,无法处理过长的序列数据,导致恶意软件可轻易绕过序列检测窗口;基于行为图的方法依赖于复杂的图匹配算法以及深度学习模型,可解释性不高,无法应对采用高级对抗技术的恶意软件。因此,如何弱化人工特征提取环节,提高恶意软件的检测效果是一个亟待解决的问题。针对恶意软件检测方法的不足,本文研究了恶意软件的相关知识,包括恶意软件定义、发展趋势、检测对抗技术以及恶意软件执行过程中的典型操作行为,并在此基础上结合当前深度学习领域的研究成果,提出了基于图表示学习技术的恶意软件检测方法。该方法将函数调用序列转化为函数调用图,并结合多种方法提取各个节点的编码特征、功能特征和行为特征,从而将函数调用图转化为特征函数调用图,再通过图表示学习算法对特征函数调用图进行基于邻域跳层聚合的...
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:75 页
【学位级别】:硕士
【部分图文】:
统可见字符串程序熵值
电子科技大学硕士学位论文10以上只是介绍了主要的几类恶意软件,划分界限较为明显,然而真实环境下的恶意软件经常会兼具多种恶意行为,如勒索病毒,它既属于勒索软件,又属于计算机病毒。2.2恶意软件的检测技术发展2.2.1基于静态特征的检测手段早期的恶意软件检测方法主要关注多维的恶意软件静态特征,主要从字节视图、汇编代码视图、PE视图进行特征提取,用多元化的特征提取方式来对抗恶意软件加壳、混淆等技术。(1)字节视图特征。即字节视图下能够观察到序列化的十六进制字符,如图2-1所示,因此可对十六进制字符直接进行特征采集。字节视图特征主要包括:图2-1字节视图文件基本信息:文件占用的存储空间、内容行数、字符总数等。可见字符串:统计所有可打印字符串出现的长度、频率、分布情况。软件熵:熵值高低代表着软件字节视图的混乱程度,熵值越高,越能说明该软件被进行了加壳、混淆等处理,而良性软件很少会进行大片的特殊处理,其熵值通常也不高。(2)汇编代码特征。汇编代码作为软件上层编码语言在底层的真实执行语句,是软件的“底层形态”。汇编代码有两个重要组成部分,操作数和操作符。操作符代表执行动作,操作数代表操作的数据对象或存储单元地址。不同的操作系统对机
第二章相关技术背景研究11器指令有不同的映射关系,可通过第三方工具IDAPro得到软件样本的反汇编代码数据,得到汇编代码特征,如图2-2所示,包括:操作码特征:操作码是机器码的语义表示,它在汇编代码中的出现频次最高,代表了汇编代码的具体执行动作,大量的恶意软件检测研究中都选择将操作码作为特征进行输入,并取得了良好的检测效果。通常选取操作码的1-gram、2-gram特征以及在样本中出现的全部汇编指令作为操作码特征。寄存器特征:寄存器是汇编代码的操作对象,所有功能都必须通过在不同的寄存器间来回进行计算、存储而最终实现,不同编译环境、编译函数将导致使用的寄存器存在较大差异。通常选取各类寄存器出现的次数作为寄存器特征。功能函数特征:大量第三方工作如IDAPro软件都提供反编译功能,不仅能够识别汇编代码中出现的底层系统函数交叉引用,还能最大程度地识别系统函数。如果提供的软件源文件带有.debug信息,这些软件甚至能直接识别出开发阶段所定义的函数,并提供可读性极强的逆向得到的C语言代码。功能函数特征作为软件最真实行为的动作载体,可以极大帮助分析人员把握软件行为模式与特征。本文所使用的函数调用图,就可以从此处进行静态提取得到。数据定义特征:该特征主要关注汇编代码中出现的类似于byte、dword等的数据占位信息,有的恶意软件会选择先进行数据空间定义,再在执行过程中将恶意代码加密并释放到该区域。数据定义特征可以结合样本大孝样本压缩率、样本熵值等特征,从而发现加壳恶意样本的相互关联。图2-2汇编代码
【参考文献】:
期刊论文
[1]基于注意力机制的恶意软件调用序列检测[J]. 张岚,来耀,叶晓俊. 计算机科学. 2019(12)
[2]机器学习模型可解释性方法、应用与安全研究综述[J]. 纪守领,李进锋,杜天宇,李博. 计算机研究与发展. 2019(10)
[3]深度学习的可解释性[J]. 吴飞,廖彬兵,韩亚洪. 航空兵器. 2019(01)
[4]恶意软件伪装正规软件篡改广告[J]. 电脑爱好者. 2016(24)
[5]伪装成热门游戏的恶意软件现身谷歌官方商店[J]. 中国信息安全. 2016(08)
硕士论文
[1]基于HTTP的恶意软件检测与研究[D]. 刘子涵.电子科技大学 2019
本文编号:3585740
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:75 页
【学位级别】:硕士
【部分图文】:
统可见字符串程序熵值
电子科技大学硕士学位论文10以上只是介绍了主要的几类恶意软件,划分界限较为明显,然而真实环境下的恶意软件经常会兼具多种恶意行为,如勒索病毒,它既属于勒索软件,又属于计算机病毒。2.2恶意软件的检测技术发展2.2.1基于静态特征的检测手段早期的恶意软件检测方法主要关注多维的恶意软件静态特征,主要从字节视图、汇编代码视图、PE视图进行特征提取,用多元化的特征提取方式来对抗恶意软件加壳、混淆等技术。(1)字节视图特征。即字节视图下能够观察到序列化的十六进制字符,如图2-1所示,因此可对十六进制字符直接进行特征采集。字节视图特征主要包括:图2-1字节视图文件基本信息:文件占用的存储空间、内容行数、字符总数等。可见字符串:统计所有可打印字符串出现的长度、频率、分布情况。软件熵:熵值高低代表着软件字节视图的混乱程度,熵值越高,越能说明该软件被进行了加壳、混淆等处理,而良性软件很少会进行大片的特殊处理,其熵值通常也不高。(2)汇编代码特征。汇编代码作为软件上层编码语言在底层的真实执行语句,是软件的“底层形态”。汇编代码有两个重要组成部分,操作数和操作符。操作符代表执行动作,操作数代表操作的数据对象或存储单元地址。不同的操作系统对机
第二章相关技术背景研究11器指令有不同的映射关系,可通过第三方工具IDAPro得到软件样本的反汇编代码数据,得到汇编代码特征,如图2-2所示,包括:操作码特征:操作码是机器码的语义表示,它在汇编代码中的出现频次最高,代表了汇编代码的具体执行动作,大量的恶意软件检测研究中都选择将操作码作为特征进行输入,并取得了良好的检测效果。通常选取操作码的1-gram、2-gram特征以及在样本中出现的全部汇编指令作为操作码特征。寄存器特征:寄存器是汇编代码的操作对象,所有功能都必须通过在不同的寄存器间来回进行计算、存储而最终实现,不同编译环境、编译函数将导致使用的寄存器存在较大差异。通常选取各类寄存器出现的次数作为寄存器特征。功能函数特征:大量第三方工作如IDAPro软件都提供反编译功能,不仅能够识别汇编代码中出现的底层系统函数交叉引用,还能最大程度地识别系统函数。如果提供的软件源文件带有.debug信息,这些软件甚至能直接识别出开发阶段所定义的函数,并提供可读性极强的逆向得到的C语言代码。功能函数特征作为软件最真实行为的动作载体,可以极大帮助分析人员把握软件行为模式与特征。本文所使用的函数调用图,就可以从此处进行静态提取得到。数据定义特征:该特征主要关注汇编代码中出现的类似于byte、dword等的数据占位信息,有的恶意软件会选择先进行数据空间定义,再在执行过程中将恶意代码加密并释放到该区域。数据定义特征可以结合样本大孝样本压缩率、样本熵值等特征,从而发现加壳恶意样本的相互关联。图2-2汇编代码
【参考文献】:
期刊论文
[1]基于注意力机制的恶意软件调用序列检测[J]. 张岚,来耀,叶晓俊. 计算机科学. 2019(12)
[2]机器学习模型可解释性方法、应用与安全研究综述[J]. 纪守领,李进锋,杜天宇,李博. 计算机研究与发展. 2019(10)
[3]深度学习的可解释性[J]. 吴飞,廖彬兵,韩亚洪. 航空兵器. 2019(01)
[4]恶意软件伪装正规软件篡改广告[J]. 电脑爱好者. 2016(24)
[5]伪装成热门游戏的恶意软件现身谷歌官方商店[J]. 中国信息安全. 2016(08)
硕士论文
[1]基于HTTP的恶意软件检测与研究[D]. 刘子涵.电子科技大学 2019
本文编号:3585740
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3585740.html