您現在的位置 > 首頁 > 安全服務 > 滲透測試服務


一、滲透測試安全服務介紹


1.1漏洞掃描服務


漏洞掃描是一種主動的防範措施,可以有效避免黑客攻擊行為,防患于未然。通過對網絡的掃描,可以了解網絡的安全配置和運行的應用服務,及時發現安全漏洞,客觀評估網絡風險等級。

銥迅漏洞掃描系統支持主機漏洞掃描、Web漏洞掃描、弱密碼掃描。采用報表的形式對掃描結果進行分析,并且提供相應的漏洞解決方案,方便管理員對主機和應用的安全進行檢查和分析,及時修複漏洞。


1.2人工滲透測試


滲透測試(Penetration Test)是指安全滲透測試者盡可能完整地模拟黑客使用的漏洞發現技術和攻擊手段,對目标網絡/系統/主機/應用的安全性作深入的探測,發現系統最脆弱的環節的過程。

不過,經用戶授權所進行的滲透測試與黑客所進行的滲透攻擊測試是有一定的區别。授權所進行的滲透測試一般不會對客戶的信息系統造成任何危害和損失,其目的隻在于從信息系統的外部發現信息系統對外所呈現出的安全脆弱性并驗證這些安全脆弱性的真實存在性,到此為止就不再進行進一步的滲透(即不進行後門植入等後續手段),并将這些所存在的脆弱性通告客戶方,這是與黑客所進行的滲透測試的區别所在。


1.3滲透測試安全服務項目收益


此次滲透測試安全服務項目目的是讓用戶清晰了解目前主機與應用系統的脆弱性、可能造成的影響,以便采取必要的防範措施。不過滲透測試安全服務項目并不能保證發現目标系統中的“所有”弱點,通過滲透測試安全服務項目隻能是減少風險,但是不一定能絕對避免風險,因此滲透測試安全服務項目不能讓系統達到絕對得安全,經過安全評估服務後的系統被攻破是可能的,也是正常的。因此,“滲透測試安全服務項目”隻是檢測信息系統安全的一種方式,要保障系統的安全需要采取綜合性的安全保障措施,才能使信息系統的安全達到較高的程度。

從滲透測試安全服務項目中,客戶能夠得到的收益至少有:

1)滲透測試安全服務項目幫助客戶發現其主機與應用系統的安全最短闆,協助客戶有效地了解目前降低風險的初始任務;

2)滲透測試安全服務報告有助于客戶管理者以案例形式說明目前互聯網系統的安全現狀,從而增強客戶信息安全的認知程度;

3)信息安全是一個整體工程,滲透測試安全服務項目還有助于客戶的所有成員意識到自己的崗位同樣可能提高或降低風險,有助于内部安全的提升。


1.4滲透測試對現有系統的影響


由于采用可控制的、非破壞性質的滲透測試,因此不會對被評估的系統造成嚴重的影響。在滲透測試結束後,系統将保持正常運行狀态。


二、漏洞掃描


2.1漏洞掃描遵守的原則


實施過程中需要遵守的原則包括但不限于:

(1)标準性原則:漏洞掃描方案的設計和實施應依據行業、國家、國際的相關标準進行。

(2)規範性原則:整個掃描工作過程和所有文檔,應具有很好的規範性,以便于項目的跟蹤和控制。

(3)可控性原則:在保證掃描質量的前提下,按計劃進度執行,需要保證對漏洞掃描工作的可控性。漏洞掃描的工具、方法和過程要在雙方認可的範圍之内合法進行。

(4)整體性及有限性原則:漏洞掃描的内容應包括用戶等各個層面,漏洞掃描的對象應包括和僅限于用戶所指定的具體設備及系統,未經用戶授權不得減小或擴大漏洞掃描的範圍和對象。

(5)最小影響原則:漏洞掃描工作應避免影響系統和網絡的正常運行,盡量不對正常運行的系統和網絡構成破壞和造成停産。

(6)保密原則:漏洞掃描的過程和結果應嚴格保密,不能洩露掃描項目所涉及的任何打印和電子形式的有效數據和文件以及其它的網絡數據。


2.2漏洞掃描實施過程


2.2.1委托受理階段

項目經理與委托單位就漏洞掃描項目進行前期溝通,接收被測單位提交的網絡狀況資料,包括但不限于:網絡拓補結構,網絡IP配置信息,網絡服務器相關資料等。前期溝通結束後,雙方簽署《網絡安全服務協議》。


2.2.2準備階段

項目經理組織人員依據客戶提供的文檔資料和調查數據,編寫制定《信息系統漏洞掃描方案》。

項目經理與客戶溝通評估方案,确定漏洞掃描的具體日期、漏洞掃描的具體範圍、我方實施評估人員和客戶方配合的人員。

項目經理協助被測單位填寫《信息系統漏洞掃描用戶授權書》,并通知客戶做好掃描前的準備工作。

如果項目需從被測單位的辦公局域網内進行,掃描全過程需有客戶方配合人員在場陪同。


2.2.3實施階段

項目經理明确項目組評估人員承擔的測試項。評估完成後,項目組整理漏洞掃描數據,形成《漏洞掃描網絡安全服務報告》。

實施過程中需要評估的項目包括但不限于:

(1)主機環境漏洞掃描。

(2)Web系統漏洞掃描。

(3)弱密碼漏洞掃描。


實施過程中評估測試流程:

(1)掃描方案确定,開始執行掃描任務,按照客戶的掃描要求配置漏洞掃描策略進行掃描。

(2)端口掃描階段,本階段主要是對目标對外開放的端口和服務進行掃描,從而收集相關的信息。

(3)主機漏洞掃描階段,本階段主要是對目标的主機環境進行安全掃描。

(4)Web漏洞掃描階段,本階段主要是對目标的Web系統進行安全掃描。

(5)弱密碼檢測階段,本階段主要是對目标的各種常用服務,如FTP、SQL Server、RDP遠程終端服務等進行弱密碼檢測掃描。

(6)清除總結階段,清除在客戶系統中産生的痕迹和中間數據,然後根據以上階段内容總結編寫《漏洞掃描服務報告》。



2.3漏洞掃描的風險規避


由于漏洞掃描屬于黑盒測試,因此可能對被測試目标造成不可預知的風險;此外對于性能比較敏感的測試目标,如一些實時性要求比較高的系統,由于掃描可能引起網絡流量的增加,因此可能會引起被掃描目标的服務質量降低。因此需進行如下的風險規避措施:


2.3.1掃描時段選擇

一般會選擇在夜間或安排在業務量不大的時段進行漏洞掃描。


2.3.2掃描策略集選擇

根據系統的具體情況配置合理的掃描策略。


三、人工滲透測試


3.1滲透測試的人員要求


       由于滲透測試是一項綜合素質要求比較高的測試活動,因此對滲透測試人員也有着較高的要求。

首先是職業道德素質,由于滲透測試可能會涉及到被測試目标組織的機密信息,因此對人員的保密要求和職業道德素質就有着很高的要求;

其次滲透測試也是一項技術性和技巧性很高的測試活動,因此對測試人員的安全測試能力和測試經驗也有很高的要求。

我們的人員的職業道德素質和保密意識有着良好的保證,同時也具備了很高的滲透測試技術能力和豐富的滲透測試經驗。


3.2測試工作标準


依據如下标準實施滲透測試服務:

l 《GB/T 18336-2001 信息技術安全技術信息技術安全性評估準則》等同于《ISO 15408-1999 Common Criteria for Information Technology Security Evaluation》(CC)。

l OSSTMM - Open-Source Security Testing Methodology Manual

l ISSAF - Information Systems Security Assessment Framework

l OWASP - Open Web Application Security Project

l WASC - Web Application Security Consortium


3.3滲透測試的實施過程



3.3.1滲透測試前的準備階段


客戶書面同意

在滲透測試前,滲透測試方将取得客戶的書面授權委托,保證滲透測試的合法性,這是實施滲透測試的必要條件。


滲透目标的确

在取得授權後,滲透測試方需要就詳細的滲透測試範圍和測試對象與客戶進行商議,并書面達成一緻。在進行滲透測試時應嚴格按照測試範圍和測試對象進行,以避免測試範圍的“蔓延”而傷及無辜。


滲透測試時間窗的規定

此外客戶可根據其對自身系統安全狀态的了解情況為滲透測試者規定一個測試時間窗,要求滲透測試者在此時間窗内完成其滲透測試工作。

具體的滲透測試時段,将在滲透測試前進行調研,确定客戶互聯網系統的業務忙閑時段後再進行确定,以避開業務高峰期,避免對系統性能造成影響。


先驗知識的通告

雖然滲透測試是偏重于黑盒的測試,但也并非什麼先驗知識都不告訴滲透測試人員。客戶應考慮好應該給予滲透測試方的關于被測試目标的必要先驗知識并書面告知滲透測試者,以便其進行有效的滲透測試,避免測試的盲目性。

客戶提供給滲透測試服務商的先驗知識在标書中有一定的聲明,主要是進行測試所需的互聯網IP地址信息。


确定滲透測試的人員

在滲透測試準備階段應确定好滲透測試人員的名單、滲透測試人員的詳細介紹,并征得客戶對這些人員可進行滲透測試的書面同意。


風險規避措施的實施

對于重要系統的的滲透測試,在測試前應先做好系統的備份和恢複準備工作以便在發生不可預知的風險後能快速恢複系統的正常運行。

此外如果滲透目标不能接受被滲透攻擊出意外的風險,則可選擇保守策略,搭建滲透目标的複制品,然後在進行滲透測試。

最後應确定監控方式,準備好監控環境,以便進行滲透測試時進行有效的監控,并進行良好的信息溝通,以盡快控制可能發生的風險,避免風險的擴大。



3.3.2滲透測試的進行階段


實施滲透測試

滲透測試方将滲透測試技術一般流程和滲透測試内容實施具體的滲透測試。


滲透測試過程中的監控

按準備階段選擇的監控方式,在準備好的監控環境下對正在實施的滲透測試活動進行監控,同時監控被測試目标的工作狀态。


滲透測試過程中的溝通

在滲透測試過程中,一方面滲透測試人員應主動就滲透測試的進展情況、測試活動及測試中出現的異常或非預期情況與客戶項目組進行溝通,以便客戶項目組及時檢查測試目标的工作狀态是否正常;其次客戶項目組監控人員也應就被測試目标的狀态情況及時與滲透測試者進行通知,以便滲透測試者決定滲透測試活動是否能繼續進行。


3.3.3滲透測試後的總結階段

在完成滲透測試後,需要對滲透測試數據進行整理彙總和分析,根據發現的安全漏洞和安全隐患指出被測目标的問題所在,然後提出相應的改進建議,并最終完成滲透測試報告的編寫。


3.4可能采取的技術手段


3.4.1網絡信息搜集

使用PING Sweep、DNS Sweep、SNMP Sweep、Tracert等手段對主機存活情況、DNS名、網絡鍊路等進行信息收集。可以對目标的網絡情況、拓撲情況、應用情況有一個大緻的了解,為更深層次的滲透測試提供資料。


3.4.2端口掃描

通過對目标地址的TCP/UDP端口掃描,确定其所開放的服務的數量和類型,這是所有滲透測試的基礎。通過端口掃描,可以基本确定一個系統的基本信息,結合安全工程師的經驗可以确定其可能存在以及被利用的安全弱點,為進行深層次的滲透提供依據。


3.4.3遠程溢出

這是當前出現的頻率最高、威脅最嚴重,同時又是最容易實現的一種滲透方法,一個具有一般網絡知識的入侵者就可以在很短的時間内利用現成的工具實現遠程溢出攻擊。對于在防火牆内的系統存在同樣的風險,隻要對跨接防火牆内外的一台主機攻擊成功,那麼通過這台主機對防火牆内的主機進行攻擊就易如反掌。


3.4.4口令猜測

口令猜測也是一種出現概率很高的風險,幾乎不需要任何攻擊工具,利用一個簡單的暴力攻擊程序和一個比較完善的字典,就可以猜測口令。對一個系統賬号的猜測通常包括兩個方面:首先是對用戶名的猜測,其次是對密碼的猜測。


3.4.5本地溢出

所謂本地溢出是指在擁有了一個普通用戶的賬号之後,通過一段特殊的指令代碼獲得管理員權限的方法。使用本地溢出的前提是首先要獲得一個普通用戶的密碼。也就是說由于導緻本地溢出的一個關鍵條件是設置不當的密碼策略。

多年的實踐證明,在經過前期的口令猜測階段獲取的普通賬号登錄系統之後,對系統實施本地溢出攻擊,就能獲取不進行主動安全防禦的系統的控制管理權限。


3.4.6 Web腳本及應用測試

Web腳本及應用測試專門針對Web及數據庫服務器進行。根據最新的技術統計,腳本安全弱點為當前Web系統尤其存在動态内容的Web系統存在的主要比較嚴重的安全弱點之一。利用腳本相關弱點輕則可以獲取系統其他目錄的訪問權限,重則将有可能取得系統的控制權限。因此對于含有動态頁面的Web、數據庫等系統,web腳本及應用測試将是必不可少的一個環節。在Web腳本及應用測試中,可能需要檢查的部份包括:

l 檢查應用系統架構、防止用戶繞過系統直接修改數據庫

l 檢查身份認證模塊,防止非法用戶繞過身份認證

l 檢查數據庫接口模塊,防止用戶獲取系統權限

l 檢查文件接口模塊,防止用戶獲取系統文件

l 檢查其他安全威脅


3.5滲透測試的風險規避


由于滲透測試偏重于黑盒測試,因此可能對被測試目标造成不可預知的風險;此外對于性能比較敏感的測試目标,如一些實時性要求比較高的系統,由于滲透測試的某些手段可能引起網絡流量的增加,因此可能會引起被測試目标的服務質量降低。因此需進行如下的風險規避措施:


3.5.1滲透測試時段選擇

對網絡流量影響嚴重的測試内容,為減輕滲透測試對網絡和主機的影響,測試在會選擇在夜間或安排在業務量不大的時段進行測試。


3.5.2滲透測試工具的選用

滲透測試的目的是要盡可能地發現測試目标的安全漏洞或安全隐患,因此滲透測試所使用的工具不是一般安全評估中使用的測試工具。它可以是商業性安全測試工具、可以是開源安全測試工具、可以是滲透測試者自己所編寫的小工具或腳本程序、也可以是滲透測試機構自己的非公開測試工具。但對于合法的滲透測試,無論使用什麼樣的滲透測試工具,有一個基本的原則就是使用的滲透測試工具不會給測試目标引入病毒、蠕蟲或木馬等惡意程序,給目标系統造成不必要的損失或帶來潛在的安全隐患。因此在滲透測試工具的選用及使用策略上應進行安全保證。

銥迅信息在此次滲透測試中使用的滲透測試工具有購買的商業測試工具、也有部分的開源測試工具(這些開源工具主要用于滲透測試前期的信息收集階段)。對于所使用的開源測試工具,已進行了安全檢測和驗證使用,保證不會給客戶系統引入病毒和木馬等惡意程序。


3.5.3攻擊策略集選擇

為防止滲透測試造成網絡和主機的業務中斷,在滲透測試中不使用含有拒絕服務的測試策略。對緩沖區溢出類的漏洞驗證,不建議在生産環境中驗證,而在測試環境或備份環境中驗證。


3.5.4保守策略選擇

對于不能接受任何可能風險的主機系統,可選擇如下保守策略:

1)複制一份目标環境,包括硬件平台,操作系統,數據庫管理系統,應用軟件等。

2)對目标的副本進行滲透測試。


3.5.5系統備份和恢複

為防止在滲透測試過程中出現的異常的情況,所有被測試系統均應在被測試之前作一次完整的系統備份,以便在系統發生災難後及時恢複。

在滲透測試過程中,如果出現被評估系統沒有響應或中斷的情況,應當立即停止測試工作,與客戶方配合人員一起分析情況,在确定原因後,及時恢複系統,并采取必要的預防措施(比如調整測試策略)之後,确保對系統無影響,并經客戶方同意之後才可繼續進行。


3.5.6滲透測試過程中的合理溝通保證

在滲透測試實施過程中,确定不同階段的測試人員以及客戶方的配合人員,建立直接溝通的渠道,并對測試過程中出現難題的過程保持合理溝通。


3.5.7系統監測

在評估過程中,由于滲透測試的特殊性,用戶可以要求對整體測試流程進行監控。