APP下载

基于kNN算法的流量智能化模型在医院信息系统安全运维管理中的应用

2021-06-25王泽川马存宁刘玉泉袁雪胡欣王杰曹新志

中国医疗设备 2021年6期
关键词:环路时延流量

王泽川,马存宁,刘玉泉,袁雪,胡欣,王杰,曹新志

江苏省中西医结合医院 信息中心,江苏 南京 210028

引言

近年来医院信息化发展日新月异,由中国医院协会信息专业委员会发布的《中国医院信息化状况调查报告》[1]显示,大部分医院已经实现了信息化对医院核心业务和运营管理的全覆盖,信息系统已经成为整个医院运行、管理、临床服务不可缺少的支撑[2]。信息化建设对于提高诊疗服务效率、减少运行成本、降低资源浪费和提升医疗服务质量发挥了重大作用[3]。

随着互联网、移动终端和手机应用程序等技术兴起,医院可达到诊前、诊中、诊后的连续性服务。但医疗信息化发展在造福居民的同时,也面临着新的安全风险[4]。在信息系统成为医院运行的重要支撑之后,不论是硬件设备的自然故障,还是软件业务系统的天生缺陷;无论是外部黑客等不法人员的恶意攻击,还是内部运维人员的无心疏忽;无论是安全管理制度的不足,还是安全支撑能力的欠缺,都会对业务系统的连续性、稳定性和数据的安全性等造成严重损失,甚至会引发医院重大的安全事件[5]。

以往的业务监控主要依赖于实时的流量监控,通过在核心交换或汇聚交换中旁路方式采集流量,分析时延、流速等来判断业务运行情况[6],但可能存在如下问题:① 流量数据只能反映业务不稳定的底层因素变化,如时延,但无法确认具体问题;② 只能对持续造成业务影响的问题点监测和排查,无法对短暂造成业务影响的因素做定位;③ 只有时延、流速、丢包等因素,相对缺少引起这些因素的更上层行为记录,无法快速找到问题根因;④ 缺少安全因素的融合考虑,无法预知安全带来的影响程度;⑤ 问题排查后没有形成行为模型沉淀,每次发生问题都得重新分析,缺少历史经验的快速匹配和问题自主定位。

本文以流量质量维度、应用行为维度、安全维度为一体,构建整体持续的业务稳定监测体系,对造成业务影响的流量、行为、安全等特征持续建模和评估。借助k最邻近(k-Nearest Neighbor,kNN)算法以及人工智能(Artificial Intelligence,AI)分析技术[7-8],在未出安全问题时,通过特征建模可以对网络设备、安全设备做配置预防,如制定更为合理的流控、访问策略;在出现问题时根据历史模型能够快速判定,无需大量人为分析,快速发现和处置问题[9-11]。

1 模型构建

在监测到业务稳定性问题出现或潜在风险特征出现后,自动利用AI模型深度分析,识别造成业务影响的根本原因,并梳理出业务影响的传递和边际效应,且能够将解析结果列为实时特征并打上标签,纳入样本库,持续自我学习和进化,与不同的使用环境自动贴合。

1.1 模型选取的特征维度

模型选取的特征维度可以从网络流量、系统业务和安全三个方面入手。基于流量的特征建模是常见的网络异常行为检测技术,主要是对网络资源传输过程中时延、流速、丢包等情况加以识别;模型选取也可通过系统业务访问成功率、访问应用的频率、访问业务的客户端IP等情况进行;模型选取还可基于网络的安全状况,如对业务及主机发起或被发起安全风险行为。

1.2 模型架构

1.2.1 流程启动、数据采集和特征提取

如图1所示,系统启动时自动加载AI模型,数据采集通过数据流量采集探针,采集流量数据提取出来后分析和整理为可分析的格式。特征提取是根据流量采集数据按照特征维度提取的实时特征数据形成的特征组。

图1 模型的业务流程

1.2.2 时延阈值

由用户在页面上自主设定认为业务异常的时延阈值作为判断的基线指数。如图2所示,时延统计是通过交换机镜像引流,做流量提取和还原,记录TCP协议流量每个连接的每个数据包时间戳,根据数据包逐个地确认字符的标识匹配度,利用请求和返回的数据包时间戳来计算时间差进而得出时延。

图2 时延统计

1.2.3 逻辑判断

(1)如果实时时延超出时延阈值,将提取的特征组与已有的AI模型深度分析,找出对时延影响最大的关键特征,从而找出引起业务不稳定的主因,找到问题点,打印告警信息,并描述出问题分析结果。包括但不限于使用kNN等机器学习算法,使用历史流量提取特征维度信息,通过人工打标签或自学习的方式对样本分类从而建立模型库,用于判断业务异常受哪类特征影响最大,从而快速定位问题。

以kNN算法为例进行说明,kNN是把测量不同特征值之间的距离进行分类,将实时流量数据特征与AI模型中对应的特征进行相互比对,找到AI模型中与之最为吻合的前k个数据,则该测试数据对应的类别就是k个数据中出现次数最多的那个分类。相似性用距离表示,可使用包括但不限于欧式距离、曼哈顿距离等距离计算公式,以欧式距离公式举例,见公式(1)。

式中,d为不同特征值之间的距离,k为事件的序号数,X为该事件在某特征值坐标系中的横坐标,Y为该事件在某特征值坐标系中的纵坐标。

以图3中符号举例,不代表全部。当k=3时,取与新特征值最为相似(距离最近)的3个点(图3的内圆),其中3个点中A类占比为2/3,则绿色圆属于A类,说明是因为业务突发造成业务不稳定;当k=5时,取与新特征值最为相似(距离最近)的5个点(图3的外圆),其中5个点中B类占比3/5,则绿色圆属于B类,说明是因为安全事件造成业务不稳定。k值根据实际数据分布情况进行调整。

图3 AI模型

(2)如果实时时延未超出时延阈值,判断特征中是否有出现安全事件,如果出现安全事件则与已有的AI模型深度分析,识别该类型安全事件对业务稳定性造成影响程度的分析及可能的后果,从而提前感知业务后续风险,打印预警信息,并描述出影响分析结果。

图4说明安全事件分析是通过对交换机镜像引流出的流量进行提取和还原,分别根据规则库、安全阈值[如分布式拒绝服务(Distributed Denial of Service,DDoS)攻击的包数、会话数等]、基于攻击特征的机器学习算法和大数据分析建模,得出安全事件分析结果[12-13]。

图4 安全事件分析

1.2.4 样本库训练和模型自学习

样本库的训练是基于历史流量样本的特征分析,持续构建流量、行为、安全的三维一体模型。模型自学习是将特征组加入到样本库,通过样本库的持续扩大和无监督学习,自主修正和完善AI模型,从而适应不同环境的需求。

2 结果

基于以上技术原理开发了一套大数据分析模型,并展开了实际效果验证,详见图5。

图5 实践部署

2.1 环境部署

模拟实际生产环境下的医院信息系统,并将访问数据流接入到检测探针,然后经过初步预处理后发送到智能分析系统进行效果验证。

2.2 模型设定

首先对历史流量提取所有业务访问异常的特征维度信息,为方便测试效果,本文提取并设定了三个类别,即DDoS攻击导致的业务访问异常、网络环路导致的访问丢包、生产环境系统设置的并发数限制导致的业务访问异常;然后,基于提取的标签特征信息和算法形成分析模型,添加到大数据分析平台;最后,镜像流量识别归类所有的异常情况,根据kNN算法,每个数据进来后进行相似性计算,找出相似和偏离的值,取场景相似度最高的标签,打印预警信息并描述出影响分析结果。

2.3 实践效果

测试中模拟了DDoS攻击,将模型中的流量安全阈值设置为800 Mbps,持续时长设置为5 min。在实际测试中,攻击流量从100 Mbps不断提升到800 Mbps,在当天15:21之前,采用短时高峰流量(持续时长小于3 min)进行测试,未提示告警;在15:21之后,采用长时间的峰值流量(800 Mbps左右)进行测试,模型从15:27开始报警。同步记录了该DDoS攻击阈值场景下,应用系统的访问也存在Web页面不能及时打开的情况,佐证了分析结果的正确性(图6)。

图6 DDoS攻击模拟检测结果

测试中模拟了网络环路的情况,通过探针对网络中的流量进行监测分析,对每个端口未知名单播、组播报文和广播报文进行统计,当连续轮询超过3次,则判定为该端口异常,进行相应的告警。在模型中模拟了三次环路,模型均准确报警。同步记录该场景下的应用系统访问情况,存在Web页面不能及时打开的情况,佐证了分析结果的正确性(图7)。

图7 环路模拟检测结果(发现有环路警告)

测试中模拟了并发数据限制的情况,将测试业务的上限并发连接数(最大为5)作为阈值输入模型,在测试过程中对业务建立的并发连接数进行监测。模拟三次短时并发访问,模型均在达到最大限制时准确报警。同步记录该场景下的应用系统访问情况,存在Web页面不能及时打开的情况,佐证了分析结果的正确性(图8)。

图8 并发连接模拟检测结果

3 讨论

网络流量检测是网络及安全领域研究的重要内容之一,网络流量异常是指对正常的网络使用造成不良影响的网络流量模式,如网络中常见的外来恶意攻击、错误的网络配置、网络故障和网络资源的耗尽等[14]。随着大数据技术的发展与成熟,运用大数据解决网络流量异常检测成为一种趋势,大量的网络流量信息通过科学的分类方法分析过滤出异常信息,加入样本库完善特征模型,当异常流量数据超出人工处理范围时,利用大数据AI平台可及时有效分析异常原因,做出相应的处理。

DDoS攻击利用大量合法的分布式服务器对目标发送请求,从而导致正常合法的用户无法获得服务,这是一种常见的、低成本且有效的攻击手段。随着机器学习算法的快速发展,决策树、随机森林、kNN等算法逐渐被用于DDoS攻击网络流量的识别与检测[15-17],本文通过kNN算法对网络流量异常进行特征提取与选择,并根据选择的特征对网络中的流量进行检测分类,通过模拟实验证明该方法对DDoS攻击具有较好的识别效果。

环路会出现在互联网的各个层面,不同环路的出现原因与解决方法也不同。通常网络环路分为第二层环路和第三层环路,所有环路的形成都是由目的路径不明确导致混乱而造成的。二层环路主要是交换机广播流的恶性循环,三层环路较为复杂,通常由各种网络故障导致[18]。环路可造成一部分的数据包在网络中不停地传播,浪费带宽,造成流量异常,本文基于kNN算法对环路造成的带宽异常进行识别与检测,通过现实的模拟实验出现预警信息。

随着全民健康信息化的全面推进,信息化已经覆盖到医院的方方面面,医院信息化经历了以财务、收费管理为核心的初级应用,到以患者为主线,贯穿整个诊疗过程的服务流程管理,再到全面系统地服务于医院管理、决策、运营,经历了一个不断发展创新的过程,对医院的支撑作用越来越明显。与此同时,医院的高效运营同样越来越依赖各种信息系统的健康运行[19-20]。在这之中,医院信息系统的连续性、稳定性和医疗数据的安全性尤为重要和关键。

目前市场上有一些产品可以提供对硬件平台负载情况的监控以及对各安全设备日志进行搜集并告警的能力,如网络综合运维平台、安全管理平台类产品等,但都无法对高并发访问、网络波动、新型网络攻击进行有效的监测和告警。究其原因,是诸如网络综合运维平台更多关注网络设备、服务器、虚拟机、中间件等网络节点的运行状态,对其上运营的业务应用运行情况少有监测和管理;而安全管理平台的核心功能主要是收集各类网络设备的日志,尤其是安全日志,以期发现更多的安全事件,为用户提供更多的告警。但由于国内设备厂商标准不一,安全管理平台无法很好解决多误报的问题,其使用效果还需要进行长期的市场验证[21-22]。以上两类产品都无法对业务层面的访问状态进行健康监测,为用户提供的价值有限。

kNN算法是一种非参、惰性的算法模型,相比于其他算法,其不需要参数,不需要对数据做出任何假设,比较符合业务访问过程中的实际情况,简单易用,训练时间快,预测效果好。但由于kNN算法存储了所有训练数据,因而内存的开销较大,并且对不相关的功能和数据规模比较敏感,因此已有很多学者对kNN算法进行改良[23]。

本研究基于kNN分类算法和自学习技术,构建了一种实时监测模型,可以对造成业务影响的流量、行为、安全等特征持续建模和评估,并在实际测试中本模型可有效检出DDoS攻击、网络环路、并发数据限制,为医院信息化系统稳定性监测提供了一定的理论基础和实践。

猜你喜欢

环路时延流量
冰墩墩背后的流量密码
张晓明:流量决定胜负!三大流量高地裂变无限可能!
寻找书业新流量
基于GCC-nearest时延估计的室内声源定位
基于改进二次相关算法的TDOA时延估计
上海市中环路标线调整研究
FRFT在水声信道时延频移联合估计中的应用
基于分段CEEMD降噪的时延估计研究
Buck-Boost变换器的环路补偿及仿真
五位一体流量平稳控制系统