CN109241738A - 一种基于深度学习的勒索软件检测技术 - Google Patents

一种基于深度学习的勒索软件检测技术 Download PDF

Info

Publication number
CN109241738A
CN109241738A CN201810744196.3A CN201810744196A CN109241738A CN 109241738 A CN109241738 A CN 109241738A CN 201810744196 A CN201810744196 A CN 201810744196A CN 109241738 A CN109241738 A CN 109241738A
Authority
CN
China
Prior art keywords
layer
depth confidence
software
output
confidence network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810744196.3A
Other languages
English (en)
Inventor
方勇
刘亮
张磊
陈政
羊少帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan University
Original Assignee
Sichuan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan University filed Critical Sichuan University
Priority to CN201810744196.3A priority Critical patent/CN109241738A/zh
Publication of CN109241738A publication Critical patent/CN109241738A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Image Analysis (AREA)

Abstract

本发明运用深度学习的分析方法对勒索软件进行检测和防范。通过静态和动态特征相结合的方式来描述勒索软件的特征。首先通过n‑gram分别提取操作码序列和文件行为序列作为静态和动态特征,然后使用加权信息增益算法选择合适的特征序列,最后将其作为深度置信网络的输入向量进行模型训练。提出了采用深度置信网络模型来检测勒索软件,深度置信网络是半监督学习,可以采用大量未标注的样本进行训练,能够更好的学习勒索软件的特征,达到更好的检测效果。

Description

一种基于深度学习的勒索软件检测技术
技术领域
本发明运用深度置信网络的方法来对勒索软件进行检测和防范。通过研究勒索软件的主要特征,并针对当前检测方法的局限性,提出了一种基于深度置信网络的勒索软件检测方法,通过提取勒索软件的静态和动态特征对其进行检测。
背景技术
传统的静态分析在特征提取和分析速度上更加方便、灵活,但是其容易被一些对抗技术如加壳、压缩等来绕过;动态分析相比于静态分析有更高的检测率,但是动态分析容易受到运行环境的影响,不能够保证样本在运行时能够表现出其特征。
深度学习属于机器学习的一个分支。在深度学习诞生以前,基于统计模型的机器学习方法已经在各个领域都取得了巨大的成就,如随机森林模型,贝叶斯方法模型,支持向量机等等。可以将这些机器学习模型看成是带有一层隐藏节点或者是没有隐藏节点的人工神经网络,这些模型对多维特征的处理往往具有一定的局限性,容易造成“维度爆炸”。
浅层模型处理规模较大且复杂的数据集的能力有限,同时也会出现很多难以回避的问题,如梯度消失,其原因在于反向传播阶段,误差会随层数的增加而呈指数级趋势减少,传递到最初几层网络时对网络影响很小,导致最初几层的网络权值更新缓慢,从而无法有效学习数据中的特征。
发明内容
本发明为了解决现有方法中准确性差、检测具有滞后性等缺点,通过改进深度置信网络模型结构,结合勒索软件的静态和动态特征来提高勒索软件的检测和防范效果,分别使用操作码序列和文件行为特征作为勒索软件的静态和动态特征,对深度置信网络进行训练,进而得到最优分类器对勒索软件进行检测。
按照本发明提供的方法,所述基于深度置信网络的勒索软件检测方法包括:勒索软件特征提取,深度置信网络模型训练。该发明包括以下步骤。
(1)数据准备,数据模块负责数据的采集,存储和清理。
(2)操作码提取,操作码提取模块负责将二进制文件进行反汇编,并提取其中的操作码序列作为静态特征。
(3)文件行为提取,文件行为提取模块利用Minifilter过滤驱动,在I/O管理器和文件系统驱动之间获取文件IRP请求作为动态特征。
(4)使用n-gram模型提取特征,能够挖掘样本中含有的大量有用信息。本发明选择N=4作为滑动窗口的大小。
(5)特征选择,特征选择模块利用加权信息增益算法,将特征出现的频率用于考虑特征的选择,能够达到更好的分类效果。
基于深度置信网络的勒索软件检测模型中,训练数据一部分通过VirusTotal、Vxheaven等论坛收集,一部分来源于其他学者的论文中公开的样本集,还有一部分是由360安全公司所提供。训练样本的组成分为有类标数据集和无类标数据集,其中有类标数据集中,训练集为4000个样本,其中3000个勒索软件样本,1000个正常样本;测试集为1500个样本,其中1000个勒索软件样本,500正常样本;无类标样本个数为4000,包含勒索软件和正常样本。其中无类标的样本用于深度置信网络中的RBM训练,有类标的样本用于BP反馈调节训练。
所述基于深度置信网络的勒索软件检测模型研究中的特性主要包括以下的一种或者多种。
(1)随着 DBN 网络层数的增加,顶层隐藏层对输入特征向量的降维表示更加抽象化。训练过程中,需要充分训练上一层的RBM后才能训练当前层的RBM,直至最后一层。
(2)当DBN在进行RBM预训练的过程中采用了贪婪算法,即在每一个阶段中,只会做出对当前状态最有利的选择,也就是说,每层的RBM训练只考虑当前状态的局部最优解,而无法得到整体最优解。
(3)必须通过顶层的BP网络对整个DBN进行反馈微调,以此来使整个网络权值达到要求。
(4)交替无监督和有监督学习过程能够使得底层的网络充分学习到样本的标记信息,缓解导数消亡问题。
本发明的优点是:1. 文件行为序列可以很好地反映勒索软件大量操作文件的行为特征,结合操作码序列特征作为神经网络的输入可以达到很好的检测效果;2. 静、动态特征与深度学习相结合的检测方法,能够更进一步提高检测的准确率;3. 深度置信网络是一种半监督的训练学习模型,可以使用大量未标注的样本来训练神经网络,省去了标注样本的时间和成本。
附图说明
图1是本发明的勒索软件检测模型框架。
图2是本发明的基于深度置信网络的核心算法。
图3是勒索软件检测系统实际检测效果。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下参照附图,对本发明进一步详细说明。
图1为本发明提出的一种基于深度置信网络的勒索软件检测模型。主要分为以下几个模块模型训练模块、主动防御模块、文件保护模块。
图2是本发明提出的基于深度置信网络的改进算法,交替有监督和无监督的学习方式,缓解导数消亡问题。
先从采集训练数据,然后提取样本中的静态和动态特征,通过训练并调节深度置信网络参数,使其达到最佳检测效果,最后用于勒索软件检测。下面详细说明每个模块。
模型训练模块是整个勒索软件检测系统的核心模块。首先通过提取训练集样本中的操作码和文件IRP,其中操作码是通过使用IDA Pro对PE文件的反汇编后,使用python脚本提取OpCode;文件IRP是通过文件微过滤驱动MiniFilter过滤程序的文件操作行为,保存其中的Majorfunction。然后通过n-gram以及加权信息增益算法对OpCode和IRP进行特征提取和筛选,形成静态特征和动态特征数据集。最后,使用深度置信网络模型对数据集进行训练,通过不断地调整网络中的参数,使得最终能够生成一个分类效果最优的分类器。
主动防御模块配合模型训练模块对程序进行检测,根据模型训练模块生成的分类器判断程序是否为勒索软件,并根据检测结果决定是否删除程序、还原文件等操作,同时联动文件保护模块,在程序对文件进行操作时,对文件进行备份,保护用户的文件系统。
文件保护模块主要包含备份和恢复两大功能。文件备份的操作通过过滤驱动的回调函数来实现。由于整个系统对于文件的操作非常多,无法对所有的被操作的文件进行备份,这样会导致系统性能大大降低。因此,本文中文件保护模块的策略是,对于修改小于300M字节的小文件进行备份操作,而对于大于300M字节的大文件,则直接弹窗提示用户,当用户确认过后才可对文件进行操作。
深度置信网络模型的训练主要分为两个阶段:逐层预训练RBM和BP反馈调节。
(1)逐层预训练RBM阶段,先计算给定一组可见层与隐藏层的能量函数,得到它们的联合概率分布,从联合概率分布可以定义边缘概率分布,RBM的训练目的就是使其似然函数最大化,这个过程使用对比散度算法对其进行求解。
可见层与隐藏层的能量函数计算:
其中,V = (v1,v2,v3,…,vi)表示可见层单元,h = (h1,h2,h3,…,hj),网络内部参数向量为θ= {w, a, b},ai表示可见层偏置,bj表示隐藏层偏置,wij表示可见层与隐藏层之间的权重系数。
联合概率分布为:
Z为归一化因子,也称为分配函数。
从联合概率分布,可以定义边缘概率分布:
最后使用对比散度算法对参数向量进行更新:
(2)BP反馈调节阶段,采用后向传播算法,BP神经网络作为其最后一层,通过调整原始样本类标与目标输出之间的误差进行反馈微调,将错误信息自顶向下传播至每一层RBM,微调整个网络参数,优化DBN网络来检测勒索软件。
BP神经网络在训练过程中分为两个步骤:信号的正向传播和逆向反馈。
正向传播的过程为:训练样本从输入层输入,经过隐藏层网络处理之后,传到输出层。在整个BP网络训练的过程中,每一层节点只接收前一层神经元的输入,并且前会对后一层神经元的输出状态产生直接的影响。输出神经元的值即为预测值,通过对比预测值与真实值之间的误差执行第二步逆向反馈,更新神经网络中的权重和偏置。
逆向反馈的过程为:让误差E尽可能达到最小,而每个神经元的输出值都是由该点对应的权重和偏置值决定的,而每个神经元的输出值都是由该点对应的权重值和该层对应的偏置值所决定,因此,要让误差达到最小,就要调整W和b的值。

Claims (3)

1.一种基于深度置信网络的勒索软件检测模型,其特征在于,所述方法包括如下步骤:
A、勒索软件静态特征的提取,将文件操作码序列作为其静态特征,输入:二进制程序集合G,输出:操作码序列集合S;
B、勒索软件动态特征的提取,将文件行为序列作为其动态特征,输入:二进制程序集合G输出:文件行为序列集合S;
C、基于深度置信网络模型,输入:文件操作码序列特征和文件行为序列特征G,输出:参数调节后达到最佳分类效果的深度置信网络模型。
2.根据权利要求1所述的一种基于基于深度置信网络模型,其特征在于,所述的步骤逐层预训练RBM的过程A进一步包括如下步骤:
A1、初始化深度置信网络模型的各项参数;
A2、根据公式,计算hi (t) ~P(hi|v(t))
A3、根据公式,计算hj (t+1) ~P(vj|h(t))
A4、通过对比散度算法,实现可见层的重构,并通过样本输入与重构输出之间的误差,采用梯度下降法对参数向量进行更新:
3.根据权利要求1所述的一种基于基于深度置信网络模型,其特征在于,所述的步骤BP反馈调节过程B进一步包括如下步骤:
B1、正向传播(Feed-Forward):
训练样本从输入层输入,经过隐藏层网络处理之后,传到输出层;在整个BP网络训练的过程中,每一层节点只接收前一层神经元的输入,并且前会对后一层神经元的输出状态产生直接的影响;输出神经元的值即为预测值,通过对比预测值与真实值之间的误差执行第二步逆向反馈,更新神经网络中的权重和偏置,当为达到以下条件时重复上述过程:
(1)达到预设的迭代次数;
(2)权重的更新值低于预设的阈值;
(3)预测值与真实值之间的误差低于预设的阈值;
B2、逆向反馈阶段,信号的传播方向与正向传播正好相反;逆向反馈的目的就是让误差E尽可能达到最小,而每个神经元的输出值都是由该点对应的权重和偏置值决定的,而每个神经元的输出值都是由该点对应的权重值和该层对应的偏置值所决定,因此,要让误差达到最小,就要调整W和b的值。
CN201810744196.3A 2018-07-09 2018-07-09 一种基于深度学习的勒索软件检测技术 Pending CN109241738A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810744196.3A CN109241738A (zh) 2018-07-09 2018-07-09 一种基于深度学习的勒索软件检测技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810744196.3A CN109241738A (zh) 2018-07-09 2018-07-09 一种基于深度学习的勒索软件检测技术

Publications (1)

Publication Number Publication Date
CN109241738A true CN109241738A (zh) 2019-01-18

Family

ID=65071811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810744196.3A Pending CN109241738A (zh) 2018-07-09 2018-07-09 一种基于深度学习的勒索软件检测技术

Country Status (1)

Country Link
CN (1) CN109241738A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837638A (zh) * 2019-11-08 2020-02-25 鹏城实验室 一种勒索软件的检测方法、装置、设备及存储介质
CN111885035A (zh) * 2020-07-15 2020-11-03 中国科学院深圳先进技术研究院 一种网络异常检测方法、系统、终端以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330908A (zh) * 2017-06-28 2017-11-07 陕西师范大学 一种基于卷积受限玻尔兹曼机的形状建模方法及相关装置
CN107392025A (zh) * 2017-08-28 2017-11-24 刘龙 基于深度学习的恶意安卓应用程序检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330908A (zh) * 2017-06-28 2017-11-07 陕西师范大学 一种基于卷积受限玻尔兹曼机的形状建模方法及相关装置
CN107392025A (zh) * 2017-08-28 2017-11-24 刘龙 基于深度学习的恶意安卓应用程序检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
孔德光等: "提升多维特征检测迷惑恶意代码", 《软件学报》 *
张国辉: "基于深度置信网络的时间序列预测方法及其应用研究", 《中国优秀硕士论文全文数据库》 *
苏志达等: "基于深度学习的安卓恶意应用检测", 《计算机应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837638A (zh) * 2019-11-08 2020-02-25 鹏城实验室 一种勒索软件的检测方法、装置、设备及存储介质
CN110837638B (zh) * 2019-11-08 2020-09-01 鹏城实验室 一种勒索软件的检测方法、装置、设备及存储介质
CN111885035A (zh) * 2020-07-15 2020-11-03 中国科学院深圳先进技术研究院 一种网络异常检测方法、系统、终端以及存储介质

Similar Documents

Publication Publication Date Title
US11468262B2 (en) Deep network embedding with adversarial regularization
CN108536123B (zh) 基于长短时记忆神经网络的列控车载设备故障诊断方法
Settle et al. Discriminative acoustic word embeddings: Tecurrent neural network-based approaches
Xiang et al. Efficient text-independent speaker verification with structural Gaussian mixture models and neural network
CN109034194B (zh) 基于特征分化的交易欺诈行为深度检测方法
CN105160249B (zh) 一种基于改进的神经网络集成的病毒检测方法
CN111477247B (zh) 基于gan的语音对抗样本生成方法
CN109671423B (zh) 训练数据有限情形下的非平行文本语音转换方法
CN112560079B (zh) 一种基于深度信念网络和迁移学习的隐匿虚假数据注入攻击方法
Wang et al. The dku-dukeece systems for voxceleb speaker recognition challenge 2020
CN102779510A (zh) 基于特征空间自适应投影的语音情感识别方法
CN103729678A (zh) 一种基于改进dbn模型的水军检测方法及系统
CN110111797A (zh) 基于高斯超矢量和深度神经网络的说话人识别方法
Liu et al. Pruning deep neural networks by optimal brain damage.
CN109815336A (zh) 一种文本聚合方法及系统
CN110379418A (zh) 一种语音对抗样本生成方法
CN110110318A (zh) 基于循环神经网络的文本隐写检测方法及系统
AU2020102038A4 (en) A speaker identification method based on deep learning
WO2020214253A1 (en) Condition-invariant feature extraction network for speaker recognition
CN110334243A (zh) 基于多层时序池化的音频表示学习方法
CN109241738A (zh) 一种基于深度学习的勒索软件检测技术
Jayashankar et al. Detecting audio attacks on ASR systems with dropout uncertainty
Ghorbani et al. Domain expansion in DNN-based acoustic models for robust speech recognition
CN114678030A (zh) 基于深度残差网络和注意力机制的声纹识别方法及装置
Sun et al. Progressive multi-target network based speech enhancement with snr-preselection for robust speaker diarization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190118