滲透測試與PCI DSS的關系
PCI(Payment Card Industry)中文全稱為:支付卡產業(yè)。在這個產業(yè)里存在一個標準組織,稱為--支付卡行業(yè)安全標準委員會,英文簡寫為PCI SSC(Payment Card Industry Security Standards Council)。PCI安全標準委員會是由國際知名的五家支付品牌共同建立而成,他們是美國運通(American Express)、美國發(fā)現(xiàn)金融服務公司(Discover Financial Services)、JCB、全球萬事達卡組織(MasterCard)及Visa國際組織。PCI SSC一共維護了三個安全標準:PCI DSS(Payment Card Industry Data Security Standard 支付卡行業(yè)數(shù)據(jù)安全標準)、PCI PA-DSS(Payment Card Industry Payments Application Data Security Standard支付卡行業(yè)支付應用數(shù)據(jù)安全標準)以及PTS(PIN Transaction Security PIN傳輸安全標準)。從下圖可以很清楚的反應這三個標準之間的關系。
無論是PTS還是PCI PA DSS,其最根本的目的是為了使最終的客戶能夠滿足PCI DSS的要求。(關于PTS和PA DSS更多的介紹可參見PCI官方網(wǎng)站www.pcisecuritystandards.org和atsec官方網(wǎng)站www.atsec-information-security.cn)。
在PCI DSS第 11.3中有這樣的要求“ Perform external and internal penetration testing at least once a year and after any significant infrastructure or application upgrade or modification (such as an operating system upgrade, a sub-network added to the environment, or a web server added to the environment). These penetration tests must include the following: Network-layer penetration tests and Application-layer penetration tests”其轉譯中文意思是:至少每年或者在基礎架構或應用程序有任何重大升級或修改后(例如操作系統(tǒng)升級、環(huán)境中添加子網(wǎng)絡或環(huán)境中添加網(wǎng)絡服務器)都需要執(zhí)行內部和外部基于應用層和網(wǎng)絡層的滲透測試。
什么是滲透測試
滲透測試是通過模擬來自惡意的黑客或者駭客攻擊,以評估計算機系統(tǒng)或者網(wǎng)絡環(huán)境安全性的活動。從滲透測試的定義我們能夠清楚的了解到滲透測試它是一項模擬的活動,主要的目的是進行安全性的評估,而不是摧毀或者破壞目標系統(tǒng)。
從下圖我們可以看到,滲透測試與網(wǎng)絡掃描,脆弱性掃描,安全掃描和安全審計其實并不相同。滲透測試是介于安全掃描和安全審計之間,它并不是純粹的掃描工作,但是它執(zhí)行的深度又沒有安全審計那么深入。滲透測試是從攻擊者的角度,試圖通過各種技術手段或者社交手段去發(fā)現(xiàn)和挖掘系統(tǒng)的漏洞,最終達到獲取系統(tǒng)最高權限的目的。無論是從測試的覆蓋面和測試的深度來看,滲透測試都要比網(wǎng)絡掃描,脆弱性掃描和安全掃描更為深入。
滲透測試的目的
對于滲透測試而言,除了滿足某些特定標準(如PCI DSS)的要求之外,滲透測試還會有如下的好處:
滲透測試的方法論和業(yè)界參考實踐
對于任何測試而言,都會相應的測試方法或者規(guī)則。在滲透測試領域,業(yè)界的滲透測試方法論或者最佳實踐可以作為一個很好的參考,但是測試人員在測試過程當中更多的是依靠自身的能力和經(jīng)驗去完成測試工作,因為在測試過程當中可能會遇到各種各樣的問題。下面是行業(yè)中被廣泛接受的測試方法或者滲透測試的最佳實踐:
OWASP(Open Web Application Security Project)Testing Guide——關注在web應用安全測試的測試指導。該測試指導涵蓋了web應用程序大部分功能點的安全性測試,測試指導同時會給出一些測試的實例進行簡單的說明。
OSSTMM(Open Source Security Testing Methodology Manual) -- 開放源代碼安全測試方法手冊。OSSTMM是一個關注在安全測試和評價的方法論。OSSTMM的測試用例分為五個方面:信息和數(shù)據(jù)控制;人員安全意識水平;欺詐和社會工程學控制水平;計算機和電信網(wǎng)絡,無線設備,移動設備以及物理安全訪問控制;安全流程,如建筑物,周邊環(huán)境,以及軍事基地的物理位置等安全流程。
Special Publication 800-115 Technical Guide to Information Security Testing and Assessment – 美國NIST發(fā)布的針對信息安全測試和評估的技術指導
ISSAF(Information Systems Security Assessment Framework)-- 關注在信息系統(tǒng)安全評估的框架
Penetration Testing Framework -- 滲透測試的框架,該測試框架是滲透測試實踐的操作總結,它非常詳細的描述了滲透測試過程當中每一步應該做什么,怎么去做。該份測試的框架對于滲透測試的實際操作有著非常好的參考價值。
滲透測試的流程
對于滲透測試,其流程大體包括:測試協(xié)議和方法確定,免責條款簽署,信息收集,脆弱性分析,對脆弱性進行滲透和利用,權限提升,最終評估和報告編寫以及客戶根據(jù)滲透測試發(fā)現(xiàn)問題的整改和追蹤等環(huán)節(jié)。以下是對于上述各個環(huán)節(jié)的簡要介紹:
被動的測試活動,在此種情況下測試人員不會主動向目標系統(tǒng)發(fā)送攻擊指令,測試人員通常會執(zhí)行信息捕獲的工作。
謹慎的測試活動,在此種情況下測試人員通常會對目標系統(tǒng)執(zhí)行嗅探工作并根據(jù)嗅探獲得的漏洞進行分析和評估。
審議的測試活動,在此種情況下測試人員通常會將發(fā)現(xiàn)的漏洞信息與客戶進行討論,以明確哪些漏洞在測試過程當中需要執(zhí)行實際的漏洞驗證和利用。
具有侵略性的測試活動,在此種情況下測試人員通常會根據(jù)所發(fā)現(xiàn)的漏洞信息進行逐個驗證,此時測試人員考慮更多的是如何最大限度獲得目標系統(tǒng)的系統(tǒng)權限或者獲得目標系統(tǒng)上存儲的信息。
基于應用層和網(wǎng)絡層的滲透測試
對于PCI DSS第 11.3中有要求至少每年或者在基礎架構或應用程序有任何重大升級或修改后需要執(zhí)行內部和外部基于應用層和網(wǎng)絡層的滲透測試。何為應用層滲透測試?何為網(wǎng)絡層滲透測試呢?應用層滲透測試指的是對web應用程序進行滲透測試,測試要求覆蓋OWASP Top 10(OWASP項目組會周期性的根據(jù)OWASP聯(lián)盟中應用開發(fā)和測試專家反饋的結果定期對web應用面臨的安全問題進行統(tǒng)計和排名,Top 10是web應用程序前10名影響最大的脆弱性)中的所有安全問題。對于網(wǎng)絡層的滲透測試,通常是指對操作系統(tǒng),網(wǎng)絡設備等系統(tǒng)組件進行系統(tǒng)級別的滲透測試。
下圖是2007年和2010年OWASP Top 10的排名對比。從圖中可以看到Top 10的內容在這兩年的評估當中出現(xiàn)了變化。所以在滲透測試過程當中我們除了參照PCI DSS的要求之外,還需要參照OWASP最新的關于Top 10的排名情況。
怎樣選擇合適的滲透測試合作機構
前面介紹了很多關于滲透測試介紹,以及測試流程和方法,然而我們在實際執(zhí)行滲透測試工作的時候,應該如何選擇合適的滲透測試實驗室或者滲透測試人員進行測試工作呢?對于滲透測試人員的選擇,PCI DSS在第11.3的要求:測試人員可以是內部具有能力且獨立的內部人員或者外部合格的第三方評測機構。對于內部人員的選擇,技術能力的考慮和測試人員的獨立性是最為重要的因素。對于第三方的評測機構的選擇,除了技術水平的考慮,以下的參考因素能夠為客戶在滲透測試過程當中可能會面臨的安全風險提供很好的安全保障。
參考文檔和鏈接
[1] PCI DSS https://www.pcisecuritystandards.org/security_standards/index.php
[2] OWASP Testing Guide https://www.owasp.org/index.php/OWASP_Testing_Project
[3] OSSTMM - ISECOM - Making Sense of Security www.isecom.org/osstmm/
[4] Special Publication 800-115 Technical Guide to Information Security Testing and Assessment http://csrc.nist.gov/publications/nistpubs/800-115/SP800-115.pdf
[5] ISSAF(Information Systems Security Assessment Framework)www.oissg.org/issaf
[6] Penetration Testing Framework www.vulnerabilityassessment.co.uk/Penetration%20Test.html
[7] OWASP Top 10 OWASP_Top_10_-_2010 Presentation.pptx http://owasptop10.googlecode.com/files/OWASP_Top_10_-_2010%20Presentation.pptx
[8] Nessus www.tenable.com/products/nessus
[9] QualysGuard www.qualys.com/products
[10] WebInspect https://www.fortify.com/products/web_inspect.html
[11] Nikto2 http://cirt.net/nikto2
[12] CVE http://cve.mitre.org/
[13] CVSS http://www.first.org/cvss/