關滲透測試(Penetration Testing/ pen test)
主題 |
內容 |
定義 |
Penetration Testing 是一種模擬攻擊,旨在識別系統、網絡、網站、應用程序和流程中的漏洞。 |
目的 |
評估防禦的有效性,發現弱點並模擬實際攻擊以檢驗安全性。 |
與漏洞評估的不同 |
漏洞評估(Vulnerability Assessment)僅識別系統弱點,而滲透測試則會利用這些弱點確認潛在後果。 |
必須遵循的合規性 |
遵循 PCI DSS、HIPAA 或 GDPR 的組織必須定期進行滲透測試以維持合規性。 |
- PCI DSS(支付卡產業數據安全標準):適用於處理支付卡數據的組織,用以保障金融交易安全。
- HIPAA(健康保險可攜性與責任法案):適用於美國醫療機構和相關服務供應商,重點確保醫療數據的隱私與安全。
- GDPR(歐盟一般數據保護條例):適用於歐盟內或處理歐盟居民數據的組織,用來加強和統一個人數據保護政策。
測試類型Testing Types
- 測試的目標與角色分工:Red/Blue /Purple Team Tests
滲透測試類型 |
功能 |
優點 |
缺點 |
Red Team Tests |
模擬攻擊attacks以識別系統漏洞。 |
提供真實攻擊情境,幫助發現潛在的安全風險。 |
可能需要較高成本聘請獨立測試者。 |
Blue Team Tests |
聚焦於防禦defense和incident response事件回應,檢驗現有的安全系統。 |
強化內部安全性和應對能力。 |
需要內部資源和經驗來維持測試與檢查。 |
Purple Team Tests |
結合紅隊與藍隊活動以改善安全狀態。 |
促進團隊間的合作和學習,綜合性強。 |
需要雙方密切溝通和協調,成本和時間可能較高。 |
滲透測試策略 Testing Strategies
滲透測試策略 |
功能 |
優點 |
缺點 |
Open-Box Testing |
測試者擁有內部開發者的特權訪問權限。 internal, full knowledge, white-box, and clear-box |
能獲得全面的系統視野。 |
不夠真實反映外部攻擊者的行為。 |
Closed-Box Testing |
測試者無法訪問內部系統。 external, black-box, or zero knowledge |
模擬真實的攻擊情境。 |
可能無法識別系統內部的特定脆弱性。 |
Partial Knowledge Testing |
測試者擁有有限的系統訪問權限。gray-box testing. |
在特定情境下提供更真實的測試結果。 |
測試結果可能會受到知識限制的影響。 |
滲透測試類型與策略的關係
滲透測試類型和策略的關係可以總結為:測試類型決定測試的目標與執行角色,策略則決定測試者的資訊與訪問範圍。兩者結合後,形成完整的測試計劃。例如:
- Red Team + Closed-Box Testing:外部專家模擬完全未知的攻擊情境,測試組織防禦外部攻擊的能力。
- Blue Team + Open-Box Testing:內部安全團隊利用完整的系統資訊,檢查並改進現有的防禦機制。
- Purple Team + Partial Knowledge Testing:紅隊和藍隊合作,模擬內部員工濫用權限的情境,並改進安全策略。
成為滲透測試者的必要技能
- 網絡和應用程序安全Network and application security
- 操作系統(如 Linux)的經驗Experience with operating systems, like Linux
- 漏洞分析和威脅建模threat modeling
- 檢測與回應工具Detection and response tools
- 程式語言(如 Python 和 BASH)
- 交流技能Communication skills
漏洞賞金計畫Bug bounty programs
'Bug bounty programs' 是指企業或組織建立的一種計畫,邀請安全研究員或道德駭客找出其系統、應用程式或服務中的安全漏洞。參與者在發現並負責任地報告漏洞後,通常能根據漏洞的嚴重程度獲得金錢獎勵或其他形式的補償。這種計畫的目的是提升系統的安全性,防止惡意攻擊者利用漏洞進行非法活動。