【資安科普】什麼是滲透測試?滲透測試如何進行?

#資訊安全

【資安科普】什麼是滲透測試?滲透測試如何進行?

滲透測試(Penetration Test,簡寫可以稱 Pen Test),是一種用來檢驗網路防禦是否按照預期計畫正常運行的機制。這個測試會模擬駭客和惡意使用者的行為,試圖入侵企業網站、資訊系統或設備,並分析目標的風險層級,評估安全性是否需要加強。最終目的在於,能在真實攻擊發生前,及早發現安全漏洞並加以修正。

弱點/源碼掃描與滲透測試的差異

弱點與源碼掃描由自動化掃描軟體進行,成本較低且執行速度快,但只能檢測出既有漏洞,如程式語法上的安全問題。

滲透測試則是模擬駭客攻擊方式,進行組合式攻擊來驗證是否可以突破防禦,成本較高但可即時檢測最新安全漏洞並提供修補建議。因此滲透測試的成本較高,事前準備也需要較長時間。

滲透測試有哪些類型

以下類型來自 Cloudflare

  • 開放滲透測試:在開放測試中,駭客將提前獲得有關目標公司安全資訊的一些資訊。

  • 封閉滲透測試:也稱為「單盲」測,在這種測試中,除了目標公司的名稱之外,駭客不會得到任何背景資訊。

  • 隱蔽式滲透測試:也稱為「雙盲」滲透測試,在這種情況下,公司中幾乎沒人意識到正在進行滲透測試,包括將回應攻擊的 IT 和安全專業人員。在隱蔽式測試中,駭客有必要事先以書面形式確定測試的範圍和其他細節,這樣才能避免執法方面的問題。

  • 外部滲透測試:在外部測試中,道德駭客需要破壞公司的外部技術,例如其網站和外部網路伺服器。在某些情況下,駭客甚至不能進入公司建築物。這可能意味著他們要從遠端位置進行攻擊,或者從停在附近的卡車或貨車中進行測試。

  • 內部滲透測試:在內部測試中,道德駭客從公司的內部網路執行測試。這種測試可用於確定心懷不滿的員工可能會從公司防火牆之後造成多大的損害。

進行前的準備

在進行滲透測試前,通常會先進行「弱點掃描」或「源碼掃描」,並預先修補提早可見的漏洞,然後再進行模擬滲透,驗證是否可以利用這些已知漏洞進行入侵。

除此之外,由於滲透測試是一種「弱點探測」行為,屬於對企業財產的侵害,未經允許的滲透測試在多數國家可能是違法行為。因此進行滲透測試前,都要與廠商講好測試標的物(網站或主機),並明文簽署合約與同意書,以避免法律糾紛。

滲透測試流程

滲透測試的流程包括:

  1. 專案需求確認: 確認測試需求並簽署合法授權,這是確保測試方行為合法的重要步驟。

  2. 準備階段: 確認測試的方式、範圍和時間,並蒐集目標的公開資訊。

  3. 資料蒐集: 依照OSSYMM架構進行策略制定、資料蒐集與分析。

  4. 資料分析與弱點掃描: 利用 OWASP 標準進行風險掃描,預先排除已知風險等問題。

  5. 目標滲透: 執行實際的滲透行為,嘗試攻破系統。

  6. 弱點報告: 測試結束後,撰寫報告並詳細列出各類弱點和修補建議。

  7. 修補與顧問: 企業或維運團隊依照報告結果進行修補,執行滲透的團隊可提供顧問服務。

  8. 執行複測: 滲透團隊執行複測,確認已完成修補

滲透測試的標準執行項目

目前滲透測試沒有統一的強制規定標準,但通常會依照類似 OWASP Top 10 之類的公開安全測試項目進行檢測,這裡我們提供四個主流的測試標準 OWASP Top 10 / NIST SP 800-115 / OSSTMM 與 SANS。

OWASP Top 10

開放式 Web 應用程式安全性專案 (OWASP) 是致力於 Web 應用程式安全性的國際非營利組織。他們的所有資料都免費提供並且可以在其網站上輕鬆存取,這使得任何人都能夠改善自己的 Web 應用程式安全性。

而 OWASP Top 10 是世界上最常被採用的安全檢查項目之一,目前最新的是 OWASP Top 10 2021

  • A01:2021-權限控制失效

  • A02:2021-加密機制失效

  • A03:2021-注入式攻擊

  • A04:2021-不安全設計

  • A05:2021-安全設定缺陷

  • A06:2021-危險或過舊的元件

  • A07:2021-認證及驗證機制失效

  • A08:2021-軟體及資料完整性失效

  • A09:2021-資安記錄及監控失效

  • A10:2021-伺服端請求偽造

NIST SP 800-115

NIST SP 800-115,又稱為《資訊安全測試與評估技術指南》,為組織提供了進行安全測試與評估的框架。該文件概述了各種安全測試的技術和方法,將測試技術分為不同類型的評估,並提供如何執行這些評估的指南。

  • 網路掃描: 識別活動設備、開放埠口和運行的服務。

  • 漏洞掃描: 識別系統和應用程式中的漏洞。

  • 滲透測試: 模擬攻擊以利用漏洞並評估其潛在影響。

  • 密碼破解: 透過嘗試破解密碼來測試其強度。

  • 日誌審查: 分析日誌以檢查是否有安全事件的跡象。

  • 文件完整性檢查: 監控文件以檢測未經授權的更改。

  • 配置審查: 根據安全最佳實踐檢查系統和網路配置。

  • 應用安全測試: 測試應用程式是否存在安全缺陷,例如輸入驗證和身份驗證問題。

它為每一類別提供了詳細的程序和範例,幫助組織設計和執行符合其特定需求的安全評估。

OSSTMM

OSSTMM (Open Source Security Testing Methodology Manual) 是一個綜合框架,涵蓋漏洞掃描、滲透測試和社會工程等領域,我們列舉 Information Security Testing (資訊安全測試) 的範疇下的項目:

  • Footprinting (偵查): 確定和收集目標系統或網絡的公開資訊。

  • Scanning (掃描): 使用工具和技術來識別目標系統的開放端口、服務和弱點。

  • Enumeration (枚舉): 獲取有關目標系統或網絡內部結構的詳細資訊,如使用者名稱、系統名稱、共享資源等。

  • Vulnerability Assessment (漏洞評估): 分析系統中已知的漏洞,並評估它們的潛在影響。

  • Exploitation (利用): 嘗試利用已識別的漏洞來獲得對系統的未經授權訪問。

  • Post-Exploitation (後滲透): 獲取系統訪問後,進一步探查和利用其他系統資源或數據。

  • Reporting (報告): 總結滲透測試結果,提供漏洞描述及修復建議。

SANS Top 20

SANS 20 安全控制措施由國際戰略研究中心 (CSIS) 發布,是可以用來改善網路安全的優先緩解措施。它們包括一組 20 個元件,可幫助您應對常見威脅途徑並修復潛在漏洞。

  • CSC 1: 授權與未授權設備清單 | Inventory of Authorised and Unauthorised Devices

  • CSC 2: 授權與未授權軟體清單 | Inventory of Authorised and Unauthorised Software

  • CSC 3: 行動設備、筆記型電腦、工作站及伺服器的硬體與軟體安全配置 | Secure Configurations for Hardware and Software on Mobile Devices, Laptops, Workstations and Servers

  • CSC 4: 持續的弱點評估與修復 | Continuous Vulnerability Assessment and Remediation

  • CSC 5: 管控管理權限的使用 | Controlled Use of Administrative Privileges

  • CSC 6: 審計日誌的維護、監控與分析 | Maintenance, Monitoring and Analysis of Audit Logs

  • CSC 7: 電子郵件與網頁瀏覽器保護 | Email and Web Browser Protections

  • CSC 8: 惡意軟體防禦 | Malware Defenses

  • CSC 9: 網路埠、協議及服務的限制與控制 | Limitation and Control of Network Ports, Protocols and Services

  • CSC 10: 資料復原能力 | Data Recovery Capability

  • CSC 11: 網路設備(如防火牆、路由器和交換機)的安全配置 | Secure Configurations for Network Devices, such as Firewalls, Routers and Switches

  • CSC 12: 邊界防禦 | Boundary Defense

  • CSC 13: 資料保護 | Data Protection

  • CSC 14: 基於知情需求的受控存取 | Controlled Access Based on the Need to Know

  • CSC 15: 無線網路存取控制 | Wireless Access Control

  • CSC 16: 帳號監控與控制 | Account Monitoring and Control

  • CSC 17: 安全技能評估與適當的培訓 | Security Skills Assessment and Appropriate Training to Fill Gaps

  • CSC 18: 應用軟體安全 | Application Software Security

  • CSC 19: 事件回應與管理 | Incident Response and Management

  • CSC 20: 滲透測試與紅隊演練 | Penetration Tests and Red Team Exercises

額外參考

相關文章