一、背景在信息安全评估中通常需要对资产进行量化分析例如资产价值安全事件损失发生可能性最终风险值这里用 Python 实现一个简单的计算模型通过输入各项指标自动输出最终风险值。二、计算逻辑涉及四个核心计算1. 资产价值BiAjv由以下因素决定保密性C完整性I可用性A业务承载性业务重要性2. 损失值FF √(资产价值 × 影响程度)3. 可能性LL √(威胁 × 脆弱性)4. 风险值RR √(L × F)三、运行效果 资产价值 BiAjv 计算 请输入保密性赋值 (yd-5): 3 请输入完整性赋值 (yd-5): 4 请输入可用性赋值 (yd-5): 5 请输入资产对业务承载性赋值 (yd-5): 4 请输入业务重要性赋值 (yd-5): 5 资产综合价值 BiAjv 7 安全事件造成的损失计算 请输入影响程度 Di (yd-5): 4 安全事件造成的损失 F 5 安全事件发生的可能性计算 请输入威胁赋值 T (yd-5): 3 请输入脆弱性被利用难易程度 Av (yd-5): 2 安全事件发生的可能性 L 2 最终风险值计算 系统组件和单元资产风险值 R 3四、完整代码# -*- coding: utf-8 -*- import math def calculate_biajv(vaj1, vaj2, vaj3, biajca, biv): cia_average (vaj1 vaj2 vaj3) / 3 step2 biajca * cia_average step3 math.sqrt(step2) step4 step3 * biv return round(math.sqrt(step4)) def calculate_loss(vc, di): return round(math.sqrt(vc * di)) def calculate_possibility(t, av): return round(math.sqrt(t * av)) def calculate_risk_value(L, F): return round(math.sqrt(L * F)) if __name__ __main__: print( 资产价值 BiAjv 计算 ) vaj1 float(input(请输入保密性赋值 (yd-5): )) vaj2 float(input(请输入完整性赋值 (yd-5): )) vaj3 float(input(请输入可用性赋值 (yd-5): )) biajca float(input(请输入资产对业务承载性赋值 (yd-5): )) biv float(input(请输入业务重要性赋值 (yd-5): )) vc calculate_biajv(vaj1, vaj2, vaj3, biajca, biv) print(f资产综合价值 BiAjv {vc}) print(\n 安全事件造成的损失计算 ) di float(input(请输入影响程度 Di (yd-5): )) loss calculate_loss(vc, di) print(f安全事件造成的损失 F {loss}) print(\n 安全事件发生的可能性计算 ) t float(input(请输入威胁赋值 T (yd-5): )) av float(input(请输入脆弱性被利用难易程度 Av (yd-5): )) possibility calculate_possibility(t, av) print(f安全事件发生的可能性 L {possibility}) print(\n 最终风险值计算 ) risk calculate_risk_value(possibility, loss) print(f\n系统组件和单元资产风险值 R {risk})