摘 要:隨著國(guó)家信息化建設(shè)的飛速發(fā)展,信息系統(tǒng)得到廣泛應(yīng)用,而針對(duì)信息系統(tǒng)的攻擊也越來越普遍,安全事件時(shí)有發(fā)生,如何確保信息系統(tǒng)得到足夠安全保障,系統(tǒng)符合上線運(yùn)行條件,將成為一項(xiàng)重要課題。本文提出一套在信息系統(tǒng)上線前開展安全評(píng)測(cè)的方案,內(nèi)容包括四個(gè)方面:代碼安全審計(jì)、安全漏洞掃描、安全配置核查和滲透性測(cè)試,并給出判別信息系統(tǒng)上線安全標(biāo)準(zhǔn)。此方案能有效的檢測(cè)出信息系統(tǒng)各層面隱藏的安全漏洞,并可以根據(jù)安全標(biāo)準(zhǔn)得出是否符合上線運(yùn)行的結(jié)論,有力的保障信息系統(tǒng)上線運(yùn)行安全。
關(guān)鍵詞:安全評(píng)測(cè);信息安全;安全漏洞;信息系統(tǒng)上線
中圖分類號(hào):TP309.2 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
隨著信息技術(shù)的飛速發(fā)展,信息化建設(shè)越來越受到國(guó)家的重視,各種各樣的信息系統(tǒng)得到廣泛應(yīng)用,信息系統(tǒng)給我們帶來工作便利的同時(shí),信息安全問題也不斷涌現(xiàn),信息安全事件時(shí)有發(fā)生。早在2006年,Gartner公司的調(diào)查報(bào)告顯示,黑客攻擊案例中有75%都是源于應(yīng)用系統(tǒng)層面而非網(wǎng)絡(luò)層面;同時(shí)數(shù)據(jù)顯示,現(xiàn)今的信息系統(tǒng)都很脆弱,易受黑客攻擊。
黑客攻擊由網(wǎng)絡(luò)層轉(zhuǎn)向應(yīng)用層,以應(yīng)用系統(tǒng)為跳板入侵服務(wù)器甚至控制整個(gè)網(wǎng)絡(luò)系統(tǒng),危害十分嚴(yán)重。究其原因,主要是兩個(gè)方面:一是各種應(yīng)用程序的增多,這些應(yīng)用程序存在很多的安全漏洞;二是用來進(jìn)行攻擊的黑客工具越來越多,黑客活動(dòng)越發(fā)猖獗,經(jīng)濟(jì)利益的驅(qū)動(dòng)尤為明顯[1]。
信息系統(tǒng)上線前,確保信息系統(tǒng)得到足夠安全保障,是否具備上線運(yùn)行條件,如何開展信息系統(tǒng)上線前的安全評(píng)測(cè),將成為一項(xiàng)重要的研究?jī)?nèi)容。
2 研究意義(Research significance)
開展信息系統(tǒng)上線前的安全評(píng)測(cè),可以檢測(cè)信息系統(tǒng)是否具有足夠安全保障措施,斷言信息系統(tǒng)是否具備上線運(yùn)行的條件,能夠促進(jìn)信息安全防護(hù)能力和防護(hù)水平的提升,最大限度地預(yù)防和減少重大信息安全事件的發(fā)生。通過開展代碼安全審計(jì)、安全漏洞掃描、安全配置核查和滲透性測(cè)試等評(píng)測(cè)工作,使得信息安全工作能夠居安思危、防患于未然。通過測(cè)評(píng)工作的實(shí)施,深入分析信息系統(tǒng)中存在的安全風(fēng)險(xiǎn)與隱患,根據(jù)檢查出的安全漏洞,進(jìn)行安全加固,并在加固完成后進(jìn)行回歸測(cè)試,全面提升信息系統(tǒng)上線前的整體防護(hù)水平,保障信息系統(tǒng)上線后的整體安全性。
3 方案總體設(shè)計(jì)(The project of overall design)
信息系統(tǒng)上線前安全評(píng)測(cè)方案,主要由四部分組成:代碼安全審計(jì)、安全漏洞掃描、安全配置核查和滲透性測(cè)試,如下圖所示。其中,代碼安全審計(jì)是代碼層的評(píng)測(cè)手段,針對(duì)應(yīng)用系統(tǒng)源代碼進(jìn)行安全掃描,找出隱藏在代碼層面的安全漏洞;安全漏洞掃描,以應(yīng)用層、主機(jī)層、網(wǎng)絡(luò)層和數(shù)據(jù)層作為評(píng)測(cè)對(duì)象,找出潛在的安全漏洞;安全配置核查,以應(yīng)用層、主機(jī)層、網(wǎng)絡(luò)層和數(shù)據(jù)層作為評(píng)測(cè)對(duì)象,找出不合規(guī)的問題;滲透性測(cè)試,是信息安全人員模擬黑客攻擊,用來發(fā)現(xiàn)信息安全防御體系中漏洞的一種常用方法。
圖1 總體評(píng)測(cè)方案示意圖
Fig.1 The diagram of the general evaluation scheme
4 評(píng)測(cè)方案詳述(Evaluation scheme detailed)
4.1 代碼安全審計(jì)
代碼安全審計(jì),是代碼安全層面的評(píng)測(cè)手段,采用專業(yè)代碼安全掃描工具,對(duì)軟件的源代碼進(jìn)行靜態(tài)的分析,分析的過程中與它特有的軟件安全漏洞規(guī)則庫進(jìn)行全面地匹配和查找,從而將源代碼中存在的安全漏洞掃描出來,并給出測(cè)試報(bào)告。掃描的結(jié)果中不但包括詳細(xì)的安全漏洞的信息,還有相關(guān)的安全漏洞說明,以及修復(fù)意見等等。
代碼安全審計(jì),依據(jù)公共漏洞字典表(CVE)、OWASP十大Web漏洞,以及相關(guān)安全、設(shè)備、軟件廠商公布的漏洞庫,結(jié)合專業(yè)源代碼掃描工具對(duì)各種程序語言編寫的源代碼進(jìn)行安全審計(jì)。能夠?yàn)榭蛻籼峁┌ò踩幋a規(guī)范咨詢、源代碼安全現(xiàn)狀測(cè)評(píng)、定位源代碼中存在的安全漏洞、分析漏洞風(fēng)險(xiǎn)、給出修改建議等。信息安全問題時(shí)刻都有新的變化,新的攻擊方法層出不窮,黑客攻擊的方向越來越側(cè)重于利用軟件本身的安全漏洞,例如SQL注入漏洞、跨站腳本漏洞、CSRF漏洞等,這些漏洞主要由不良的軟件架構(gòu)和不安全的編碼產(chǎn)生。
開展代碼安全審計(jì)能夠降低源代碼出現(xiàn)的安全漏洞,構(gòu)建安全的代碼,提高源代碼的可靠性,提高應(yīng)用系統(tǒng)自身的安全防護(hù)能力。代碼安全審計(jì)能夠幫助開發(fā)人員提高源代碼的質(zhì)量,從底層保障應(yīng)用系統(tǒng)本身的安全,從早期降低應(yīng)用系統(tǒng)的開發(fā)成本。
針對(duì)系統(tǒng)開發(fā)過程中的編碼階段、測(cè)試階段、交付驗(yàn)收階段、對(duì)各階段系統(tǒng)源代碼進(jìn)行安全審計(jì)檢測(cè),利用數(shù)據(jù)流分析引擎、語義分析引擎、控制流分析引擎等技術(shù)[2],采用專業(yè)的源代碼安全審計(jì)工具對(duì)源代碼安全問題進(jìn)行分析和檢測(cè)并驗(yàn)證,從而對(duì)源代碼安全漏洞進(jìn)行定級(jí),給出安全漏洞分析報(bào)告等,幫助軟件開發(fā)的管理人員統(tǒng)計(jì)和分析當(dāng)前階段軟件安全的風(fēng)險(xiǎn)、趨勢(shì),跟蹤和定位軟件安全漏洞,提供軟件安全質(zhì)量方面的真實(shí)狀態(tài)信息。
依據(jù)源代碼安全測(cè)評(píng)結(jié)果,對(duì)源代碼安全漏洞進(jìn)行人工審計(jì),并依據(jù)安全漏洞問題給出相應(yīng)修改建議,協(xié)助系統(tǒng)開發(fā)人員對(duì)源代碼進(jìn)行修改。
圖2 代碼安全審核工作流程圖
Fig.2 The flow chart of code security audit work
4.2 安全漏洞掃描
信息系統(tǒng)的安全性主要取決于信息系統(tǒng)中最薄弱的環(huán)節(jié),如何及時(shí)發(fā)現(xiàn)信息系統(tǒng)中最薄弱環(huán)節(jié),如何最大限度地保證信息系統(tǒng)的安全,最有效的方式就是對(duì)上線前的信息系統(tǒng)進(jìn)行漏洞掃描,及時(shí)發(fā)現(xiàn)并查找系統(tǒng)漏洞并及時(shí)進(jìn)行修復(fù)。
安全漏洞掃描,就是使用專門的漏洞掃描工具對(duì)被測(cè)信息系統(tǒng)進(jìn)行全面的安全漏洞掃描。應(yīng)用漏洞掃描是脆弱性識(shí)別的重要手段,能夠發(fā)現(xiàn)信息系統(tǒng)中存在的嚴(yán)重漏洞,針對(duì)掃描結(jié)果并結(jié)合人工驗(yàn)證,將發(fā)現(xiàn)的應(yīng)用系統(tǒng)漏洞、主機(jī)操作系統(tǒng)漏洞、數(shù)據(jù)庫漏洞、邏輯缺陷、弱口令、信息泄露等脆弱性問題[3],形成應(yīng)用漏洞掃描報(bào)告,通過對(duì)漏洞的修補(bǔ)完善,避免對(duì)信息系統(tǒng)造成嚴(yán)重影響。
漏洞掃描技術(shù),是檢測(cè)遠(yuǎn)程或本地信息系統(tǒng)安全脆弱性的一種安全技術(shù),通過與目標(biāo)主機(jī)TCP/IP商品建立連接并請(qǐng)求某些服務(wù),記錄目標(biāo)主機(jī)的應(yīng)答,搜集目標(biāo)主機(jī)相關(guān)信息,從而發(fā)現(xiàn)目標(biāo)主機(jī)某些內(nèi)在的安全弱點(diǎn)。安全漏洞掃描技術(shù)是一種網(wǎng)絡(luò)安全性評(píng)估技術(shù),可以快速、深入地對(duì)信息系統(tǒng)進(jìn)行評(píng)估,漏洞掃描是對(duì)信息系統(tǒng)脆弱性的分析評(píng)估,能夠檢查、分析網(wǎng)絡(luò)范圍內(nèi)的設(shè)備、網(wǎng)絡(luò)服務(wù)、操作系統(tǒng)、數(shù)據(jù)庫等的安全漏洞。從而,為信息系統(tǒng)是否能上線運(yùn)行提供決策的支持。
漏洞掃描工具,是一種自動(dòng)檢測(cè)遠(yuǎn)程或本地信息系統(tǒng)的安全性弱點(diǎn)的程序。通過安全漏洞掃描,可以及時(shí)發(fā)現(xiàn)信息
系統(tǒng)的應(yīng)用層、主機(jī)層、網(wǎng)絡(luò)層和數(shù)據(jù)層的安全漏洞,從而在信息系統(tǒng)安全防護(hù)中做到有的放矢,及時(shí)修改安全漏洞。漏洞掃描工具的重要性在于把煩瑣的漏洞檢測(cè)工作,通過程序來自動(dòng)完成,減輕了評(píng)測(cè)人員的工作量,縮短了檢測(cè)時(shí)間,漏洞發(fā)現(xiàn)的更快。
4.3 安全配置核查
隨著信息系統(tǒng)的規(guī)模不斷變大,網(wǎng)絡(luò)規(guī)模日益擴(kuò)大,其生產(chǎn)、業(yè)務(wù)支撐系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)也變得越來越復(fù)雜。應(yīng)用服務(wù)的數(shù)量和種類不斷增多,一旦發(fā)生人員的誤操作,或者采用系統(tǒng)的初始設(shè)置并忽略了安全配置的要求,就可能會(huì)影響到系統(tǒng)的正常運(yùn)轉(zhuǎn)。因此,各行業(yè)的信息系統(tǒng)需要建立一套基準(zhǔn)安全配置標(biāo)準(zhǔn)。
安全配置核查,就是各行業(yè)根據(jù)自身信息系統(tǒng)的特點(diǎn),針對(duì)網(wǎng)絡(luò)層、主機(jī)層、應(yīng)用層和數(shù)據(jù)層,建立符合本行業(yè)特點(diǎn)的安全配置項(xiàng)和操作規(guī)范,并形成標(biāo)準(zhǔn)?;鶞?zhǔn)安全配置標(biāo)準(zhǔn)將形成詳細(xì)配置檢查表格和操作指南,為標(biāo)準(zhǔn)化的技術(shù)安全操作提供了框架和標(biāo)準(zhǔn)。
通過統(tǒng)一的安全配置標(biāo)準(zhǔn)來規(guī)范人員在信息系統(tǒng)上的操作,讓配置核查有了檢查默認(rèn)風(fēng)險(xiǎn)的標(biāo)桿,但是面對(duì)網(wǎng)絡(luò)中種類繁雜、數(shù)量眾多的設(shè)備和軟件,完成合規(guī)性的系統(tǒng)配置檢查和修復(fù),成為一個(gè)費(fèi)時(shí)費(fèi)力的事情。安全配置檢查及問題修復(fù)都需人工進(jìn)行,對(duì)檢查人員的技能和經(jīng)驗(yàn)要求較高;做一次普及性的細(xì)致檢查耗費(fèi)時(shí)間較長(zhǎng),而如果改成抽查則檢查的全面性就很差;自查和檢查都需要登錄系統(tǒng)進(jìn)行,對(duì)象越多工作越繁瑣,工作效率也不高;每項(xiàng)檢查都要人工記錄,稍有疏漏就需要重新補(bǔ)測(cè)。對(duì)自查或檢查人員來說,需要花費(fèi)大量的時(shí)間和精力來檢查設(shè)備、收集數(shù)據(jù)、制作和配置核查報(bào)告,以識(shí)別不符合的安全配置項(xiàng)。
利用專業(yè)的安全配置核查工具進(jìn)行基準(zhǔn)評(píng)測(cè),使得面對(duì)種類繁雜、數(shù)量眾多的應(yīng)用系統(tǒng)、操作系統(tǒng)及網(wǎng)絡(luò)設(shè)備,可以進(jìn)行快速、有效的配置核查,識(shí)別與安全配置和操作規(guī)范不符合的項(xiàng)目,以便進(jìn)行整改并達(dá)到配置合規(guī)性的要求。安全配置核查工具,具有完善的安全配置專家?guī)欤w了操作系統(tǒng)、網(wǎng)絡(luò)設(shè)備、數(shù)據(jù)庫、中間件、應(yīng)用服務(wù)器等多類設(shè)備及系統(tǒng)的安全配置信息及加固建議。安全配置核查工具能夠執(zhí)行計(jì)算機(jī)的機(jī)器語言,自動(dòng)進(jìn)行安全配置檢查,大大節(jié)省傳統(tǒng)的手工安全配置檢查的時(shí)間,并避免人工檢查所帶來的失誤風(fēng)險(xiǎn),同時(shí)能夠出具詳細(xì)的檢測(cè)報(bào)告,提高檢查結(jié)果的準(zhǔn)確性和合規(guī)性,對(duì)信息系統(tǒng)是否符合上線運(yùn)行條件提供了技術(shù)支持。
4.4 滲透性測(cè)試
滲透性測(cè)試,整體防御層面的評(píng)測(cè)手段,信息安全專家根據(jù)已掌握的安全漏洞,模擬黑客攻擊方法,對(duì)信息系統(tǒng)進(jìn)行非破壞性的攻擊性測(cè)試,用來發(fā)現(xiàn)信息系統(tǒng)防御體系漏洞的一種常用方法。所有的滲透性測(cè)試,必須在書面明確授權(quán)和簽署保密協(xié)議下進(jìn)行。
滲透性測(cè)試的目的在于充分挖掘和暴露信息系統(tǒng)的弱點(diǎn),從而了解信息系統(tǒng)所面臨的威脅。滲透性測(cè)試工作是信息系統(tǒng)上線前安全評(píng)測(cè)工作的重要環(huán)節(jié),同時(shí)也為風(fēng)險(xiǎn)評(píng)估提供重要的始參考數(shù)據(jù)。
滲透測(cè)試不同于其他三個(gè)評(píng)測(cè)層面,不是在已知系統(tǒng)上,對(duì)已知弱點(diǎn)進(jìn)行排查,而是測(cè)試者模擬黑客,在未知系統(tǒng)中發(fā)現(xiàn)弱點(diǎn),而且還要驗(yàn)證弱點(diǎn),甚至還會(huì)挖掘出一些未知的弱點(diǎn)。滲透測(cè)試是其他三項(xiàng)評(píng)測(cè)內(nèi)容的一種最好的補(bǔ)充。
另外,滲透測(cè)試的攻擊路徑及手段不同于常見的安全產(chǎn)品,所以它往往能暴露出一條甚至多條被人們所忽視的威脅路徑,從而暴露整個(gè)信息系統(tǒng)的威脅所在。最重要的是,滲透測(cè)試最終的成功一般不是因?yàn)槟骋粋€(gè)信息系統(tǒng)的某項(xiàng)單一問題所直接引起的,而是由一系列看似沒有關(guān)聯(lián)而且又不嚴(yán)重的缺陷組合而導(dǎo)致的。在日常工作中,無論對(duì)信息系統(tǒng)進(jìn)行怎樣的傳統(tǒng)安全檢查工作,對(duì)于沒有相關(guān)經(jīng)驗(yàn)和技能的人員都無法將這些缺陷進(jìn)行如此的排列組合從而引發(fā)安全漏洞,但安全專家卻可以靠其豐富的經(jīng)驗(yàn)和技能將它們進(jìn)行串聯(lián)并展示出來。所以,滲透性測(cè)試的結(jié)果對(duì)信息系統(tǒng)是否符合上線運(yùn)行條件,可以提供決策支持。
5 信息系統(tǒng)上線標(biāo)準(zhǔn)(The on-line standard of the
information system)
信息系統(tǒng)是否具備上線運(yùn)行條件,主要依照兩項(xiàng)測(cè)試進(jìn)行判別[4],第一項(xiàng)就是傳統(tǒng)的信息系統(tǒng)驗(yàn)收測(cè)試,包括功能測(cè)試、易用性測(cè)試、可靠性測(cè)試、容錯(cuò)性測(cè)試、可維護(hù)性測(cè)試、性能測(cè)試和可移植性測(cè)試等等。第二項(xiàng)就是安全性測(cè)試,包括代碼安全審計(jì)、安全漏洞掃描、安全配置核查、滲透性測(cè)試和安全性功能測(cè)試等等。本文重點(diǎn)闡述安全性測(cè)試部分,要對(duì)評(píng)測(cè)過程中發(fā)現(xiàn)的安全漏洞,進(jìn)行等級(jí)劃分。安全漏洞的概念,是指在計(jì)算機(jī)系統(tǒng)中硬件、軟件及協(xié)議的具體實(shí)現(xiàn)或系統(tǒng)安全策略上存在安全方面的缺陷,從而使攻擊者可以非法入侵系統(tǒng)或未經(jīng)授權(quán)訪問或破壞系統(tǒng)。漏洞可以按照其對(duì)受害信息系統(tǒng)的造成的破壞程度,劃分為四個(gè)等級(jí)[5],從高至低如下所述:
一級(jí)漏洞:能夠使惡意入侵者遠(yuǎn)程獲得訪問權(quán)限或管理員權(quán)限,從而控制整個(gè)信息系統(tǒng),可以實(shí)現(xiàn)對(duì)信息系統(tǒng)中的數(shù)據(jù)進(jìn)行非法訪問、篡改和破壞。
二級(jí)漏洞:可以使惡意入侵者可以獲得本地用戶的非授權(quán)訪問權(quán)限,如讀寫或執(zhí)行信息系統(tǒng)上的非管理員用戶文件。
三級(jí)漏洞:是指存在拒絕服務(wù)的漏洞,可以實(shí)現(xiàn)DDOS攻擊,信息系統(tǒng)不能正常對(duì)外提供服務(wù),用戶不能對(duì)信息系統(tǒng)實(shí)現(xiàn)正常的訪問。
四級(jí)漏洞:是指允許遠(yuǎn)程用戶獲取目標(biāo)主機(jī)上的某些信息,但是不會(huì)對(duì)信息系統(tǒng)造成危害。
信息系統(tǒng)是否符合上線運(yùn)行條件,主要依靠通過評(píng)測(cè)發(fā)現(xiàn)的漏洞的等級(jí)進(jìn)行判斷。原則上,信息系統(tǒng)要求完全沒有一級(jí)、二級(jí)、三級(jí)漏洞,可以存在少量四級(jí)漏洞,即判定信息系統(tǒng)符合上線要求。各行業(yè)的各種信息系統(tǒng)情況也不盡相同,也要具體問題具體分析,如果存在少數(shù)一級(jí)、二級(jí)或三級(jí)漏洞,同時(shí)上線時(shí)間要求緊迫,就要對(duì)發(fā)現(xiàn)的漏洞進(jìn)行風(fēng)險(xiǎn)評(píng)估,如果造成危害是屬于可接受范圍內(nèi)的,也可以考慮系統(tǒng)上線,但是,發(fā)現(xiàn)的漏洞終歸是要修復(fù)的,一定要在漏洞的“天窗”時(shí)間內(nèi)完成修復(fù),保證信息系統(tǒng)安全。
6 結(jié)論(Conclusion)
信息系統(tǒng)上線前,要開展哪些安全性評(píng)測(cè),本文就此問題,提出了提出一套在信息系統(tǒng)上線前的安全評(píng)測(cè)方案。代碼安全審計(jì),保障了軟件代碼層面的安全;安全漏洞掃描,能夠及時(shí)發(fā)現(xiàn)應(yīng)用層、主機(jī)層、網(wǎng)絡(luò)層和數(shù)據(jù)層的安全漏洞,保障信息系統(tǒng)安全;安全配置核查,保障了信息系統(tǒng)基準(zhǔn)配置的安全性;滲透性測(cè)試,檢驗(yàn)了信息系統(tǒng)的整體安全性和防攻擊能力。最后,本文給出判別信息系統(tǒng)上線安全標(biāo)準(zhǔn),依靠評(píng)測(cè)發(fā)現(xiàn)漏洞的等級(jí)進(jìn)行判斷,無一級(jí)、二級(jí)、三級(jí),即可以考慮上線。本文所述方案能有效的檢測(cè)出信息系統(tǒng)各層面的安全漏洞,并可以根據(jù)漏洞等級(jí)判別信息系統(tǒng)是否符合上線要求,有力的保障信息系統(tǒng)的運(yùn)行安全。
參考文獻(xiàn)(References)
[1] 楊云,劉君.WEB安全設(shè)計(jì)之道[M].北京:人民郵電出版社,
2009.
[2] Brian Chess,Jacob West.董啟雄,等,譯.安全編程代碼靜態(tài)分析
[M].北京:機(jī)械工業(yè)出版社,2008.
[3] 趙喜明.計(jì)算機(jī)網(wǎng)絡(luò)安全與漏洞掃描技術(shù)研究[J].網(wǎng)絡(luò)安全技
術(shù)與應(yīng)用,2014(1):123-125.
[4] 陳威,季佳育,王剛.如何做好信息系統(tǒng)上線前安全測(cè)試[J].華
北電力技術(shù),2011(12):42-46.
[5] 劉奇旭,等.安全漏洞等級(jí)劃分關(guān)鍵技術(shù)研究[J].通信學(xué)報(bào),
2012,33(Z1):79-86.
作者簡(jiǎn)介:
車翔飛(1992-),女,本科生.研究領(lǐng)域:信息安全.