一种基于机器学习算法的车载ECU安全风险评估系统转让专利

申请号 : CN202110156103.7

文献号 : CN113497802B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋涛李秀华李辉明钊范琪琳文俊浩

申请人 : 重庆大学

摘要 :

本发明公开一种基于机器学习算法的车载ECU安全风险评估系统,包括待评估数据获取模块、历史数据获取模块、数据清洗模块、训练数据集与测试数据集生成模块、威胁等级评估模块、影响水平评估模块、风险评估模块和数据库;本发明提出一种应用机器学习算法主动生成模型参数,改进HEAVENS模型,实现车载ECU网络安全风险自动评估,使得车载ECU网络安全风险评估智能化,节约了评估所需要花费的时间成本和人力成本。

权利要求 :

1.一种基于机器学习算法的车载ECU安全风险评估系统,其特征在于:包括待评估数据获取模块、历史数据获取模块、数据清洗模块、训练数据集与测试数据集生成模块、威胁等级评估模块、影响水平评估模块、风险评估模块和数据库;

所述待评估数据获取模块获取待评估车辆的安全评价数据,并发送至威胁等级评估模块、影响水平评估模块;

所述历史数据获取模块获取若干车辆的历史安全评价数据,并发送至数据清洗模块;

所述数据清洗模块去除历史安全评价数据的噪声,并将去噪后的安全评价数据写入安全评价向量集中;所述数据清洗模块将安全评价向量集发送至训练数据集与测试数据集生成模块;安全评价向量集中元素个数记为n;

所述训练数据集与测试数据集生成模块随机生成比例系数β,0<β<1;并根据比例系数β将安全评价向量集划分为训练数据集和测试数据集;其中,训练数据集的元素个数为βn,测试数据集的元素个数为(1‑β)n;

所述训练数据集与测试数据集生成模块将训练数据集、测试数据集发送至威胁等级评估模块和影响水平评估模块;

所述威胁等级评估模块存储有威胁等级评估模型;

所述威胁等级评估模块利用训练数据集对威胁等级评估模型进行训练,并利用测试数据集对训练后的威胁等级评估模型进行测试,得到最优威胁等级评估模型;

所述威胁等级评估模块将去噪后的待评估车辆安全评价数据输入到最优威胁等级评估模型中,得到威胁等级TL,并发送至风险评估模块;

所述威胁等级评估模型包括输入层、隐含层、承接层和输出层;

所述输入层的输入包括Expertise参数分量E={E1,E2,E3,…,En}、Knowledge of TOE参数分量K={K1,K2,K3,…,Kn}、Window of Opportunity参数分量W={W1,W2,W3,…,Wn}、Equipment参数分量T={T1,T2,T3,…,Tn};其中,Expertise参数分量E、Knowledge of TOE参数分量K、Window of Opportunity参数分量W、Equipment参数分量T中元素均为归一化元素,即元素Ei∈[0,1],元素Ki∈[0,1],元素Wi∈[0,1],元素Ti∈[0,1];且元素元素 元素 元素 分别表示

Expertise 参数分量E、Knowledge of TOE参数分量K、Window of Opportunity参数分量W、Equipment参数分量T的伴随矩阵的第i个元素,μE、μK、μw、μT分别是参数分量EKWT的期望;σE、σK、σW、σT分别是参数分量EKWT的方差;Expertise参数分量E、Knowledge of TOE参数分量K、Window of Opportunity参数分量W、Equipment参数分量T的权值分别记为wim1、wim2、wim3、wim4;

隐含层节点M={M1,M2,M3,…,Mm}的数目 其中,n为输入层节点数,l为输出层节点数;a为常数;a∈[1,10];隐含层节点M影响威胁等级TL的权值记为WM→out={wmo1,wmo2,wmo3,…,wmom};

隐含层激活函数为ReLU函数:f(x)=max(0,x);学习速率记为R,目标误差记为θ;

承接层节点表示为CM={CM1,CM2,CM3,…CMm};承接层输出向量Xcm(t)=h(∑Vm(t‑1)Um(t‑

1));h(·)为承接层函数;Vm(t‑1)为承接层到隐含层的连接权值;Um(t‑1)为承接层的输入向量;

所述影响水平评估模块存储有影响水平评估模型;

所述影响水平评估模块利用训练数据集对影响水平评估模型进行训练,并利用测试数据集对训练后的影响水平评估模型进行测试,得到最优影响水平评估模型;

所述影响水平评估模块将去噪后的待评估车辆安全评价数据输入到最优影响水平评估模型中,得到影响水平IL,并发送至风险评估模块;

所述影响水平评估模型包括输入层、隐含层、承接层和输出层;

所述输入层的输入包括Safety参数分量S={S1,S2,S3,…,Sn}、Financial参数分量F={F1,F2,F3,…,Fn}、Operational参数分量O={O1,O2,O3,…,On}、Privacy&Legislation参数分量P={P1,P2,P3,…,Pn};其中,Safety参数分量S、Financial参数分量F、Operational参数分量O、E Privacy&Legislation参数分量P中元素均为归一化元素,即元素Si∈[0,1],元素Fi∈[0,1],元素Oi∈[0,1],元素Pi∈[0,1];且元素 元素 元素元素 分别表示Safety参数分量S、Financial参数分量F、Operational参数分量O、E Privacy&Legislation参数分量P的伴随矩阵的第i个元素,μS、μF、μO、μP分别是参数分量SFOP的期望;σS、σF、σO、σP分别是SFOP的方差;

Safety参数分量S、Financial参数分量F、Operational参数分量O、Privacy&Legislation参数分量P的权值分别记为wig1、wig2、wig3、wig4;

隐含层节点G={G1,G2,G3,…,Gs}的数目 其中,其中r为输入层节点数,j为输出层节点数;b为常数;且b∈[1,10];隐含层节点M影响威胁等级TL的权值记为WG→out={wgo1,wgo2,wgo3,…,wgos};

隐含层激活函数为ReLU:f(x)=max(0,x);学习速率记为R,目标误差记为θ;

承接层节点表示为CG={CG1,CG2,CG3,…CGs};承接层输出向量Xcg(t)=h(∑Vg(t‑1)Ug(t‑

1);h(·)为承接层函数;Vg为承接层到隐含层的连接权值;Ug为承接层的输入向量;

首先初始化IL误差参数εIL=0.1, 设定循环迭代的最大次数为10,第一次迭代的初始值为i=1,每次迭代后i自加1,直到 停止循环,最后得到b=i,进而确定s的值;dIL(k)为期望输出;yIL(k)为影响水平评估模型输出;

所述风险评估模块计算安全风险等级SL=TL+IL;

所述数据库存储待评估数据获取模块、历史数据获取模块、数据清洗模块、训练数据集与测试数据集生成模块、威胁等级评估模块、影响水平评估模块、风险评估模块的数据。

2.根据权利要求1所述的一种基于机器学习算法的车载ECU安全风险评估系统,其特征在于:所述历史风险评估数据包括车载ECU的威胁‑资产对;威胁类型包括仿冒、篡改、否认、信息泄露、拒绝服务、特权提升识别。

3.根据权利要求2所述的一种基于机器学习算法的车载ECU安全风险评估系统,其特征在于:数据清洗模块去除历史安全评价数据的噪声的步骤如下:

1)判断当前历史风险评估数据是否为车载ECU的风险评估数据,若是,则进行步骤2),否则,删除;

2)车载ECU的威胁等级、影响水平之和是否等于风险等级评价指标,若是,则包括车载ECU的数据,否则,删除;

3)删除历史安全评价数据与威胁描述不匹配的数据;所述威胁描述包括安全评价数据所属的威胁类型。

4.根据权利要求1所述的一种基于机器学习算法的车载ECU安全风险评估系统,其特征在于:威胁等级评估模型和影响水平评估模型均为Elman神经网络模型。

5.根据权利要求1所述的一种基于机器学习算法的车载ECU安全风险评估系统,其特征在于,参数a取值的确定方法如下:

1)初始化威胁等级评估模型的误差参数εTL=0.1,设定循环迭代的最大次数为tmax;记迭代次数初始值t=1;

2)令a=t;

3)计算当前威胁等级评估模型的误差 dTL(k)为期望输出;yTL(k)为威胁等级评估模型输出;若误差 或达到最大循环迭代次数,则停止迭代,并输出a,否则,令t=t+1,并返回步骤2)。

6.根据权利要求1所述的一种基于机器学习算法的车载ECU安全风险评估系统,其特征在于,威胁等级评估模型的误差函数如下所示:式中,dTL(k)为期望输出;yTL(k)为威胁等级评估模型输出;ETL为均方误差;

若误差ETL大于预设值θ,则更新威胁等级评估模型的权重,直至ETL≤θ成立。

7.根据权利要求1所述的一种基于机器学习算法的车载ECU安全风险评估系统,其特征在于:影响水平评估模型的误差函数如下所示:式中,dIL(k)为期望输出;yIL(k)为影响水平评估模型输出;EIL为误差;

若误差EIL大于预设值θ,则更新影响水平评估模型的权重,直至EIL≤θ成立。

说明书 :

一种基于机器学习算法的车载ECU安全风险评估系统

技术领域

[0001] 本发明涉及车载网络安全技术领域,具体是一种基于机器学习算法的车载ECU安全风险评估系统。

背景技术

[0002] 在车联网网络通信中,车载ECU通信安全一直是汽车界非常重要的研究方向。ECU通信过程中的风险评估、风险识别、风险预测等应用非常广泛,不仅在快速识别车辆安全风
险等级、优化网络通信、促进OTA升级、保障驾乘人员安全及降低财产损失起着重要作用,而
且为整车信息安全功能规划和开发打下坚实基础。
[0003] 在车载ECU通信过程中,一些车载ECU的运行状态或数据出现相较于长期的运行状态或数据等产生了较大变化,且这种变化超过了一定范围,我们将这种变化称为汽车存在
的风险或威胁。当我们需要准确知道车辆ECU面临的风险等级时,就需要对风险指标进行量
化处理,我们将这种量化处理的过程称为风险评估。
[0004] 风险评估在车辆信息安全中的作用十分关键,目前比较常见的风险评估模型有两种:一种是根据ISO/IEC 15408和ISO/DIS 26262相关标准建立的EVITA威胁严重性分类模
型,该模型使用攻击树分析法来识别通用威胁,从而确定信息安全要求,根据攻击结果的严
重程度和成功攻击的可能性制定威胁风险分类建议。另一种是欧洲提出的一种针对车辆电
子电气系统的信息安全威胁分析和风险评估方法——HEAVENS,HEAVENS被认为是汽车行业
内出色的信息安全风险评价模型,该模型借鉴了BSI相关标准,具有比EVITA更细致的威胁
分析维度和更规范的评估流程,HEAVENS采用微软的STRIDE方法对汽车电子电气系统进行
威胁评估,主要通过威胁分析发现潜在威胁、评估风险、输出安全需求。
[0005] 在现有的车载网络安全风险评估方法中,风险评估方法主要是根据评估经验,结合相关的评估标准和评估流程对车载ECU网络中存在的安全风险进行评估,并给予相应的
风险权重,风险权重越大,代表风险程度越高,再根据重叠加计算整体水平,最后与基本标
准进行对比分析,以此实现安全风险评估。第一种评估模型缺乏规范的评估流程,评估维度
不够全面;第二种评估模型拥有规范的评估流程和评估标准,评价维度远高于第一种模型,
弥补了第一种模型的不足之处,但在进行TARA(威胁分析与评价)时需要非常专业的人员参
与大量的评估和计算,该过程需要耗费较多的时间和人力,且容易出现误判。

发明内容

[0006] 本发明的目的是提供一种基于机器学习算法的车载ECU安全风险评估系统,包括待评估数据获取模块、历史数据获取模块、数据清洗模块、训练数据集与测试数据集生成模
块、威胁等级评估模块、影响水平评估模块、风险评估模块和数据库。
[0007] 所述待评估数据获取模块获取待评估车辆的安全评价数据,并发送至威胁等级评估模块、影响水平评估模块。
[0008] 所述历史数据获取模块获取若干车辆的历史安全评价数据,并发送至数据清洗模块。
[0009] 所述历史风险评估数据包括车载ECU的威胁‑资产对。所述威胁类型包括仿冒、篡改、否认、信息泄露、拒绝服务、特权提升识别。
[0010] 所述数据清洗模块去除历史安全评价数据的噪声,并将去噪后的安全评价数据写入安全评价向量集中。所述数据清洗模块将安全评价向量集发送至训练数据集与测试数据
集生成模块。安全评价向量集中元素个数记为n。
[0011] 数据清洗模块去除历史安全评价数据的噪声的步骤如下:
[0012] 1)判断当前历史风险评估数据是否为车载ECU的风险评估数据,若是,则进行步骤2),否则,删除。
[0013] 2)车载ECU的威胁等级、风险等级之和是否等于风险等级评价指标,若是,则包括车载ECU的数据,否则,删除。
[0014] 3)删除历史安全评价数据与威胁描述不匹配的数据。所述威胁描述包括安全评价数据所属的威胁类型。
[0015] 所述训练数据集与测试数据集生成模块随机生成比例系数β,0<β<1。并根据比例系数β将安全评价向量集划分为训练数据集和测试数据集。其中,训练数据集的元素个数
为βn,测试数据集的元素个数为(1‑β)n。
[0016] 所述训练数据集与测试数据集将训练数据集、测试数据集发送至威胁等级评估模块和影响水平评估模块。
[0017] 所述威胁等级评估模块存储有威胁等级评估模型。
[0018] 威胁等级评估模型和风险等级评估均为Elman神经网络模型。
[0019] 所述威胁等级评估模块利用训练数据集对威胁等级评估模型进行训练,并利用测试数据集对训练后的威胁等级评估模型进行测试,得到最优威胁等级评估模型。
[0020] 所述威胁等级评估模块将去噪后的待评估车辆安全评价数据输入到最优威胁等级评估模型中,得到威胁等级TL,并发送至风险评估模块。
[0021] 所述威胁等级评估模型包括输入层、隐含层、承接层和输出层。
[0022] 所述输入层的输入包括Expertise参数分量E={E1,E2,E3,···,En}、Knowledge of TOE参数分量K={K1,K2,K3,···,Kn}、Window of Opportunity参数分量W={W1,W2,
WE3,···,Wn}、Equipment参数分量T={T1,T2,T3,···,Tn}。其中,Expertise参数分量
E、Knowledge of TOE参数分量K、Window of Opportunity参数分量W、Equipment参数分量T中
元素均为归一化元素,即元素Ei∈[0,1],元素Ki∈[0,1],元素Wi∈[0,1],元素Ti∈[0,1]。且元
素 元素 元素 元素
分别表示Expertise参数分量E、Knowledge of TOE参数分量K、Window of Opportunity参
数分量W、Equipment参数分量T的伴随矩阵的第i个元素,μE、μK、μW、μT分别是参数分量EKWT
的期望;σE、σK、σW、σT分别是参数分量EKWT的方差。
[0023] Expertise参数分量E、Knowledge of TOE参数分量K、Window of Opportunity参数分量W、Equipment参数分量T的权值分别记为wim1、wim2、wim3、wim4。
[0024] 隐含层节点M={M1,M2,M3,···,Mm}的数目 其中,n为输入层节点数,l为输出层节点数,a为常数,a∈[1,10]。隐含层节点M影响威胁等级TL的权值记为
WM→out={wmo1,wmo2,wmo3,···,wmom}。
[0025] 参数a取值的确定方法如下:
[0026] 1)初始化威胁等级评估模型的误差参数εTL=0.1,其中设定循环迭代的最大次数为tmax。记迭代次数初始值t=1。
[0027] 2)令a=t。
[0028] 3)计算威胁等级评估模型的误差 若误差 或达到最大循环迭代次数,则停止迭代,并输出a,否则,令t=t+1,并返回步骤2)。
[0029] 隐含层激活函数为ReLU:f(x)=max(0,x),学习速率记为R,目标误差记为θ。
[0030] 承接层节点表示为CM={CM1,CM2,CM3,···CMm}。承接层输出向量Xcm(t)=h(∑Vm(t‑1)Um(t‑1))。h(·)为承接层函数。Vm为承接层到隐含层的连接权值。Um为承接层的输入
向量。
[0031] 威胁等级评估模型的误差函数如下所示:
[0032]
[0033] 式中,dTL(k)为期望输出。yTL(k)为威胁等级评估模型输出。ETL为均方误差。
[0034] 若误差ETL大于预设值θ,则更新威胁等级评估模型的权重,直至ETL≤θ成立。
[0035] 所述影响水平评估模块存储有影响水平评估模型。
[0036] 所述影响水平评估模块利用训练数据集对影响水平评估模型进行训练,并利用测试数据集对训练后的影响水平评估模型进行测试,得到最优影响水平评估模型。
[0037] 所述影响水平评估模块将去噪后的待评估车辆安全评价数据输入到最优影响水平评估模型中,得到影响水平IL,并发送至风险评估模块。
[0038] 所述影响水平评估模型包括输入层、隐含层、承接层和输出层。
[0039] 所述输入层的输入包括Safety参数分量S={S1,S2,S3,···,Sn}、Financial参数分量F={F1,F2,F3,···,Fn}、Operational参数分量O={O1,O2,O3,···,On}、
Privacy&Legislation参数分量P={P1,P2,P3,···,Pn}。其中,Safety参数分量S、
Financial参数分量F、Operational参数分量O、E Privacy&Legislation参数分量P中元素
均为归一化元素,即元素Si∈[0,1],元素Fi∈[0,1],元素Oi∈[0,1],元素Pi∈[0,1]。且元
素 元素 元素 元素 分别
表示Safety参数分量S、Financial参数分量F、Operational参数分量O、E Privacy&
Legislation参数分量P的伴随矩阵的第i个元素,μS、μF、μO、μP分别是参数分量SFOP的期望;
σS、σF、σO、σP分别是SFOP的方差。
[0040] Safety参数分量S、Financial参数分量F、Operational参数分量O、Privacy&Legislation参数分量P的权值分别记为wig1、wig2、wig3、wig4。
[0041] 隐含层节点G={G1,G2,G3,···,Gs}的数目 其中,r为输入层节点数,j为输出层节点数。b为常数。b∈[1,10]。隐含层节点M影响威胁等级TL的权值记为
WG→out={wgo1,wgo2,wgo3,···,wgos}。
[0042] 参数b取值的确定方法如下:
[0043] 1)初始化威胁等级评估模型的误差参数εIL=0.1,设定循环迭代的最大次数为10。记迭代次数初始值t=1。
[0044] 2)令b=t。
[0045] 3)计算威胁等级评估模型的误差 若误差 则停止迭代,并输出b,否则,令t=t+1,并返回步骤2)。
[0046] 隐含层激活函数为ReLU,f(x)=max(0,x),学习速率记为R,目标误差记为θ。
[0047] 承接层节点表示为CG={CG1,CG2,CG3,···CGs}。承接层输出向量Xcg(t)=h(∑Vg(t‑1)Ug(t‑1)。h(·)为承接层函数。Vg为承接层到隐含层的连接权值。Ug为承接层的输入向
量。
[0048] 影响水平评估模型的误差函数如下所示:
[0049]
[0050] 式中,dIL(k)为期望输出。yIL(k)为影响水平评估模型输出。EIL为误差。
[0051] 若误差EIL大于预设值θ,则更新影响水平评估模型的权重,直至EIL≤θ成立。
[0052] 所述风险评估模块计算安全风险等级SL=TL+IL。
[0053] 所述数据库存储待评估数据获取模块、历史数据获取模块、数据清洗模块、训练数据集与测试数据集生成模块、威胁等级评估模块、影响水平评估模块、风险评估模块的数
据。
[0054] 本发明的技术效果是毋庸置疑的,为解决现有技术存在的问题,本发明提出一种基于Elman神经网络算法来改进HEAVENS模型。相比同类型网络(比如:BP网络、BPNN网络),
Elman神经网络模型在训练过程中拥有很高的分类精度和更快的收敛速度,能够很好的实
现模型计算的快速性、准确性和高效性。
[0055] 本发明基于HEAVENS安全模型,通过使用机器学习算法生成模型参数,实现车载ECU网络安全风险的自动评估。本发明提出一种应用机器学习算法主动生成模型参数,实现
基于HEAVENS模型的车载ECU网络安全风险自动评估,使得车载ECU网络安全风险评估智能
化,并节约了评估所需要花费的时间成本和人力成本。本发明使用车载ECU安全风险评价数
据并结合Elman神经网络算法生成风险评估模型HEAVENS的模型参数,使用原始安全评价数
据作为训练数据拟合HEAVENS模型参数,输出量化的SL值,实现车载ECU的安全风险的智能
化评估。经过仿真验证,本发明自动化程度高,评估结果有效且高效,可以为汽车信息安全
风险量化评估指标提供计算支持。

附图说明

[0056] 图1为确定隐含层节点及最优a值流程图;
[0057] 图2为改进HEAVENS模型SL的计算方法;
[0058] 图3为确认最优b值流程图。

具体实施方式

[0059] 下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯
用手段,做出各种替换和变更,均应包括在本发明的保护范围内。
[0060] 实施例1:
[0061] 参见图1至图3,一种基于机器学习算法的车载ECU安全风险评估系统,包括待评估数据获取模块、历史数据获取模块、数据清洗模块、训练数据集与测试数据集生成模块、威
胁等级评估模块、影响水平评估模块、风险评估模块和数据库。
[0062] 所述待评估数据获取模块获取待评估车辆的安全评价数据,并发送至威胁等级评估模块、影响水平评估模块。
[0063] 所述历史数据获取模块获取若干车辆的历史安全评价数据,并发送至数据清洗模块。
[0064] 所述历史风险评估数据包括车载ECU(电子控制单元)的威胁‑资产对。所述威胁类型包括仿冒、篡改、信息泄露、拒绝服务、特权提升识别。
[0065] 所述数据清洗模块去除历史安全评价数据的噪声,并将去噪后的安全评价数据写入安全评价向量集中。所述数据清洗模块将安全评价向量集发送至训练数据集与测试数据
集生成模块。安全评价向量集中元素个数记为n。
[0066] 数据清洗模块去除历史安全评价数据的噪声的步骤如下:
[0067] 1)判断当前历史风险评估数据是否为车载ECU的风险评估数据,若是,则进行步骤2),否则,删除。
[0068] 2)车载ECU的威胁等级、风险等级之和是否等于风险等级评价指标,若是,则包括车载ECU的数据,否则,删除。
[0069] 3)删除历史安全评价数据与威胁描述不匹配的数据。所述威胁描述包括安全评价数据所属的威胁类型。
[0070] 所述训练数据集与测试数据集生成模块随机生成比例系数β,0<β<1。并根据比例系数β将安全评价向量集划分为训练数据集和测试数据集。其中,训练数据集的元素个数
为βn,测试数据集的元素个数为(1‑β)n。
[0071] 所述训练数据集与测试数据集将训练数据集、测试数据集发送至威胁等级评估模块和影响水平评估模块。
[0072] 所述威胁等级评估模块存储有威胁等级评估模型。
[0073] 威胁等级评估模型和风险等级评估均为Elman神经网络模型。
[0074] 所述威胁等级评估模块利用训练数据集对威胁等级评估模型进行训练,并利用测试数据集对训练后的威胁等级评估模型进行测试,得到最优威胁等级评估模型。
[0075] 所述威胁等级评估模块将去噪后的待评估车辆安全评价数据输入到最优威胁等级评估模型中,得到威胁等级TL,并发送至风险评估模块。
[0076] 所述威胁等级评估模型包括输入层、隐含层、承接层和输出层。
[0077] 所述输入层的输入包括Expertise参数分量E={E1,E2,E3,···,En}、Knowledge of TOE参数分量K={K1,K2,K3,···,Kn}、Window of Opportunity参数分量W={W1,W2,
W3,···,Wn}、Equipment参数分量T={T1,T2,T3,···,Tn}。其中,Expertise参数分量E、
Knowledge of TOE参数分量K、Window of Opportunity参数分量W、Equipment参数分量T中
元素均为归一化元素,即元素Ei∈[0,1],元素Ki∈[0,1],元素Wi∈[0,1],元素Ti∈[0,1]。
且元素 元素 元素 元素
分别表示Expertise参数分量E、Knowledge of TOE参数分量K、Window of Opportunity参
数分量W、Equipment参数分量T的伴随矩阵的第i个元素,μE、μK、μW、μT分别是参数分量EKWT
的期望;σE、σK、σW、σT分别是参数分量EKWT的方差。。
[0078] Expertise(经验)参数分量E、Knowledge of TOE(评估对象的知识)参数分量K、Window of Opportunity(机会窗口)参数分量W、Equipment(所需设备)参数分量T的权值分
别记为wim1、wim2、wim3、wim4。
[0079] 隐含层节点M={M1,M2,M3,···,Mm}的数目 其中,l为常数。为整数。a∈[1,10]。隐含层节点M影响威胁等级TL的权值记为WM→out={wmo1,wmo2,
wmo3,···,wmom}。wmom为第m个隐含层节点影响威胁等级TL的权值。
[0080] 参数a取值的确定方法如下:
[0081] 1)初始化威胁等级评估模型的误差参数ε=1,设定循环迭代的最大次数为10。记迭代次数初始值t=1。
[0082] 2)令a=t。
[0083] 3)计算威胁等级评估模型的误差ε*。若误差ε*≤ε,则停止迭代,并输出a,否则,令t=t+1,并返回步骤2)。
[0084] 隐含层激活函数为ReLU,f(x)=max(0,x),学习速率记为R,目标误差记为θ。
[0085] 承接层节点表示为CM={CM1,CM2,CM3,···CMm}。承接层输出向量Xcm(t)=h(∑Vm(t‑1)Um(t‑1))。h(·)为承接层函数。Vm为承接层到隐含层的连接权值。Um为承接层的输入
向量。
[0086] 威胁等级评估模型的误差函数如下所示:
[0087]
[0088] 式中,dTL(k)为期望输出。yTL(k)为威胁等级评估模型输出。ETL为误差。
[0089] 若误差ETL大于预设值θ,则更新威胁等级评估模型的权重,直至ETL≤θ成立。
[0090] 所述影响水平评估模块存储有影响水平评估模型。
[0091] 所述影响水平评估模块利用训练数据集对影响水平评估模型进行训练,并利用测试数据集对训练后的影响水平评估模型进行测试,得到最优影响水平评估模型。
[0092] 所述影响水平评估模块将去噪后的待评估车辆安全评价数据输入到最优影响水平评估模型中,得到影响水平IL,并发送至风险评估模块。
[0093] 所述影响水平评估模型包括输入层、隐含层、承接层和输出层。
[0094] 所述输入层的输入包括Safety参数分量S={S1,S2,S3,···,Sn}、Financial参数分量F={F1,F2,F3,···,Fn}、Operational参数分量O={O1,O2,O3,···,On}、
Privacy&Legislation参数分量P={P1,P2,P3,···,Pn}。其中,Safety参数分量S、
Financial参数分量F、Operational参数分量O、E Privacy&Legislation参数分量P中元素
均为归一化元素,即元素Si∈[0,1],元素Fi∈[0,1],元素Oi∈[0,1],元素Pi∈[0,1]。且元
素 元素 元素 元素 分别
表示Safety参数分量S、Financial参数分量F、Operational参数分量O、E Privacy&
Legislation参数分量P的伴随矩阵的第i个元素,μS、μF、μO、μP分别是参数分量SFOP的期望;
σS、σF、σO、σP分别是SFOP的方差。
[0095] Safety(安全性)参数分量S、Financial(成本)参数分量F、Operational(运营)参数分量O、Privacy&Legislation(保密性)参数分量P的权值分别记为wig1、wig2、wig3、wig4。
[0096] 隐含层节点G={G1,G2,G3,···,Gs}的数目 其中r为输入层节点数,j为输出层节点数。b为常数。b∈[1,10]。隐含层节点M影响威胁等级TL的权值记为
WG→out={wgo1,wgo2,wgo3,···,wgos}。
[0097] 参数b取值的确定方法如下:
[0098] 1)初始化威胁等级评估模型的误差参数εIL=0.1,设定循环迭代的最大次数为10。记迭代次数初始值t=1。
[0099] 2)令b=t。
[0100] 3)计算威胁等级评估模型的误差 若误差 则停止迭代,并输出b,否则,令t=t+1,并返回步骤2)。
[0101] 隐含层激活函数为f(x)=max(0,x),学习速率记为R,目标误差记为θ。
[0102] 承接层节点表示为CG={CG1,CG2,CG3,···CGs}。承接层输出向量Xcg(t)=h(∑Vg(t‑1)Ug(t‑1)。h(·)为承接层函数。Vg为承接层到隐含层的连接权值。Ug为承接层的输入向
量。
[0103] 首先初始化IL误差参数εIL=0.1,其中 设定循环迭代的最大次数为10,第一次迭代的初始值为i=1,每次迭代后i自加1,直到 停
止循环,最后得到b=i,进而确定s的值。
[0104] 影响水平评估模型的误差函数如下所示:
[0105]
[0106] 式中,dIL(k)为期望输出。yIL(k)为影响水平评估模型输出。EIL为误差。
[0107] 若误差EIL大于预设值θ,则更新影响水平评估模型的权重,直至EIL≤θ成立。
[0108] 所述风险评估模块计算安全风险等级SL=TL+IL。
[0109] 所述数据库存储待评估数据获取模块、历史数据获取模块、数据清洗模块、训练数据集与测试数据集生成模块、威胁等级评估模块、影响水平评估模块、风险评估模块的数
据。
[0110] 实施例2:
[0111] 1)数据清洗。基于车载ECU网络的安全评价数据,对整车ECU网络安全评价数据进行清洗。主要包括以下步骤:
[0112] 1.1)基于评价规范和风险区间,筛选掉评价有误的信息,即经过威胁等级和影响水平累加后的风险等级计算值与风险等级评价值不等的数据;
[0113] 1.2)基于设定的风险资产,过滤掉不合格资产数据,如:假设评价的资产为车载ECU,但是原始数据表中存在IVI娱乐系统的评价数据,此时需要删除该类型评价信息;
[0114] 1.3)通过Threat威胁的界定,筛选掉资产评价信息与Threat威胁描述中不匹配的数据,如:假设Threat威胁描述是车载ECU的门锁信号,但在资产信息中显示是评价方向信
号;经过以上的数据清洗工作,最终得到可用的安全评价数据。
[0115] 2)建立训练数据集和测试数据集。根据步骤一中所得到的数据设置ID序列,通过ID区间划分训练数据序列和测试数据序列。数据序列编号为1~n,随机选择n*0.8条数据作
为训练数据,且定义训练数据编号为1~t1,t1∈[1,0.8*n],0.2*n条数据作为测试数据,且
定义测试数据编号为1~t2,t2∈[1,0.2*n]。
[0116] 3)TL计算
[0117] 将TL设计为一个有n*4输入,1输出的Elman神经网络。
[0118] 首先,需要将E={E1,E2,E3,···,En},K={K1,K2,K3,···,Kn},W={W1,W2,W3,···,Wn},T={T1,T2,T3,···,Tn}中的元素进行归一化处理,使得Ei∈[0,1],Ki∈
* * * *
[0,1],Wi∈[0,1],Ti∈[0,1]。归一化方法如下:1)计算原矩阵的伴随矩阵,得到E,K ,W ,K ;
2)将伴随矩阵进行如下处理:
[0119] 然后,确认隐含节点M={M1,M2,M3,···,Mm}的数目m。一般由经验公式来确定,此处l=1, 为整数a∈[1,10]。由于取值的不确定性,为了满足一定误差和计算
量的要求,需要采用图1的算法来确认最优的a值,该算法的计算过程是:首先初始化TL误差
参数εTL=0.1, 设定循环迭代的最大次数为10,第一
次迭代的初始值为i=1,每次迭代后i自加1,直到 停止循环,最后得到a=i,进而
确定m的值。
[0120] 使用向量Win→M={wim1,wim2,wim3,wim4}表示EKWT参数权值,使用向量WM→out={wmo1,wmo2,wmo3,···,wmom}作为M={M1,M2,M3,···,Mm}影响TL的权值,隐含层激活函数选用
ReLU,f(x)=max(0,x),学习速率设置为R=0.1,目标误差设置为θ=0.01。
[0121] 承接层的计算中,承接层节点表示为CM={CM1,CM2,CM3,···CMm},采用t记录迭代次序,使用Xcm作为承接层的输出向量,承接层的输入使用Um向量,承接层到隐含层的连接权
值使用Vg向量,(·)作为承接层函数,可得到Xcm(t)=(∑Vm(t‑1)Um(t‑1))。
[0122] 4)IL计算
[0123] 将IL设计为一个有n*4输入,1输出的Elman网络。
[0124] 首先,需要将S={S1,S2,S3,···,Sn},F={F1,F2,F3,···,Fn},O={O1,O2,O3,···,On},P={P1,P2,P3,···,Pn}中的元素进行归一化处理,使得Si∈[0,1],Fi∈
* * *
[0,1],Oi∈[0,1],Pi∈[0,1]。归一化方法如下:1)计算原矩阵的伴随矩阵,得到S ,F ,O ,
*
P;2)将伴随矩阵进行如下处理:
[0125] 然后,确认隐含节点G={G1,G2,G3,···,Gs}的数目s。一般由经验公式来确定,此处i=1, 为整数b∈[1,10]。由于取值的不确定性,为了满足
一定误差和计算量的要求,需要采用图3的算法来确认最优的b值,该算法的计算过程是:首
先初始化IL误差参数εIL=0.1, 设定循环迭代的最大
次数为10,第一次迭代的初始值为i=1,每次迭代后i自加1,直到 停止循环,最后
得到b=i,进而确定s的值。
[0126] 使用向量Win→G={wig1,wig2,wig3,wig4}表示EKWT参数权值,使用向量WG→out={wgo1,wgo2,wgo3,···,wgos}作为G={G1,G2,G3,···,Gs}影响IL的权值,隐含层激活函数选用
ReLU,f(x)=max(0,x),学习速率设置为R=0.1,目标误差设置为θ=0.01。
[0127] 承接层的计算中,承接层节点表示为CG={CG1,CG2,CG3,···CGs},采用t记录迭代次序,使用Xcg作为承接层的输出向量,承接层的输入使用Ug向量,承接层到隐含层的连接权
值使用Vg向量,(·)作为承接层函数,可得到Xcg(t)=h(∑Vg(t‑1)Ug(t‑1))。
[0128] 5)SL的计算
[0129] TL和IL的计算参数会根据大量的数据进行训练,训练完成后将会将TL和IL作为SL的计算参数,根据SL=TL+IL获取HEAVENS模型的参数从而得到风险评估数值。
[0130] 改进后HEAVENS的TL、IL和SL的计算方法可以用图2来表示。
[0131] 6)误差计算
[0132] 定义TL和IL结果的输出为yTL(k),yIL(k),期望输出为dTL(k),dIL(k),误差函数的计算采用 通过预
设的标准误差θ进行权值的迭代更新,即Elman神经网络的输出yTL(k),yIL(k)与期望输出dTL
(k),dIL(k)的方差dTL,dIL大于预设值θ,神经网络输入权重值将会在原权重值基础上重新计
算新权值,直到ETL<θ,EIL<θ停止迭代,从而得到最优权值,以此确定Elman神经网络模型的
参数,最终确定HEAVENS风险评估模型的参数。
[0133] 7)结果验证
[0134] 将测试数据加入训练后的模型进行测试,得到TL的计算值TLtest和IL的计算值ILtest,通过计算偏差,得出改进后的HEAVENS模型,并将改进HEAVENS模型的计算结果与专
家的评估结果相对比,具有一致性好,计算快速、准确性高的优点。