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