網絡滲透測試

原文地址:http://www.cdus.org/bbs/forum.php?mod=viewthread&tid=42305

       滲透測試是一種最老的評估計算機系統安全性的方法。在70年代初期,國防部就曾使用這種方法發現了計算機系統的安全漏洞,並促使開發構建更安全系統的程序。滲透測試越來越多地被許多組織用來保證信息系統和服務的安全性,從而使安全性漏洞在暴露之前就被修復。

       由於惡意代碼、黑客、不滿員工所造成的網絡入侵、數據偷竊和攻擊的頻率和嚴重程度會繼續增加,所以網絡安全漏洞和數據偷竊所造成的風險和代價是極大的。由於企業電子化的興起及其對安全性的要求,公司網絡的遠程訪問也在增加。事實上,即使網絡實現管理的很好,並使用了最新的硬件和軟件,也仍然可能受到錯誤配置或軟件缺陷的影響。這可能最終會將敏感信息的訪問權限泄漏給入侵者。使用滲透測試工具則能夠顯著地減少這種情況的發生。
雖然滲透測試的主要目標是發現組織中網絡基礎架構的安全漏洞;但它也可能有許多次要目標,包括測試組織的安全問題識別和響應能力,測試員工安全知識或測試安全性政策規範等。
執行網絡滲透測試的原因
       滲透測試能夠通過識別安全問題來幫助一個單位理解當前的安全狀況。這使促使許多單位開發操作規劃來減少攻擊或誤用的威脅。
      撰寫良好的滲透測試結果可以幫助管理人員建立可靠的商業案例,以便證明所增加的安全性預算或者將安全性問題傳達到高級管理層。 
      安全性不是某時刻的解決方案,而是需要嚴格評估的一個過程。安全性措施需要進行定期檢查,才能發現新的威脅。滲透測試和公正的安全性分析可以使許多單位重視他們最需要的內部安全資源。此外,獨立的安全審計也正迅速成爲獲得網絡安全保險的一個要求。
       現在符合規範和法律要求也是執行業務的一個必要條件。滲透測試工具可以幫助許多單位滿足這些規範要求。
啓動一個企業電子化項目的核心目標之一是實現與戰略伙伴、提供商、客戶和其他電子化相關人員的緊密協作。要實現這個目標,許多單位有時會允許合作伙伴、提供商、B2B交易中心、客戶和其他相關人員使用可信連接方式來訪問   他們的網絡。一個良好執行的滲透測試和安全性審計可以幫助許多單位發現這個複雜結構中的最脆弱鏈路,並保證所有連接的實體都擁有標準的安全性基線。
       當擁有安全性實踐和基礎架構,滲透測試會對商業措施之間的反饋實施重要的驗證,同時提供了一個以最小風險而成功實現的安全性框架。


       安全測試不同於滲透測試,滲透測試側重於幾個點的穿透攻擊,而安全測試是側重於對安全威脅的建模,系統的對來自各個方面,各個層面威脅的全面考量。安全測試可以告訴您,您的系統可能會來自哪個方面的威脅,正在遭受哪些威脅,以及您的系統已經可抵禦什麼樣的威脅。當然,安全測試涵蓋滲透測試的部分內容。
安全測試與滲透測試的區別主要在:
       滲透測試考慮的是以黑客方法,從單點上找到利用途徑,證明你有問題,幫助客戶提高認識,也能解決急迫的一些問題,但無法也不能去針對系統做完備性的安全測試,所以難以解決系統自身實質性的安全問題,所以提供滲透測試的廠商一般都是自己買什麼防護設備,以自己防護設備針對的威脅爲主要滲透點,找到你有類似的問題,解決方案就以賣對應的防護設備作爲手段,針對具體的威脅,通過防護設備採取被動的防護。而安全測試的廠商,則從整體系統架構,安全編碼,安全測試,安全測試覆蓋性,安全度量等多個因素去考慮問題,提出的解決方法則是逐步幫助客戶引入安全開發過程,提供相應的工具支撐,目標是最後讓客戶提升業務系統自身實質性安全問題。
安全測試首先會對被測試系統做系統分析,分析其架構,軟件體系以及程序部署等等,然後再對被測系統做系統安全分析,在這之後會對系統進行安全建模,明確本系統可能來自的各個潛在威脅,之後需要剖析系統,確認有哪些攻擊界面,根據測試方案進行測試。
       安全測試只關注漏洞的可利用性分析,但不關注漏洞如何被真實利用的技術,這當中有幾個因素:
成本因素:對攻擊者來說,利用漏洞的收益是系統所保護的資產,所以可以投入更多的成本來研究漏洞的利用,包括時間,人員,手段。但是對安全測試來說,整個收益是客戶願意投入的成本,系統所保護的資產遠大於系統開發投入,安全投入又只佔系統開發投入的百分之三左右,所以從成本角度考慮,安全測試只關注評估漏洞被利用的可能性,而不應該具體去研究漏洞如何被利用且展示給客戶。
       視角因素:安全測試是幫助客戶降低安全威脅,減少安全漏洞。本身是一種防護技術,儘量發現安全問題並指導客戶修復安全問題是關鍵,沿着的路徑是發現安全問題->分析評估安全問題-〉提出修補建議-〉度量安全,而不是以攻擊者視角發現安全問題-〉利用安全問題-〉獲得非法收益的路徑。對防護方最有價值的是發現問題,解決問題,而不是發現問題,利用問題。防護方關注都漏洞是否可被利用確定安全漏洞和修復級別就夠了,研究再多的具體攻擊利用技術,對操作系統級別的防護是有意義的,但是對普通應用系統的開發與使用者則是無價值的。
假定因素:客戶面臨的風險不僅來自於外部,也可能來自於攻擊者通過客戶端主機的滲透(如通過對某員工筆記本掛馬再接入內網的方式),還有可能來自於內部。安全要保護全面的安全,我們不能假定攻擊者路徑就一定處於同滲透測試一樣的純外部嚴密防護中,也無法假定攻擊者通過時間積累社工或自身特性(員工)獲取到一些信息。同時攻擊利用技術發展到現在,已經和具體應用的特性結合起來,攻擊者時刻有可能發現以前我們認爲低危,不好利用的漏洞的利用方法。因此安全測試關注點是業務系統在失去所有外部防護之後,自身實現的安全性,關注高覆蓋的安全測試和安全度量,而不是單一的滲透測試。
       當然目前,由於用戶對安全的理解還存在很多認識誤區,還需要慢慢改善。
最近1個項目,用戶的目標是希望能業務系統上線之前,通過測試改善安全,用戶以前的安全主要是某國際大公司提供流程諮詢一套,但難以解決安全問題,因此用戶希望引入安全測試來全面提升安全,其實是很符合安全測試目標的,但是在選型之後,給予幾家廠商PK的項目則是純網站滲透測試性的,評價標準也只是在誰最後真實入侵了誰牛的標準,雖然我們也滲透成功,但是出具的報告則是針對某個頁面具體的威脅分析,改進建議,沒有去放置破壞性實質入侵的東西,用戶反倒覺得沒其他做滲透測試廠商報告漂亮,抓了WEBSHELL的屏,拿了敏感文件什麼的,其實就和安全測試的本意就遠了。
       當然既然用戶的認識只在這個階段,也沒辦法,後面的測試我們就只能以滲透利用的方式去做和出報告了,但我一直在想,用戶需要的是提升自身業務系統的安全,繼續滲透這套方法,我們難道又要回到賣防護設備被動防護的方式嗎?在給微軟測試當中,我提交的報告無需去寫EXP,除了MDB那個例外,因爲微軟認爲MDB不是安全文件,我給他們說了可以利用來打IIS,但估計我拙劣的英文沒讓他們明白,最後才以BLUEHAT上的實際演示來證明。其實技術發展到現在,安全漏洞具體怎麼利用成爲了一門藝術,但是漏洞理論上是否可被利用卻是基本可以定性的,只要理論上可以被利用的漏洞,廠商都應該修補,因爲我們不能假設攻擊者不能通過深入研究達到實質可利用,廠商也沒必要花費大量的成本去研究實質可利用。所以微軟無需我提交EXP,只要指出是否理論可利用就可以了。
       其實攻擊者只要付出研究成本,大多數理論上可被利用的漏洞都是可以達到很高利用程度的,最近給相關部門提交了一個非常嚴重,影響國內多個重點行業使用的產品漏洞,但對方認爲這個漏洞太難利用了,因爲有應用自身編碼檢測要求,否則無法寫自己可控內容到文件;沒辦法,只能花了一晚上時間熬夜逆向分析,最後寫出了編碼的代碼,可以非常容易實施攻擊,證實這是個極度高危的安全漏洞。是的,雖然最終把利用代碼寫出來了,讓任何說不能實際利用的人都無話可說,但是,這種成本花銷值得嗎?廠商會對發現自身安全漏洞支付成本,會對發現的安全漏洞寫出可利用攻擊來支付成本嗎?房屋安全驗收員發現了房屋存在空鼓就可以了,而不是非得貼上瓷磚等上2年讓牆磚出現開裂、脫落的現象才能給業主證明。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章