深度学习算法在软件检测中的应用_第1页
深度学习算法在软件检测中的应用_第2页
深度学习算法在软件检测中的应用_第3页
深度学习算法在软件检测中的应用_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深度学习算法在软件检测中的应用

0总结基于深度学习模型,研究网络空间安全,尤其是软件安全,成为一个有望的焦点。XINY19年网络面临的威胁国家计算机网络应急技术处理协调中心发布的《计算机恶意程序传播渠道安全监测报告》显示,高危恶意程序占恶意程序总数的2/3,木马类恶意程序占45.5%。2019年,有超过6200万的计算机恶意软件样本已经备案,其中包含计算机恶意程序家族66万多个,由此可见对恶意软件的防控不可忽视。根据MalwarebytesLabs发布的《2020StateofMalwareReport》,2019年的网络威胁主要是诈骗银行木马Emotet,攻击者通过编写恶意宏代码的钓鱼软件作为载荷附着在邮件中,从而进行病毒的传播。国家计算机网络应急技术处理协调中心发布了《2019年我国互联网网络安全现状》,报告显示软件安全局势出现向好的一面,恶意程序增量首次出现下降,这为以后的检测和防控工作带来希望。2恶意软件分类常见的恶意软件分类及其特点如表1所示。3恶意软件检测传统方法3.1关注实际的指令静态分析是恶意软件分析过程的第一步,负责检查可执行文件但不查看实际的指令。基本的静态分析可以判断文件是否存在恶意行为,提供关于文件功能信息或生成简单网络签名的信息。静态分析对复杂的恶意软件基本上无效,往往错过一些较为重要的恶意行为。3.1.1)哈希函数识别恶意软件消息摘要算法5(简称MD5)是一种常用的恶意软件识别方法。通过哈希函数运行恶意软件,生成的哈希值用于识别某种特定的恶意软件。在深度学习中,特征提取哈希是一种常用算法,它可以将任意大小的数据映射成固定大小的数据。3.1.2恶意软件分析PEiD是检测包装文件的常用方法,通常利用其来检测通过打包器或编译器生成的文件。由于恶意软件经常被包装或混淆,以至于其生成的恶意文件更难被检测,因此会严重阻碍恶意软件的分析工作。PEiD在工作中也存在安全隐患,原因是其插件往往会自动运行恶意可执行文件,因此需要营造一个安全的恶意运行和分析环境。3.1.3可执行文件格式分析PE文件格式是一种数据结构类型,Windows系统中加载的几乎所有可执行代码的文件都是PE文件格式。PE文件从头部开始,包括代码、应用程序类型、库函数等信息,文件头部中的信息对恶意软件分析人员很有价值。3.1.4基于分析的反汇编工具IDAPro作为高级的静态分析方法,也是大多数恶意软件分析人员、漏洞分析人员的首选反汇编工具。字符串是恶意软件静态分析的起点,利用其交叉引用特性来查看字符串在代码中的确切位置和使用方式,另外反汇编器提供了程序在第一个指令执行之前的快照。3.2联动恶意措施动态分析技术是恶意软件分析过程的第二步。动态分析通常是在基本静态分析作用效果不明显之后采取的加强措施,它可以在恶意软件运行时监视恶意软件,或者在恶意软件执行后检查系统。与静态分析不同,动态分析允许查看恶意软件的真正功能和内部信息。动态分析也是识别恶意软件的有效方法。3.2.1peid检测沙箱技术作为基本的动态分析工具,也是一种安全机制。它的作用在于为不被信任的程序提供了一个安全的运行环境,并且系统本身不会被真正的损害,这弥补了PEiD检测的不足。沙箱利用在虚拟环境中的某些条件来模拟网络服务,其目的是确保被测试的软件或恶意软件能够正常运行。沙箱并不是完美的,因为它没有命令行选项而无法执行命令操作。另外,沙箱可能不会记录所有事件,因为它没有足够的等候时间。3.2.2高级监视工具ProcessMonitor(简称Procmon)是Windows系统中的高级监视工具,通过监视某些注册表、网络进程及线程活动来判断有无恶意行为。利用Procmon可监视所有运行时的系统调用,但不可能检查全部。另外,其长时间工作会占用可用内存以致内存耗尽,最终使虚拟机无法工作。3.2.3系统运行分析ProcessExplorer作为任务管理器,通常在执行动态分析使用。它可以对系统内运行的进程(包括进程、DLL、系统信息)提供有利的分析。此外还可使用它来启动、验证、终止进程。ProcessExplorer可以将正在监视的进程以树形结构可视化显示。3.2.4)运行情况调整OllyDbg是用于恶意软件分析测试的高级动态调试器。调试器是一种软件或硬件,用于测试另一个程序的运行情况并查看其在程序运行时的动态视图,这些信息很难从反汇编器获得。WinDbg作为OllyDbg的升级版,可以辅助其进行内核调试和Rootkit分析。动态技术存在局限性,并不是所有的代码路径都可以在恶意软件运行时执行。目前较好的办法是使用先进的动态或动静结合技术来解决强制恶意软件执行的问题。3.3)可执行文件分析VirusTotal是一个使用许多不同的防病毒程序来扫描恶意软件的在线服务网站,同时也是一个综合性的恶意软件数据集。Wireshark是一个动态分析网络数据包和网络协议的工具,可以捕获恶意网络流量并分析许多不同的网络协议。PEExplorer是用来查看可执行文件格式的分析工具,将其作为静态解压缩器可自动解包文件。CaptureBAT是一个用于监控正在运行的恶意软件的动态分析工具,其主要负责监视文件系统、注册表及进程活动。4)快速特征数据库深度学习是机器学习的一个重要分支。面对海量网络应用流量数据时,传统的检测方法很难有效判断新型恶意程序的特征,即使设计出恶意特征数据库,也需要耗费大量人力成本。基于深度学习技术设计的智能化恶意检测方法可以有效检测新出现的样本,极大程度地减少人工参与的工作量,具有较强的泛化能力。下面列举几个典型的深度学习检测模型。4.1基于特征映射矩阵的恶意程序检测MalConv模型基于门控卷积神经网络(GatedCNN)实现端到端的恶意代码检测模型。输入层以二进制文件作为数据集,如PE主要分析其文件头部信息,经过嵌入层的数据预处理后得到固定大小的特征映射矩阵,将每个输入字节映射到D维向量,在卷积层将特征图与卷积核进行点积运算,通过两个激活函数得到输出特征图,采用0元素填充,利用门控层用于解决梯度消失的问题,采用最大池化进行降采样,再经过全连接层和Softmax层,得到是否为恶意程序的概率。MalConv模型结构4.2恶意软件检测ScaleMalNet是一种用于恶意软件检测的可扩展深度学习网络体系结构。该框架以分布方式从不同来源收集恶意软件样本,并以分布式方式应用预处理,能够实时且按需处理大量恶意软件样本。ScaleMalNet框架对终端用户主机收集的恶意软件进行深入学习,并遵循两个阶段的恶意软件分析过程。在第一阶段,采用静态和动态分析相结合的方法对恶意软件进行分类;在第二阶段,利用图像处理方法将恶意软件分为相应的恶意软件类别。ScaleMalNe对于恶意程序的实时分析框架4.3droiddetector模型DroidDetector是一款基于深度学习开发的Android恶意软件检测引擎5基于深度学习卷积神经网络的检测方法传统的恶意程序检测方法主要通过人工方式对软件的特征规则信息进行设计与提取,将已经确定的恶意软件的特征码与目标待检测程序的特征码进行比对,根据比对的匹配程度设定判定阈值,一般分为恶意与非恶意两种结果。这种方式的优点在于特征获取比较直观,具有较为丰富的语义信息;缺点是需要大量的人工制定,并且对于未出现在恶意程序特征库中的新型恶意软件无法做出有效分类。基于深度学习卷积神经网络的恶意程序检测方法主要通过神经网络自动提取软件中的特征信息,经过提前设计好的分类器,可以对海量样本数量进行有效预测与分类。这种方式的优点是减少了人工提取特征信息的工作量,可自动学习与判别新的恶意程序信息;缺点是可解释性差,模型对于分析人员来说是无法掌握判定理由的黑盒,难以提供确切的可信任决策依据。分别从检测机制原理、使用范围、检测时间及存在的问题等几个方面对传统检测方法和深度学习检测方法进行了比较,比较结果如表1所示。6基于度学习的智能恶意程序检测方法传统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论