iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0
Security

資安的原罪系列 第 23

【23】資安的原罪 ch.3-3.e 安全檢測與政策方針

  • 分享至 

  • xImage
  •  

【23】資安的原罪 ch.3-3.e 安全檢測與政策方針

本章見證各種提升安全力的測試與方針。


安全測試(Security Testing)

目的: 找出系統在保密性、完整性、可用性等安全方面的弱點,防止遭到惡意利用。

⚠️ 注意事項: 安全測試可能影響系統穩定性(例如滲透測試造成服務中斷),執行前需有授權與恢復計畫。

1. 滲透測試(Penetration Testing)

模擬駭客攻擊以檢驗系統實際防禦能力與檢測/回應流程。

常用工具:Kali Linux、Metasploit、Burp Suite、Nmap、Wireshark

流程

  1. 規劃與授權(範圍、ROE、回復計畫)
  2. 偵察(公開資訊與指紋)
  3. 掃描(自動+人工弱點辨識)
  4. 利用(取得初始存取)
  5. 提權與橫向移動(視需求)
  6. 清理測試遺留物
  7. 分析與報告(證據與修復建議)

測試類型:黑盒(外部視角)、灰盒(部分資訊)、白盒(完全資訊)

風險要點:可能中斷或洩露資料 → 必須事先授權、限定範圍與時間窗,並備妥回復機制。

2. 模糊測試(Fuzzing)

  • 定義:自動送入大量隨機或畸形輸入到介面(API、檔案解析、網路服務),觀察崩潰、例外、資源耗盡等異常。
  • 適用:解析複雜格式或處理不信任輸入的元件(圖檔、JSON/XML、協定封包、API/服務)。
  • 優點:快速發現記憶體錯誤、未處理例外與邏輯崩潰。
  • 注意:需搭配崩潰紀錄與監控、使用 mutation 或 generation 範本以提高命中率。

等價劃分(Equivalence Partitioning)

  • 定義:把輸入/輸出分成等價類,從每類選代表值測試,假設同類處理結果相同。
  • 優點:減少測試數量且保持代表性,適合功能驗證。
  • 注意:分類錯誤會漏測,建議搭配邊界值分析。

邊界值分析(Boundary Value Analysis)

  • 定義:聚焦於輸入或狀態的邊界及鄰近值(最大/最小、剛超出/剛不及等)。
  • 優點:高效率捕捉常見邊界錯誤。
  • 注意:需覆蓋正/負向邊界與特殊值(null、空字串等),對連續與離散範圍皆適用。

3. 單元測試(Unit Testing)

定義: 對程式中的最小可測單位(函式、方法、類)進行的測試,通常由開發者撰寫並自動化執行。只檢查模組等系統組建是否正常運作的測試
特色與好處:

  • 快速回饋(及早發現問題)
  • 有助於重構(保障行為不變)
  • 可達到高覆蓋率(程式邏輯、分支)
    注意事項: 單元測試需保持快速、獨立(避免與外部系統互賴),對外部依賴應使用模擬(mock)或替身(stub)。

4. 弱點掃描(Vulnerability Scanning)

定義:自動化比對已知漏洞資料庫以識別系統、網路或應用的已知安全弱點(非實際利用)。

常用工具:Nessus、OpenVAS、Qualys、Rapid7 Nexpose、Microsoft Defender VMM

精簡流程

  1. 資產發現(辨識 IP/設備/服務)
  2. 漏洞偵測(補丁缺失、弱/預設密碼、開放端口、設定錯誤、過時版本)
  3. 報告(漏洞清單、嚴重度、修復建議)

主要特性

  • 自動化、可排程
  • 非侵入性(不利用漏洞)
  • 執行快且可頻繁執行(每日/每週/持續)

使用時機

  • 定期掃描(例:每周/每月)
  • 部署或設定變更前後
  • 作為漏洞管理/風險管理流程的一部分

注意:只能找出「已知」弱點,需與滲透測試、補丁管理與持續監控搭配以達完整防護。

5. 靜態與動態應用安全測試(SAST & DAST)

這是辨識應用程式安全漏洞的兩種關鍵方法,特別適用於開發與測試階段。

🧱 靜態應用安全測試(SAST)

特性

  • 白盒測試:分析原始碼/位元碼/二進位,不執行程式
  • 早期偵測:於開發階段進行,快速發現程式碼缺陷
  • 可偵測:SQL 注入、XSS、不安全 API、硬編碼密碼、程式碼品質問題

常見工具:SonarQube、Checkmarx、Fortify、Veracode、Bandit、ESLint

🌐 動態應用安全測試(DAST)

特性

  • 黑盒測試:從外部模擬攻擊,不需程式碼存取
  • 執行時分析:部署後進行,找出實際行為中的漏洞
  • 可偵測:認證繞過、邏輯錯誤、輸入驗證問題、注入漏洞、會話管理缺陷

常見工具:OWASP ZAP、Burp Suite、Acunetix、AppSpider、Netsparker


🛡️ 威脅模型(Threat Modeling)

一種有系統的方法,用來識別、評估並優先處理系統中的潛在安全威脅,在威脅發生前進行防範。產出物為文件或圖表,呈現威脅、漏洞與對應防禦措施。將威脅建模納入開發流程早期(如設計階段),並隨系統演進持續更新,才能有效管理安全風險。

🎯 目的

  • 揭示攻擊者可能的攻擊方式
  • 在設計/開發階段就發現安全弱點
  • 指導防禦部署決策
  • 降低整體風險

🔄 一般流程

  1. 定義範圍與資產:要保護什麼?系統邊界為何?
  2. 建立系統模型:如資料流程圖(DFD)標示元件與信任邊界
  3. 識別威脅:使用框架(如 STRIDE)判斷潛在攻擊
  4. 風險評估與排序:用 DREAD、CVSS 等模型量化風險
  5. 制定緩解措施:如加密、驗證、日誌記錄、輸入驗證等
  6. 審查與更新:隨系統變更持續調整模型

🧩 常見技術

技術 特點
STRIDE 威脅分類法(偽裝、篡改、否認、洩露、拒絕、提權)
PASTA 以風險為中心,模擬攻擊與威脅分析流程
OCTAVE 聚焦組織層面的威脅與風險評估
攻擊樹 視覺化呈現攻擊目標與路徑(圖形化方式)

安全稽核(Security Auditing)

系統性評估組織的資訊系統、政策與控管,確保符合安全標準並找出弱點。及早偵測與修正風險、降低資料外洩與違規風險,並建立信任與合規證明。

主要目標

  • 驗證合規(如 GDPR、HIPAA、PCI‑DSS)
  • 發現安全缺口並提出改善建議
  • 提供給利害關係人的安全狀態文件

常用標準/框架:ISO/IEC 27001、NIST CSF、COBIT、SOC 2、PCI‑DSS、HIPAA

稽核重點(精簡)

  • 政策審查:政策是否制定且有效
  • 存取控制:權限是否適當、有無閒置帳號
  • 系統與網路:防火牆、防毒、IDS/IPS 是否運作
  • 資料保護:敏感資料加密、備份情況
  • 漏洞評估:補丁與已知漏洞處理狀態
  • 事件應變:是否有明確的資安事件流程
  • 實體安全:伺服器/資料中心物理控管
  • 日誌稽核:是否可追溯使用者與事件

稽核類型(簡述)

  • 內部稽核:由內部執行,評估內控
  • 外部稽核:第三方獨立評估
  • 合規稽核:專注法規遵循
  • 營運稽核:評估日常安全運作

高階流程

  1. 規劃(定範圍與目標)
  2. 資訊收集(設定、日誌、政策)
  3. 評估(對照標準、漏洞掃描、檢查)
  4. 報告(風險、嚴重度、建議)
  5. 修正與追蹤(修復並驗證)

安全方針

使用者、組織企業等可採取的行為方針、權限機制、控制措施來提升安全性。

縱深防禦(Defense in Depth)

縱深防禦是一種多層次的安全策略,透過多重防線相互配合,強化系統整體的防護能力,降低單點失敗帶來的風險。
其核心理念是:多多益善,即在系統各層面設置多種防禦措施,從而提高整體安全性。

三大防禦層面

  1. 入口對策(Preventive Controls)
    目標是阻止非法入侵,保護系統不被未授權者進入。包含防火牆、入侵偵測系統(IDS)、身份驗證機制、網路隔離等。

  2. 內部對策(Containment Controls)
    當入侵發生時,限制攻擊者行動範圍,防止攻擊擴散到系統其他部分。包括分段網路架構、嚴格權限管理、監控與警報機制等。

  3. 出口對策(Prevent Data Leakage)
    防止機密資料或重要資產被非法外洩。常見技術有資料加密、資料外洩防護(DLP)系統,以及流量監控等。

多重防禦(Multiple Layers of Defense)

多重防禦策略強調在入口設置多種不同類型的防禦機制,以提升阻擋非法入侵的成功率。
例如,結合防火牆、身份認證、多因素驗證(MFA)、行為分析、流量過濾等技術,形成多道安全門檻。

好處:

  • 降低單一防禦失效的風險
  • 增加攻擊者的入侵難度和成本

常見安全原則

  • 最小權限原則(Principle of Least Privilege)
    最小權限是資訊安全中的基石原則之一,意指每個使用者或系統元件僅被授予執行任務所需的最低權限。

  • 強制存取控制(Mandatory Access Control, MAC)
    由系統強制規定權限,使用者無法自行調整,確保權限管理嚴格而一致。

  • 權責區分(Separation of Duties)
    將關鍵任務拆分給多個人或系統單位執行,一個任務由兩個以上完成。

  • 完全仲裁(Complete Mediation)
    每次存取行為都需經過權限驗證,不可繞過或跳過安全檢查。

  • 失效安全預設(Fail-Secure Defaults)
    當發生故障或錯誤時,系統的預設狀態為安全的,例如拒絕存取 。


什麼是VLAN

VLAN(虛擬區域網路)是一種透過軟體方式將物理網路切割成多個邏輯子網路的技術。
透過 VLAN,可以將同一實體交換機上的裝置分隔在不同的網段中,實現網路隔離與安全控制,減少廣播風暴並提升網路管理彈性。

優點:

  • 增加網路安全性(隔離敏感設備與一般使用者)
  • 簡化網路管理(按部門或功能分組)
  • 減少不必要的流量擴散,提高效率

什麼是DMZ

DMZ(非軍事區,Demilitarized Zone)是一個特殊的網路區域,通常用來放置對外服務的伺服器(例如網頁伺服器、郵件伺服器、DNS伺服器)。
這個區域介於內部網路與外部公網之間,能隔離外部攻擊與內部重要資產,提供一層額外的安全防護。

DMZ 的架構特點

  • 雙重防火牆保護
    網頁伺服器等公開服務通常會被部署在 DMZ,並由兩道防火牆包圍:

    1. 外層防火牆:防止未授權的外部訪問進入 DMZ。
    2. 內層防火牆:防止來自 DMZ 的攻擊或入侵蔓延至內部網路。

這種雙重防護架構有效降低外部攻擊直接威脅內部系統的風險,同時保障公開服務的可用性與安全性。


原罪

1. 安全測試的極限

相比於市面上大多數產品,通過安全測試就有對應的安全保障;資安因為其複雜性,沒有辦法設計出這樣一種直接代表安全力的測試,只能盡可能的從不同面向進行測試。而黑箱類型的測試,即便測試結束未發現弱點,也不表示系統就沒有弱點;白箱測試能驗證系統在設想內的預期行為,卻無法涵蓋未預見的攻擊手法或設計漏洞。

2. 濫用的安全工具

每個安全測試產品,都可能被惡意人士拿去濫用,成為攻擊他人的工具。像是通訊端口掃描可以協助檢查是否存在過多或不必要的開放端口,弱點掃描可找出已知漏洞;其他還有像是網路拓樸、滲透測試等工具。

3. 安全措施雙面刃

每一項安全措施,都是建立在犧牲更多便利性、增加更多複雜性之上。即使能忍受不便,但隨著生態越來越大越複雜,這些層層道鎖有可能反而成為負擔。像是三哩島的核能反應爐熔毀事件就是個安全措施複雜性造成的例子。^1

4. 理論與現實的落差

雖然很多方針理念聽起來很簡單很美好,像是威脅建模、安全稽核、資安管理等,但現實非常複雜,即使有提出許多框架、檢查表等協助執行,實務上仍然極具挑戰;且僅是遵循框架得高分可能淪為「表面合規」,與實際的資安防護力出現落差。


上一篇
【22】資安的原罪 ch.3-3.d 監控、偵測與回應
系列文
資安的原罪23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言