APP下载

网络化倒立摆系统的偏差攻击及其检测方法

2020-08-03徐彬彬

上海交通大学学报 2020年7期
关键词:攻击者数据包网络化

徐彬彬, 洪 榛, 赵 磊, 俞 立

(浙江工业大学 信息工程学院, 杭州 310023)

网络化控制系统(NCS)是控制技术、计算机网络与通信技术的结合,通过网络形成闭环反馈的控制系统[1].随着科技的发展,NCS的应用范围也越来越广泛,如复杂的工业控制系统、监控系统、无人驾驶系统等[2].但是,随着NCS与外部网络的联系越来越密切,系统的漏洞也逐渐暴露,即面临外部攻击的威胁也越来越多.

工控系统中设备之间的信息传输依赖于网络,由于工业网络实现的功能较为单一,没有着重关注信息传输的漏洞,部分设备甚至处于“裸奔”状态,攻击者容易侵入网络内部,监听工控系统中的通信数据,设计恶意攻击和破坏系统.目前,已知针对NCS的攻击主要是破坏其可靠性、可用性以及完整性[3].刘烃等[4]从时间隐蔽和空间隐蔽角度将NCS的攻击进行分类,分析了十余种攻击方法,其中大部分是针对数据完整性的攻击;Urbina等[5]通过修改水箱系统传感器的测量值控制执行器以实行攻击,并展示了攻击者可以智能地针对传统不良数据检测,设计相应的隐蔽性攻击;Quarta等[6]探讨了现代工业机器人面临的安全问题,提出一种攻击模型,并通过实验展示了攻击者破坏机器人控制器的过程,获得机器人的完全控制权限,改变了生产过程.

针对上述攻击,研究人员提出了相应的检测方法.Manandhar等[7]提出采用基于欧几里德的检测器来检测虚假数据注入攻击.由于当前绝大多数工控设备还在使用无状态检测方法检测攻击,Urbina等[8]针对隐蔽性攻击提出了新的对抗模型,利用累积和(CUSUM)方法跟踪误差,并证明了有状态检测比无状态检测更能抑制隐秘性攻击.攻击检测的方法虽然在不断更新完善,但是通过攻击测试,将检测算法应用到实际物理平台上的研究不多,尤其是使用机器学习方法检测虚假数据的实际应用.

本文在NCS网络安全的背景下,以网络化倒立摆系统为对象,进行网络攻击和检测实验,模拟NCS的攻防问题.首先,使用Ettercap工具入侵网络,篡改数据,进行偏差攻击;其次,结合支持向量机(SVM)方法,使用LibSVM软件分析数据;进一步地,通过仿真验证,与常用的K最近邻(KNN)、决策树方法对比,验证了SVM在二分类问题上效果更具有优势;最后,利用平台检验SVM方法的实用性.本文展现了NCS的脆弱性,一方面实现了对网络化倒立摆的偏差攻击,另一方面针对该攻击提出了相应的检测方法.

1 问题描述

NCS一般由传感器、控制器、执行器和通信网络4部分构成.网络化倒立摆系统具有NCS的基本结构,本文将对NCS攻防博弈问题转化为对网络化倒立摆系统的攻击及检测问题.

实验中使用的直线一级倒立摆系统由固高科技(深圳)有限公司生产,加入网络模块后,如图1所示,服务器端与倒立摆系统相连,负责采集倒立摆的当前状态信息,并将数据发送至客户端;客户端接收后,依据控制算法,计算出对应的控制量,回传至服务器;服务器根据控制量,调节倒立摆.整个系统处于由网线、路由器等连接形成的局域网中,通过TCP/IP协议通信.为方便加入网络攻击,采样周期设置为0.015 s.

图1 网络化倒立摆系统示意图Fig.1 Schematic diagram of networked inverted pendulum system

(1)

系统中采用的控制方法为基于爱克曼公式的状态反馈控制方法[9],确定状态反馈增益矩阵

(2)

式中:A、B为系数矩阵;φ(A)为期望的闭环特征多项式;m为系统阶数.通过给定的闭环极点[-2, -3,-4+3i, -4-3i],以及式(1)中的状态方程,经运算得到状态反馈增益矩阵

K=[-5.050 5-5.824 35.250 2 6.275 0]

(3)

网络化倒立摆根据爱克曼控制方法正常运行的状态信息如图2所示,t为实验时间.

图2 倒立摆部分采样数据Fig.2 Sampling data of inverted pendulum

网络化倒立摆系统所依赖的标准以太网不提供安全保证,系统中没有额外增加传输数据的保护措施,容易受到外部攻击.因此,为了解NCS的攻防博弈问题,不仅需要设计一种网络入侵方法篡改数据,还需要设计对应的检测方法.

本文的目标:

(1) 攻击者入侵局域网,监听网络化倒立摆系统的输入输出,估计出增益矩阵K′.

(2) 向传输信息中注入虚假数据,改变倒立摆的稳定状态.

(3) 利用检测方法,区分虚假数据.

根据攻击NCS位置的不同,可将攻击分为3种[10]:欺骗攻击、拒绝服务(DoS)攻击和物理攻击.欺骗攻击是指攻击者向传感器或控制器注入虚假信息;局域网中NCS的欺骗攻击可通过“中间人”(MITM)攻击实现[11],数据信息以虚假数据注入[12]的形式进行篡改,主要方式有3种:浪涌攻击、偏差攻击以及几何攻击[13];不同于传统的检测方法,统计学方法从数据的角度深入,将检测问题转换为数据分类问题,能够准确判断系统是否遭受到攻击,常用方法有KNN、决策树、SVM等.

本文对网络化倒立摆系统实行了欺骗攻击,首先,利用MITM攻击入侵网络;其次,以偏差攻击的形式篡改数据;最后,通过SVM方法检测是否攻击成功.

2 网络化控制系统的攻击和检测方法

2.1 NCS的MITM攻击

MITM攻击是基于地址解析协议(ARP)欺骗的常用网络攻击手段.如图3所示,NCS平台一般包括上位机、下位机、控制对象和通信网络.以攻击上位机A、下位机C为例,攻击者B向正常通信的A、C进行ARP双向欺骗攻击,改变了A、C的ARP缓存表中IP地址对应的MAC地址,最终导致主机A、C相互通信的数据都流向攻击者B,那么B不仅能够监听信息,甚至能恶意篡改数据,操控设备.

图3 NCS的MITM攻击示意图Fig.3 Schematic diagram of NCS’s MITM attack

Ettercap[14]是一种实现MITM攻击的工具,具有嗅探实时连接、转发、截取数据等功能.引入Lua语言后,能够执行一些复杂的操作,可在Linux终端直接通过命令调用.

使用Ettercap入侵网络,监听传输数据,获取估计的增益矩阵K′的步骤如下:

步骤1在Lua脚本上编写代码,设置过滤规则,使用“ettercap.log()”命令将截取的数据显示在终端界面.

步骤2Ettercap的数据截取方式有“remote”(双向截取)和 “oneway”(单向截取)2种,获得2个目标主机的IP地址后,再选择合适的截取方式.

步骤3根据数据的传输格式,进行数据预处理,最后使用系统辨识方法,即可以估计出增益矩阵K′.

根据矩阵K′,攻击者可得出各个数据的权重分配关系,能实施更精准的数据篡改攻击.

2.2 偏差攻击

注入数据的方式为偏差攻击,指在不被检测装置发现的情况下,攻击者在某个时段内,不断地对数据进行恶意篡改,在目标数据的基础上添加一个较小的非零常数:

(4)

使用Ettercap执行偏差攻击的步骤与2.1节中监听步骤类似,在上述的Lua脚本中需添加两部分内容:

(1) 根据传输数据的结构,设计字符串分割方式,获取篡改目标的原始数据D.

(2) 依据式(4),在获得的数据D基础上,添加合适的常数λ.

Lua语言中类型转换、数值计算等操作可能会改变字符串的长度,为不影响客户端读取数据,需要编写相关函数,保证数据传输的结构不变.

2.3 支持向量机

检测不良数据的本质是将数据分为真实数据和虚假数据的分类问题.SVM[15]是建立在统计学习理论基础上的一种数据挖掘方法,能有效地处理分类和回归问题.LibSVM[16]是一种实现SVM的开源库,可扩展性好,应用范围广.具体使用流程如图4所示.

图4 LibSVM的操作流程图Fig.4 Operation flowchart of LibSVM

为更好地分析数据,引用了判定指标,对于二分类问题,可将数据划分为4类[17],如表1所示.

表1 数据混淆矩阵Tab.1 Data confusion matrix

根据预测的标签与测试集的标签数N,计算各个判定指标:

(5)

(6)

(7)

图6 服务器数据传输格式Fig.6 Transmission format of server data表2 实验设备及其IP地址Tab.2 Experimental equipment and its IP address设备名称IP地址服务器192.168.0.100客户端192.168.0.101入侵者192.168.0.102图7 MITM攻击获取的部分状态信息和控制量信息Fig.7 Part of state information and control information obtained by MITM attack

3 实验评估

3.1 网络入侵和数据篡改

图5所示为本文搭建的网络化倒立摆攻击系统.攻击者在Linux系统中使用Ettercap实施MITM攻击入侵系统传输网络,以偏差攻击的方式篡改服务器上传的位置信息.

图5 网络化倒立摆攻击平台Fig.5 Attack platform of networked inverted pendulum

服务器以字符串形式上传数据,格式如图6所示,长度共有41位,前32位分别存储了倒立摆系统的4种状态信息;之后8位为数据包的记次位,记录数据包的传输次数;最后1位为帧尾,用于判断是否为需要篡改的数据.

实验局域网中各设备的IP地址如表2所示.

通过监听两端的通信,获取系统输入输出数据.实验中系统采样周期较短,为避免网络阻塞,选择“oneway”模式,单向截取数据,图7所示为Ettercap监听客户端和服务器端的部分数据.

根据系统传输的输入输出,利用最小二乘辨识方法,得到的增益矩阵为

K′=

[-5.050 3-5.824 8 35.250 1 6.275 0]

(8)

与式(3)中通过爱克曼控制方法得出的K很近似.

为维持倒立摆系统的稳定性,所注入的位置偏差不能过大,此处λ的取值为0.05.

攻击后倒立摆部分数据曲线如图8和9所示,攻击对象为倒立摆的位置信息,攻击从t=12 s开始,直至实验结束.

相较于图2,图8中显示系统受攻击后,位置信息发生了较大的改变.服务器采集倒立摆系统的当前状态信息,系统实际的稳定位置由初始位置的0,转移到 -0.05 m附近.

客户端接收的是偏差攻击后的数据,由图8和9可知,客户端和服务器的数据只有位置信息不同,图9中位置信息在12 s处发生了改变,但是逐渐回到了0的初始稳定处.

图8 攻击后服务器采集的数据Fig.8 Data collected by the server after attack

图9 攻击后客户端接收的数据Fig.9 Data received by the client after the attack

由此可知,偏差攻击达到了预期的效果,实际的系统状态已经发生了改变,但是从客户端中只能看到系统受到了干扰,随后又逐步稳定在初始状态,说明攻击具有一定的隐蔽性.

3.2 SVM仿真实验

由于倒立摆系统是快变的系统,当受到攻击时,便会影响后续的状态,本部分是为了验证SVM方法能否快速检测出系统受到的攻击.

采集网络化倒立摆系统正常状态下运行的特征数据,特征数据包括小车的位移和速度,摆杆的角度和角速度,采用式(4)所述的偏差攻击方式定义虚假数据.训练集数据共有 16 000 组,真实和虚假数据各 8 000 组.以相同的方法获取测试集数据,测试集总共有 4 000 组,真实数据和虚假数据各 2 000 组.

调用LibSVM库,由于样本的特征维度不高,样本的个数适量,选择径向基核函数;交叉验证调整得到c=4,g=16.由于采集的特征数据普遍较小,所以实验中没有对数据进行归一化处理.

通过对不同特征以偏差攻击形式篡改,分类结果如表3所示,SVM方法的分类准确率、准确率和召回率都超过95%.

表3 更改不同特征数据的SVM分类情况Tab.3 SVM classification with different feature data

与常用的机器学习方法,如KNN、决策树进行比较,以位置的偏差攻击为例,结果对比如表4所示,SVM效果最好,准确率超过98%.

表4 SVM、KNN和决策树方法的对比

KNN思想简单,但是计算量大,需计算出每一个测试样本与所有的训练集样本的距离,找到距离最近的k个点,表决出类别,消耗时间长,并且当样本分布不均匀时,预测的准确率较低,在实验中,KNN精确率虽高,但是召回率相对较低,多次测试,准确率相差较大;决策树计算简单,但是容易发生过拟合现象,在实验中,分类效果较好;SVM通过核函数将线性不可分的样本映射到更高维度的特征空间中,实现了线性可分,仿真实验中SVM方法展现出良好的分类能力,区分了虚假信息与正常信息.

3.3 平台测试

为检验SVM方法在实时条件下的分类能力,将训练的模型移植入网络化倒立摆平台的客户端,对接收的每个数据包中的状态信息进行预测,若判定为虚假数据包,则发出警报,即显示其记次项,以检测分类的准确性.

当倒立摆处于稳定状态时开始检测,选择第400个数据包,即t=6 s时为检测起始点;对位置信息的攻击为每隔300个数据包进行一次,注入的偏差值为0.05,并设定从第600个数据包,即t=9 s时开始发起攻击.

SVM方法的实际检测效果如表5所示.表中的数据包总量代表从检测起始点至单组实验结束的数据包总个数;正常数据包及虚假数据包的准确率,分别代表通过分析记次项得到的TP或FN数量占实际正常数据包或虚假数据包总数的比例;总准确率为式(5)中的准确率.由实验结果可看出,在平台测试中,SVM方法的各项准确率指标基本能达到90%以上,说明了该方法具有较好的检测能力.

表5 实际平台的SVM方法检测效果Tab.5 SVM method detection results of actual platforms

4 结语

本文首先对网络化倒立摆系统进行了网络入侵,并篡改了传输的状态信息,使得原有的状态发生了改变;其次,在仿真中,使用LibSVM软件包,利用SVM方法对注入虚假信息后的数据进行了检测判断,分类效果良好,并通过与KNN、决策树分类方法进行比较,突出了SVM在二分类中的优势;最后,在实验平台中验证了SVM方法的有效性.

下一步研究的方向为:建立完整的防御体系,当检测出系统受到攻击,通过预测控制,计算出控制量,或者估计注入的攻击偏差值,并加以补偿,使系统稳定在当前状态;攻击者加入后,整个网络通信时延加长,需延长系统的采样时间,才能使倒立摆系统正常运行,如何减少攻击带来的网络时延是进一步的改进方向.

猜你喜欢

攻击者数据包网络化
基于贝叶斯博弈的防御资源调配模型研究
职业院校财务会计网络化建设
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
网络化条件下高职思政课混合式教学模式的应用
C#串口高效可靠的接收方案设计
正面迎接批判
正面迎接批判
考虑量测时滞和相关噪声的网络化数据融合
新闻业经营管理的网络化思维