滲透測試

滲透測試

惡意黑客的攻擊方法
滲透測試(penetration test)并沒有一個标準的定義,國外一些安全組織達成共識的通用說法是:滲透測試是通過模拟惡意黑客的攻擊方法,來評估計算機網絡系統安全的一種評估方法。這個過程包括對系統的任何弱點、技術缺陷或漏洞的主動分析,這個分析是從一個攻擊者可能存在的位置來進行的,并且從這個位置有條件主動利用安全漏洞。[1]
    中文名:滲透測試 外文名:penetration test 别名: 作用:是通過模拟惡意黑客的攻擊方法 方法:通過使用兩套掃描器進行安全評估

滲透測試

我們認為滲透測試還具有的兩個顯著特點是:滲透測試是一個漸進的并且逐步深入的過程。滲透測試是選擇不影響業務系統正常運行的攻擊方法進行的測試。

作為網絡安全防範的一種新技術,對于網絡安全組織具有實際應用價值。但要找到一家合适的公司實施滲透測試并不容易。

滲透測試是專業服務

滲透測試有時是作為外部審查的一部分而進行的。這種測試需要探查系統,以發現操作系統和任何網絡服務,并檢查這些網絡服務有無漏洞。你可以用漏洞掃描器完成這些任務,但往往專業人士用的是不同的工具,而且他們比較熟悉這類替代性工具。

滲透測試的作用一方面在于,解釋所用工具在探查過程中所得到的結果。隻要手頭有漏洞掃描器,誰都可以利用這種工具探查防火牆或者是網絡的某些部分。但很少有人能全面地了解漏洞掃描器得到的結果,更别提另外進行測試,并證實漏洞掃描器所得報告的準确性了。

執行網絡滲透測試的原因

滲透測試能夠通過識别安全問題來幫助一個單位理解當前的安全狀況。這使促使許多單位開發操作規劃來減少攻擊或誤用的威脅。

撰寫良好的滲透測試結果可以幫助管理人員建立可靠的商業案例,以便證明所增加的安全性預算或者将安全性問題傳達到高級管理層。

安全性不是某時刻的解決方案,而是需要嚴格評估的一個過程。安全性措施需要進行定期檢查,才能發現新的威脅。滲透測試和公正的安全性分析可以使許多單位重視他們最需要的内部安全資源。此外,獨立的安全審計也正迅速成為獲得網絡安全保險的一個要求。

現在符合規範和法律要求也是執行業務的一個必要條件,滲透測試工具可以幫助許多單位滿足這些規範要求。

啟動一個企業電子化項目的核心目标之一,是實現與戰略夥伴、提供商、客戶和其他電子化相關人員的緊密協作。要實現這個目标,許多單位有時會允許合作夥伴、提供商、B2B交易中心、客戶和其他相關人員使用可信連接方式來訪問他們的網絡。一個良好執行的滲透測試和安全性審計可以幫助許多單位發現這個複雜結構中的最脆弱鍊路,并保證所有連接的實體都擁有标準的安全性基線。

當擁有安全性實踐和基礎架構,滲透測試會對商業措施之間的反饋實施重要的驗證,同時提供了一個以最小風險而成功實現的安全性框架。

如何進行滲透測試

有些滲透測試人員通過使用兩套掃描器進行安全評估。這些工具至少能夠使整個過程實現部分自動化,這樣,技術娴熟的專業人員就可以專注于所發現的問題。如果探查得更深入,則需要連接到任何可疑服務,某些情況下,還要利用漏洞。

商用漏洞掃描工具在實際應用中存在一個重要的問題:如果它所做的測試未能獲得肯定答案,許多産品往往會隐藏測試結果。譬如,有一款知名掃描器就存在這樣的缺點:要是它無法進入Cisco路由器,或者無法用SNMP獲得其軟件版本号,它就不會做出這樣的警告:該路由器容易受到某些拒絕服務(DoS)攻擊。如果不知道掃描器隐藏了某些信息(譬如它無法對某種漏洞進行測試),你可能誤以為網絡是安全的,而實際上,網絡的安全狀況可能是危險的。

除了找到合适工具以及具備資質的組織進行滲透測試外,還應該準确确定測試範圍。攻擊者會借助社會工程學、偷竊、賄賂或者破門而入等手法,獲得有關信息。真正的攻擊者是不會僅僅滿足于攻擊某個企業網絡的。通過該網絡再攻擊其它公司往往是黑客的慣用伎倆。攻擊者甚至會通過這種方法進入企業的ISP。

方法

為了從滲透測試上獲得最大價值,應該向測試組織提供盡可能詳細的信息。這些組織同時會簽署保密協議,這樣,你就可以更放心地共享策略、程序及有關網絡的其它關鍵信息。

還要确定的是,哪些系統需要測試。雖然你不想漏掉可能會受到攻擊的某個系統,但可能仍想分階段把滲透測試外包出去,以便每個階段專注于網絡的不同部分。

你還應該制訂測試準則,譬如說:滲透測試人員可以探查漏洞并進行測試,但不得利用,因為這可能會危及到你想要保護的系統。

此外,你還要提供合适的測試途徑。如果你想測試在非軍事區(DMZ)裡面的系統,最好的測試地方就是在同一個網段内測試。讓滲透測試人員在防火牆外面進行測試聽起來似乎更實際,但内部測試可以大大提高發現防火牆原本隐藏的服務器安全漏洞的可能性。因為,一旦防火牆設置出現變動,就有可能暴露這些漏洞,或者有人可能通過漏洞,利用一台DMZ服務器攻擊其它服務器。還記得尼姆達病毒嗎?它就是首次攻擊得逞後、利用一台Web服務器發動其它攻擊的。

以外部需要訪問的Web或應用服務器為例,你應該考慮與滲透測試人員共享這些應用的源代碼,如果測試涉及這些腳本或程序的話。沒有源代碼,很難測試ASP或CGI腳本,事先認定攻擊者根本不會看到源代碼是不明智的。Web服務器軟件裡面的漏洞往往會把腳本和應用暴露在遠程攻擊者面前。如果能夠獲得應用的源代碼,則可以提高測試該應用的效率。畢竟,你出錢是為了讓滲透測試人員查找漏洞,而不是浪費他們的時間。

安全審查的一部分

滲透測試旨在證明,網絡防禦機制的運行與你認為的一樣良好。往往系統和網絡管理員視審查人員或滲透人員為敵人,但實際上他們卻是朋友。到位的滲透測試可以證明你的防禦确實有效,或者查出問題,幫助你阻擋未來攻擊。出錢請自己知道的人來發現網絡中的漏洞,總比讓自己不知道的人發現漏洞好得多。

滲透測試可以用來向第三方,譬如投資方或者你的管理人員提供網絡安全狀況方面的具體證據。事實上,你知道網絡中存在的漏洞可能已有一段時日,但無法說服管理人員分配必要資源以補救漏洞。光靠自己,網絡或安全管理員的意見往往不會被董事會采納。如果外面的顧問贊同你的評估,或許會有奇迹出現。

有關滲透測試的合同或工作說明應該包括你從所得報告中想要獲得的各個方面。如果你請人進行有限的測試,得到的隻是計算機生成的報告。而滲透測試的真正價值在于由報告所衍生出的分析。進行測試的一方會詳細介紹發現結果,并說明其重要性。在有的地方,測試人員還會提議采取何種補救方法,譬如更新服務器、禁用網絡服務、改變防火牆規則等等。

發展

如今,大多數攻擊進行的是最基本的漏洞掃描,如果攻擊得逞,目标就岌岌可危。如果攻擊者企圖對你站點進行漏洞掃描,他就會獲得大量的防火牆日志消息,而監控網絡的任何入侵檢測系統(IDS)也會開始發送有關當前攻擊的警報。如果你還沒有試過,不妨利用漏洞掃描器結合IDS對網絡來一番試驗。别忘了首先獲得對方的許可,因為,運行漏洞掃描器會使IDS引發警報。

滲透測試也許是你的網絡防禦工具箱當中的重要武器之一。應該視之為各種安全審查的一部分,但要确保審查人員勝任這項工作。

滲透測試的分類

實際上滲透測試并沒有嚴格的分類方式,即使在軟件開發生命周期中,也包含了滲透測試的環節,但根據實際應用,普遍認同的幾種分類方法如下:

根據滲透方法分類

1、黑箱測試

黑箱測試又被稱為所謂的“Zero-Knowledge Testing”,滲透者完全處于對系統一無所知的狀态,通常這類型測試,最初的信息獲取來自于DNS、Web、Email及各種公開對外的服務器。

2、白盒測試

白盒測試與黑箱測試恰恰相反,測試者可以通過正常渠道向被測單位取得各種資料,包括網絡拓撲、員工資料甚至網站或其它程序的代碼片斷,也能夠與單位的其它員工(銷售、程序員、管理者……)進行面對面的溝通。這類測試的目的是模拟企業内部雇員的越權操作。

3、隐秘測試

隐秘測試是對被測單位而言的,通常情況下,接受滲透測試的單位網絡管理部門會收到通知:在某些時段進行測試。因此能夠監測網絡中出現的變化。但隐秘測試則被測單位也僅有極少數人知曉測試的存在,因此能夠有效地檢驗單位中的信息安全事件監控、響應、恢複做得是否到位。

根據滲透目标分類

1、主機操作系統滲透

對Windows、Solaris、AIX、Linux、SCO、SGI等操作系統本身進行滲透測試。

2、數據庫系統滲透

對MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等數據庫應用系統進行滲透測試。

3、應用系統滲透

對滲透目标提供的各種應用,如ASP、CGI、JSP、PHP等組成的WWW應用進行滲透測試。

4、網絡設備滲透

對各種防火牆、入侵檢測系統、網絡設備進行滲透測試。

相關詞條

相關搜索

其它詞條