Skip to content

Latest commit

 

History

History
74 lines (54 loc) · 3.4 KB

File metadata and controls

74 lines (54 loc) · 3.4 KB

ADR-002: 七維度加權評分演算法設計(Superseded)

欄位 內容
狀態 Superseded by ADR-004(等級閾值)、ADR-005(新增 M8 權重)
日期 2026-03-16
決策者 CyPulse 開發團隊
影響範圍 cypulse/scoring/

⚠️ 閱讀提示:本 ADR 的「等級劃分」與「權重分配」已被後續 ADR 修訂, 內文保留作為歷史決策紀錄。現行版本請見:

  • 等級閾值:ADR-004「GRADES 等級閾值線性化」— A(90-100)/B(75-89)/C(60-74)/D(0-59)
  • 權重:ADR-005「M8 雲端資產暴露模組設計」— M5 10%→8%、M7 5%→3%、新增 M8 4%
  • 現行 source of truthcypulse/scoring/weights.py WEIGHTSGRADES 常數

背景

EASM 平台需要將七個異質維度(網站安全、IP 信譽、網路服務…)合併為單一 0-100 量化分數,同時保留各維度的可解釋性,讓資安人員能快速識別高風險面向。

決策

採用加權扣分制:每個模組從滿分開始扣分,依風險嚴重度(critical/high/medium/low)決定扣分幅度,最後加權加總得出總分。

權重分配

⚠️ 部分被 ADR-005 取代。以下為 M1-M7 原始權重,現行版本於 ADR-005 調整:M5 10%→8%、M7 5%→3%,並新增 M8 雲端資產暴露 4%。總和仍為 100%。

模組 維度 權重(ADR-005 後) 滿分 理由
M1 網站服務安全 25% 25 HTTP 是主要攻擊面,涵蓋 Header、TLS、Nuclei 漏洞
M2 IP 信譽 15% 15 黑名單直接影響可信度與郵件送達率
M3 網路服務安全 20% 20 暴露端口是高風險入口,高於 IP 信譽
M4 DNS 安全 15% 15 DNS 劫持影響範圍廣,與 IP 信譽同級
M5 郵件安全 10% → 8% 8 SPF/DKIM/DMARC 為釣魚/偽冒的防線
M6 暗網憑證外洩 10% 10 已洩漏憑證直接可被攻擊者利用
M7 偽冒域名偵測 5% → 3% 3 外部行為,企業直接控制能力有限
M8 雲端資產暴露 4%(ADR-005 新增) 4 雲端 bucket 公開暴露屬高頻 EASM 事件

權重總和:100%,滿分總和:100 分。

等級劃分

⚠️ 已被 ADR-004 取代。以下為原始設計,現行閾值為 A(90-100)/B(75-89)/C(60-74)/D(0-59)(見 ADR-004)。

等級 分數範圍(已被 ADR-004 取代) 意義
A 90-100 良好管控
B 80-89 有待改善
C 70-79 風險偏高
D 0-69 嚴重暴露

替代方案

方案 捨棄原因
平均分法 無法反映各維度攻擊面差異
CVSS 映射 跨維度難以統一,複雜度過高
純計數法 不同嚴重度的 findings 無法區分
百分位排名 需要大量歷史資料,開源版本不可行

影響

  • cypulse/scoring/weights.py:常數定義(WEIGHTS、GRADES、get_grade())
  • cypulse/scoring/engine.py:計算邏輯(加權加總)
  • 所有分析模組 run() 回傳 ModuleResult,其 score 欄位範圍為 0 ~ max_score

技術債

  • D 等級範圍(0-69)過大,未來可考慮細分 D+/D-
  • 等級閾值目前為固定常數,未來可考慮依產業別動態調整