石祥建,刘瞳昌,程国栋,房康,陈川,文强
(1.南京南瑞继保工程技术有限公司,江苏南京 211002;2.华能澜沧江水电股份有限公司,云南昆明 650214;3.西安热工研究院有限公司,陕西西安 710054)
为了给水力发电提供调度辅助工具,设计并使用了水电厂网络,利用该网络能够实现不同水电厂实时运行数据的共享,从而保证水力发电工作的有序进行。然而水电厂网络在为其生产带来推动作用的同时,也为水电厂的安全运行引入了一定的安全隐患。水电厂网络环境中数据信息的产生、存储、处理、传输等全过程均具有开放性特征,因此会受到安全的威胁,如窃取、窜改、破坏等[1]。非法用户可以通过水电厂网络偷取或窜改水电厂的运行数据,即对水电厂网络实施入侵与攻击操作,轻则导致国际电力数据泄露,严重时可能会导致水电厂运行故障,从而带来较大的安全事故。为了实现对水电厂网络入侵情况的有效防御,针对水电厂网络的入侵问题,设计相应的检测系统。
网络入侵检测系统IDS的工作内容是对网络运行数据进行实时监测,并对其进行动态防护,极大地增强了网络的安全性。IDS 具有事前预警、事中防御、事后取证等特性,是一种针对日益复杂的应用安全和混合攻击而设计的一种旁路部署产品,其目的是顺应当前攻防技术的发展趋势,精确监控网络中的各种数据流,及时发现各种安全隐患,帮助用户及时抵御来自企业网络外部的安全威胁。这些产品能够提供动态、深度和主动的安全探测。
从现阶段的研究情况来看,关于网络入侵检测的研究成果较多,但发展成熟的系统较少,且由于水电厂涉及的电磁环境较为复杂,容易干扰网络入侵检测系统的正常运行,进而导致现有网路入侵检测方法应用到水电厂网络环境中存在检测精度低的问题。从当前发展较为成熟的研究成果来看,其吞吐率和并发性能也存在缺陷,针对上述问题,本文在传统网络入侵检测系统的基础上,结合水电厂网络特征,利用威努特网络威胁感知技术,实现检测系统的优化设计。
威努特网路威胁感知技术是一种先进的持续威胁防御装置,它能即时地对网路的流量进行分析,并将威胁情报资料与网路行为分析技术相结合,对一切可能的网路活动进行深层感知。该技术下网络感知与文档感知是同步的,在沙盒中执行不同的文件,对文档的行为进行分析,并对未知的威胁进行识别,从而为企业的安全管理提供了一种先进的、可持续的安全防范机制。本研究将威努特网络威胁感知技术应用到水电厂网络入侵检测系统的优化设计工作中,以期提高系统的入侵检测功能以及运行性能。
为了保证水电厂网络入侵检测系统的优化效果,本文分别从硬件、数据库和软件三个部分进行具体优化。其中硬件系统采用了机架式结构,在此基础上,为了优化硬件设备运行性能,同时为威努特网络威胁感知技术提供运行环境,对部分硬件元件进行改装优化。
在传统水电厂网络流量采集器的基础上,加设一个流量数据过滤模块和寻址模块,数据过滤模块可以实现无效网络流量数据的自动过滤,而寻址模块可以标注各个网络流量数据的产生端口。在数据过滤模块设计时,采用了流水线的思路,使系统按照流水线的方式进行排列。每个规则都会对数据包中的具体领域进行检验。在经过该模块后,可以提取出能够用于构建数据流的数据,并将其存储在一个“先进后出”的缓存中[2]。最后,当符合特定的规则时,FIFO 中的资料将被传送至下一单元,否则将会被抛弃。另外寻址模块的设计结构如图1所示。
图1 网络流量采集器内寻址模块结构图Fig.1 Structure of addressing module in network traffic collector
从图1 中可以看出,寻址模块能够使用最低的9 比特来表示一个流的地址,实现网络流量数据初始地址的标记。
在水电厂网络的入侵检测过程中,需要对网络流量、日志以及协议等数据进行分析、处理,并将一些需要进一步分析的数据用串口通讯传输至无线模块,再发送至其他端口。同时,对收到的控制指令进行处理,然后用来驱动温度变送器,这些数据处理和指令的传输调度都要在处理器的协同下进行[3]。优化设计系统选用的核心处理器部件型号为LF2407A,集成了高性能的DSP 芯片和大量的外设,取代了传统的处理器,保证所有指令均可以在25 ns 的单周期内完成。LF2407A 还提供了一个扩充的存储界面,用于扩充程序、数据、I/O 地址,每一个空间的容量都是64 K,因此,它的外存空间可以扩展到360 K。ROM的启动可以采用SCI/SPI。
威努特网络威胁感知器设计与安装的目的是为网络威胁感知技术的运行提供运行环境,感知器由CC2530F64 芯片、CC2591 功率放大器、功率模块等构成[4]。因为CC2591 内置RF匹配网络,因此不需要在射频输入/输出端添加附加的匹配网络,威努特网络威胁感应器的硬件设计中的主要部件连接结构如图2所示。
图2 威努特网络威胁感知器结构图Fig.2 Structure of winute network threat perception
从图2中可以看出,当CC2591进入低功率模式时,EN 管脚和PA_EN管脚被设置为低电平,能够减少功率消耗。
系统数据库设计的目的是存储水电厂网络入侵检测结果,并设置网络入侵检测的规则,为入侵检测系统的软件功能提供数据支持。优化设计数据库的组成部分包括攻击规则库、应用识别规则库、URL 过滤库、病毒库四种,且各个数据库表均单独分开[5]。以攻击规则数据库表为例,其存储结构如表1所示。
表1 攻击规则数据库表Tab.1 Database table of attack rule
同理可以得出数据库中其他数据库表的构建结果,并根据数据之间的关系形成表与表之间的连接,方便数据的更新与交互。
以硬件和数据库为基础,对水电厂网络的入侵检测系统进行了优化,该系统具有深度入侵检测、高级威胁防护、精细流量控制等功能,并具有深度入侵检测能力。有效地保护系统和网络体系结构,避免操作系统、应用软件的故障[6]。而高级别的安全威胁防御,则是指通过对敏感信息的泄露、文件的识别、服务器的非法外联等方式,来保护内部网络的安全。同时,IDS应该根据TCP/IP协议对网络协议异常攻击进行检测。
常见的水电厂网络入侵类型包括端口扫描、安全漏洞攻击、口令入侵、木马程序、DOS 攻击等,通过对被扫描的电脑进行端口扫描,可以发现被扫描的电脑打开的服务和端口,从而找到它的软肋,即硬件的实现和安全策略的不足,这个漏洞会让攻击者无法进入或破坏系统,而密码入侵则是非法获得特定使用者的密码后,进入到一个特定的主机中进行攻击,当使用者不知道时,就会触发大量信息,从而导致系统过载,导致系统瘫痪,无法正常使用[7]。根据上述不同网络入侵攻击类型的作用原理,设置对应攻击入侵类型下网络环境中流量、传输协议等模块的运行特征,并以此作为判定待测水电厂网络是否存在入侵性能的标准。
利用硬件系统中的流量采集器设备,按照图3 表示流程实现实时水电厂网络流量数据的捕获。
图3 水电厂网络流量数据采集流程图Fig.3 Flow of network flow data acquisition of hydropower plant
以初始采集的数据为基础,针对流量数据中存在的缺失数据、重复数据进行处理,并通过数据融合输出最终的数据捕获结果[8]。缺失流量数据的补充结果可以表示为:
式中:xi-1和xi+1分别为缺失数据的前后数据。
在重复数据的处理过程中,首先判定当前流量数据采集结果中是否存在重复冗余数据,判定过程可以表示为:
将初始采集的数据逐一代入到公式(2)中,计算xi和xj之间的相似度,若公式(2)的计算结果为1.0,则任务xi和xj属于同一数据,需要对xi或xj进行剔除处理。最终从数据、特征、决策等多个层面,实现捕获数据的融合。
设置水电厂网络流量密度、流量偏离程度等参数作为网络流量数据的特征值,利用采集的流量数据,可以预先求出抽样平均,并根据大数定律得出,该方法的平均随概率而趋近于整体平均。最后,期望得到的平均概率分布与抽样平均相符合。以最大熵原理为理论支持,将网络流量特征提取可以等价为如下有约束的优化问题:
式中:b为常数系数;ρ(x)表示的是待提取的网络流量特征值。
最终提取的网络流量密度特征及其增益可以表示为:
式中:nchannel为水电厂网络的信道数量;ρ(xt)和ρ(xt-1)对应的是t时刻和t-1时刻的网络流量密度;Gain为网络流量增益。
而网络流量偏移值的提取则是将突变定义为滑动窗口内局部方差和全局方差的比值超过某个阈值,并将流量的超出量作为偏移值的提取结果。设置的阈值指标可以表示为:
最终将网络流量密度、流量偏离程度等特征向量的提取结果进行整合,完成水电厂网络流量数据特征的提取任务。
利用威努特网络威胁感知技术,从服务级、主机级和系统级3 个方面计算当前网络的威胁指数,从而确定当前网络是否存在入侵事件。定义一个网络服务级别的安全状态值,它是指当一个服务受到多个攻击时所反映的安全状态。在给定的分析时间,受到威胁的攻击状态下的网络服务态势值可以表示为:
式中:ntype为分析时段内攻击的种类数量;Cji和Dji分别为任意时刻网络服务发生攻击的次数和严重程度;参数Dji根据用户手册中的攻击类型和优先级来确定。
主机安全状况值是指多个不同等级的服务在特定时刻受到攻击时的安全状态[9];而系统级的安全态势值是指在网络系统受到外力袭击时所表现出来的安全态势状况。t时刻网络主机级和系统级的理论态势值可以表示为:
式中:变量m为网络主机开通的服务数量;vj为服务权重,其取值根据该主机提供服务的重要性决定;ωj表示主机在系统网络中所占重要性的权重比。
最终得出水电厂网络的综合威胁态势感知结果如下:
式中:符号“⊕”为态势值融合符号,将公式(6)和公式(7)的计算结果代入到公式(8)中,便可得出水电厂网络威胁态势的感知结果,综合威胁态势值越大,证明水电厂网络的威胁程度越高,进而识别当前网络中存在的入侵事件。
除了网络威胁态势外,还需要检测当前水电厂网络协议是否正常,该系统可以对网络报文中的协议特性进行动态分析,并将其提交到相应的协议解析引擎进行处理,不需要管理员的干预,就可以快速、准确地检测到动态端口、智能隧道等恶意攻击,并能准确地检测到连接到任何端口的木马、后门,以及使用Smart Tunnel 技术的软件,可以准确地捕捉和分析当前主流的应用协议,并确定其是否处于异常运行状态[10]。综合考虑网络威胁态势和协议,可以直接得出最终的网络入侵检测结果,输出结果包括:存在网络入侵和不存在网络入侵两种。在此基础上,利用公式(9)确定当前网络入侵的类型。
式中:ψset(t)和ψextract(t)为设置和提取的网络流量数据,并将δ最大值对应特征的网络入侵类型作为当前网络入侵类型的检测结果。
最终将包含网络态势与入侵类型的监测结果,以可视化的形式输出,实现系统的入侵检测功能,在必要时可以采取防火墙或加密手段,在一定程度上实现网络入侵的防御。
为了测试本文优化设计的基于威努特网络威胁感知的水电厂网络入侵检测系统的兼容性和可行性,针对系统的网络入侵检测功能和运行性能两个方面进行测试,并通过与传统网络入侵检测系统(文献[6]中的系统)的对比,体现出设计系统的功能与性能优势。
此次实验选择某水电厂作为研究背景,并在此基础上搭建水电厂网络。水电厂网络研究对象采用网状拓扑结构,与环形、树形拓扑结构相比,网状拓扑结果的可靠性更高。水电厂网络由集线器、中继器、桥接器、路由器以及网关等硬件设备组成,根据路由器的虚拟分支网络技术,可以将研究的水电厂网络划分为10 个网段,对应的IP 地址分别为192.167.1.0/26-192.167.1.10/26。每一网络都仿真不同数量的网络主机,并设置一个本地感知中心,进行网络的分析、策略的实施、地址的统一分配,并在每个网络上设置一个区域感知中心。目标主机的地址是“192.167.1.10”,它的主要功能是类似于网络服务、FTP等。试验中,对上述3 台计算机进行了攻击。常用的X-扫描-v3.3,adonai_v01,IWD_ICMP,pantherm,DDoSping,nthunter_v20,等等。本地流量是由Smartbit 软件生成的,网络流量设置为60 M左右,实验研究水电厂网络的带宽仅为100M。
实验中设置水电厂的网络威胁与入侵方式包括特洛伊木马、DDoS、Web攻击和缓冲区溢出攻击四种类型,并将上述网络威胁与入侵方式编写成计算机能够直接读取的程序代码,并将其打包导入到实验测试环境中。实验选择DARPA1896 作为试验数据,首先是由于DARPA1896 的数据是tcpdump 的原始流量,其次,这些攻击事件在DARPA1896 中所占的比重要低。从流量属性的采集开始,一直到特征抽取,再到入侵检测,整个系统的性能都得到了充分的支持。KDDCUP86 是一种基于DARPA1896 的入侵检测,它不再含有原始的数据包,而采用了文字形式,并且由于DARPA1896 的攻击数据很难被发现,所以故意加大了攻击次数。在水电厂网络威胁与入侵程序的影响下,生成实验用例,部分用例设置情况如表2所示。
表2 水电厂网络入侵用例Tab.2 Network intrusion case of hydropower plant
实验中共设置水电厂网络入侵用例共300 条,每次入侵任务执行过程中启动的入侵用例数量以及执行次数均不相同。为了保证实验结果的可信度,将设置的网络入侵用例平均分为6 个组别,将设置结果作为判断系统入侵检测是否正确的对比标准。
设计的系统测试实验分别从系统的网络入侵检测功能和运行性能两个方面进行测试,同时启动水电厂网络和入侵网络,在网络正常运行20 min 后,启动第一次网络入侵程序,利用威努特网络威胁感知技术得出网络状态感知结果,如图4所示。
图4 威努特网络威胁感知结果Fig.4 Result of winute network threat perception
在此基础上得出对应攻击方式下水电厂网络的入侵检测结果,如图5所示。
图5 水电厂网络入侵检测结果Fig.5 Network intrusion detection result of hydropower plant
每隔20 min 停止当前网络入侵程序,启动下一次入侵攻击,得出不同入侵类型下的网络运行数据以及最终的检测结果。为了体现出优化设计系统的优势,实验还设置了传统的基于机器学习的网络入侵检测系统作为实验的对比系统,将其以相同的方式配置到实验环境中予以运行测试,最终得出相应的测试结果。
设置入侵次数检测误差和入侵类型检测错误率作为系统功能的测试指标,其中入侵次数检测误差的数值结果为:
式中:nset和ntesting分别为设置的入侵次数和系统检测得出的入侵次数;n为实验组别次数。
而入侵类型检测错误率的数值结果如下:
式中:Ncorrect和Nall分别为系统正确检测的网络入侵类型数量和设置的网络用例总数量。
测试得出的ε和σcorrect的值越大,说明系统的网络入侵检测功能越差。另外,系统运行性能的测试指标为系统并发连接数和吞吐率,其中并发连接数可以通过采集防火墙实时数据直接得出,而吞吐率是指系统在单位时间内提供的产量,其数值结果为:
式中:num和τ分别为系统并发连接数和平均响应时间,计算得出的系统并发连接数和吞吐率越高,证明对应系统的运行性能越强。
4.5.1 系统网络入侵检测功能测试结果
通过相关数据的提取与统计,得出系统入侵检测功能的测试结果,如表3所示。
将表3 中的数据代入到公式(10)和公式(11)中,可以得出两个系统的平均入侵次数检测误差分别为3.8 和1.0,两个系统入侵类型检测错误率的测试平均值对应的是3.3%和1.0%。由此可见,优化设计系统的次数检测误差和类型检测错误率均低于对比系统,即设计系统的入侵检测性能更佳。
表3 系统入侵检测功能测试结果Tab.3 System intrusion detection function test result
4.5.2 系统运行性能测试结果
提取系统后台运行数据代入到公式(12)中,得出反映系统运行性能的测试结果,如图6所示。
图6 系统运行性能测试结果Fig.6 Performance test result of unified operation
从图6 中可以直观地看出,设计系统的最大并发连接数能够保持在120 万以上,整机吞吐率始终高于6 Gbps。与传统系统相比,设计系统的最大并发连接数和吞吐率取值更高,由此证明设计系统的运行性能更优。
水电厂网络是水电厂调度与控制信号传输的关键,对于维持水电厂正常工作秩序具有重要意义。从系统测试结果中可以看出,通过威努特网络威胁感知技术的应用,水电厂网络入侵检测系统的检测功能和运行性能均得到有效提升。然而设计系统未对网络入侵检测的时效性进行优化与测试,因此可能出现网络入侵处理不及时的情况,针对这一问题还需要在今后的研究工作中进一步优化。