CN111880983B - 一种can总线异常检测方法及装置 - Google Patents

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

Info

Publication number
CN111880983B
CN111880983B CN202010775327.1A CN202010775327A CN111880983B CN 111880983 B CN111880983 B CN 111880983B CN 202010775327 A CN202010775327 A CN 202010775327A CN 111880983 B CN111880983 B CN 111880983B
Authority
CN
China
Prior art keywords
data
frame
signal
frame interval
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.)
Active
Application number
CN202010775327.1A
Other languages
English (en)
Other versions
CN111880983A (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 CN202010775327.1A priority Critical patent/CN111880983B/zh
Publication of CN111880983A publication Critical patent/CN111880983A/zh
Application granted granted Critical
Publication of CN111880983B publication Critical patent/CN111880983B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Small-Scale Networks (AREA)

Abstract

一种CAN总线异常检测方法及装置,涉及通信安全技术领域,该CAN总线异常检测方法包括:先获取待检测CAN数据,然后通过预先构建的数据检测模型、帧间隔检测模型以及信号检测模型分别对待检测CAN数据进行预测、帧间隔异常检测以及信号异常检测处理,得到相应的预测CAN数据帧、帧间隔异常检测结果以及信号发生概率;根据预测CAN数据帧确定数据异常检测结果,以及根据信号发生概率确定信号异常检测结果,最后,根据数据异常检测结果、帧间隔异常检测结果以及信号异常检测结果生成CAN总线异常检测结果,不需要提前知晓待检测CAN数据对应的CAN协议规范,兼容性好,适用性好,应用范围广,检测准确性高。

Description

一种CAN总线异常检测方法及装置
技术领域
本申请涉及通信安全技术领域,具体而言,涉及一种CAN总线异常检测方法及装置。
背景技术
目前,随着车联网的迅速发展,汽车在提升了与外界的信息交互能力的同时,也带来了不可控的风险。现有的CAN总线异常检测方法通常采用基于规则的入侵检测方法,检测人员首先要获取检测数据的协议规范(一般由车厂自己定义),然后根据CAN协议规范配置好检测规则,然后通过程序设计语言来进行逻辑判断是否符合预先配置的检测规则,从而识别出异常CAN数据。然而,在实践中发现,现有的数据规则需要已知检测数据的协议规范,且不同车厂定制的CAN协议规范不同,通用性低,其应用范围有限,且采用逻辑判断的方法,检测准确性差。可见,现有的CAN总线异常检测方法通用性低,其应用范围有限,检测准确性差。
发明内容
本申请实施例的目的在于提供一种CAN总线异常检测方法及装置,能够兼容不同CAN协议规范的CAN数据,适用性好,应用范围广,检测准确性高。
本申请实施例第一方面提供了一种CAN总线异常检测方法,包括:
获取待检测CAN数据;
通过预先构建的数据检测模型对所述待检测CAN数据进行预测处理,得到预测CAN数据帧,以及通过预先构建的帧间隔检测模型对所述待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果,以及通过预先构建的信号检测模型对所述待检测CAN数据进行信号异常检测处理,得到信号发生概率;
根据所述预测CAN数据帧确定所述待检测CAN数据的数据异常检测结果,以及根据所述信号发生概率确定所述待检测CAN数据的信号异常检测结果;
根据所述数据异常检测结果、所述帧间隔异常检测结果以及所述信号异常检测结果,生成CAN总线异常检测结果。
在上述实现过程中,在CAN总线异常检测时,先获取CAN总线的数据作为待检测CAN数据,然后通过预先构建的数据检测模型、帧间隔检测模型以及信号检测模型分别对待检测CAN数据进行预测、帧间隔异常检测以及信号异常检测处理,进而得到相应的预测CAN数据帧、帧间隔异常检测结果以及信号发生概率;然后再根据预测CAN数据帧确定数据异常检测结果,以及根据信号发生概率确定信号异常检测结果,最后,根据数据异常检测结果、帧间隔异常检测结果以及信号异常检测结果,生成CAN总线异常检测结果,在进行CAN总线异常检测的过程中,不需要提前知晓待检测CAN数据对应的CAN协议规范,就能够检测出该待检测CAN数据是否存在数据异常、帧间隔异常以及信号异常的问题,兼容性好,适用性好,应用范围广,检测准确性高。
进一步地,所述通过预先构建的数据检测模型对所述待检测CAN数据进行预测处理,得到预测CAN数据帧,包括:
获取预先构建的数据检测模型对应的第一训练配置参数;
根据所述第一训练配置参数对所述待检测CAN数据进行预处理,得到第一待处理帧数据;
通过所述数据检测模型对所述第一待处理帧数据进行预测处理,得到预测CAN数据帧。
在上述实现过程中,先根据预先构建的数据检测模型对应的第一训练配置参数对待检测CAN数据进行预处理,再通过数据检测模型进行预测处理,预测目的明确,针对性强,有利于提升检测精度。
进一步地,所述通过预先构建的帧间隔检测模型对所述待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果,包括:
获取预先构建的帧间隔检测模型对应的第二训练配置参数;
根据所述第二训练配置参数对所述待检测CAN数据进行预处理,得到第二待处理帧数据;
计算所述第二待处理帧数据中每个相邻帧之间的帧间隔,得到帧间隔序列;
通过所述帧间隔检测模型对所述帧间隔序列进行帧间隔异常检测处理,得到帧间隔异常检测结果。
在上述实现过程中,先根据帧间隔检测模型对应的第二训练配置参数对待检测CAN数据进行预处理得到第二待处理帧数据,再计算帧间隔序列,最后通过帧间隔检测模型进行帧间隔异常检测处理,能够快速对待检测CAN数据的帧间隔进行异常检测,检测方法简单,精度高。
进一步地,所述通过预先构建的信号检测模型对所述待检测CAN数据进行信号异常检测处理,得到信号发生概率,包括:
获取预先构建的信号检测模型对应的第三训练配置参数;
根据预设的信号配置规则和所述第三训练配置参数对所述待检测CAN数据进行预处理,得到待处理信号数据;
通过所述信号检测模型对所述待处理信号数据进行信号异常检测处理,得到信号发生概率。
在上述实现过程中,通过预先构建的信号检测模型能够对待检测CAN数据中的信号进行异常检测处理,检测精度高,有利于及时发现信号异常问题,提升车辆的安全性。
进一步地,所述根据所述预测CAN数据帧确定所述待检测CAN数据的数据异常检测结果,包括:
从所述待检测CAN数据中确定与所述预测CAN数据帧对应的实际CAN数据帧;
计算所述预测CAN数据帧与所述实际CAN数据帧之间的损失值;
判断所述损失值是否超过预设损失阈值;
如果是,则确定所述待检测CAN数据的数据异常检测结果为数据帧存在异常;
如果否,则确定所述待检测CAN数据的数据异常检测结果为数据帧不存在异常。
在上述实现过程中,通过计算预测CAN数据帧与实际CAN数据帧之间的损失值,能够客观判断出数据帧是否异常,且能够准确定位出异常的实际数据帧,准确度高,避免了主观判断导致的误判等情况的出现。
进一步地,所述根据所述信号发生概率确定所述待检测CAN数据的信号异常检测结果,包括:
判断所述信号发生概率是否低于预设的概率阈值;
如果是,则确定所述待检测CAN数据的信号异常检测结果为信号异常;
如果否,则确定所述待检测CAN数据的信号异常检测结果为信号正常。
在上述实现过程中,在得到信号发生概率之后,可以根据预设的概率阈值对信号发生概率进行判断,进而确定出待检测CAN数据的信号异常检测结果,判断方法简单快速,能够快速定位异常信号。
进一步地,在所述获取待检测CAN数据之前,所述方法还包括:
构建原始异常检测模型组,所述异常检测模型组包括原始数据检测模型、原始帧间隔检测模型以及原始信号检测模型;
获取针对所述原始异常检测模型组的训练配置参数和用于训练所述原始异常检测模型组的原始CAN训练数据;
根据所述训练配置参数对所述原始CAN训练数据进行预处理,得到CAN训练数据;
根据所述训练配置参数和所述CAN训练数据对所述原始异常检测模型组进行训练,得到数据检测模型、帧间隔检测模型以及信号检测模型。
在上述实现过程中,在进行CAN总线异常检测之前,需要对原始异常检测模型组进行训练,同时在训练过程中,通过获取训练配置参数,使得模型训练更加灵活,有利于提升模型的准确度和稳定性。
本申请实施例第二方面提供了一种CAN总线异常检测装置,所述CAN总线异常检测装置包括:
获取单元,用于获取待检测CAN数据;
数据预测单元,用于通过预先构建的数据检测模型对所述待检测CAN数据进行预测处理,得到预测CAN数据帧;
帧间隔异常检测单元,用于通过预先构建的帧间隔检测模型对所述待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果;
信号异常检测单元,用于通过预先构建的信号检测模型对所述待检测CAN数据进行信号异常检测处理,得到信号发生概率;
第一确定单元,用于根据所述预测CAN数据帧确定所述待检测CAN数据的数据异常检测结果;
第二确定单元,用于根据所述信号发生概率确定所述待检测CAN数据的信号异常检测结果;
生成单元,用于根据所述数据异常检测结果、所述帧间隔异常检测结果以及所述信号异常检测结果,生成CAN总线异常检测结果。
在上述实现过程中,在进行CAN总线异常检测时,获取单元先获取CAN总线的数据作为待检测CAN数据,然后数据预测单元通过预先构建的数据检测模型对待检测CAN数据进行预测处理,得到预测CAN数据帧,以及帧间隔异常检测单元通过预先构建的帧间隔检测模型对待检测CAN数据进行帧间隔异常检测,得到,以及信号异常检测单元通过预先构建的信号检测模型对待检测CAN数据进行信号异常检测处理,得到帧间隔异常检测结果;然后第一确定单元再根据预测CAN数据帧确定数据异常检测结果,以及第二确定单元根据信号发生概率确定信号异常检测结果,最后,生成单元根据数据异常检测结果、帧间隔异常检测结果以及信号异常检测结果,生成CAN总线异常检测结果,不需要提前知晓待检测CAN数据对应的CAN协议规范,就能够检测出该待检测CAN数据是否存在数据异常、帧间隔异常以及信号异常的问题,兼容性好,适用性好,应用范围广,检测准确性高。
本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的CAN总线异常检测方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的CAN总线异常检测方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例一提供的一种CAN总线异常检测方法的流程示意图;
图2为本申请实施例二提供的一种CAN总线异常检测方法的流程示意图;
图3为本申请实施例三提供的一种CAN总线异常检测装置的结构示意图;
图4为本申请实施例三提供的另一种CAN总线异常检测装置的结构示意图;
图5为本申请实施例一提供的统计分析结果的展示示意图;
图6为本申请实施例一提供的一种均值图的展示示意图;
图7为本申请实施例二提供的一种数据检测训练配置参数的配置界面示意图;
图8为本申请实施例二提供的一种帧间隔检测训练配置参数的配置界面示意图;
图9为本申请实施例二提供的一种原始信号检测模型的训练配置界面示意图;
图10为本申请实施例二提供的一种预设信号规范的配置界面示意图;
图11为本申请实施例二提供的一种数据异常检测结果的展示示意图;
图12为本申请实施例二提供的一种帧间隔异常检测结果的展示示意图;
图13为本申请实施例二提供的一种信号异常检测结果的展示示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种CAN总线异常检测方法的流程示意图。其中,该CAN总线异常检测方法包括:
S101、获取待检测CAN数据。
本申请实施例中,CAN(Controller Area Network,控制器局域网络)总线,是一种有效支持分布式控制或实时控制的串行通信网络,能够完成对通信数据的成帧处理,使网络内的节点个数在理论上不受限制,可在各节点之间实现自由通信,具有结构简单、高性能、高可靠性、实时性等优点。
本申请实施例中,CAN数据即为CAN总线网络中用于通信的数据,又可以称为CAN帧、CAN数据帧、CAN信号数据、CAN报文数据等,对此本申请实施例不作限定。
本实施例所描述的CAN总线异常检测方法,具体应用于车载CAN总线异常检测场景。车载CAN总线作为车内网络的核心,是攻击者实现攻击过程的最终目标,直接影响行车安全,因此需要对车载CAN总线网络进行异常检测,进而保证车辆的安全运行,保障驾驶人员的人身财产安全。
本申请实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
本申请实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
作为一种可选的实施方式,可以预先导入包括待检测CAN数据的目标CAN文件,先读取目标CAN文件,然后对该目标CAN文件进行解析处理,得到目标CAN文件中的目标数据,然后将该目标数据的格式转换成本方法所能识别的数据格式,得到待检测CAN数据,最后存储该待检测CAN数据。
在上述实施方式中,当想要读取目标CAN文件时,用户可以输入该目标CAN文件的存储路径,则可以根据该存储路径对目标CAN文件进行读取操作。
在上述实施方式中,在获取待检测CAN数据时,可以直接从存储的数据中提取该待检测CAN数据。
作为进一步可选的实施方式,在存储该待检测CAN数据之后,还可以对该CAN数据进行统计分析处理,得到统计分析结果,然后按照预设的展示形式输出该统计分析结果。
在上述实施方式中,预设的展示形式包括图片、图表、表格、文字等形式,对此本申请实施例不作限定。
请一并参阅图5,图5是本申请实施例提供的一种统计分析结果的展示示意图,如图5所示,通过配置信息一栏可以选择需要进行统计分析的目标CAN数据(即目标CAN文件),统计分析结果包括CAN数据标识统计(即图5所示的报文ID)、每种CAN数据标识对应CAN数据的长度(即图5所示的长度)、每种CAN数据标识对应帧周期(即图5所示的周期)、每种CAN数据标识对应静态位数量(即图5所示的静态位)、每种CAN数据标识对应报文数量(即图5所示的报文数)以及均值统计信息(即图5所示的展示栏)。
请一并参阅图6,图6是本申请实施例提供的一种均值图的展示示意图,如图6所示,该均值图横坐标表示数据比特位(即bit位),纵坐标表示CAN标识(即CAN ID),用户通过查看该均值,可以了解目标CAN文件中各个CAN标识的所有CAN数据帧的每个比特位的均值图。通过均值图用户可以了解到变化活跃的数据位和静态数据位数量和位置,也可以通过均值图判断某种CAN数据帧是否能够用来训练模型,均值图对于CAN数据帧中信号的了解和报文的逆向都起着辅助作用。
如图6所示,用户还可以通过选择框进行多个目标CAN数据的选择操作,此时可以输出相对应的多个统计分析结果,还可以输出多个统计分析结果的对比展示图。
在上述实施方式中,在得到统计分析结果之后,可以根据用户输入的目标CAN标识,确定与目标CAN标识相对应的统计分析结果,然后按照预设的展示形式输出该统计分析结果。
在上述实施方式中,用户还可以同时输入多个目标CAN标识,此时可以根据多个目标CAN标识,输出相对应的多个统计分析结果,还可以输出多个统计分析结果的对比展示图。
在步骤S101之后,还包括以下步骤:
S102、通过预先构建的数据检测模型对待检测CAN数据进行预测处理,得到预测CAN数据帧,以及通过预先构建的帧间隔检测模型对待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果,以及通过预先构建的信号检测模型对待检测CAN数据进行信号异常检测处理,得到信号发生概率。
本申请实施例中,数据检测模型可以为长短期记忆神经网络模型(Long Short-Term Memory),这种模型适用于具有时间序列性质的数据,能够通过时间连续的数据预测下一时间的数据,对此本申请实施例不作限定。
本申请实施例中,数据检测模型能够根据连续的若干CAN数据帧预测即将到来的CAN数据帧。
本申请实施例中,帧间隔检测模型可以为一类支持向量机算法(One-Class SVM)模型,能够通过样本数据中学习到正常数据的特征范围,对此本申请实施例不作限定。
在实际使用中,由于CAN总线的仲裁机制导致周期型CAN帧的帧间隔可能会经常发生变化,正常的CAN帧间隔能够抓取CAN总线数据包计算得到,异常的CAN帧间隔需要通过洪泛、注入、重放等方法才能获得,且样本数量极少,所以采用One-Class SVM模型的帧间隔检测模型进行帧间隔异常检测,检测方法简单,精度高。
本申请实施例中,信号检测模型可以为隐马尔可夫模型算法(Hidden MarkovModel,HMM)模型,对此本申请实施例不作限定。
本申请实施例中,在对信号检测模型进行训练时,该模型能够根据一系列的观测结果学习出隐藏状态、转换概率和发射概率,最后本模型能够根据观测结果计算事件的发生概率,比如车速信号输入到信号检测模型中能够学习出加速状态、减速状态和停止状态,也可以学习出急剧加速和急剧减速,本模型学习出的隐藏状态数量可以由用户预先配置。
本申请实施例中,CAN数据包括至少一种信号,例如车速信号、加速信号、减速信号、停止运动信号、发动机速度信号等,不同种类信号之间具有一定的相关性,比如车速信号和发动机速度信号就是具有相关性的两种信号,当待检测CAN数据包括多种信号时,信号检测模型能够对待检测CAN数据包括的多种信号进行处理,得到多种信号的信号发生概率。
本申请实施例中,帧间隔异常检测结果包括帧间隔异常的帧数量、帧间隔正常的帧数量、每个帧间隔是否异常的检测结果等中的一种或者多种,对此本申请实施例不作限定。
在步骤S102之后,还包括以下步骤:
S103、根据预测CAN数据帧确定待检测CAN数据的数据异常检测结果,以及根据信号发生概率确定待检测CAN数据的信号异常检测结果。
本申请实施例中,数据异常检测结果包括该待检测CAN数据存在异常的结果,或者该待检测CAN数据不存在异常的结果、数据异常数量、数据正常数量等中的一种或者多种,对此本申请实施例不作限定。
本申请实施例中,设待检测CAN数据中一连续数据帧序列为目标数据帧序列,通过数据检测模型对该目标数据帧序列进行预测处理,得到该目标数据帧序列下一个CAN帧的预测数据内容,同时,待检测CAN数据中本身包括该目标数据帧序列的下一个CAN帧的实际数据内容,此时可以将预测数据内容和实际数据内容进行对比比较,如果两个数据内容之间差异过大(如两个数据内容之间真损失值超过预设损失阈值),则表明该待检测CAN数据存在异常,反之,则表明该待检测CAN数据不存在异常。
本申请实施例中,信号异常检测结果包括该待检测CAN数据存在信号异常的结果,或者该待检测CAN数据不存在信号异常的结果、不同种类信号的发生概率,具有相关性的信号同时发生的概率等中的一种或者多种,对此本申请实施例不作限定。
本申请实施例中,在得到信号发生概率之后,可以根据预设的概率阈值对信号发生概率进行判断,进而确定出待检测CAN数据的信号异常检测结果。
在步骤S103之后,还包括以下步骤:
S104、根据数据异常检测结果、帧间隔异常检测结果以及信号异常检测结果,生成CAN总线异常检测结果。
本申请实施例中,在得到CAN总线异常检测结果之后,可以输出该CAN总线异常检测结果,具体地,可以通过饼图形式展示待检测CAN数据中数据异常数量和数据正常数量的占比情况;可以通过饼图形式展示待检测CAN数据中帧间隔异常的帧数量和帧间隔正常的帧数量的占比情况;可以通过表格的形式展示信号发生概率等,对此本申请实施例不作限定。
本申请实施例中,预先构建的数据检测模型、帧间隔检测模型和信号检测模型均为人工智能模型,通过人工智能模型来进行CAN总线的异常检测,无需配置具体的检测规则和攻击特征库,对于未知的攻击具有更好的检测效果。
可见,实施图1所描述的CAN总线异常检测方法,不需要知晓待检测CAN数据的CAN协议规范,能够兼容不同CAN协议规范的CAN数据,适用性好,应用范围广,检测准确性高。
实施例2
请参看图2,图2为本申请实施例提供的一种CAN总线异常检测方法的流程示意图。如图2所示,其中,该CAN总线异常检测方法包括:
S201、构建原始异常检测模型组,该异常检测模型组包括原始数据检测模型、原始帧间隔检测模型以及原始信号检测模型。
S202、获取针对原始异常检测模型组的训练配置参数和用于训练原始异常检测模型组的原始CAN训练数据。
本申请实施例中,可以预先导入包括原始CAN训练数据的CAN训练文件,先读取CAN训练文件,然后对该CAN训练文件进行解析处理,得到CAN训练文件中的训练数据,然后将该训练数据的格式转换成本方法所能识别的数据格式,得到原始CAN训练数据,最后存储该原始CAN训练数据。
本申请实施例中,通过上述图5和图6的信息展示,能够实现数据可视化的效果,比如均值图、信号变化图等,有利于辅助原始CAN训练数据进行的筛选,用户可以通过数据可视化信息筛选出合适的用于训练原始异常检测模型组的原始CAN训练数据,有利于提升模型训练的精度,进而提升训练好的模型的准确度,同时还可以筛选出能够准确反映CAN总线是否具有异常情况的待检测CAN数据,进一步有利于提升CAN总线异常检测的准确度。
在上述实施方式中,在获取待检测CAN数据时,可以直接从存储的数据中提取该原始CAN训练数据。
本申请实施例中,训练配置参数包括数据检测训练配置参数、帧间隔检测训练配置参数和信号配置参数。
本申请实施例中,用户可以预先设置训练配置参数,在一定程度上使得用户参与对原始异常检测模型组的训练,极大提升了模型训练的灵活度。
本申请实施例中,数据检测训练配置参数包括用于训练原始数据检测模型的原始数据的存储位置、目标CAN标识、训练轮次、训练批量、验证数据比例、预测基数(即连续帧数量)等中的一种或者多种,对此本申请实施例不作限定。
请一并参阅图7,图7是本申请实施例提供的一种数据检测训练配置参数的配置界面示意图。如图7所示,在配置信息模块,可以通过选择文件一栏配置用于训练原始数据检测模型的原始数据的存储位置(即图7所示的选择文件),也可以配置训练目标、预测基数、训练轮次(即图7所示的轮数)、训练批量(即图7所示的批量)、验证数据比例(即图7所示的验证比)等,还可以在图7所示的配置信息模块的模型名称一栏自主设置个性化名称。在详细信息一栏,展示了不同原始数据检测模型的训练情况,所展示的训练情况包括训练时间(即图7所示的时间)、用于训练原始数据检测模型的原始数据信息(即图7所示的源文件)、训练目标、训练基数、批量、验证比例、模型名称等。
如图7所示,通过展示不同原始数据检测模型的训练情况,可以直观的观察到训练的模型的好坏程度,有利于根据训练结果及时调整训练配置参数来达到期望的训练结果,极大的提升了模型训练的灵活度。
本申请实施例中,帧间隔检测训练配置参数包括用于训练原始帧间隔检测模型的原始数据的存储位置、目标CAN标识、模型训练参数NU值、模型训练参数GAMMA值等中的一种或者多种,对此本申请实施例不作限定。
请一并参阅图8,图8是本申请实施例提供的一种帧间隔检测训练配置参数的配置界面示意图。如图8所示,在配置信息模块,可以通过选择文件一栏配置用于训练原始帧间隔检测模型的原始数据的存储位置(即图8所示的选择文件),也可以配置训练目标、模型训练参数NU值、模型训练参数GAMMA值等,还可以在图8所示的配置信息模块的模型名称一栏自主设置个性化名称。在详细信息一栏,展示了不同原始帧间隔检测模型的训练情况,所展示的训练情况包括训练时间(即图8所示的时间)、用于训练原始帧间隔检测模型的原始数据信息(即图8所示的源文件)、NU值、GAMMA值、模型名称等。
本申请实施例中,信号配置参数包括用于训练原始信号检测模型的原始数据的存储位置、预设信号规范和预设信号提取规则等,其中预设信号规范包括信号起始位、信号结束位、信号种类等中的一种或者多种,预设信号提取规则包括提取起始位、提取结束位、提取信号种类等中的一种或者多种,对此本申请实施例不作限定。
请一并参阅图9,图9是本申请实施例提供的一种原始信号检测模型的训练配置界面示意图。如图9所示,在配置信息模块,可以通过选择文件一栏配置用于训练原始信号检测模型的原始数据的存储位置(即图9所示的选择文件),也可以配置训练目标、状态数量等,还可以在图9所示的配置信息模块的模型名称一栏自主设置个性化名称。在详细信息一栏,展示了不同原始信号检测模型的训练情况,所展示的训练情况包括训练时间(即图9所示的时间)、用于训练原始帧间隔检测模型的原始数据信息(即图9所示的源文件)、训练目标、状态数量、模型名称等。
同时,请一并参阅图10,图10是本申请实施例提供的一种预设信号规范的配置界面示意图。每种CAN数据帧中包含多种不同的信号,CAN数据帧中信号都是由车厂定义的,如图10所示,用户可以自主配置信号配置参数,可以自己选择需要展示的CAN文件(即图10所示的配置信息模块的选择文件一栏)、设置目标CAN标识(即图10所示的配置信息模块的CANID一栏)、信号字节信息(即图10所示的配置信息模块的字节一栏)、信号起始位(即图10所示的配置信息模块的起始位)和信号结束位(即图10所示的配置信息模块的结束位)等,对此本申请实施例不作限定。
如图10所示,用户还可以在图7所示的配置信息模块的名称一栏自主设置个性化名称进行标识。在详细信息一栏,可以预览已经配置完成的CAN文件信息,包括名称、报文ID、字节范围、掩码信息等,还可以对不同的CAN文件进行选择,并通过图像进行展示。
本申请实施例中,在设置好训练配置参数之后,还能够根据预设的原始数据(CAN文件)的存储位置,输出原始数据中信号值变化情况,还可以根据用户的选择,进行一个或者多个信号的展示,能信号在原始数据中的变化曲线,方便用户对信号的了解,对信号的逆行也有帮助。
在步骤S202之后,还包括以下步骤:
S203、根据训练配置参数对原始CAN训练数据进行预处理,得到CAN训练数据。
本申请实施例中,异常检测模型组包括的原始数据检测模型、原始帧间隔检测模型以及原始信号检测模型,其模型实现原理不同,则训练每个模型的训练数据也不同。
本申请实施例中,原始CAN训练数据包括用于训练原始数据检测模型的第一原始训练数据、用于训练原始帧间隔检测模型的第二原始训练数据、训练原始信号检测模型的第三原始训练数据;相应的,CAN训练数据包括用于训练原始数据检测模型的第一CAN训练数据、用于训练原始帧间隔检测模型的第二CAN训练数据、训练原始信号检测模型的第三CAN训练数据。
本申请实施例中,在得到第一原始训练数据之后,先从第一原始训练数据中提取数据检测训练配置参数包括的目标CAN标识对应的连续CAN数据帧,然后将该CAN数据帧进行数据格式转换,转换为原始数据检测模型所能够识别的数据格式,得到第一CAN训练数据。其中该连续CAN数据帧的数量为数据检测训练配置参数包括的连续帧数量。
本申请实施例中,在得到第二原始训练数据之后,先从第二原始训练数据中提取帧间隔检测训练配置参数包括的目标CAN标识对应的CAN数据帧,然后分别计算相邻CAN数据帧之间的帧间隔,得到帧序列,最后,将该帧序列进行数据格式转换,转换为原始帧间隔检测模型所能够识别的数据格式,得到第二CAN训练数据。
本申请实施例中,在得到第三原始训练数据之后,先根据信号配置参数包括的预设信号规范确定待检测CAN标识,再从第三原始训练数据中提取待检测CAN标识对应的CAN数据帧,然后再根据预设信号提取规则从CAN数据帧中提取相应信号数据,最后,将该信号数据进行数据格式转换,转换为原始信号检测模型所能够识别的数据格式,得到第三CAN训练数据。
在步骤S203之后,还包括以下步骤:
S204、根据训练配置参数和CAN训练数据对原始异常检测模型组进行训练,得到数据检测模型、帧间隔检测模型以及信号检测模型。
本申请实施例中,在对原始数据检测模型进行训练时,将第一CAN训练数据直接输入至原始数据检测模型中,并根据数据检测训练配置参数对原始数据检测模型进行训练,进而得到训练好的数据检测模型。
本申请实施例中,训练好的数据检测模型在实际应用中,能够对数据检测训练配置参数包括的CAN标识对应的CAN数据进行预测处理,其能预测的连续CAN帧数据的数量为数据检测训练配置参数包括的连续帧数量。
本申请实施例中,在对原始数据检测模型进行训练之后,还可以输出可视化界面如训练损失、验证损失折线图等,供用户评判模型训练的好坏。
本申请实施例中,训练好的帧间隔检测模型在实际应用中,能够对帧间隔检测训练配置参数包括的CAN标识对应的CAN数据进行帧间隔检测处理。
本申请实施例中,用户可以自行设置数据检测训练配置参数,并用户可以通过更改训练轮次、训练批量、验证数据比例、预测基数等参数来优化模型,模型的内部复杂的网络结构比如隐藏层数量、隐藏层类型、神经元数量、激活函数和优化函数都已经内置。
本申请实施例中,在对原始帧间隔检测模型进行训练时,将第二CAN训练数据直接输入至原始帧间隔检测模型中进行训练,进而得到训练好的帧间隔检测模型。
本申请实施例中,在对原始帧间隔检测模型进行训练之后,还可以输出可视化界面如正常帧间隔范围坐标图等,供用户评判模型训练的好坏。
本申请实施例中,在对原始信号检测模型进行训练时,将第三CAN训练数据直接输入至原始信号检测模型中进行训练,进而得到训练好的信号检测模型。
本申请实施例中,训练好的信号检测模型在实际应用中,能够对与信号配置参数相匹配的目标信号数据进行信号检测处理,输出该目标信号的信号发生概率。
本申请实施例中,在对原始信号检测模型进行训练之后,还可以输出可视化界面如不同信号的变化曲线等,并能够在曲线中以不同的颜色标识不同信号的隐藏状态等,供用户评判模型训练的好坏。
本申请实施例中,数据检测模型、帧间隔检测模型、信号检测模型均为预先构建并训练好的模型,由于不同的训练配置参数和CAN训练数据,其训练得到的数据检测模型、帧间隔检测模型、信号检测模型均不同,因此,在实际使用中,在执行步骤S205~步骤S211之前,需要根据预设的模型名称,确定出对应的数据检测模型、帧间隔检测模型、信号检测模型,预设的模型名称为用户预先配置,对此本申请实施例不作限定。
在步骤S204之后,还包括以下步骤:
S205、获取待检测CAN数据。
S206、获取预先构建的数据检测模型对应的第一训练配置参数,并根据第一训练配置参数对待检测CAN数据进行预处理,得到第一待处理帧数据。
本申请实施例中,预先构建的数据检测模型对应的第一训练配置参数,即为数据检测模型对应的数据检测训练配置参数。
本申请实施例中,根据第一训练配置参数对待检测CAN数据进行预处理,得到第一待处理帧数据,可以包括以下步骤:
根据第一训练配置参数包括的第一CAN标识,从待检测CAN数据中提取与第一CAN标识对应的第一CAN数据帧;
对第一CAN数据帧进行数据转换,得到数据检测模型所能识别的第一待处理帧数据。
S207、通过数据检测模型对第一待处理帧数据进行预测处理,得到预测CAN数据帧。
本申请实施例中,设第一训练配置参数包括目标连续帧数量,则数据检测模型能够对第一待处理帧数据中目标连续帧数量的帧数据进行预测处理。
本申请实施例中,数据检测模型能够对第一待处理帧数据中目标连续帧数量的连续数据帧进行预测,最终可以预测得到至少一个预测数据帧,即所得到的预测CAN数据帧实际上包括至少一个预测数据帧。
本申请实施例中,实施上述步骤S206~步骤S207,能够通过预先构建的数据检测模型对待检测CAN数据进行预测处理,得到预测CAN数据帧。
在步骤S207之后,还包括以下步骤:
S208、获取预先构建的帧间隔检测模型对应的第二训练配置参数,以及根据第二训练配置参数对待检测CAN数据进行预处理,得到第二待处理帧数据。
本申请实施例中,预先构建的帧间隔检测模型对应的第二训练配置参数,即为帧间隔检测模型对应的帧间隔检测训练配置参数。
本申请实施例中,根据第二训练配置参数对待检测CAN数据进行预处理,得到第二待处理帧数据,可以包括以下步骤:
根据第二训练配置参数包括的第二CAN标识,从待检测CAN数据中提取与第二CAN标识对应的第二CAN数据帧;
分别计算第二CAN数据帧中相邻两个数据帧之间的帧间隔,得到第二帧间隔序列;
对第二帧间隔序列进行数据转换,得到帧间隔检测模型所能识别的第二待处理帧数据。
S209、计算第二待处理帧数据中每个相邻帧之间的帧间隔,得到帧间隔序列,并通过帧间隔检测模型对帧间隔序列进行帧间隔异常检测处理,得到帧间隔异常检测结果。
本申请实施例中,帧间隔异常检测结果包括针对第二待处理帧数据中每个帧间隔数据的异常判断结果(如帧间隔异常或者帧间隔正常)。
本申请实施例中,实施上述步骤S208~步骤S209,能够通过预先构建的帧间隔检测模型对待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果。
S210、获取预先构建的信号检测模型对应的第三训练配置参数,并根据预设的信号配置规则和第三训练配置参数对待检测CAN数据进行预处理,得到待处理信号数据。
本申请实施例中,预先构建的信号检测模型对应的第三训练配置参数,即为信号检测模型对应的信号配置参数。
本申请实施例中,根据预设的信号配置规则和第三训练配置参数对待检测CAN数据进行预处理,得到待处理信号数据,可以包括以下步骤:
确定第三训练配置参数包括的预设信号规范对应的第三CAN标识;
从待检测CAN数据中提取与第三CAN标识对应的第三CAN数据帧;
根据第三训练配置参数包括的预设信号提取规则从第三CAN数据帧中提取第三信号数据;
对第三信号数据进行数据转换,得到信号检测模型所能识别的待处理信号数据。
S211、通过信号检测模型对待处理信号数据进行信号异常检测处理,得到信号发生概率。
本申请实施例中,信号检测模型能够通过对待处理信号数据的观测结果、隐藏状态、转换概率和发射概率等,计算观测结果的发生概率信号发生概率。
本申请实施例中,实施上述步骤S210~步骤S211,能够通过预先构建的信号检测模型对待检测CAN数据进行信号异常检测处理,得到信号发生概率。
本申请实施例中,步骤S206~步骤S207、步骤S208~步骤S209、步骤S210~步骤S211可以同时执行,也可以不同时执行,步骤S206~步骤S207、步骤S208~步骤S209、步骤S210~步骤S211三者之间的执行顺序此处不作限定。图2示出一种按照步骤S206~步骤S211的执行步骤顺序。
S212、根据预测CAN数据帧确定待检测CAN数据的数据异常检测结果,以及根据信号发生概率确定待检测CAN数据的信号异常检测结果。
本申请实施例中,根据预测CAN数据帧确定待检测CAN数据的数据异常检测结果,可以包括以下步骤:
从待检测CAN数据中确定与预测CAN数据帧对应的实际CAN数据帧;
计算预测CAN数据帧与实际CAN数据帧之间的损失值;
判断损失值是否超过预设损失阈值;
如果是,则确定待检测CAN数据的数据异常检测结果为数据帧存在异常;
如果否,则确定待检测CAN数据的数据异常检测结果为数据帧不存在异常。
在上述实施方式中,举例来说,设预先构建的数据检测模型对应的第一训练配置参数包括连续CAN帧数量为20,则数据检测模型能够根据连续的20帧CAN数据帧,预测第21帧CAN数据帧。然后从待检测CAN数据中确定该连续的20帧CAN数据帧的下一帧数据帧,即实际的第21帧CAN数据帧,进一步地,再计算预测的第21帧CAN数据帧与实际的第21帧CAN数据帧之间的损失值,最后再根据预设损失阈值确定待检测CAN数据的数据异常检测结果。
在上述实施方式中,可以采用预设的损失值计算函数来计算帧与帧之间的损失值,对此本申请实施例不作限定。
在上述实施方式中,在确定待检测CAN数据的数据异常检测结果之后,还能够统计待检测CAN数据中正常数据帧数量、异常数据帧数量、异常数据帧的时间戳、数据内容等,还能够查询定位异常数据帧,并能够输出饼图展示正常数据帧数量和异常数据帧数量在待检测CAN数据中的占比情况。
本申请实施例中,根据信号发生概率确定待检测CAN数据的信号异常检测结果,可以包括以下步骤:
判断信号发生概率是否低于预设的概率阈值;
如果是,则确定待检测CAN数据的信号异常检测结果为信号异常;
如果否,则确定待检测CAN数据的信号异常检测结果为信号正常。
在上述实施方式中,信号检测模型能够通过对待处理信号数据的观测结果、隐藏状态、转换概率和发射概率等,计算观测结果的发生概率信号发生概率。如果信号发生概率低于预设的概率阈值,则认为此信号内容为异常。举例来说,设有三个信号,即车速信号、发动机信号和车门状态信号,当车速维持在很高的情况下比如100km/h的情况下是不会出现车门打开或者发动机熄火的情况,此现象发生的概率极低,信号检测模型能够计算车速信号、发动机信号、车门状态信号这三种信号当前状态的信号发生概率,并根据信号发生概率确定待检测CAN数据的信号异常检测结果。
在步骤S212之后,还包括以下步骤:
S213、根据数据异常检测结果、帧间隔异常检测结果以及信号异常检测结果,生成CAN总线异常检测结果。
请一并参阅图11,图11是本申请实施例提供的一种数据异常检测结果的展示示意图。如图11所示,在配置信息模块,可以通过选择文件,选择待检测CAN数据(即源文件),通过模型选项确定预先构建的数据检测模型,并显示该数据检测模型对应的检测目标,在对待检测CAN数据进行预测处理,得到预测CAN数据帧之后,在详细信息模块,能够显示预测处理时间(即图11所示的时间)、待检测CAN数据的信息(即图11所示的源文件)、检测目标、对应源文件中正常数据帧数量(即图11所示的正常数量)、对应源文件中异常数据帧数量(即图11所示的异常数量)以及进行预测处理时所采用的数据检测模型的模型名称等。
如图11所示,通过详细信息模块对数据异常检测结果进行可视化展示,从而清晰地展示了相应CAN总线的安全状态。假若有检测到异常信息,则可以通过详细信息模块直接定位到异常数据的位置,方便对异常信息的追溯分析。
请一并参阅图12,图12是本申请实施例提供的一种帧间隔异常检测结果的展示示意图。如图12所示,在配置信息模块,可以通过选择文件,选择需要检测的待检测CAN数据(即源文件),通过模型选项确定预先构建的帧间隔检测模型,并显示该帧间隔检测模型对应的检测目标,在对待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果之后,在详细信息模块,能够显示该帧间隔异常检测处理的时间(即图12所示的时间)、待检测CAN数据的信息(即图12所示的源文件)、检测目标、对应源文件中帧间隔正常的数据帧数量(即图12所示的正常数量)、对应源文件中帧间隔异常的数据帧数量(即图12所示的异常数量)以及进行预测处理时所采用的帧间隔检测模型的模型名称等。
请一并参阅图13,图13是本申请实施例提供的一种信号异常检测结果的展示示意图。如图13所示,在配置信息模块,可以通过选择文件,选择需要检测的待检测CAN数据(即源文件),通过模型选项确定预先构建的信号检测模型,并显示该信号检测模型对应的检测目标,在对待检测CAN数据进行信号异常检测处理,得到信号发生概率之后,在详细信息模块,能够显示该信号异常检测处理的时间(即图13所示的时间)、待检测CAN数据的信息(即图13所示的源文件)、检测目标、对应源文件中正常信号的数量(即图13所示的正常数量)、对应源文件中异常信号的数量(即图13所示的异常数量)以及进行预测处理时所采用的信号检测模型的模型名称等。
作为一种可选的实施方式,在进行CAN总线异常检测时,还可以包括以下步骤:
获取CAN总线异常检测指令,该CAN总线异常检测指令包括数据异常检测指令、帧间隔异常检测指令以及信号异常检测指令中的一种或者多种;
根据CAN总线异常检测指令执行上述步骤S205~步骤213。
在上述实施方式中,在根据CAN总线异常检测指令执行上述步骤S205~步骤~213时,需要根据CAN总线异常检测指令选择性执行步骤S206~步骤S213。举例来说,如果该CAN总线异常检测指令包括帧间隔异常检测指令和信号异常检测指令时,则仅执行步骤S205、步骤S208~步骤S209、步骤S210~步骤S211,同时在执行步骤S212时,则仅执行上述根据信号发生概率确定待检测CAN数据的信号异常检测结果,以及执行上述根据帧间隔异常检测结果以及信号异常检测结果,生成CAN总线异常检测结果。对于其他情况的CAN总线异常检测指令,同理可得,此处不再赘述。
可见,实施图2所描述的CAN总线异常检测方法,能够兼容不同CAN协议规范的CAN数据,适用性好,应用范围广,检测准确性高。
实施例3
请参看图3,图3为本申请实施例提供的一种CAN总线异常检测装置的结构示意图。如图3所示,该CAN总线异常检测装置包括:
获取单元310,用于获取待检测CAN数据;
数据预测单元320,用于通过预先构建的数据检测模型对待检测CAN数据进行预测处理,得到预测CAN数据帧;
帧间隔异常检测单元330,用于通过预先构建的帧间隔检测模型对待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果;
信号异常检测单元340,用于通过预先构建的信号检测模型对待检测CAN数据进行信号异常检测处理,得到信号发生概率;
第一确定单元350,用于根据预测CAN数据帧确定待检测CAN数据的数据异常检测结果;
第二确定单元360,用于根据信号发生概率确定待检测CAN数据的信号异常检测结果;
生成单元370,用于根据数据异常检测结果、帧间隔异常检测结果以及信号异常检测结果,生成CAN总线异常检测结果。
本申请实施例中,对于CAN总线异常检测装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施图3所描述的CAN总线异常检测装置,能够兼容不同CAN协议规范的CAN数据,适用性好,应用范围广,检测准确性高。
实施例4
请参看图4,图4是本申请实施例提供的一种CAN总线异常检测装置的结构示意图。其中,图4所示的CAN总线异常检测装置是由图3所示的CAN总线异常检测装置进行优化得到的。如图4所示,数据预测单元320包括:
第一获取子单元321,用于获取预先构建的数据检测模型对应的第一训练配置参数;
第一处理子单元322,用于根据第一训练配置参数对待检测CAN数据进行预处理,得到第一待处理帧数据;
第一检测子单元323,用于通过数据检测模型对第一待处理帧数据进行预测处理,得到预测CAN数据帧。
作为一种可选的实施方式,帧间隔异常检测单元330包括:
第二获取子单元331,用于获取预先构建的帧间隔检测模型对应的第二训练配置参数;
第二处理子单元332,用于根据第二训练配置参数对待检测CAN数据进行预处理,得到第二待处理帧数据;
帧间隔计算子单元333,用于计算第二待处理帧数据中每个相邻帧之间的帧间隔,得到帧间隔序列;
第二检测子单元334,用于通过帧间隔检测模型对帧间隔序列进行帧间隔异常检测处理,得到帧间隔异常检测结果。
作为一种可选的实施方式,信号异常检测单元340包括:
第三获取子单元341,用于获取预先构建的信号检测模型对应的第三训练配置参数;
第三处理子单元342,用于根据预设的信号配置规则和第三训练配置参数对待检测CAN数据进行预处理,得到待处理信号数据;
第三检测子单元343,用于通过信号检测模型对待处理信号数据进行信号异常检测处理,得到信号发生概率。
作为一种可选的实施方式,第一确定单元350,包括:
帧确定子单元351,用于从待检测CAN数据中确定与预测CAN数据帧对应的实际CAN数据帧;
损失值计算子单元352,用于计算预测CAN数据帧与实际CAN数据帧之间的损失值;
第一判断子单元353,用于判断损失值是否超过预设损失阈值;
第一确定子单元354,用于在判断出超过预设损失阈值时,则确定待检测CAN数据的数据异常检测结果为数据帧存在异常;以及在判断出不超过预设损失阈值时,则确定待检测CAN数据的数据异常检测结果为数据帧不存在异常。
作为一种可选的实施方式,第二确定单元360包括:
第二判断子单元361,用于判断信号发生概率是否低于预设的概率阈值;
第二确定子单元362,用于在判断出低于预设的概率阈值时,则确定待检测CAN数据的信号异常检测结果为信号异常;以及在判断出信号发生概率不低于预设的概率阈值时,则确定待检测CAN数据的信号异常检测结果为信号正常。
作为一种可选的实施方式,该CAN总线异常检测装置还包括:
构建单元380,用于在获取待检测CAN数据之前,构建原始异常检测模型组,异常检测模型组包括原始数据检测模型、原始帧间隔检测模型以及原始信号检测模型。
获取单元310,还用于获取针对原始异常检测模型组的训练配置参数和用于训练原始异常检测模型组的原始CAN训练数据。
训练单元390,用于根据训练配置参数对原始CAN训练数据进行预处理,得到CAN训练数据;并根据训练配置参数和CAN训练数据对原始异常检测模型组进行训练,得到数据检测模型、帧间隔检测模型以及信号检测模型。
本申请实施例中,对于CAN总线异常检测装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施图4所描述的CAN总线异常检测装置,能够兼容不同CAN协议规范的CAN数据,适用性好,应用范围广,检测准确性高。
本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例1或实施例2中任一项CAN总线异常检测方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中任一项CAN总线异常检测方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (9)

1.一种CAN总线异常检测方法,其特征在于,包括:
读取目标CAN文件,对所述目标CAN文件进行解析处理,得到所述目标CAN文件中的目标数据,然后将该目标数据的格式转换成预设数据格式,得到待检测CAN数据;
对所述CAN数据进行统计分析处理,得到统计分析结果;并按照预设的展示形式输出所述统计分析结果;
通过预先构建的长短期记忆神经网络模型对所述待检测CAN数据进行预测处理,得到预测CAN数据帧,以及通过预先构建的帧间隔检测模型对所述待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果,以及通过预先构建的隐马尔可夫模型算法模型对所述待检测CAN数据进行信号异常检测处理,得到信号发生概率;
根据所述预测CAN数据帧确定所述待检测CAN数据的数据异常检测结果,以及根据所述信号发生概率确定所述待检测CAN数据的信号异常检测结果;
根据所述数据异常检测结果、所述帧间隔异常检测结果以及所述信号异常检测结果,生成CAN总线异常检测结果;
输出所述CAN总线异常检测结果;所述CAN总线异常检测结果包括待检测CAN数据中数据异常数量和数据正常数量的占比情况饼状图;
所述通过预先构建的帧间隔检测模型对所述待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果,包括:
获取预先构建的帧间隔检测模型对应的第二训练配置参数;
根据所述第二训练配置参数对所述待检测CAN数据进行预处理,得到第二待处理帧数据;
计算所述第二待处理帧数据中每个相邻帧之间的帧间隔,得到帧间隔序列;
根据第二训练配置参数包括的第二CAN标识,从待检测CAN数据中提取与第二CAN标识对应的第二CAN数据帧;
分别计算第二CAN数据帧中相邻两个数据帧之间的帧间隔,得到第二帧间隔序列;
对第二帧间隔序列进行数据转换,得到帧间隔检测模型所能识别的第二待处理帧数据;
通过所述帧间隔检测模型对所述帧间隔序列和所述第二待处理帧数据进行帧间隔异常检测处理,得到帧间隔异常检测结果。
2.根据权利要求1所述的CAN总线异常检测方法,其特征在于,所述通过预先构建的数据检测模型对所述待检测CAN数据进行预测处理,得到预测CAN数据帧,包括:
获取预先构建的数据检测模型对应的第一训练配置参数;
根据所述第一训练配置参数对所述待检测CAN数据进行预处理,得到第一待处理帧数据;
通过所述数据检测模型对所述第一待处理帧数据进行预测处理,得到预测CAN数据帧。
3.根据权利要求1所述的CAN总线异常检测方法,其特征在于,所述通过预先构建的信号检测模型对所述待检测CAN数据进行信号异常检测处理,得到信号发生概率,包括:
获取预先构建的信号检测模型对应的第三训练配置参数;
根据预设的信号配置规则和所述第三训练配置参数对所述待检测CAN数据进行预处理,得到待处理信号数据;
通过所述信号检测模型对所述待处理信号数据进行信号异常检测处理,得到信号发生概率。
4.根据权利要求1所述的CAN总线异常检测方法,其特征在于,所述根据所述预测CAN数据帧确定所述待检测CAN数据的数据异常检测结果,包括:
从所述待检测CAN数据中确定与所述预测CAN数据帧对应的实际CAN数据帧;
计算所述预测CAN数据帧与所述实际CAN数据帧之间的损失值;
判断所述损失值是否超过预设损失阈值;
如果是,则确定所述待检测CAN数据的数据异常检测结果为数据帧存在异常;
如果否,则确定所述待检测CAN数据的数据异常检测结果为数据帧不存在异常。
5.根据权利要求1所述的CAN总线异常检测方法,其特征在于,所述根据所述信号发生概率确定所述待检测CAN数据的信号异常检测结果,包括:
判断所述信号发生概率是否低于预设的概率阈值;
如果是,则确定所述待检测CAN数据的信号异常检测结果为信号异常;
如果否,则确定所述待检测CAN数据的信号异常检测结果为信号正常。
6.根据权利要求1所述的CAN总线异常检测方法,其特征在于,在所述读取目标CAN文件之前,所述方法还包括:
构建原始异常检测模型组,所述异常检测模型组包括原始数据检测模型、原始帧间隔检测模型以及原始信号检测模型;
获取针对所述原始异常检测模型组的训练配置参数和用于训练所述原始异常检测模型组的原始CAN训练数据;
根据所述训练配置参数对所述原始CAN训练数据进行预处理,得到CAN训练数据;
根据所述训练配置参数和所述CAN训练数据对所述原始异常检测模型组进行训练,得到数据检测模型、帧间隔检测模型以及信号检测模型。
7.一种CAN总线异常检测装置,其特征在于,所述CAN总线异常检测装置包括:
获取单元,用于读取目标CAN文件,对所述目标CAN文件进行解析处理,得到所述目标CAN文件中的目标数据,然后将该目标数据的格式转换成预设数据格式,得到待检测CAN数据;
输出单元,用于对所述CAN数据进行统计分析处理,得到统计分析结果;并按照预设的展示形式输出所述统计分析结果;
数据预测单元,用于通过预先构建的长短期记忆神经网络模型对所述待检测CAN数据进行预测处理,得到预测CAN数据帧;
帧间隔异常检测单元,用于通过预先构建的帧间隔检测模型对所述待检测CAN数据进行帧间隔异常检测处理,得到帧间隔异常检测结果;
信号异常检测单元,用于通过预先构建的隐马尔可夫模型算法模型对所述待检测CAN数据进行信号异常检测处理,得到信号发生概率;
第一确定单元,用于根据所述预测CAN数据帧确定所述待检测CAN数据的数据异常检测结果;
第二确定单元,用于根据所述信号发生概率确定所述待检测CAN数据的信号异常检测结果;
生成单元,用于根据所述数据异常检测结果、所述帧间隔异常检测结果以及所述信号异常检测结果,生成CAN总线异常检测结果;
所述输出单元,还用于输出所述CAN总线异常检测结果;所述CAN总线异常检测结果包括待检测CAN数据中数据异常数量和数据正常数量的占比情况饼状图;其中,帧间隔异常检测单元包括:
第二获取子单元,用于获取预先构建的帧间隔检测模型对应的第二训练配置参数;
第二处理子单元,用于根据第二训练配置参数对待检测CAN数据进行预处理,得到第二待处理帧数据;
帧间隔计算子单元,用于计算第二待处理帧数据中每个相邻帧之间的帧间隔,得到帧间隔序列;
所述第二处理子单元,还用于根据第二训练配置参数包括的第二CAN标识,从待检测CAN数据中提取与第二CAN标识对应的第二CAN数据帧;分别计算第二CAN数据帧中相邻两个数据帧之间的帧间隔,得到第二帧间隔序列;对第二帧间隔序列进行数据转换,得到帧间隔检测模型所能识别的第二待处理帧数据;
第二检测子单元,用于通过帧间隔检测模型对帧间隔序列和所述第二待处理帧数据进行帧间隔异常检测处理,得到帧间隔异常检测结果。
8.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至6中任一项所述的CAN总线异常检测方法。
9.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至6任一项所述的CAN总线异常检测方法。
CN202010775327.1A 2020-08-04 2020-08-04 一种can总线异常检测方法及装置 Active CN111880983B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010775327.1A CN111880983B (zh) 2020-08-04 2020-08-04 一种can总线异常检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010775327.1A CN111880983B (zh) 2020-08-04 2020-08-04 一种can总线异常检测方法及装置

Publications (2)

Publication Number Publication Date
CN111880983A CN111880983A (zh) 2020-11-03
CN111880983B true CN111880983B (zh) 2021-12-14

Family

ID=73210595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010775327.1A Active CN111880983B (zh) 2020-08-04 2020-08-04 一种can总线异常检测方法及装置

Country Status (1)

Country Link
CN (1) CN111880983B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112436989B (zh) * 2020-11-11 2021-12-14 北京天融信网络安全技术有限公司 一种can数据帧的信号识别方法及装置
CN112491920A (zh) * 2020-12-07 2021-03-12 北京天融信网络安全技术有限公司 一种车载can总线的异常检测方法及装置
CN114884849B (zh) * 2022-04-01 2023-10-13 开源网安物联网技术(武汉)有限公司 基于Adaboost的CAN总线异常检测方法及系统
CN115499159B (zh) * 2022-08-09 2024-05-07 重庆长安汽车股份有限公司 Can信号异常检测方法、装置、车辆及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965001A (zh) * 2018-07-12 2018-12-07 北京航空航天大学 一种车辆报文数据模型的评估方法及装置
CN109688030A (zh) * 2019-02-26 2019-04-26 百度在线网络技术(北京)有限公司 报文检测方法、装置、设备和存储介质
KR20190061538A (ko) * 2017-11-28 2019-06-05 영남대학교 산학협력단 멀티 인식모델의 결합에 의한 행동패턴 인식방법 및 장치
CN110040107A (zh) * 2019-03-18 2019-07-23 百度在线网络技术(北京)有限公司 车辆入侵检测及预测模型训练方法、装置及存储介质
CN110059716A (zh) * 2019-03-12 2019-07-26 西北大学 一种cnn-lstm-svm网络模型的构建及mooc辍学预测方法
CN110275508A (zh) * 2019-05-08 2019-09-24 西安电子科技大学 车载can总线网络异常检测方法及系统
CN110377465A (zh) * 2019-06-26 2019-10-25 江苏大学 一种车载can总线的异常检测方法
CN111371777A (zh) * 2020-02-28 2020-07-03 北京天融信网络安全技术有限公司 一种车辆网络的攻击检测方法、装置、检测器及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3097665B2 (ja) * 1998-06-19 2000-10-10 日本電気株式会社 異常検出機能を備えたタイムラプスレコーダ
JP4742370B2 (ja) * 2007-02-01 2011-08-10 独立行政法人産業技術総合研究所 異常検出装置および異常検出方法
US8879577B2 (en) * 2010-02-18 2014-11-04 Hitachi, Ltd. Monitoring system, device, and method
CN106559286A (zh) * 2016-11-15 2017-04-05 中国电子科技集团公司第四十研究所 一种基于can总线的误码测试方法及系统
CN113392025B (zh) * 2018-03-14 2024-01-26 上海微小卫星工程中心 对可重构fpga软件进行过程监控的方法
CN111459052B (zh) * 2020-04-26 2023-09-19 上海地铁电子科技有限公司 多功能车辆总线仿真检测系统和方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061538A (ko) * 2017-11-28 2019-06-05 영남대학교 산학협력단 멀티 인식모델의 결합에 의한 행동패턴 인식방법 및 장치
CN108965001A (zh) * 2018-07-12 2018-12-07 北京航空航天大学 一种车辆报文数据模型的评估方法及装置
CN109688030A (zh) * 2019-02-26 2019-04-26 百度在线网络技术(北京)有限公司 报文检测方法、装置、设备和存储介质
CN110059716A (zh) * 2019-03-12 2019-07-26 西北大学 一种cnn-lstm-svm网络模型的构建及mooc辍学预测方法
CN110040107A (zh) * 2019-03-18 2019-07-23 百度在线网络技术(北京)有限公司 车辆入侵检测及预测模型训练方法、装置及存储介质
CN110275508A (zh) * 2019-05-08 2019-09-24 西安电子科技大学 车载can总线网络异常检测方法及系统
CN110377465A (zh) * 2019-06-26 2019-10-25 江苏大学 一种车载can总线的异常检测方法
CN111371777A (zh) * 2020-02-28 2020-07-03 北京天融信网络安全技术有限公司 一种车辆网络的攻击检测方法、装置、检测器及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LSCP: Locally Selective Combination in Parallel Outlier Ensembles;Yue Zhao 等;《https://arxiv.org/pdf/1812.01528v1.pdf》;20181204;第1页 *
基于单分类支持向量机的CAN总线异常检测方法;盛铭 等;《汽车技术》;20200524(第5期);第22-25页 *

Also Published As

Publication number Publication date
CN111880983A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111880983B (zh) 一种can总线异常检测方法及装置
US11675641B2 (en) Failure prediction
CN109688030B (zh) 报文检测方法、装置、设备和存储介质
CN112528801B (zh) 一种异常事件检测方法、模型训练方法和装置
CN112800061B (zh) 一种数据存储方法、装置、服务器及存储介质
CN112491920A (zh) 一种车载can总线的异常检测方法及装置
CN111901627A (zh) 视频处理方法、装置、存储介质及电子设备
TW202213289A (zh) 行駛監控方法及系統
CN111866017B (zh) 一种can总线帧间隔异常的检测方法及装置
JP6939907B2 (ja) 検知装置、その方法、及びプログラム
CN112994960A (zh) 业务数据异常检测方法、装置及计算设备
EP3093770A2 (en) System and method for the creation and detection of process fingerprints for monitoring in a process plant
CN110163032B (zh) 一种人脸检测方法及装置
CN113111692B (zh) 目标检测方法、装置、计算机可读存储介质及电子设备
CN111261149A (zh) 语音信息识别方法和装置
CN115278757A (zh) 一种检测异常数据的方法、装置及电子设备
CN115037790A (zh) 异常注册识别方法、装置、设备及存储介质
EP3910525A1 (en) Method, computer program and apparatus for detecting a semantic change of a word between domains
CN110782114B (zh) 驾驶行为挖掘方法、装置、电子设备及存储介质
CN114124834A (zh) 一种工业控制网络内icmp隐蔽隧道检测的集成学习装置及方法
CN113923014A (zh) 一种基于k近邻法的车载总线网络异常检测方法
CN113535458A (zh) 异常误报的处理方法及装置、存储介质、终端
CN114265757A (zh) 一种设备异常检测方法、装置、存储介质及设备
CN111883226A (zh) 一种信息处理和模型训练方法、装置、设备及存储介质
CN111966721B (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