1.一种基于关系网络的主机入侵检测方法,其特征在于,包括:步骤1,对主机系统调用序列样本集进行特征化处理,得到样本集的属性矩阵和标签矩阵;
步骤2,将经步骤1处理后的数据集划分为训练集、支持集和测试集;再将训练集划分为样例集和查询集,所述样例集和查询集分别对应测试时的支持集和测试集;
步骤3,构建关系网络模型;所述关系网络模型包括嵌入模块、连接模块和关系模块;所述嵌入模块的输出经过连接模块进行特征处理后再输入关系模块;
步骤4,定义关系网络模型的目标函数;
步骤5,将样本集经过步骤1处理和步骤2划分后输入构建的关系网络模型,并利用步骤
4确定的目标函数训练构建的关系网络模型,得到主机入侵检测模型;
步骤6,将需要检测的主机系统调用序列经过步骤1后输入训练好的主机入侵检测模型进行主机入侵检测。
2.根据权利要求1所述的基于关系网络的主机入侵检测方法,其特征在于,步骤1包括如下子步骤:步骤1.1,对样本集进行数值化;
步骤1.2,对数值化后的样本集进行特征化,得到一维特征矩阵;
步骤1.3,对一维特征矩阵进行扩维;
步骤1.4,对扩维后的一维特征矩阵中的特征值进行标准化;
步骤1.5,将标准化后的一维特征矩阵转换为二维矩阵,得到样本集的属性矩阵X;
步骤1.6,对样本集的样本标签采用One-Hot编码,得到标签矩阵Y。
3.根据权利要求1所述的基于关系网络的主机入侵检测方法,其特征在于,步骤1.2中采用词袋模型对数值化后的样本集进行特征化。
4.根据权利要求1所述的基于关系网络的主机入侵检测方法,其特征在于,步骤1.4中采用z-score标准化方法对扩维后的一维特征矩阵中的特征值进行标准化。
5.根据权利要求1所述的基于关系网络的主机入侵检测方法,其特征在于,所述嵌入模块包括四个卷积块(Convolutional block)和两个2*2最大池化层,其结构依次为:卷积块、
2*2最大池化层、卷积块、2*2最大池化层、卷积块、卷积块;其中,每个卷积块是由64个3*3的卷积核、1个批正则化层和1个线性整流层组成;
所述嵌入模块对输入的样本进行的操作如下:
其中,xi表示嵌入模块的输入,即第i个样本; 为嵌入模块对样本xi进行特征映射操作后得到的特征, 为嵌入模块要学习的参数。
6.根据权利要求1所述的基于关系网络的主机入侵检测方法,其特征在于,步骤3中所述连接模块进行特征处理的方法为:将所有输入的样例集/支持集和查询集/测试集的样本进行一一拼接,形成特征连接对;形成拼接对的过程为:其中,con表示两个特征进行连接运算; 和 由所述嵌入模块的操作得到,表示来自样例集/支持集中的第i个样本和来自查询集/测试集中的第j个样本经嵌入模块特征映射操作后的特征值。
7.根据权利要求1所述的基于关系网络的主机入侵检测方法,其特征在于,所述关系模块包括两个卷积块、两个2*2最大池化层、一个线性整流全连接层和一个sigmoid激活函数全连接层,其结构依次为:卷积块、2*2最大池化层、卷积块、2*2最大池化层;其中,每个卷积块是由64个3*3的卷积核、1个批正则化层、1个线性整流层组成;
所述关系模块对样本进行的操作如下:
其中,c属于C,C为样例集/支持集中样本类别数,rc,j表示样例集/支持集中c类样本和查询集/测试集中第j个样本的关系分数,K表示样例集/支持集中c类样本的个数,为特征连接对; 是连接模块的输出,经关系模块进行特征关联后,得到 为连接模块学习的
参数。
8.根据权利要求1所述的基于关系网络的主机入侵检测方法,其特征在于,步骤4中所述目标函数为:其中,prei为预测样本类别,yi为样本实际类别,prei为关系模块的输出经One-Hot编码所得,num为查询集的样本个数。
9.根据权利要求1所述的基于关系网络的主机入侵检测方法,其特征在于,步骤5包括如下子步骤:步骤5.1,根据步骤1得到样本的属性矩阵X和标签矩阵Y;
步骤5.2,根据步骤2将步骤5.1得到的数据集划分为训练集、支持集和测试集;再将训练集划分为样例集和查询集;
步骤5.3,设置训练迭代次数episode;
步骤5.4,在每次迭代过程中从训练集抽取C个类别,每个类别K个样本作为样例集,再从这C个类别中剩余的样本中抽取batch个样本作为查询集;
步骤5.5,将样例集的C*K个样本和查询集的batch个样本输入嵌入模块,得到C*K个和batch个 其中,xi为来自样例集的第i个样本, 表示经过嵌入模块得到的样本特征,xj为来自查询集的第j个样本, 表示经过嵌入模块得到的样本特征;
步骤5.6,将样例集的CK个样本和查询集的batch个样本进行特征连接,得到batch*C*K个 特征连接对,其中,con表示两个样本特征进行连接运算,表示样例集的第i个样本特征和查询集的第j个样本特征进行连接;
步骤5.7,将batch*C*K个 的特征连接对输入关系模块,得到batch*C个特征连接对的相关分数,即batch*C个c为C的其中一个取值,并将其进行One-Hot编码;
步骤5.8,根据步骤4定义的目标函数,进行参数更新;
步骤5.9,重复执行步骤5.4~5.8,episode次,最终得到主机入侵检测模型。