基于决策树的机器车拒绝服务和命令注入攻击检测

来源:控安轩辕实验室
2020-04-07
1285

摘要

移动网络物理系统,例如汽车,无人机和机器人车辆正逐渐成为网络攻击的有吸引力的目标。这是一个挑战,因为为常规计算机系统构建的入侵检测系统往往不合适。他们可能对资源受限的网络物理系统要求太高,或者由于缺乏有关实际攻击行为的真实世界数据而过于不准确。在这里,着眼于小型遥控机器车的安全性。在观察到针对其的某些类型的网络攻击会产生物理影响后,我们开发了一种入侵检测系统,该系统不仅考虑了网络输入功能(例如网络流量和磁盘数据),还考虑了速度,物理等物理输入功能,抖动和功耗。由于系统是资源受限的,因此我们选择了基于决策树的方法来生成简单的检测规则,该方法可以评估拒绝服务和命令注入攻击的可能性。可以观察到,添加物理输入功能可以显着降低误报率,并提高检测的整体准确性。

介绍

传统上,物理损坏是由物理手段和网络手段对网络的破坏,从工业控制到机器人车辆,我们对高度自动化和网络化系统的依赖性日益增强,已经产生了巨大的网络物理漏洞。 机器人车辆的运行通常严重依赖于计算机网络。 针对或通过关联网络的网络攻击以某种方式影响车辆的行驶,从而引发一系列新的安全挑战。 据报道,此类事件既发生在野外,也发生在受控的实验环境和比赛中。

网络物理攻击被定义为以下方面的安全漏洞对物理空间产生不利影响的网络空间。在这里,我们着重讨论拒绝服务攻击,它会通过延迟或阻止命令到达其运动控制系统来影响机器人车辆,以及命令注入攻击,这些攻击为机器人提供了相互冲突的控制命令。

我们的目标是为此类车辆提供机制,以快速,准确地检测出它们受到攻击。绝大多数网络物理安全研究已经专注于工业控制系统。这样的系统是固有可预测的。它们执行例行操作,并且网络流量与预期行为的任何偏差都可以标记为可疑。我们认为,机器人车辆运行的不确定环境使它们的可预测性较差。对于不是自主的而是由用户通过通信信道控制的车辆,情况尤其如此。在先前的研究中,我们已经发现,根据实现方法和攻击类型的不同,可能会迫使机器人在其通信通道上遭到拒绝服务攻击,使其被迫关闭,继续盲目移动,抖动或延迟更改方向等。在这里,我们尝试利用两种实际可用的网络攻击的物理表现:拒绝服务和命令注入,以调查我们是否可以有意义地将其用作网络攻击的一部分。板入侵检测系统。我们将这些称为物理输入功能。作为网络输入功能,我们指的是传统上用于入侵检测的功能,例如入站和出站网络速率,CPU使用率,磁盘活动等。我们在基于知识的机器学习算法上评估了网络和物理输入功能的组合使用。

测试环境

7.png

在图中说明了用作测试平台的机器人车辆,它是一个四轮驱动机器人,由运行Linux操作系统的板载Intel Atom计算机控制。Arduino微控制器负责驱动机器人马达。 该机器人还配备了云台摄像机,用于远程导航和态势感知。 通过将通过TCP套接字接收的命令中继到机器人控制板,可以通过以太网电缆或Wi-Fi进行机器人的远程控制。 两个后轮马达均装有磁性编码器,可提供有关每个车轮角位置的信息。 机器人组件的详细示意图如图所示,该图还突出显示了从不同组件收集的网络和物理输入功能,用于入侵检测。

77.png

实验设置和场景

我们的首要目标是确定是否有意义的检测使用物理输入功能,或者更可能通过组合网络和物理输入功能,是可行的。 因此,我们从简化的条件和攻击场景开始。 为了减少摩擦的可变影响,在实验过程中将机器人放置在架子上。 这还有助于在相同实验室环境中涉及以不同速度和不同持续时间运动的场景的可重复性。 为了在操作员与机器人以及攻击者之间进行有效的通信,我们在实验过程中同时使用了有线和Wi-Fi通信。 最后,为了在不同情况下保持一致,我们通过直流电源而不是板载电池组为机器人供电。 后者的消耗率会影响电动机功率的一致性,并因此影响编码器的任何测量结果。

777.png

使用决策树进行入侵检测

我们已经确定了对使用物理和网络输入功能对攻击中的机器人车辆的行为特征进行鲁棒分类的方法。 为了实现这一目标,我们从基于知识的方法开始研究,该方法取决于已知攻击模式的存在。 作为这种方法的一个例子,我们使用基于决策树的算法。 决策树机器学习是一种通用的数据分类方法,具有学习速度快,学习能力强,构造简单等特点。 我们选择了决策树C5.0来定义规则集,以检测对机器人车辆测试台的物理影响以及网络攻击。

我们的目标是(i)提供一种可以检测到对机器人车辆的网络攻击;以及(ii)探索增加物理输入功能是否可以提高其有效性。 作为一种代表性方法,我们使用了决策树学习算法来自动生成将由机器人车辆使用的检测规则。

1)方法:选择决策树C5.0作为C4.5的更新版本,在速度,内存和效率方面进行了改进。我们使用R中的C5.0软件包来执行此算法。在我们的实验中收集的数据集为每个特征提供了40,454个数据点。我们随机选择了初始攻击场景的30%数据点(用于拒绝服务的s1和用于命令注入的s2)进行训练,其余部分(S1的70%,S2的70%以及S3,S4的整体) (S5)进行测试。在训练数据集中,我们添加了算法的学习标记,当“基本事实”是存在攻击时为真,没有攻击时则为假。 

2)功能选择:与我们的第二个目标一致,我们允许我们的学习算法使用可用输入功能的全部或子集:•设置1:全部八个网络和物理功能•设置2:仅四个网络功能•设置3:仅四个物理功能

3)决策树模型:对于每组功能,我们都适合在训练数据上使用Quinlan的C5.0算法的决策树模型。对于给定的测试数据,属性用法以规则集的百分比显示要素的贡献。显示了上述三种不同设置在网络和物理输入功能之间的不同用法。


收藏
点赞
2000