自动驾驶环境下的网络安全预警系统设计

2022-05-27 06:56姜明宇张翠平金子潇
智能计算机与应用 2022年5期
关键词:预警系统图表预警

姜明宇,张翠平,金子潇

(北京信息科技大学 计算机学院,北京 100101)

0 引 言

随着交通智能化、自动化的快速发展,自动驾驶已经是未来交通系统的重要组成部分,其在减少尾气排放、交通拥堵与交通事故方面有巨大潜力。而有关自动驾驶安全性研究一直是学术界和工业界共同关注的热点课题。实际上,交通安全与人民的生产生活密切相关。但是,作为一项复杂工程,自动驾驶技术严重依赖于移动互联网,这就使其也有可能成为网络攻击的一个对象。因此,研究自动驾驶环境下的网络安全预警系统具有重要的实际意义。

当前,针对自动驾驶环境下的安全风险方面已经有一些研究。吕颖等人针对自动驾驶车辆项目开发特点,提出一种结合通用软件开发过程标准与敏捷开发过程的面向汽车自动驾驶软件安全开发的流程,并应用在实际自主软件开发项目中。代珊珊等人提出了一种基于动作约束的软行动者-评论家算法对环境奖赏进行了合理限制,使无人车尽量避免陷入危险状态。结果表明,引入安全机制的CSAC方法可以有效避开不安全动作,提高自动驾驶过程中的稳定性。陈吉清等人基于国家车辆事故深度调查体系中的事故数据,根据交通环境要素和测试车辆基础信息选取了若干场景要素,通过聚类分析方法对车辆交通事故数据进行了分析,提出并分析了危险事故特征。但是,这些内容都是针对自动驾驶车辆在常规行驶过程中遇到的安全风险展开研究。实际上,黑客攻击一直都是网联环境安全的重要风险因素。对于自动驾驶环境下黑客攻击的交通流演化特性,研究者们从数值模拟和解析分析的角度进行了研究,但是却并未根据这些特性进行系统设计与开发。基于此,本文则是在自动驾驶环境下针对黑客攻击来进行安全预警研究,并进一步就系统设计与开发给出了有效解决方案。以期从实际应用的角度为国内无人驾驶安全风险研究提供有益参考。

1 车辆跟驰模型

在Li等人的研究中,使用了PATH模型。为使得论文具有更好的完整性和可读性,简要介绍PATH模型如下:

其中,e表示目标车辆间隙误差;e′表示间隙误差导数;x表示前面1车的位置;x表示目标车辆位置;L表示1车的长度;t表示当前设置的时间间隔;v表示目标车辆的速度;v表示前一次迭代中目标车辆的速度;kk为模型系数,在研究中分别为0.45,0.25;表示迭代时间步长。

该模型有物理学理论依据,有一定的参考价值。但是,在实际情况中,可能还有其他因素会对数据造成影响。

2 风险识别

指标RCRI(Rear-end collision risk indexes)建立了纵向安全与车辆动态行驶轨迹数据间的关系。在Ye等人的研究中,使用了基于安全停止距离的指标,此处需用到的数学公式如下:

其中,SSD表示前车停车距离;表示前车与后车间隙距离;v表示前车速度;d表示减速率;SSD表示后车停车距离;v表示后车速度;t表示延时。

基于此,在生成IDM模型的模拟数据中,可根据车辆类型标记,带入不同的延时参数,计算各个迭代周期内的,即各个迭代周期内的碰撞风险指数。

3 安全预警

本文的研究目标就是采用基于的预警。与传统的基于阈值的预警方式不同,基于的预警可能对针对位置数据的攻击以及攻击程度较轻、但受攻击车辆较多的情况有更可靠的表现。

根据Li等人的研究结论可知,较低严重程度的攻击可能对大多数车辆造成影响,从而导致单一某一辆车的风险比例下降,因此,针对位置数据的攻击可能比针对速度数据的攻击影响更大。另外,在更多的车辆受到低严重程度的攻击时,情况可能比更少的车辆受到较高严重程度的攻击时更加严重。这就意味着黑客可能对多辆智能网联汽车发起低严重程度的攻击,其严重程度依然不小。但在这种情况下,传统的基于阈值的预警系统可能无法触发预警,因为攻击的严重程度并未达到阈值。而基于的预警系统就可以有效应对这种情况发出预警。

4 UI设计与实现

本系统开发基于Qt开发框架、OpenGL图形库与QChart图表组件。

Qt是一个跨平台的C++图形用户界面应用程序开发框架。PyQt是Qt的Python绑定。使用PyQt5,可以在Qt Designer中通过拖动快捷的以面向对象的方式构建UI,再使用PyQt5提供的工具编译为Python代码,即可通过Python进行调用。

OpenGL是一个用于渲染2D、3D图形的开放图形库,利用图形加速硬件得以高效实现,支持多种平台,传入模型数据,使用GLSL语言编写着色器程序,即可渲染2D/3D图形(参见图1)。PyOpenGL是对应的Python绑定,支持通过Python调用接口函数来高效渲染图形。

图1 OpenGL渲染3D图像示例Fig.1 An example of rendering 3D images by OpenGL

QChart是一个易用的图表组件,可通过简单的接口调用,就能快速实现如折线图、柱状图、雷达图、饼图等图表。

UI示例如图2所示。在图2的预警系统UI中,左边部分使用PyOpenGL实时多线程渲染每一个模型,可视化显示周围行车信息。在模型渲染区域上方,叠加QPainter渲染层,显示当前车辆的速度、转向指示等基本信息。

图2 UI示例Fig.2 The example of UI

UI右边部分为数据可视化区域,包含着网络状况、车流密度、速度、跟车间隙等关乎安全的信息,在数据图中间,放大的数据图显示最终计算的,这是主要的预警基础,下面亦会提及。除此之外,数据图表还支持基本的交互,如互换位置实现不同数据的放大显示、某一个数据图表的单独放大显示。

在UI设计中,最基本的实现预警的方法就是视觉预警。在数据图表部分,通过简单的颜色变换,实现了基本的视觉预警,以满足研究阶段验证系统可行性的需求。在实际应用中,还可以根据硬件条件,结合其他领域的方法,实现声音预警、触觉预警等。

5 结束语

在本次的研究中,设计了一个自动驾驶环境下的网络安全预警系统,并实现了基本的视觉预警以测试系统基本可行性。但实际应用中,仅研发出视觉预警还远远不够,预警方式也并非本次研究的重点,论文在研究中主要是进行了跟驰模型的建立、以及从识别风险到发出预警的技术实现。将来,还要结合人机交互学、生物学、生理学等方面的经验对预警方式进行研究。

猜你喜欢
预警系统图表预警
烽火台:军事预警体系的关键
超级秀场 大风预警
学校肺结核流行趋势控制及预警系统监测分析
俄太空预警系统探测到64枚导弹发射
双周图表
双周图表
交通流量增长下的空管安全预警系统研究
双周图表
图表
卷烟工业企业产品质量预警机制的建立