基于神经网络的恶意软件检测分析

对于目前的所有行业来说,“如何有效地检测恶意软件”已经成为了大家共同的网络安全问题。一次恶意软件感染事件将有可能给我们带来数百万美金的经济损失,而当前的反病毒产品以及恶意软件检测工具一般使用的是基于签名的检测技术,这种方法需要手动设置一系列规则来识别已知的不同类型的恶意软件。但是相对来说,这种方法的针对性比较强,而且无法识别新型的恶意软件。

这种方法的效率其实非常低,因为大多数环境所采用的代码不一样,而且每天都会出现数百万种新型的恶意软件。因此,我们急需一种能够应用于当前快速改变的恶意软件生态系统的检测技术,而机器学习也许正是我们所需要的。

实际上,很多初创企业和网络安全公司已经开始研发这种基于机器学习的安全检测系统了。这些公司通常会在特征工程以及数据分析方面花费大量的人力和物力资源来开发高质量的系统,但实际上,我们可以在不涉及特征工程的情况下开发出一套能够跨操作系统和硬件来检测恶意软件的技术,具体内容可以参考我们最新发布的研究报告。

 

报告中介绍了一种人工神经网络,我们可以通过训练这种神经网络来检测恶意的Windows可执行文件(只需要可执行文件的原始字节序列作为输入),这种方法有下列几个优点:

  1. 不需要手工编译以及与编译器相关的知识。这也就意味着,训练出来的分析模型适用性很强,而且可以适应恶意软件的自我进化。
  2. 计算复杂度与序列长度成线性关系,因此它适用于大文件。
  3. 可识别二进制代码中的重要子区域以进行取证分析。
  4. 这种方法同样适用于新的文件格式、编译器和指令集结构,我们需要做的只是训练数据和模型而已。

因此我们认为,使用机器学习来对恶意软件的原始字节序列进行分析和识别并以此来进行恶意软件监测,将会是机器学习社区中一个富有前景的研究领域。

将深度学习应用到恶意软件检测会遇到哪些困难?

近期,研究人员已经成功将神经网络应用到了计算机视觉、语音识别和自然语言处理领域了,而成功的其中一个原因就是他们能够从原始数据(例如像素或单个文本字符)中归纳学习出相应的特征。因此,在这些成功案例的启发之下,我们也许能够使用可执行文件的原始字符来对神经网络进行训练,并以此来判断目标文件是否为恶意文件。如果我们能够做到这一点,我们将能够大大简化恶意软件检测工具,我们不仅能够提升检测精确度,而且还能够识别出一些恶意软件非明显但十分重要的特征。

但是,想要将深度学习应用到恶意软件检测领域中,我们还有很多问题需要解决。比如说,对于微软的Windows PE恶意软件,我们需要解决的问题如下:

  1. 将单个字符作为输入序列中的一个单元来处理,意味着我们将按照二百万个时间步长的顺序处理一个序列分类问题。据我们所知,这远远超出了以往任何基于神经网络的序列分类器的输入长度。
  2. 恶意软件中的字节数据可以包含多种形式的信息,其中包括人类可读的文本、二进制代码、或例如图片之类的任意对象等等。除此之外,还包括一些经过加密的内容。
  3. 函数之间的调用命令和跳转命令都是可以重新排列的,因此函数之间存在复杂的空间相关性。

解决方案

针对这些挑战与难题,我们测试了大量不同的神经网络结构,但上面所提到的这些挑战促使我们不得不去尝试一些不常见的神经网络结构和参数。

在设计模型的时候,我们主要考虑了以下三种功能:

  1. 在计算和内存使用中有效扩展序列长度的能力;
  2. 在检测整个文件时考虑本地环境和全局环境的能力;
  3. 帮助分析恶意软件标记的能力;

最后,我们所能设计出的最合适的恶意软件检测网络模型框图如下图所示:

数据与模型训练

我们使用了两套数据集来训练并验证这个网络,我们从开源的数据中收集了第一套训练集Group A。A组中包含了43967个恶意文件样本以及21854个良性文件样本。第二组Group B中的样本由工业反病毒厂商提供,其中包含真实攻击场景中的恶意文件以及良性文件样本(总共40万文件样本,每种各占一半)。不过,在实验的后期,我们还收到了更多的训练语料(B组),新添加的语料中包含2011786个唯一的二进制文件样本,其中有1011766个恶意文件样本。为了及时得到神经网络模型的收敛性,我们必须用大批量的数据集来训练网络。

训练和分析的结果如下图所示:

从结果中可以看到,我们的模型比较适用于A组的训练数据集,其次是B组。但是,当我们继续使用更大的语料库(200万份测试文件)来进行训练时,我们发现我们的网络模型还会不断地完善。

总结

我们希望,这项研究可以鼓励机器学习社区更加积极地去探索恶意软件检测领域,因为这确实是一个富有前景的研究领域。由于深度学习已经在图像、信号和自然语言处理方面取得了令人瞩目的成就和进步,因此我们也许可以将这些技术扩展到另一种完全不同的领域,比如说恶意软件的检测方面。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/153094.html<

(0)
管理的头像管理
上一篇2025-03-14 07:37
下一篇 2025-03-14 07:39

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注