如何更好地實(shí)施Web應(yīng)用程序滲透測試?
企業(yè)越依賴網(wǎng)絡(luò)通信和基于云的數(shù)據(jù)系統(tǒng),就越容易遭受外部攻擊者的攻擊和破壞。在考慮Web應(yīng)用程序的數(shù)據(jù)安全問題時(shí),確立滲透測試方法變得日益重要。
在設(shè)計(jì)和捍衛(wèi)安全系統(tǒng)時(shí),如何確保這些系統(tǒng)正常運(yùn)行?答案就在于構(gòu)建一種滲透測試方法來保護(hù)信息資產(chǎn)。
什么是滲透測試
簡言之,滲透測試就是為了確定Web應(yīng)用中的漏洞程度而對企業(yè)的最佳防御系統(tǒng)進(jìn)行測試并利用其漏洞的一種可控的網(wǎng)絡(luò)攻擊。
從實(shí)質(zhì)上說,設(shè)計(jì)和實(shí)施滲透測試方法可以使企業(yè):
1. 在獲得授權(quán)的環(huán)境中主動(dòng)地測試和攻擊自己的系統(tǒng),其重點(diǎn)是IT基礎(chǔ)架構(gòu)、操作系統(tǒng)漏洞、應(yīng)用程序問題及用戶和配置錯(cuò)誤等。
2. 分析和查驗(yàn)系統(tǒng)防御以及用戶是否遵循系統(tǒng)協(xié)議。
3. 評估可能的攻擊源,如Web應(yīng)用程序、無線網(wǎng)絡(luò)、設(shè)備、服務(wù)器等。
任何數(shù)據(jù)都不可能完全安全。但有效的滲透測試方法可以極大地清除一些不必要的漏洞。
滲透測試的好處
有效的滲透測試方法可以確認(rèn)掃描軟件無法發(fā)現(xiàn)的漏洞,而且可以確定已有的網(wǎng)絡(luò)防御系統(tǒng)如何適時(shí)地檢測和響應(yīng)攻擊,確定一次成功攻擊的危害程度,還可以確保遵循所有的數(shù)據(jù)安全合規(guī)協(xié)議。
認(rèn)真對待滲透測試方法的另一個(gè)好處在于其對公司內(nèi)部文化的潛在影響。企業(yè)的領(lǐng)導(dǎo)層展示出對數(shù)據(jù)安全的重視和要求,就會(huì)增強(qiáng)雇員對其重視的程度,后者也會(huì)盡最大努力遵循終端用戶協(xié)議。
多長時(shí)間進(jìn)行一次滲透測試?
企業(yè)應(yīng)經(jīng)常執(zhí)行有效的滲透測試。為避免將來遭受攻擊而丟失重要數(shù)據(jù),安全管理者應(yīng)積極地強(qiáng)化Web應(yīng)用程序的防御。在計(jì)劃滲透測試方法時(shí),不妨考慮一下企業(yè)所屬行業(yè)。并非每一家企業(yè)都有相同的安全需要,但公司有責(zé)任確保機(jī)密信息的安全性。
企業(yè)應(yīng)經(jīng)常部署滲透測試方法,尤其要注意:
1.有些行業(yè)的特定規(guī)范要求經(jīng)常進(jìn)行滲透測試。
2.對網(wǎng)絡(luò)基礎(chǔ)架構(gòu)或Web應(yīng)用程序進(jìn)行的任何修改,其中可能涉及升級、更改、安全補(bǔ)丁、安裝新軟件或硬件、大修等。
3.策略變更。對于終端用戶來說,問題尤其如此。策略的變更會(huì)影響到用戶與Web應(yīng)用交互的性質(zhì),從而帶來新挑戰(zhàn)。
4.企業(yè)遷移或增加新的辦公場所。其中涉及通過ISP而不是通過企業(yè)的安全網(wǎng)絡(luò)訪問Web應(yīng)用程序的遠(yuǎn)程雇員。
最后,在設(shè)計(jì)滲透測試方法時(shí),保持謹(jǐn)慎很有必要。滲透測試的花費(fèi)要遠(yuǎn)遠(yuǎn)小于數(shù)據(jù)泄露所造成的成本。
構(gòu)建有效的滲透測試過程
在構(gòu)建滲透測試方法時(shí),必須記住滲透測試要求很多的信任。企業(yè)要找到一家既有經(jīng)驗(yàn)又熟悉企業(yè)特定需要的供應(yīng)商。
滲透測試實(shí)際上是要求供應(yīng)商攻擊企業(yè)的系統(tǒng),所以應(yīng)當(dāng)建立一些基本要求:
范圍:滲透測試針對的是企業(yè)的特定范圍還是總體?哪些人和哪些不屬于此范圍?
時(shí)間表:在測試期間,企業(yè)仍要正常運(yùn)行,所以確定在什么時(shí)間執(zhí)行滲透測試非常重要。應(yīng)將滲透測試的總體時(shí)間安排作為滲透測試方法的一個(gè)關(guān)鍵要素。
黑盒測試與白盒測試:在白盒測試中,滲透測試者可得到基本的實(shí)施測試的訪問和信息,然后由此開始查找并利用漏洞的過程。在黑盒測試中,測試者就像是外部的攻擊者一樣實(shí)施攻擊。
溝通:在測試涉及到的各方中建立溝通渠道是很重要的,因?yàn)闇贤ㄖ谐霈F(xiàn)的任何差錯(cuò)都可能導(dǎo)致各種不可預(yù)料的后果。
上述問題是滲透測試方法的基礎(chǔ),所以我們應(yīng)謹(jǐn)慎考慮。
收集情報(bào)
在這個(gè)階段,供應(yīng)商開始實(shí)施初步攻擊。如果計(jì)劃得當(dāng),供應(yīng)商就可以明確攻擊什么和無法攻擊什么。
如果供應(yīng)商沒有詳細(xì)地調(diào)查關(guān)于企業(yè)、員工、資產(chǎn)、負(fù)債的信息,其工作就做得不夠?;ㄙM(fèi)在這個(gè)階段的時(shí)間很重要也會(huì)很多。
威脅建模
在收集了相關(guān)資料后,下一步就是使用這些信息構(gòu)建公司及資產(chǎn)的完整模型。然后,確定主要和次要的目標(biāo)資產(chǎn),并做進(jìn)一步調(diào)查。
資產(chǎn)牽涉到很多要素,其中包括企業(yè)數(shù)據(jù)(例如,策略、過程、商業(yè)秘密)、雇員和客戶數(shù)據(jù)、人員資產(chǎn)(可通過某種方式利用其弱點(diǎn)的高級雇員)等。在健全的滲透測試方法中,供應(yīng)商不應(yīng)偏向于其找到的某些資產(chǎn),除非被要求這樣做。供應(yīng)商應(yīng)努力確認(rèn)價(jià)值最高的資產(chǎn)。
漏洞分析
在確立了目標(biāo)資產(chǎn)后,供應(yīng)商就會(huì)確定利用這些資產(chǎn)漏洞的最佳入口。良好的滲透測試方法可以對項(xiàng)目范圍提供嚴(yán)格的指南,以確保滿足客戶所期望的結(jié)果。
有時(shí),這種分析可以揭示所有的潛在漏洞。另外,供應(yīng)商還會(huì)被要求針對特定的潛在問題進(jìn)行滲透測試。徹底的滲透測試方法可以評估漏洞程度,其中包括漏洞水平及其可能暴露信息的敏感性。
漏洞利用及后續(xù)工作
滲透測試的下一步就是攻擊了。正如真實(shí)的數(shù)據(jù)泄露一樣,漏洞利用可以很快地實(shí)施和執(zhí)行。
在供應(yīng)商獲得了系統(tǒng)的訪問權(quán)之后,就會(huì)設(shè)法避免被檢測,同時(shí)還要嘗試“特權(quán)提升”策略,以獲得更多的系統(tǒng)訪問和其它的潛在資源。
在實(shí)現(xiàn)目標(biāo)之后,滲透測試進(jìn)行到漏洞利用的后期階段,供應(yīng)商會(huì)評估被攻擊系統(tǒng)或入口點(diǎn)的價(jià)值,并決定是否可以進(jìn)一步利用其漏洞。
報(bào)告
很明顯,徹底的滲透測試在數(shù)據(jù)收集、數(shù)據(jù)分析、漏洞利用等方面需要花費(fèi)大量的工作。但是,供應(yīng)商該如何報(bào)告信息才能使企業(yè)將其轉(zhuǎn)換為可行動(dòng)的解決方案呢?
要求具體建議:高級的建議可能會(huì)提供企業(yè)Web應(yīng)用的基本環(huán)境配置情況,但對于具體實(shí)施的人來說卻沒有太大用處。
風(fēng)險(xiǎn)等級:很明顯,攻擊越難實(shí)施和完成,真正的攻擊者在實(shí)施時(shí)面臨的困難就會(huì)越多。供應(yīng)商應(yīng)提供一份詳細(xì)報(bào)告,指明其發(fā)現(xiàn)漏洞的風(fēng)險(xiǎn)等級,還要評估這些漏洞被利用后對企業(yè)產(chǎn)生的潛在影響。