专注于车载信息安全和预期功能安全技术研究
电话:+86 21 62655001
您的位置: 网站首页 > 技术成果
2020-06-15 15:15:51

基于信息熵的自动驾驶场景车载网络流量异常检测防御机制探究

来源:技术成果 浏览次数:399 点赞数:1

【摘要】

作为联网智能体,自动驾驶汽车需要频繁与内外界发生信息交互,以提供智能驾驶服务。联网通信使得汽车不再封闭,众多开放的接口增大了攻击面。恶意攻击对汽车来说影响巨大,甚至可能造成人员伤亡。所以在自动驾驶应用真正投入使用前,研究有效的车载信息安全防护方案意义重大。本次探究聚焦于自动驾驶车载网络安全,主要工作包括提出异常检测模型,设计并仿真实现了一种基于信息熵的自动驾驶场景车载网络流量异常检测算法。

 

 

【理论概要】

自动驾驶车载网络架构

    自动驾驶车载网络是一种基于域控制器的混合架构,是传统CAN总线与新型网络架构车载以太网的结合。在自动驾驶汽车中,车载以太网将作为主干网络,而CAN总线等服务于低容量通信场景。针对自动驾驶车载网络流量的异常检测应当包含对CAN总线和车载以太网两种网络结构的检测。

网络流量异常检测技术

网络流量异常检测属于入侵检测。异常检测可从系统检测方式角度细分为基于统计,基于知识和基于机器学习三种方式。其中,基于知识的方法检测效率随规则复杂度升高而降低,基于机器学习的方法算力消耗较大,结合车载信息安全中高实时性、高准确率要求以及车端算力限制,本次探究选定基于熵值理论的统计方式进行算法设计。

信息熵

异常网络流量的出现会导致系统的熵发生相应变化,因此可以通过熵值表示系统的统计特性检测异常。为描述熵值的计算,先定义自信息(self-information)这一概念,其表示离散随机变量的某个取值发生时所带来的信息量,定义如下:

                

其中,x为随机变量X的某一取值,p(x)表示其发生概率。对数的底数b取不同值代表自信息不同的度量单位,当b=e(自然对数)时自信息单位为nat(纳特),当b=2时自信息单位为bit(比特)。某取值的发生概率越小,信息熵越大,

信息熵是对随机变量不确定性的度量,表示为离散随机变量的所有可能取值的自信息的期望。通过概率加权,可以得到离散随机变量X的信息熵定义如下:

【提出的方法】

攻击模型

攻击者可以通过入侵车内电子控制单元(Electronic Control UnitECU)对车辆进行攻击,比较典型的是注入攻击,所以本次探究考虑一种攻击者模型:恶意攻击者成功劫持一个车内ECU,然后控制该ECU发送特定报文实现DoS攻击和重放攻击。

检测模型与算法设计

检测模型包括流量采集和流量分析两个模块,采集模块负责采集网络流量并加入到滑动窗口中,分析模块负责在滑动窗口满时计算信息熵,进行异常检测。

流量分析模块中使用了基于信息熵的异常检测算法。首先通过正常流量训练得到阈值,然后固定好滑动窗口大小,算法的主要思想是通过对滑动窗口中的流量数据计算信息熵,将信息熵值与预先设定的阈值对比,从而检测是否有异常发生。如果低于阈值,则有异常发生,发出合适警报;反之,流量正常。

【实验过程】

    1.实验前先探究滑动窗口对熵值计算的影响。利用控制变量法,固定窗口大小为200,滑动距离分别设置为150、100和50,探究不同滑动距离是否对熵值的影响。由实验可知,滑动距离不影响熵值计算,只影响窗口滑动次数。

    将滑动距离固定为滑动窗口的1/2,窗口大小分别取200、150和100。由实验可知,窗口大小虽影响熵值大小,但由于是用阈值判断的,所以只要选取合理的阈值,检测方案仍具有一定可行性。根据可容忍延迟时间和消息报文速率设定窗口大小:CAN总线中滑动窗口大小设为200,车载以太网设为50,滑动距离均为滑动窗口大小的1/2。

    2.实验过程中,CAN总线和车载以太网中分别选取了滑动窗口中报文标识符ID的频次和滑动窗口中数据包协议类型的频次作为离散随机变量用于计算信息熵。

处理数据集,由于需要正常数据训练阈值和异常数据模拟攻击,所以一共需要6种数据集。已收集到离线真实的CAN DoS数据集和车载以太网正常流量的数据包,所以还需要模拟出另外4种数据集。关于CAN总线,正常数据集是从DoS数据集中剔除异常数据得到,重放数据集是对正常数据集重放高优先级报文构造而得。关于车载以太网,DoS数据集采用UDP泛洪构造。重放数据集直接大量重放某条车载以太网的流量数据构造得到。

【实验结果及结论】 

    实验中对自动驾驶中CAN总线和车载以太网两种网络结构分别发起DoS攻击和重放攻击,每次实验修改阈值重复3次,共12次实验。实验中几乎很少出现误报的情况,存在一定漏报的情况,说明异常数据会使信息熵降低而非上下波动,阈值方法有效。12次实验成功检测率在87%以上,9次达95%以上。实验可以得出结论:本文提出的检测方法有较好的检测效果,但检测效果受阈值影响大,选取合理的阈值能提高成功检测率,降低误报率和漏报率。

【思考】

     本次探究是一次对自动驾驶车载网络异常流量检测的初探,意在寻求一种有效防护自动驾驶汽车的车载信息安全的办法。对本次探究复盘思考,仍发现一些局限性:首先,所设计方案是一种粗粒度的检测方式,无法在确定发生攻击后定位到具体的恶意节点,根除攻击源。可能需要结合身份认证机制解决。第二,阈值大小对检测结果的影响较大,且阈值的确定不能直接由正常流量决定。现有一个想法是,对标准差等计算角度设定阈值,通过检测熵值偏离当前均值的离散程度进行异常判断。