前言 (Introduction)

本篇文章旨在依序整理國際資訊系統安全認證專家 (Certified Information Systems Security Professional, CISSP) 的八大知識領域 (Domain) 核心概念,為準備認證的學習者提供一份精煉的重點筆記。


1. Domain 1: 資訊安全管理與倫理要旨 (Security and Risk Management)


安全治理 (Security Governance)

安全治理是有效資訊安全管理的基礎。組織必須建立並維護一套完整的安全政策 (security policies)、標準 (standards) 和程序 (procedures),用以指導安全控制措施的實施,並確保資源得到適當的分配。


風險管理 (Risk Management)

風險管理對於任何資訊安全計畫的成功都至關重要。廣義而言,風險管理是一系列計畫—執行—檢查—行動 (Plan–Do–Check–Act, PDCA) 的循環,其關鍵流程包含識別 (identifying)、評估 (assessing) 與緩解 (mitigating) 風險。一個理想的風險管理流程應當貫穿於組織的日常運營之中,並透過持續的衡量、分析與改進來優化。


核心安全原則 (Core Security Principles)

資訊安全有三大核心原則,是所有資安實踐的基石:

  • 機密性 (confidentiality): 確保資訊僅被授權的使用者存取。
  • 完整性 (integrity): 保護資訊免於未經授權的竄改。
  • 可用性 (availability): 確保資訊和系統在需要時可供授權使用者使用。


專業倫理 (Professional Ethics)

專業倫理在資訊安全領域中至關重要,資安專業人員應當在工作中樹立道德典範。所有通過 (ISC)² 認證的專業人員都必須承諾遵守其道德準則。

(ISC)² 道德準則 (ISC2 Code of Ethics) 包含四條強制性準則 (canons):

  1. 保護社會、公共利益、必要的公眾信任與信心,以及基礎設施。
  2. 以榮譽、誠實、公正、負責和合法的方式行事。
  3. 為委託人提供勤勉和稱職的服務。
  4. 促進和保護本專業 (Advance and protect the profession)。


法律、法規與合規性 (Legal, Regulatory, and Compliance)

遵守法律和監管要求是維持組織業務穩定性的必要條件。資安專業人員需要熟悉相關的法律法規,並了解如何確保組織的合規性。調查工作依其性質可分為四種類型:行政 (administrative)、民事 (civil)、監管 (regulatory) 和刑事 (criminal)。


業務連續性 (Business Continuity)

  • 業務連續性 (Business Continuity, BC) 旨在建立組織應對和在重大干擾事件中生存的能力,確保業務能在中斷後繼續運作。
  • 業務衝擊分析 (Business Impact Analysis, BIA) 的目的是確定組織各項資產的價值、潛在損失風險,以及可能面臨的威脅。
  • 在某些行業,例如醫療保健和金融業,業務連續性與災難復原 (BCDR) 可能是法律上的強制要求。


人員安全與意識培訓 (Personnel Security & Awareness Training)

人員安全政策旨在保護組織免受員工的無心之過或惡意行為所造成的損害。組織必須對內部和外部人員進行持續的安全意識、教育和培訓。注意義務 (due care) 要求實施有效的教育、培訓和意識計畫;而盡職調查 (due diligence) 則要求評估該培訓的有效性。這有助於降低內部威脅和社交工程等攻擊的有效性。


2. Domain 2: 資產安全與生命週期管理 (Asset Security)


資產生命週期管理 (Asset Lifecycle Management)

資訊和資產必須在其整個生命週期中受到保護,涵蓋創建、使用、儲存和銷毀等所有階段。影響資料分類決策的兩個關鍵生命週期模型是:IT 資產管理生命週期 (IT asset management life cycle) 和資料安全生命週期 (data security life cycle)。


資產識別與分類 (Asset Identification and Classification)

有效的資產安全管理始於對資產的識別與分類,這包括了解其價值、敏感性和關鍵性。

資產分類可帶來多項好處:

  • 提高員工和客戶對組織保護資訊承諾的意識。
  • 識別關鍵和敏感資訊。
  • 滿足法律要求。
  • 專注於實施適當的完整性控制。

然而,資產分類也可能存在一些問題和錯誤來源,組織需要加以應對:

  • 人為錯誤。
  • 資料擁有者知識廣度和深度的限制。
  • 分類方法不一致。
  • 分類決策不一致、武斷或反覆無常。
  • 對所有分類項目的標示含糊不清或不完整。
  • 降級或銷毀敏感資訊(包括儲存媒體)的流程不充分或不完整。


資料保護措施 (Data Protection Measures)

資料在其生命週期中存在三種主要狀態,每種狀態都需要相應的保護措施:

  • 靜態資料 (data at rest): 儲存在媒體中的資料。
  • 動態資料 (data in motion): 正在網路中傳輸的資料。
  • 使用中資料 (data in use): 正在被處理的資料。

為了保護資料,組織會採用三種主要控制類型:管理控制 (administrative controls)、技術/邏輯控制 (technical/logical controls) 和實體控制 (physical controls)。最佳實踐是採用多種類型和類別的控制措施(即深度防禦),以避免因依賴單一控制而產生單點故障 (single point of failure)。


範本與標準的應用 (Scoping and Tailoring)

當組織在實施安全框架、基準或標準時,可以透過範疇界定 (scoping) 和客製化 (tailoring) 的過程,選擇僅實施與其特定需求相關的部分,從而確保風險得到適當的識別和處理。


3. Domain 3: 資訊系統安全設計與工程 (Security Architecture and Engineering)


安全設計原則 (Secure Design Principles)

在系統開發的每個環節都應融入安全設計原則,以建立穩固的防禦體系。

  • 威脅建模 (Threat modeling): 一種識別系統潛在漏洞的測試形式。威脅建模本身不解決問題,它僅識別問題的存在。STRIDE 是最常見的威脅建模方法之一。
  • 最小權限 (Least privilege): 僅授予使用者執行其明確工作職能所需的最低權限。
  • 預設安全 (Secure in default): 系統的預設配置應為最安全的狀態。
  • 安全失效 (Fail securely): 當系統崩潰時,會以安全的方式失效,以減少潛在的資料洩漏和其他安全風險。
  • 職責分離 (Separation of duties, SoD): 確保敏感流程不能由單一個人、流程或系統獨立完成。


密碼學解決方案 (Cryptographic Solutions)

  • 密碼學 (Cryptography) 是保護資訊免於未經授權存取或修改的重要工具。資安專業人員應熟悉對稱 (symmetric) 和非對稱 (asymmetric) 加密的優缺點。
  • 強烈建議資安專業人員應使用經過測試和驗證的現成加密系統,而不應嘗試設計自己的加密演算法——除非他們是密碼學專家 (cryptographic expert)。
  • 業界存在許多成熟的密碼學實踐標準,例如美國國家標準暨技術研究院 (NIST) 的 SP 800-57 和國際標準化組織 (ISO) 的 11770。


安全模型與測試 (Security Models and Testing)

安全模型可用於定義和強制執行安全政策,常見的模型包括 Bell-LaPadula、Biba 和 Clark-Wilson 模型。安全測試對於確保安全控制措施能有效運作至關重要,其方法包括漏洞測試、滲透測試和安全稽核。


實體安全設計 (Site and Facility Design)

實體安全是確保資訊處理活動能夠順利進行、人員安全得到保障的基礎。在進行設施設計時,可以參考「透過環境設計預防犯罪」(Crime Prevention through Environmental Design, CPTED) 的概念,透過組織、機械和自然設計方法來解決犯罪問題。


4. Domain 4: 通訊與網路安全原則 (Communication and Network Security)


安全網路架構設計 (Secure Network Architecture Design)

  • 資安專業人員必須熟悉 TCP/IP 和 OSI 七層模型 (OSI 7-Layer Models),這有助於更直接地進行安全分析、工程和保證活動。在實務上,許多產品和服務會同時使用這兩種協議棧的術語和概念。
  • 早期的網路協定(如 FTP, Telnet)通常缺乏足夠的驗證控制或加密保護,這些弱點至今仍在實施不當的環境中構成威脅。
  • 軟體定義網路 (Software-defined networking, SDN) 是一種新興的網路架構,它將網路從以設備和硬體為中心轉變為以虛擬和資料為中心。
  • 傳統的「信任但驗證」(Trust but Verify) 方法依賴核心流程進行身份驗證,而新興的「零信任」(Zero trust) 設計方法則要求對使用者嘗試的每個流程或操作都進行身份驗證和授權。


安全網路元件 (Secure Network Components)

  • 信任根 (Root of Trust, RoT) 的概念依賴於一個不可變的受信任硬體組件,以確保系統從一個安全的狀態啟動。
  • 網路存取控制 (Network Access Control, NAC) 設備提供網路可視性,並確保所有希望加入網路的設備都符合政策要求。
  • 強化端點設備 (harden endpoint devices) 是當前的趨勢,涵蓋從高效能工作站到簡單物聯網設備的所有類型。


安全通訊通道 (Secure Communication Channels)

  • VoIP 與多媒體協作: 這類平台提供了強大的加密和記錄功能,但其使用的加密解決方案也可能已被各國政府或其他方 (various national governments or other parties) 破解,帶來安全風險。
  • 無線網路 (Wireless networks): 無線網路面臨與有線網路相同的威脅,但還存在額外的安全挑戰,例如未經授權的設備可能成為接入點。
  • 遠端存取 (Remote access): 強調應使用虛擬私人網路 (VPN) 建立安全的遠端連線,並對設備進行全面加密以保護敏感資訊。
  • 第三方連接: 管理第三方連接的良好實踐包括:建立政策、盤點現有關係、以及根據合約進行監控和稽核。


5. Domain 5: 識別與存取管理實務 (Identity and Access Management)


身份與存取佈建生命週期 (Identity and Access Provisioning Life Cycle)

  • 身份與存取管理 (Identity and Access Management, IAM) 的目標是確保每個人都擁有執行其職責所需的恰當權限——不多也不少。
  • ISO/IEC 27000:2016(E) 將存取控制 (access control) 定義為「確保對資產的存取是經過授權的,並基於業務和安全要求進行限制的手段」。
  • 應定期進行權限存取審查,以識別可疑活動並防止權限蠕升 (privilege creep)——即使用者隨著時間累積了超出其職責所需權限的現象。


授權機制 (Authorization Mechanisms)

存取控制 (Access Control, AC) 模型定義了授權的規則。常見的模型包括:自主存取控制 (Discretionary Access Control, DAC)、強制存取控制 (Mandatory Access Control, MAC)、角色為基礎的存取控制 (role-based access control, RBAC)、規則為基礎的存取控制 (rule-based access control, RuBAC) 和屬性為基礎的存取控制 (attribute-based access control, ABAC)。NIST SP 800-192 文件也為每種 AC 類型提供了定義。


身份識別與驗證 (Identification and Authentication)

  • 為了簡化憑證管理,組織常使用集中的身份儲存庫和協議,範例包括 Kerberos、RADIUS、LDAP、SAML、OAuth、OpenID 和 FIDO。
  • 聯邦身份管理 (Federated Identity Management, FIM) 允許在不同的安全域之間建立信任關係。其三個主要組成部分為:用戶端/主體 (client/principal)、服務提供者 (Service Provider, SP)/信賴方 (Relying Party, RP) 和身份提供者 (Identity Provider, IdP)。
  • NIST SP 800-63-3 文件提供了關於身份驗證和註冊要求的建議。


身份即服務 (Identity as a Service)

資安專業人員應注意,服務供應商在描述其服務時可能不夠精確。無論組織是否將身份管理外包,其仍需承擔注意義務 (due care) 和盡職調查 (due diligence) 的最終責任。


6. Domain 6: 安全評估與測試 (Security Assessment and Testing)


評估、測試與稽核策略 (Assessment, Test, and Audit Strategies)

  • 評估 (assessment) 是對某個對象(如安全流程文件品質)的評價,而稽核 (audit) 則是一個更正式的過程,涉及對照既定標準進行系統性分析。
  • 內部稽核 (Internal audits) 的優點是稽核員熟悉組織流程,但缺點是可能因過於熟悉而忽略問題。外部稽核 (External audits) 則提供客觀、無利益衝突的視角。
  • 第三方稽核 (Third-party audit) 對於管理供應商風險至關重要。組織可以要求供應商提供由受信任第三方出具的報告,例如 SOC 2 報告。


安全控制測試 (Security Controls Testing)

  • 滲透測試 (Penetration testing):
    • 目的在於在受控環境中利用漏洞,以評估安全控制的有效性。
    • 常見的演練形式包括:紅隊 (red team) 模擬攻擊者,藍隊 (blue team) 負責防禦,紫隊 (purple team) 則結合兩者進行協作。
    • 測試方法分為:白箱/水晶盒測試 (White-/crystal-box testing),測試者擁有系統的完整知識;黑箱測試 (Black-box testing),測試者無任何內部知識;以及灰箱測試 (Gray-box testing),介於兩者之間。
  • 日誌審查 (Log Review): 稽核和評估經常依賴日誌條目來證明技術控制措施正在按預期運作。
  • 程式碼審查與測試 (Code Review and Testing): 包含靜態程式碼分析 (static code analysis),在不執行的情況下分析程式碼;以及動態分析 (dynamic analysis),測試正在運行的程式。此外,濫用案例或負面測試 (misuse case or negative testing) 用於評估系統如何應對非預期的輸入或情況,以識別可能被利用的漏洞。
  • 漏洞攻擊模擬 (Breach Attack Simulations, BAS): 這是一種新興的自動化測試方法,旨在模擬真實攻擊者的行為,以持續評估組織的防禦能力。


收集安全流程數據 (Collect Security Process Data)

  • 指標 (metrics) 是純粹的測量值;關鍵績效指標 (Key Performance Indicators, KPIs) 使用指標並提供上下文;關鍵風險指標 (Key Risk Indicators, KRIs) 則用於洞察未來風險,並驅動主動的緩解行動。例如,防火牆攔截的惡意流量增加,可以作為一個 KRI,指示在防火牆不堪重負之前需要進行升級。
  • 備份 (backups) 對於確保資料的完整性和可用性至關重要,並且必須定期測試還原程序以驗證其有效性。


分析測試輸出與產生報告 (Analyze Test Output and Generate Report)

  • 修復 (remediation) 是處理測試、評估和稽核發現問題的流程。
  • 當發現的問題無法修復時,必須啟動例外處理程序 (exception process) 進行記錄和管理。
  • 責任揭露 (responsible disclosure) 或道德揭露 (ethical disclosure) 是指安全研究人員在向組織報告漏洞時所遵循的流程,旨在讓漏洞在被惡意利用前得到修復。


7. Domain 7: 安全維運 (Security Operations)


調查 (Investigations)

  • 在任何調查中,保護調查的完整性 (integrity) 都是至關重要的。現代數位調查的一大挑戰是,事件場景可能涉及多個地理位置和司法管轄區 (various geophysical locations and jurisdictions)。
  • 在法庭上呈現證據時,應遵守四個原則:可採納性 (admissibility)、準確性 (accuracy)、可理解性 (comprehensibility) 和客觀性 (objectivity)。


日誌與監控 (Logging and Monitoring)

  • 日誌管理 (Log management) 是所有依賴系統報告進行分析活動的基礎。
  • 入侵偵測系統 (Intrusion Detection Systems, IDSs) 用於偵測可疑活動,而入侵防禦系統 (Intrusion Prevention Systems, IPSs) 則能主動阻止這些活動。
  • 安全資訊與事件管理 (Security Information and Event Management, SIEM) 解決方案從企業各處收集日誌數據,以更好地了解潛在的安全問題。
  • 使用者與實體行為分析 (User and Entity Behavior Analytics, UEBA) 系統基於日誌和 SIEM 資訊,建立正常行為的範本,從而識別先前未知的攻擊。


配置與變更管理 (Configuration and Change Management)

  • 資訊技術基礎架構庫 (Information Technology Infrastructure Library, ITIL) 中定義了一套廣泛採用的變更管理實踐,稱為「變更啟用」(Change Enablement)。
  • 配置管理 (Configuration management) 是一個正式且全面的流程,用於定義、記錄和執行保護組織資訊系統所需的最低控制措施。


補丁與漏洞管理 (Patch and Vulnerability Management)

  • 補丁管理 (Patch Management) 和漏洞管理 (Vulnerability Management, VM) 是兩個獨立但密切相關的流程。
  • VM 數據的準確性和可靠性至關重要。建議在可能的情況下每天運行自動化掃描,並且在容量或系統資源受限的情況下,掃描間隔也不應超過一週。


安全維運概念 (Security Operations Concepts)

以下是一些核心的安全維運概念,常用於建立強大的防禦架構:

  • 深度防禦 (Defense in Depth, DiD): 使用多層次的安全控制。
  • 最小權限 (Least privilege): 僅授予完成任務所需的最低權限。
  • 知其所需 (Need to know): 僅允許存取執行職責所需的資訊。
  • 職責分離 (Separation of duties, SoD): 關鍵任務需由多人完成。
  • 雙重監護 (Dual custody): 需要兩個或以上的人同時在場才能完成關鍵操作。


災難復原與業務連續性規劃 (DR & BCP)

  • 災難復原與業務連續性 (BCDR) 計畫對於組織應對突發事件至關重要。
  • 為了驗證計畫的有效性,應定期進行演練。主要的演練類型包括:
    1. 通讀與桌面演練 (Read-through and tabletop)
    2. 走查 (Walk-through)
    3. 模擬 (Simulation)
    4. 平行 (Parallel)
    5. 完全中斷 (Full interruption)


8. Domain 8: 軟體開發安全 (Software Development Security)


軟體開發生命週期 (SDLC) 與安全控制

  • 軟體開發安全的核心是將安全性融入軟體開發生命週期 (Software Development Life Cycle, SDLC) 的每個階段。
  • 請記住,最佳的安全性總是在系統設計時就納入,而不是事後添加 (The best security is always designed into the system, not added later)。
  • 組織可以使用成熟度模型 (maturity models) 來評估和改進其軟體開發流程,以確保安全性得到一致的實施。


評估軟體安全性的有效性

  • 有效的變更管理與控制 (Change management and control) 是確保軟體在開發過程中不會引入新漏洞的關鍵。
  • 評估軟體系統安全風險有四種常見類型:認證與鑑定 (Certification and accreditation)、風險管理框架 (Risk management frameworks)、軟體流程能力成熟度模型 (Capability Maturity Models, CMMs) 和軟體品質保證 (Software quality assurance)。


安全編碼指南與標準 (Secure Coding Guidelines and Standards)

  • 遵循安全編碼實踐,例如輸入驗證 (input validation) 和錯誤處理 (error handling),有助於預防緩衝區溢位和 SQL 注入等常見漏洞。
  • 軟體定義安全 (Software-defined security, SDS) 是一種新的安全思維模式,其中零信任架構 (Zero trust architecture, ZTA) 是實現 SDS 的關鍵概念之一。這種模式要求防禦者必須和攻擊者一樣快速學習 (defenders must learn as fast as attackers)。


安全意識與培訓 (Security Awareness and Training)

對開發人員和其他利害關係人進行持續的安全意識和培訓至關重要,這能確保安全性思維貫穿整個 SDLC,從而開發出更安全的軟體。


結論 (Conclusion)

本文涵蓋了 CISSP 八大知識領域的核心概念,從安全治理、風險管理到軟體開發安全,提供了一個全面的知識框架。