CN108390869B - 集成深度学习的车载智能网关装置及其命令序列检测方法 - Google Patents
集成深度学习的车载智能网关装置及其命令序列检测方法 Download PDFInfo
- Publication number
- CN108390869B CN108390869B CN201810130322.6A CN201810130322A CN108390869B CN 108390869 B CN108390869 B CN 108390869B CN 201810130322 A CN201810130322 A CN 201810130322A CN 108390869 B CN108390869 B CN 108390869B
- Authority
- CN
- China
- Prior art keywords
- command
- vehicle
- deep learning
- sequence
- commands
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明属于智慧车辆安全技术领域,公开了一种集成深度学习的车载智能网关装置及其命令序列检测方法,先用数据挖掘中的关联算法发现有相关性的CAN命令集合;再用深度学习中的长短期记忆网络算法,自动学习相关命令集合的序列特征,建立多组序列检测模型,并利用序列模型检测实时CAN命令流,解决了传统检测算法不能检测报文格式合法且数量较少的CAN攻击命令(即隐蔽型攻击命令)的问题。其次,本发明的网关集成了专门用于计算的芯片Nvidia Jetson TX2,有效提高计算效率,为深度学习算法在车辆高速行驶环境实现毫秒级的检测提供了硬件支持;解决了现有算法单纯依靠车辆有限的计算能力,效率低的问题。
Description
技术领域
本发明属于智慧车辆安全技术领域,尤其涉及一种集成深度学习的车载智能网关装置及其命令序列检测方法。
背景技术
2015车联网发展高峰论坛成功举办,标志着智慧交通时代的到来。而特斯拉车辆的推出,掀起了车辆工业信息化、智慧化的热潮。众多涉及人工智慧的高科技公司纷纷进入智慧车辆领域,使得车辆内部的ECU(Electronic Control Unit,电子控制单元)越来越多,车载系统软件也越来越复杂。然而,车辆的通信网络系统沿用了现有的计算机网络架构,继承了这些系统天然的安全缺陷。当车辆通过通信网络接入互联网之后,每个ECU、每个链路都有可能被黑客利用,实现对车辆的攻击和控制,可能引发车辆失去控制、拒绝服务等严重影响用户生命财产安全的问题。因而智慧车辆的安全防护技术极其重要,受到政府、产业界和学界的共同重视。
目前,业内常用的现有技术是这样的:
智慧车辆安全防护研究整体处于起步阶段,基本思路是把传统安全技术移植到车载内网和车联网中。特别对入侵的检测算法大多从现有互联网的入侵检测算法移植,对车辆入侵检测并不适合。例如:“一种车载CAN总线安全防护方法和装置”中也设计了一个类似的网关,基于预先配置好的规则进行检测,检测的原理分为:1)对比报文的ID是否是在合法ID集合中;2)合法ID对应的报文是否在正常限定的频率区间内;3)某车辆状态下的ID是否在车辆状态对应的ID集合内。与此类似的还有“一种车载MOST/CAN安全网关及其入侵检测方法”,其检测原理为单位时间计算一次节点的最大值、最小值和均值,并和数据库里记录的正常阈值比较,如果超过阈值就判断为异常。其他现有检测技术方案基本与这二者类似,不过提取的特征和统计个体与数据不同。
综上所述,现有技术存在的问题是:
现有入侵检测算法大多从传统Internet网络中移植,分为基于特征比对和基于统计分析两大类;前者对报文的特征进行比对发现带有危险信息的报文(如上所述比对ID是否是合法的,ID是否在某集合中);后者考察单位时间的各种统计数据是否超出阈值(如上所述的ID出现的频率,报文的最大,最小,均值是否超出阈值)。此类传统方法对于检测少量但完全按协议伪造的,不带危险信息的车辆CAN命令(即隐蔽型攻击)非常不力。这类隐蔽型攻击报文从特征上看完全合法,不能被特征比对检测出。且发送的个数很少,也基本不影响统计特性,从统计阈值上无法检出。而一个不恰当的刹车命令就可以造成驾驶员的生命危险。因此现有的传统检测算法完全不能满足智慧车辆入侵检测的要求,即传统检测算法不能检测报文格式合法且数量较少的CAN攻击命令(即隐蔽型攻击命令)。而有些研究人员提出完全不允许外界遥控车辆指令的进入,虽然可以解决外部攻击的问题,但是跟智慧车辆往车联网发展的潮流相悖,不可取。
行驶中的车辆是一个高速的环境,任何检测都需要在毫秒级完成。现有检测单纯依靠车辆自身极其有限的计算能力执行检测,简单算法还勉强可以使用,稍微复杂点的算法效率都不满足车辆的高速环境,需要专门的检测计算部件。
解决上述技术问题的难度和意义:
对于传统互联网来说,少数几个攻击报文的漏检并不构成很大威胁,威胁较大的是类似泛洪攻击(flood),分布式拒绝服务攻击(DDoS)这类流量较大的攻击。因此传统网络入侵检测方法对检测少量结构合法但是出现时机异常的攻击重视程度不够,技术也相对落后。该类传统方法被引入到智慧车辆异常检测领域时,对检测少量结构合法但是出现时间异常的隐蔽型攻击同样不力,基本上检测率准确率小于10%。但是,在互联网领域可以容忍该类攻击的漏检,在车联网领域不行。在车辆行驶过程中,少量出现时机异常的命令会造成巨大危害。例如:刹车命令,命令本身完全符合协议规范(不会被特征检测检出),行驶过程中也经常出现(少量命令难以被统计规律检出),但是如果出现时机不对,一个异常的刹车命令就可以造成追尾事故,更严重就会危害生命。因此必须针对此类数量少完全符合协议规范的隐蔽型攻击设计检测方法。经过真实采集的车辆CAN命令的研究,发现正常命令存在序列特征,而攻击命令会破坏正常命令的序列特征,因而被序列特征模型检出。有效解决少量符合规范的隐蔽型攻击的检测问题,防止此类隐蔽但是危险的攻击产生作用。
其次,车载系统的计算能力不如计算机网络,但时效性要求反而比计算机更高,这也是现有技术方案都只采用了一些计算复杂度较低的算法的原因。本设计集成了高性能的计算芯片,提供支持深度学习所用的计算能力。提高传统检测算法效率的同时,支持复杂检测模型的训练和使用。
发明内容
针对现有技术存在的问题,本发明提供了一种集成深度学习的车载智能网关装置及其命令序列检测方法。
本发明是这样实现的,一种集成深度学习的车载智能网关装置的命令序列检测方法,为:
先用数据挖掘中的关联算法发现有相关性的CAN命令集合;
再用深度学习中的长短期记忆网络算法,自动学习相关命令集合的序列特征,建立多组序列检测模型;
最后,利用序列模型检测符合协议规范且数量较少的危险CAN命令,传统算法对其检测率极低。
进一步,所述集成深度学习的车载智能网关装置的命令序列检测方法,不仅检测特征不合符或者出现频率超过统计阈值的异常命令,更重要的是检测非常隐蔽的符合协议规范,各种统计特征也合法的,少量但危险的CAN攻击命令,具体包括:
步骤一,将网关装置置于车载内部网络与车辆外部网络连接处,对于所有从外网发向车载内网的CAN命令进行检测,如果发现异常就阻断外网命令并报警记录;
步骤二,网关装置利用深度学习模块学习正常序列模型,学习到的序列检测模型被作为规则存储在规则模块中,与传统规则一起被规则模块中的优先级配置文件决定检测顺序;最后被检测为异常的命令报文会被阻止并被报警记录模块记录并报警给指定设备;各个规则的优先级由ID的大小决定,值越小越优先;
步骤三,深度学习模块收集正常行驶中的、有时间先后顺序的CAN命令序列集合;先利用关联算法发现有相关性的CAN命令组,提取相关CAN命令构成的序列;
步骤四:将步骤三中由关联算法发现的多个具有相关性的CAN命令组序列作为输入,交由长短期记忆网络LSTM进行序列模型训练;
步骤五,检测模块按配置的检测规则顺序,对流经网关的实时CAN命令流进行检测,对异常结果进行报警记录或进行阻止。
进一步,深度学习模块训练正常序列模型用于检测隐蔽危险CAN命令,其学习方法具体包括:
在连续采集的CAN命令数据集上,统计每1秒时间区间内出现的命令和每个命令出现的次数;将出现次数相差不高于3次的命令组合在一起够成候选集;然后用Apriori关联算法分析候选集内命令之间的支持度和置信度;
用C代表候选集,ID代表CAN命令号,根据出现次数相差不高于3次的条件,则一个候选集C=(IDi,IDj,IDk,…),其中i,j,k代表具体数值;
在连续采集的CAN命令数据集上,每隔一分钟提取所述的候选集,得到一系列的候选集Cx,Cy,Cz,…;
对每个候选集C执行以下操作:
1)如果在一个候选集C中,两个命令序号同时出现,则提取出(IDi,IDj)这样的相关项;C中往往不止2个命令序号,两两提取出来,例如:(IDi,IDj),(IDj,IDk),(IDi,IDk)…;
2)对所有候选集进行1)操作,提取出每个候选集C的相关项;
3)计算每个相关项的支持度和置信度;
4)将支持度和置信度均超过80%的相关项输出,作为频繁相关集。
进一步,计算每个相关项的置信度和支持度,得到真正的序列模型训练集合,包括:
(IDi,IDj)的置信度=P(IDj|IDi);当IDi出现时,同时出现IDj的概率;
计算每个相关项的支持度的方法,包括:
(IDi,IDj)的支持度=P(IDjIDi);在所有的提取出来的相关项中,既有IDi又有IDj的概率。
本发明的另一目的在于提供一种实现所述集成深度学习的车载智能网关装置的命令序列检测方法的计算机程序。
本发明的另一目的在于提供一种实现所述集成深度学习的车载智能网关装置的命令序列检测方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的集成深度学习的车载智能网关装置的命令序列检测方法。
本发明的另一目的在于提供一种集成深度学习的车载智能网关装置,包括:
深度学习模块,用于学习正常序列模型,学习到的序列检测模型被作为规则存储在规则模块中;深度学习模块集成有芯片Nvidia Jetson TX2;
规则模块,用于与传统规则一起被优先级配置文件决定执行的检测顺序,或者不使用某个规则;
检测模块,用于检测异常的命令报文并进行会阻止;
报警记录模块,用于对检测的异常的命令报文进行记录报警给指定设备。
本发明的另一目的在于提供一种搭载有所述集成深度学习的车载智能网关装置信息数据处理终端。
综上所述,本发明的优点及积极效果为:
传统检测算法无法检测少量、符合协议格式、不携带危险数据段的隐蔽攻击CAN命令。因为传统检测算法针对的是互联网,少量攻击命令对已经拥有较高计算性能的服务器主机不构成威胁;而车辆只需要一个不恰当的刹车、转向或者是加速命令就可能导致车祸的发生。本发明利用关联算法发现CAN命令之间的相关性,在此基础上利用深度学习中的长短期记忆网络算法,通过对相关CAN命令序列正常特征的学习,实现了用正常序列特征检测被少量攻击命令打乱了的序列的检测。
为了验证基于长短期记忆网络算法训练的序列模型,对隐蔽攻击的检测效果,我们用真车采集的正常行驶数据和模拟的攻击数据进行了实验。真车数据来自500分钟的2010丰田普锐斯驾驶数据,大约12万条。
CAN数据包含ID和DATA两部分,ID是优先级字段,值越小,优先级越高。同时也是ECUs是否接收的依据。图5中IDH是代表ID的高字节位High,IDL是ID的低字节位。Len是代表后面跟着多少个字节的数据。Data就是真正的数据值。模拟攻击数据由pycharm工具根据CAN协议生成,格式跟真车数据一样。传统的泛洪攻击、重放攻击、伪造异常攻击等传统算法的检测率均超过90%,高的可以达到95%以上。但是传统算法在对隐蔽型攻击报文进行检测时,检测率均低于10%,而我们的序列模型检测给出了96%以上的高检测率,具体过程如下:
采集的真车CAN命令集中,其中IDH:02,IDL:83是刹车报文,IDH:02,IDL:66是伺服转向报文。由于转向时候一般伴有刹车减速动作,因此这两个命令一般伴随出现,通过关联算法相关性检测,具有时序特征,我们把这两个ID按时序单独取出,大约8100条数据。常见针对智慧车辆的攻击之一就是通过远程入侵发送伪造伺服转向报文,使车辆进行不适当的转向,导致事故的产生。但伪造的转向报文会破坏原车辆本身CAN命令之间的序列特征,可以被我们建立的正常模型检测出。
出于车辆检测实时性的考虑,该检测的LSTM模型设计在保证检测率的情况下,尽量简单,以减小计算量。输入层有1个输入CAN命令神经元,隐藏层有4个神经元,输出层有一个预测CAN命令神经元。代价函数是均方差,目的是使得通过模型预测出的值与标记值之间的均方差最小,即越小越好。需要强调对不同的序列组合,所用LSTM模型很可能不同,需要根据效果调整。
最重要的是模型步数的选取,即下一个命令跟前面几个命令有关也即序列的长度,实验了从1步到12步。
图6、7可以看到在步数6之前检测率都在80%多变化不大,选择步数6之后检测率迅速上升到96.62%,且增加步数后检测率增加不明显,最多只到10步的97.2%,甚至个别步数(7步)检测率还比6步低。分析判断,就转向和减速构成的命令序列来说,下一个CAN命令跟前面6个CAN命令有关,最终检测模型中步数选择为6步,检测率96.62%,误报率3.87%,基本达到检测目标,检测时间都在毫秒级。模型记录入规则模块,等待调用检测。
传统网关的规则基本都依靠人工输入配置,且规则只能检测已知攻击,对未知攻击无能为力。本智慧网关引入了人工智能中的深度学习算法,通过对正常CAN命令序列的学习,自动生成检测模型即规则,且能发现未知的攻击。
本智慧网关集成了专门用于计算的芯片Nvidia Jetson TX2,有效提高计算效率,为深度学习算法在车辆高速行驶环境实现毫秒级的检测提供了硬件支持。解决了现有算法单纯依靠车辆有限的计算能力,效率低的问题。
附图说明
图1是本发明实施例提供的集成深度学习的车载智能网关装置的命令序列检测方法流程图。
图2是本发明实施例提供的智慧网关部署示意图;
图3是本发明实施例提供的集成深度学习的车载智能网关装置智慧网关结构图;
图4是本发明实施例提供的长短期记忆网络LSTM结构图。
图5是本发明实施例提供的丰田普锐斯的正常驾驶数据图。
图6是本发明实施例提供的步数与检测率的关系图。
图7是本发明实施例提供的步数与损失的关系图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有入侵检测算法大多从传统Internet网络中移植,分为基于特征比对和基于统计分析两大类;前者对报文的特征进行比对发现带有危险信息的报文;后者考察单位时间的各种统计数据是否超出阈值。对于检测少量但完全按协议伪造的,不带危险信息的车辆CAN命令(即隐蔽型攻击)非常不力,基本上检测不出来。而一个不恰当的刹车命令就可以造成驾驶员的生命危险。因此现有互联网中的检测算法完全不能满足智慧车辆入侵检测的要求。而有些研究人员提出完全不允许外界遥控车辆指令的进入,虽然可以解决外部攻击的问题,但是跟智慧车辆往车联网发展的潮流相悖,不可取。
如图1所示,本发明实施例提供的集成深度学习的车载智能网关装置的命令序列检测方法,包括:
将网关装置置于车载内部网络与车辆外部网络连接处,对于所有从外网发向车载内网的CAN命令序列进行检测,如果发现异常就阻断外网命令并报警记录,不让其进入车载内网,防止远程操纵攻击生效。网关内的检测算法除了传统的基于特征比对和基于统计的检测算法之外,还引入了数据挖掘和深度学习算法。具体来说先用数据挖掘中的关联算法发现有相关性的CAN命令集合,再用深度学习中的长短期记忆网络算法,自动学习相关命令集合的序列特征,建立多组序列检测模型。利用序列模型检测无具体威胁信息的少量但是危险的CAN命令。因为正常行驶车辆的CAN命令具有序列特征,攻击者从外部注入的攻击命令会破坏这种序列特性,可以被学习到的正常序列模型检测出。最后,为了训练及检测算法适应车辆行驶高速环境的要求,网关集成专门的深度学习的计算芯片,并通过对模型的优化实现毫秒级的检测,该芯片不仅可以提高深度学习算法的效率也能提高传统算法的效率。真车数据实验对CAN命令序列检测的准确率达96%以上,远远超过传统检测方法低于10%的检测率。
具体包括以下步骤:
S101:网关装置置于车载内部网络与车辆外部网络连接处,对于所有从外网发向车载内网的CAN命令进行检测,如果发现异常就阻断外网命令并报警记录,防止远程操纵攻击生效。为了提高计算和检测效率,本网关集成计算效率较高的深度学习计算芯片NvidiaJetson TX2。
S102:网关中包含了深度学习模块、规则模块、检测模块(含传统检测、基于LSTM的序列检测)、报警记录模块等。其中“深度学习模块”被用来学习正常序列模型,学习到的序列检测模型被作为规则存储在“规则模块”中,与传统规则一起被“规则模块”中的优先级配置文件决定检测顺序,或者是根本不使用某个规则。最后被检测为异常的命令报文会被阻止并被“报警记录模块”记录并报警给指定设备(例如:用户手机)。各个规则的优先级由ID的大小决定,值越小越优先。如果把某类规则从“优先级配置文件”删除,则不进行该类检测。“深度学习模块”包含了关联算法、长短期记忆网络LSTM(Long Short-Term Memory)算法等多种算法,还可以通过更新软件模块进行算法扩展和更新。
S103:深度学习模块收集正常行驶中的、有时间先后顺序的CAN命令序列集合。由于真车行驶中,CAN总线上的命令非常杂,除了跟驾驶有关的加速、转向、刹车命令外,还有探测油量、车门是否关闭等的命令,前者跟后者其实没有关系,不宜在一起构成序列。因此,不能直接把全部命令构成的序列进行序列特征模型的学习,需要先利用关联算法发现有相关性的CAN命令组,提取相关CAN命令构成的序列。这一步可能形成多个相关CAN命令组。
S104:将S103中由关联算法发现的多个具有相关性的CAN命令组序列作为输入,交由长短期记忆网络LSTM进行训练。把CAN总线上的命令看作一个时间序列,用LSTM进行序列学习并预测下一个命令,因此输入是某时刻的CAN命令序列即CANID序列,输出是预测的下一个CANID。
S105:“检测模块”按配置的检测规则顺序,对流经网关的实时CAN命令流进行检测,视判断结果采取报警记录或者是阻止异常命令执行等措施。
下面结合附图对本发明作进一步描述。
本发明实施例提供的集成深度学习的车载智能网关装置的命令序列检测方法,包括。
步骤一:如图2,网关装置置于车载内部网络与车辆外部网络连接处。外部网络包括传统互联网Internet,还包括日渐发展中的车联网VANET。通过远程无线协议3G、4G或者近距离无线协议RFID、Bluetooth等与车辆进行通信。本智慧网关对于所有从外网发向车载内网的CAN命令进行检测,如果发现异常就阻断外网命令并报警记录,不让其进入车载内网,防止远程操纵攻击生效。
步骤二:如图3,智慧网关中包含了深度学习模块、规则模块、检测模块(含传统检测、基于LSTM的序列检测)、报警记录模块等。其中“深度学习模块”被用来学习正常序列模型,学习到的序列检测模型被作为规则存储在“规则模块”中,与传统规则一起被“规则模块”中的优先级配置文件决定检测顺序,或者是根本不使用某个规则。最后被检测为异常的命令报文会被阻止并被“报警记录模块”记录并报警给指定设备(例如:用户手机)。整个网关的计算通过专用计算芯片Nvidia Jetson TX2进行优化加速。
其中,规则模块采用以下格式配置文件:
各个规则的优先级由ID的大小决定,值越小越优先。如果把某类规则从该文件删除,则不进行该类检测。可以通过配置这个文件决定需要进行哪类检测,不需要进行哪类检测,以及检测的优先级。
其中,“深度学习模块”包含了关联算法、长短期记忆网络LSTM(Long Short-TermMemory)算法等多种算法,还可以通过更新软件模块进行算法扩展和更新。
步骤三:深度学习模块收集正常行驶中的、有时间先后顺序的CAN命令序列集合。由于真车行驶中,CAN总线上的命令非常杂,除了跟驾驶有关的加速、转向、刹车命令外,还有探测油量、车门是否关闭等的命令,前者跟后者其实没有关系,不宜在一起构成序列。因此,不能直接把全部命令构成的序列进行序列特征模型的学习,需要先利用关联算法发现有相关性的CAN命令组,提取相关CAN命令构成的序列。这一步可能形成多个相关CAN命令组。
具体来说,在连续采集的CAN命令数据集上,统计每1秒时间区间内出现的命令和每个命令出现的次数。将出现次数相差不高于3次的命令组合在一起够成候选集。然后用Apriori关联算法考察候选集内命令之间的支持度和置信度,二者均超过80%的组合构成频繁集,也就是需要的相关命令集合。
用C代表候选集,ID代表CAN命令号,根据“出现次数相差不高于3次”的条件,则一个候选集C=(IDi,IDj,IDk,…),其中i,j,k代表具体数值。
在连续采集的CAN命令数据集上,每隔一分钟提取如上的候选集,则得到一系列的候选集Cx,Cy,Cz,…
对每个候选集C执行以下操作:
如果在一个候选集C中,两个命令序号同时出现,则提取出(IDi,IDj)这样的相关项;C中往往不止2个命令序号,两两提取出来,例如:(IDi,IDj),(IDj,IDk),(IDi,IDk)…;
对所有候选集进行如上操作,提取出每个候选集C的相关项(不同候选集提取出来的相关项可能重复)。
计算每个相关项的支持度和置信度。置信度表示了这个相关项在多大程度上值得可信。计算方法为(IDi,IDj)的置信度=P(IDj|IDi)即当IDi出现时,同时出现IDj的概率;支持度表示该相关项有没有实际价值,在总体中的地位,如果提取出了上万个相关项,但是本相关项只有几条,则该相关项没有意义。计算方法为(IDi,IDj)的支持度=P(IDjIDi)即在所有的提取出来的相关项中,既有IDi又有IDj的概率。
将支持度和置信度,二者均超过80%的相关项输出,作为频繁相关集,即有相关性的CAN命令组。毫无疑问,会有多个有相关性的命令组合。
步骤四:将步骤三中由关联算法发现的多个具有相关性的CAN命令组序列作为输入,交由长短期记忆网络LSTM进行训练。把CAN总线上的命令看作一个时间序列,用LSTM进行序列学习并预测下一个命令,因此输入是某时刻的CAN命令序列即CANID序列,输出是预测的下一个CANID。网络结构如图4,t是代表t时刻,t+1代表t的下一个时刻。CAN则代表CAN命令序列,不是只有一个CAN命令。A是一个LSTM单元。CAN命令序列的步长,即下一个命令跟前面多少个命令有关,每次输入多少个命令的序列,根据学习效果自动设置。
步骤五:“检测模块”按配置的检测规则顺序,对流经网关的实时CAN命令流进行检测,视判断结果采取报警记录或者是阻止异常命令执行等措施。
下面结合具体分析对本发明作进一步描述。
为了验证基于长短期记忆网络算法训练的序列模型,对隐蔽攻击的检测效果,我们用真车采集的正常行驶数据和模拟的攻击数据进行了实验。真车数据来自500分钟的2010丰田普锐斯驾驶数据,大约12万条,原始数据如图5所示。
CAN数据包含ID和DATA两部分,ID是优先级字段,值越小,优先级越高。同时也是ECUs是否接收的依据。图5中IDH是代表ID的高字节位High,IDL是ID的低字节位。Len是代表后面跟着多少个字节的数据。Data就是真正的数据值。模拟攻击数据由pycharm工具根据CAN协议生成,格式跟真车数据一样。传统的泛洪攻击、重放攻击、伪造异常攻击等传统算法的检测率均超过90%,高的可以达到95%以上。但是在对隐蔽型攻击报文进行检测时,检测率均低于10%,而本发明的序列模型检测给出了96%以上的高检测率,具体过程如下:
采集的真车CAN命令集中,其中IDH:02,IDL:83是刹车报文,IDH:02,IDL:66是伺服转向报文。由于转向时候一般伴有刹车减速动作,因此这两个命令一般伴随出现,通过关联算法相关性检测,具有时序特征,我们把这两个ID按时序单独取出,大约8100条数据。常见针对智慧车辆的攻击之一就是通过远程入侵发送伪造伺服转向报文,使车辆进行不适当的转向,导致事故的产生。但伪造的转向报文会破坏原车辆本身CAN命令之间的序列特征,可以被我们建立的正常模型检测出。
出于车辆检测实时性的考虑,该检测的LSTM模型设计在保证检测率的情况下,尽量简单,以减小计算量。输入层有1个输入CAN命令神经元,隐藏层有4个神经元,输出层有一个预测CAN命令神经元。代价函数是均方差,目的是使得通过模型预测出的值与标记值之间的均方差最小,即越小越好。需要强调对不同的序列组合,所用LSTM模型很可能不同,需要根据效果调整。
最重要的是模型步数的选取,即下一个命令跟前面几个命令有关,实验了从1步到12步,检测率和损失的变化情况如图6、图7。
从图6、7可以看到在步数6之前检测率都在80%多变化不大,选择步数6之后检测率迅速上升到96.62%,且增加步数后检测率增加不明显,最多只到10步的97.2%,甚至个别步数(7步)检测率还比6步低。分析判断,就转向和减速构成的命令序列来说,下一个CAN命令跟前面6个CAN命令有关,最终检测模型中步数选择为6步,检测率96.62%,误报率3.87%,基本达到检测目标,检测时间都在毫秒级。模型记录入规则模块,等待调用检测。
传统网关的规则基本都依靠人工输入配置,且规则只能检测已知攻击,对未知攻击无能为力。本智慧网关引入了人工智能中的深度学习算法,通过对正常CAN命令序列的学习,自动生成检测模型即规则,且能发现未知的攻击。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种集成深度学习的车载智能网关装置的命令序列检测方法,其特征在于,所述集成深度学习的车载智能网关装置的命令序列检测方法为:
先用数据挖掘中的关联算法发现有相关性的CAN命令集合;
再用深度学习中的长短期记忆网络算法,自动学习相关命令集合的序列特征,建立多组序列检测模型;
最后,利用序列检测模型检测危险的CAN命令;
所述集成深度学习的车载智能网关装置的命令序列检测方法,具体包括:
步骤一,将网关装置置于车载内部网络与车辆外部网络连接处,对于所有从外网发向车载内网的CAN命令进行检测,如果发现异常就阻断外网命令并报警记录;
步骤二,网关装置利用深度学习模块学习正常序列检测模型,学习到的序列检测模型被作为规则存储在规则模块中,与传统规则一起被规则模块中的优先级配置文件决定检测顺序;最后被检测为异常的命令报文会被阻止并被报警记录模块记录并报警给指定设备;各个规则的优先级由ID的大小决定,值越小越优先;
步骤三,深度学习模块收集正常行驶中的、有时间先后顺序的CAN命令序列集合;先利用关联算法发现有相关性的CAN命令组,提取相关CAN命令构成的序列;
步骤四:将步骤三中由关联算法发现的多个具有相关性的CAN命令组序列作为输入,交由长短期记忆网络LSTM进行序列检测模型训练;
步骤五,检测模块按配置的检测规则顺序,对流经网关的实时CAN命令流进行检测,对异常结果进行报警记录或进行阻止。
2.如权利要求1所述的集成深度学习的车载智能网关装置的命令序列检测方法,其特征在于,深度学习模块的学习方法包括:
在连续采集的CAN命令数据集上,统计每1秒时间区间内出现的命令和每个命令出现的次数;将出现次数相差不高于3次的命令组合在一起够成候选集;然后用Apriori关联算法分析候选集内命令之间的支持度和置信度;
用C代表候选集,ID代表CAN命令号,根据出现次数相差不高于3次的条件,则一个候选集C=(IDi,IDj,IDk,…),其中i,j,k代表具体数值;
在连续采集的CAN命令数据集上,每隔一分钟提取所述的候选集,得到一系列的候选集Cx,Cy,Cz,…;
对每个候选集C执行以下操作:
1)如果在一个候选集C中,两个命令序号同时出现,则提取出(IDi,IDj)这样的相关项;C中往往不止2个命令序号,两两提取出来;
2)对所有候选集进行1)操作,提取出每个候选集C的相关项;
3)计算每个相关项的支持度和置信度;
4)将支持度和置信度均超过80%的相关项输出,作为频繁相关集。
3.如权利要求2所述的集成深度学习的车载智能网关装置的命令序列检测方法,其特征在于,计算每个相关项的置信度的方法,包括:
(IDi,IDj)的置信度=P(IDj|IDi);当IDi出现时,同时出现IDj的概率;
计算每个相关项的支持度的方法,包括:
(IDi,IDj)的支持度=P(IDj IDi);在所有的提取出来的相关项中,既有IDi又有IDj的概率。
4.一种实现权利要求1~3任意一项所述集成深度学习的车载智能网关装置的命令序列检测方法的信息数据处理终端。
5.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-3任意一项所述的集成深度学习的车载智能网关装置的命令序列检测方法。
6.一种如权利要求1所述集成深度学习的车载智能网关装置的命令序列检测方法的集成深度学习的车载智能网关装置,其特征在于,所述集成深度学习的车载智能网关装置包括:
深度学习模块,用于学习正常序列检测模型,学习到的序列检测模型被作为规则存储在规则模块中;
规则模块,用于与传统规则一起被优先级配置文件决定执行的检测顺序,或者不使用某个规则;
检测模块,用于检测异常的命令报文并进行会阻止;
报警记录模块,用于对检测的异常的命令报文进行记录报警给指定设备。
7.一种搭载有权利要求6所述集成深度学习的车载智能网关装置的信息数据处理终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810130322.6A CN108390869B (zh) | 2018-02-08 | 2018-02-08 | 集成深度学习的车载智能网关装置及其命令序列检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810130322.6A CN108390869B (zh) | 2018-02-08 | 2018-02-08 | 集成深度学习的车载智能网关装置及其命令序列检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108390869A CN108390869A (zh) | 2018-08-10 |
CN108390869B true CN108390869B (zh) | 2020-10-27 |
Family
ID=63075631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810130322.6A Active CN108390869B (zh) | 2018-02-08 | 2018-02-08 | 集成深度学习的车载智能网关装置及其命令序列检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108390869B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117313B (zh) * | 2018-08-28 | 2022-03-18 | 成都信息工程大学 | 一种带隔离灾备管控机制的车辆智慧安全网关及管控方法 |
CN109753049B (zh) * | 2018-12-21 | 2021-12-17 | 国网江苏省电力有限公司南京供电分公司 | 一种源网荷互动工控系统的异常指令检测方法 |
CN109617764A (zh) * | 2018-12-27 | 2019-04-12 | 百度在线网络技术(北京)有限公司 | Can报文检测方法和装置 |
CN111464969B (zh) * | 2019-01-21 | 2023-11-07 | 耀鸿(嘉兴)电子科技有限公司 | 车载联网电子系统的控制方法 |
CN110040107A (zh) * | 2019-03-18 | 2019-07-23 | 百度在线网络技术(北京)有限公司 | 车辆入侵检测及预测模型训练方法、装置及存储介质 |
CN110718070A (zh) * | 2019-10-14 | 2020-01-21 | 深圳前海中电慧安科技有限公司 | 一种伴随车辆识别方法、装置、设备及存储介质 |
CN112688901A (zh) * | 2019-10-18 | 2021-04-20 | 厦门雅迅网络股份有限公司 | 一种汽车网关的实时can入侵检测系统 |
CN113612786B (zh) * | 2021-08-09 | 2023-04-07 | 上海交通大学宁波人工智能研究院 | 一种车辆总线的入侵检测系统及方法 |
JP2023112819A (ja) * | 2022-02-02 | 2023-08-15 | 株式会社オートネットワーク技術研究所 | 監視装置、車両監視システムおよび車両監視方法 |
CN115204050A (zh) * | 2022-07-22 | 2022-10-18 | 木卫四(北京)科技有限公司 | 车载can总线数据异常检测方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880915A (zh) * | 2012-09-06 | 2013-01-16 | 中山大学 | 一种基于对热点事件进行关联挖掘的电量预测方法 |
CN103593400A (zh) * | 2013-12-13 | 2014-02-19 | 陕西省气象局 | 一种基于改进Apriori算法的雷电活动数据统计方法 |
CN107025386A (zh) * | 2017-03-22 | 2017-08-08 | 杭州电子科技大学 | 一种基于深度学习算法进行基因关联分析的方法 |
-
2018
- 2018-02-08 CN CN201810130322.6A patent/CN108390869B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880915A (zh) * | 2012-09-06 | 2013-01-16 | 中山大学 | 一种基于对热点事件进行关联挖掘的电量预测方法 |
CN103593400A (zh) * | 2013-12-13 | 2014-02-19 | 陕西省气象局 | 一种基于改进Apriori算法的雷电活动数据统计方法 |
CN107025386A (zh) * | 2017-03-22 | 2017-08-08 | 杭州电子科技大学 | 一种基于深度学习算法进行基因关联分析的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108390869A (zh) | 2018-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108390869B (zh) | 集成深度学习的车载智能网关装置及其命令序列检测方法 | |
Song et al. | In-vehicle network intrusion detection using deep convolutional neural network | |
Longari et al. | CANnolo: An anomaly detection system based on LSTM autoencoders for controller area network | |
Zhang et al. | Intrusion detection system using deep learning for in-vehicle security | |
Martinelli et al. | Car hacking identification through fuzzy logic algorithms | |
CN110149345B (zh) | 一种基于报文序列预测的车载网络入侵检测方法 | |
CN111770069B (zh) | 一种基于入侵攻击的车载网络仿真数据集生成方法 | |
Xun et al. | VehicleEIDS: A novel external intrusion detection system based on vehicle voltage signals | |
CN112671701B (zh) | 基于车载网络异常行为特征驱动的车载终端入侵检测方法 | |
CN111294341A (zh) | 基于自编码器和递归神经网络的车载系统入侵检测方法 | |
CN111885060B (zh) | 面向车联网的无损式信息安全漏洞检测系统和方法 | |
Taylor et al. | Probing the limits of anomaly detectors for automobiles with a cyberattack framework | |
Desta et al. | ID sequence analysis for intrusion detection in the CAN bus using long short term memory networks | |
Tomlinson et al. | Using a one-class compound classifier to detect in-vehicle network attacks | |
Tanksale | Intrusion detection for controller area network using support vector machines | |
Wang et al. | Vulnerability of deep learning model based anomaly detection in vehicle network | |
Levy et al. | CAN-LOC: Spoofing detection and physical intrusion localization on an in-vehicle CAN bus based on deep features of voltage signals | |
Nichelini et al. | Canova: a hybrid intrusion detection framework based on automatic signal classification for can | |
Sun et al. | Analysis of ID sequences similarity using DTW in intrusion detection for CAN bus | |
Park et al. | G-idcs: Graph-based intrusion detection and classification system for can protocol | |
Rumez et al. | Anomaly detection for automotive diagnostic applications based on N-grams | |
Fenzl et al. | In-vehicle detection of targeted CAN bus attacks | |
Paul et al. | An artificial neural network based anomaly detection method in can bus messages in vehicles | |
Ning et al. | An experimental study towards attacker identification in automotive networks | |
Deng et al. | A lightweight sender identification scheme based on vehicle physical layer characteristics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |