APP下载

面向医院SDN的网络安全研究

2020-01-05郭天伟杨海东

计算技术与自动化 2020年4期
关键词:软件定义网络入侵检测

郭天伟 杨海东

摘   要:针对广泛应用于医院的软件定义网络(SDN)难以应对内部网络威胁的问题,设计了一种基于贝叶斯推理的信任管理机制来识别网络内部可能存在的恶意设备。该机制主要是利用贝叶斯推理方法推导出恶意攻击数据包的发送概率从而实现对网络内部设备的信任管理。通过仿真环境和真实网络环境下的实验证明了该方法可以比类似的方法更快地降低恶意设备的信任值。

关键词:入侵检测;软件定义网络;医疗网络;贝叶斯推理

中图分类号:TP393                                          文献标识码:A

Network Security Research for Hospital SDN

GUO Tian-wei1 ,YANG Hai-dong2

(1. Information Statistics Center,Huai'an Second People's Hospital,Huaian,Jiangsu 223001,China;

2. School of Computer Science and Technology,Huaiyin Normal University,Huaian,Jiangsu 223001,China)

Abstract:A software-defined network (SDN) widely used in hospitals is difficult to deal with internal network threats. A Bayesian-based trust management mechanism is designed to identify possible malicious devices inside the network. The mechanism mainly uses the Bayesian inference method to derive the probability of sending malicious attack packets to realize the trust management of the internal devices of the network. Experiments in the simulation environment and the real network environment prove that the method can reduce the trust value of malicious devices faster than similar methods..

Key words:intrusion detection;software-defined network;medical network;Bayesian inference

使用信息和通信技術的联网医疗设备可以更有效地管理医疗资产、电子健康记录、通信等,从而降低健康监测和医疗的成本,但是这也会导致网络和数据风险[1-2]。数量越来越多的网络终端设备给医疗网络安全管理带来巨大挑战,一方面医疗网络需要保证所有终端设备都能顺利运行,因此所采用的安全解决方案应该要保证低误报率,另一方面所采用的安全解决方案应提供全过程检查和管理,即监控全时段的网络流量和设备行为[3]。基于当前的医疗机构大多采用了SDN(Software Defined Network)网络结构以实现网络的集中控制的现状,针对医疗SDN网络内部恶意流量和恶意网络行为的检测进行了研究。本研究针对医疗SDN网络的典型体系结构开发了一种基于贝叶斯模型的网络终端设备的信任评估,并利用评估结果动态识别可能存在恶意流量和行为的网络终端。最后分别在仿真和真实环境中对所提议的方法开展了实验评估。研究的目的是利用信任计算实现网络内部恶意设备的识别,因此可作为现有的医疗网络安全解决方案的必要补充。

1   医疗SDN的体系架构

医疗网络的一个关键功能是在系统安全的前提下保证设备无缝通信。因为每个网络终端设备可能包含数百种需要更改的配置,传统网络通常很难实现系统整合。由于SDN提供了从网络设备抽象网络策略的能力,消除了设备级配置,使集中控制成为可能,并提供了一个便于集成的开放网络模型,因此SDN解决方案成为医疗机构的必然选择。

典型的医疗SDN体系结构如图1所示。SDN体系结构由SDN控制器、一组OpenFlow交换机和一些医疗设备和客户端设备(例如移动设备和个人计算机)组成。OpenFlow[4]交换机将网络设备的数据和控制功能分离开来。OpenFlow规范提供了实现SDN体系结构的标准化方法,OpenFlow协议可以控制在何处发送数据包的网络交换机。所有这些使得整个网络的编程独立于各个交换机和数据中心。因此,SDN控制器可以从每个交换机收集流量状态,方便地管理其流量。控制器可以配置OpenFlow交换机发送的所有数据包[5-7]。

2   面向医疗SDN的设备信任评估机制

本节将描述如何将入侵检测系统(IDS)应用到医疗SDN网络中,并介绍了如何利用贝叶斯推理方法对网络内部的终端设备进行信任管理。

2.1   IDS的部署方法

IDS具有实时分析流量、解释协议和执行签名匹配的能力,是用于检测各种网络异常行为的常见安全解决方案。如图1所示,在医疗网络中IDS部署在医疗SDN中的集中服务器中,以检查所有转发的数据包。IDS有两种常见的部署方法[8]:1)单IDS部署。此部署方法仅使用一个IDS来控制和处理医疗网络中的所有流量,但要求已部署的IDS具有强大的处理和通信能力。2)多IDS部署。此部署方法使用一个主IDS和一组代理IDS。代理IDS负责处理SDN/OpenFlow交换机中的流量,主IDS则作为控制器与SDN控制器进行数据聚合和通信。这两种部署方法都要求交换机将数据包镜像发送到IDS。本研究的调查发现大多数医疗机构采用了多IDS部署方法,因为这种部署方法更适合医疗机构的分布式网络环境。下面针对这种部署方法开展研究。

2.2   基于贝叶斯推理的信任管理

贝叶斯推理是使用贝叶斯规则来调整假设的概率。信任管理可以帮助计算网络节点之间的可信度,并根据定义的规则来判断恶意节点。首先假设由一个终端设备发送的所有数据包彼此独立。这个假设表明任何数据包为恶意攻击数据包的概率是1/2。表1为与贝叶斯推理模型使用相关的一些关键术语[9]。

根据已有的研究结果,可以合理地假设观测到的n(N) = k的分布服从二项分布[10]。如果观察到一个终端设备发送N个数据包,其中k个是正常的概率为:

P(n(N)) = k| p) = Nkpk(1 - p)N - k     (1)

应用贝叶斯推理的最终目的是判断第(N+1)数据包为正常的概率,即P(VN+1=1|n(N)=k)。该概率的分布服从基于贝叶斯定理[11]:

P(VN+1=1|n(N)=k)= ■   (2)

然后将边际分布应用到式2中。也就是说,如果X和Y是离散随机变量,f(X,Y)是其在(X,Y)处的联合概率分布的值,则X和Y的边际分布分别为: ∑y  f(x,y)和∑x  f(x,y)。在这种情况下有如下结果:

P(n(N) = k) = ■P(n(N) = k| p)f(p)·dp  (3)

P(VN+1=1,n(N)=k)= ■P(n(N) = k| p)f(p)·dp

(4)

由于沒有关于p的任何先验信息,因此可以合理地假设该信息由统一的先验分布f(p) = 1控制,其中p∈[0,1]。综合式1至4可以导出式5:

P(VN+1=1|n(N)=k)= ■=

■=■  (5)

式5给出了计算医疗SDN中网络终端设备(或称为网络节点)的信任值的方法。由式5可知,网络节点信任值计算的关键是要获取数据包总数N并知道有多少数据包(k)是正常的。因此,集中式服务器可以在网络节点之间建立信任映射,并且如果给定适当的阈值则检测潜在的不真实或恶意网络节点。根据特定的安全要求和设置,医疗机构的网络安全管理员可以相应地调整阈值。

2.3   检测阈值

已有的研究结果表明,为提高恶意流量和网络行为的检测准确度和识别速度,相对较新的网络状态数据比相对较旧的网络状态数据更重要[12]。因此,本研究采用遗忘因子λ为较旧的网络状态统计数据分配较小的权重。如果给定时间段t,则可以按式6计算网络节点的信任值(tp     value)。

tp     value = λ■        (6)

由于医疗网络环境比传统网络更敏感,因此需要开发一些额外自定义规则,以便医疗机构网络安全管理员识别一些敏感关键字。但是需要保证足够低的误报率,因为任何错误的网络访问阻断都可能导致意外事故。因此,本研究采用了动态黑名单来阻止恶意流量和异常行为。在识别恶意流量和异常行为的源节点后,SDN控制器可以通过更新网络设备配置文件来引导数据流绕过恶意节点。

生成网络设备黑名单的详细过程可以根据IDS规则和自定义规则进行相应调整。所开发的动态黑名单匹配规则为:1)如果数据包与IDS规则匹配,则该节点将立即被列入黑名单;2)如果数据包仅与自定义规则匹配,则该节点不会立即列入黑名单,而是取决于其信任值和相关阈值。

由于医疗机构通常对联网终端设备的安全使用有着严格的政策,因此医疗SDN中的网络设备(交换机、路由器等)通常基于统一且合规的配置文件运行。在这种情况下,采用白名单的安全策略则不难识别出异常设备。因此将贝叶斯推理应用于网络设备配置文件来评估网络节点的可信度。对于给定的时段t,可以使用下式计算出网络节点的信任值(td     value):

td     value = λ■        (7)

式7中,kdt为正常的配置文件,N dt为配置文件的总数。为了便于对网络节点的信任值开展评估,本研究设计了一个归一化的评价指标ttotal value:

ttotal value = W1 × tp     value+ W2 × td     value         (8)

式8中,W1和W2为权值,W1 + W2 = 1。因此,如果信任值低于阈值T∈[0,1],则可以将网络节点列入恶意黑名单。此外由于黑名单是动态的,必须依据以下规则定期检查tvalue:1)如果tvalue≥T,则删除黑名单中的该网络节点;2)如果tvalue < T,则应维持黑名单中的该网络节点。

如果采用将只发送一个恶意数据包的网络节点立即列入黑名单的安全策略,那么会导致医疗网络出现很高的误报率,并降低医疗系统的性能。为此需要采用动态的安全策略,为恢复误报的恶意设备提供了一定的灵活性。在实践中,该机制需要基于较长期的行为来评估设备的可信度,并为医院IT管理员提供更大的灵活性来控制和管理医院SDN。

3   实验评估

通过两个实验来考察上述评估机制的性能:1)第一个实验是在模拟医疗SDN网络中对基于信任的医疗设备评估方法进行仿真;2)第二个实验是在医疗机构真实SDN网络环境中开展基于信任的医疗设备评估方法的测试。

首先是在仿真环境中开展仿真实验。实验使用OpenDayLigh (ODL)作为SDN控制器。(在使用Intel(R) Core (TM)2、Quad CPU 2.66GHz的服务器上),并使用Open vSwitch (OVS)作为SDN的交换机。实验使用开源Snort入侵检测设备系统来检测恶意流量。仿真环境由一个SDN控制器和六个SDN交换机组成。多达30个医疗设备随机连接到这些交换机。仿真SDN环境如图2所示。

为了模拟真实医疗机构网络环境,除了用于数据包检查的Snort签名外,实验还应用了70条自定义规则,并配置了一个用于网站浏览和电子邮件使用的白名单。实验将本文提出的检测方法与传统的入侵检测机制进行了比较。传统的检测该机制主要通过发送挑战来评估IDS节点的可信度。实验中使用的仿真参数如表2所示。

在正常流量环境下,启动网络后所有设备的平均信任值如图5所示。可以看出,平均信任值在启动后经过一段时间后变得稳定。这是因为控制器必须从网络中的每个交换机收集数据并构建信任矩阵。由图3可以看出,两个医疗设备的收敛趋势基本一致。根据图3所给出信任值的变化趋势,实验选择阈值为0.9。

在实验环境下,随机选取两个高度可信的设备,进行恶意行为的攻击。具体的实验设置为:D1设备配置为发送可触发IDS警报恶意数据包;D2设备被配置为既产生恶意流量又有异常行为,例如访问恶意网站。

为了进行比较,实验采用两种医疗设备信任评价和管理方法作为对比。第一个方法是基于覆盖的信任管理模型[13]。该模型通过信任引擎和自适应方法对网络中的数据流量进行来分析来发现恶意设备,以实现在分布式IDS网络中进行信任管理。第二个方法采用基于挑战信任管理模型[14]。该模型用于识别协作IDS网络中的恶意设备。试验首先调整上述模型以适应SDN环境,并部署了集中式服務器来收集网络数据并计算医疗设备的可信度。

三个模型对两个存在恶意网络行为医疗设备信任值的对比计算结果如图4所示。由图4可知,与覆盖模型相比,挑战模型可以更快地降低恶意设备的信任值。这是因为基于挑战的模型使用了遗忘因子,使最新数据包的权重更高。对于这两种恶意设备,本研究方法可以比其他两种信任模型更快地降低它们的信任值。这是因为本研究提出的采用贝叶斯算法的模型主要是对最近一段时间内数据包信任值的评估,因此对动态流量更加敏感。同样采用本文模型,D2设备比D1的信任值下降得稍微快一些,这是因为D2既生成恶意流量,又可以执行异常网络行为。这表明概要信息对识别恶意设备有积极的影响。但是,由于其他两种模型没有针对异常设备的配置文件进行处理,因此对其信任值的影响不大。总的来说,图4的数据表明本文模型具有良好的信任值评估性能。

其次是真实网络环境中进行实验。用于实验的医疗SDN网络包括一个SDN控制器、八个SDN交换机和20个设备(包括个人电脑和移动设备)。该医疗机构有一个普通网站和电子邮件地址的白名单,并根据之前的流量数据定义了多达245条自定义规则,其中包括一些敏感关键词和不需要的IP地址。

为了确定合适的阈值,实验首先运行网络一段时间,计算得出的平均信任值如图5所示。与图3中的仿真结果相比,由于实际流量的复杂性,真实环境中的信任值更具动态性,得出的平均值在0.86到0.92之间。实验选择0.85作为检测阈值。

在真实网络环境中随机选择了两个终端设备来进行恶意操作,包括生成恶意数据包和异常行为。图6为该场景下恶意设备的平均信任值。与在仿真环境下的实验结果类似,本研究提出的贝叶斯信任值评估方法能够比其他方法更快地降低恶意设备的信任价值,因此该方法能够有效地识别真实医疗SDN网络环境中的恶意终端设备。

4   结   论

随着医疗机构变得更加互联和数字化,在不影响性能和可用性的前提下确保联网设备和软件系统的安全性也将变得越来越具有挑战性。软件定义网络(SDN)允许将网络控制从数据平面解耦,但是基于SDN的解决方案通常不是为了减轻内部威胁而设计的,为此设计了基于贝叶斯来识别医疗SDN网络中的内部攻击。在仿真环境和不同规模真实环境下的实验结果验证了本研究所提出的方法在不同条件下检测恶意设备的有效性和可扩展性。未来的工作可能包括研究如何进一步提高检测灵敏度,并在更大规模的环境中验证该方法的性能。

参考文献

[1]    池亚平,余宇舟,杨建喜. 基于深度学习的SDN恶意应用的检测方法[J]. 计算机工程与设计,2019,40(08):2134-2139.

[2]    颜通,白志华,高镇,等. SDN环境下的LDoS攻击检测与防御技术[J/OL].计算机科学与探索:1-15[2019-09-09].http://kns.cnki.net/kcms/detail/11.5602.TP.20190812.1107.002.html.

[3]    徐雅斌,贾珊珊. 软件定义网络的安全态势感知研究[J]. 小型微型计算机系统,2019,40(08):1682-1688.

[4]    陈兴蜀,滑强,王毅桐,等. 云环境下SDN网络低速率DDoS攻击的研究[J]. 通信学报,2019,40(06):210-222.

[5]    王洋,吴建英,黄金垒,等. 基于贝叶斯攻击图的网络入侵意图识别方法[J/OL].计算机工程与应用:1-10[2019-09-09].http://kns.cnki.net/kcms/detail/11.2127.TP.20181213.1805.020.html.

[6]    杜晔,张田甜,黎妹红. 基于信息密度贝叶斯算法的云平台入侵检测[J]. 系统仿真学报,2018,30(02):714-721.

[7]    池亚平,姜停停,戴楚屏,等. 基于软件定义网络的云平台入侵防御方案设计与实现[J]. 计算机应用,2017,37(06):1625-1629.

[8]    刘飞飞,蔺婧娜,刘潇潇. 基于动态贝叶斯网络的复杂网络攻击方法研究[J]. 计算机工程与应用,2017,53(11):18-25.

[9]    朱琨,张琪.机器学习在网络入侵检测中的应用[J]. 数据采集与处理,2017,32(03):479-488.

[10]  王辉,陈泓予,杨姗姗. 基于树加权朴素贝叶斯算法的入侵检测技术研究[J]. 计算机应用与软件,2016,33(02):294-298.

[11]  黄亮,姜帆,荀浩,等. 面向软件定义网络的入侵容忍控制器架构及实现[J]. 计算机应用,2015,35(12):3429-3436.

[12]  杨云雪,鲁骁,董军. 基于企业环境的网络安全风险评估[J]. 计算机科学与探索,2016,10(10):1387-1397.

[13]  姚潍,王娟,张胜利. 基于决策树与朴素贝叶斯分类的入侵检测模型[J]. 计算机应用,2015,35(10):2883-2885.

[14]  张家华,杨种学,王江平,等. 融合DDoS威胁过滤与路由优化的SDN通信质量保障策略[J]. 电信科学,2015,31(04):127-133.

猜你喜欢

软件定义网络入侵检测
多Agent的创新网络入侵检测方法仿真研究
中国联通SDN的思考和应用实例
业务功能链技术及其应用探析
针对大规模软件定义网络的子域划分及控制器部署方法
一种新的SDN架构下端到端网络主动测量机制
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
超高吞吐率Wi—Fi融合应用新技术分析
基于关联规则的计算机入侵检测方法
基于Φ—OTDR的分布式入侵检测系统的应用综述