本技术涉及设备指纹的身份认证,特别涉及一种基于控制器局域网总线的网络安全防护方法及装置。
背景技术:
1、在标准车载通信网络领域中,控制器局域网络(controller area network
2、,can)在汽车和其他工业环境中已使用30多年,通常用于对功能安全至关重要的系统连接。can总线作为一种设计良好的车载通信总线连接着车内各式各样的电子控制单元(electronic control unit,ecu),但can总线是未经身份验证和未加密的广播总线,任何人都可以读取和发送任何消息。因此,一旦获得访问权限,攻击者就可以侦听总线上的所有流量,并发送自己选择的can id和有效负载的帧,从而对can网络的成功攻击会带来明显的安全风险,甚至危及车内人员的生命。目前已有攻击者通过受损的ecu可以在车载网络中注入数据包来控制车辆,并能够远程阻止一辆在高速公路上行驶的汽车,车辆攻击的这种现实使汽车安全成为关键的问题之一。
3、现有技术中针对此类车载网络的攻击的方案,仍存在实时通信差或者既无法检测也无法阻止的严重攻击的缺点。因此,目前亟需寻找一种能够可靠的实现对控制器局域网总线上控制网络安全进行防护的方案。
技术实现思路
1、为了解决现有技术的问题,本技术实施例提供了一种基于控制器局域网总线的网络安全防护方法、装置、电子设备及存储介质。所述技术方案如下:
2、一方面,提供了一种基于控制器局域网总线的网络安全防护方法,所述方法包括:
3、获取控制器局域网总线上的报文信号;
4、提取报文信号中的控制段信号;控制段信号包括保留位信号、速率切换位信号、错误状态指示位信号和数据长度位信号;
5、对控制段信号对应的差分电压值进行分段处理,生成发送报文信号的设备的设备指纹;
6、基于发送报文信号的设备的设备指纹和对应的预设设备指纹确定第一指纹相似度;第一指纹相似度表征发送报文信号的设备的设备指纹与对应的预设设备指纹的相似程度;
7、若第一指纹相似度大于第一预设阈值,则发送无效报文信号的防护信号。
8、在一个示例性的实施方式中,对控制段信号对应的差分电压值进行分段处理,生成发送报文信号的设备的设备指纹,包括:
9、获取报文信号的采样率、报文信号中仲裁段数据符号的传输速率以及报文信号中数据段符号的传输速率;
10、基于报文信号的采样率、报文信号中仲裁段数据符号的传输速率以及报文信号中数据段符号的传输速率确定目标间隔采样点数;
11、基于目标间隔采样点数,对报文信号进行分段处理,得到多个采样点数据集;多个采样点数据集中每个采样点数据集包括多个采样点的差分电压值;每个采样点数据集中采样点的数量等于目标间隔采样点数;
12、针对每个采样点数据集,基于采样点数据集中各采样点的差分电压值确定采样点数据集的指纹;
13、基于各采样点数据集的指纹确定发送报文信号的设备的设备指纹。
14、在一个示例性的实施方式中,基于报文信号的采样率、报文信号中仲裁段数据符号的传输速率以及报文信号中数据段符号的传输速率确定目标间隔采样点数,包括:
15、基于报文信号的采样率和报文信号中仲裁段数据符号的传输速率确定第一间隔采样点数;
16、基于报文信号的采样率和报文信号中数据段符号的传输速率确定第二间隔采样点数;
17、将第一间隔采样点数和第二间隔采样点数中数值最小的间隔采样点数作为目标间隔采样点数。
18、在一个示例性的实施方式中,基于采样点数据集中各采样点的差分电压值确定采样点数据集的指纹,包括:
19、对采样点数据集中各采样点的差分电压值进行累加处理,生成采样点数据集的指纹。
20、在一个示例性的实施方式中,基于发送报文信号的设备的设备指纹和对应的预设设备指纹确定第一指纹相似度,包括:
21、基于发送报文信号的设备的设备指纹、预设设备指纹均值和预设设备指纹协方差确定发送报文信号的设备的设备指纹与预设设备指纹的马氏距离;
22、将设备指纹与预设设备指纹的马氏距离确定为第一指纹相似度。
23、在一个示例性的实施方式中,基于发送报文信号的设备的设备指纹、预设设备指纹均值和预设设备指纹协方差确定发送报文信号的设备的设备指纹与预设设备指纹的马氏距离之前,该方法还包括:
24、对报文信号依次进行解析和标识段提取操作,得到标识段的比特数组;
25、对标识段的比特数组进行解码处理,生成报文信号的标识;
26、基于报文信号的标识,从设备信息存储列表中确定出发送报文信号的设备编号;设备信息存储列表表征报文信号的标识与设备编号之间的对应关系;
27、基于发送报文信号的设备编号,从设备指纹存储列表中确定出发送报文信号的预设设备指纹均值和预设设备指纹协方差;设备指纹存储列表表征设备编号与预设设备指纹均值、预设设备指纹协方差之间的对应关系。
28、在一个示例性的实施方式中,获取控制器局域网总线上的报文信号之前,方法还包括:
29、获取历史时刻采集的目标设备的第一数量的历史报文信号;目标设备为发送报文信号的设备;
30、提取第一数量的历史报文信号中每个历史报文信号中的控制段信号;以及对第一数量的历史报文信号中每个历史报文信号中的控制段信号对应的差分电压值进行分段处理,生成每个历史报文信号的预设设备指纹;
31、从第一数量的历史报文信号中确定出第二数量的历史报文信号;第二数量是基于设备指纹包含的向量的数量确定的,第一数量与第二数量的差值大于或者等于1;
32、基于第二数量的历史报文信号中各历史报文信号的预设设备指纹确定发送报文信号的预设设备指纹均值;以及基于第二数量的历史报文信号中各历史报文信号的预设设备指纹和预设设备指纹均值确定发送报文信号的预设设备指纹协方差;
33、针对剩余数量的历史报文信号中的每个剩余历史报文信号,基于剩余历史报文信号的预设设备指纹、发送报文信号的预设设备指纹均值、发送报文信号的预设设备指纹协方差确定剩余历史报文信号与第二数量的历史报文信号的马氏距离;剩余数量为第一数量与第二数量的差值;
34、基于剩余数量的历史报文信号中各剩余历史报文信号与第二数量的历史报文信号的马氏距离确定第一预设阈值。
35、在一个示例性的实施方式中,基于发送报文信号的设备的设备指纹和对应的预设设备指纹确定第一指纹相似度之后,该方法还包括:
36、若第一指纹相似度小于或者等于第一预设阈值,则获取控制器局域网总线中剩余合法设备的预设设备指纹;剩余合法设备为控制器局域网总线中除发送报文信号的设备的合法设备;
37、基于发送报文信号的设备的设备指纹和剩余合法设备的预设设备指纹确定第二指纹相似度;第二指纹相似度表征发送报文信号的设备的设备指纹与剩余合法设备的预设设备指纹的相似程度;
38、若第二指纹相似度小于第二预设阈值,则发送无效报文信号的防护信号;在第二指纹相似度大于或者等于第二预设阈值的情况下,不发送防护信号。
39、在一个示例性的实施方式中,当剩余合法设备包括至少两个合法设备的情况下;基于发送报文信号的设备的设备指纹和剩余设备的预设设备指纹确定第二指纹相似度;若第二指纹相似度小于第二预设阈值,则发送无效报文信号的防护信号,包括:
40、从剩余合法设备中确定出待处理合法设备;剩余合法设备为未与发送报文信号的设备的设备指纹进行相似度处理的合法设备;
41、基于发送报文信号的设备的设备指纹和待处理合法设备的预设设备指纹确定待处理合法设备的第二指纹相似度;待处理合法设备的第二指纹相似度表征发送报文信号的设备的设备指纹与待处理合法设备的预设设备指纹之间的相似程度;
42、若待处理合法设备的第二指纹相似度大于或者等于第二预设阈值,则重复从剩余合法设备中确定出待处理合法设备;剩余合法设备为未与发送报文信号的设备的设备指纹进行相似度处理的合法设备;基于发送报文信号的设备的设备指纹和待处理合法设备的预设设备指纹确定待处理合法设备的第二指纹相似度的步骤,直至待处理合法设备的第二指纹相似度小于第二预设阈值,或者剩余合法设备中不存在未与发送报文信号的设备的设备指纹进行相似度处理的合法设备;
43、当待处理合法设备的第二指纹相似度小于第二预设阈值的情况下,发送无效报文信号的防护信号;
44、当剩余合法设备中不存在未与发送报文信号的设备的设备指纹进行相似度处理的合法设备的情况下,则不发送防护信号。
45、另一方面,提供了一种网络安全防护装置,装置包括:
46、获取模块,用于获取控制器局域网总线上的报文信号;
47、提取模块,用于提取报文信号中的控制段信号;控制段信号包括保留位信号、速率切换位信号、错误状态指示位信号和数据长度位信号;
48、分段处理模块,用于对控制段信号对应的差分电压值进行分段处理,生成发送报文信号的设备的设备指纹;
49、确定模块,用于基于发送报文信号的设备的设备指纹和对应的预设设备指纹确定第一指纹相似度;第一指纹相似度表征发送报文信号的设备的设备指纹与对应的预设设备指纹的相似程度;
50、判断模块,用于若第一指纹相似度大于第一预设阈值,则发送无效报文信号的防护信号。
51、另一方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现上述任一方面的网络安全防护方法。
52、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如上述任一方面的网络安全防护方法。
53、另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述任一方面的网络安全防护方法。
54、本技术实施例通过对can总线上的报文信号中的控制段信号的处理,得到发送该报文信号的设备的设备指纹,所述控制段信号包括保留位信号、速率切换位信号、错误状态指示位信号和数据长度位信号;由于将报文信号中的控制段信号解析后是固定序列的比特序列,不受报文信号的身份信息(id,identification)变化和位填充的影响,从而后续基于其得到的设备指纹具有较强的稳定性及鲁棒性。与此相比,传统方法中使用报文id段作为目标信号提取指纹,则容易受到不同设备id仲裁的影响,且同一个设备可以发送多个id,从而导致在can总线上传输的id段是由多个设备发送的报文信号叠加的信号,将其作为设备指纹,会导致其指纹稳定性差,鲁棒性低;
55、本技术基于得到的稳定的设备指纹,将其与存储的该设备对应的预设设备指纹进行相似度计算,并将相似度值与预设阈值进行比较,从而判断发送该报文信号的设备是否为非法设备。若该设备为非法设备,则会无效该报文信号,从而实现对can总线上非法设备的有效识别,提高对can总线上网络的可靠防护。