提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、介绍
  • 二、相关工作
    • 2.1、传统方法
    • 2.2、基于机器学习/深度学习的方法
  • 三、提出方案
    • 1.CNN
    • 2.XGBoost
  • 四、实验评估
  • 五、总结
  • 参考文献

一、介绍

物联网在数字化运动中扮演着基础性角色。现在,物联网已经成为我们生活中一个重要组成部分,网络空间也成了交流和在线金融交易等线上活动平台。物联网和计算机系统的广泛使用吸引了恶意软件开发人员用他们的恶意代码感染当前环境并达到邪恶的意图。
恶意软件就是指恶意目的的开发软件程序,如:未经授权访问个人或组织的敏感信息、扰乱计算机运行、绕过访问控制、显示一些恶意广告。
新型恶意软件的增加背后主要原因是恶意软件开发者使用加密、模糊技术或混淆技术设计一个外观不同的恶意软件。为了应对大量变体的恶意软件的快速发展,需要开发强大的恶意软件检测分类框架,能够将恶意软件每个变种分类到他们原来所属的系列中。
属于同一家族的所有恶意软件都有着相同的恶意行为,因此建立一个基于家族的所有恶意软件分类模型是一项卓越的工作,同时也阻止了恶意软件的变体增加。现在,深度学习在恶意软件分类变现出了先进的性能。CNN是一个多层的深度学习结构,实验和研究证明了在大量图片分类上的能力和性能。本文希望将恶意软件分类问题转化为图像分类问题,并提出了CNN-XGboost模型对恶意软件进行分类。
本模型将CNN用于特征自动提取和XGboost分类相结合,XGboost是以弱分类器来达到强分类的效果,因此本文会达到比其他分类模型更高的性能和精准率。


二、相关工作

现在和过去的恶意软件检测分类大概可以分类为:传统方法和基于机器学习/深度学习的方法。

2.1、传统方法

以前,恶意软件检测的方法都是静态或动态的分析。首先基于签名的检测技术,是对恶意软件检测采用的静态方法,不需要执行代码只观察程序的结构属性、操作码和语法。现在,恶意软件开发者使用各种加密技术、混淆和多态性来绕过这些静态检测技术。另一种检测技术是在虚拟环境中执行文件,观察应用程序行为来发现任何异常和恶意行为,这种检测方法成为动态检测。

2.2、基于机器学习/深度学习的方法

为了克服以前方法的局限性并理解一个家族的恶意软件其行为大部分相同。反恶意软件阻止开始受益于机器学习和数据挖掘技术,用于特征工程和恶意软件分类,设计了更智能的恶意软件分类模型。机器学习算法对恶意软件种类迅速增长是不可伸缩的,并且依赖恶意软件的已知特征。因此,现在开发人员采用深度学习算法,因为它有自动提取特征功能和处理大量数据的能力。
作为深度学习和机器学习在恶意软甲分类上的成功案例,我们可以提到Drewet等人[1]的实验,该实验在Microsoft恶意软件数据库上检测多态软件,并使用机器学习算法获得了0.95以上的准确率。在其他机器学习技术中,极端梯度增强的集成方法吸引了更多的注意力,微软恶意软件分类挑战赛使用了基于XGBoost的特征提取器和分类器的复杂组合,能够达到0.998的最佳精度[2]。Ahmadi等人[3]使用基于向前逐步特征选择和分类的机器学习分类器XGBoost获得了0.998的准确率。

三、提出方案

恶意软件分类问题是今年来研究的热点,也是网络安全最重要的研究方法之一,机器学习和深度学习恶意软件检测和分类方面都表现出很好的性能。CNN深度学习体系结构是一种优秀的图像检测和分类方法,它可以从给定的数据集中自动提取特征。
为了对恶意软件分类,本文使用CNN-XGBoost模型进行分类,首先需要将所有的恶意软件转化为图像,并采集每个恶意软件家族样本。之后,将恶意软件二进制文件转换为8位二进制向量,然后转化为一个矩阵,该矩阵可视为灰度图像。将恶意软件字节转化为图像后,来自一个家族的恶意软件都与同一家族中的恶意软件有大量的相似性,而恶意软件图像的这种紧密相似性极大的帮助了图像分类器轻松区分每个家族的恶意软件。
该模型要求CNN读取数据集中所有类的每个图像,并自动找到每个恶意软件图像的特征,CNN有自己的三个层:卷积层、池化层,全连通层可以提取图像的高质量特征或特征。在完成特征工程之后,我们需要使用这些特征来进行分类。

1.CNN

CNN是基于动物视觉皮层组织分析的神经、生物启发的前馈网络。解决了图像分类问题。CNN由卷积层、池化层、完全连接层三部分组成。
卷积层:每个序列图像都应用一定数量卷积,该层通过从边缘、形状和颜色过滤和提取图像信息。在图片的每个子区域中使用滤波器,并且每个子区域计算输入生成单个值。该层的输出转化为一个一个非线性函数。
f(x)=max⁡(0,x)f(x)=\max (0, x) f(x)=max(0,x)
池化层:该层保证卷积层产生的信息减少处理时间,数据大小可以通过计算工具进行管理,从而减少后续网络层学习参数数量。使计算资源资源消耗变少,能够有效控制过拟合。最常见的形式是汇聚层使用尺寸2x2的滤波器,以步长为2对每个深度切片进行降采样,将其75%的激活信息都丢掉。为了保存尽可能多的信息,你可以在对图像的边界进行卷积运算,使其保持与原点相同的维数,这一过程称为填充。
完全连接层:在标准的CNN模型中,卷积层和池化层产生的输出的分类是在这个层中执行的。这一层的所有神经元都与上一层的每个相关神经元相联系。将前一层中的所有值都转化为一维向量,并准备进行分类。在本文CNN-XGBoost模型中,分类工作不是在完全连接层中完成的,是在下一层XGBoost层来完成分类。

2.XGBoost

下面借鉴大神们对XGBoost的理解:
XGBoost的原理、公式推导、Python实现和应用

机器学习/深度学习基础知识介绍和项目


四、实验评估

数据集:本文考虑的基于深度学习的模型是在malimg数据集上进行评估的,该数据集包含9339个恶意软件实例,属于25个家族。

实验结果:本文模型来分类那些在抗病毒方面看不见的恶意软件,而现有的恶意软件分类方法无法识别它们。我们相信CNN-XGBoost模型通过适当的调整和参数,在上述数据集上实现了比其他方法更高的恶意软件分类精度。增加层次和大量的输入有助于CNN提取更多的特征,学习更多的图像特征,分类后产生更好的精度,但需要更多的成本和设备。利用Malimg数据集实现了该模型,准确率达98.7%,是恶意软件分类问题的一个突出成果。

五、总结

数字世界总是暴露在恶意软件的影响下,恶意软件作者正试图制造新的恶意软件来轻松绕过抗病毒。来自一个家庭的恶意软件具有最共同的特点和行为,但是,它可能在外表上不同,以欺骗用户和逃避抗病毒。通过识别恶意软件家族,我们可以猜测恶意软件的行为或目标,这有助于我们了解如何保护自己和防范它们,甚至在感染后,也知道如何护理和处理。对于恶意软件的分类,我们提出了CNN-XGBoost模型,我们认为该模型比现有的其他方法具有更快、更高效、更准确的性能,希望本研究能有效地减少恶意软件的危害和损失。

参考文献

[1] Drew J, Moore T, Hahsler M (2016) Polymorphic malware detection using sequence classification methods. In: Security and privacy workshops. IEEE, pp 81–87.
[2] Microsoft malware classification challenge (big 2015) first place team: Say no to overfitting. http://blog.kaggle.com/2015/05/26/. Accessed 20 Nov 2019.
[3] Ahmadi M, Ulyanov D, Semenov S, Trofimov M, Giacinto G Novel feature extraction, selection and fusion for effective malware family classification. In: Proceedings of the sixth ACM conference.

使用CNN-XGboost模型进行恶意软件分类相关推荐

  1. 迁移学习CNN图像分类模型 - 花朵图片分类

    训练一个好的卷积神经网络模型进行图像分类不仅需要计算资源还需要很长的时间.特别是模型比较复杂和数据量比较大的时候.普通的电脑动不动就需要训练几天的时间.为了能够快速地训练好自己的花朵图片分类器,我们可 ...

  2. R语言构建xgboost文本分类模型(bag of words):xgb.cv函数交叉验证确定xgboost模型的最优子树个数、交叉验证获取最优子树之后构建最优xgboost模型并评估模型文本分类效能

    R语言构建xgboost文本分类模型(bag of words):xgb.cv函数交叉验证确定xgboost模型的最优子树个数.交叉验证获取最优子树之后构建最优xgboost模型并评估模型文本分类效能 ...

  3. R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题、可视化模型预测的结果、添加超平面区域渲染并与原始数据标签进行对比分析

    R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题.可视化模型预测的结果.添加超平面区域渲染并与原始数据标签进行对比分析 目录

  4. R语言构建文本分类模型:文本数据预处理、构建词袋模型(bag of words)、构建xgboost文本分类模型、xgboost模型预测推理并使用混淆矩阵评估模型、可视化模型预测的概率分布

    R语言构建文本分类模型:文本数据预处理.构建词袋模型(bag of words).构建xgboost文本分类模型.xgboost模型预测推理并使用混淆矩阵评估模型.可视化模型预测的概率分布 目录

  5. R语言构建xgboost模型:基于叶子索引衍生出新的特征并进行独热编码(one-hot encoding)之后构建新的模型、比较加入叶子索引特征的模型的分类性能提升

    R语言构建xgboost模型:基于叶子索引衍生出新的特征并进行独热编码(one-hot encoding)之后构建新的模型.比较加入叶子索引特征的模型的分类性能提升 目录

  6. ML之Xgboost:利用Xgboost模型(7f-CrVa+网格搜索调参)对数据集(比马印第安人糖尿病)进行二分类预测

    ML之Xgboost:利用Xgboost模型(7f-CrVa+网格搜索调参)对数据集(比马印第安人糖尿病)进行二分类预测 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 grid_s ...

  7. ML之Xgboost:利用Xgboost模型对数据集(比马印第安人糖尿病)进行二分类预测(5年内是否患糖尿病)

    ML之Xgboost:利用Xgboost模型对数据集(比马印第安人糖尿病)进行二分类预测(5年内是否患糖尿病) 目录 输出结果 设计思路 核心代码 输出结果 X_train内容: [[ 3. 102. ...

  8. dnn模型 list index out of range_通过MalConv模型实现恶意软件的分类

    前言 本文通过参考论文<Malware Detection by Eating a Whole EXE>,更具使用论文提出的MalConv模型,使用Tensorflow实现了恶意软件的分类 ...

  9. 检测恶意软件分类模型中的概念漂移

    科研笔记 论文题目-检测恶意软件分类模型中的概念漂移 共形预测 (conformal prediction)是一种置信度预测器,它生成具有用户定义的错误率的预测.在某个置信度水平下,所有预测范围的那部 ...

最新文章

  1. 创建型模式--多例模式
  2. PHP ‘ext/soap/soap.c’权限许可和访问控制
  3. RouterOS DNS劫持 -- A记录
  4. 【自动驾驶】4.分布式实时通信——DDS技术
  5. python 命令行参数—argparse模块的使用
  6. java gc 可以对方法区进行回收_浅谈 Java 之 GC
  7. jj为什么会变大变小_胡杏儿怀二胎不解鼻子为何变大?其实,还有三个部位变大的更厉害...
  8. python函数可以改变哪种数据类型的实参_表达式1+2*3.140的结果类型是():_学小易找答案...
  9. 视频会议、视频聊天、手机视频、跨平台视频如何开发之流程篇
  10. 使用微软官方工具MediaCreationTool制作Windows10的U盘系统安装盘
  11. 阿里云 OSS 图片水印
  12. selenium自动化测试随笔,安装selenium
  13. 使用ADB 查看模拟器得日志,unity得日志 以及保存
  14. 给计算机主机吹灰,电脑主机多久清理一次灰合理一些?一点小建议给你
  15. Hive实现:1、获取每个人最高分对应的学科和分数(学生最高分);2、获取每门课程都高于平均分的人、课程和分数(三好学生:每科高于平均分);3、获取每个学科都及格(即不低于60分)的学生
  16. BCD码 —— 8421码,余3码,2421码
  17. Windows 2008 R2 配置 DNS 实现二级域名
  18. maxcompute-入门-环境安装
  19. 为什么lol计算机内存不足怎么办,win7玩LOL英雄联盟提示“内存不足”怎么处理?(图文)...
  20. 基于RFID的智能仓库物流管理系统--仓库管理--新导智能

热门文章

  1. IDEA的常用设置(超详细)
  2. css3实现动画效果完整代码demo
  3. TopDown Engine中文文档 (五秘籍)
  4. Microsoft onenote 2003 下载
  5. PHP/7.2.11 缺少 apache2/logs/httpd.pid 文件
  6. 牛逼,GitHub 上竟然有这么多可以赚钱的小程序
  7. 基于ESP32与phyphox的DIS实验制作(5)-基于无线光电门的速度传感器制作
  8. 【ceph】ceph性能分析工具之perf dump代码打点调试统计
  9. 微信拉黑了之后聊天记录还在吗
  10. 无居士 无居所 苏轼_如何安装和设置居所家庭安全系统