1、网络信息交互过程安全漏洞检测仿真 赵战民 岳永哲 河北地质大学信息工程学院 河北科技大学信息科学与工程学院 摘 要: 对网络信息交互过程安全漏洞检测, 能够有效提升网络安全性。对信息交互中安全漏洞的检测, 需要建立特征样本分类子集的离散性函数, 将离散程度值作为识别正常行为集的依据, 完成安全漏洞是检测。传统方法剔除少部分信息交互过程安全漏洞信息, 对获取的信息安全漏洞进行去重处理, 但忽略了建立特征样本分类子集的离散性函数, 导致检测精度偏低。提出基于隐马尔可夫的网络信息交互过程安全漏洞检测方法。获取网络的流表项, 构建针对信息交互过程目的地址的流表特征值, 建立特征样本分类子集的离散性函数
2、, 将离散程度值作为识别信息交互过程正常行为集的依据, 利用隐马尔可夫模型对正常信息交互过程行为样本集进行建模, 实现了信息交互过程安全漏洞检测模型的动态更新。实验证明, 所提方法能够有效提升信息交互过程安全漏洞分类精度, 且安全漏洞检测效率较高。关键词: 网络信息; 交互过程; 漏洞检测; 作者简介:赵战民 (1979-) , 男 (汉族) , 河北保定人, 硕士, 讲师, 研究方向:智能设备;作者简介:岳永哲 (1979-) , 男 (汉族) , 河北保定人, 讲师, 研究方向:电子测量技术。收稿日期:2017-05-26Network Information Interaction Pr
3、ocess Security Vulnerability Detection SimulationZHAO Zhan-min YUE Yong-zhe College of Information Engineering, Hebei GEO University; School of Information Science and Engineering, Hebei University of Science and Technology; Abstract: This article proposes a method for security vulnerability detecti
4、on of interaction process of network information based on the Hidden Markov. Our research acquired flow entry of network and structured characteristic value of flow table aiming at destination address of the interaction process, then built discreteness function of classification subset of feature sa
5、mple. Moreover, the research considered value of dispersion degree as gist of normal behavior set of interaction process of identifying information and carried out modeling for the behavior sample set using the Hidden Markov. Thus, we realized dynamic update of model of the security vulnerability de
6、tection of interaction process. Experiments show that the method can promote classification accuracy of security vulnerability effectively and has high detection efficiency.Keyword: Network information; Interaction process; Vulnerability detection; Received: 2017-05-261 引言在飞速发展的网络时代, 电子信息技术和计算机网络技术迅
7、猛发展, 当前网络信息化水平和自动化水平不断提高, 网络在军事、医学、媒体传播等领域发挥着重要的作用, 其中信息交互过程更是保证这些系统的网络通信运行和安全的重要手段1-2。随着网络信息交互过程更加频繁, 也引发了一系列网络问题, 在网络电子信息交互过程中, 网络安全安全漏洞的产生造成了数据完整性、可获得性以及保密性受损3-4。在这种情况下, 有效的网络安全漏洞分析对于提高信息交互过程安全性具有重要的现实意义, 可为安全漏洞攻击路径的预测以及僵尸网络的预警等提供良好的理论依据5-6。目前主要的安全漏洞检测方法分为以下几类, 例如文献7提出一种基于模式匹配的网络信息交互过程安全漏洞检测方法。该方
8、法先对待测信息交互过程安全漏洞源码进行解析, 将其转变为中间表示形式, 并存放在网络数据结构中, 采用安全规则语言描述交互过程安全漏洞并解析安全规则, 将其转变为相应的自动机模型存放在内存中, 以信息交互过程安全漏洞源码模式匹配结果为依据完成安全漏洞检测。该方法漏报率较低, 但扩展性较差。文献8提出一种基于模糊测试的网络信息交互过程安全漏洞检测方法。该方法在分析信息交互过程协议语法、格式和会话流程的基础上, 对可能出现的信息安全漏洞生成相应的异常数据包作为模糊测试的测试用例, 在监视到信息交互过程异常信息时, 分析导致信息异常的错误能够被利用。该方法检测效率较高, 但存在检测漏报率高的问题。文
9、献9提出一种基于攻击向量自动生成的网络信息交互过程安全漏洞检测方法。该方法先采用机器学习方法对网络信息交互过程攻击向量进行优化和分类, 在利用安全漏洞攻击向量进行渗透测试前, 利用探子算法剔除少部分信息交互过程安全漏洞信息, 在此基础上对获取的信息安全漏洞进行去重处理, 该方法检测效率较高, 但存在攻击向量获取过程开销过大的问题10。针对上述问题, 提出一种基于隐马尔可夫的网络信息交互过程安全漏洞检测方法, 主要贡献是:通过分析网络安全漏洞攻击特性和信息交互过程的流表项, 实现了在线检测的安全漏洞检测应用, 并利用隐马尔可夫模型对信息交互过程安全漏洞样本进行分类处理, 有效地区分出了正常信息交
10、互行为, 通过实验验证了有效性, 并说明了所提方法在显著提升软件测试效率的同时得到了较好的模糊安全漏洞分类效果。2 网络信息交互过程安全漏洞检测原理在进行网络信息交互过程安全漏洞检测过程中, 首先采集网络信息交互过程安全漏洞文本样本, 将模糊熵理论和支持向量机分类方法相融合, 设计安全漏洞文本样本类间隶属度函数来表述安全漏洞特征项的分布情况, 采用支持向量机分类方法对安全漏洞特征进行分类学习, 实现对网络信息交互过程安全漏洞检测, 具体过程如下所述:在网络信息交互过程安全漏洞文本信息处理问题上, 安全漏洞文本主要采用向量空间模型, 在处理信息交互过程安全漏洞文本的信息时, 利用向量的形式来表征
11、信息交互过程安全漏洞文本, 利用下式给出网络信息交互过程安全漏洞文本近似度公式式中, d i代表要处理的信息交互过程安全漏洞文本样本, C j代表信息交互过程安全漏洞样本 di所属的安全漏洞类别, m 代表信息交互过程安全漏洞分类体系中安全漏洞类别个数, W ik代表 di所属类别 Cj的第 k 个特征的权重, w jk和 wik分别代表的安全漏洞特征文本向量。针对网络信息交互过程安全漏洞分类的模糊性, 设计利用类间类内近似度来衡量信息交互过程安全漏洞特征 t 与安全漏洞类别 ci之间关系的隶属度函数式中, tf it代表信息交互过程安全漏洞特征 t 在安全漏洞类别 ci中出现的次数, tft
12、代表信息交互过程安全漏洞特征在全部安全漏洞特征 t 中出现的次数, d it代表信息交互过程安全漏洞类别 ci中含有特征 t 的文本的数量, D i代表信息交互过程安全漏洞类别 ci中全部安全漏洞文本的数量, N 代表全部安全漏洞文本的数量, 将模糊熵的定义引入到网络信息交互过程安全漏洞特征选择过程中, 利用下式对信息交互过程安全漏洞特征进行选择式中, FE (t) 代表信息交互过程安全漏洞特征 t 的模糊熵。以信息交互过程安全漏洞特征选择结果为依据, 采用支持向量机分类方法对安全漏洞特征进行分类学习, 实现对网络信息交互过程安全漏洞检测。3 网络信息交互过程安全漏洞检测方法3.1 获取信息交
13、互过程流表项特征值在进行网络信息交互过程安全漏洞检测过程中, 首先通过分析网络安全漏洞攻击特点, 获取网络的流表项, 构建针对信息交互过程目的地址的流表特征值, 具体过程如下所述:网络的流表是信息交互过程数据包的转发依据, 各个流表由多个流表项构成, 通过获取信息交互过程流表项信息, 可以分析单位时间内网络信息交互过程流量分布特性的变化, 设定 sip、dip、sp、dp、pc、bc 分别代表信息交互过程流表项的源地址、目的地址、源端口、目的端口、数据包数、比特数, 设定 S 代表取样周期 T 内的不同流表项总数, pc i和 bci分别代表信息交互过程流表项信息的权重, 将流表项信息转换为有
14、关安全漏洞攻击的信息特征, 其中包含平均包数 AP、平均比特数 AB、信息交互过程流表项速率 FR, H (sip) 代表信息交互过程源地址熵, H (sp) 和 H (dp) 代表源端口熵和目的端口熵, 分析发现网络信息交互过程中安全漏洞攻击流的平均数据包异于正常流, 利用下式计算出网络信息交互过程流表平均包数式中, pc j代表 sipj至 dipk的数据包个数, 一些信息交互过程安全漏洞攻击流的平均比特数较高, 而某些安全漏洞攻击通过减少包负载, 高效传送网络信息包, 从而降低了安全漏洞攻击流的平均比特数, 利用下式计算出信息交互过程流表平均比特数式中, bc j代表 sipj至 dip
15、k的数据包比特大小。当信息交互过程产生安全漏洞攻击时, 可通过信息交互过程流表项速率表征安全漏洞攻击属性网络攻击通过分散攻击源对信息交互过程中的脆弱目标发起攻击, 造成信息交互过程安全漏洞攻击流量中的源地址、源端口以及目的地址呈现多对一的映射, 利用熵 H (sip) 表征信息交互过程安全漏洞攻击的特点, 设定在有关 dipk的流表项集合中, (sip n|n=1, 2, , N) 代表信息交互过程不同源地址集合, 令N 维的矩阵为 SipN, Sipn代表信息交互源地址为 p (sipn) , 目的地址为 dipk的权重, 可得到在有关 dipk的电子信息交互过程流表项中, (p (sp m
16、) |m=1, 2, , M) 代表不同的源端口集合, (p (dp l) |l=1, 2, , L) 代表不同的目的端口集合, Spm代表 M 维的矩阵, Dpl代表 L 维的矩阵, 利用下式求出 H (sp) 和 H (dp) 3.2 网络信息交互过程安全漏洞检测在进行网络信息交互过程安全漏洞检测时, 对 3.1 节提取的信息交互过程流表项特征进行分类, 并采用信息交互过程流表项特征样本的各属性来建立特征样本分类子集的离散性函数, 将离散程度值作为识别信息交互过程正常行为集的依据, 在此基础上利用隐马尔可夫模型对正常信息交互过程行为样本集进行建模, 由此实现信息交互过程安全漏洞检测模型的动
17、态更新, 具体过程如下所述:假设, X 代表网络信息交互过程流表项特征样本, Q=X 1, , Xn代表 n 个信息交互过程数据包的样本集, 将信息交互过程流表项特征样本各属性展开可获得一个 p 维的数据矩阵 GF, 对于第 j 个通用属性, 可获得信息交互过程流表项有序数列 Sj=x1j, , xnj, 则信息交互过程流表项特征样本集 Q 的离散度可利用下式进行计算式中, (S j) 代表信息交互过程流表项特征样本集中属性 j 的离散度, 利用标准差计算式来表征信息交互过程流表项特征样本之间的离散度式中, r 代表 n 个属性数据的平均值, i 代表某个信息交互状态。给定网络信息交互过程安全
18、漏洞检测模型 , 假设信息交互过程流表项样本字符串为 W=o1, , on, 给出安全漏洞检测模型 观测到 W 的概率为式中, ps i (oi) 代表网络信息交互状态 i 下输出 o 字符的概率, p (t i) 代表状态 i 下的转移概率, s 代表端口属性值。用两两状态合并的方法迭代地求解基于隐马尔可夫的信息交互过程安全漏洞检测模型, 并依据贝叶斯理论获得安全漏洞检测模型的评估函数式中, 依据多次累加各个样本的输出概率获得信息交互过程流表项样本集 Q 在模型下的概率为 P (Q|) , P () 代表信息交互过程安全漏洞检测模型先验概率, 即式中, N 代表信息交互过程安全漏洞检测模型
19、中的总状态数, N st代表状态S 中转移数量, N se代表状态 S 中的观察值个数, 利用下式获得信息交互过程安全漏洞检测模型的评估函数在信息交互过程安全漏洞检测模型 的第 步迭代时, 选取使得评估值增长最快的状态进行融合处理, 假设满足 fit ( i) fit ( i-1) 时, 说明已达到迭代终止条件, 将 i-1定义为通过学习获得的最优网络信息交互过程安全漏洞检测最优模型。4 实验证明为了验证提出的基于隐马尔可夫的网络信息交互过程安全漏洞检测方法的准确性, 设定检测实验机器配置为 2.7GHz Intel 处理器, 4.0G 内存, 在 Matlab 软件平台上进行实验, 通过反汇
20、编现有的 Apache 系列软件抽取网络信息交互过程包含安全漏洞的代码段, 从中抽取 5000 行作为测试用例, 存在安全漏洞的代码为 50 行, 将安全漏洞检测结果与 Rats 和 Its4 两个静态分析工具的检测结果进行对比, 其中, 漏报率和误报率的定义为:漏报率=未检测出的信息交互过程安全漏洞数/安全漏洞总数100%, 误报率= (未检测出的信息交互过程安全漏洞数+类型匹配不正确的安全漏洞数) /安全漏洞总数100%。其中不同方法信息交互过程安全漏洞检测误报率 (%) 以及漏报率 (%) 的分析对比结果用表 1 进行表示。表 1 不同方法安全漏洞检测误报率和漏报率的对比 下载原表 分析
21、表 1 可知, 采用所提方法进行网络信息交互过程安全漏洞检测漏报率和误报率较低, 因为所提方法先获取网络的流表项, 构建针对信息交互过程目的地址的流表特征值, 在此基础上利用隐马尔可夫模型对正常信息交互过程行为样本集进行建模, 实现信息交互过程安全漏洞检测模型的动态更新, 保证了所提方法进行网络信息交互过程安全漏洞检测较低的漏报率和误报率。为了验证网络信息交互过程安全漏洞检测的效率, 分别从 Apache 的 5000 行安全漏洞的代码中抽取 500, 1000, 1500, 2000, 2500 行安全漏洞代码测试检测效率, 并将所提方法的运行时间 (s) 与文献7基于模式匹配的安全漏洞检测
22、方法以及文献8基于协议分析与模糊测试的安全漏洞检测方法的运行时间 (s) 进行比较, 对比结果用图 1 进行表示。图 1 不同方法安全漏洞检测运行时间对比 下载原图分析图 1 可知, 采用所提方法进行网络信息交互过程安全漏洞检测的运行时间远小于文献7方法和文献8方法, 这主要是因为所提方法通过采用信息交互过程流表项特征样本的各属性来建立特征样本分类子集的离散性函数, 将离散程度值作为识别信息交互过程正常行为集的依据, 极大地缩小了信息交互过程安全漏洞检测分析范围, 提升了整个信息交互过程检测分析过程的效率。采用一个综合指标 FV 衡量信息交互过程安全漏洞检测精确度 (%) 和查全率 (%) 的
23、合并结果, 利用对比的结果衡量 3 种不同方法进行信息交互过程安全漏洞检测的综合有效性, 对比结果用图 2 进行表示式中, P 代表信息交互过程安全漏洞检测精确度, R 代表安全漏洞检测查全率。结合表 1 和图 2 可知, 所提方法检测出的安全漏洞数量均为信息交互过程有效安全漏洞, 误报率较低, 并随着信息交互过程安全漏洞代码数量的不断增加, 所提方法对应的安全漏洞检测综合有效性要优于文献7方法和文献8方法, 主要在于所提方法通过获取网络的流表项, 构建针对信息交互过程目的地址的流表特征值, 以该特征值为依据完成信息交互过程安全漏洞检测, 使得所提方法对应的安全漏洞检测综合有效性较优。5 结束
24、语针对当前检测方法难以保证信息交互过程安全漏洞检测的全面性和针对性, 存在效率低、检测误差大的问题, 提出一种基于隐马尔可夫的网络信息交互过程安全漏洞检测方法。并通过实验验证了所提方法的有效性, 进一步结合信息交互过程安全漏洞检测和攻击环节实现立体化的安全漏洞检测。图 2 不同方法安全漏洞检测综合有效性对比 下载原图参考文献1杨浩, 等.多样性入侵环境下网络安全态势估计模型仿真J.计算机仿真, 2016, 33 (6) :270-273. 2肖卫, 张源, 杨珉.安卓应用软件中 Intent 数据验证漏洞的检测方法J.小型微型计算机系统, 2017, 38 (4) :813-819. 3李政,
25、 等.使用模板组合动态生成测试用例的 Web 应用漏洞发掘方法J.计算机应用研究, 2015, 32 (10) :3004-3008. 4王耀辉, 王丹, 付利华.面向 PHP 程序的 SQL 漏洞检测系统J.计算机工程, 2016, 42 (4) :112-118. 5柳毅, 洪俊斌.基于网络爬虫与页面代码行为的 XSS 漏洞动态检测方法J.电信科学, 2016, 32 (3) :87-91. 6张嘉元.一种基于匹配的 Android 系统漏洞检测方法J.电信科学, 2016, 32 (5) :132-137. 7缪旭东, 等.基于模式匹配的安全漏洞检测方法J.计算机科学, 2017, 44 (4) :109-113. 8李进东, 等.基于协议分析与模糊测试的 SIP 漏洞挖掘研究J.计算机工程, 2016, 42 (8) :117-122. 9顾明昌, 等.一种基于攻击向量自动生成的 XSS 漏洞渗透测试方法J.软件导刊, 2016, 15 (7) :173-177. 10王允超, 魏强, 武泽慧.基于静态污点分析的 Android 应用 Intent 注入漏洞检测方法J.计算机科学, 2016, 43 (9) :192-196.