[发明专利]一种基于进程行为分析的恶意加密信道检测方法有效

专利信息
申请号: 202111303061.1 申请日: 2021-11-05
公开(公告)号: CN114143037B 公开(公告)日: 2022-10-11
发明(设计)人: 杨光;付勇;王继志;赵大伟;陈丽娟;陈振娅;杨美红;吴晓明;王英龙 申请(专利权)人: 山东省计算中心(国家超级计算济南中心)
主分类号: H04L9/40 分类号: H04L9/40;H04L41/14
代理公司: 济南金迪知识产权代理有限公司 37219 代理人: 杨树云
地址: 250014*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 进程 行为 分析 恶意 加密 信道 检测 方法
【权利要求书】:

1.一种基于进程行为分析的恶意加密信道检测方法,其特征在于,包括步骤如下:

步骤1:加密会话流量数据采集与进程归类;具体包括:

1.1:加密流量数据采集;

1.2:加密流量数据预处理;

1.3:进程归类;

步骤2:进程文件加密通讯行为特征树建构;具体是指:求取加密会话的元特征、TCP段负载长度序列特征以及SSL消息状态转换特征,并建构加密会话的元特征即IP层、TCP段负载长度序列特征即TCP层以及SSL消息状态转换特征即SSL记录层的三层次特征树;

步骤3:基于特征树的异常检测;具体包括:

3.1:采集正常加密通讯行为数据;

3.2:正常加密通讯行为基准建构;

3.3:目标PEF加密通讯行为模型建构;

3.4:特征树间相异度计算;

3.5:基于阈值的异常检测;

求取加密会话的元特征,具体包括步骤如下:

元特征分为四个维度,包括:

当天进程文件建立加密会话中发送/接收的总IP数据包个数;

当天进程文件建立加密会话中发送/接收的总IP数据包负载字节数;

当天进程文件建立加密会话中发送/接收的IP数据包速率;

当天进程文件建立加密会话中发送/接收的IP数据包负载字节速率;

其中,IP数据包负载指的是IP头部字段中,采用[Total Length]字段的数值减去[Header Length]字段的数值;

发送/接收的IP数据包速率VPacket、发送/接收的IP数据包负载字节速率VBytes的求取公式分别如式(1a)、式(1b)所示:

式(1a)、式(1b)中,PacketCounts是指当天所有加密会话发送/接收的数据包总数,Sesstion_Time_Total是指当天加密会话总持续时间;BytesCounts是指当天所有加密会话发送/接收的数据包负载长度之和;

对四类加密会话流元特征,分别计算最大值Max、最小值Min、平均值Mean与标准差Std四项统计数值,最终对于某天某个进程文件的所有加密会话流提取下述共计32个元特征:发送的总IP数据包个数的最大值Max、最小值Min、平均值Mean与标准差Std;接收的总IP数据包个数的最大值Max、最小值Min、平均值Mean与标准差Std;发送的总IP数据包负载字节数的最大值Max、最小值Min、平均值Mean与标准差Std;接收的总IP数据包负载字节数的最大值Max、最小值Min、平均值Mean与标准差Std;发送的IP数据包速率的最大值Max、最小值Min、平均值Mean与标准差Std;接收的IP数据包速率的最大值Max、最小值Min、平均值Mean与标准差Std;发送的IP数据包负载字节速率的最大值Max、最小值Min、平均值Mean与标准差Std;接收的IP数据包负载字节速率的最大值Max、最小值Min、平均值Mean与标准差Std;

求取TCP段负载长度序列特征,具体包括步骤如下:

选定某段时间内,某个网络进程文件PEF,针对该时间段内其建立的所有通信进程集合{PIDi,i=1,2...,P}与其建立的加密会话集合{Sessionij,i=1,2...P,j=1,2..Si},P为PEF当天建立的通讯进程总数,Si为PIDi创建的加密会话总数,执行下述操作:

2.1:提取所有加密会话的有向段负载长度序列

2.1.1:针对PIDi创建的每个加密会话Sessionij,去除无效数据包即[TCP SegmentLen]字段数值等于0的数据包,剩余的数据包标记为Sessionij的有效数据包;

2.1.2:从Sessionij的有效数据包中选择前CntSij个,得到子序列Seg_SubSeqij,其中CntSij为Sessionij中去除无效数据包后,剩余数据包个数的一半与整数CntST的最小值;

2.1.3:从Seg_SubSeqij中每个数据包的TCP协议头部读取[TCP Payload]字段数值,并根据数据传输方向添加+或-,其中+可省略,+表示内部向外部传输数据,-表示内部接收到外部发送的数据;

通过步骤2.1,针对进程文件PEF创建的所有{PIDi,i=1,2,3..P}关联的加密会话集合{Sessionij,i=1,2..P,j=1,2..Si},得到任一加密会话Sessionij的TCP有向段负载序列集合{DSPSij}

2.2:K阶子序列及权重计算

2.2.1:设定k=1,2...K,其中K为预设值,K为需要统计比较的连续负载子序列的长度或子序列阶数;

2.2.2:统计该PEF建立的所有{PIDi}对应的{Sessionij}中提取的{DSPSij}中,任一连续k阶子序列SubSeqkt在所有{Sessionij,t}中出现的总次数Cnt_SubSeqkt,然后与{Sessionij}中的会话总数Cnt_Session相除计算得到该k阶子序列SubSeqkt在相关加密会话中的出现频率,并定义为该k阶连续子序列的权重Weightkt

2.2.3:通过步骤2.2.2,遍历{DSPSij}中所有k阶子序列,计算其权重,得到最终PEF在第k阶分支上的k阶子序列上的权重特征,对于特定的k阶分支SegPayloadk而言,其分支特征形式为:(SubSeqk1,Weightk1),(SubSeqk2,Weightk2),...,(SubSeqkCnt_k,WeightkCnt_k),Cnt_k表示进程文件的{DSPSij}中所有k阶子序列总数;

子序列权重Weightkq通过统计{DSPSij}中每个SubSeqkq出现的次数,然后计算其所占会话总数Cnt_Session比例求得,具体求取公式如式(2)所示:

2.2.4:按照k=1,2...K的顺序,逐个计算k阶子序列的权重,并最终得到PEF的TCP段负载长度序列特征,PEF的TCP段负载长度序列特征以树结构组织展现;

求取SSL消息状态转换特征,具体是指:

2.3.1:针对特定进程文件的通讯进程{PIDi}关联的加密会话集合{Sessionij},提取TLS协议部分中的[Content Type],并按顺序记录得到SSL消息状态序列SSL_State_Seqij

2.3.2:重复步骤2.3.1,得到当天PEF的所有加密会话{Sessionij}的SSL消息状态序列集合{SSL_State_Seqij};

2.3.3:根据{SSL_State_Seqij}计算对应的Markov转换概率矩阵,其方法为:

以12个SSL记录状态作为行和列,建立12×12的方阵Matrix_SSL={TPij,i=0,2...11,j=0,2..11};

TPij表示{SSL_State_Seqij}中,CTi之后紧接着出现CTj状态的概率,该概率通过计算[CTi,CTj]在所有的[CTi,CT*]的状态二阶子序列中出现的频率得到,求取公式如式(3)所示:

其中CT*表示任意12个SSL记录状态之一,Cnt([CTi,CTt])表示统计状态序列[CTi,CTt]在{Sessionij}中出现的总次数;

2.3.4:将Markov转换矩阵Matrix_SSL的矩阵元素按照行顺序,由左至右、由上至下写作单一行向量形式,并以此作为进程文件PEF在该天的累积SSL消息状态转换特征,具体形式为:[TP0,0,TP0,1,...TP0,11,TP1,0,...TP1,11,...TPi,j,...TP11,0,...TP11,11],i,j=0,1,2...11;

步骤3.1中,采集正常加密通讯行为数据,具体是指:

3.1.1:系统安装启用后,仅安装业务相关的正版软件;

3.1.2:针对新安装的、非系统默认的所有软件提交到VirusTotal在线检测,去除存在恶意风险的软件;

3.1.3:选择系统安装启用后的N天,正常使用相关业务软件,采集加密会话流量,并通过步骤1所述加密会话流量数据采集与进程归类后,保存为Normal_ETA数据,作为正常加密通讯行为基准数据;

步骤3.2中,正常加密通讯行为基准建构,选定特定的终端C,将对终端C在N天中的加密通讯特征采取平均化处理,得到反映其总体行为模式的、单日代表性特征;针对Normal_ETA数据中涉及的网络通讯进程文件集合{PEFc,c=1,2...Qc},其中Qc表示终端C上在N天内运行的进程文件数量,对每个PEFc执行下述操作:

3.2.1:通过步骤2提取Normal_ETA数据中每一天的三层次特征树模型,共得到N个特征树序列{FeatTreet,t=1,2,..N};

3.2.2:提取{FeatTreet,t=1,2,..N}每个特征树第一层即IP层的特征,即针对IP层分析的加密会话流元特征行向量,组成新的矩阵Matrix_Meta={MMij,i=1,2..N,j=1,2...32},计算Matrix_Meta中每个列向量的算术平均值,得到新的平均值行向量FlowMeta_Mean,以此作为单日加密通讯行为基准特征树的第一层分支特征,具体计算如式(4)所示,其中表示第j列均值;

3.2.3:提取{FeatTreet,t=1,2,..N}每个特征树第二层即TCP层的分支子树,即针对TCP层分析的段负载长度序列特征子树,针对所有k阶子序列,k=1,2..K,

首先,选择第k阶子序列的并集,构成第k阶子序列单日子序列集合;

其次,计算第k阶子序列单日子序列集合在{FeatTreet,t=1,2,..N}中每个特征树第二层分支上标记的权重之和,并对N天取算术平均值,以此作为单日加密通讯行为基准特征树的第二层分支的第k阶特征其计算公式如式(5)所示:

其中,子序列的阶数k采用上标标识,对于任一SubSeqki,一定存在某个特征树FeatTreej,使得其k阶段负载长度序列分支SegPayloadkj中包含k阶序列SubSeqki,针对k=2,3..K的所有阶数子序列执行步骤3.2.3,得到融合后的TCP段负载序列长度单日代表性特征;

3.2.4:针对SSL记录层的状态转换特征向量,提取{FeatTreet,t=1,2,..N}每个特征树第三层即SSL记录层的分支特征,组成新的矩阵Matrix_SSL={MSij,i=1,2..N,j=1,2...144},计算Matrix_SSL中每个列向量的算术平均值,得到新的平均值行向量SSLType_Mean,以此作为单日加密通讯行为基准特征树的第三层分支特征,其计算公式如式(6)所示:

其中表示第j列均值;对应行元素求和后取平均值,得到Normal_ETA的平均特征树的第三层分支向量SSLType_Mean;

最终针对{PEFc}中所有的进程文件,重复上述步骤3.2.1至步骤3.2.4,得到所有PEFc的N天内的单日代表特征树集合将其所有单日代表特征树的集合,作为正常加密通讯行为基准;

步骤3.3中,目标PEF加密通讯行为模型建构,具体是指:

通过步骤2,针对特定天的终端上运行的PEFT提取其层次化特征树FeatTreeT,并将其作为与集合比较对象;

步骤3.4中,特征树间相异度计算,具体是指:

设定得到待分析进程文件的特征树TreeT与正常加密通讯行为基准TreeSetN={Treei,i=1,2..M},TreeT与{Treei,i=1,2..M}的相异度计算过程具体如下:

3.4.1:IP层加密会话流的元特征相异度计算

①提取TreeT第一层分支特征,与{Treei,i=1,2..M}中每个特征树的第一层分支特征共同组成第一分支矩阵Matrix_1;

②对Matrix_1进行列归一化,将Matrix_1的元素数值映射到[0,1]之间,如式(7)所示:

其中,x表示任一列向量中元素,xmin表示该列最小值,xmax表示该列最大值:

归一化后得到新的矩阵Matrix_1maxmin,其中第一个行向量表示归一化后的TreeT的第一分支特征;依次计算Matrix_1maxmin中第一行与其余M个行向量的L2范式距离,如式(8)所示:

通过式(8),得到TreeT在第一分支维度与{Treei,i=1,2..M}中所有成员的距离序列DisLst1={disT,i|i=1,2...M};

计算距离序列DisLst1的算术或几何均值,作为TreeT与{Treei,i=1,2..M}的第一分支相异度DV1即IP层加密会话流的元特征相异度;

3.4.2:TCP层段负载长度序列相异度计算

③提取TreeT与TreeSetN中每个特征树对应的第二层分支子树,得到针对第二层分支子树的新集合SubTreeSet2,此时其中的第一个子树SubTreeT依旧表示待分析TreeT的第二层子树;

④依次计算SubTreeT相对于任一SubTreei的相异度,其中SubTreei∈SubTreeSet2,但是SubTreei≠SubTreeT,具体方法为:

选定SubTreeT与任一SubTreei

选取SubTreeT中第一个第k阶子序列SubSeqk1,遍历某个SubTreei中的所有k阶子序列,若匹配存在,则取二者最小权重为匹配权重,即Wetmatchk1=min{WeightT,k1,Weighti,k1};若未能成功匹配,则跳过该子序列SubSeqk1

读取第二个第k阶子序列执行步骤④,直至所有k阶子序列均匹配完成;

基于匹配完成的所有k阶子序列及其匹配支持度,计算加权和SV2K作为SubTreeT与SubTreei的在所有k阶子序列上的相异度,如式(9)所示:

式(9)中,K表示分析的子序列阶数最大值,k表示特定的阶数,k阶子序列上的相似度采用所有k阶子序列匹配权重之和并乘以相应的阶数权重的方式计算,最终得到SubTreeT与SubTreei的特征相似度;

⑤针对SubTreeT与所有的SubTreei按照步骤④计算相应的SV2k,得到相应的M个相似度序列SVSet2K={SVi,2K,i=1,2..M},并通过式(7)对SVSet2K执行归一化;

⑥得到其相异度序列DVSet2K={DVi,2K|DVi,2K=1.0-SVi,2K,i=1,2..M},并计算其相应的平均值,然后将所得平均值作为TreeT与TreeSetN在第二分支上的相异度DV2即TCP层段负载长度序列相异度;

3.4.3:SSL记录层状态转移相异度计算

⑦提取TreeT第三层分支特征,与{Treei,i=1,2..M}中每个特征树的第三层分支特征共同组成第三分支矩阵Matrix_3;

⑧对Matrix_3进行列归一化,即采用式(7)将Matrix_3的元素数值映射到[0,1]之间;归一化得到矩阵Matrix_3maxmin,其中第一行向量表示归一化后的TreeT的第三分支特征;采用公式(10)的L2范式距离计算Matrix_3maxmin中第一行与其余各行偏移,得到TreeT在第三分支维度与{Treei,i=1,2..M}中所有成员的距离序列DisLst3={disT,i|i=1,2...M};

计算距离序列DisLst3的算术或几何均值均值,作为TreeT与{Treei,i=1,2..M}的第三分支相异度DV3即SSL记录层状态转移相异度;

步骤3.5中,基于阈值的异常检测,具体实现过程包括:

分别与基于专家领域或先验经验设定的异常阈值TV1、TV2与TV3比较,若DVi>TVi,则判定第i分支行为偏移,即异常;若TreeT中至少有两个分支异常,则判定TreeT异常,即TreeT对应的进程文件PEFT属于异常进程,作为高风险恶意加密通信端上报给安全分析管理员进一步研判,并采取跟踪监控与阻断应急响应减小损失;

最终,若判定待检加密通讯行为正常,则将该加密通讯行为对应的特征树同步更新到已有正常模型库TreeSetN中,其更新方法为:

若TreeT对应的进程文件PEFT并不存在于TreeSetN所对应的进程文件集合PEFSetN中,则直接将PEFT加入到PEFSetN中,同时将TreeT加入到TreeSetN中,完成更新;

若TreeT对应的进程文件PEFT存在于TreeSetN所对应的进程文件集合PEFSetN中,则将临时保存的TreeT对应的PEF_PID_Session.csv添加到正常加密通讯行为数据库Normal_ET_Data中,重新进行正常加密通讯行为基准建构。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东省计算中心(国家超级计算济南中心),未经山东省计算中心(国家超级计算济南中心)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111303061.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top