(中國移動(dòng)通信集團(tuán)設(shè)計(jì)院有限公司,北京 100080)
伴隨著IT技術(shù)和互聯(lián)網(wǎng)應(yīng)用的蓬勃發(fā)展,針對(duì)企業(yè)和個(gè)人的相關(guān)安全威脅也日益凸顯。除了攻擊手段的多樣化、智能化和普遍化等外在原因,大量的安全漏洞也使得安全環(huán)境進(jìn)一步惡化。
所謂安全漏洞(Vulnerability),就是存在于系統(tǒng)內(nèi)的弱點(diǎn)或缺陷,使得系統(tǒng)對(duì)一個(gè)特定的威脅攻擊或危險(xiǎn)事件敏感。安全漏洞的出現(xiàn)和存在,既有客觀天然的原因,如代碼失誤、環(huán)境變化等;也有主觀后天的原因,如配置問題、管理缺乏等。
面對(duì)愈演愈烈的漏洞威脅和層出不窮的公告和修補(bǔ)建議,電信運(yùn)營商、政府機(jī)構(gòu)、科研企業(yè)等安全敏感度高的單位,在采用常規(guī)的“頂盔貫甲”安全思路來部署各類安全防護(hù)設(shè)備進(jìn)行被動(dòng)防御的同時(shí),也在逐漸使用“強(qiáng)身健體”的思路、使用系統(tǒng)漏洞掃描設(shè)備、Web網(wǎng)頁漏洞掃描設(shè)備、基線檢查設(shè)備等漏洞檢測(cè)類設(shè)備來檢測(cè)所轄設(shè)備自身的安全性;相應(yīng)地,此類安全產(chǎn)品的測(cè)試和選擇也越來越受到各方重視。
在林林總總的漏洞檢測(cè)類安全產(chǎn)品的選擇中,各方不僅希望掌握漏洞掃描等設(shè)備的工作原理、核心技術(shù),更加看重實(shí)際的使用效果或者入網(wǎng)前的測(cè)試結(jié)果。雖然已經(jīng)有較為成熟的測(cè)試組織流程,測(cè)試機(jī)構(gòu)也在不斷加大測(cè)試投入,但目前面向基于漏洞檢測(cè)的安全產(chǎn)品的多數(shù)測(cè)試方法并沒有形成科學(xué)的理論,已經(jīng)滯后了此類安全產(chǎn)品在整個(gè)安全體系中發(fā)揮本應(yīng)具有的作用。
總的來看,雖然業(yè)內(nèi)還缺乏成熟的測(cè)試方法論對(duì)整個(gè)測(cè)試予以指導(dǎo),但是對(duì)于一般安全產(chǎn)品的測(cè)試工作,應(yīng)該把握以下幾個(gè)原則:
(1) 確保準(zhǔn)確:產(chǎn)品測(cè)試的根本目的就是對(duì)參評(píng)設(shè)備進(jìn)行橫向的技術(shù)比較,從中挑選出功能完備、性能優(yōu)良、滿足生產(chǎn)運(yùn)維需要的產(chǎn)品。因此,無論采用何種測(cè)試方法,最終都要確保測(cè)試結(jié)果能夠真實(shí)反映出設(shè)備的優(yōu)點(diǎn)、不足、特性等。
(2) 防止作弊:設(shè)備提供商為提高測(cè)試成績,很多會(huì)提前對(duì)設(shè)備的功能和性能進(jìn)行優(yōu)化,以取巧的手段換取高分。例如,對(duì)于應(yīng)用層安全設(shè)備,由于受到體系架構(gòu)和組件配置等方面的影響,一般設(shè)備性能指標(biāo)和綜合準(zhǔn)確率是反比的。換而言之,如果測(cè)試環(huán)境不能保證將某幾個(gè)指標(biāo)同步測(cè)試,就有可能給被測(cè)廠家一定的操作空間,在結(jié)果上可能同時(shí)達(dá)到一個(gè)高分,而在實(shí)際使用中卻差強(qiáng)人意。
(3) 避免爭議:以防火墻為代表的三四層安全產(chǎn)品測(cè)試與路由器等網(wǎng)絡(luò)設(shè)備的測(cè)試環(huán)境、測(cè)試手段都已經(jīng)較為成熟,結(jié)果也鮮有不同意見。但面向應(yīng)用層的安全產(chǎn)品測(cè)試方法和結(jié)果常常為各方質(zhì)疑,所以在測(cè)試內(nèi)容的選擇和測(cè)試方法的設(shè)計(jì)上,要有所取舍和精心考慮,在保證結(jié)果準(zhǔn)確的前提下,不要輕易引入爭議項(xiàng)作為必測(cè)項(xiàng)目。
(4) 性價(jià)比優(yōu):測(cè)試的目的大多是直接為工程建設(shè)和生產(chǎn)運(yùn)維服務(wù)的,而測(cè)試本身需要占用固定投入或者運(yùn)營費(fèi)用,因此也要考慮測(cè)試投入中人力、物力、時(shí)間等成本因素。
一項(xiàng)專業(yè)化測(cè)試,其主要內(nèi)容應(yīng)該包括測(cè)試制度、組織架構(gòu)、測(cè)試方案、過程記錄、綜合評(píng)估等5個(gè)方面。本文重點(diǎn)討論測(cè)試方案,即面向基于漏洞檢測(cè)的安全產(chǎn)品的測(cè)試項(xiàng)目和測(cè)試方法。
測(cè)試方案中,首先明確的是測(cè)試項(xiàng)目即測(cè)試者所關(guān)心的該類產(chǎn)品各項(xiàng)指標(biāo),如功能指標(biāo)、性能指標(biāo)、綜合指標(biāo)等。從產(chǎn)品測(cè)試項(xiàng)目或者內(nèi)容安排來看大致可以分為兩類,全面測(cè)試與優(yōu)化測(cè)試:
(1) 全面測(cè)試,即測(cè)試覆蓋了被測(cè)產(chǎn)品所有的功能點(diǎn)和性能點(diǎn)。顯而易見,全面測(cè)試的優(yōu)勢(shì)在于可以徹底全面了解被測(cè)產(chǎn)品的情況;但是最大的問題在于測(cè)試內(nèi)容多、周期長和投入大。如果采用全面測(cè)試的方法,按照業(yè)內(nèi)通常的經(jīng)驗(yàn),一類安全產(chǎn)品總共投入的人工量即達(dá)到1 200人日,如果把租用測(cè)試儀表的費(fèi)用考慮進(jìn)去,僅一項(xiàng)測(cè)試的直接費(fèi)用就達(dá)170多萬元。這顯然不符合性價(jià)比優(yōu)的測(cè)試原則。另外,測(cè)試結(jié)果過于繁雜也不利于參測(cè)產(chǎn)品之間的綜合比較。
(2) 優(yōu)化測(cè)試,即在前面(1)提到的測(cè)試全集中選擇有代表性的功能指標(biāo)和性能指標(biāo)進(jìn)行重點(diǎn)測(cè)試。這種方法最大優(yōu)點(diǎn)在于省時(shí)省錢,但難度在于指標(biāo)選取和測(cè)試方法的設(shè)計(jì),需要避免造成以偏概全等問題。
通過對(duì)多種漏洞檢測(cè)類安全設(shè)備的深入分析與研究比較,筆者認(rèn)為采用優(yōu)化測(cè)試是完全可行、可靠和可信的。下面,首先提出優(yōu)化后的測(cè)試指標(biāo)項(xiàng),然后在下一個(gè)小節(jié)中介紹關(guān)鍵測(cè)試環(huán)境的搭建和測(cè)試方法的設(shè)計(jì)。
為便于比較,在測(cè)試安排和評(píng)估中大多傾向于使用能夠量化的項(xiàng)目指標(biāo)作為主要測(cè)試內(nèi)容。其中,安全類產(chǎn)品常用準(zhǔn)確率作為關(guān)鍵指標(biāo)來對(duì)產(chǎn)品進(jìn)行測(cè)評(píng)。對(duì)于漏洞檢測(cè)類產(chǎn)品,其準(zhǔn)確率指標(biāo)主要有兩項(xiàng):一是設(shè)備發(fā)現(xiàn)準(zhǔn)確率,即要求送測(cè)設(shè)備能夠快速精準(zhǔn)地發(fā)現(xiàn)設(shè)備、形成資產(chǎn)庫,并在此基礎(chǔ)上發(fā)現(xiàn)漏洞;二是漏洞檢測(cè)準(zhǔn)確率,即將預(yù)植或者已知漏洞正確識(shí)別出來的比例(識(shí)別出的已知漏洞數(shù)量除以全部已知漏洞總數(shù))。
需要指出的是,漏洞檢測(cè)類安全產(chǎn)品測(cè)試環(huán)境搭建中最大的難點(diǎn)在于要求測(cè)試者準(zhǔn)確了解實(shí)驗(yàn)對(duì)象中預(yù)植的已知漏洞種類與規(guī)模。
眾所周知,基于漏洞檢測(cè)類的安全產(chǎn)品的真正核心實(shí)力在于對(duì)漏洞庫和相關(guān)知識(shí)庫的徹底掌握和充分積累。因此,雖然安全漏洞庫或者知識(shí)庫規(guī)模大小、危害分析的詳細(xì)程度、其升級(jí)周期快慢等并不能直接說某款產(chǎn)品的好壞,但卻從一個(gè)主要方面反映出產(chǎn)品質(zhì)量及其提供商的綜合實(shí)力,包括研究能力、開發(fā)能力、成果轉(zhuǎn)化力等。此外,在實(shí)際應(yīng)用中,漏洞庫的完備性和升級(jí)及時(shí)可以幫助安全管理者能夠在入侵攻擊尚未造成更大危害之前做出最快反應(yīng)。
一款功能完善的漏掃設(shè)備要兼顧嚴(yán)謹(jǐn)性與靈活性。在配置管理上應(yīng)該同時(shí)兼具自動(dòng)掃描、手動(dòng)掃描功能,而且還提供針對(duì)不同掃描對(duì)象的配置模板,如并發(fā)線程數(shù)、掃描范圍、檢測(cè)內(nèi)容等,并給出推薦值,從而保證不同技術(shù)層次的人員能夠根據(jù)實(shí)際需要進(jìn)行檢測(cè)工作部署。
在實(shí)際工作中,即使有大量的掃描檢測(cè)數(shù)據(jù)堆砌在一起,而不能從資產(chǎn)風(fēng)險(xiǎn)的角度確保技術(shù)安全與管理安全的同步性,那么對(duì)系統(tǒng)風(fēng)險(xiǎn)的整體性降低也無多大裨益。因此,要重點(diǎn)關(guān)注基于資產(chǎn)的漏洞風(fēng)險(xiǎn)評(píng)估、漏洞信息的管理、修補(bǔ)優(yōu)先級(jí)排序、歷史數(shù)據(jù)匯總和對(duì)比等輸出報(bào)告的可讀性與可用性上。
漏掃類產(chǎn)品的可靠性至少有兩層的含義。一是產(chǎn)品本身運(yùn)行的穩(wěn)定性和可靠性;二是產(chǎn)品本身在模擬黑客的行為對(duì)被掃范圍進(jìn)行攻擊測(cè)試時(shí),是否會(huì)帶來安全風(fēng)險(xiǎn),如造成的網(wǎng)絡(luò)癱瘓、關(guān)鍵應(yīng)用或者服務(wù)中斷等。
下面,本文就此類安全產(chǎn)品的準(zhǔn)確性、完備性與及時(shí)性、方便性、可用性和可靠性等5個(gè)方面的測(cè)試內(nèi)容,一一說明相應(yīng)的測(cè)試方法。
測(cè)試方法是基于測(cè)試內(nèi)容的、通過一定技術(shù)手段獲得試驗(yàn)結(jié)果的方法。不同的測(cè)試項(xiàng)目或者內(nèi)容有不同的測(cè)試方法。從業(yè)內(nèi)成熟經(jīng)驗(yàn)和產(chǎn)品特點(diǎn)來看,基于漏洞檢測(cè)類的安全產(chǎn)品測(cè)試方法一般包含兩個(gè)方面,一是測(cè)試環(huán)境的搭建、二是測(cè)試手段。下面,我們對(duì)應(yīng)前面提到的5個(gè)測(cè)試項(xiàng)目分別提出優(yōu)化的測(cè)試方法。
上節(jié)已經(jīng)提到此類安全產(chǎn)品的準(zhǔn)確率有兩個(gè)方面,一是設(shè)備發(fā)現(xiàn)準(zhǔn)確率;二是漏洞檢測(cè)準(zhǔn)確率。對(duì)于設(shè)備發(fā)現(xiàn)準(zhǔn)確率測(cè)試,可以利用復(fù)制虛擬機(jī)的方法來擴(kuò)大被掃設(shè)備的規(guī)模,從而避免無法比較不同被測(cè)設(shè)備在掃描發(fā)現(xiàn)效率方面的差別。而對(duì)于漏洞檢測(cè)準(zhǔn)確率,測(cè)試方法是比較復(fù)雜的。
前面已經(jīng)提到,在基于漏洞檢測(cè)類的安全產(chǎn)品測(cè)試中把檢測(cè)準(zhǔn)確率指標(biāo)作為關(guān)鍵指標(biāo)還存在諸多值得商榷之處。首先,當(dāng)前還沒有自動(dòng)預(yù)植系統(tǒng)或者應(yīng)用漏洞的儀表,因此很多情況下需要人為在測(cè)試環(huán)境中手工完成漏洞預(yù)植;其次,為保證測(cè)試環(huán)境與應(yīng)用環(huán)境盡可能接近,整個(gè)漏洞集合必須是大規(guī)模(一般在千個(gè)量級(jí))、多樣化、代表性強(qiáng),覆蓋面廣的,這也給漏洞預(yù)植工作造成很大困難。綜上兩點(diǎn),在漏洞檢測(cè)類產(chǎn)品測(cè)試中,其檢測(cè)準(zhǔn)確率的真實(shí)值在理論上是無法得到的。
因此,在測(cè)試環(huán)境搭建中,需要找到一種方法,既保證測(cè)試樣本中的漏洞規(guī)模和代表性盡可能接近真實(shí)環(huán)境、又要保證測(cè)試人員能清楚地知道全部漏洞的類型和數(shù)量。這里我們提出補(bǔ)丁趨近驗(yàn)證法來滿足測(cè)試的要求。
首先使用1或者2款漏洞檢測(cè)類設(shè)備對(duì)一個(gè)常見版本的被測(cè)對(duì)象進(jìn)行掃描,并記錄漏洞列表合集;然后從相關(guān)官網(wǎng)下載一系列補(bǔ)丁對(duì)其修補(bǔ),再使用同樣的掃描設(shè)備或者其他技術(shù)手段重新掃描,查看初次記錄的漏洞是否已經(jīng)不存在。經(jīng)過反復(fù)的掃描與修補(bǔ)過程,基本可以大致確定該被測(cè)對(duì)象中已經(jīng)存在的漏洞種類和數(shù)量。
這樣以來,準(zhǔn)確率測(cè)試結(jié)果評(píng)估中所需“分母”——整個(gè)漏洞集合基本已知的前提下,剩余的測(cè)試即可按照常規(guī)方法展開并記錄,由此就可以得到一個(gè)基本可信的檢測(cè)準(zhǔn)確率值。
除了通過方法(1)來從一個(gè)方面來檢查被測(cè)設(shè)備的漏洞庫的完備性和及時(shí)性以外,可以通過其他公開方式,來進(jìn)一步檢驗(yàn)。例如,被測(cè)產(chǎn)品一段時(shí)間內(nèi)的升級(jí)包的描述、建議、幫助等,以及這些提供商發(fā)布的漏洞提示、升級(jí)包等與被掃對(duì)象官網(wǎng)發(fā)布的時(shí)間是否同步等等。
眾所周知,安全類產(chǎn)品的軟件會(huì)涉及到總體結(jié)架構(gòu)和模塊設(shè)計(jì)、編程和調(diào)試、聯(lián)調(diào)和測(cè)試等一系列過程。而最為簡便和直觀評(píng)測(cè)一款軟件優(yōu)劣的方法就是軟件對(duì)主流操作系統(tǒng)的兼容性和配置界面的靈活性。如果產(chǎn)品本身為軟件形態(tài),測(cè)試人員可以自行安裝一次,檢測(cè)其安裝是否順暢。如果是硬件形態(tài),也可以通過檢查其任務(wù)模板界面中是否包含并發(fā)的線程數(shù)、數(shù)據(jù)分組間隔時(shí)間、掃描對(duì)象總數(shù)等可配置內(nèi)容,而且要驗(yàn)證上述配置項(xiàng)在極值情況下是否能夠正常工作。
發(fā)現(xiàn)漏洞,只是完成一半工作。一款優(yōu)秀的漏洞檢測(cè)類產(chǎn)品還會(huì)對(duì)掃描檢測(cè)結(jié)果進(jìn)行分析,并提供修復(fù)建議。換而言之,在此項(xiàng)測(cè)試中,不僅需要考察結(jié)果是否全面精確,還必須落實(shí)這些數(shù)據(jù)是可為人們理解的信息,如被掃系統(tǒng)的量化風(fēng)險(xiǎn)、漏洞修復(fù)建議等報(bào)告。從而方便用戶在實(shí)際工作中有效地落實(shí)漏洞修補(bǔ)和風(fēng)險(xiǎn)規(guī)避的工作流程。
要檢查測(cè)試過程中,是否出現(xiàn)被測(cè)對(duì)象宕機(jī),進(jìn)程掛起等不穩(wěn)定現(xiàn)象。同時(shí),要觀察被掃實(shí)驗(yàn)環(huán)境中設(shè)備負(fù)荷變化情況,如網(wǎng)絡(luò)負(fù)荷、被掃主機(jī)負(fù)荷等等。比較簡易的方法是檢驗(yàn)送測(cè)設(shè)備是否有高風(fēng)險(xiǎn)插件等,是否具備及時(shí)提醒操作員某項(xiàng)操作存在風(fēng)險(xiǎn)性等。
采用前面提到的優(yōu)化測(cè)試方案,首先是在測(cè)試項(xiàng)目的選擇上,有所取舍和精簡;其次,測(cè)試環(huán)境搭建科學(xué)公正;再次,測(cè)試效率也極大提高。例如,測(cè)試方法(1)、(2)、(3)中大部分都可以在一個(gè)測(cè)試步驟中同步完成,即測(cè)試展開、結(jié)果記錄、評(píng)估總結(jié)可以一次性完成;最后,可以保證測(cè)試結(jié)果能夠真實(shí)反映出設(shè)備的功能和性能水平。
同時(shí),該優(yōu)化測(cè)試方案也可以進(jìn)而推廣于某些通過掃描對(duì)比自身漏洞庫、知識(shí)庫,并據(jù)此進(jìn)一步采取封堵、告警、記錄、建議等措施的安全設(shè)備的測(cè)試。