CN108629183B - 基于可信度概率区间的多模型恶意代码检测方法 - Google Patents

基于可信度概率区间的多模型恶意代码检测方法 Download PDF

Info

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
Application number
CN201810453922.6A
Other languages
English (en)
Other versions
CN108629183A (zh
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.)
Nankai University
Original Assignee
Nankai 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 Nankai University filed Critical Nankai University
Priority to CN201810453922.6A priority Critical patent/CN108629183B/zh
Publication of CN108629183A publication Critical patent/CN108629183A/zh
Application granted granted Critical
Publication of CN108629183B publication Critical patent/CN108629183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test 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和样本
Figure BDA0001659135710000022
之间第j小的距离δij。其中
Figure BDA0001659135710000021
核密度估计算法(KDE)是一种无参的方法,来估计随机可变的概率密度函数。设(x1,x2,...,xn)都是属于Rd的独立且同分布的变量,所选特征的个数为d,所得结果为,
Figure BDA0001659135710000031
h是核带宽,函数K是选定的高斯核函数,
Figure BDA0001659135710000032
第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)}的保序校准公式如下:
Figure BDA0001659135710000033
其中pi为xi的预测标签为1的可能性。
第3.2、使用pair-adjacentviolatorsalgorithm(PAVA)算法,找到使
Figure BDA0001659135710000034
取得最大值的增函数g。
第四步、使用增函数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僵尸网络数据集(样例):
Figure DEST_PATH_IMAGE001
HTTP僵尸网络数据集(样例):
Figure DEST_PATH_IMAGE002
P2P僵尸网络数据集(样例):
Figure DEST_PATH_IMAGE003
2、提取网络行为特征
本实施方式,提取10个与每个网络痕迹有关的特征。这些特征包括通信频率、通信持续时间、发送和接收的字节数、发送和接收的包数、协议类型和使用3个端口(SystemPorts,User Ports, Dynamic or Private Ports)的占比,并将网络痕迹抽象成一个特征向量;
HTTP特征向量:
Figure BDA0001659135710000071
IRC特征向量:
Figure BDA0001659135710000072
P2P特征向量:
Figure BDA0001659135710000073
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)}的保序校准公式如下:
Figure FDA0003102855260000011
其中pi为xi的预测标签为1的可能性;
第3.2、使用pair-adjacentviolatorsalgorithm(PAVA)算法,找到使
Figure FDA0003102855260000012
取得最大值的增函数g;
第四步、使用增函数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,即样本的检测结果为良性代码。
CN201810453922.6A 2018-05-14 2018-05-14 基于可信度概率区间的多模型恶意代码检测方法 Active CN108629183B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 南开大学 基于可信度的网络恶意行为检测方法

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