滲透測試的概念,流程介紹
一. 滲透測試介紹
1 滲透測試的概念
滲透測試(Penetration Testing)是由具備高技能和高素質的安全服務人員發起、并模擬常見黑客所使用的攻擊手段對目標系統進行模擬入侵。滲透測試服務的目的在于充分挖掘和暴露系統的弱點,從而讓管理人員了解其系統所面臨的威脅。
2 滲透測試的必要性
滲透測試工作往往作為風險評估的一個重要環節,為風險評估提供重要的原始參考數據。滲透測試不僅在目的上與脆弱性評估不同,而且在實施方式和方向上也與其有著很大的區別。脆弱性評估是在已知系統上,對已知的弱點進行排查。滲透測試往往是“黑盒測試”,測試者模擬黑客,不但要在未知系統中發現弱點,而且還要驗證部分高危險的弱點,甚至還會挖掘出一些未知的弱點。因此,滲透測試是脆弱性評估的一種很好的補充。同時,由于主持滲透測試的測試人員一般都具備豐富的安全經驗和技能,所以其針對性比常見的脆弱性評估會更強、粒度也會更為細致。另外,滲透測試的攻擊路徑及手段不同于常見的安全產品,所以它往往能暴露出一條甚至多條被人們所忽視的威脅路徑,從而暴露整個系統或網絡的威脅所在。
最重要的是,滲透測試最終的成功一般不是因為某一個系統的某個單一問題所直接引起的,而是由于一系列看似沒有關聯而且又不嚴重的缺陷組合而導致的。日常工作中,無論是進行怎么樣的傳統安全檢查工作,對于沒有相關經驗和技能的管理人員都無法將這些缺陷進行如此的排列組合從而引發問題,但有經驗的滲透測試人員卻可以靠其豐富的經驗和技能將它們進行串聯并展示出來。
二. 滲透測試客戶收益
對于客戶而言,滲透測試可以帶來以下收益:
明確安全隱患點
滲透測試是一個從空間到面再到點的過程,測試人員模擬黑客的入侵,從外部整體切入最終落至某個威脅點并加以利用,最終對整個網絡產生威脅,以此明確整體系統中的安全隱患點。
提高安全意識
如上所述,任何的隱患在滲透測試服務中都可能造成“千里之堤潰于蟻穴”的效果,因此滲透測試服務可有效督促管理人員杜絕任何一處小的缺陷,從而降低整體風險。
提高安全技能
在測試人員與用戶的交互過程中,可提升用戶的技能。另外,通過專業的滲透測試報告,也能為用戶提供當前流行安全問題的參考。
三. 滲透測試的依據
一般滲透測試服務將參考下列國內、國際與滲透測試有關的標準結合在滲透測試方面的規范和經驗進行工作。
國內可參考的標準、指南或規范
GB/T 20984-2022信息安全技術 信息安全風險評估方法
GB/T 31496-2015 信息技術—安全技術—信息安全管理體系實施指南
國際可參考的標準、指南或規范
CESG (CHECK) IT Health Check方法
OWASP OWASP_Testing_Guide_v3
OWASP OWASP_Development_Guide_2005
OWASP OWASP_Top_10_2010_Chinese_V1.0
OSSTMM OSSTMM_Web_App_Alpha
Web應用安全委員會(WASC)WASC Threat Classification v2
四. 滲透測試的原則
一般在提供滲透測試服務中,將遵循下列原則。
保密性原則
保密性原則是滲透測試服務中最重要的原則,它是鼓勵客戶實施滲透測試服務的心理基礎,同時也是對客戶隱私權的最大尊重。滲透測試的保密范圍,包括實施過程的保密性和輸出成果的保密性。對服務過程中獲知的任何客戶系統信息
均屬秘密信息,不得泄露給第三方單位或個人,不得利用這些信息進行任何侵害客戶的行為;對服務的報告提交不得擴散給未經授權的第三方單位或個人。
標準性原則
滲透測試服務將在國家法律、法規允許的范圍內進行,特別是遵照并履行《中華人民共和國人民警察法》第六條第十二款、《全國人大常委會關于維護互聯網安全的決定》、《刑法》第二百八十五條、第二百八十六條等相關規定等。
遵守國內、國際與滲透測試有關的標準進行工作。同時在道德方面,也會嚴格遵守業界普遍認同的《計算機道德10個戒律》、《信息安全職業道德規范》、以及《網絡道德的基本原則》。
規范性原則
滲透測試服務將按照安全服務工作規范、滲透測試實施規范進行嚴格落實。實施必須由專業的安全服務人員依照規范的操作流程進行,對操作過程和結果要有相應的記錄,提供完整的服務報告。
可控性原則
可控性原則就是滲透測試服務中對被測試系統造成的可能的各種影響要能夠控制得住,既要全面測試,又不能影響生產,服務的工具、方法和過程要在雙方認可的范圍之內,服務的過程中,避免出現被測試系統運行不穩定,影響生產運行的情況。
整體性原則
整體性原則是系統思維方法的一條基本原則。整體原則認為,世界上任何一個有機整體系統,不但內部各組成要素之間是相互聯系的,而且系統與外部環境之間也是有機聯系的。我們在處理與解決問題時,應當從整體出發,從分析整體內部各組成部分的關系以及整體與外部環境之間的關系入手,去揭示與掌握其整體性質。在原則指導下的滲透測試服務,強調以綜合為基礎,在綜合的控制與指導下,分析發現的安全問題,對分析結果進行恰當的綜合。
最小影響原則
滲透測試服務工作應盡可能小的影響被測試系統和網絡的正常運行,不能對現有系統、網絡的運行和業務的正常運行產生顯著影響。
五. 滲透測試的范圍
從整體看,一個網站主要有四個主要部分組成,包括:Web應用程序、數據庫、中間件和操作系統,五個次要部分,包括:安全設備、同網段服務器環境、機房物理環境、人員管理、管理制度。滲透測試服務的范圍主要包括了WEB應用程序、數據庫、中間件、操作系統。
WEB程序包括:ASP、PHP、JSP、.NET、Perl、Python、Shell等語言編寫的WEB程序。
數據庫:Oracle、MySQL、MSSQL、Sybase、DB2、Informix等主流數據庫。
中間件:Apache、IIS、Tomcat、Weblogic等主流WEB服務器,FTP、DNS等主流應用服務器。
操作系統包括:Windows、發行版Linux、AIX、Solaris、FreeBSD等主流系統。
六. 滲透測試的流程
滲透測試服務主要分為四個階段,包括測試前期準備階段、測試階段實施、復測階段實施以及成果匯報階段。

1.前期準備階段
在實施滲透測試工作前,技術人員會和客戶對滲透測試服務相關的技術細節進行詳細溝通。由此確認滲透測試的方案,方案內容主要包括確認的滲透測試范圍、最終對象、測試方式、測試要求的時間等內容。同時,客戶簽署滲透測試授權書。
2.測試階段實施
在測試實施過程中,測試人員首先使用自動化的安全掃描工具,完成初步的信息收集、服務判斷、版本判斷、補丁判斷等工作。然后由人工的方式對安全掃描的結果進行人工的確認和分析。并且根據收集的各類信息進行人工的進一步滲透測試深入。結合自動化測試和人工測試兩方的結果,測試人員需整理滲透測試服務的輸出結果并編制滲透測試報告,最終提交客戶和對報告內容進行溝通。
3.復測階段實施
在經過第一次滲透測試報告提交和溝通后,等待客戶針對滲透測試發現的問題整改或加固。經整改或加固后,測試人員進行回歸測試,即二次復測。復測結束后提交給客戶復測報告和對復測結果進行溝通。
4.成果匯報階段
根據一次滲透測試和二次復測結果,整理滲透測試服務輸出成果,最后匯報項目領導。
七. 滲透測試風險控制
為保障客戶系統在滲透測試過程中穩定、安全的運轉,需要提供以下多種方式來進行風險規避。
時間控制
從時間安排上,測試人員應盡量避免在數據高峰時進行測試,以此來減小測試工作對被測試系統帶來的壓力。另外,測試人員在每次測試前也將通過電話、郵件等方式告知相關人員,以防止測試過程中出現意外情況。
工具使用
在使用工具測試的過程中,測試人員會通過設置線程、插件數量等參數來減少其對系統的壓力,同時還會去除任何可能對目標系統帶來危害的插件,如:遠程溢出攻擊類插件、拒絕服務攻擊類插件等等。
技術手段
滲透測試人員需要具有豐富的經驗和技能,在每一步測試前都會預估可能帶來的后果,對于可能產生影響的測試(如:溢出攻擊)將被記錄并跳過,并在隨后與客戶協商決定是否進行測試及測試方法。
監控措施
針對每一系統進行測試前,測試人員都會告知被測試系統管理員,并且在測試過程中會隨時關注目標系統的負荷等信息,一旦出現任何異常,將會停止測試。
對象選擇
為更大程度的避免風險的產生,滲透測試還經常選擇對備份系統進行測試。因為備份系統與在線系統所安裝的應用和承載的數據差異較小,而其穩定性要求又比在線系統低,因此,選擇對備份系統進行測試也是規避風險的一種常見方式。
操作記錄
測試人員會在測試過程中形成操作記錄文檔,以便出現意外后進行追溯。
溝通配合
測試過程中,確定測試人員和客戶方配合人員的聯系方式,便于及時溝通并解決工程中的難點。
八. 滲透測試工具
安全滲透測試服務會使用包括且不僅限于以下自動化工具進行安全測試。
服務探測:Nmap7.94等
漏洞掃描:Goby2.6.0、Openvas1.0.0、Xray1.9.11等
漏洞利用:Metasploit Framework6.3.16等
數據包分析:Burp Suite2023.7.2、WireShark Win32-2.9.0-gm.3等。

浙公網安備 33010602011771號