冯景瑜,时翌飞
(西安邮电大学 网络空间安全学院,陕西 西安 710121)
随着第五代移动通信技术(5th Generation Mobile Communication Technology,5G)和第六代移动通信技术(6th Generation Mobile Communication Technology,6G)的快速推广应用,微型传感器和驱动器广泛接入到传统电网中构建智能网络,有助于电力系统加速转型,突破地域边界[1-3]。电力物联网(Power Internet of Things,PIoT)中拥有数量庞大的终端设备,这些终端设备由于时常处于模糊的安全边界上而无法得到有效的保护,使其成为备受攻击者关注的攻击跳板[4-5]。未披露漏洞作为一种严重的系统漏洞,由于缺乏有效的缓解措施被攻击者视为一种极具利用价值的攻击工具。利用未披露漏洞发起的攻击往往呈现出多角度、高持续和致命性的特点,比如APT攻击、钓鱼攻击、勒索攻击和供应链攻击等,未披露漏洞的利用使本就严峻的PIoT安全问题更为明显。
尽快加固未披露漏洞是从源头上阻断攻击链的最佳手段,但一个完整的漏洞生命周期一般涉及复杂的流程,诸如漏洞发现、上报、验证、补丁开发、补丁验证和补丁分发等[6]。此外,由于电力系统是闭环的生态,单靠电力系统自身的应急响应能力无法应对未披露漏洞引发的威胁。为改善这一问题,将协同工作者的领域知识引入响应流程,使协作加快缓解进度成为更为普遍的方式。群智协同计算通过将协同任务以自由的形式发布给协同工作者,将群智资源协同汇集起来以实现资源的最大化利用[7]。目前,已有许多研究者将群智协同计算融入到其工作中,采用众包策略有效提升了其工作准确性和运行效率[8-9]。但是,由于这些方案通常基于不同的众包策略,使得群智协同计算仍缺乏统一的泛化模型,无法将其有效应用到其他领域中。
为规范协作缓解流程,标准化组织和机构提出了协同漏洞披露(Coordinated Vulnerability Disclosure,CVD)的概念[10]。然而,CVD作为一组不具备强制措施的指导原则,缺乏对协同者的可信性保障,为自私性协同者提供了扰乱协同缓解的机会。信任机制和激励机制的出现可以有效缓解群智协同工作场景中的自私性问题。其中,文献[11]通过引入频谱贡献度以激励自私的授权用户积极贡献其空闲频谱,从而有效缓解了频谱资源紧缺的问题。文献[12]提出了一种基于声誉的激励方案(Proof-of-Reputation-X,PoRX)鼓励区块链中的节点积极参与协作。节点参与协作前会被授予初始声誉值,并根据创建区块的数量给予声誉和代币的奖励或惩罚。文献[13]提出的协同排序任务推荐方法(Task Recommendation with User-Hybrid Model and Collaborative Ranking,TR-UMCR)中,其根据参与者的历史行为评估信誉值以此过滤掉一些劣质用户,从而提高协作任务的执行效率。但是,CVD涉及复杂的缓解流程,上述基于声誉激励机制的工作难以有效界定CVD流程中协同者的工作量,因而无法有效抑制自私协同者。
针对CVD中难以应对的自私性问题,拟提出黑板积分激励方案。该方案利用黑板作为CVD流程的实施模板,并在黑板中构建以协同贡献度作为指标的积分系统。对于较高协同贡献度的协同者给予奖励,对于较低协同贡献度的协同者施加惩罚,促使自私协同者改变行为策略积极缓解未披露漏洞。设计基于信任机制的协同组划分规则动态选取协同者,抵御共谋团体形成。结合多智能体协调器分散协同角色责任,避免单点失效,从而提升系统并行协作效率。同时,为验证黑板积分激励方案有效性,设计仿真实验与不同评估标准的激励方案进行对比。
黑板作为对专家系统的扩展,融合多知识源解决特定的复杂问题,使复杂问题被划分为多个子问题分散给知识源,由协调器负责协调知识源间的协作。黑板作为群智协同的典型模型被广泛应用在复杂协同知识共享领域[14-16]。尽管在群智协同场景中黑板模型具有以上优势,但发挥这些优势的前提是假设所有的协同者均是诚实的。考虑缺少对协同者工作量的界定,黑板无法应对可能存在的自私性问题。一旦自私协同开始发生,并逐渐演化成合谋小组,协同缓解流程将受到阻碍,间接地为未披露漏洞持续利用创造了机会。
为尽快缓解PIoT中的未披露漏洞,在群智协同缓解的模式下提出了黑板积分激励方案。黑板积分激励方案的总体架构如图1所示。
图1 黑板积分激励方案总体架构
黑板积分激励方案包含协同者、多智能体和缓解方案等3种实体类型。
1)协同者。参与群智协同缓解的安全工作者,该安全工作者可进一步细化为3种类型。一是提交者Pi热衷于对缓解任务做出积极响应,提出缓解方案,并获得相应的奖励,ΨP表示由提交者组成的协同组。贡献度较高的提交者有机会转化为验证者。二是验证者Vi在协同者中享有较高声誉的安全工作者,并负责验证提交者提交的缓解方案,在验证和评估阶段都拥有裁决权,Ψv表示由验证者组成的协同组。三是候选者Ci在候选池Ω中等待被选中参与到缓解任务中。
2)多智能体(Multi-Agent,MA)协调器。充当系统中的可信协调机构,负责监控协同者同黑板积分系统之间的交互行为,优化系统内群智资源利用,并负责量化协同者的信任值和协同贡献度。
3)缓解方案。由提交者发布的缓解未披露漏洞的方案,被接受的当前缓解方案Si将被快速分发给失陷设备,并替代历史缓解方案Sj。
为规范协同缓解流程,依据安全漏洞处理标准中对漏洞生命周期的描述[6],将协同缓解流程抽象为5个连续的阶段。
1)提出阶段。提交者在该阶段积极提交缓解方案,黑板在该阶段广泛收集提交的缓解方案。
2)验证阶段。当缓解方案被提交后,多智能体协调器将秘密地向验证组广播所收集到的缓解方案,验证组负责对所提出的缓解方案进行正确性验证。
3)评估阶段。该阶段验证组负责对收集来的缓解方案进行投票,并结合多智能体协调器计算出缓解方案质量,评估出提交者的协同贡献度和信任值。
4)接受阶段。当一个缓解方案被接受时,该缓解方案将被广泛地分发给脆弱的失陷设备,进行漏洞加固。
5)撤销阶段。当缓解方案被广泛地分发给脆弱设备后,漏洞生命周期将结束,群智资源将被释放。
在协同缓解PIoT未披露漏洞过程中,协同者需要对系统下发的缓解任务做出积极响应,使得缓解流程尽快流转。对于消极应对缓解任务的协同者,应尽早检测并施以惩罚,对于积极响应缓解任务的协同者,依据其协同贡献给予相应的激励,使协同缓解形成一个良性的循环。基于这一思路,在黑板模型的基础上设计了黑板积分激励以构建具备激励效果的未披露漏洞协同缓解流程。
为使协同贡献度和协同者实际工作量具有较强的关联性,引入一种缓解方案质量评估方法得到缓解质量(Quality of Mitigation,QoM),便于对协同者的贡献度进行评价。
2.1.1 通用缓解对象属性描述
根据信息安全技术网络威胁信息格式规范[17]中定义的缓解措施格式,将提交的缓解方案拆解为多个结构化组件,其涉及的常见对象属性及描述如表1所示。
表1 缓解措施通用对象属性描述
为方便后续对缓解方案质量的评估,对提交的缓解方案Si按照该标准进行文本格式化,定义为
Si=
(1)
式中:Tstage表示缓解实施阶段;Ttype表示缓解实施类型;Tobj表示缓解目标;Tdesc表示描述性文本;Timp表示缓解影响;Tcost表示缓解实施成本;Teff表示实施效益。
2.1.2 缓解方案质量评估方法
随着协同缓解过程的持续,所提交的缓解方案数量逐渐增多,系统所维护的缓解方案库将过于庞大。协同缓解过程中发现具有相似性威胁的可能性逐渐增大,一旦发现有类似的威胁事件出现,其相应的缓解方案可被直接使用,从而使相似性威胁被尽快阻止。
由于缓解方案以结构化文本的形成存在,利用词频-逆向文件频率[18](Term Frequency-Inverse Document Frequency,TF-IDF)对每个属性字段进行关键词提取,由各属性关键词组成缓解方案的文本向量,通过衡量两个关键词向量之间的距离,从而快速判决两个缓解方案的相似性。词频Ft的计算表达式为
(2)
式中:ni,j表示第i个词条在文本dj中出现的次数;nk,j表示dj文本的总词数。
IDF常被用来统计某个词条在文档中出现的次数,其表达式为
(3)
式中:|D|表示语料库中的文件总数;{j:ti∈dj}表示包含词ti的文件数目。最终得到词ti在文本dj中的TF-IDF值,表达式为
Ft-Fid=FtFid
(4)
通过对每个缓解方案中通用属性文本的关键词进行提取,过滤掉停用词,并根据词频进行排序,生成关键词集合。最终,由缓解方案通用属性关键词集合组成的缓解方案文本向量可被进一步表示为
Γm=
(5)
式中:wstage表示缓解方案实施阶段的关键词集合;wtype表示缓解类型的关键词集合;wobj表示对缓解目标的关键词集合;wdesc表示对缓解方案具体描述的关键词集合;wimp表示缓解方案可能造成影响的关键词集合;wcost表示缓解方案可能产生成本的关键词集合;weff表示缓解方案实施效率的关键词集合。
以对缓解方案描述的描述属性为例,其关键词集合可被定义为wdesc=
(6)
通过比较当前Γm和Γn之间的距离φmn,可有效计算出两者文本相似度,其中l表示提取出的关键词数量。同时,设置相似度阈值为ε,如果φmn>ε,则认为当前缓解方案与历史缓解方案一致,将当前缓解方案Si与历史缓解方案Sj合并;如果φmn≤ε,则认为当前的缓解方案同历史缓解方案的相似度较低,具有一定的创新性,其可能在后续流程中被接受。
缓解方案质量评估算法描述了缓解方案质量评估的完整过程,验证组每个成员的投票次数定义为vvotei∈{0,1},通过综合这两个指标得到目标缓解措施的缓解质量Qi。此外,考虑到缓解方案质量可能超过1,利用归一化方法[19]对其进行处理,以方便后续协同贡献度的评估,具体的步骤如下。
步骤1将最大缓解质量Qimax初始化为1,最小缓解质量Qimin初始化为0。
步骤4对于每个得到的缓解质量Qi,进行归一化处理。如果Qi>Qimax,则将缓解质量赋值给最大值Qimax=Qi。如果Qi 一旦协同者参与到协同缓解中,系统将分配必要资源给协同者,以协助其完成缓解任务。然而,自私的协同者会消极应对缓解任务,并故意占用系统资源。因此,需要设置一些奖罚规则,依据协同者的实际工作量,对其协同表现予以评价,通过引入协同贡献度评估完成这一目标。 在系统初始化时,每个候选池Ω中的候选协同者将被授予一个初始贡献度C0,确保每一个候选协同者均拥有在首轮缓解任务开始前被选中的公平的机会。然后,在次轮协同缓解中,协同贡献度将根据协同者的历史行为开始动态更新。 目标漏洞的协同缓解难度直接决定了协同者缓解该漏洞所需付出的工作量,较为严重的漏洞威胁需要利用大量的群智资源缓解。此外,每个协同者的实际工作情况应与其提交的缓解方案质量相关联。根据目标漏洞的缓解难度、所提交缓解方案的质量及协同者在协同缓解中的参与度,将协同贡献度定义为由威胁等级评分Icvss、缓解质量Qi以及协同度Ai决定的评估指标。通过这个三元参数的共同作用,综合得到协同贡献度,有效地刻画协同者在协同缓解过程中的表现,为黑板积分激励的实施提供评估依据。协同贡献度的计算函数可定义为 Coni=f(Ai,Icvss,Qi) (7) 威胁等级评分是由通用漏洞评分系统[20](Common Vulnerability Scoring System,CVSS)评价得到,用于量化一个漏洞的威胁程度。根据漏洞产生的危害影响,其威胁等级评分表达式为 Icvss=λVL[1-(1-Vcon)(1-Vinv)(1-Vava)] (8) 式中:λ为修正因子,通常设置为λ=10.41;VL是脆弱性利用程度;(Vcon,Vinv,Vava)三元组描绘了该漏洞可能对目标造成的机密性、完整性、可用性危害程度。 此外,协同度Ai表示协同者对缓解任务响应的积极程度,其表示式为 (9) 式中,ri,pi分别表示协同者拒绝或参与协同缓解任务的次数。由于每个协同者可能拥有提交者或验证者两种身份,对于式(9)将参与次数pi进一步定义为 pi=ci+fi+vi (10) 式中:ci表示提交正确缓解方案的次数;fi表示提交错误缓解方案的次数。 对于获得较高协同贡献度的协同者,会以较大概率在下一轮中被选中,而较低协同贡献度的协同者可能仍存在于候选池中。此外,考虑到恶意协同者会通过提交错误的或无效的缓解方案以扰乱协同缓解流程。通过对协同者的信任评估可有效抵御这类威胁。根据协同者的历史行为评估的信任值会在每轮协同缓解结束时动态更新,对于较低信任值的协同者将会从候选组中移除。考虑到信任值应该被限制在区间[0,1]内,协同者信任值Ti可以被定义为 (11) 式中,δ为信任门限。当协同者总是提交正确的缓解方案时,即fi=0,Ti将始终等于1。一旦协同者开始提交错误的缓解方案后,fi>0,Ti将在信任门限的作用下开始快速衰减。 由于Vi和Pi均由候选池中Ω根据协同贡献度选取产生,一旦恶意Vi和Pi结成合谋团体,即使Pi提交错误的缓解方案也会由于Vi的投票被通过。同时,使得Pi获得较高的贡献度,从而继续维持这个合谋团体存在。 考虑到这种情况,可以在每轮协同开始前,设计一种协同组划分规则动态地从候选池中选取协同者。当协同缓解任务下发时,所有的协同者对组内其他协同者的信息一无所知。考虑无法得知他人身份,合谋者无法根据此前协商的共谋策略实施共谋攻击。由于首轮的协同组划分没有可供参考的历史行为信息,需要在候选池中随机选取产生Vi和Pi。首轮协同者的协同贡献度初始化为一个统一的初始贡献度C0,以使协同者具备公平的机会被选中。Vi和Pi在每轮协同缓解的提交组、验证组和候选组中轮换产生,具体的协同组划分遵循以下规则。 规则1Ω必须不断更新,当组内协同者的信任值Ti小于信任门限δ时,这些协同者将被从Ω中移除,并无法参与到后续的协同缓解流程中。 规则2在每一轮协同开始前,必须从候选组Ω中随机选择一些Vi和Pi,任何一个被选中的协同者只能具有一个身份,且Vi和Pi互相不知道对方的身份信息。 规则3在每一轮协同缓解开始前,被选中的Vi和Pi的数量应该保持在至少1个以上。 规则4在每一轮协同结束后,对于ΨP和Ψv中的协同者,如果Vi或Pi的协同贡献度Coni低于Vi的协同贡献度阈值σv或Pi的协同贡献度阈值σP,则该协同者将被从ΨP或Ψv中移除,且满足σv>σP。协同组划分的步骤如下。 步骤1首先将提交组ΨP和验证组Ψv置为空,并从候选池Ω中随机划分Ω1和Ω2两个协同组。其中两个协同组Ω1和Ω2受到Ω1∩Ω2=Ø和Ω1∪Ω2=Ω约束。 步骤2对于第一个协同组Ω1中的每一个候选者Ci,如果每一个候选者的信任值Ti≥δ,且候选者的协同贡献度Coni≥σP,则将候选者Ci置入提交组ΨP中ΨP={Ci}∪ΨP。 步骤3对于第二个协同组Ω2中的每一个候选者Ci,如果每一个候选者的信任值Ti≥δ,且候选者的协同贡献度Coni≥σv,则将候选者Ci置入验证组Ψv中Ψv={Ci}∪Ψv。 步骤4不断的重复上述步骤,直到所有候选池中的候选者被成功划分。 考虑未披露漏洞的群智协同缓解中由于涉及复杂的通信和协商流程,因此合理地分配群智协同者、分散协同者责任及避免单点失效成为协同缓解中需要考虑的问题。多智能体作为人工智能领域中的一个重要研究分支,相较于传统系统具有更广泛的任务领域、更高的容错率和更好的鲁棒性[21]。目前,已有许多工作将多智能体和黑板相结合,以分散复杂系统中的角色责任,协调群智资源[22-24]。在此基础上设计了一种多智能体协调器,各智能体模拟实体间的行为,由多智能体协调器代理协同实体间的交互行为,使协作者没有权限直接同黑板进行交互。此外,系统中的各智能体以并行方式运行,消除了单点失效造成系统崩溃的可能。多智能体协调器过程如图2所示。 图2 多智能体协调器 由图2可以看出,设计的多智能体协调器包含以下6个智能体。 1)协同智能体。为参与协同缓解的每个协同者分配一个智能体,所有来自协同者的访问请求都需要经过认证智能体的授权和验证。 2)交互智能体。负责转发系统中的请求,协同者对黑板积分系统的所有操作都需要由交互智能体负责转发。 3)评估智能体。负责量化协同贡献度和协同者信任值。 4)反馈智能体。在每轮结束时,反馈智能体将向协同者分配奖励。 5)分配和撤销智能体。负责协同者访问凭证的管理,当协同者的生命周期结束时,访问凭证将被撤销。 6)授权智能体。负责协同者身份识别、访问控制等,避免协同者访问凭证伪造。 使用Python 3.7搭建实验平台,对所提方案进行仿真实验,验证黑板积分激励方案的性能。仿真环境参数的默认值设置如表2所示。 表2 仿真环境参数默认值 采用基于循环的方式,仿真所提方案在每一轮群智协同缓解中随机设置一定比例的自私协同者。在实验中假设自私协同者总是对下发的缓解任务做出消极响应,而积极协同者则总是对下发的缓解任务做出积极响应。在不同的环境参数设置下模拟黑板积分激励方案,评估该方案的性能。 仿真实验从抑制恶意提交、抑制自私协同者和协同贡献度变化等方面,对黑板积分激励方案进行了评估。黑板积分激励方案与基于声誉的区块链矿工激励方案[12](Proof of Reputation-X,PoRX)、基于历史行为的群智感知激励方案[13](Task Recommendation with User-Hybrid Model and Collaborative Ranking,TR-UMCR)以及未引入激励方案对自私协同者的抑制效果进行对比,具体结果如图3所示。其中,PoRX方案对自私协同者的抑制效果呈现出一定的周期性,黑板积分激励方案相较于TR-UMCR方案对于自私行为的反应较为敏感。 图3 黑板积分对自私协同者的抑制效果 由图3可以看出,在仿真开始时,首先将自私协同者的比例设置为50%。在实验中也仿真了其他激励方案,随着循环轮数的增多,黑板积分激励方案对自私协同者的抑制效果要好于其他的对比方案,可对自私行为做出快速反应。通过黑板积分激励方案,一些自私的协同者为获得更多奖励,将改变自己行为模式,积极参与协同缓解。 此外,不诚实的协同者在协同缓解过程中会提出大量的虚假缓解方案,造成系统资源浪费,扰乱漏洞协同缓解流程。因此,黑板积分激励的另一个关键指标是抑制恶意提交,恶意提交的抑制效果具体如图4所示。 图4 恶意提交的抑制效果 由图4可以看出,没有引入信任机制的传统方案产生的恶意提交数量总是高于黑板积分激励方案。在仿真中,信任门限δ分别设置为0.2、0.5、0.8。其中,当δ=0.8时,表明当以较高门限作为信任指标时,恶意提交的数量将显著减少。 利用仿真实验衡量所提方案能否有效追踪协同贡献度变化。分别在积极和消极条件下进行了实验,积极模式下协同贡献度变化追踪和消极模式下协同贡献度变化追踪分别如图5和图6所示。 图5 积极模式下协同贡献度变化追踪 图6 消极模式下协同贡献度变化追踪 由图5和图6可以看出,在积极模式下,当自私协同者的贡献被黑板积分激励方案抑制后,将开始积极参与协同缓解。此后,协同贡献将重新回到较高水平。在消极模式下,当自私的协同者贡献度超过初始C0时,将停止参与协同缓解任务,这将导致随后协同贡献度进一步降低。因此,所提出的黑板积分激励方案能够有效地匹配协同者贡献度的变化趋势。 针对CVD流程中存在的协同者自私性问题,提出了群智协同缓解PIoT未披露漏洞的黑板积分激励方案,以在抑制自私协同者和抵御共谋团体的条件下加快未披露漏洞加固流程。引入缓解方案质量评估方法辅助量化协同贡献度以界定各阶段协同者的实际工作量。此外,在协同组划分规则的帮助下,每轮动态选取群智协同者,以抵御共谋团体的形成。最后,将多智能体协调器集成到黑板积分激励方案中,划分协同缓解中的各实体责任,由各智能体代理实体的交互行为。仿真结果表明,与基于声誉和历史行为的激励方案相比,所提方案在抑制自私协同者效果上具有更显著的优势,可以积极鼓励协同者参与缓解未披露漏洞。在未来的工作中,考虑构建一个具有匿名性和隐私保护的未披露漏洞协同缓解环境。2.2 协同贡献度激励方法
2.3 协同组划分规则
2.4 基于多智能体的协调器
3 性能分析与讨论
3.1 仿真设置
3.2 仿真结果与讨论
4 结语