大家读完觉得有帮助记得关注和点赞!!!
摘要 — 安全数字孪生(SDT)提供持续更新的基础设施虚拟副本用于威胁模拟,但它们依赖理论上的CVSS评分来分配横向移动概率——从而产生了上下文现实差距:在未记录的安全措施抵消漏洞利用的地方风险被高估,而在逻辑缺陷绕过所有内存安全防御的地方风险被严重低估。我们提出了主机主动验证引擎(HAVE),这是一个SDT扩展,部署一个受安全约束的主机代理,通过快照隔离的伯努利试验的最大似然估计来测量经验妥协概率p^p^。Wilson区间宽度置信权重αwαw通过一个与Beta-Binomial后验形式相关的贝叶斯混合规则将p^p^传播到蒙特卡洛模拟中。在四个漏洞类别、三个安全等级和两个生产二进制文件上的评估表明,HAVE在假阳性场景中将PreachPreach降低了38.2%,在假阴性场景中将其提高了132.4%,净校正为+124.1%;后HAVE估计值在校准指数κκ上的变化仅为1.12倍,而仅使用CVSS的基线变化为4.6倍。
关键词 — 安全数字孪生,主动验证,可利用性分析,风险评估,OT安全,蒙特卡洛模拟,内存缓解,贝叶斯更新,入侵与攻击模拟。
1. 引言
背景与动机。IT与OT向网络物理系统的融合从根本上改变了威胁格局。安全运维人员需要一个持续、高保真的基础设施风险模型[1][2]。安全数字孪生(SDT)范式通过被动网络遥测维护一个可模拟的副本来满足这一需求[3]–[5]。被动方法避免了破坏遗留PLC硬件的稳定性[6],但引入了一个关键限制:风险量化依赖于CVSS评分[7][8]。
上下文现实差距。CVSS提供的是无上下文的严重性估计:同一个被评为9.8的栈溢出漏洞,在启用了PIE+ASLR+Canary的二进制上实际上是近乎惰性的,而在没有这些缓解措施的情况下则极易被利用。相反,一个被评为7.2的命令注入缺陷无论是否存在内存安全防御都是无条件可利用的[9][10]。没有经验性的主机级验证,SDT会同时高估已缓解的漏洞并低估逻辑缺陷。
提出的解决方案与贡献。我们引入了主机主动验证引擎(HAVE),一个反馈驱动的SDT扩展,通过快照隔离的伯努利试验经验性地测量主机特定的可利用性。主要贡献:
-
上下文现实差距的形式化:首次形式化定义并量化了CVSS与经验证据之间的分歧。
-
Hub-and-Spoke架构:cgroups v2 CPU限制、路径白名单隔离和mTLS代理认证。
-
两阶段方法论:细粒度静态防御配置文件和基于MLE的动态p^p^与TTC估计。
-
Wilson置信加权:αwαw通过一个与Beta-Binomial后验形式相关的贝叶斯混合规则传播p^p^。
-
生产二进制验证:CVE-2021-3156和CVE-2021-42013验证了泛化能力。
-
蒙特卡洛验证:五节点双路径攻击图确认了非线性的传播和κκ鲁棒性。
2. 背景
2.1 安全数字孪生
SDT是一个持续更新的基于图的表示G=(N,E)G=(N,E),其中每个节点ni∈Nni∈N代表一个主机资产,每条有向边(ni,nj)∈E(ni,nj)∈E代表一个潜在的攻击步骤,其权重为pijpij,即攻击者在nini处成功入侵njnj的概率[11]–[13]。SDT持续吸收遥测数据以更新图。仿真引擎随后遍历GG以计算横向移动路径、可达概率和关键攻击向量。这些仿真的准确性直接受限于边权重pijpij的准确性,这构成了HAVE经验测量方法的动机[14][15]。
2.2 基于CVSS的风险评分的局限性
CVSS v3.1[7]通过三组指标量化漏洞严重性:基本、时间和环境。基本评分反映了漏洞的内在属性。时间指标考虑了利用代码的成熟度。环境指标允许通过修改后的影响指标按部署进行定制,如果正确填写,可以部分考虑主机特定的缓解措施。然而,维护准确的每主机环境配置文件会产生显著的操作开销,实际上这个子评分很少被填写[7][16]。
两个结构性限制使CVSS不足以作为SDT的唯一风险来源。首先,基本评分是无上下文的:它衡量最坏情况下的严重性,而不考虑主机特定的缓解措施。其次,CVSS不区分与缓解机制相互作用不同的漏洞类别。一个内存破坏缺陷和一个命令注入缺陷可能具有相似的CVSS评分,但根据内存安全功能的存在与否,具有完全不同的可利用性特征[17]。漏洞利用预测评分系统(EPSS)[18]使用外部威胁情报信号部分解决了可利用性预测问题,但它仍然是一个群体水平的统计模型,不反映单个主机的具体配置。HAVE通过自动化测量主机特定的可利用性来直接解决这一差距,产生相当于完整环境评分的数据,而无需手动分析的负担。
2.3 主机级安全原语
现代Linux系统针对内存破坏攻击提供了四层互补防御[9]。ASLR在加载时随机化栈、堆和库基地址;其有效性需要PIE编译,因为非PIE二进制无论内核ASLR策略如何,其代码段都加载在固定地址[19]。PIE和Full RELRO分别实现了代码段随机化,并使全局偏移表在动态链接后变为只读。栈金丝雀[20]在返回地址被覆盖之前检测栈帧破坏,但对堆段操作不提供保护。NX/DEP阻止直接的shellcode注入;攻击者通过返回导向编程绕过它[21]。这些原语之间的相互作用——而不是它们的单独存在——决定了实际的可利用性,如第6.1节中的ReffReff所正式捕获的那样。
3. 相关工作
3.1 面向网络弹性的数字孪生框架
Fuller等人[4]对数字孪生使能技术进行了全面综述,并将安全仿真确定为主要应用领域。Eckhart和Ekelhart[11]展示了CPS的一种基于规范的状态复制方法,确立了孪生体应反映运行时行为而非静态配置的原则。Dietz和Pernul[12]将SDT仿真与安全运营中心集成,展示了自动化攻击剧本如何更新孪生状态。HAVE所扩展的NotLine框架[3]通过被动流量分析构建高保真网络层孪生体,避免了破坏性探测同时保持拓扑准确性。Baiardi等人[22]使用基于图神经网络的风险推断增强了NotLine拓扑;然而,他们的方法最终仍然依赖于从CVSS导出的先验权重,这是HAVE经验测量直接解决的一个限制。
3.2 网络级漏洞评估
主动网络扫描器如Nmap[23]和OpenVAS[24]通过探测暴露服务并将标语与CVE签名进行比较来检测漏洞。这些工具在外部运行,无法直接观察主机的内部安全配置。基于标语的指纹识别在服务版本无法精确识别时会产生显著的误报率[25]。更重要的是,外部扫描与OT环境在架构上不兼容:向可编程逻辑控制器发送意外流量可能触发安全故障。HAVE通过部署一个从不产生外部网络探测的内部代理来避免这一点。
3.3 基于主机的审计与配置管理
基于代理的审计工具如OSSEC和Wazuh维护已安装包和系统配置的实时清单,在偏离安全基线时发出警报。尽管有价值,但这些工具执行的是静态清单而不是动态可利用性测试。它们报告存在一个易受攻击的库,但无法确定易受攻击的代码路径是否可达,或现有缓解措施是否使该漏洞实际上变得惰性。HAVE的静态阶段在概念上类似于基于主机的审计,但明确设计为动态阶段的前导,后者提供缺失的可利用性判定[17]。
3.4 自动漏洞利用生成
Avgerinos等人[26][27]开创了自动漏洞利用生成(AEG),证明符号执行可以为具有已知漏洞类别的程序自动生成可工作的利用。Shoshitaishvili等人[28]提供了适用于漏洞利用的二进制分析技术的全面分类。AEG和HAVE之间的关键区别在于它们的目标:AEG发现新的可利用条件,而HAVE使用一个预验证的利用库来测量防御针对已知漏洞类别的有效性。这种对“缓解验证”的关注使HAVE适用于生产风险评估环境,其中漏洞已知,未知的是给定目标主机配置下其实际可利用性。
3.5 攻击图中的风险量化
攻击图形式化[29][30]将多步攻击路径建模为有向图。贝叶斯攻击图[31][32]通过将条件概率与每个攻击步骤相关联来扩展这种形式化。McQueen等人[33]引入了平均入侵时间指标作为攻击者努力的补充度量。Homer等人[34]演示了将每步漏洞指标聚合成基础设施级安全评分的方法。HAVE直接解决了这一系列工作中识别出的数据质量问题:它用经验测量的、主机特定的可利用性概率替换了从CVSS导出的无上下文边权重。
3.6 OT环境中的主动测试安全
CPS环境中主动安全测试的风险已有充分记录[1][6][35]。Muench等人[6]证明嵌入式系统中的软件破坏并不像在桌面系统中那样可靠地表现为可观察的崩溃。Corteggiani等人[35]提出了一种基于仿真的嵌入式固件安全测试方法。我们的工作与这一理念一致:通过在OT环境中强制使用基于VM的沙箱,并通过cgroups[36]强制执行硬CPU上限,HAVE确保主动验证不会将不稳定性传播到生产硬件。
3.7 入侵与攻击模拟平台
商业入侵与攻击模拟(BAS)平台——包括SafeBreach、AttackIQ和XM Cyber——代表了与HAVE操作目标最接近的先前工作类别,即自动化的、基于代理的利用执行以进行安全测量。这些平台部署代理,针对实时基础设施执行预定义的攻击场景,以测量安全控制是否阻止或允许MITRE ATT&CK目录中的特定战术、技术和过程(TTP)[37]。
HAVE在三个基本维度上与这类平台在架构上有所区别。第一,BAS平台在战役和TTP层面操作:它们报告离散攻击场景的通过/失败结果,但不产生可在N次独立同分布试验上统计校准的概率估计,以作为边权重传播到概率攻击图中。Wilson置信区间和αwαw混合规则(第6.3节)在BAS平台中方法上不存在。第二,BAS平台并非为与SDT风险模型集成而设计:它们的输出是安全控制评估报告,而不是用于蒙特卡洛仿真引擎的参数化边权重更新。从HAVE的经验p^p^到SDT的Preach(n∗)Preach(n∗)的反馈回路是BAS类别中不存在的架构贡献。第三,BAS平台不涉及HAVE设计核心的OT安全约束:文献中调查的平台都没有暴露正式的资源治理接口(cgroups CPU限制)、基于目录的授权白名单或快照隔离保证,以防止主动测试破坏生产PLC固件。
总之,BAS平台和HAVE解决的是安全评估问题中互补但不重叠的部分:BAS提供广度(杀伤链中的TTP覆盖),而HAVE提供深度(用于SDT集成的、统计上严格的、每漏洞、每主机的可利用性量化)。
4. 系统与威胁模型
4.1 系统模型
我们考虑一个企业或工业基础设施,建模为由SDT持续维护的图G=(N,E)G=(N,E)。节点集N=NIT∪NOTN=NIT∪NOT包括标准IT资产(服务器、工作站、路由器)和OT资产(PLC、HMI、SCADA服务器)。每个节点nini有一个相关的安全配置σiσi,包括内核ASLR状态和二进制级特征向量vbinvbin(如第6.1节定义)。被动监控层通过观察网络遥测持续填充GG。嵌入在SDT分析层的HAVE控制器,用从主机级验证活动导出的经验可利用性数据增强这些拓扑数据。
4.2 攻击者模型
我们建模一个与MITRE ATT&CK框架[37]一致的威胁行为者:
能力。攻击者至少对一个受损节点n0∈Nn0∈N具有初始访问权,并寻求横向移动以到达高价值目标。攻击者拥有一个针对公开CVE的已知利用库,但没有零日漏洞的访问权限。攻击者是资源理性的:给定多个潜在攻击路径,攻击者将选择预期努力最小的路径,以入侵时间量化。
约束。攻击者不能修改SDT的模型或注入虚假遥测(mTLS认证模型防止欺骗,详见第5节)。不假设攻击者对硬件有物理访问。
零日范围。HAVE的测量覆盖了构成大多数部署主要威胁的已知CVE攻击面。关键基础设施环境中的运营商应使用提供新兴零日活动早期预警的威胁情报源来补充HAVE。
4.3 HAVE安全模型
在生产基础设施中引入主动代码执行具有固有的风险,必须由验证框架本身解决。我们定义三个安全需求:
-
SR-1(资源有界性):验证过程必须消耗目标主机CPU资源的有界部分,防止任何拒绝服务(DoS)条件。
-
SR-2(范围隔离):验证代理只能对明确授权的目标执行载荷,防止被重新用作横向移动工具。
-
SR-3(状态完整性):验证过程不得在每次试验后在目标主机上留下残留工件或系统破坏。
这三个安全需求由第5节详述的三个安全机制形式化并强制执行。
5. HAVE架构
主机主动验证引擎被设计为SDT生态系统的反馈驱动扩展。HAVE不是作为一个独立的扫描器运行,而是一个紧密集成的组件,接收来自被动监控层的触发,并返回直接更新孪生风险模型的测量结果。

图1:HAVE系统架构(Hub-and-Spoke)。 控制器(蓝色)通过mTLS通道分派验证任务。代理(琥珀色)在与目标二进制交互前强制执行白名单和cgroups v2 CPU限制。每次试验前由hypervisor快照恢复(绿色)以保证I.I.D.试验条件。经验遥测数据(p^p^, TTC)流回更新SDT的风险模型。
5.1 设计原则
架构受源于第4节安全模型的三个原则支配:(i) 设计即安全,确保代理内每条代码路径都受三个安全需求约束;(ii) 最小足迹,在目标主机上部署尽可能轻量级的特权进程;(iii) 事件驱动激活,仅在被动层检测到有意义的状态变化(例如,为运行的服务发布新的CVE,或通过遥测检测到配置漂移)时触发验证活动,从而最小化不必要的开销。
5.2 Hub-and-Spoke拓扑
系统以Hub-and-Spoke拓扑组织(图1)。编排控制器(Hub)位于SDT分析层内。验证代理(Spoke)部署在目标资产上或附近。所有通信通过相互认证的TLS通道进行。
5.3 编排控制器
控制器将高级风险查询转换为离散的、原子的验证任务。它维护所有活动验证代理的动态注册表,并管理活动调度。控制器以事件驱动模式运行:验证活动由(i)通过被动遥测检测到新脆弱服务,(ii)发布影响已分类资产的CVE,或(iii)操作员明确请求触发。这种设计避免了会不必要消耗资源的持续后台利用尝试。在接收到代理的结果后,控制器应用贝叶斯更新规则(第6.3节)以细化GG中的边权重pijpij,并将更新后的仿真传播到SDT的风险仪表板。控制器还为合规和取证目的维护所有验证活动的审计日志。
5.4 验证代理:一个受安全约束的守护进程
验证代理是一个轻量级的特权守护进程。在IT环境中,它可以直接在主机操作系统上运行;在OT环境中,它被强制在一个镜像生产环境的高保真VM沙箱内执行,确保即使灾难性的验证失败也不会破坏物理硬件。
代理强制执行三个不可变的安全约束,直接满足SR-1到SR-3。
5.4.1 资源治理:CPU限制(SR-1)
资源治理约束通过Linux cgroups v2[36]实现,它通过完全公平调度器(CFS)在离散周期内操作。令ΔtCFSΔtCFS表示CFS配额周期(默认100 ms)。对于每个调度周期k∈Z≥0k∈Z≥0,令Texec(k)Texec(k)表示该周期内代理的CPU执行时间。离散时间资源治理约束为:

其中θmax∈(0,1]θmax∈(0,1]是本地配置清单中定义的最大允许CPU利用率分数。该约束通过将⌊θmax⋅ΔtCFS⋅106⌋⌊θmax⋅ΔtCFS⋅106⌋写入代理cgroup v2叶节点/sys/fs/cgroup/have.slice/cpu.max来强制执行(例如,对于θmax=0.25θmax=0.25和ΔtCFS=100msΔtCFS=100ms:值“25000 100000”)。内核调度器在违反式(1)的任何周期的剩余时间内限制代理进程。典型的OT部署设置θmax=0.15θmax=0.15,为关键控制逻辑保留85%的CPU容量。
5.4.2 授权隔离:路径白名单(SR-2)
令Dallow={d1,d2,…,dn}Dallow={d1,d2,…,dn}为代理信任根配置中明确授权的目录路径集。给定一个针对路径ptargetptarget的二进制文件的验证请求,代理应用验证函数:

在此检查之前,ptargetptarget通过解析符号链接和剥离目录遍历序列(../)进行净化。针对DallowDallow之外系统路径的请求被立即拒绝并记录为安全违规。这种设计缓解了混淆副官攻击,即受损的控制器试图胁迫代理对任意系统二进制执行载荷[38]。
5.4.3 加密身份:相互TLS(安全)
控制器CC和代理AA之间的命令与控制通道通过相互认证的TLS(mTLS)进行保护。两个实体必须出示由内部证书颁发机构CAintCAint签名的有效X.509证书:

这种双向认证确保(i)代理只接受来自可验证控制器的命令,以及(ii)控制器只接收来自可验证代理的数据,防止用伪造的遥测污染SDT的风险模型。
5.5 安全孪生集成循环
验证活动完成后,控制器按以下方式更新风险模型。设eij∈Eeij∈E是从nini到njnj的攻击步骤,其权重先前设为从CVSS评分导出的pij(0)pij(0)。贝叶斯混合规则(式(12))根据Wilson置信区间宽度控制经验估计相对于CVSS先验的权重。更新后的图G′G′随后提供给蒙特卡洛仿真引擎。
6. 分析方法
HAVE的方法论核心基于以下断言:风险是执行环境的动态函数,而不是脆弱代码的静态属性。HAVE实现了一个两阶段流水线,依次评估理论防御态势(阶段I:静态分析)和经验抵抗力(阶段II:动态分析)。
6.1 阶段I:细粒度静态分析
阶段I的目标是为目标二进制构建一个高分辨率的防御配置文件ΠiΠi,既提供理论风险上限,也提供配置后续动态阶段的输入参数。
内核配置。代理从/proc/sys/kernel/randomize_va_space读取内核ASLR策略,获得αkern∈{0,1,2}αkern∈{0,1,2}。
二进制级特征提取。使用pwntools[40]的checksec[39]功能,代理解析目标二进制的ELF头以提取二进制特征向量:

其中βpie,γcan,δnx∈{0,1}βpie,γcan,δnx∈{0,1}分别表示PIE、栈金丝雀和不可执行内存状态,ϵrelro∈{0,Partial,Full}ϵrelro∈{0,Partial,Full}表示RELRO级别。代理还扫描二进制的符号表以查找_FORTIFY_SOURCE检测。
有效随机化。一个关键的方法论点是内核ASLR和二进制PIE不是独立的:它们的相互作用决定了地址空间随机化的实际程度。我们定义有效随机化:

使用非PIE二进制(βpie=0βpie=0)的内核ASLR设置为2得到Reff=LowReff=Low,因为代码段加载在确定性地址。这种交互正是CVSS和静态清单工具无法捕捉的细微差别。
完整的防御配置文件为:

6.2 阶段II:经验动态分析
阶段II对目标二进制进行统计上严格的受控利用试验序列。
I.I.D.试验设计。动态利用本质上是不稳定的。一次失败的利用可能使进程处于未定义状态。为确保每个试验来自同一分布,我们将验证序列建模为一组I.I.D.伯努利试验T={t1,t2,…,tN}T={t1,t2,…,tN},并通过每试验恢复协议强制执行独立性。
设S0S0为VM的就绪状态快照,在目标二进制加载并准备好被利用后立即捕获。每个试验titi的执行流程为:

这保证了系统熵、内存布局和文件描述符在每次试验前重置为相同的基线,满足SR-3。
指标推导。每个试验titi产生一个二元结果xi∈{0,1}xi∈{0,1},其中xi=1xi=1表示成功入侵(通过匹配预期的退出代码验证,例如生成一个受控的shell)。完成NN次试验后,通过二项模型的最大似然估计计算经验入侵概率p^p^。令S=∑i=1NxiS=∑i=1Nxi:

伴随p^p^的还有95% Wilson评分置信区间[p^L,p^U][p^L,p^U]:

其中对于95%置信水平,z=1.96z=1.96。此外,入侵时间在成功试验集K={i∣xi=1}K={i∣xi=1}上计算:

其中τiτi是试验titi的墙上时钟执行延迟。遵循McQueen等人[33],TTC作为攻击者努力的代理。
6.3 风险模型集成:蒙特卡洛模拟
SDT的仿真引擎通过蒙特卡洛遍历GG来模拟横向移动。在每次模拟运行中,每条边eijeij被采样为成功概率为pijpij的伯努利试验。在MM次模拟运行后(通常M=10,000M=10,000),攻击者到达目标节点n∗n∗的运行比例估计了端到端的入侵概率Preach(n∗)Preach(n∗)。
6.3.1 CVSS到概率的映射与校准指数
在集成HAVE之前,边权重通过单调幂映射从CVSS评分初始化:

其中κ>0κ>0是控制映射凹性的校准指数。我们采用κ=1κ=1作为基线参数化,产生线性映射pij(0)=CVSSij/10pij(0)=CVSSij/10。这个选择与先前工作[32]一致,并有一个自然的解释:归一化到[0,1][0,1]的CVSS评分直接作为利用的先验概率。我们注意到κ<1κ<1将中等评分向1压缩(即更悲观的先验),而κ>1κ>1将它们向0扩展(更乐观的先验)。第9.7节对κ∈{0.5,1.0,1.5,2.0}κ∈{0.5,1.0,1.5,2.0}进行了敏感性分析,证明后HAVE风险估计对该参数化选择具有鲁棒性,而仅使用CVSS的基线变化显著。
6.3.2 贝叶斯混合规则
HAVE用经验后验替换CVSS先验:

其中αw∈[0,1]αw∈[0,1]是一个置信权重,定义为Wilson区间宽度的单调递减函数:

当N→∞N→∞时,Wilson宽度消失且αw→1αw→1,因此后验收敛于经验估计;对于小的NN,αwαw默认趋向于CVSS先验。
6.3.3 与Beta-Binomial后验的形式关系
贝叶斯规范处理分配一个Beta先验pij∼Beta(α0,β0)pij∼Beta(α0,β0),其中α0=pij(0)⋅n0α0=pij(0)⋅n0和β0=(1−pij(0))⋅n0β0=(1−pij(0))⋅n0,产生与式(12)相同凸组合形式的后验均值,权重为αBBw=N/(n0+N)αBBw=N/(n0+N)。关键区别在于αBBwαBBw仅依赖于NN(对于固定的n0n0),而Wilson宽度权重αwαw是状态依赖的:它联合依赖于NN和p^p^。这对于风险评估在认知上是优越的:当HAVE观察到极端结果(p^∈{0,1}p^∈{0,1})时,即使在中等NN下Wilson区间也很窄,正确地赋予经验估计高置信度,而相同NN下均匀的50/50结果产生宽区间并恰当地折扣先验。在本文报告的所有实验中,N≥30N≥30,将最大Wilson宽度限制为0.364,确保αw≥0.636αw≥0.636。
7. 实现
7.1 代理实现
验证代理实现为Python守护进程,通过带有相互TLS的gRPC与控制器通信。利用执行模块使用pwntools[40]作为主要的二进制交互框架。静态分析模块通过子进程以编程方式调用checksec[39],并将JSON输出解析为结构化的防御配置文件ΠiΠi。Hypervisor快照管理通过libvirt API实现,支持QEMU/KVM和VMware ESXi后端。cgroups v2 CPU配额在代理初始化时写入/sys/fs/cgroup/have.slice/cpu.max。
7.2 利用库与自测试工具
动态测试模块由一个精选的利用库提供支持,该库为每个支持的漏洞类别实现了良性载荷。一个良性载荷在成功入侵时(例如,实现任意代码执行并将一个受控的标志值写入预定的内存地址)不执行任何破坏性、持久性或网络传播的动作。
该库目前包含12个利用模块(每漏洞类别3个,每安全等级一个),总计约2,400行Python代码。每个模块由防御配置文件ΠiΠi参数化,在运行时基于ReffReff和vbinvbin选择利用策略。
每个模块包括一个自测试工具,在任何生产部署之前,在专门构建的参考环境上验证正确的利用行为。自测试过程如下:(i) 模块针对一个参考VM执行(Ubuntu 22.04,与目标配置相同的内核版本和安全等级),其真实可利用性由漏洞类别设计先验已知;(ii) 工具验证良性载荷将预期的8字节标志写入BSS段中的预定地址;(iii) 工具确认目标进程干净地终止(退出代码0),且没有创建残留的文件系统工件;(iv) 对于随机性利用,工具还验证在Nref=30Nref=30次试验的参考运行中观察到的成功率是否落在该等级的预期范围内(例如,完全受保护的高等级二进制为p^=0.00p^=0.00,低等级二进制为p^>0.90p^>0.90)。自测试失败会阻止模块部署,并通过控制器审计日志引发警报。库版本控制遵循语义版本控制:新的漏洞类别增加MINOR版本;新的利用技术增加PATCH版本。
一个重要的范围边界如下:利用库使用特定的、已实现的利用技术来测量漏洞类别的可利用性,而不是抽象地测量漏洞类别的可利用性。因此,测量的p^p^上限受限于库针对该等级的利用实现的质量和完整性。例如,格式字符串高等级估计p^=0.33p^=0.33反映了所实现的特定地址泄漏策略的有效性,而不是所有可能的格式字符串利用的通用上限。操作员应将p^p^视为在第4节威胁模型下、在建模的攻击者能力水平下的可利用性下界。
7.3 测试台配置
所有实验在Ubuntu 22.04 LTS主机(内核5.15,x86-64)上进行,配备8个CPU核心和16 GB RAM,验证代理在分配了2个vCPU和2 GB RAM的QEMU/KVM虚拟机内运行。在验证活动期间,CPU上限设置为θmax=0.25θmax=0.25。为每个漏洞等级在二进制加载后立即创建就绪状态快照S0S0,并通过libvirt API在每次试验前恢复。平均快照恢复延迟为98±1298±12 ms。
正确地将此延迟置于上下文中很重要。98毫秒的恢复延迟影响整个验证活动的持续时间(即,完成给定漏洞的NN次试验所需的日历时间),而不是PLC控制回路。由于验证活动由CVE发布事件(最多以天为单位发生)触发,并且针对VM副本而非物理硬件执行,因此该延迟对实时PLC控制没有操作影响。标准的PLC扫描周期为1-100毫秒适用于物理控制器;VM副本的时序保真度仅与TTC值的解释相关,我们明确将其限定为相对排序指标(第10.3节)。
7.4 计算开销特征
为确认强制执行正确性,通过perf stat以1 Hz频率在所有活动中测量CPU利用率。平均利用率范围从5.3%(逻辑缺陷)到16.5%(格式字符串,高等级);观察到的最高瞬时值为23.4%,比θmax=0.25θmax=0.25的上限低6.6个百分点。内存占用保持在170 MB以下(主要由pwntools进程空间主导);读取IOPS低于60,由快照恢复操作驱动。
7.5 生产二进制验证
为了验证合成语料库中识别出的缓解有效性模式能泛化到真实世界软件,我们在两个具有注册CVE标识符的生产二进制上进行了额外实验。选择这两个二进制以匹配两个在操作上最重要的发现:完全PIE+ASLR对内存破坏利用的完全中和(堆类),以及逻辑缺陷在所有安全等级上的无条件可利用性[41]。
CVE-2021-3156(sudo “Baron Samedit”)。CVE-2021-3156是sudo ≤ 1.9.5p1的sudoedit命令中基于堆的缓冲区溢出,于2021年1月披露,具有公开的概念验证利用。该缺陷源于命令行参数解析中对尾部反斜杠的不当处理,导致堆缓冲区溢出,可被利用实现提权至root。我们从Ubuntu 20.04 LTS软件包仓库安装了sudo 1.8.31(CVSS基本评分:7.8)。实验在两个与我们等级定义一致的保护级别上进行:
-
低等效(sudo 无PIE编译;通过randomize_va_space=0禁用ASLR):公开的概念验证利用成功,p^=1.00p^=1.00(N=50N=50,Wilson CI [0.929, 1.000],TTC = 22.1±3.422.1±3.4 ms)。相对于合成堆低等级(15.8 ms)较高的TTC反映了sudo架构固有的进程分叉开销。
-
高等效(Ubuntu 20.04默认:启用PIE的sudo二进制;ASLR=2):利用失败,p^=0.00p^=0.00(N=100N=100,Wilson上界0.037)。该利用依赖于从非随机化堆基地址派生的可预测堆块偏移;完全PIE随机化了这些偏移,使硬编码的块距离无效。
这些结果在数量上与合成堆UAF发现一致(低:p^=1.00p^=1.00;高:p^=0.00p^=0.00),确认了漏洞类别级缓解有效性模式——具体来说,栈金丝雀对堆段利用的架构透明性以及基于PIE的地址随机化的有效性——从受控的合成语料库泛化到具有注册CVE的生产二进制。
CVE-2021-42013(Apache httpd 路径遍历 + RCE)。CVE-2021-42013是Apache httpd 2.4.49和2.4.50中的路径遍历和远程代码执行漏洞,通过针对启用mod_cgi的服务器的精心构造的HTTP请求实现命令注入。CVSS基本评分为9.8。我们在测试台VM上部署了Apache 2.4.49并启用mod_cgi;二进制在表2的三个等级配置下分别编译。在所有三个等级中,p^=1.00p^=1.00(N=30N=30,Wilson CI [0.884, 1.000],TTC = 5.1±0.45.1±0.4 ms)。TTC略高于合成命令注入结果(3.2 ms),这是由于网络层利用固有的HTTP请求/响应开销。TTC的边际增加相对于跨等级的恒定性可以忽略不计,确认了核心发现:命令注入可利用性与所有内存安全缓解措施正交,无论目标是专门构建的合成程序还是生产HTTP服务器。
表1总结了生产二进制结果与相应合成发现的比较。跨两个漏洞类别和两个生产二进制的一致性为第9节报告的上文现实差距模式的泛化性提供了经验实证。
表1
生产二进制验证:生产CVE与合成语料库的HAVE结果比较
|
CVE-2021-3156 (sudo, 堆) |
低等效 |
1.00 |
[0.929, 1.000] |
22.1 ± 3.4 |
|
CVE-2021-3156 (sudo, 堆) |
高等效 |
0.00 |
[0.000, 0.037] |
— |
|
CVE-2021-42013 (Apache) |
低 |
1.00 |
[0.884, 1.000] |
5.1 ± 0.4 |
|
CVE-2021-42013 (Apache) |
中 |
1.00 |
[0.884, 1.000] |
5.1 ± 0.4 |
|
CVE-2021-42013 (Apache) |
高 |
1.00 |
[0.884, 1.000] |
5.1 ± 0.5 |
|
合成堆 |
低 |
1.00 |
[0.929, 1.000] |
15.8 ± 2.4 |
|
合成堆 |
高 |
0.00 |
[0.000, 0.037] |
— |
|
合成逻辑 |
所有 |
1.00 |
[0.884, 1.000] |
3.2 ± 0.3 |
TTC差异反映进程启动开销;p^p^在统计上无法区分。
8. 实验评估
8.1 漏洞语料库与生态效度
我们开发了四个自定义C程序,每个隔离一个规范的漏洞类别。hotel_manager在其输入解析例程中包含一个基于栈的缓冲区溢出。block_notes包含一个来自未检查的printf使用的格式字符串漏洞,暴露了任意写入(%n)和任意读取(%p)原语[42]。mem_allocation_misuse包含一个堆释放后使用缺陷,在架构上不受栈帧保护的影响[43]。logging_system包含一个来自未净化输入传递给system()的命令注入缺陷,与所有内存保护机制正交。合成语料库是一个受控的测量工具,消除了真实二进制中存在的混杂变量(部分补丁、内联优化、库依赖);缓解有效性模式如第7.5节所证实的那样泛化到生产软件。
每个程序映射到实例化相同类别的代表性NVD条目:hotel_manager映射到CVE-2015-7547和CVE-2021-3156;block_notes映射到CVE-2012-0809;mem_allocation_misuse映射到CVE-2022-2602和CVE-2023-0461;logging_system映射到CVE-2021-42013和CVE-2023-25157。作者估计的CVSS评分(图2)由两位CVSS v3.1认证的研究人员按照NVD评分方法论分配;评分者间一致性得到Cohen加权κw=0.87κw=0.87(95% CI [0.79, 0.95])。分歧通过使用NVD在线计算器达成共识解决;图2中标记了±0.3±0.3 CVSS灵敏度带。
8.2 安全等级
每个程序在表2总结的三个不同安全等级下编译。这些等级模拟了从无保护的遗留二进制到完全加固的生产部署的现实渐进式加固。
表2
安全等级编译矩阵
|
低 (L) |
✗ |
✗ |
✗ |
无 |
关 |
|
中 (M) |
✓ |
✓ |
✗ |
部分 |
开 |
|
高 (H) |
✓ |
✓ |
✓ |
完整 |
开 |
8.3 协议参数与统计功效分析
NN的选择遵循前瞻性功效分析,目标是非确定性结果的Wilson置信区间半宽ε≤0.10ε≤0.10。最坏情况(p=0.5p=0.5)需要N≥96.04N≥96.04,四舍五入到N=100N=100。该值统一应用于所有栈溢出和格式字符串组合,其中ASLR依赖的随机性使结果真正可变。对于堆UAF在低和中等等级——其中结果设计为确定性的——N=50N=50足够,为p^=1.00p^=1.00产生0.929的Wilson下界。对于逻辑缺陷组合,在所有等级上完全确定性(p^=1.00p^=1.00无条件),保留N=30N=30,Wilson下界为0.884。
8.4 基线比较:HAVE与OpenVAS
OpenVAS报告高等级栈溢出二进制为严重(CVSS 9.8),在SDT中对应p=0.85p=0.85——相对于HAVE测量的p^=0.00p^=0.00(Wilson上界0.037)有100%的假阳性。对于命令注入二进制,OpenVAS分配相同的严重等级,没有提供区分有条件和无条件可利用性的基础。
9. 结果与分析
表3总结了核心定量发现。图2说明了产生的上下文现实差距。x轴上的CVSS基本评分是作者按照NVD评分方法论估计的(评分者间κw=0.87κw=0.87;见第8.1节),不是从NVD检索的,因为合成程序不对应于注册的CVE。
表3
HAVE经验结果:按漏洞类别和安全等级的p^p^和TTC(每组合NN次试验)
|
栈溢出 |
|
|
|
|
|
|
|
低 |
100 |
1.00 |
[0.963, 1.000] |
12.4 ± 1.1 |
|
|
中 |
100 |
0.20 |
[0.133, 0.289] |
52.7 ± 8.3 |
|
|
高 |
100 |
0.00 |
[0.000, 0.037] |
— |
|
格式字符串 |
|
|
|
|
|
|
|
低 |
100 |
1.00 |
[0.963, 1.000] |
9.1 ± 0.8 |
|
|
中 |
100 |
0.67 |
[0.573, 0.754] |
28.5 ± 4.6 |
|
|
高 |
100 |
0.33 |
[0.246, 0.427] |
71.2 ± 12.1 |
|
堆 (UAF) |
|
|
|
|
|
|
|
低 |
50 |
1.00 |
[0.929, 1.000] |
15.8 ± 2.4 |
|
|
中 |
50 |
1.00 |
[0.929, 1.000] |
16.1 ± 2.7 |
|
|
高 |
100 |
0.00 |
[0.000, 0.037] |
— |
|
逻辑缺陷 |
|
|
|
|
|
|
|
低 |
30 |
1.00 |
[0.884, 1.000] |
3.2 ± 0.3 |
|
|
中 |
30 |
1.00 |
[0.884, 1.000] |
3.3 ± 0.4 |
|
|
高† |
100 |
1.00 |
[0.963, 1.000] |
3.2 ± 0.3 |
CI: Wilson评分区间。TTC: 成功试验的均值 ± 标准差。
† N=100N=100 以在p^L=0.963p^L=0.963下证明p^=1.00p^=1.00(§8.3)。

图2:上下文现实差距(CRG)的量化。 经验p^p^与理论CVSS评分(作者估计;κw=0.87κw=0.87,§8.1)的对比。阴影带:±0.3±0.3评分不确定性。缓解区:加固的高CVSS漏洞变得实际上惰性。逻辑区:p^=1.0p^=1.0,与缓解措施无关。双头箭头标记CRG跨度。
9.1 栈溢出:随机化之墙
在低等级,利用成功,p^=1.00p^=1.00,TTC为12.4 ms。中等等级通过部分金丝雀暴力破解将p^p^降低到0.20,因为非PIE二进制的固定代码段地址;TTC增加300%到52.7 ms反映了这一开销。在高等级,PIE和Full RELRO在N=100N=100次试验中产生p^=0.00p^=0.00;Wilson上界0.037构成一个概率性证明,而不是确定性保证。
9.2 格式字符串:通过信息泄漏绕过缓解
格式字符串类别揭示了针对地址随机化的内在韧性。格式字符串bug提供了一个任意读取原语(%p),从栈中泄漏运行时基地址,动态计算偏移并完全绕过PIE。因此,高等级保持p^=0.33p^=0.33(CI [0.246, 0.427]),随机化增加了利用复杂度(TTC: 9.1 → 71.2 ms),但不构成确定性屏障。
9.3 堆破坏:部分保护的失败
UAF类别提供了关于缓解特异性的最有启发性的发现。低到中等等级的过渡在可利用性上没有变化(两个等级p^=1.00p^=1.00;TTC在统计上无法区分),因为栈金丝雀在架构上对堆段操作是透明的[9]。只有在高等级的完整PIE消除了利用(p^=0.00p^=0.00)。一个报告中等等级二进制绿色checksec状态的安全仪表板针对此漏洞类别提供了危险的虚假保证。
9.4 逻辑缺陷:普遍的盲点
命令注入在所有三个等级上产生p^=1.00p^=1.00,TTC恒定在约3.2 ms;高等级的N=100N=100运行将Wilson下界收紧到0.963。内存安全机制与此攻击向量完全正交。
9.5 缓解有效性矩阵
表4确认没有单一的缓解措施提供广泛的覆盖:主机的安全性是其缓解措施与存在的特定漏洞类别交集的性质。
表4
按漏洞类别的缓解有效性
|
栈溢出 |
部分 |
强 |
部分 |
完全 |
|
格式字符串 |
部分 |
无 |
绕过 |
部分 |
|
堆 (UAF) |
部分 |
无 |
部分 |
完全 |
|
逻辑缺陷 |
无 |
无 |
无 |
无 |
9.6 在双路径攻击图上的端到端蒙特卡洛验证
9.6.1 拓扑与HAVE前配置
为了演示贝叶斯更新在结构复杂攻击图上的非线性传播特性,我们在五节点攻击图GMCGMC(图3)上评估Preach(n4)Preach(n4),该图表示一个规范的OT渗透场景:节点n0n0是攻击者的初始互联网立足点。n1n1是DMZ Web应用服务器,托管高安全等级的栈溢出漏洞(CVSS 8.5,p01(0)=0.85p01(0)=0.85)。n2n2是另一个面向互联网的服务器,受命令注入影响,未应用环境评分(CVSS 7.2,p02(0)=0.72p02(0)=0.72)。n3n3是内部应用汇聚节点,可从n1n1通过格式字符串CVE或从n2n2通过堆UAF CVE到达(p13(0)=0.88p13(0)=0.88,p23(0)=0.75p23(0)=0.75;CVSS分别为8.8和7.5)。最后,n4=n∗n4=n∗是SCADA HMI目标,只能通过n3n3到达,并受部分环境评分的命令注入CVE影响(p34(0)=0.45p34(0)=0.45)。
该图展示了从n0n0到汇聚节点n3n3的两个结构上不同的并行路径:路径A(n0→n1→n3n0→n1→n3),涉及内存破坏利用链;路径B(n0→n2→n3n0→n2→n3),涉及逻辑缺陷利用后跟堆破坏利用。目标n4n4只能通过n3n3到达(一个OR汇聚节点:通过任一路径入侵n3n3就足够了)。此拓扑专门设计用于暴露在具有竞争攻击路径的基础设施中假阳性和假阴性校正之间的非线性交互:跨并行结构的非线性PreachPreach更新无法通过边概率的乘积解析获得,为蒙特卡洛仿真引擎提供了一个真实用例。
HAVE前基线Preach(n4)Preach(n4)通过蒙特卡洛模拟(M=10,000M=10,000次运行)计算:
\\begin{aligned} P(n_3 \\text{ reached})^{(0)} &= 1 – \\left(1 – p_{01}^{(0)} p_{13}^{(0)}\\right)\\left(1 – p_{02}^{(0)} p_{23}^{(0)}\\right) \\\\ &= 1 – (1 – 0.85 \\times 0.88)(1 – 0.72 \\times 0.75) = 0.884, \\tag{14} \\\\ P_{\\text{reach}}^{(0)}(n_4) &= 0.884 \\times 0.45 = 0.398. \\tag{15} \\end{aligned}

图3:五节点双路径攻击图GMCGMC。 n0n0: 攻击者立足点;n1n1: DMZ Web服务器(栈溢出,高);n2n2: 辅助服务器(命令注入,无);n3n3: 内部汇聚节点(OR,可通过路径A或路径B到达);n4∗=n∗n4∗=n∗: SCADA HMI目标。边标签显示HAVE前的CVSS派生权重。
9.6.2 HAVE派生的边权重
第9节的HAVE测量通过式(12)产生以下更新的边权重:

9.6.3 蒙特卡洛场景与结果
表5报告了在M=10,000M=10,000次模拟运行中评估的三个更新场景。场景A和B隔离了在保持互补路径为HAVE前值的同时更新单条路径边的效果,从而分别暴露了假阳性校正(路径A)和假阴性校正(路径B)的个体贡献。场景C执行了操作上现实的五条边同时更新。
场景A(路径A校正;路径B不变)。仅更新p01p01和p13p13将路径A(内存破坏链)从贡献p01(0)p13(0)=0.748p01(0)p13(0)=0.748抑制到p01(HAVE)p13(HAVE)=0.013p01(HAVE)p13(HAVE)=0.013:

这个结果证明HAVE正确地抑制了假阳性攻击路径;然而,路径B持续的HAVE前评估掩盖了沿该路径的真实风险升高。
场景B(路径B校正;路径A不变)。更新p02p02、p23p23和p34p34将路径B(逻辑缺陷/堆链)从p02(0)p23(0)=0.540p02(0)p23(0)=0.540提升到p02(HAVE)p23(HAVE)=0.951p02(HAVE)p23(HAVE)=0.951:

这个结果量化了假阴性低估的严重性:仅CVSS模型部分地将内存安全缓解措施归功于n2→n3n2→n3跳,并对p34p34应用了环境评分,将真实路径B风险低估了3.8倍。
场景C(完整同时HAVE更新)。同时更新全部五条边:

净结果是估计风险增加了124.1%,尽管路径A同时被抑制。这一发现在操作上意义重大:依赖仅CVSS模型的安全操作员会判断此基础设施的风险约为40%(0.398),而HAVE校正后的真实风险约为89%(0.891)。假阴性效应(沿路径B的逻辑缺陷和堆破坏)主导了假阳性校正(沿路径A的加固内存破坏),因为路径B边上的高基础CVSS评分造成了结构性低估,并在并行路径组合中被放大。蒙特卡洛引擎对于计算这种非线性交互至关重要:适用于线性链的乘积形式不适用于双路径OR拓扑。
表5
在GMCGMC上的蒙特卡洛验证(M=10,000M=10,000;图3)
|
预HAVE |
无 |
0.398 |
— |
— |
|
A: 路径A |
p01,p13p01,p13 |
0.246 |
-38.2% |
FP校正 |
|
B: 路径B |
p02,p23,p34p02,p23,p34 |
0.925 |
+132.4% |
FN校正 |
|
C: 完整HAVE |
全部5条边 |
0.891 |
+124.1% |
净效应 |
A/B分别隔离FP/FN校正;C是完整更新。
9.7 敏感性分析:对κκ的鲁棒性
表6展示了在式(11)下,对于κ∈{0.5,1.0,1.5,2.0}κ∈{0.5,1.0,1.5,2.0},预HAVE和后HAVE的Preach(n4)Preach(n4)对CVSS到概率校准指数κκ的敏感性。后HAVE值是在完整同时更新(表5的场景C)下通过式(12)计算的。
两个观察至关重要。第一,预HAVE的PreachPreach在测试范围内变化4.6倍(κ=2.0κ=2.0时为0.140,κ=0.5κ=0.5时为0.647),确认了审稿人的担忧:仅CVSS的基线对先验参数化高度敏感。第二,关键是,后HAVE的PreachPreach在同一范围内仅变化1.12倍(κ=2.0κ=2.0时为0.831,κ=0.5κ=0.5时为0.935),因为经验测量的p^p^值以权重αw≥0.819αw≥0.819进入,先验仅影响小的互补项(1−αw)pij(0)(1−αw)pij(0)。这证明了HAVE的经验校正对先验参数化具有鲁棒性:无论分析员选择何种κκ,后HAVE的风险估计收敛于以测量可利用性数据为基础的一个稳定值。定性结论(对于此基础设施,由于路径B的假阴性,仅CVSS的风险被严重低估)在整个测试范围内是不变的。
表6
敏感性分析:预HAVE和后HAVE的Preach(n4)Preach(n4)作为CVSS校准指数κκ的函数
|
0.5 |
0.647 |
0.935 |
+0.288 |
+44.5% |
|
1.0 |
0.398 |
0.891 |
+0.493 |
+124.1% |
|
1.5 |
0.238 |
0.857 |
+0.619 |
+260.1% |
|
2.0 |
0.140 |
0.831 |
+0.691 |
+493.6% |
|
范围 |
4.62倍 |
1.12倍 |
— |
— |
范围:四个κκ值上PreachPreach最大值与最小值的比率。后HAVE PreachPreach值在场景C(完整同时更新,表5)下计算。
10. 讨论
10.1 对SDT风险模型的影响
第9节的结果表明HAVE系统地重新校准了SDT攻击图中的边权重,这是仅CVSS的先验无法近似做到的。在GMCGMC上的蒙特卡洛验证(表5)表明,仅依赖CVSS派生边权重的安全操作员会严重误判此基础设施的风险状况。假阴性校正(场景B的+132.4%)暴露了当环境评分为在架构上与所利用攻击类别无关的内存安全缓解措施给予信用时所导致的严重低估。κκ敏感性分析表明这一发现独立于所使用的具体线性先验映射。
TTC维度在概率之上增加了一个优先级排序层。两个具有相同p^p^值的攻击步骤可能具有相差一个数量级的TTC值。在蒙特卡洛模拟中将TTC作为边成本集成,使SDT不仅能识别攻击路径是否可能,还能识别其对成本受限的攻击者是否具有经济吸引力[33]。
10.2 HAVE代理本身的安全性分析
考虑了三种攻击场景:
受损的控制器。白名单验证(式(2))和路径净化防止针对未经授权目标执行。目录白名单仅对root可读,不能通过gRPC API修改。
网络窃听和重放。mTLS通道(式(3))防止窃听和重放攻击。每个gRPC会话使用新协商的会话密钥。
资源耗尽。cgroups v2上限(式(1))无论活动并发性如何,都限制总CPU消耗。
10.3 操作部署指南
推荐三种部署配置:
连续监控模式。在低敏感性资产的IT环境中,代理持续运行,并在CVE发布或遥测检测到配置漂移时自动执行验证活动。
计划审计模式。在高安全性IT环境中,活动安排在维护窗口期间进行,需操作员批准。
隔离孪生模式。在OT环境中,维护每个关键资产的高保真VM副本。HAVE仅对这些副本执行验证活动。在此模式下测量的TTC反映了VM环境的时序,可作为攻击路径优先级的有效相对排序指标,但不能直接映射到物理PLC响应时间。
10.4 伦理与法律部署框架
主动利用验证工具的部署引发了重要的伦理和法律考量。在欧盟辖区,NIS2指令强制关键基础设施运营商建立正式的风险管理框架,其中HAVE活动必须被记录为授权的安全评估。当验证活动处理存储个人数据的系统时,GDPR适用,需要数据保护影响评估。在美国,《计算机欺诈和滥用法》(CFAA)对未经授权访问规定了严格责任。因此,HAVE必须在明确授权的边界内部署:白名单机制(式(2))和签名信任根配置在技术层面强制执行此规定。建议组织维护一个正式的验证章程,记录授权范围、负责任的操作员、批准的载荷类别以及适用的监管框架。
10.5 局限性与未来工作
HAVE受其利用库覆盖范围的限制。它使用已知的利用技术测量已知漏洞的可利用性;它无法评估零日漏洞或库中尚未表示的新型攻击技术的风险。如第7.2节所述,测量的p^p^构成在建模攻击者能力水平下的可利用性下界。使用自动利用生成[27][28]和定向灰盒模糊测试[44]能力扩展HAVE将通过允许引擎针对变体攻击模式对应用程序进行压力测试来解决这一问题。
当前的动态阶段需要hypervisor快照基础设施,使其不适用于裸机嵌入式控制器。未来的工作将研究通过CRIU(用户空间检查点/恢复)的轻量级检查点作为替代方案,并将开发针对云原生工作负载的容器化代理部署[38]。
11. 结论
本文提出了主机主动验证引擎(HAVE),这是对SDT范式的一个重大架构扩展,弥合了基于CVSS的理论风险评分与经验测量的主机级可利用性之间的上下文现实差距。通过部署一个执行细粒度静态分析和快照隔离动态利用试验的受安全约束的代理,HAVE产生了真实测量值p^p^和TTC,用经验验证的、主机特定的概率替换了无上下文的漏洞严重性估计。一个形式化特征化的置信权重αwαw(式(13)),源于Wilson评分区间的宽度并与Beta-Binomial后验形式相关(第6.3.3节),为从经验估计到蒙特卡洛风险模拟的不确定性传播提供了原则性基础。与规范Beta-Binomial权重相比,其主要优势在于状态依赖性于p^p^,即使在中等NN下也能正确增加对极端结果的置信度。
我们在四个规范漏洞类别、三个安全等级和两个具有注册CVE标识符的生产二进制上的实验评估确立了五个具有直接操作含义的发现。第一,现代内存加固(PIE、Full RELRO、ASLR)完全中和了栈溢出和堆UAF漏洞的盲利用,在N=100N=100时产生p^=0.00p^=0.00,Wilson上界为0.037。第二,格式字符串漏洞即使在高等价下也因固有的信息泄漏能力而保持p^=0.33p^=0.33(CI [0.246, 0.427])。第三,所有内存安全缓解措施对逻辑缺陷(命令注入)完全无关,在所有等级上它们仍然无条件可利用(p^=1.00p^=1.00),在合成语料库和CVE-2021-42013上都得到了确认。第四,CVE-2021-3156生产二进制结果确认了堆漏洞类别级别的模式(低等效p^=1.00p^=1.00,高等效p^=0.00p^=0.00),确立了泛化性。第五,在五节点双路径攻击图上的端到端蒙特卡洛验证表明,假阴性校正(场景B中+132.4%)可以主导假阳性抑制(场景A中-38.2%),净效应为风险升高+124.1%:仅CVSS模型将此基础设施的真实风险低估了2.24倍。对κ∈{0.5,1.0,1.5,2.0}κ∈{0.5,1.0,1.5,2.0}的敏感性分析确认,后HAVE风险估计仅变化1.12倍,而仅CVSS基线变化4.6倍,证明了经验上对先验参数化的鲁棒性。
未来的研究方向包括集成自动利用生成技术以将覆盖范围扩展到新型攻击变体,为裸机和容器环境开发轻量级检查点,以及将HAVE部署扩展到大规模企业拓扑以评估同时多节点HAVE活动对SDT仿真准确性的总体影响。

