面向工控系统漏洞的多维属性评估*

2023-02-20 02:48李彤彤王诗蕊张耀方王佰玲王子博刘红日
计算机工程与科学 2023年2期
关键词:工控危害性漏洞

李彤彤,王诗蕊,张耀方,王佰玲,王子博,刘红日

(1.哈尔滨工业大学(威海)计算机科学与技术学院,山东 威海 264209;2.国家工业信息安全发展研究中心,北京 100040; 3.哈尔滨工业大学网络空间安全学院,黑龙江 哈尔滨 150001; 4.威海天之卫网络空间安全科技有限公司,山东 威海 264209)

1 引言

工业控制系统ICS(Industrial Control System)是确保工业基础设施自动化运行,并进行过程控制与监控的业务流程管控系统(下文简称工控系统)[1]。近年来,工控系统的攻击事件日益增多,暴露出其在安全防护方面的严重不足,研究高效、规模化的工控系统漏洞的属性分析预测以及漏洞危害性评估等方法,已成为维护国家工业、制造业安全的重要保障和迫切需求。对工控漏洞的分类为工控系统管理者提供指导,对了解系统中存在的漏洞以及检测这些漏洞的最佳方法有所帮助[2]。

现有的工控系统的安全风险评估方法存在要素提取机制尚不全面,要素覆盖程度还不够完善等问题,导致对工控系统的安全风险评估达不到理想效果。因此,本文从ICS漏洞的有效性、类别属性和风险程度等多维角度展开分析与研究,实现对已知的、未知的工业漏洞的高效检测、分析与处理,全面获取工业控制系统的设备关键脆弱点信息。通过对工控系统漏洞的多维评估要素提取分析,解决现有评估方法存在的问题。

针对上述问题,本文提出了面向工控系统漏洞的多维属性评估方法。考虑到不是所有漏洞都具备有效性,因此在对漏洞进行多维属性评估前,首先利用机器学习模型对该漏洞进行有效性判定,并在此基础上,采用机器学习算法对漏洞风险类型进行智能化分类处理。从工业控制系统漏洞信息本质属性出发,提出将工控漏洞重要性、危害性和可利用性作为漏洞风险程度的3个要素,提出一种基于ERNIE(Enhanced Representation through kNowledge IntEgration)[3]与CatBoostClassifier[4]结合的ernieCat模型,利用该模型对漏洞的风险程度属性进行预测。最后融合资产层级信息要素与漏洞风险指标,提出了一种基于层级分析法的工业设备安全漏洞危害等级评估模型,对漏洞进行全面多维评估,解决了漏洞与具体工控环境联系不紧密的问题。

2 相关工作

伴随着工业安全漏洞的数量、种类逐年增加,提高对漏洞进行有效分类和管理的能力,对于工控系统的安全风险评估至关重要。在漏洞分类方面,廖晓锋等[5]提出了一种结合LDA(Latent Direichlet Allocation)和SVM(Support Vector Machine)的自动漏洞分类器,但该方法不能很好地适用于大规模漏洞分类场景。曲泷玉等[6]针对大规模漏洞分类问题,提出了一种基于卷积神经网络的漏洞自动分类方法,该方法在漏洞自动分类效率上有显著提升。郭正斌等[7]提出了一种面向文本分类的特征向量优化方法,将漏洞特征信息与特征向量化相结合实现漏洞的量化分析。雷柯楠等[8]通过对漏洞进行特征评价完成漏洞的可利用性评分,并分析了影响漏洞利用性的重要因素。

在利用漏洞信息对漏洞的严重性进行预测方面,Kudjo等[9]提出了Bellvul算法,选出样本数据中的最优特征子集对模型进行训练,可提高漏洞严重性预测模型的准确度。Fang等[10]提出了一种结合FastText[11]和LightGBM(Light Gradient Boosting Machine)算法的预测模型,可预测漏洞的可利用性,即使在极端不平衡数据集上,该模型仍然有效。Sharma等[12]使用词嵌入GloVe(Global Vectors)算法和卷积神经网络,根据漏洞描述对漏洞严重性进行预测。相对于现有的漏洞评分方法,该方法不需要人工干预,可保证漏洞预测的客观性。上述研究在漏洞分析层面的准确性和综合性能上已能初步满足业务需求,但是对于数据的特性认识不够清晰,大多忽略了未知漏洞或仅存在漏洞概念证明可利用的情况,对于漏洞数据库的延时情况也缺乏应急处理对策。

工控安全漏洞的风险评估技术主要是针对工控设备确定漏洞情况[13],从危害性与威胁严重性等方面进行评估。席荣荣等[14]提出了基于隐马尔可夫模型的脆弱性评估方法,定义了警报质量的概念,在分析警报统计特征时获取观测的序列,接着通过状态转移矩阵输出最终结果。Liu等[15]使用预期的负载削减指数来量化由于网络攻击而造成的潜在系统损失。该方法针对电力系统进行安全风险评估,不具有通用性。陶耀东等[16]基于CVSS(Common Vulnerability Scoring System),将可见性、可控性和漏洞利用目标等指标纳入量化评估范围,设计了针对通用工控系统的工控漏洞评分系统。

在工控系统的脆弱性安全风险评估方面,主流方法的要素提取机制还尚不全面,多数情况下仅单独获取漏洞信息所包含的内在属性与外部影响,准确性和利用性达不到理想效果。本文综合考虑漏洞的有效性、风险类别、重要性、危害性及可利用性,并联合漏洞的资产层级属性,对工控系统进行全面多维的安全风险评估。

3 漏洞的多维属性分析模型

本节从工控漏洞的多维角度入手,实现对已知的和未知的工控漏洞高效检测、分析与处理,全面获取工业控制系统的设备关键脆弱信息。对未知漏洞情况进行重要性、影响性、可利用性的预测,以及对漏洞优先进行有效性判别的风险类别判定。

3.1 漏洞风险类型属性分类

Chen等[17]将不能被复现或不能被证明会对设备的安全性造成威胁的漏洞称为无效漏洞,无效漏洞的存在会对工控系统安全风险评估造成干扰,以及造成不必要的资源浪费。因此,本文首先对漏洞的有效性进行判定,确认漏洞具备被利用的条件时,再进行风险类别的判定,便于掌握漏洞整体信息,初步进行威胁程度度量。

本文收集公开漏洞描述文本作为研究样本,为减少漏洞描述文本的处理运算规模和时间复杂度,避免对分词处理的影响,本文对获取的文本进行数据清洗和整理,去除网页获取的多余附加结构。针对中英文的漏洞描述采用基于统计学规律的方法建立分词模板,去除文本中的标点并在保证文本语义完整的情况下去除停用词,接着对文本分割处理后的词语进行词性标注和词形还原处理。

经过预处理后的文本信息为非结构化形式,因此需要将文本内容映射为数值权重向量,以简化文本表示模型。针对此高维稀疏的特征向量表示数据,本文使用TF-IDF(Term Frequency-Inverse Document Frequency)进行数据降维和特征择优,提取能保留文本信息的关键特征词,对不同特征词进行动态加权。将向量化数据输入分类器中进行训练。基于文本处理的风险类别分类流程如图1所示。具体流程包含如下步骤:

Figure 1 Risk category classification process based on text processing图1 基于文本处理的风险类别分类流程

Step1训练样本获取。使用脚本从公开漏洞数据库获取漏洞信息,覆盖样本类别;漏洞有效性判定提取标注为REJECTED驳回或DISPUTED争议的无效漏洞;风险类别判断为保证后续研究数据充实采用通用漏洞枚举CWE(Common Weakness Enumeration)中10种类型作为基础进行模型训练。10种风险类型为:跨站脚本、缓冲区溢出、输入验证有误、信息泄露、SQL注入、权限访问控制、路径名限制、资源管理、跨站请求伪造和过界读取。

Step2漏洞文本预处理。在获取描述性漏洞信息后,为进一步进行数据挖掘与分析,对文本进行预处理,首先进行噪声数据清理,便于形成文本特征项,对包含语义的完整性中英文漏洞描述分别使用Python组件jieba与NLTK(Natural Language ToolKit)进行分词处理,将其转化为最小统计单位;并在处理过程中完成停用词过滤和词根还原,除去冗余信息,以提高后续分析判定的效率与准确性。

Step3文本特征提取。将之前获取的文本特征项进行向量化转换,以便机器学习模型能够针对特征项进行识别计算,主要采用TF-IDF逆频率思想的预处理方法,将描述语料中频次较少的特征项权值加大,以反映出特征矩阵的重要程度。

Step4模型判定及评价。利用机器学习与深度学习分类算法对漏洞文本有效性和风险类别进行判定,并通过相关性能指标对分类性能进行有效评价,选取最佳算法模型。

3.2 基于ernieCat的未知漏洞风险程度属性预测

对漏洞风险程度进行预测应首先对相关属性进行分析,具体包括漏洞重要性、漏洞危害性及漏洞可利用性3个方面,其属性标签参考通用漏洞评分方法CVSS3.0中提供的取值:基本得分(Base Score)、影响性得分(Impact Score)及可利用性得分(Exploitability Score),从而对漏洞属性进行风险危害评估。其指标属性映射关系如图2所示。

Figure 2 Mapping of vulnerability evaluation metrics图2 漏洞评价指标映射关系

(1)工控设备漏洞严重性:反映漏洞本身安全风险的危害系数,不随外界环境的变化而改变。其值与Base Score的数值对应,定为5级。

(2)工控设备漏洞危害性:利用漏洞成功实施攻击行为后,用于评价对系统造成的影响程度及损失范围。其值与Impact Score的数值对应,定为5级。

(3)工控设备漏洞可利用性:利用漏洞所需技术支持复杂度,衡量系统遭受攻击的可能性。其值与Exploitability Score的数值对应,定为5级。

在解决面向工业联网设备的漏洞风险情况时,重新定义工业行业漏洞下的风险衡量指标,以漏洞重要性、危害性和可利用性作为切入点进行度量评估,以漏洞文本特征与漏洞内在危害指标的结合作为预测模型的输入,通过漏洞风险预测模型训练得到相关嵌入表示,输出工控风险衡量指标的等级情况。

在3.1节中的漏洞属性判定中,通过对机器学习的效果进行对比发现,在处理漏洞相关数据时,相较于基础算法,集成学习模型的效果更为出色。因此,在本节选用ERNIE模型[3]与CatBoostClassifier[4]的融合完成风险程度预测,将漏洞描述文本以及其他漏洞内在属性特征进行融合作为模型输入。其他属性特征如表 1所示。

Table 1 Features for the intrinsic properties of the vulnerability表1 漏洞内在属性特征

ERNIE模型在BERT(Bidirectional Encoder Representation from Transformers)[18]的基础上进行了改进,将知识和语言语义信息进行融合,达到了增强语义表示的目的,它将BERT中的随机掩码优化为实体级别或短语级别,从而使得模型可以在学习过程中充分捕捉到更多语法相关的语义知识,极大地增强了通用语义表示能力。

CatBoostClassifier将完全对称树作为基学习器,参数较少并且准确度高,解决了工控漏洞风险程度预测延时性苛刻的问题,依然部署快速、运算效率高。同时,通过排序提升对抗噪点,有效改进了梯度偏差和预测偏移的情况,减小了过拟合程度,泛化能力强。并且该模型在处理非数值型特征时具有相对优势,可以自动将其处理为数值型特征,同时考虑组合类别之间的特征联系情况,在机器学习等一类模型中减少了对前期数据的处理工作量。

为解决漏洞风险多角度预测,本文提出了基于ERNIE与CatBoostClassifier算法相结合的预测模型,称为ernieCat。此模型可有效描述漏洞本身的风险程度,包括严重性、危害性及可利用性。模型使用增强语义理解的ERNIE将漏洞相关描述文本进行语义特征提取,而后与其他漏洞的内在属性特征相融合,应用CatBoostClassifier分类算法完成风险程度多角度预测。

4 漏洞危害风险评估模型

层次分析法是一种较为常见的评估方法,近几年来,一些研究人员将其应用在工控安全风险评估领域。贾驰千等[19]提出一种基于模糊层次分析法的工业控制系统安全评估方法,将工业控制系统的9种典型设备作为工控安全评估的要素。

本文考虑到风险评估受到资产、威胁和脆弱性3要素影响,参考该原理,定义资产设备层、漏洞风险类别及风险描述指标3个方面的影响因素,应用在工业控制环境下对漏洞的风险等级分析中,通过基于层次分析的方法建立工控漏洞风险等级分析模型,如图3所示。

Figure 3 Evaluation model of the hazard of ICS vulnerabilities图3 工控漏洞危害性评估模型

该模型将工控漏洞危害性描述等级作为量化层评估结果,评估的过程中划分为要素层和具体的指标层,涵盖影响漏洞风险等级的具体指标,包括资产设备层次下详细划分的现场控制层、过程监控层和生产调度层;选取工业环境下数量较多、危害性大的漏洞风险类别,包括缓冲区错误、资源管理、输入验证错误、SQL注入和权限访问限制;以及风险程度描述下的严重性、危害性和可利用性情况。

在建立工控漏洞危害性评估模型后,引用模糊数学的概念,通过构造模糊矩阵对模型中所有指标因素的重要性相对程度进行综合考虑。

依据模糊矩阵优先关系数量标度对各指标因素的相对重要性予以打分,当指标i与指标j重要性相同时,则标度fij=0.5,当指标i重要性大于指标j的重要性时,则标度0.5

Table 2 Device-level assignment表2 设备层级赋值表

Table 3 Assignments for vulnerability risk threat levels表3 漏洞风险威胁程度赋值表

Table 4 Assignment for vulnerability risk types表4 漏洞风险类型赋值表

表3为漏洞风险威胁程度赋值表。对于工业控制系统而言,攻击漏洞导致的工控系统可用性降低会造成严重的损失,因此在工业控制系统中可利用性指标的重要性大于严重性和威胁性。其次危害性指标的重要性大于严重性指标的。

根据赋值情况,可构造模糊判断矩阵R=(rij)n*n,以设备层级赋值为例构造如(1)所示的模糊矩阵R1,并依据式(2)转换为模糊一致矩阵RF1,如式(3)所示:

(1)

(2)

(3)

其中ri为对矩阵R按行求和。

为获取设备层级要素的相对权重情况,根据式(4)对RF1排序:

(4)

其中,i=1,2,…,n,参数α满足α≥(n-1)/2,且α大小与权重差异成反比,当α最小时评估要素的权重差异最大。由此可得到设备层级的权重分别为W1=(0.417,0.250,0.333),同理风险类型、风险威胁程度的权重分别为W2=(0.160,0.175,0.225,0.245,0.195),W3=(0.384,0.316,0.300)。以漏洞CVE-2019-5160为例,该漏洞存在于万可公司生产的一款PLC(Programmable Logic Controller)中,在其云连接功能中攻击者借助特制的HTTPS POST请求,利用该漏洞未授权访问固件更新功能。该漏洞的风险分析要素情况如表 5所示。

Table 5 Vulnerability assessment element details表5 漏洞评估要素详情

设备层次要素、风险类型要素、风险程度描述包含的3项指标均以5级程度作为相同基数,其中风险程度描述在预测结果中已在原基础上自行分级。最终以3类评估要素与其权重的乘积和作为该漏洞的最终风险评分结果,取值在[3.05,8.31]。

5 实验

(1)漏洞风险类型判定模型。

对于3.1节中漏洞有效性判定模型的选取,按照文本操作流程对漏洞描述样本训练集进行规范化处理,对10种传统机器学习算法进行有效性判别效果对比,在模型学习阶段利用占比70%的文本训练集对判定模型进行过程训练,以此得到适合的分类器参数。10类机器学习的判别效果如表6所示,表中列出了精度Pr、召回率Re、F1值3个指标。从实验对比结果可以看出,随机森林算法的综合效果最佳,因此本文选取该算法作为漏洞有效性的判别模型。

Table 6 Discrimination of the validity of different machine learning algorithms表6 不同机器学习算法有效性判别情况 %

通过爬取公开漏洞数据库64 459条英文和13 353条中文漏洞信息,对传统机器学习算法与深度神经网络算法进行判别效果对比。表7和表8分别展示了不同算法下中英文漏洞类别判别情况。中文漏洞数据的属性分类情况最终可以稳定在精度92.1%的程度,效果要优于英文漏洞数据,且从对比实验可看出,整体效果最优的算法为AdaBoostClassifier算法;深度神经网络虽然也能够保证较高精度,但从整体运算效率和占用运算资源的角度考虑,其并不适用于本文针对已知公开漏洞风险类型的分析。英文漏洞数据的属性分类情况精度可以达到86.4%,LeNet5卷积神经网络结构分类效果较其它算法出色,虽然其卷积结构并不复杂,但应对漏洞数据的拟合效果与运算效率相较于其他深度神经网络表现最好。

Table 7 Discrimination of vulnerability categories in Chinese表7 中文漏洞类别判别情况 %

Table 8 Discrimination of vulnerability categories in English表8 英文漏洞类别判别情况 %

(2)漏洞风险预测实验与分析。

通过爬虫获取2020年的公开漏洞数据,共包含3 200条信息。输入特征包括漏洞文本描述和描述内在特征2部分,分别进行工控漏洞严重性、工控漏洞危害性和工控漏洞可利用性3个方面的风险程度预测实验。在实验过程中,将在该领域中应用广泛的FastText[11]、TextCNN[20]及基本ERNIE方法作为基线模型,分别与改进后的ernieCat模型进行对比实验,从而验证该模型在应用漏洞风险预测方面的优越性。

FastText作为一个快速的文本分类模型,在其整体性能与部分基于深度神经网络的模型性能可以抗衡的同时,训练速度效率突出,采用嵌入向量的形式,得到文本的隐向量表达。在词袋模型基础上加入了N-gram特征,考虑到了上下文之间的内在逻辑关系。

TextCNN在文本分类中应用卷积神经网络CNN来处理相关任务,其结构简单,通过一维卷积来获取文本中的特征表示,对浅层特征的抽取能力很强,能更好地捕捉局部相关性。

通过对比实验来验证ernieCat模型在漏洞风险程度预测中的优越性,图4展示了在漏洞严重性预测中,分别基于原始ernie、FastText、TextCNN和改进后的融合ernieCat模型得到的混淆矩阵结果。在对角线上的数值为正确预测的情况,颜色越深表示正确预测效果越好。从图4中可以看出,尽管属性等级分布存在不平衡的情况,ernieCat模型在漏洞风险重要性预测中,发生误判的样本数量和概率明显较小,预测效果要优于其他的基线模型。

Figure 4 Confusion matrices of four risk prediction models图4 4种风险预测模型的混淆矩阵

为了更加直观地表述实验对比结果,表 9分别展示了实验对比的4组预测模型在漏洞风险程度多角度预测中的识别精度Pr、召回率Re和F1值。通过表9可以看出,基于ernieCat的风险预测模型的表现均要优于其他原始的基线模型。可以看出,在进行工控漏洞风险程度多角度预测研究中,本文所提出的ernieCat融合模型预测效果较好,效果提升明显。

Table 9 Comparison of evaluation results of risk prediction models表9 风险预测模型评价结果对比 %

6 结束语

为了推进工控系统的安全防护建设工作,进行漏洞信息全方位分析研究尤为重要。本文首先对漏洞信息风险类别进行判定,分别选取性能最佳的算法模型对漏洞利用有效性和漏洞风险类别进行判定,为后续的漏洞风险危害性评估提供了部分要素信息。同时,提出了ernieCat风险预测模型,结合文本特征与属性特征,从漏洞的危害性属性、影响性属性及可利用性属性3个方面对漏洞进行多角度风险预测。对工控设备漏洞信息进行高效及时的分析,全面准确地把握工控系统的设备关键脆弱点信息。最后将获取到的资产级信息要素与漏洞级风险要素相结合,对设备漏洞的风险危害程度进行量化评估,输出总体危害评分,对漏洞威胁程度进行合理描述。通过实验选取有效性最佳的随机森林算法作为漏洞有效性判定模型,AdaBoostClassifier模型作为中文漏洞风险类别判定模型,LeNet5卷积神经网络作为英文漏洞风险类别判定模型。分别进行工控漏洞严重性、危害性和可利用性3个方面的风险程度预测实验,本文提出的ernieCat模型在漏洞风险程度预测中,发生误判的样本数量和概率明显较小,预测效果要优于其他的基线模型。本文提出的工控系统漏洞多属性评估方法更能反映工控系统的安全风险,对网络安全人员进行工控系统安全防护具有指导意义。

猜你喜欢
工控危害性漏洞
漏洞
猪大肠杆菌病的临床表现及危害性
河南丹江口库区滑坡危害性评价及防治对策
废旧电池浸出液对铜钱草危害性的研究
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
三明:“两票制”堵住加价漏洞
漏洞在哪儿
热点追踪 工控安全低调而不失重要
假新闻的社会危害性及根源分析