1. 引言
随着汽车信息化的快速发展,特别是汽车里装置了与外网相连的模块,越来越多的汽车遭遇了入侵威胁,目前已经有了这样的案例 [1] [2] [3] 。因此,汽车车载网络的安全已经是一个迫在眉睫的问题。目前针对车载网络的入侵检测技术现状是:Groza通过实验证明在CAN总线网络中根据信号特征识别信息发送节点的可行性并推荐其可作为一种CAN总线网络的入侵检测方法 [4] ,Larson提出了一种建立在安全规则基础上的CAN总线网络攻击检测方法,该方法基于CANopen协议的对象字典,使用协议级的安全规则检测非法ECU行为,并提供了一组示例的安全规则 [5] ,Muter给出一种结构化的车载网络异常检测方法,引入一组异常检测传感器对消息帧ID、数据负载、消息频率等进行检查,并整合传感器结果以防止误报 [6] 。这些入侵检测方法针对车载网络非关联数据攻击方面检测确实有一定作用,但是没有解决针对车载关联数据攻击方面的入侵检测的问题,所以我把数据挖掘中的关联算法Apriori引用到车载网络上,但由于传统的Apriori算法效率地下,通过结合粗糙集理论对它进行了改进,主要目的是解决针对车载网络关联数据攻击的问题。
2. 相关背景
2.1. 粗糙集理论
知识在粗糙集理论中被定义为对世界客观事物进行分类的一种能力。在粗糙集理论中,知识必须跟某些所研究对象的整体相联系,这个整体也叫全域或论域。
定义1 T = {U,P,V,f}是一个信息系统,其中U是被研究对象的集合,P是研究对象个体的属性集合,V是属性值域集合。f是一种映射关系,反应对象集合之间的值。
1) 离散化问题
粗糙集理论相对于德国数学家康托尔提出的集合论来说算是对它的延伸,而处理数据的时候,通常面临数据属性要么是连续性的或者是离散的,但往往处理数据的时候,数据的属性大多数是连续的。因此,属性的连续性转化为离散化问题是它的主要研究内容之一。离散化的优点是可以降低超大数据量。
2) 不完整数据问题
从在数据挖掘的过程中,如果从不完备性的数据集中去挖掘规则会比完备的数据集挖掘规则困难。通常,不完备的数据比较少的情况下,可以删除这些不完备信息,形成一个完整的信息表。但是,如果不完备信息对数据挖掘来说不可缺失的话,就会干扰挖掘结果。而粗糙集理论可以处理这种不完整的信息,并且不需要先验知识。
2.2. 关联规则
设
是所研究对象集合中所有属性(项)的集合。其中,如果一个集合里有k个属性的属性集就称为k-项集。设D是二维结构的数据集,其中每个记录T是项的集合,使得
。设A是一个项集,要使记录T包含A,那么只有当且仅当
。
定义2 关联规则的表现形式为
的蕴含式并且
,
,
。其中A称为关联规则的条件,B称为关联规则的结果。对关联规则
的度量标准很多:主要有支持度(sup),置信度(conf)等。定义如下:
其中
是指B在数据集D中出现的概率,其它类似。
指A,B在D中同时出现的概,
表示在A存在的情况下,B存在的条件概率。
3. 粗糙集理论与关联规则挖掘结合
由于原始的Apriori算法存在一些不足,因此利用粗糙集理论对Apriori做了改进,主要在如下两个方面:1) 利用粗糙集技术对原始数据进行预处理,包括对连续性数据的离散化处理和对不完整数据的补齐。2) 关于在挖掘关联规则过程中通常会形成很多没有意义的规则的问题,采取了对关联规则中属性的制约,使得得出的规则是分类规则,这样就可以处理未知数据。
3.1. 数据的预处理
起初使用粗糙集技术对记录中的条件属性进行预处理,也即对不完备的数据进行补全和对连续性的属性进行离散化处理。这里为了使数据离散化过后仍然保持原始数据的等价关系,选择了Semi Naive Scaler离散化算法。
3.2. 属性限制
在关联规则挖掘的实践过程中,有时会遇到得出的规则中包含某些非期望出现的属性。
由于数据源是二维关系表,所以能够转化成定义1所述的信息系统并且属性制约的关联规则与粗糙集理论的决策规则的定义相对应,即在形成的规则的结果中,推出的结论只能有分类属性和对应值而条件属性只能作为前提,这样能够防止没用规则的出现。
4. 实验与讨论
4.1. 数据源
由于汽车在驾驶过程中,汽车的动力系统中,在某个档位,油门踏板、发动机的节气阀、发动机的转速和车速有时序的相关性,因此本文主要分析动力系统相关指令的相关性和时序性,因此我们采集动力系统CAN总线数据,采集设备是盘沣公司的PFautoEcu-IV [7] ,设备如图1所示,采集的部分数据集如图2所示,总共采集了60分钟的数据,约40万条数据。
4.2. 数据处理
首先对数据进行离散化处理,例如对CAN报文时间戳离散化处理过后,得到的断点集合为{0.0306, 0.0368, 0.0673, 0.0749, 0.1054, 0.1127, 0.1432, 0.1507, 0.1812, 0.19, 0.2192, 0.326, 0.3787, 0.469, 0.4849, 0.3407, 0.409, 0.333, …} (单位为ms)。

Figure 1. Data acquisition equipment PFautoEcu-IV
图1. 数据采集设备PFautoEcu-IV
试验得到的关联规则形如
在上述规则中提取的是车速和转速的CAN报文,规则左边是条件属性,右边是结果。表示当CAN总线发送车速和转速的数据的时间戳差的绝对值在0.0060~0.0080之间那么说明此时车速和转速这2个属性就存在对应关系。这里形成规则的过程中,其中包含规则的记录有230,000条,置信度为100%,支持度为57.5%。
4.3. 结果分析
首先在测试数据源里添加异常数据,然后利用上面得到的关联规则对数据进行检测,得到试验部分结果如图3所示。从图中可以看出异常数据的时间戳差绝对值都没在范围内,正常数据都在范围内并且异常数据在车速确定的情况下,真实的转速值与添加的异常转速值不匹配,说明了达到了检测的目的。
5. 总结
本文通过粗糙集理论与关联规则挖掘算法的结合对车载网络动力系统的CAN报文进行了挖掘最后进行了试验,并对异常情况做出了检测,达到了预期的效果。但是还有不足的地方就是:这是针对数据的单维的挖掘和入侵检测,以后的研究方向可以把重心放到针对数据多维度的挖掘和入侵检测。