适用于工控系统的网络流量异常检测方法

一、网络异常检测简介

异常检测这种思想最早是由Denning提出的。异常检测思想原理的第一步是获取和分析系统的原始审计记录,之后根据分析结果来判断系统中是否出现了异常。再经过进一步的处理,对系统使用的情况进行检测。

网络异常检测的原理基本与之相同,只不过原始记录和分析的对象是网络上传输的数据、内容和网络本身。一般网络中出现攻击的时候,网络连接、网络流量都会发生不正常的变化,利用开启检测之前建立的攻击模型可以检测出这些异常现象。网络异常检测的思想基本相同,但具体的实现方法却有很大的差异。主要实现方法有:

利用神经网络

采用规则推理

关联事件分析

案例推理

统计分析法

二、工控系统网络

工控网络与传统的信息网络有非常多的不同,无论从网络规模、网络设备构成及其安全性原则等层面都有其独有的特点,所以原有的适用于传统信息网络的网络异常检测方法并不完全适用于工控网络。

一个典型的工控网络拓扑图如下:

工控网络的网络规模整体来说都不大,其主要构成有工程师工作站、操作员工作站、各种类型的控制器(如PLC、RTU)、及一些实时数据服务器和历史数据服务器,而工控网络的安全原则是把可用性放在了第一位。简言之,工控生产和控制网络是稳定、可控、可靠的。为工控网络局域网客户端提供服务的实时服务器、历史服务器收到的请求是可控的,可度量的。向工控网络局域网服务器请求数据的工作站发出的请求也是可控的,可度量的。而那些在控制层的控制器收到的指令和数据也是可控,可度量的。但现在两网融合趋势下,这些可控,可度量的流量是否还是正常的,值得思考。

三、工控网络流量异常检测

由于工控网络的稳定、可靠和可控性由各方面的指标组成,其中每个设备对外的请求数量、收到的请求数量和对外提供的服务都是可度量、可控的。本方法通过一种既可以旁路部署又可以串入工控网络的设备对工控网络的流量进行实时采集和监测并利用智能学习引擎自学习工控网络正常流量形成安全基线,以此为基线对工控网络中的各个设备进行实时监测,对异常的流量进行实时告警并记录到告警日志中。所以本方法是解决如何全方面收集各工控系统中各个设备发送和收到的流量、如何建立安全基线、如何判定流量异常及流量异常后如何处理的问题。

3.1.流量采集

与传统流量采集不同,工控网络流量采集无论是在硬件上还是软件上都需要全新设计,这主要是因为:

1.硬件可能安装部署在恶劣的环境中,如灰尘、潮湿、暴晒等;

2.设备安装部署,开始使用到最后的报废可能历经长达20-30年;

3.不仅需要可以旁路部署,对于有些工业现场可能不具备旁路的条件,设备可能需要串入客户网络,此时采集设备的处理性能需要满足现场业务的各项指标要求,像低时延。

4.深度包解析需要支持的是工业现场使用的工业协议,并不是传统的信息网络的协议。

由于大多数工业现场存在多个交换机并且有些操作并不经过交换机而是通过设备间直连实现通信,所以为了能够采集到工业现场的整网流量,需要把流量采集终端分开部署到不同的位置上,然后对这些采集终端采集到的网络流量进行集中的分析、查看与展示,典型的部署图如下所示:

3.2.智能学习

虽然工业网络是稳定、可靠、可度量的,但至于网络中的流量稳定在什么范围内,除了已知的服务外有没有其它辅助服务也是必须要开启的,许多工业现场的实际操作员可能并不清楚,即使当初给他们组建工业控制网络的集成商可能也不是有把握,所以通过自学习建立安全基线就显得尤为重要,本方法利用智能学习引擎,可以将采集到的现场流量进行智能化学习,辅助生成流量运行基线。

智能学习引擎辅助生成异常流量基线的方法;学习引擎根据如下要素生成流量模型:

a.工业现场业务类型;

b.被监测对象;

c.监测开始时间;

d.上行流量;

e.下行流量;

f.特殊波峰;

g.特殊波谷。

在以上这些要素中,根据业务类型的不同,采用的流量基础训练数据集也不同,而监测对象主要是工业网络中所有能够发出或接收数据的设备,包括:管理机、接口机、工程师站、操作员站、实时数据服务器、历史数据服务器、各RTU、PLC等。

3.3.流量异常算法

将采集到的流量进行分析,以智能学习到的运行基线为基准,通过合理判别流量是否异常的算法进行异常流量检测。流量异常算法简述如下:

图1

如图1所示,开始监控时,从历史流量中查到了上一周期的最新流量值;监控周期M1(T~ T1)中,都是更新的流量,那么本周期的流量变化计算过程如下:

从T时刻开始,去历史流量库中去查询到了上一周期(T-1~ T)的最新流量值Qc,此值就作为初值,之后周期1中接收到的流量值减去初值,作为该时间段的流量。综上:监控周期1(T~ T1)的流量

M1=Q1–Qc

图2

如图2所示,开始监控时,从历史流量中查不到上一周期的最新流量值,监控周期M1(T~ T1)中,都是新增的流量,那么本周期的流量变化计算过程如下:

从T时刻开始,在Tm时刻,去历史流量中查询离T时刻(这个时刻不在上一周期范围内)最近的流量值Qc;为保证T~Tm时段内流量的准确性,采用以下公式计算出该段流量值:

Δ= (Qm−Qc)/Tm−Tc∗(Tm−T)。

Tm~ T1时间段的流量=新值Qm。

所述新值:即Tm~T1中再次接收到的流量值。

综上:监控周期1(T~T1)的流量

M1=Δ+Q1–Qm。

图3

如图3所示,监控周期1(T~T1)中,同一五元组既有老化流也有新建流;监控时间段T~ Td的流量计算,判断是否从历史流量中查到了上一周期最新流量值,相应的按照情况1或者情况2处理,最后得到该时段(T~ Td)的流量Δ 。本周期的流量变化计算过程如下:

从T时刻开始,在Ts2时刻,判断流量类型为1,则说明Qs2表示新建流,那么周期1(T~T1)的流量

M1=Δ+Q1。

综上3种情况得出的流量M1与运行基线中的流量再进行比较,如果流量不在合理的范围,将说明流量发生了异常,将进行相应的后续处理。

3.4.流量可视化

如果出现了异常流量,在监控页面对应的设备将变成报警状态,同时产生一条可供后续查询的告警日志,并且在监控页面中如果设备当前并未有异常流量但历史上曾经出现过异常但对应的异常日志还未被处理,则会有相应的提示出现在监控页面。监控页面大致如下图所示:

正在闪烁的设备表示当前检测周期内设备流量发生了异常

有红色框线的设备表示当前检测周期内并无流量异常,但曾经发生过流量异常而流量异常的告警尚未处理

不闪烁也无红框线的设备表示当前检测周期无异常,也没有异常流量日志需要确认和处理

四、工控安全监测与审计产品简介

工控安全监测与审计平台,是专门针对工业控制网络的信息安全审计平台。 它采用旁路部署或直通模式,对工业生产过程“零风险”,基于对工业控制协议(如Modbus TCP、 OPC、Siemens S7、DNP3、IEC104、Ethernet/IP、MMS和853等)的通信报文进行深度解析(DPI,Deep Packet Inspection),能够实时检测针对工业协议的网络攻击、用户误操作、用户违规操作、非法设备接入以及蠕虫、病毒等恶意软件的传播并实时报警,同时详实记录一切网络通信行为,包括指令级的工业控制协议通信记录,为工业控制系统的安全事故调查提供坚实的基础。

工控安全监测与审计平台,广泛应用于电力、石油、石化、轨道交通、烟草、煤炭、钢铁及先进制造等各个行业。

威努特工控安全

专注工控·捍卫安全

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180108G033Y700?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区