本发明涉及网络安全,尤其涉及一种基于边缘计算的车联网泛洪流量检测方法。
背景技术:
1、车联网(internet of vehicles,iov)通过将车辆与车辆、车辆与行人、车辆与基础设施、车辆与其他网络相连,构建了一个信息共享的网络平台,为用户提供安全舒适、智能高效的驾驶体验,同时提升交通管理的智能化水平。因此,作为新一代网络通信技术与汽车、电子、交通运输等领域深度融合的新兴产业,车联网日益受到国家和社会的高度重视。车联网通常由路侧单元(road side unit,rsu)和车载单元(on board unit,obu)组成。路侧单元rsu和车载单元obu分别架设在路边和车辆,利用无线通信技术进行数据交换。
2、但车辆数字化、网络化及智能化的同时,也隐藏着巨大的网络安全隐患,吸引了众多攻击者的注意。根据世界新能源汽车大会发布的数据,2022年上半年针对车联网平台的网络恶意行为已超过100万次,汽车信息安全问题日益严重。车联网面临多维度的安全挑战。由于“车辆-边缘计算-云计算”通信在车联网应用中发挥重要作用,攻击者通常利用身份认证或数据传输协议缺陷发起攻击,产生通信劫持、数据监听篡改、流量阻塞等安全风险。在上述车联网安全威胁中,以泛洪流量为代表的拒绝服务(deny of service,dos)攻击会阻断通信,严重影响车辆正常业务(如交通安全信息预警、车况实时信息发布等)使用,从而给行车安全带来巨大隐患。
3、泛洪攻击是指攻击者向攻击目标不间断地发送大量虚假信息,使目标设备忙于处理大量冗余数据而无法正常提供网络服务。泛洪在传统网络中会过度占用接收端计算机的处理资源,降低合法进程的处理速度。在车联网环境中,大量的泛洪流量会使路侧单元和车载单元过载,导致网络性能大幅下降,从而影响整个车联网的网络服务。由此可见,针对车联网泛洪攻击的检测具有重要研究价值。
4、文献《ddos攻击检测和控制方法》(软件学报,2012年),提出一种基于不同类型数据包收发比例的检测方法。在无泛洪攻击情况下,一台主机的发送流量与接收流量成一定的比例。与正常流量不同,泛洪车辆会向靶机发送大量数据包,而靶机不会或不能对攻击者发出响应流量,因此靶机响应的数据包较少。据此,上述文献对靶机的收发流量进行对比,判断是否被恶意流量攻击。文献《动态主机配置协议泛洪攻击在软件定义网络中的实时防御》(计算机应用,2019年)基于dchp(dynamic host configuration protocol)流量速度和ip地址池两个参数,根据时间周期建立动态峰值评估模型,以此检测泛洪攻击。该方法能够有效分析异常流量,但建立动态模型的时间开销较大,因此不适合时延敏感网络。文献《面向车联网泛洪攻击的流量异常检测方法》(南京理工大学学报,2020年)利用路测单元rsu捕获并检测可疑流量,提出hurst自相似度检测方法。检测时,首先rsu将接收到的流量划分成小片段;其次通过自相似度检验计算,获得多个hurst值;最后通过分析hurst值随时间的变化特征,检测潜在的泛洪车辆。
5、与传统网络相比,车联网环境具有高速移动、频繁建立和释放连接及拓扑结构时变等特点。为了应对复杂多变的车联网环境,现有的泛洪攻击检测需要进行改进。上述车联网泛洪攻击检测方法中,考虑实现难度、检测准度及检测时间开销,文献《面向车联网泛洪攻击的流量异常检测方法》(南京理工大学学报,2020年)基于rsu的hurst自相似度检测是较优的,但也存在流量检测完全依赖rsu的缺点。首先,由于通信覆盖范围受限及部署成本高,rsu难以实现高速公路信号全覆盖,道路存在信号盲区。其次,车辆高速行驶导致obu与rsu通信时间较短。上述两方面的问题均会造成检测时间不足,捕获的泛洪流量偏少并且碎片化。在高速车联网场景中,该方法计算获得的hurst值较少,进而导致hurst曲线失真,使得hurst自相似度检测法准确性下降。
技术实现思路
1、针对由于车辆高速移动,针对rsu检测时间不足导致的检测失准的技术问题,本发明提出一种车载边缘计算和流量检测相结合的泛洪流量检测方法(vehicular edgecomputing-traffic anomaly detection,vec-tad)。根据异常车辆所处的位置,分两个阶段检测车联网泛洪流量。
2、第一阶段,当异常车辆(发动泛洪攻击的车辆)在rsu信号覆盖范围内,rsu执行hurst自相似度检测算法对异常车辆进行检测。当异常车辆即将离开rsu信号覆盖范围,rsu启用选车策略,根据两车距离和连接时长,计算选车质量系数并选择该系数较高的伴随车辆继续执行hurst自相似度检测算法,持续检测异常车辆,延长检测时间。
3、第二阶段,异常车辆处于rsu信号盲区,当异常车辆即将离开检测节点信号覆盖范围,当前检测节点启用选车策略,从异常车辆附近的伴随车辆中,筛选出合适的新检测节点,继续延长检测时间。上述两个阶段的选车策略是对基站rsu检测时长不足的弥补,通过延长检测时间,有利于准确检测高速车辆可能的泛洪攻击。本方案对hurst值的计算贯穿于第一和第二阶段,可以更加准确地反映恶意流量自相似度随检测时间的变化。
4、本发明是通过如下措施实现的:一种基于边缘计算的车联网泛洪流量检测方法,包括以下步骤:
5、s1:检测节点的选择,当异常车辆(发动泛洪攻击的车辆)在路侧单元rsu信号覆盖范围内,rsu被选中为检测节点,并对异常车辆进行流量检测。当异常车辆即将离开rsu覆盖范围,rsu启用选车策略,计算异常车辆周边的伴随车辆的选车质量系数,从异常车辆附近的伴随车辆中,筛选出合适的检测节点;
6、s2:异常流量的检测,利用检测节点对异常车辆所发出的流量进行hurst自相似度计算,检查异常车辆所发送的流量是否为泛洪流量。如果hurst自相似度值在时间序列上形成的检测曲线震荡剧烈,则说明异常车辆发出的流量存在特征差异,可判断为正常流量,如果检测曲线平稳,则说明异常车辆发出的流量不存在特征差异,可判断为泛洪流量;
7、s3:边缘选车策略启用,在rsu信号盲区中,异常车辆即将离开检测车辆的信号覆盖范围,为保证继续有效检测,检测车辆启用边缘选车策略,,计算异常车辆周边的伴随车辆的选车质量系数,以此获得最优的替换检测节点,延长对异常车辆的有效检测时长。
8、s1中检测节点的选择,包括以下步骤:
9、s11、仿真场景为直行双车道,道路中有n辆行驶车辆,1个路侧单元rsu,可得车辆集合car={car0,car1,..,carn-1},其中car0为异常车辆,车辆obu(on board unit)和路侧单元rsu的覆盖半径分别为rb0与rs0。rsu的空间坐标为(xs0,yso,zs0)。经过单位时间t0,车辆cari,i∈{0,1,…,n-1}的空间坐标从(xbi,ybi,zbi)移动到(xi,yi,zi)。
10、s12、如图1,异常车辆进入基站覆盖范围后,rsu成为检测节点,计算求得异常车辆相对rsu的空间矢量xs0和异常车辆在t0内的位移矢量x0。通过空间矢量xs0和位移矢量x0,可判断异常车辆是驶向基站还是驶离基站。如果驶离基站,则利用空间矢量xs0求得基站和异常车辆间的距离,以此判断是否更换检测节点。
11、s13、当决定更换检测节点,rsu启用选车策略,从异常车辆附近的伴随车辆中,根据选车质量系数ωi,i∈{1,…,n-1},筛选出选车质量系数最大的车辆作为检测节点。
12、s12中矢量计算和检测节点更换判断,包括以下步骤:
13、(1)空间矢量计算
14、rsu根据其坐标(xs0,ys0,zs0)和异常车辆obu的空间坐标(x0,y0,z0),得异常车辆的相对rsu的空间矢量xs0为
15、xs0=(x0-xs0,y0-ys0,z0-zs0) (1)
16、(2)位移矢量计算
17、异常车辆obu经过单位时间t0从(xb0,yb0,zb0)移动到(x0,y0,z0),据此rsu计算异常车辆在单位时间内的位移矢量x0为
18、x0=(x0-xb0,y0-yb0,z0-zb0) (2)
19、根据空间几何,若空间矢量xs0与位移矢量x0的点乘小于零,说明异常车辆正驶向基站。若空间矢量xs0与位移矢量x0的点乘大于或等于零,说明异常车辆正驶离基站。
20、(3)距离计算
21、异常车辆正驶离基站时,rsu计算其与异常车辆obu的距离d0。如果d0∈(rs0-rb0,rs0),则说明异常车辆即将离开rsu覆盖范围。此时rsu判断需要通过选车策略选出合适的伴随车辆作为检测节点。利用rsu坐标(xs0,ys0,zs0)和异常车辆obu坐标(x0,y0,z0),计算rsu与异常车辆obu间的距离d0
22、
23、s13中计算选车质量系数,包括以下步骤:
24、选车质量系数ωi反映了异常车辆与伴随车辆间通信链路的稳定性,受伴随车辆与异常车辆之间的距离与两车连接时长两个因素影响。
25、车辆距离因素
26、一方面,选车质量系数ωi与两车之间距离有关。两车距离越近,伴随车辆接收到的信号强度越高。根据异常车辆car0的空间位置(x0,y0,z0)和伴随车辆cari的空间位置(xi,yi,zi),i∈{1,…,n-1},,计算两车之间的距离为
27、
28、若伴随车辆与异常车辆的车距δd大于车辆信号覆盖半径rb0,表明两车无法通信,则该伴随车辆无法作为检测车辆。若伴随车辆与异常车辆的车距δd小于或等于车辆信号覆盖半径rb0,表明两车可以通信,则该伴随车辆可以作为检测车辆。本发明以距离系数ξi表示车辆cari与异常车辆之间距离的度量,归一化处理数据以消除量纲影响,两车的距离系数ξi为
29、
30、可见,距离系数ξi越接近1,表明伴随车辆cari与异常车辆car0之间的距离越近。
31、连接时长因素
32、另一方面,选车质量系数ωi还与两车的预测连接时长有关。两车的预测连接时间越长,伴随车辆cari离开异常车辆car0信号覆盖半径rb0的可能性越小。经过单位时间t0,伴随车辆cari从(xbi,ybi,zbi)移动至(xi,yi,zi)。伴随车辆cari的位移矢量xi为
33、xi=(xi-xbi,yi-ybi,zi-zbi) (6)
34、根据单位时间t0和公式(6),伴随车辆cari的平均速度矢量vi为
35、
36、同理,可计算获得异常车辆car0的位移矢量x0与平均速度矢量
37、在伴随车辆与异常车辆相对运动过程中,利用三维向量平行公式,本发明判断两车是否出现拐弯、超车和对向行驶三种情况。
38、对于t0内的伴随车辆与异常车辆,分别根据公式(6)求出的位移矢量,带入下式
39、xi·x0=|xi|·|x0| (8)
40、其中∣∣表示取变量的模,点号为点乘。
41、如果伴随车辆与异常车辆满足公式(8),则可判定两车同向行驶。反之,则说明相对异常车辆,伴随车辆出现拐弯、超车或对向行驶等情况,此时该伴随车辆不会被选为检测节点。
42、设t为伴随车辆在异常车辆覆盖半径rb0内通信时间的预测值。使用公式(6)与(7)分别求出两车的位移矢量和平均速度矢量,计算可得出t
43、
44、本发明以预测连接时长系数τi表示伴随车辆cari与异常车辆car0之间预测连接时间的度量。由于车联网频繁建立和释放通信链路的特点,预测连接时间不宜过大,故设预测连接时间的阈值为tm。根据阈值tm与时间预测值t,预测连接时长系数τi为
45、
46、选车质量系数ωi
47、将距离系数ξi和预测连接时长系数τi进行加权求和,获得该伴随车辆的选车质量系数ωi
48、ωi=δ*ξi+(1-δ)τi,δ∈[0,1] (11)
49、其中,δ为加权系数,由车辆实际行驶环境决定。
50、s2中异常流量的检测,包括以下步骤:
51、s21、如图2,检测节点以时间单位t0为周期,接收异常车辆发送的流量。对周期内接收到的流量集合进行分组划分,g为流量集合的组数,以组数g将流量集合分割为互不重叠的g个子集,各组的组长度为r=n/g。分割后的子集列为{pi1,pi2,pik…,pir},i∈{1,2,3,…,g},其中元素pik表示第i组第k个流量包的大小(k为小于或等于r的正整数)。
52、s22、计算各周期内的hurst值,并以时间为横轴,hurst值为纵轴,形成时间序列上的hurst曲线。
53、s23、如果hurst自相似度值在时间序列上形成的检测曲线震荡剧烈,则说明异常车辆发出的流量存在特征差异,可判断为正常流量,如果检测曲线平稳,则说明异常车辆发出的流量不存在特征差异,可判断为泛洪流量。
54、s2中计算hurst值,包括以下步骤:
55、第一步,已知子集中各流量包大小pij,计算分组后各子集流量包大小的均值
56、
57、第二步,计算子集中各流量包的离差qij
58、
59、第三步,根据流量包离差qij,计算子集中各流量包的累计离差oij
60、
61、第四步,利用各子集中累计离差的最大值和最小值,计算子集累计离差的极差ri
62、ri=max(oij)-min(oij),i∈{1,2,3,…,g},j∈{1,2,3,…,r} (15)
63、第五步,利用各子集流量包均值和流量包大小pij,计算每个子集的标准差si
64、
65、第六步,根据求出的极差ri和标准差si,计算各子集的重标极差rsi
66、
67、第七步,根据重标极差rsi,计算平均重标极差avarage(r/s)g
68、
69、第八步,以组数g划分流量包集合,获得与g对应的组长r和平均重标极差average(r/s)g。本发明以组数g(取1,2,4,8)划分流量包集合,求得四组对应的(r,average(r/s)g)。
70、经过理论分析和实验研究,当流量集合前后变化无关且方差有限时,可以从hurst理论导出如下关系式,其中c为常数,h为hurst值。
71、
72、对公式(19)等号的两侧取自然对数,可得
73、
74、第九步,利用公式(20)和四组(r,average(r/s)g)线性拟合得出斜率h,此h即为本周期的hurst值。
75、s3中边缘选车策略启用,包括以下步骤:
76、s31、异常车辆离开rsu覆盖范围后,筛选出拥有最优选车质量系数的伴随车辆cara,a∈{1,…,n-1},作为检测节点接替检测。设置变量ma和累计连接次数na,分别表示该检测节点cara对异常车辆累计的检测时长和连接次数,ma与na初始值设为0。设置选车质量系数的期望值为ωmin。
77、s32、车辆cara被选作检测节点时,累计连接时长ma加t0,累计连接次数na加1。
78、s33、检测节点以t0为周期,更新检测节点cara的选车质量系数ωa。
79、s34、若更新后的选车质量系数ωa大于ωmin,则继续选用cara作为检测节点,累计连接时长ma加t0,累计连接次数na加1。若更新后的选车质量系数ωa小于或等于ωmin,则继续执行边缘选车策略,计算异常车辆obu覆盖范围内伴随车辆的选车质量系数,筛选新的检测节点接替检测。当异常车辆停止发送流量或者异常车辆进入下一个rsu信号覆盖范围,则停止边缘选车策略。
80、综上所述,本发明提出车载边缘计算和流量检测相结合的泛洪流量检测方案(vec-tad)。
81、与现有技术相比,本发明的有益效果为:
82、1、由于车辆的高速移动性,固定的基站rsu难以持续检测异常车辆发送的泛洪流量。本发明分别利用rsu与周边车辆检测车联网泛洪流量。当异常车辆处于基站rsu信号覆盖范围内,rsu负责对其进行流量检测。当异常车辆即将离开rsu覆盖范围,rsu启用选车策略,考虑了车辆距离和通信时间两个因素,通过定义与实时计算异常车辆和周边车辆间的选车质量系数,从异常车辆附近的伴随车辆中,筛选出合适的检测节点。
83、2、当异常车辆处于基站rsu信号覆盖范围外,随着异常车辆的行驶,当前检测车辆继续执行选车策略,选择合适的周边车辆作为检测节点。相较已有算法(纯基站rsu检测和基站rsu加随机选车检测),本发明利用rsu与优选的移动车辆联合检测,扩展了rsu的检测盲区,优选周边车辆持续检测异常车辆,明显延长了检测时间,因此可获取更多的流量数据,显著提高了泛洪流量检测的准确性。
1.一种基于边缘计算的车联网泛洪流量检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于边缘计算的车联网泛洪流量检测方法,其特征在于,所述步骤s1中检测节点的选择,包括以下步骤:
3.根据权利要求1所述的一种基于边缘计算的车联网泛洪流量检测方法,其特征在于,步骤s12中矢量计算和检测节点更换判断,包括以下步骤:
4.根据权利要求1所述的一种基于边缘计算的车联网泛洪流量检测方法,其特征在于,步骤s13中计算选车质量系数,包括以下步骤:
5.根据权利要求1所述的一种基于边缘计算的车联网泛洪流量检测方法,其特征在于,步骤s2中异常流量的检测,包括以下步骤:
6.根据权利要求1所述的一种基于边缘计算的车联网泛洪流量检测方法,其特征在于,步骤s3中边缘选车策略启用,包括以下步骤:
