CN111866017A - 一种can总线帧间隔异常的检测方法及装置 - Google Patents

一种can总线帧间隔异常的检测方法及装置 Download PDF

Info

Publication number
CN111866017A
CN111866017A CN202010746937.9A CN202010746937A CN111866017A CN 111866017 A CN111866017 A CN 111866017A CN 202010746937 A CN202010746937 A CN 202010746937A CN 111866017 A CN111866017 A CN 111866017A
Authority
CN
China
Prior art keywords
data
target
data frames
frame
detected
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.)
Granted
Application number
CN202010746937.9A
Other languages
English (en)
Other versions
CN111866017B (zh
Inventor
范雪俭
崔圳
陈强
李沛盈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202010746937.9A priority Critical patent/CN111866017B/zh
Publication of CN111866017A publication Critical patent/CN111866017A/zh
Application granted granted Critical
Publication of CN111866017B publication Critical patent/CN111866017B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种CAN总线帧间隔异常的检测方法及装置,其中方法包括:获取CAN总线上的与一目标ID对应的多个连续的第一数据帧;计算多个连续的第一数据帧中每相邻两个第一数据帧的帧间隔,得到多个连续的第一帧间隔;将每相邻的两个第一帧间隔组成一个待检测数据;将至少一个待检测数据依次输入到目标SVM模型中进行检测,获得与每一待检测数据对应的类别检测结果;根据类别检测结果判断多个连续的第一数据帧间是否存在帧间隔异常。本申请不需要提前了解要检测的ID所对应的数据帧的周期大小,且对于注入、重放、丢帧等攻击都能进行检测,在检测效果上相较现有技术有明显提升。

Description

一种CAN总线帧间隔异常的检测方法及装置
技术领域
本申请涉及人工智能技术领域,具体而言,涉及一种CAN总线帧间隔异常的检测方法及装置。
背景技术
随着车联网的迅速发展,汽车在提升了与外界的信息交互能力的同时,也带来了不可控的风险,例如可能会面临对汽车网络的入侵攻击。传统的基于规则的入侵检测***往往存在着攻击特征库少的劣势,所以发挥的功能有限,而基于机器学习的入侵检测***能够及时发现CAN总线上帧间隔的异常状况,进而对未知的风险进行防御,在安全方面发挥着奇效。
在现有的技术中,一般采用的方式是,监听CAN总线并获得汽车在正常行驶过程中的数据帧,任意选择一个ID作为检测目标,从若干数据帧中筛选出与此ID对应的数据帧。设置一个时间窗口(例如0.2s、0.05s),以该时间窗口为标准,从筛选出的数据帧中依次计算时间窗口内的连续相邻数据帧的时间间隔之和以及该时间窗口内的数据帧的数量,求取时间间隔的均值,以该时间窗口内的时间间隔的均值作为一个训练样本,将其输入到SVM模型当中进行训练。检测阶段的操作与训练阶段相同。
上述现有技术存在的缺陷包括:
(1)时间窗口的大小选定有限制。时间窗口的选定需要参考选定的ID的数据帧的帧周期,时间窗口的大小至少要在该帧周期的2倍以上才能保证在一个时间窗口内包含两个或两个以上的数据帧。另外,由于时间窗口需要已知此ID的数据帧的帧周期或者通过计算求得帧周期的周期范围后才能确定,导致整个检测阶段的过程过于复杂。
(2)现有技术须对相邻时间窗口的边界数据做特殊计算,否则,对于上一个时间窗口的最后一帧和下一个时间窗口的第一帧之间的时间间隔无法检测。并且,当出现时间窗口内丢失一个数据帧并同时注入一个数据帧的异常情况时,相较于正常情况,该时间窗口内多个数据帧之间的时间间隔之和以及数据帧的数量均不变,导致计算求得的时间间隔的均值也不变,因此,得到的检测结果与正常情况时的检测结果相同。可见,现有技术无法有效检测出此类异常情况。
发明内容
本申请实施例的目的在于提供一种CAN总线帧间隔异常的检测方法及装置,以解决上述技术问题。
第一方面,本申请提供一种CAN总线帧间隔异常的检测方法,所述CAN总线上连接有多个设备,且每一设备设有一对应的ID,所述方法包括:获取CAN总线上的与一目标ID对应的多个连续的第一数据帧;计算所述多个连续的第一数据帧中每相邻两个第一数据帧的帧间隔,得到多个连续的第一帧间隔;获取至少一个待检测数据,每一所述待检测数据由所述多个连续的第一帧间隔中相邻的两个第一帧间隔组成;将所述至少一个待检测数据依次输入到目标SVM模型中进行检测,获得与每一待检测数据对应的类别检测结果;根据所述类别检测结果判断所述多个连续的第一数据帧间是否存在帧间隔异常。
本申请以独特的处理方式生成待检测数据,不需要提前了解要检测的ID所对应的数据帧的周期大小,并且,由于不设时间窗口,能够解决现有技术中必须对相邻时间窗口的边界数据做特殊计算的难题,而且,本申请对于注入、重放、丢帧等攻击都能进行检测,在检测效果上相较现有技术有明显提升。
在一种可选的实施方式中,在将所述至少一个待检测数据依次输入到目标SVM模型中进行检测之前,所述方法还包括:根据所述目标ID从SVM模型集合中选择出对应的目标SVM模型。
在本申请中,每一ID分别对应一个SVM模型,CAN总线上不同ID的数据帧分别采用不同的SVM模型进行检测。
在一种可选的实施方式中,在根据所述目标ID从SVM模型集合中选择出对应的目标SVM模型之前,所述方法还包括:创建多个初始SVM模型,每一初始SVM模型与一个设备的ID对应;获取CAN总线上的与不同ID对应的多组原始数据帧,每组原始数据帧中包括多个连续的第二数据帧;根据所述多组原始数据帧获得与每一ID对应的多组训练数据;按照每组训练数据所对应的ID,将所述多组训练数据分别输入到对应的初始SVM模型中进行训练,获得SVM模型集合。
在本申请中,先分别得到每一ID对应的一组训练数据,每一ID同时对应一组训练数据和一个初始SVM模型,然后将一组训练数据输入到同一ID对应的初始SVM模型中进行训练,获得每一ID对应的一个SVM模型,最终形成SVM模型集合。
在一种可选的实施方式中,所述根据所述多组原始数据帧获得与每一ID对应的多组训练数据,包括:计算所述多组原始数据帧中与所述目标ID对应的一组原始数据帧中每相邻两个第二数据帧的帧间隔,得到多个连续的第二帧间隔;生成与所述目标ID对应的一组目标训练数据,每一所述目标训练数据由所述多个连续的第二帧间隔中相邻的两个第二帧间隔组成。
在建立SVM模型集合的过程中,目标ID所对应的一组目标训练数据是根据其对应的一组原始数据帧计算出多个帧间隔后,根据每相邻的两个帧间隔组合得到。
在一种可选的实施方式中,在将所述至少一个待检测数据依次输入到目标SVM模型中进行检测之前,所述方法还包括:获取CAN总线上的与所述目标ID对应的多个连续的第三数据帧;计算所述多个连续的第三数据帧中每相邻两个第三数据帧的帧间隔,得到多个连续的第三帧间隔;生成多个目标训练数据,每一所述目标训练数据由所述多个连续的第三帧间隔中相邻的两个第三帧间隔组成;将所述多个目标训练数据依次输入到一SVM模型中进行训练,获得目标SVM模型。
在利用目标SVM模型进行异常检测之前,对一SVM模型进行训练,以获得目标SVM模型,其中,训练数据是根据同一目标ID对应的多个数据帧计算出多个帧间隔后,根据每相邻的两个帧间隔组合得到。
在一种可选的实施方式中,在根据所述类别检测结果判断所述多个连续的第一数据帧间是否存在帧间隔异常之后,所述方法还包括:统计至少一个类别检测结果中表征帧间隔存在异常的结果的数量;根据所述数量生成对应级别的告警信息。
在一种可选的实施方式中,所述目标SVM模型为单分类SVM模型,用于输出其输入数据是否属于正常类别的类别检测结果,所述根据所述类别检测结果判断所述多个连续的第一数据帧间是否存在帧间隔异常,包括:在所述类别检测结果表征对应的待检测数据不属于正常类别时,确定所述多个连续的第一数据帧中的与所述待检测数据有关的多个第一数据帧间存在帧间隔异常。
目标SVM模型可以选择单分类SVM模型,其适用场景是输入的样本数据中只有一类,因此可以利用全部为正常类别的训练数据对SVM模型进行训练,而正常类别的训练数据的获取十分方便,进而使模型训练更加易于操作、更为便捷。
第二方面,本申请实施例提供一种CAN总线帧间隔异常的检测装置,所述CAN总线上连接有多个设备,且每一设备设有一对应的ID,所述装置包括:数据帧获取模块,用于获取CAN总线上的与一目标ID对应的多个连续的第一数据帧;帧间隔计算模块,用于计算所述多个连续的第一数据帧中每相邻两个第一数据帧的帧间隔,得到多个连续的第一帧间隔;帧间隔组合模块,用于获取至少一个待检测数据,每一所述待检测数据由所述多个连续的第一帧间隔中相邻的两个第一帧间隔组成;类别检测模块,用于将所述至少一个待检测数据依次输入到目标SVM模型中进行检测,获得与每一待检测数据对应的类别检测结果;异常判别模块,用于根据所述类别检测结果判断所述多个连续的第一数据帧间是否存在帧间隔异常。
第三方面,本申请提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面、第一方面中任一可选实施方式所述的方法。
第四方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面、第一方面中任一可选实施方式所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的CAN总线帧间隔异常的检测方法的流程图;
图2为对多个第一数据帧进行预处理以构造待检测数据的简单示意图;
图3为本申请实施例中目标SVM模型的训练阶段的示意图;
图4为本申请实施例中目标SVM模型的检测阶段的示意图;
图5为本申请实施例中SVM模型集合的获得过程的流程图;
图6为本申请实施例中针对目标ID训练一SVM模型以获得目标SVM模型的流程图;
图7为本申请实施例提供的CAN总线帧间隔异常的检测装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
一般而言,同一ID对应的相邻两个数据帧之间的帧间隔在正常情况下应当固定在10ms(或者其他数值)左右,当出现注入、重放等入侵攻击时很可能造成数据帧的帧间隔紊乱,如帧间隔变化为1ms或者100ms。本申请实施例提供一种CAN总线帧间隔异常的检测方法,通过构造特定的待检测数据以及利用训练好的SVM(支持向量机)模型,能够有效检测出车内周期型CAN数据帧的帧间隔是否异常。图1示出了该检测方法的流程图,该检测方法可由任一电子设备执行,其包括如下步骤:
步骤110:获取CAN总线上的与一目标ID对应的多个连续的第一数据帧。
在汽车内的CAN总线上连接有多个设备,每一设备可以向CAN总线发送数据帧,其他设备从CAN总线上获取对应的数据帧,实现设备间的通信。每一设备设有一对应的ID,每一设备在向CAN总线发送数据帧之前,确定接收此数据帧的设备,并将接收此数据帧的设备所对应的ID写入在数据帧的ID字段中,从而生成数据帧。其他设备可以从CAN总线上监听数据帧,并根据数据帧中的ID确定该数据帧的接收方是否是自己,从而过滤掉不需要接收的信息。
目标ID为CAN总线上所连的多个设备中的一目标设备所对应的ID。在该步骤110中,监听CAN总线上的数据帧,任意选择一ID作为检测目标,根据该选择的ID从CAN总线上的若干数据帧中筛选出对应的多个第一数据帧,该多个第一数据帧为一系列时间连续的数据帧,具体的,该多个第一数据帧的数量为三个及以上。
步骤120:计算该多个连续的第一数据帧中每相邻两个第一数据帧的帧间隔,得到多个连续的第一帧间隔。
步骤130:获取至少一个待检测数据,每一待检测数据由该多个连续的第一帧间隔中相邻的两个第一帧间隔组成。
在利用SVM模型进行帧间隔异常的检测之前,先对多个第一数据帧进行预处理,以构造所需的待检测数据。如图2所示,假设获取有该目标ID对应的n+1个数据帧,分别计算每相邻两个数据帧的帧间隔,该帧间隔表示两个相邻数据帧之间的时间间隔,如图2中的帧间隔1、帧间隔2、帧间隔3、帧间隔4至帧间隔n。进一步的,将相邻两个帧间隔的值组成一个待检测数据,两个帧间隔的值作为待检测数据中的两个特征,例如,将帧间隔1和帧间隔2组成一个待检测数据,在图2中所示的平面上,帧间隔1作为待检测数据的横坐标,帧间隔2作为待检测数据的纵坐标,同理,将帧间隔2和帧间隔3组成一个待检测数据,其中,帧间隔2作为待检测数据的横坐标,帧间隔3作为待检测数据的纵坐标,依此类推,根据n个帧间隔可以组成n-1个待检测数据。
通过上述步骤对多个连续的第一数据帧进行预处理后,获得至少一个待检测数据。需说明的是,若获取连续的n+1个第一数据帧,则计算得到对应的n个帧间隔,n个帧间隔可组成n-1个待检测数据。所以,一个待检测数据需要根据三个第一数据帧才能获得,因此,步骤110中需要至少获取三个及以上的连续的第一数据帧。
步骤140:将至少一个待检测数据依次输入到目标SVM模型中进行检测,获得与每一待检测数据对应的类别检测结果。
本实施例利用SVM模型对待检测数据进行检测。每一ID分别对应一个SVM模型,CAN总线上不同ID的数据帧分别采用不同的SVM模型进行检测。
可选的,在步骤140之前,该检测方法还包括:根据目标ID从SVM模型集合中选择出对应的目标SVM模型。通过预先创建多个SVM模型并形成SVM模型集合,在需对不同ID的数据帧进行检测时,可以方便地调取所需的目标SVM模型。当然,在步骤140中,也可以直接将待检测数据输入至一预先训练好的目标SVM模型中进行检测。
步骤150:根据类别检测结果判断多个连续的第一数据帧间是否存在帧间隔异常。
在本实施例中,目标SVM模型可以选择单分类SVM模型,一般也称为One-Class SVM(一类支持向量机)模型。该目标SVM模型的适用场景是输入的样本数据中只有一类(例如全是正常类别的数据,或全是异常类别的数据,或正常类别的数据中包含极少量异常类别的数据,或异常类别的数据中包括极少量正常类别的数据)。如图3及图4所示的示意图,目标SVM模型在训练阶段基于输入的训练样本寻找一个超平面能够将样本中的数据圈出,计算出的超平面作为决策边界,在检测阶段时参照这一超平面进行决策,如果待检测数据在超平面以内则认为是正样本(表示属于正常类别),如果待检测数据在超平面以外则认为是非正样本(表示不属于正常类别,但不知道是否属于异常类别)。在训练阶段,获取全部为正常类别的样本数据,或者,可以允许含有极少量异常类别的样本数据,利用获取的样本数据对SVM模型进行训练,获得目标SVM模型。
图3中表示训练阶段的结果,目标SVM模型计算出一个能够包括正常样本数据的超平面,图4中表示检测阶段的结果,目标SVM模型只有一个类别,如果其输入数据属于该类就输出表征属于该类的结果,否则输出表征不属于该类的结果。在输入待检测数据后,如果待检测数据在超平面内则认为是正常类别,输出属于正常类别的类别检测结果,用于表征帧间隔无异常;如果待检测数据在超平面以外则认为不是正常类别,虽不知道是否是异常类别,但可以将其视作为异常类别,输出不属于正常类别的类别检测结果,用于表征帧间隔出现异常。
具体的,步骤150包括:在目标SVM模型输出的类别检测结果表征对应的待检测数据不属于正常类别时,确定该多个连续的第一数据帧中的与该待检测数据有关的多个第一数据帧间存在帧间隔异常。
在其他的实施例中,在训练阶段,也可以获取全部为异常类别的样本数据,或者,可以允许含有极少量正常类别的样本数据,利用获取的样本数据对SVM模型进行训练,获得目标SVM模型。相应地,利用训练好的目标SVM模型对输入的待检测数据进行检测,目标SVM模型输出属于异常类别的类别检测结果,或者输出不属于异常类别的类别检测结果。此实施例需要获取大量异常样本进行模型训练,但异常样本的获取比较不易,在实施难度上较前一实施例大。
在其他的实施例中,目标SVM模型还可以是二分类SVM模型,可用于根据输入的待检测数据输出属于正常类别或异常类别的类别检测结果。
前文提到,在步骤140之前,需根据目标ID从SVM模型集合中选择出对应的目标SVM模型。请参照图5,SVM模型集合的获得过程包括:
步骤210:创建多个初始SVM模型,每一初始SVM模型与一个设备的ID对应。
步骤220:获取CAN总线上的与不同ID对应的多组原始数据帧,每组原始数据帧中包括多个连续的第二数据帧。
选定多个不同的ID,并监听CAN总线上的数据帧,然后,根据选定的多个ID从CAN总线上的若干数据帧中分别筛选出对应的多组原始数据帧,每组原始数据帧包括对应ID的多个连续的第二数据帧。
步骤230:根据多组原始数据帧获得与每一ID对应的多组训练数据。
步骤240:按照每组训练数据所对应的ID,将多组训练数据分别输入到对应的初始SVM模型中进行训练,获得SVM模型集合。
在步骤230及步骤240中,先分别得到每一ID对应的一组训练数据,每一ID同时对应一组训练数据和一个初始SVM模型,然后将一组训练数据输入到同一ID对应的初始SVM模型中进行训练,获得每一ID对应的一个SVM模型,最终形成SVM模型集合。
在此过程中,以目标ID为例,步骤230具体包括:计算多组原始数据帧中与目标ID对应的一组原始数据帧中每相邻两个第二数据帧的帧间隔,得到多个连续的第二帧间隔;生成与目标ID对应的一组目标训练数据,每一目标训练数据由多个连续的第二帧间隔中相邻的两个第二帧间隔组成。其他ID对应的一组训练数据的获得过程与此相同。
除此之外,本实施例也可以仅针对目标ID训练一SVM模型,以仅用于目标ID的数据帧的帧异常的检测,具体请参照图6,其训练步骤如下:
步骤310:获取CAN总线上的与目标ID对应的多个连续的第三数据帧。
步骤320:计算多个连续的第三数据帧中每相邻两个第三数据帧的帧间隔,得到多个连续的第三帧间隔。
步骤330:生成多个目标训练数据,每一目标训练数据由多个连续的第三帧间隔中相邻的两个第三帧间隔组成。
步骤340:将多个目标训练数据依次输入到一SVM模型中进行训练,获得目标SVM模型。
在训练阶段,利用目标ID对应的多个数据帧对一SVM模型进行训练,在检测阶段,利用训练好的SVM模型对同一目标ID对应的多个数据帧进行检测。训练阶段中生成目标训练数据的过程与检测阶段中生成待检测数据的过程一致,在此不赘述。
进一步的,在步骤140中,目标SVM模型根据至少一个待检测数据分别输出对应的至少一个类别检测结果,在步骤150中,根据该至少一个类别检测结果判断该目标ID对应的多个第一数据帧间是否存在帧间隔异常,在出现帧间隔异常时,可以生成告警信息,并向汽车的车辆控制***发出告警。
可选的,在步骤150之后,该检测方法还包括:统计该至少一个类别检测结果中表征帧间隔存在异常的结果的数量;根据该数量生成对应级别的告警信息。例如,确定该数量所对应的级别区间,根据该级别区间确定对应的告警级别,然后根据该告警级别生成相对应的告警信息。
示例性地,获取一目标ID对应的10个连续的第一数据帧,于是,可计算获得9个第一帧间隔,组成8个待检测数据,目标SVM模型根据8个待检测数据输出对应的8个类别检测结果,每一类别检测结果可表征帧间隔无异常或者表征帧间隔存在异常。统计这8个类别检测结果中表征帧间隔存在异常的结果的数量,假设设置有多个级别区间,其中,第一级别区间例如设置为[1,2],第二级别区间例如设置为[3,4],第三级别区间例如设置为[5,6],如果表征帧间隔存在异常的结果的数量为2个,处于范围[1,2]内,那么,生成第一级别的告警信息,如果表征帧间隔存在异常的结果的数量为5个,处于范围[5,6]内,那么,生成第三级别的告警信息。车辆控制***收到不同级别的告警信息后,启动相对应的告警程序。
上述检测方法可以用于在汽车行驶过程中实时检测CAN总线上选定的某一ID的数据帧是否出现帧间隔异常,比如,每次获取该ID的三个第一数据帧,生成一个待检测数据,将该待检测数据输入到目标SVM模型,实时获得对应的类别检测结果,若该类别检测结果表征该三个第一数据帧间出现帧间隔异常,生成告警信息并向车辆控制***发送告警信息,进而有利于及时发现外部对车辆的入侵攻击。在进行实时分析的过程中,持续执行步骤110-150,在完成一次检测后,返回步骤110继续下一次检测。
当然,上述检测方法还可以基于该ID对应的若干连续的历史第一数据帧进行历史分析,确定在历史时间内是否存在帧间隔异常。
进一步的,发明人通过长期观察实际车内各数据帧的特性,发现一个规律,就是相邻的两个帧间隔可能有所差距,但是相隔的两个帧间隔却很相似(例如实际测得:帧间隔1=8.1ms,帧间隔2=12.3ms,帧间隔3=7.9ms,帧间隔4=12.0ms),其中,帧间隔1与帧间隔3相似,帧间隔2与帧间隔4相似,而本实施例中对样本数据的预处理方法能够很好地适应这种规律。
综上所述,本申请不需要提前了解要检测的ID所对应的数据帧的周期大小,并且,以独特的预处理方式生成训练数据以及待检测数据,一方面,能够很好地适应车内帧间隔的变化规律,另一方面,由于不设时间窗口,能够解决现有技术中必须对相邻时间窗口的边界数据做特殊计算的难题,而且,本申请对于注入、重放、丢帧等攻击都能进行检测,在检测效果上相较现有技术有明显提升。
基于同一发明构思,本申请实施例提供一种CAN总线帧间隔异常的检测装置,请参照图7,该装置包括:数据帧获取模块410、帧间隔计算模块420、帧间隔组合模块430、类别检测模块440以及异常判别模块450。
其中,数据帧获取模块410,用于获取CAN总线上的与一目标ID对应的多个连续的第一数据帧;
帧间隔计算模块420,用于计算所述多个连续的第一数据帧中每相邻两个第一数据帧的帧间隔,得到多个连续的第一帧间隔;
帧间隔组合模块430,用于获取至少一个待检测数据,每一所述待检测数据由所述多个连续的第一帧间隔中相邻的两个第一帧间隔组成;
类别检测模块440,用于将所述至少一个待检测数据依次输入到目标SVM模型中进行检测,获得与每一待检测数据对应的类别检测结果;
异常判别模块450,用于根据所述类别检测结果判断所述多个连续的第一数据帧间是否存在帧间隔异常。
本申请实施例提供的CAN总线帧间隔异常的检测装置,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中的相应内容。
可选的,本申请实施例还提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行本申请提供的CAN总线帧间隔异常的检测方法。
可选的,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,该存储器存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储器之间通过总线通信,机器可读指令被处理器执行时执行本申请提供的CAN总线帧间隔异常的检测方法。
可以理解,该电子设备可能是实体设备,例如PC机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种CAN总线帧间隔异常的检测方法,其特征在于,所述CAN总线上连接有多个设备,且每一设备设有一对应的ID,所述方法包括:
获取CAN总线上的与一目标ID对应的多个连续的第一数据帧;
计算所述多个连续的第一数据帧中每相邻两个第一数据帧的帧间隔,得到多个连续的第一帧间隔;
获取至少一个待检测数据,每一所述待检测数据由所述多个连续的第一帧间隔中相邻的两个第一帧间隔组成;
将所述至少一个待检测数据依次输入到目标SVM模型中进行检测,获得与每一待检测数据对应的类别检测结果;
根据所述类别检测结果判断所述多个连续的第一数据帧间是否存在帧间隔异常。
2.根据权利要求1所述的方法,其特征在于,在将所述至少一个待检测数据依次输入到目标SVM模型中进行检测之前,所述方法还包括:
根据所述目标ID从SVM模型集合中选择出对应的目标SVM模型。
3.根据权利要求2所述的方法,其特征在于,在根据所述目标ID从SVM模型集合中选择出对应的目标SVM模型之前,所述方法还包括:
创建多个初始SVM模型,每一初始SVM模型与一个设备的ID对应;
获取CAN总线上的与不同ID对应的多组原始数据帧,每组原始数据帧中包括多个连续的第二数据帧;
根据所述多组原始数据帧获得与每一ID对应的多组训练数据;
按照每组训练数据所对应的ID,将所述多组训练数据分别输入到对应的初始SVM模型中进行训练,获得SVM模型集合。
4.根据权利要求3所述的方法,其特征在于,所述根据所述多组原始数据帧获得与每一ID对应的多组训练数据,包括:
计算所述多组原始数据帧中与所述目标ID对应的一组原始数据帧中每相邻两个第二数据帧的帧间隔,得到多个连续的第二帧间隔;
生成与所述目标ID对应的一组目标训练数据,每一所述目标训练数据由所述多个连续的第二帧间隔中相邻的两个第二帧间隔组成。
5.根据权利要求1所述的方法,其特征在于,在将所述至少一个待检测数据依次输入到目标SVM模型中进行检测之前,所述方法还包括:
获取CAN总线上的与所述目标ID对应的多个连续的第三数据帧;
计算所述多个连续的第三数据帧中每相邻两个第三数据帧的帧间隔,得到多个连续的第三帧间隔;
生成多个目标训练数据,每一所述目标训练数据由所述多个连续的第三帧间隔中相邻的两个第三帧间隔组成;
将所述多个目标训练数据依次输入到一SVM模型中进行训练,获得目标SVM模型。
6.根据权利要求1所述的方法,其特征在于,在根据所述类别检测结果判断所述多个连续的第一数据帧间是否存在帧间隔异常之后,所述方法还包括:
统计至少一个类别检测结果中表征帧间隔存在异常的结果的数量;
根据所述数量生成对应级别的告警信息。
7.根据权利要求1所述的方法,其特征在于,所述目标SVM模型为单分类SVM模型,用于输出其输入数据是否属于正常类别的类别检测结果,所述根据所述类别检测结果判断所述多个连续的第一数据帧间是否存在帧间隔异常,包括:
在所述类别检测结果表征对应的待检测数据不属于正常类别时,确定所述多个连续的第一数据帧中的与所述待检测数据有关的多个第一数据帧间存在帧间隔异常。
8.一种CAN总线帧间隔异常的检测装置,其特征在于,所述CAN总线上连接有多个设备,且每一设备设有一对应的ID,所述装置包括:
数据帧获取模块,用于获取CAN总线上的与一目标ID对应的多个连续的第一数据帧;
帧间隔计算模块,用于计算所述多个连续的第一数据帧中每相邻两个第一数据帧的帧间隔,得到多个连续的第一帧间隔;
帧间隔组合模块,用于获取至少一个待检测数据,每一所述待检测数据由所述多个连续的第一帧间隔中相邻的两个第一帧间隔组成;
类别检测模块,用于将所述至少一个待检测数据依次输入到目标SVM模型中进行检测,获得与每一待检测数据对应的类别检测结果;
异常判别模块,用于根据所述类别检测结果判断所述多个连续的第一数据帧间是否存在帧间隔异常。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一项所述的方法。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1-7任一项所述的方法。
CN202010746937.9A 2020-07-29 2020-07-29 一种can总线帧间隔异常的检测方法及装置 Active CN111866017B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010746937.9A CN111866017B (zh) 2020-07-29 2020-07-29 一种can总线帧间隔异常的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010746937.9A CN111866017B (zh) 2020-07-29 2020-07-29 一种can总线帧间隔异常的检测方法及装置

Publications (2)

Publication Number Publication Date
CN111866017A true CN111866017A (zh) 2020-10-30
CN111866017B CN111866017B (zh) 2022-09-16

Family

ID=72945987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010746937.9A Active CN111866017B (zh) 2020-07-29 2020-07-29 一种can总线帧间隔异常的检测方法及装置

Country Status (1)

Country Link
CN (1) CN111866017B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113395296A (zh) * 2021-08-18 2021-09-14 湖南师范大学 基于fpga的车载网络入侵检测***及消息位时采集方法
CN114448744A (zh) * 2022-01-28 2022-05-06 航天科工火箭技术有限公司 复用标识号的can数据解析方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160188396A1 (en) * 2014-12-30 2016-06-30 Battelle Memorial Institute Temporal anomaly detection on automotive networks
US20180196941A1 (en) * 2014-03-28 2018-07-12 Tower-Sec Ltd. Security system and methods for identification of in-vehicle attack orginator
CN108965001A (zh) * 2018-07-12 2018-12-07 北京航空航天大学 一种车辆报文数据模型的评估方法及装置
CN110636082A (zh) * 2019-10-31 2019-12-31 新华三技术有限公司合肥分公司 一种入侵检测方法及装置
CN110691104A (zh) * 2019-11-11 2020-01-14 哈尔滨工业大学 基于报文周期特性的车载can总线自适应入侵检测方法
CN111131247A (zh) * 2019-12-24 2020-05-08 国家计算机网络与信息安全管理中心 一种车载内部网络入侵检测***
CN111309539A (zh) * 2020-03-26 2020-06-19 北京奇艺世纪科技有限公司 一种异常监测方法、装置和电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180196941A1 (en) * 2014-03-28 2018-07-12 Tower-Sec Ltd. Security system and methods for identification of in-vehicle attack orginator
US20160188396A1 (en) * 2014-12-30 2016-06-30 Battelle Memorial Institute Temporal anomaly detection on automotive networks
CN108965001A (zh) * 2018-07-12 2018-12-07 北京航空航天大学 一种车辆报文数据模型的评估方法及装置
CN110636082A (zh) * 2019-10-31 2019-12-31 新华三技术有限公司合肥分公司 一种入侵检测方法及装置
CN110691104A (zh) * 2019-11-11 2020-01-14 哈尔滨工业大学 基于报文周期特性的车载can总线自适应入侵检测方法
CN111131247A (zh) * 2019-12-24 2020-05-08 国家计算机网络与信息安全管理中心 一种车载内部网络入侵检测***
CN111309539A (zh) * 2020-03-26 2020-06-19 北京奇艺世纪科技有限公司 一种异常监测方法、装置和电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113395296A (zh) * 2021-08-18 2021-09-14 湖南师范大学 基于fpga的车载网络入侵检测***及消息位时采集方法
CN113395296B (zh) * 2021-08-18 2021-11-05 湖南师范大学 基于fpga的车载网络入侵检测***及消息位时采集方法
CN114448744A (zh) * 2022-01-28 2022-05-06 航天科工火箭技术有限公司 复用标识号的can数据解析方法、装置、设备及介质
CN114448744B (zh) * 2022-01-28 2024-05-03 航天科工火箭技术有限公司 复用标识号的can数据解析方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111866017B (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
CN109948669B (zh) 一种异常数据检测方法及装置
CN109818942B (zh) 一种基于时序特征的用户帐号异常检测方法及装置
CN109299135B (zh) 基于识别模型的异常查询识别方法、识别设备及介质
Weber et al. Embedded hybrid anomaly detection for automotive CAN communication
CN111866017B (zh) 一种can总线帧间隔异常的检测方法及装置
CN108965340B (zh) 一种工业控制***入侵检测方法及***
Yadav et al. Ode-augmented training improves anomaly detection in sensor data from machines
CN111679657A (zh) 一种基于工控设备信号的攻击检测方法及***
Roschke et al. High-quality attack graph-based IDS correlation
CN113660137A (zh) 车载网络故障检测方法、装置、可读存储介质及电子设备
CN115396324A (zh) 一种网络安全态势感知预警处理***
CN112787984B (zh) 一种基于相关分析的车载网络异常检测方法及***
CN112069039A (zh) 人工智能开发平台的监控预知告警方法、装置及存储介质
CN117729027A (zh) 异常行为检测方法、装置、电子设备及存储介质
CN108761250B (zh) 一种基于工控设备电压电流的入侵检测方法
CN115600116A (zh) 时间序列异常的动态检测方法、***、存储介质及终端
CN114861762A (zh) 一种信息处理方法、装置、存储介质及车载电子控制器
CN111901344B (zh) 一种can总线异常帧的检测方法及装置
CN111798237A (zh) 基于应用日志的异常交易诊断方法及***
CN115017019B (zh) 一种基于日志的***异常检测方法、装置及存储介质
CN117527451B (zh) 一种网络入侵检测方法、装置、电子设备及存储介质
CN112436989B (zh) 一种can数据帧的信号识别方法及装置
CN117456637A (zh) 车辆数据检测方法、车辆数据检测装置、车辆和存储介质
CN118054939A (zh) 基于多特征融合的车载网络安全威胁检测方法及***
CN115909165A (zh) 一种弱监督视频异常检测方法、装置、设备及存储介质

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