National Central University
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Educational Big Data Challenge
Claim or create a course
Try an AI Scenario Task
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

3

Local AI

--

Uedu Code

--

中央大學 AQI 72 24°C PM2.5 13
AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

Unit 18

弱點揭露與修補管理

負責任揭露、CVE、CVSS 與修補優先順序
Interaction 25 minute(s)

Learning Objectives

  • 說明協調揭露的流程,以及發現他人系統弱點時的正確作法與法律風險
  • 區分 CVE 與 CWE,並依 CVSS v3.1 公式計算基準分數
  • 說明 CVSS 基準分數的限制,以及它與風險的差別
  • 綜合分數、實際遭利用情形與資產重要性,排定修補的優先順序

弱點的揭露與協調

一位學生使用選課系統時注意到,改動網址中的編號可以看到其他同學的資料(第 10 課)。接下來的處理方式會影響許多人:直接公開可能讓更多人利用這個問題,繼續試探可能觸法,不告知校方則問題會一直存在。

協調揭露(coordinated vulnerability disclosure)是目前常用的作法:發現者先通知廠商或系統管理者,雙方協調修補時程,修補完成後再公開說明。早期文獻常稱為「負責任揭露」(responsible disclosure)。依 CERT/CC 的指南,過程涉及發現者、廠商、協調單位與系統部署者,協調單位在雙方無法直接溝通時協助傳遞資訊。

組織可以發布 security.txt(放在網站的 /.well-known/ 路徑下)說明回報管道與揭露政策。臺灣的 TWCERT/CC 參與 CVE 計畫並擔任編號管理者(CNA),也提供協調揭露的管道。

發現他人系統弱點時的作法。 善意的動機並不等於獲得授權。《刑法》第 358 條規定無故輸入他人帳號密碼、破解保護措施或利用系統漏洞而入侵他人電腦者的刑責;第 359 條規定無故取得、刪除或變更他人電磁紀錄致生損害者的刑責;第 363 條規定第 358 至 360 條之罪須告訴乃論。「無故」的判斷要依個案認定。以上為條文摘述,不構成法律意見(第 1 課)。

一般原則是:

  • 看到問題就停止,不繼續擴大測試,不存取或下載他人資料
  • 記下時間、網址與觀察到的現象,內容足以讓對方重現即可
  • 透過官方管道回報:security.txt、揭露政策、學校資安窗口;校園網路另有臺灣學術網路危機處理中心(TACERT)的資安通報窗口;找不到窗口時可洽 TWCERT/CC
  • 給對方修補的時間,不以公開或付款作為要求的條件
  • 想要深入研究時,在自己架設的環境中重現,或參加有明確授權範圍的計畫

互動練習:發現弱點後的作法判斷

情境:你在使用校園選課系統時,發現改動網址的編號可以看到別人的選課紀錄。請判斷下列作法是否適當,再按「檢查」。

CVE、CWE 與 CVSS

三個常見的縮寫各自回答不同的問題:

  • CVE:這是哪一個已知弱點。例如 CVE-2014-0160(OpenSSL 的 Heartbleed)
  • CWE:這屬於哪一類軟硬體缺陷。例如 CWE-89(SQL 注入)、CWE-862(缺少授權)
  • CVSS:這個弱點本身的嚴重程度。例如 7.5(高)

CVE 為公開揭露的弱點提供共同的編號,讓不同廠商與工具指的是同一件事。CWE 是社群維護的缺陷類型清單。

CVSS v3.1 的基準分數由八項指標計算:可利用性(攻擊途徑、複雜度、所需權限、使用者互動)、影響(機密性、完整性、可用性),以及範圍(弱點的影響是否跨越原本的安全邊界)。公式如下,權重見規格第 7.4 節:

ISS = 1 - (1 - C) × (1 - I) × (1 - A)
Exploitability = 8.22 × AV × AC × PR × UI

範圍不變:
Impact = 6.42 × ISS
BaseScore = Roundup(min(Impact + Exploitability, 10))

範圍改變:
Impact = 7.52 × (ISS - 0.029) - 3.25 × (ISS - 0.02)^15
BaseScore = Roundup(min(1.08 × (Impact + Exploitability), 10))

Roundup 是無條件進位到小數第一位。影響為 0 時分數為 0。等級:0.1~3.9 低、4.0~6.9 中、7.0~8.9 高、9.0~10.0 嚴重。

版本現況。 CVSS v4.0 於 2023 年 11 月發布,評分改以 MacroVector 查表與內插計算。主要差異包括:取消範圍(Scope),改為分開評估弱點所在系統與後續系統的影響;基準指標新增攻擊條件(Attack Requirements);原本的時間指標調整為威脅指標(Threat);新增不影響分數的補充指標(Supplemental)。分數要標明組成,例如 CVSS-B(只有基準)、CVSS-BT、CVSS-BTE。目前 v3.1 與 v4.0 並存,同一筆 CVE 可能有不同版本的分數,閱讀時要確認版本。本課以公式公開、方便驗算的 v3.1 練習。

互動練習:CVSS v3.1 基準分數

依序完成任務。計算器真的依規格公式計算,可以用「公開向量」載入真實弱點的分數作為對照,這些向量來自 NVD。

CVSS 基準分數的限制

FIRST 的 v4.0 使用指南表示,基準分數衡量的是嚴重程度而不是風險,不應單獨用於評估風險。常見的限制如下:

  • 沒有資產資訊:相同弱點出現在公開的成績系統與隔離的測試機,基準分數相同
  • 沒有利用情形:分數不會告訴你弱點是否正在被攻擊
  • 評分者之間有差異:CVE-2025-32711 的 v3.1 分數,NVD 資料同時列出 Microsoft 的 9.3 與 NVD 的 7.5,差別在於範圍與完整性的判斷
  • 高分不一定最急迫,中分也不一定不重要:成績匯出 API 的 6.5 屬於「中」,對學校的影響可能很大;Heartbleed 的 7.5 只到「高」,出問題的卻是廣泛使用的基礎元件

補充分數不足的資訊來源包括:

資訊 回答的問題 限制
CISA KEV 這個弱點是否已知遭到利用 只列出已確認的案例,不在清單上不代表沒有被利用
FIRST EPSS 未來 30 天內遭利用的機率估計(0 到 1) 這是模型估計,不考慮你的環境
組織的資產清單 系統重要性、是否對外、存放什麼資料 需要組織自行維護

KEV 的收錄條件是已指派 CVE 編號、有可靠證據顯示已遭利用,以及有明確的修補或緩解方式。美國聯邦民間機關的修補期限原由 BOD 22-01 規定;2026 年 6 月的 BOD 26-04 取代了它,改以四項因素決定期限:是否對外、是否列入 KEV、能否自動化利用、技術影響的程度。這些指令只約束聯邦民間機關,CISA 也鼓勵其他組織參考。

查證的限度。 撰寫本課時 cisa.gov 無法以程式讀取,上一段依搜尋摘要與資安業者、媒體的轉述整理,收錄條件多來自 2021~2022 年的資料。實際內容請以 CISA 的官方頁面為準。

互動練習:修補優先順序

某校本週只有足夠的人力處理部分修補。請綜合分數、是否遭利用、資產重要性與對外程度排定順序,排在上方的先修。此題只檢查關鍵的先後關係,有多種合理的排列。

修補管理與依賴套件

修補管理是持續的流程:知道自己有哪些系統與軟體、取得弱點資訊、評估優先順序、測試並部署、確認修補生效。修補也有風險,可能造成服務中斷,所以高風險的系統要有測試與回復的程序。無法立即修補時,可以先採取緩解措施,例如暫時關閉功能或限制存取,並記錄期限。

許多弱點出現在依賴的第三方套件之中。軟體物料清單(SBOM,software bill of materials)是正式記錄軟體組成元件及其供應鏈關係的文件,讓組織在新弱點公布時能較快查出受影響的系統。SBOM 只提供清單,不會修補問題,也需要持續更新。

Heartbleed 與 Log4Shell 的教訓

以下兩個案例只討論影響與教訓。

Heartbleed(CVE-2014-0160,2014)。 OpenSSL 1.0.1 至 1.0.1f 的 TLS 實作錯誤,使遠端可以讀取伺服器部分記憶體,其中可能包含私鑰、帳號密碼與工作階段資料(官方說明網站)。這個案例的教訓有三點:

  • 更新軟體只能阻止之後的外洩。私鑰可能已經外洩,所以還要撤銷舊憑證、產生新金鑰、使工作階段失效,並請使用者更換密碼
  • 說明網站指出,利用過程不會在日誌留下異常痕跡,所以無法由日誌確認是否曾遭攻擊(第 16 課:沒有告警不代表沒有事件)
  • 廣泛使用的基礎元件出現問題時,影響範圍遠大於單一分數所呈現的

Log4Shell(CVE-2021-44228,2021)。 Java 日誌函式庫 Apache Log4j 2 的弱點,受影響版本會依日誌訊息內容連線到外部服務,可能導致遠端執行程式。Apache 的公告列出 CVSS 10.0,修補版本為 2.3.1(Java 6)、2.12.2(Java 7)、2.15.0(Java 8 以上)。NVD 紀錄顯示 CISA 在 2021 年 12 月 10 日就將它列入 KEV。這個案例的教訓有兩點:

  • 許多組織無法立即回答「我們哪些系統用了這個套件」,因為它常常是間接依賴,這是 SBOM 受到重視的原因之一
  • 公告之後的第一個修補版本未必是最後一版:2.15.0 之後又公布 CVE-2021-45046(公告說明 2.15.0 的修補在部分非預設設定下不完整),Java 8 以上需要再升級到 2.16.0,之後還有其他相關弱點。修補管理要持續追蹤

重點整理

  • 協調揭露:先通知、協調修補、修補後公開;發現他人系統的問題時應停止操作,透過官方管道回報,善意不等於授權
  • CVE 指特定弱點,CWE 指缺陷類型,CVSS 描述弱點本身的嚴重程度
  • CVSS v3.1 與 v4.0 並存,閱讀分數要確認版本;基準分數不等於風險
  • 修補順序要綜合已知遭利用的紀錄(KEV)、遭利用機率的估計(EPSS)、資產重要性與對外程度
  • 修補後還要處理可能已經外洩的金鑰與憑證;SBOM 有助於查出受影響的系統,但它本身不會修補問題

下一課討論一種目前沒有完整解法的弱點:提示注入。

小測驗

1.

CVE 與 CWE 的差別是什麼?

2.

修補了 Heartbleed 的伺服器,為什麼還要更換憑證與金鑰?

3.

一個弱點不在 CISA KEV 清單上,可以得到什麼結論?

4.

你在校園系統發現存取控制的問題,為了讓校方重視,下列作法何者適當?

5.

依 CVSS v3.1,範圍(Scope)改變對分數有什麼影響?

6.

SBOM 能解決什麼問題?

第 1 次作答
這一課完成了!
Next lesson:提示注入
你目前沒有登入,學習進度只存在這個瀏覽器。 Login 後,進度會跟著帳號,換電腦也看得到。