CN108629183B - 基于可信度概率区间的多模型恶意代码检测方法 - Google Patents
基于可信度概率区间的多模型恶意代码检测方法 Download PDFInfo
- Publication number
- CN108629183B CN108629183B CN201810453922.6A CN201810453922A CN108629183B CN 108629183 B CN108629183 B CN 108629183B CN 201810453922 A CN201810453922 A CN 201810453922A CN 108629183 B CN108629183 B CN 108629183B
- Authority
- CN
- China
- Prior art keywords
- sample
- probability interval
- model
- algorithm
- label
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Abstract
本发明提出一种基于可信度区间的多模型恶意代码检测系统。每种机器学习检测模型都对应着底层数据的一种分布,各种基于阈值的检测模型都可以整合到本发明的统计平台上,实现从多角度观检测意代码数据的分布,缓解概念漂移带来的模型退化问题。本检测系统改变了现有机器学习检测模型的0或1的预测模式,基于现有的检测模型计算出的得分,进行统计分析,对样本的得分分布和样本的标签建立保序回归函数。对于未知样本,根据现有检测模型给出的得分,输入已计算出的保护回归函数,可以给出预测为某个标签的可信度概率区间,这个概率区间可以缓解固定阈值对训练数据集的过度拟合问题,提升检测模型对当前动态数据的适应能力,提前发现概念漂移现象。
Description
技术领域
本发明属于计算机防病毒技术领域。
背景技术
人工分析已经难以及时分析如此海量的新增恶意代码,因此机器学习技术已经广泛的应用到恶意代码分析与检测系统中。但是,在经济利益的驱动下,网络安全威胁的变异、进化速度越来越快,在数量增长的同时,超过70%的新恶意代码样本采用了躲避机器学习的自我保护技术,有的样本甚至使用了多种躲避技术。因此,恶意代码的数据分布规律和显著度水平在随时间不断的变化,导致基于机器学习的检测模型,相对于语音识别模型、人脸识别模型、文字识别模型等,存在严重的快速老化问题。
发明内容
本发明目的是解决现有的基于静态阈值的僵尸网络检测模型面临的概念漂移的问题,提供一种基于统计学习的可信度概率区间的多模型恶意代码检测方法。该方法在根据已知样本进行训练后,对于待测僵尸网络的预测的每一个结果都是一个概率区间,这个概率区间表示待测僵尸网络属于某个已知僵尸网络家族的概率区间。
本发明在传统的机器学习模型基础上,引入了统计学习算法,给0和1的预测模式,引入可信度概率区间,能够感知底层恶意代码数据分布和显著度水平的量变过程,并通过时间窗,发现数据的概念漂移现象。
本发明的技术方案
1、本发明首先提供了一种底层打分分类方法,该方法包括如下步骤:
第1步、基本概念:
(1)网络流量(Netflow):是同一网络通信时域的网络包的集合;
(2)网络痕迹(Trace):是一组含有相同源IP、目的IP、目的端口和协议的多个网络流量(Netflow);
(3)僵尸网络(Botnet):指采用一种或多种传播手段,将被控制主机感染僵尸程序(Bot),从而在控制者和被感染主机之间所形成的一个能够一对多控制的网络;
第2步、网络行为特征的提取
第2.1、确定网络行为的表示粒度,其中包括:数据包级粒度,每个数据包表示一个网络行为; NetFlow级粒度,一个网络连接过程的所有网络数据表示一个网络行为;应用级粒度,一个应用过程的所有数据包表示一个网络行为;
第2.2、提取网络行为的特征点f;根据不同的数据集,选择不同的网络行为特征点f;
第2.3、选择特征点,将网络行为抽象成特征向量V;在可选网络行为特征点中,选择n个特征点组成特征向量V(f1,f2,...fn),使用选择的网络行为特征点作为网络行为的抽象表示,将二进制的网络数据映射成特征点组成的特征向量;
第2.4、网络恶意行为集合的特征矩阵表示;网络恶意行为集合中包含了N个行为,每个行为都使用相同结构的特征向量Vi表示,1≤i≤N,这N个特征向量组成网络恶意行为特征矩阵C;特征矩阵的每一列表示一个特征点、每一行表示一个网络恶意行为的特征向量;
第3步、计算打分函数的预测分数
第3.1、任何基于阈值的机器学习检测模型都能够作为打分函数,包括:
k邻近分类算法(KNN)是一种有监督的分类算法,其未知样本的标签由它多数的邻近点决定。 k是一个正整数,代表k个最近的邻居;根据距离测试样本最近的k个邻居中大多数邻居归属的类别,来预测样本属于的类别。样本为zi,所得结果为Ai,输入为在样本zi和样本之间第j小的距离δij。其中
核密度估计算法(KDE)是一种无参的方法,来估计随机可变的概率密度函数。设(x1,x2,...,xn)都是属于Rd的独立且同分布的变量,所选特征的个数为d,所得结果为,h是核带宽,函数K是选定的高斯核函数,
第3.2、每一个未知的样本都能够根据打分函数得到一个得分。
2、基于可信度概率区间的多模型恶意代码检测方法,该方法以上述的KNN、KDE打分算法作为底层,选用统计学习算法,预测一个待测样本x的标签,包含如下步骤:
第一步、处理待测样本
第1.1、将待测样本分别赋予两个标签0和1,将(x,0)和(x,1)这两个样本当成已知量;
第1.2、得到样本序列(z1,...,zl,(x,0)),(z1,...,zl,(x,1));
第二步、使用以上所述的KNN、KDE算法作为打分函数
第2.1、将s0()作为(z1,...,zl,(x,0))的打分函数,将s1()作为(z1,...,zl,(x,1))的打分函数;
第2.2、得到((s0(x1),y1),...,(s0(xl),yl),(s0(x),0))和((s1(x1),y1),...,(s1(xl),yl),(s1(x),1))序列;
第三步、找到增函数g
第3.1、增函数g对结果序列{s(x1),...,s(xl)}的保序校准公式如下:
第四步、使用增函数g,预测x标签为1的概率区间
第4.1、使用g0作为((s0(x1),y1),...,(s0(xl),yl),(s0(x),0))的保序回归函数,g1作为 ((s1(x1),y1),...,(s1(xl),yl),(s1(x),1))的保序回归函数;
第4.2、样本x的标签为1的概率区间为(p0,p1),其中p0:=g0(s0(x)),p1:=g1(s1(x))。
第五步、根据用户事先输入的可接受最大出错概率pe与样本x的标签为1的概率区间(p0,p1) 预测结果
第5.1、如果(1-p0)<pe,则预测结果为1,即样本的检测结果为恶意代码;如果p1<pe,则预测结果为0,即样本的检测结果为良性代码。
本发明的优点和积极效果:
本发明提出基于可信度概率区间的多模型恶意代码检测方法,该方法是开放的,任何基于固定阈值的机器学习检测模型都可以很容易的架构到我们的平台上,并得到统计学习算法给出预测结果的可信度概率区间,比传统的基于0或1的假阳率、假阴率的评估体系,能够提前发现模型的老化现象,更好的应对网络恶意行为的变异、演变。
【附图说明】:
图1基于可信度概率区间的多模型恶意代码检测方法程图。
图2是KNN算法的检测结果。
图3是KDE算法的检测结果。
图4是在KNN算法下每个僵尸网络种类使用保序回归的结果,每张图有两条保序回归曲线,分别代表x的标签为1和0两种情况;其中,a是IRC数据的保序回归曲线,b是HTTP数据的保序回归曲线,c是P2P数据的保序回归曲线。
图5是在KDE算法下每个僵尸网络种类使用保序回归的结果,每张图有两条保序回归曲线,分别代表x的标签为1和0两种情况;其中,a是IRC数据的保序回归曲线,b是HTTP数据的保序回归曲线,c是P2P数据的保序回归曲线。
图6是KNN的预测质量。
图7是KDE的预测质量。
【具体实施方式】:
本发明以检测僵尸网络为例进行具体说明,底层打分函数以KNN和KDE算法为例,任何使用阈值比较的机器学习算法都可以作为打分函数应用到该方法上。
1、网络恶意行为
本实施方式,使用包含真实网络通信流量的数据集,数据集中包含IRC,HTTP,P2P三类僵尸网络。
IRC僵尸网络数据集(样例):
HTTP僵尸网络数据集(样例):
P2P僵尸网络数据集(样例):
2、提取网络行为特征
本实施方式,提取10个与每个网络痕迹有关的特征。这些特征包括通信频率、通信持续时间、发送和接收的字节数、发送和接收的包数、协议类型和使用3个端口(SystemPorts,User Ports, Dynamic or Private Ports)的占比,并将网络痕迹抽象成一个特征向量;
HTTP特征向量:
IRC特征向量:
P2P特征向量:
3、利用KNN、KDE算法作为打分函数计算结果
用一组观测结果训练模型后,输入一个测试样本x,利用KNN和KDE算法,计算它们的结果作为打分函数。
4、预测一个待测样本x的标签:
4.1、将待测样本分别赋予两个标签0和1,将(x,0)和(x,1)这两个样本当成已知量,得到样本序列(z1,...,zl,(x,0)),(z1,...,zl,(x,1));
4.2、使用打分分类方法s0()作为(z1,...,zl,(x,0))的打分函数,s1()作为(z1,...,zl,(x,1))的打分函数,给出待测样本的对于三种僵尸网络的得分,来显示新的待测样本与三种僵尸网络的相似度;
4.3、根据最好的分数(最小的)做出预测,并得到全部测试样本的混淆矩阵(见图2、3),可以看到,KNN和KDE方法都有很好的结果;
4.4、通过下层打分函数得出的每一个分数使用保序回归计算出统计上的概率区间,由此得到全部样本的质量矩阵。图4、5展示了每种僵尸网络使用保序回归的结果,每张图有两条保序回归曲线,分别代表x的标签为1和0两种情况。根据这两条曲线,每一个测试样本都能得到一个概率区间。
4.5、分析混淆矩阵和质量矩阵,以此识别概念漂移。从图6、7中可以看出KNN和KDE的预测质量,正确的阳性预测都有很好的平均概率区间。
Claims (1)
1.基于可信度概率区间的多模型恶意代码检测方法,其特征在于,该方法以传统的k邻近分类打分算法和核密度估计打分算法作为底层,选用统计学习算法,预测一个待测样本x的标签,包含如下步骤:
第一步、处理待测样本
第1.1、将待测样本分别赋予两个标签0和1,将(x,0)和(x,1)这两个样本当成已知量;
第1.2、得到样本序列(z1,...,zl,(x,0)),(z1,...,zl,(x,1));
第二步、使用传统的k邻近分类打分算法和核密度估计打分算法作为打分函数
第2.1、将s0()作为(z1,...,zl,(x,0))的打分函数,将s1()作为(z1,...,zl,(x,1))的打分函数;
第2.2、得到((s0(x1),y1),...,(s0(xl),yl),(s0(x),0))和((s1(x1),y1),...,(s1(xl),yl),(s1(x),1))序列;
第三步、找到增函数g
第3.1、增函数g对结果序列{s(x1),...,s(xl)}的保序校准公式如下:
第四步、使用增函数g,预测x标签为1的概率区间
第4.1、使用g0作为((s0(x1),y1),...,(s0(xl),yl),(s0(x),0))的保序回归函数,g1作为((s1(x1),y1),...,(s1(xl),yl),(s1(x),1))的保序回归函数;
第4.2、样本x的标签为1的概率区间为(p0,p1),其中p0:=g0(s0(x)),p1:=g1(s1(x));
第五步、根据用户事先输入的可接受最大出错概率pe与样本x的标签为1的概率区间(p0,p1)预测结果
第5.1、如果(1-p0)<pe,则预测结果为1,即样本的检测结果为恶意代码;如果p1<pe,则预测结果为0,即样本的检测结果为良性代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810453922.6A CN108629183B (zh) | 2018-05-14 | 2018-05-14 | 基于可信度概率区间的多模型恶意代码检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810453922.6A CN108629183B (zh) | 2018-05-14 | 2018-05-14 | 基于可信度概率区间的多模型恶意代码检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108629183A CN108629183A (zh) | 2018-10-09 |
CN108629183B true CN108629183B (zh) | 2021-07-20 |
Family
ID=63692950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810453922.6A Active CN108629183B (zh) | 2018-05-14 | 2018-05-14 | 基于可信度概率区间的多模型恶意代码检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108629183B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2739865C2 (ru) * | 2018-12-28 | 2020-12-29 | Акционерное общество "Лаборатория Касперского" | Система и способ обнаружения вредоносного файла |
CN109902756A (zh) * | 2019-03-07 | 2019-06-18 | 重庆恢恢信息技术有限公司 | 一种基于主动学习的众包机制辅助排序方法和系统 |
CN111835541B (zh) * | 2019-04-18 | 2021-10-22 | 华为技术有限公司 | 一种流量识别模型老化检测方法、装置、设备及系统 |
CN110365636B (zh) * | 2019-05-23 | 2020-09-11 | 中国科学院信息工程研究所 | 工控蜜罐攻击数据来源的判别方法及装置 |
CN110334544B (zh) * | 2019-06-26 | 2023-07-25 | 深圳前海微众银行股份有限公司 | 联邦模型退化处理方法、装置、联邦训练系统及存储介质 |
US11256597B2 (en) | 2019-11-14 | 2022-02-22 | International Business Machines Corporation | Ensemble approach to alerting to model degradation |
US11455561B2 (en) | 2019-11-14 | 2022-09-27 | International Business Machines Corporation | Alerting to model degradation based on distribution analysis using risk tolerance ratings |
US11810013B2 (en) | 2019-11-14 | 2023-11-07 | International Business Machines Corporation | Systems and methods for alerting to model degradation based on survival analysis |
US11768917B2 (en) | 2019-11-14 | 2023-09-26 | International Business Machines Corporation | Systems and methods for alerting to model degradation based on distribution analysis |
CN111898129B (zh) * | 2020-08-07 | 2022-10-14 | 北京理工大学 | 基于Two-Head异常检测模型的恶意代码样本筛选器及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635658B (zh) * | 2009-08-26 | 2011-08-17 | 中国科学院计算技术研究所 | 网络失窃密行为的异常检测方法及系统 |
CN104978522B (zh) * | 2014-04-10 | 2018-05-08 | 北京启明星辰信息安全技术有限公司 | 一种检测恶意代码的方法和装置 |
CN105681250B (zh) * | 2014-11-17 | 2019-04-02 | 中国信息安全测评中心 | 一种僵尸网络分布式实时检测方法和系统 |
CN106850658B (zh) * | 2017-02-28 | 2019-12-03 | 南开大学 | 实时在线学习的网络恶意行为检测方法 |
CN106878314B (zh) * | 2017-02-28 | 2019-12-10 | 南开大学 | 基于可信度的网络恶意行为检测方法 |
-
2018
- 2018-05-14 CN CN201810453922.6A patent/CN108629183B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108629183A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108629183B (zh) | 基于可信度概率区间的多模型恶意代码检测方法 | |
US20200356904A1 (en) | Machine Learning Model Evaluation | |
CN111144459B (zh) | 一种类不平衡的网络流量分类方法、装置及计算机设备 | |
US11689549B2 (en) | Continuous learning for intrusion detection | |
CN110691100B (zh) | 基于深度学习的分层网络攻击识别与未知攻击检测方法 | |
Rani et al. | Intelligent transportation system for internet of vehicles based vehicular networks for smart cities | |
Carrasco et al. | Unsupervised intrusion detection through skip-gram models of network behavior | |
Kilincer et al. | A comprehensive intrusion detection framework using boosting algorithms | |
CN109033836B (zh) | 基于统计学习的恶意代码多模型交叉检测方法 | |
Pathak et al. | Study on decision tree and KNN algorithm for intrusion detection system | |
Monshizadeh et al. | Security related data mining | |
CN113821793A (zh) | 一种基于图卷积神经网络的多阶段攻击场景构建方法及系统 | |
Toshniwal | A framework for outlier detection in evolving data streams by weighting attributes in clustering | |
Khoei et al. | Boosting-based models with tree-structured parzen estimator optimization to detect intrusion attacks on smart grid | |
Saurabh et al. | Nfdlm: A lightweight network flow based deep learning model for ddos attack detection in iot domains | |
Zhang et al. | Semi–supervised and compound classification of network traffic | |
Zheng et al. | Preprocessing method for encrypted traffic based on semisupervised clustering | |
CN111224919B (zh) | 一种ddos识别方法、装置、电子设备及介质 | |
Milliken et al. | Ensemble learning utilising feature pairings for intrusion detection | |
Jeyanna et al. | A network intrusion detection system using clustering and outlier detection | |
Sadhasivam et al. | Malicious activities prediction over online social networking using ensemble model | |
Wei et al. | Reconstruction-based LSTM-Autoencoder for Anomaly-based DDoS Attack Detection over Multivariate Time-Series Data | |
Subramaniam et al. | Network security modeling using NetFlow data: Detecting botnet attacks in IP traffic | |
CN110689074A (zh) | 一种基于模糊集特征熵值计算的特征选择方法 | |
CN113379000B (zh) | 一种自适应更新的网络入侵检测方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |