iT邦幫忙

2026 iThome 鐵人賽

DAY 27
0
Security

30 天走進 EU CRA:從資安治理一路走到 Product Security系列 第 27

制度、流程、Evidence 都有了,真的串得起來嗎?我們可以嘗試做一次 End-to-End CRA Mock Audit

  • 分享至 

  • xImage
  •  

寫在前面:

這個系列主要想記錄我們在研究及參與 EU Cyber Resilience Act(CRA)導入過程中的一些心得、觀察與個人解讀,也希望藉這 30 天和同樣關注 CRA、Product Security 的朋友交流。

CRA 畢竟是歐盟法規,因此文章內容僅代表個人現階段的理解與看法,不代表主管機關或法規的正式解釋,也不代表文中提到的做法一定能被歐盟接受。相關要求仍應以 CRA 正式法規、European Commission 後續 Guidance、Harmonised Standards 及主管機關實務為準。

今天談的 Mock Audit(模擬稽核),也不是 CRA 規定企業一定要執行的活動,而是當制度、流程與 Evidence 逐漸建立之後,我們可以嘗試採用的一種驗證方式:在 CRA 全面適用以前,實際挑一個 Product,從頭到尾跑一次,看看整套機制是不是真的串得起來。


做到這裡,可以開始問一個很簡單的問題:真的跑得起來嗎?

Day 26 談到 Evidence Management(證據管理)時,最後留下了一個想法:

Repository 解決的是「東西放在哪裡」,Traceability 解決的是「這份東西到底證明了什麼」。

但再往下,其實還有第三個問題:

這些東西真的串得起來嗎?

做到現在,Product Classification(產品分類)有了、Cybersecurity Risk Assessment(資安風險評估)有了、SSDLC(安全軟體開發生命週期)建了、SBOM 可以產了、PSIRT 建立了、Supplier Security(供應商資安)也開始做了,Technical Documentation(技術文件)也逐漸整理起來。

如果 Dashboard 上面全部都是綠燈,是不是就代表:

CRA Ready?

可能還不能這麼快下結論。

因為每一個 Process 都存在,跟這些 Process 能不能在同一個 Product 上真正串起來,其實是兩件不同的事情。

所以到了這個階段,我們可以嘗試做一次 End-to-End CRA Mock Audit。


一、不是再做一次「逐條 Checklist Audit」

一般 Compliance Review(合規檢視)很容易從 Requirement Checklist 開始。

例如:

Article 13?有。

Annex I?有。

SBOM?有。

PSIRT?有。

Technical Documentation?有。

最後得到:

95% Completed。

這種方式當然有價值,尤其在 Gap Assessment(差距分析)階段,很適合確認哪些 Requirement 還沒有被處理。

但如果 CRA 已經逐漸進入 Implementation(落實)階段,我們可以再增加另外一種測試方式。

不是:

Requirement-by-Requirement(逐項要求)。

而是:

Product-by-Product(逐項產品)。

也就是挑一個真正預計進入 EU Market 的 Product,從最前面的 Applicability(適用性)開始,一路往後 Trace。


二、第一步:先挑一個 Product

假設今天抽到:

Product X,Version 3.2。

第一個問題可以先不要問:

「Risk Assessment 在哪裡?」

而是:

「為什麼 Product X 適用 CRA?」

接著再一路往下問:Product with Digital Elements(具數位元素產品)的判斷依據是什麼?Manufacturer(製造商)是哪一個 Legal Entity(法律實體)?Product 是否進入 EU Market?是否有需要考慮的 Exclusion(排除情形)?最後 Classification 是什麼?

這時第一條 Evidence Chain 就開始形成:

Product → Applicability → Classification → Decision Evidence

這一步很重要,因為如果連「為什麼這個 Product 被納入 CRA」都說不清楚,後面即使準備了很多 Technical Documentation,最前面的適用性判斷仍然可能缺少足夠的依據。


三、第二步:Classification 的答案是怎麼來的?

假設 Product X 最後被判斷為:

Default Category(預設類別)。

接著可以繼續往下追:

為什麼是 Default Category?

Classification Record(分類紀錄)在哪裡?

誰做 Assessment(評估)?

誰 Review(覆核)?

Product 後來有沒有增加新的 Function?

如果 Product 發生 Change,Classification 有沒有重新確認?

Mock Audit 在這裡要確認的,不只是:

「答案是什麼?」

還包括:

「這個答案是怎麼來的?」

因為幾年後真正重要的,可能不是還有人記得 Product X 是 Default Category,而是公司仍然找得到:

當初為什麼這樣判斷。


四、第三步:拿出 Product Cybersecurity Risk Assessment

接下來就可以開始往 Product Security 深入。

例如 Product X 的 Intended Purpose(預期用途)是什麼?Reasonably Foreseeable Use(合理可預見使用)怎麼考慮?有哪些 Asset(資產)?有哪些 Attack Surface(攻擊面)?Threat Scenario(威脅情境)怎麼識別?Risk 又是怎麼評估的?

這時不要只確認:

「有 Risk Assessment。」

我們可以直接從裡面抽一個 Risk。

例如:

RA-017:Unauthorized Access(未授權存取)。

然後開始一路往下追。


五、這時才真正開始做 Traceability Test

假設 RA-017 對應一項 Security Requirement:

SR-023。

接著就可以繼續問:

SR-023 是什麼?

R&D 怎麼 Implement(實作)?

對應哪一個 Security Control(安全控制)?

怎麼 Verification(驗證)?

Test Case 是哪一個?

Test Result 在哪裡?

最後可能形成:

RA-017

SR-023

Security Control

TC-041

PASS

Product X Version 3.2

這就是 Day 26 談到的 Evidence Chain。

如果這條 Chain 可以一路走完,它所能證明的事情,可能比單純看到一張「Annex I = 100% Completed」的 Checklist 更多。

因為它代表:

Requirement、Risk、Design、Implementation、Test 與 Evidence 之間真的有關係。


六、第四步:拿出 Product X Version 3.2 的 SBOM

接下來可以直接要求:

「請提供 Product X Version 3.2 的 SBOM。」

注意,這裡不是只問:

「有沒有 SBOM?」

而是指定:

Product + Version。

拿到之後,可以確認 Component Version 是否清楚、Third-party Component 是否能識別、Open Source Component 是否有納入,以及這份 SBOM 是否真的對應 Product X Version 3.2。

接著再隨機挑一個:

Component A。

然後問一個更實際的問題:

如果明天 Component A 出現一個 Critical Vulnerability(重大漏洞),公司怎麼知道 Product X 有沒有受到影響?

到了這一步,SBOM 才真正從「有一份文件」,開始變成可以實際使用的 Product Security Capability。


七、這一題其實同時在測 SBOM 與 PSIRT

因為 SBOM 本身不是終點。

真正的流程可能是:

Component

Vulnerability Intelligence(漏洞情資)

Product Impact Assessment(產品影響評估)

PSIRT

Remediation / Mitigation(修復/緩解措施)

Customer Communication(客戶溝通)

所以 Mock Audit 到這裡,可以不再只看文件,而是直接加入 Scenario(情境)。

例如:

「今天 Component A 公布一個 Critical Vulnerability。」

然後開始問:

誰會收到資訊?

誰負責分析?

Product Owner 怎麼知道?

哪些 Product Version 受到影響?

R&D 怎麼評估 Fix / Mitigation?

PSIRT Case Record 留在哪裡?

這時測的已經不只是「SBOM 有沒有」,而是:

SBOM 能不能支援真正的 Vulnerability Response(漏洞應變)。


八、第五步:再把 Scenario 推進到 Article 14

接著可以再增加一個條件:

這個 Vulnerability 已經有實際被利用的資訊。

這時就能進一步測試 CRA Article 14 的 Assessment Process(評估流程)。

例如誰啟動 Article 14 Applicability Assessment?誰負責判斷 Reporting Trigger(通報觸發條件)?24 小時 Early Warning(早期預警)與後續 Notification(通知)流程由誰負責?需要哪些資訊?Reporting Decision(通報決策)與相關 Evidence 又保存在哪裡?

由於 CRA Article 14 的部分通報義務自 2026 年 9 月 11 日起開始適用,如果現在要安排 CRA Readiness Test,這一段其實可以列為相對優先的驗證項目。

但這裡有一個界線需要注意:

Mock Audit 的目的不是替個案做法律判定,而是確認公司有沒有一套可以在時限內完成 Assessment、Decision、Escalation 與 Reporting 的機制。

這才是企業可以事先準備與驗證的能力。


九、還可以故意增加一個條件:「現在是星期六晚上」

這可能有點像故意找麻煩,但實際 Vulnerability 或 Incident 不會挑星期一上午 10 點發生。

所以可以繼續問:

Product Owner 休假怎麼辦?

PSIRT 有沒有 Backup Contact(備援聯絡人)?

Legal / Compliance 找得到嗎?

Reporting Account 誰有權限?

關鍵資訊拿不到時怎麼 Escalate(升級處理)?

這些事情平常只看 Procedure 不一定看得出問題。

Scenario 一跑,很快就可能知道:

Process 是 Operational(可實際運作),還是只在正常辦公時間看起來很完整。


十、接著,從 SBOM 裡抽一個 Supplier

假設剛剛的 Component A 是 Third-party Component(第三方元件)。

接著就可以繼續問:Supplier 是誰?Security Requirement 有沒有傳遞?Vulnerability Notification Mechanism(漏洞通知機制)有沒有建立?Security Fix 誰負責?Supplier Support 到什麼時候?EOL / EOS(生命週期終止/支援終止)怎麼通知?相關 Due Diligence(盡職調查)紀錄在哪裡?

這時 Supplier Security 就不再只是:

「Procurement 每年有做 Vendor Assessment。」

而是直接跟某一個 Product、某一個 Component 以及某一個 Product Risk 串在一起。

這樣的驗證方式,也更容易看出 Product Security Supply Chain(產品資安供應鏈)不同環節之間是否真的有連結。


十一、再來,確認 Product Support Period

下一題:

Product X 的 Support Period(支援期間)多久?

接著再問:怎麼決定的?跟 Product Lifecycle 對得起來嗎?相關資訊怎麼維護?Product Team 知不知道?

然後把剛剛的 Component A 再拿回來:

Supplier 對 Component A 的 Security Support Period,跟 Product X 的 Support Strategy 對得起來嗎?

例如 Product 預計維持較長的 Support,但其中一個 Critical Component 很早就停止 Security Support。

這時問題可能就不再只是 Supplier Management,而會開始涉及:

Product Lifecycle Risk(產品生命週期風險)。

這也是 Mock Audit 很值得驗證的一件事:不是只確認 Process 存在,而是找出不同 Process 接縫之間的 Gap。


十二、接著故意抽一次 Product Change

假設 Product X 從 Version 3.1 升到 Version 3.2。

先問:

「改了什麼?」

假設答案是:

新增一個 Communication Interface(通訊介面)。

那就可以繼續往下追:Cybersecurity Risk Assessment 有沒有重新檢視?Threat Model 有沒有受到影響?Security Test 是否需要更新?SBOM 是否改變?Technical Documentation 是否同步?是否有執行相應的 Change Security Impact Assessment?

以及 Day 17 談過的:

是否需要進一步評估 Substantial Modification(實質修改)?

這一段其實特別值得測。

因為很多制度在:

第一次建立時都很完整。

真正容易斷掉的地方,反而是:

第二次、第三次 Product Change。


十三、走到這裡,再正式要求 Technical Documentation

前面 Product、Risk、SBOM、Supplier、Change 都走過一輪後,再要求:

「請提供 Product X Version 3.2 的 Technical Documentation。」

接著確認 Product Description、Intended Purpose、Design / Architecture、Cybersecurity Risk Assessment、Annex I Mapping、適用的 Standards、Security Test Evidence、SBOM,以及其他支撐 Conformity 的相關資訊。

但這時重點已經不是:

Technical Documentation 有沒有一個 PDF。

而是:

裡面的資訊能不能跟剛才一路看到的 Product Reality 對得起來。

這兩件事情的差別其實非常大。


十四、這時不只看「有沒有」,而是看「對不對得起來」

例如 Technical Documentation 寫的是:

Product Version 3.2。

結果 SBOM 是:

Version 3.1。

Risk Assessment 最後更新時 Product 還是:

Version 2.8。

Penetration Test Report 則:

看不出測試的是哪個 Build。

這時每一份文件可能都存在,Checklist 也可能全部打 Yes。

但整體:

不一定能形成可信的 Evidence Chain。

所以 Day 26 談的 Version Traceability(版本可追溯性),到了 Mock Audit 就會真正開始發揮作用。


十五、再往下,就是 Conformity Assessment

既然 Product X 的 CRA Classification 已經確認,接著可以問:

Conformity Assessment Route(符合性評估路徑)是什麼?為什麼?

如果採取適用的 Internal Control / Self-assessment(內部控制/自我評估)方式,就要進一步確認 Supporting Evidence 是否完整。

如果產品情境需要 Third-party Conformity Assessment(第三方符合性評估),則可以再確認相關 Assessment Record、Certificate 或其他 Evidence 是否能與 Product Version 對應。

走到這裡:

Product Security 就開始正式接到 Product Compliance(產品合規)。

而這個 Interface,也可能是 CRA 導入過程中特別值得驗證的一個地方。


十六、最後才走到 EU DoC 與 CE

接著才是 EU Declaration of Conformity(EU DoC,歐盟符合性聲明)以及 CE Marking。

這裡要確認的重點仍然是:

它們跟前面的 Product 到底是不是同一個東西。

例如 Product Identification 是否一致?Applicable Legislation 是否正確?使用的 Standards / Specifications 是否與前面的 Conformity Basis 一致?Signatory 與內部核准程序是否清楚?

做到這裡,才真正從:

Product Security → Product Compliance → Market Release

一路串起來。


十七、但 Mock Audit 到這裡還不能結束

因為 CRA 並不是 Product Release 之後就停止。

所以還可以繼續問:Product X 現在有沒有 Open Vulnerability?Vulnerability Monitoring 誰負責?Security Update 怎麼 Release?Customer 怎麼取得?Support Period 還剩多久?Product Change 怎麼持續被 Review?

也就是把 Audit Scope 從:

Pre-market(上市前)

一路延伸到:

Post-market(上市後)。

這樣才比較接近完整的 Product Cybersecurity Lifecycle(產品資安生命週期)。


十八、所以 End-to-End Mock Audit,其實就是嘗試走完一條 Product Lifecycle

如果把剛才的內容縮成一條路徑,大概會是:

Product Inventory

CRA Applicability

Classification

Cybersecurity Risk Assessment

Security Requirements

SSDLC / Implementation

SBOM / Component Management

Security Verification / Testing

Supplier Security

PSIRT / Vulnerability Handling

Article 14 Assessment / Reporting Process

Technical Documentation

Conformity Assessment

EU DoC / CE

Post-market / Support

如果這整條真的可以跑完,而且 Evidence、Owner、Version 與 Decision 都能對得起來,至少可以比較有信心地說:

這個 Product 的 CRA Process 大致串起來了。


十九、那 Product 很多時,要怎麼挑 Sample?

如果公司有幾百甚至幾千個 Product,當然不可能每一個都做完整的 End-to-End Mock Audit。

所以可以考慮採:

Risk-based Sampling(風險導向抽樣)。

例如優先考慮:

  • EU Business Impact 較高的 Product
  • Software / Firmware 較複雜的 Product
  • Third-party Components 較多的 Product
  • Legacy Product(既有/較舊產品)
  • 近期有重大 Product Change 的 Product
  • Classification 或 Conformity Route 較複雜的 Product

如果公司本身有 Important / Critical Products,也可以依實際風險與準備需求考慮納入。

相較於完全 Random Sampling,Risk-based Sampling 的好處是:

在還來得及改善的時候,盡量找到制度真正脆弱的地方。


二十、所以 Mock Audit 找到 Gap,反而可能是好事

假設第一次 End-to-End Mock Audit 跑完,找到 20 個 Gap。

例如 Product Owner 不清楚、SBOM Version 對不起來、Supplier Support Period 不知道、Article 14 Backup Contact 沒建立、Test Evidence 找不到,或者 Technical Documentation 沒有跟 Product Change 更新。

其實不用太意外。

因為:

這本來就是 Mock Audit 的目的。

如果這些問題能在正式全面適用前的 Internal Review、Exercise 或 Mock Audit 被發現,公司就還有時間改善。

所以:

Mock Audit 的價值不是證明我們已經準備得很好,而是提早發現我們哪裡還沒有準備好。

這兩者看起來很像,但管理上的意義完全不同。


二十一、甚至可以故意讓 Mock Auditor 不熟這個 Product

如果 Mock Auditor 就是負責建立 CRA Process 的人,他可能知道每一份 Evidence 在哪裡、知道哪個人要找,甚至看到一個流程斷點時,會下意識地幫忙把它補起來。

所以反而可以考慮找一個:

了解 Security / Compliance,但不熟這個 Product 的人。

然後讓他按照正式 Process 去找 Owner、Evidence、Decision 與 Record。

如果一個不熟 Product 的人仍然可以沿著制度把整條 Chain 走完,至少代表:

Knowledge 已經進入 Process,而不是只存在某幾個人的腦袋裡。

這其實也是制度成熟度一個很實際的驗證方式。


二十二、最後,還可以故意測 Management Escalation

假設 Mock Audit 過程中發現 Product X 有一個 High Residual Risk(高殘餘風險)。

R&D 認為 Fix 會 Delay Release,Product Team 認為一定要準時上市,Security 則認為目前的 Risk Treatment 不足。

這時可以問:

誰決定?

Decision Authority(決策權責)在哪裡?Risk Acceptance(風險接受)由誰核准?需要哪些資訊?Decision Record 留在哪裡?

如果答案是:

「到時候再找主管討論。」

那可能代表:

Governance 還有 Gap。

所以 End-to-End Mock Audit 最後測到的,其實已經不只是 Document、Tool 或 Process。

它還會測到:

Organization Decision-making(組織決策能力)。

而這也剛好回到 Day 20 談過的 CRA RACI 與 Governance。


Day 27 小結|我們想測的不是「文件有沒有」,而是一個 Product 能不能從頭走到尾

到了這個階段,對 CRA Audit 的思考可以慢慢從:

Compliance Checklist

再往前一步變成:

End-to-End Product Traceability(端到端產品可追溯性)。

我們想確認的不只是:

「有沒有 Risk Assessment?」

而是:

Risk 有沒有變成 Security Requirement?Security Requirement 有沒有被 Implement?Implementation 有沒有被 Test?Test 有沒有留下 Evidence?Evidence 對不對得上 Product Version?

再往後,Product Change 發生時有沒有重新檢視?SBOM 能不能支援 Vulnerability Analysis?Supplier Support 跟 Product Lifecycle 對不對得起來?Technical Documentation 能不能反映實際 Product?上市之後 Vulnerability Handling 與 Support Mechanism 還有沒有人持續維護?

如果這整條 Chain 都可以走完,我們或許才能更有信心地說:

CRA 開始從「一套制度」,真正變成「一種 Product Security Capability」。

所以 Mock Audit 最大的價值,也不一定是最後開出幾個 Finding(發現事項)。

更重要的是:

在真正需要這套機制以前,先讓我們知道哪裡還跑不起來。

這也跟 Day 26 的 Evidence Management 接在一起:

Day 26 問的是:「Evidence 能不能追?」

Day 27 再往前一步問:「整個 Product Lifecycle 能不能一路追到底?」

以上仍然只是目前研究及參與 CRA 導入後的一些心得、解讀與想法,希望拿出來和大家交流。

CRA 並沒有規定企業一定要依本文方式執行 End-to-End Mock Audit。這比較像是把 Risk-based Audit(風險導向稽核)的思維,延伸到 Product Cybersecurity Compliance(產品資安合規)的一種嘗試。

當制度、流程、Owner 與 Evidence 都逐漸建立之後,與其只問「我們做完了多少?」,或許也可以找一個 Product,真的從頭到尾跑一次看看。

因為跑得完,才比較有機會知道:

這些原本分散在不同部門、不同流程、不同系統裡的 CRA 要求,是否真的已經串成一套可以運作的能力。


Day 28 預告|CRA Project 結案之後,誰繼續做?我們可以開始思考 CRA Operating Model

假設到了:

2027 年 12 月。

Product 完成評估,Procedure 建好了,SBOM 有了,PSIRT 跑得動,Technical Documentation 也整理完成,Conformity Assessment 的流程也已經建立。

這時:

CRA Project 可以結案了嗎?

可以結束的也許是:

Project。

但不能跟著結束的是:

Capability。

因為隔天可能出現新的 CVE,下個月 Product Release 新 Version,半年後 Supplier Component 宣布 EOL,一年後 Product Architecture 又發生 Change。

如果每一次發生這些事情,都還要重新把原本的 CRA PMO 找回來問:

「這個 CRA 要怎麼處理?」

那可能就需要重新思考:

我們完成的是 CRA Project,還是真正建立了 CRA Operating Model(營運模式)?

所以 Day 28,接著想聊的就是這個轉折:

如何讓 CRA 從一次性的 Compliance Project,慢慢變成 Product、R&D、Product Security、PSIRT、Supplier Management 與 Product Compliance 原本就會做的日常工作。

也就是:

CRA 專案結束之後,CRA 到底要「住」在哪裡?


上一篇
CRA 不只要「有做」,還要「證明做過」:談 Evidence Management 與 Traceability
系列文
30 天走進 EU CRA:從資安治理一路走到 Product Security27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言