隨著當前網(wǎng)絡安全威脅的不斷擴展與升級,開展?jié)B透測試工作已經成為廣大企業(yè)組織主動識別安全漏洞與潛在風險的關鍵過程。然而,傳統(tǒng)的人工滲透測試模式對測試人員的專業(yè)能力和經驗水平有很高的要求,企業(yè)需要投入較大的時間和資源才能完成。在此背景下,自動化滲透測試已成為滲透測試領域的重點研究內容,并被認為是人工滲透測試的一種演進形式。
自動化 or 人工?
傳統(tǒng)的滲透測試過程依賴專業(yè)人員的背景知識,存在人力和時間開銷大等問題,而自動化滲透測試在一定程度上克服了傳統(tǒng)滲透測試的弊端。自動化滲透測試在整體流程上和傳統(tǒng)滲透測試相似,但是能夠自動分析目標系統(tǒng)所在網(wǎng)絡環(huán)境,發(fā)現(xiàn)并驗證目標系統(tǒng)潛在的漏洞點和脆弱性,極大地降低了人工參與的程度。下表將傳統(tǒng)人工滲透測試和自動化滲透測試進行了簡單對比:
從上表的對比可以看出,自動化滲透測試的應用優(yōu)勢主要體現(xiàn)在以下幾點:
??低成本且高效。自動化滲透測試平臺可以涵蓋客戶端網(wǎng)絡,并在幾乎沒有人工參與的情況下全天候執(zhí)行掃描、探測和分析;同時,還可以根據(jù)要解決的問題的嚴重程度應用自動化來組織報告;此外,與手動滲透測試相比,自動化滲透測試理論上可以在更短的時間內完成。
??合規(guī)性。自動化滲透測試以來工具執(zhí)行,因此在運行掃描和分析結果時,會嚴格依照提前設置好的流程和程序。自動化滲透測試的結果是高度可重復的,每次測試結果之間的差異很小。從監(jiān)管和合規(guī)的角度來看,這種特質是非常寶貴的。
??節(jié)省時間和人力資源。由于不需要高薪的安全專業(yè)人員來執(zhí)行工具并執(zhí)行對結果的高級分析,因此在很大程度上節(jié)省了成本。雖然自動化滲透測試服務并不便宜,但當考慮到自動化測試平臺節(jié)省的時間,它們通常比人工替代方案更有性價比。
不過需要指出的是,目前自動化滲透測試技術還存在很多局限性。對于計算機系統(tǒng)來說,模仿人類大腦執(zhí)行高度復雜且通常需要高度想象力的任務時,其實際能力表現(xiàn)是相當具有挑戰(zhàn)性的。特別是涉及到新方法、新途徑或開箱即用的新需求時,自動化滲透測試還難以替代人工滲透測試。
自動化滲透測試的流程
自動化滲透測試是一種幫助安全團隊確定網(wǎng)絡或應用程序安全性的創(chuàng)新選擇,在測試過程中,測試人員需要使用自動化滲透測試工具檢查目標環(huán)境網(wǎng)絡系統(tǒng)中的目標設備和端口。以下是其自動化滲透測試的常見運行過程:
01?計劃準備
計劃準備包括確定想要測試的系統(tǒng)和執(zhí)行測試的方法,其目標是識別網(wǎng)絡中的缺陷。為了更好地進行漏洞診斷,企業(yè)應該提前定義好預期測試的范圍和目標,并從網(wǎng)絡、域名以及郵件服務器中收集必要的診斷情報,這些情報是發(fā)現(xiàn)系統(tǒng)中的潛在漏洞所必需的。
02?掃描和偵察階段
在這個階段,測試人員需要全面了解網(wǎng)絡應用程序將如何響應各種入侵嘗試。此時可以使用靜態(tài)代碼分析或動態(tài)代碼分析工具對網(wǎng)絡應用程序進行檢查,這將有助于評估測試開始運行后,網(wǎng)絡應用系統(tǒng)的行為反應,實時了解網(wǎng)絡的運行情況。
03?目標捕獲階段
在完成了掃描和偵察流程后,下一步就是進入目標捕獲。此階段需要利用多種技術(例如跨站點腳本和后門技術)來發(fā)現(xiàn)潛在的安全漏洞。滲透測試人員可以通過升級特權、竊取數(shù)據(jù)和攔截流量來利用檢測到的漏洞,了解這種漏洞利用可能造成的損害程度。
04?評估和維護控制階段
評估和維護控制階段的目標是查看是否可以使用漏洞在系統(tǒng)中建立持久性。在這種情況下,企業(yè)需要模擬惡意攻擊,以便攻破并維護對應用系統(tǒng)的安全訪問。這些類型的攻擊可以模仿APT攻擊方式,在攻擊開始前就潛伏到組織的網(wǎng)絡系統(tǒng)中。
05?取證分析及報告階段
在成功完成初始測試階段后,需要制定詳細的測試報告,說明測試的不同階段。這包括滲透測試成功的方式、地點、時間以及可能的原因。報告通常需要涵蓋以下內容:
??被利用的特定漏洞。
??您接觸到的敏感數(shù)據(jù)。
??您在系統(tǒng)中成功潛伏的時間。
自動化滲透測試應用實踐
在實際應用中,有多種不同的方法來開展和實施自動化滲透測試,這會因組織類型、規(guī)模、業(yè)務范圍和相關的網(wǎng)絡安全要求而異。為了最大限度地利用自動化滲透測試,組織可以參考借鑒以下最佳實踐:
1?將滲透測試集中在特定的網(wǎng)段上
在現(xiàn)實世界的網(wǎng)絡犯罪中,最有效的攻擊往往是那些針對目標使用高度針對性的攻擊。同樣的邏輯也適用于滲透測試。自動化滲透測試允許分段執(zhí)行,您可以將單個測試集中在系統(tǒng)的特定部分,而非一次執(zhí)行全部測試。這可以讓您更深入地了解如何預防最危險的攻擊類型。有針對性的自動化滲透測試可以企業(yè)應對那些更高級、更持久的威脅。
2?定期運行外部、內部和混合測試
自動化滲透測試的另一個好處是能夠定期運行滲透測試。這就允許執(zhí)行一個包含各種測試的測試體系。通過使用自動化滲透測試工具,企業(yè)可以頻繁、定期地運行各種測試:
??外部滲透測試——這些測試關注外部未知的攻擊者,以及他們利用外圍防御漏洞的嘗試。它們通常在測試人員完成破壞后得出結論,并將結果反饋給防火墻等邊界安全設備;
??內部滲透測試——這些測試關注來自內部威脅的攻擊,測試的結果更加多樣化,揭示了各種可見性、訪問控制基礎設施等方面的變化。
??混合滲透測試——這些測試結合了以上兩種測試的元素,通常從外部開始,然后在內部繼續(xù)。測試結果將為實施大規(guī)模的網(wǎng)絡防御變革提供依據(jù)。
這些測試產生了不同的見解。雖然混合測試似乎是任何時候都能運行的最佳測試,但情況并非總是如此。如上所述,專注于系統(tǒng)中特定功能的測試非常有用。這同樣適用于特定類型的測試。
3?充分利用滲透測試的結果
利用滲透測試的結果是整個測試過程的一個關鍵部分,測試人員會與組織內的網(wǎng)絡安全領導合作,以對結果進行分析和反饋。例如,CISO可能會與滲透測試團隊合作,制定相應的控制機制,以防止實際攻擊者利用特定的攻擊向量。
另一種有效利用滲透測試的方式是對員工進行安全意識培訓來。組織可以利用自動化滲透測試的洞察力來設計培訓模塊,例如桌面事件響應練習。這些模擬練習的規(guī)模較小,比全面的滲透測試更快速。實際上,它們可以進行多次重復,而且資源成本較低,非常適合定期進行安全培訓。此外,自動化滲透測試工具生成的情報越多,這些培訓會話就越精確和有效。
4?提升企業(yè)的風險管理合規(guī)能力
自動化滲透測試可以成為企業(yè)合規(guī)管理程序的重要組成部分。如果企業(yè)組織處于受監(jiān)管的行業(yè)或地點,或者處理受保護的數(shù)據(jù),就可能會被要求進行滲透測試。在這種情況下,建議企業(yè)優(yōu)先選擇自動化滲透測試,并將其整合到組織整體的風險管理戰(zhàn)略中。
自動化滲透測試工具選型
在諸多市場因素的共同驅動下,自動化滲透測試技術的應用正在迅速興起,而行業(yè)中目前也不乏相關的服務提供商。企業(yè)可以參考以下選型因素,來選擇合適的自動化滲透測試工具/方案:
??考慮預算和成本。列出自動化滲透測試軟件工具的清單,并根據(jù)企業(yè)的需求獲取報價,比較自動化滲透測試工具的成本和特性。
??考慮自動化滲透測試工具的使用特性和組織應用需求。考慮自動化滲透測試軟件工具的特性和組織的滲透測試需求,確保可用的功能可以根據(jù)組織的需求進行定制。
??確保工具能夠進行合規(guī)性測試。檢查自動化滲透測試工具是否提供滿足合規(guī)性的滲透掃描,并確保其提供專門的合規(guī)性報告和評價表。
??客戶服務支持。檢查工具是否提供24*7的安全支持能力,合格的服務支持人員可以幫助企業(yè)消除對發(fā)現(xiàn)的漏洞疑慮。
??提供詳細的測試報告。詳細的測試報告包括漏洞利用方法的列表,以及對漏洞風險危害性的評價,以便于對每個漏洞進行優(yōu)先級排序并確定最終補救措施。
??可定期掃描和滲透測試能力。確保自動化滲透測試工具提供定期的漏洞掃描能力和可擴展的滲透測試服務選項。這個因素至關重要,因為定期的自動化滲透測試對于一個健康的安全系統(tǒng)是必不可少的。
5款熱門自動化滲透測試工具
很多企業(yè)開始借助自動化滲透測試工具來緩解傳統(tǒng)滲透測試的弊端,這些工具能夠自動分析目標系統(tǒng)所在網(wǎng)絡環(huán)境,將安全團隊從復雜的測試流程中解放出來,降低了企業(yè)開展?jié)B透測試的成本。以下收集整理了當前市場上應用熱度較高的5款自動化滲透測試工具(服務),并對其主要應用特點進行了分析。
01?SQLmap
SQLmap是一個免費的滲透測試工具,它能夠自動化查找與SQL注入相關的威脅和攻擊的過程。相比其他的web應用程序滲透測試工具,SQLmap具有較強大的測試引擎和多種注入攻擊識別能力,并支持多種數(shù)據(jù)庫服務器,如MySQL、Microsoft Access、IBM DB2和SQLite。
主要特點
??掃描器能力:Web應用程序;
??手動測試:不支持;
??準確性:可能出現(xiàn)誤報;
??漏洞管理:不支持;
??開源滲透測試工具。
??使用自動化方法查找各種類型的SQL注入。
??沒有GUI。
02?OpenVAS
OpenVAS是一個較全面的開源滲透測試軟件。在世界各地的滲透測試專家的幫助下,它得到了不斷的支持和更新,從而使其保持最新狀態(tài)。OpenVAS的其他特性還包括提供未經身份驗證的測試、目標掃描和web漏洞掃描。
主要特點
??掃描器能力:web應用程序,網(wǎng)絡協(xié)議;
??免費。
??高效、快速自動化。
??定期更新。
??可能會忽略一些基本的漏洞。
??存在一定的誤報
03?Wireshark
WireShark是一個業(yè)界知名的開源自動化滲透測試工具,主要用于協(xié)議分析和網(wǎng)絡活動的微觀監(jiān)控。它可以捕獲和分析網(wǎng)絡流量,檢查協(xié)議,解決網(wǎng)絡性能問題。
主要特點
??需要像Qt、GLib和libpcap這樣的庫支持;
??可以從網(wǎng)絡接口捕獲實時數(shù)據(jù)包數(shù)據(jù);
??準確性較高;
??不支持漏洞管理;
??提供與合規(guī)性間接相關的報告;
??免費,易于安裝。
??對于初學者來說很難駕馭。
??用戶界面有待改善。
04?Nmap
Nmap是一個開源的自動滲透測試和漏洞掃描工具,允許安全管理員創(chuàng)建連接到網(wǎng)絡的所有設備、操作系統(tǒng)和應用程序的目錄,從而更輕松地檢測潛在漏洞。
主要特點
??能夠掃描每個網(wǎng)絡協(xié)議的1000個最流行的端口;
??主動使用NMap進行網(wǎng)絡映射和端口掃描,這些都是手工測試工作的一部分。
??偶爾會出現(xiàn)誤報和錯誤的見解;
??不支持漏洞管理
??可顯示打開的端口、運行的服務和其他網(wǎng)絡關鍵因素。
??對小型網(wǎng)絡同樣適用。
??用戶界面有待改進。
05?Metasploit
Metasploit是安全專業(yè)人員經常使用的系統(tǒng)漏洞檢測框架。它是一個強大的工具,也包含了模糊、反取證和逃避工具等部分。Metasploit目前包含了近500個有效載荷檢測用例,包括命令shell有效載荷、動態(tài)有效載荷、Meterpreter有效載荷和靜態(tài)有效載荷。
主要特點
??功能全面,包含一系列可用于滲透測試的工具;
??不支持漏洞管理:不支持;
??提供與合規(guī)性間接相關的報告;
??這是一個強大的框架。
??有陡峭的學習曲線。
??適用于有一定專業(yè)能力的安全團隊。