張明經(jīng)
(陜西職業(yè)技術(shù)學(xué)院 數(shù)據(jù)信息中心,陜西 西安 710038)
在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和普及下,各行各業(yè)逐漸加大了對(duì)計(jì)算機(jī)的應(yīng)用,而計(jì)算機(jī)由于自身防護(hù)能力差,存在嚴(yán)重的漏洞,為網(wǎng)絡(luò)病毒、網(wǎng)絡(luò)黑客、不法分子的惡意入侵和破壞提供了可乘之機(jī),而漏洞挖掘技術(shù)的出現(xiàn)和應(yīng)用可以從根本上解決以上問(wèn)題。 通過(guò)利用該技術(shù),可以實(shí)現(xiàn)對(duì)計(jì)算機(jī)漏洞問(wèn)題的深入挖掘、分析和利用,將網(wǎng)絡(luò)安全風(fēng)險(xiǎn)降到最低,避免人們隱私信息出現(xiàn)泄露、丟失現(xiàn)象,從而更好地保障人們的人身安全和財(cái)產(chǎn)安全。 因此,加強(qiáng)對(duì)網(wǎng)絡(luò)計(jì)算機(jī)安全隱患以及漏洞挖掘技術(shù)的分析顯得尤為重要。
網(wǎng)絡(luò)病毒通常表現(xiàn)出較高的隱蔽性和傳染性,對(duì)軟件系統(tǒng)產(chǎn)生極大的破壞力,屬于網(wǎng)絡(luò)安全中比較典型隱患問(wèn)題。 在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和普及下,網(wǎng)絡(luò)病毒也在不斷升級(jí)、更新,其破壞力變得越來(lái)越強(qiáng)。 當(dāng)部分計(jì)算機(jī)系統(tǒng)沒(méi)有安裝相應(yīng)的安全防護(hù)軟件或用戶操作不當(dāng)時(shí),很容易給網(wǎng)絡(luò)病毒提供可乘之機(jī),增加計(jì)算機(jī)系統(tǒng)安全風(fēng)險(xiǎn)[1]。 例如:如果從存在安全隱患的網(wǎng)站中下載和安裝軟件,計(jì)算機(jī)很容易被軟件中隱藏的網(wǎng)絡(luò)病毒入侵和破壞,造成計(jì)算機(jī)系統(tǒng)死機(jī)或癱瘓。
黑客主要集中活躍于計(jì)算機(jī)網(wǎng)絡(luò)中,具有較高的計(jì)算機(jī)技術(shù)應(yīng)用水平,可以全面地了解和掌握計(jì)算機(jī)網(wǎng)絡(luò)安全防護(hù)體系,一旦發(fā)現(xiàn)部分計(jì)算機(jī)系統(tǒng)出現(xiàn)安全漏洞,就可以借助非法手段,對(duì)用戶計(jì)算機(jī)系統(tǒng)入侵和破壞,不僅可以導(dǎo)致計(jì)算機(jī)系統(tǒng)出現(xiàn)癱瘓、死機(jī)現(xiàn)象,還可以直接竊取計(jì)算機(jī)系統(tǒng)中存儲(chǔ)的機(jī)密信息和隱私信息[2]。
一旦網(wǎng)絡(luò)管理方案存在漏洞或缺陷,就很容易導(dǎo)致計(jì)算機(jī)網(wǎng)絡(luò)出現(xiàn)各種安全隱患問(wèn)題,網(wǎng)絡(luò)漏洞屬于比較常見(jiàn)的計(jì)算機(jī)網(wǎng)絡(luò)安全隱患問(wèn)題。 如果計(jì)算機(jī)系統(tǒng)存在網(wǎng)絡(luò)漏洞,很容易給網(wǎng)絡(luò)病毒、網(wǎng)絡(luò)黑客的攻擊提供可乘之機(jī)[3]。 另外,計(jì)算機(jī)用戶操作不規(guī)范、網(wǎng)絡(luò)安全意識(shí)薄弱也會(huì)造成計(jì)算機(jī)網(wǎng)絡(luò)漏洞,為計(jì)算機(jī)網(wǎng)絡(luò)運(yùn)行埋下安全隱患。
現(xiàn)階段,計(jì)算機(jī)網(wǎng)絡(luò)具有開(kāi)放性強(qiáng)、自由性高、虛擬性突出等特點(diǎn),這無(wú)疑增加了網(wǎng)絡(luò)詐騙出現(xiàn)的概率。部分非法分子通過(guò)借助網(wǎng)絡(luò)社交平臺(tái),不僅可以實(shí)施網(wǎng)絡(luò)詐騙,還會(huì)采用散發(fā)虛假?gòu)V告的方式,對(duì)網(wǎng)絡(luò)用戶實(shí)施詐騙,造成網(wǎng)絡(luò)用戶的經(jīng)濟(jì)損失[4]。
計(jì)算機(jī)系統(tǒng)自身存在漏洞是導(dǎo)致計(jì)算機(jī)網(wǎng)絡(luò)安全隱患的原因,所以需要先利用漏洞挖掘技術(shù)使計(jì)算機(jī)內(nèi)部網(wǎng)絡(luò)漏洞問(wèn)題得以暴露,再采用科學(xué)合理的方案將網(wǎng)絡(luò)安全漏洞修復(fù)工作落實(shí)到位,大幅度提升計(jì)算機(jī)網(wǎng)絡(luò)的可靠性和安全性,對(duì)用戶信息實(shí)現(xiàn)有效保護(hù),避免因用戶信息泄漏而出現(xiàn)不必要的經(jīng)濟(jì)損失。 本文以“軟件安全漏洞”為例,對(duì)漏洞挖掘技術(shù)進(jìn)行全面分析和研究。
2.1.1 漏洞挖掘
安全漏洞本身不會(huì)對(duì)計(jì)算機(jī)軟件功能產(chǎn)生不良的影響,所以無(wú)法采用功能性測(cè)試法,對(duì)其進(jìn)行有效的分析。 對(duì)于那些操作規(guī)范正常的用戶而言,無(wú)法有效地觀察和發(fā)現(xiàn)軟件中出現(xiàn)的漏洞問(wèn)題。
對(duì)于安全性漏洞而言,其自身通常具有較高的利用價(jià)值,例如:造成計(jì)算機(jī)遠(yuǎn)程控制存在的安全漏洞問(wèn)題,編程人員可以敏銳地捕捉計(jì)算機(jī)系統(tǒng)存在的各種細(xì)小問(wèn)題。 為此,部分互聯(lián)網(wǎng)公司會(huì)聘用軟件測(cè)試人員對(duì)產(chǎn)品內(nèi)部隱藏漏洞問(wèn)題進(jìn)行分析和測(cè)試,再開(kāi)展相應(yīng)的安全漏洞修復(fù)工作。 目前,網(wǎng)絡(luò)專(zhuān)家或者網(wǎng)絡(luò)攻擊者在進(jìn)行漏洞挖掘期間,均采用了Fuzz 法,這種方法屬于典型黑盒測(cè)試法[5]。
2.1.2 漏洞分析
當(dāng)通過(guò)Fuzz 法,分析和捕捉到軟件內(nèi)部存在的異常問(wèn)題時(shí),要想向廠家提供詳細(xì)的漏洞細(xì)節(jié)問(wèn)題時(shí),需要確保自身具有較高的漏洞分析能力。 同時(shí),漏洞分析作為一種常用程序,主要用到了調(diào)試二進(jìn)制方式。為了進(jìn)一步提高漏洞分析結(jié)果的精確性和真實(shí)性,需要利用調(diào)試器快速搜索POC 代碼,全面地分析和觀察漏洞細(xì)節(jié)問(wèn)題或通過(guò)使用其他工具,確定出漏洞的來(lái)源點(diǎn)。 在這個(gè)過(guò)程中,一旦無(wú)法快速、有效地搜索到POC 代碼,則需要向廠家詳細(xì)地描述漏洞問(wèn)題,利用補(bǔ)丁比較器,確定需要修改的可執(zhí)行文件內(nèi)容,同時(shí),借助反匯編工具,采用逆向分析的方式,對(duì)漏洞問(wèn)題進(jìn)行全面分析[6]。
2.1.3 漏洞利用
20 世紀(jì)80 年代初,出現(xiàn)了漏洞利用,而漏洞利用在1996 年才真正流行起來(lái)。 在時(shí)間的不斷推移下,大量軟件安全專(zhuān)家對(duì)漏洞利用相關(guān)技術(shù)進(jìn)行全面地分析和研究,并將相關(guān)技術(shù)有效地應(yīng)用于操作系統(tǒng)[7]。
2.2.1 安全掃描技術(shù)
掃描漏洞主要是指通過(guò)全面地檢查和掃描計(jì)算機(jī)端口信息,查找這些信息是否存在隱藏漏洞問(wèn)題。 漏洞掃描結(jié)果主要包含可能存在的攻擊問(wèn)題、可能被黑客攻擊的端口等。 所以,安全掃描主要用于對(duì)計(jì)算機(jī)安全性的有效地評(píng)估[8]。 漏洞掃描技術(shù)在實(shí)際使用中,主要借助端口掃描技術(shù),并全面地分析和觀察各種網(wǎng)絡(luò)入侵行為和漏洞收集結(jié)果,從而為用戶提供良好的網(wǎng)絡(luò)服務(wù)。 漏洞掃描主要是指通過(guò)利用模擬攻擊法,對(duì)目標(biāo)主機(jī)可能存在的安全漏洞問(wèn)題進(jìn)行全面的分析和檢查。 當(dāng)端口掃描結(jié)束后,獲取和整理目標(biāo)主機(jī)所對(duì)應(yīng)的網(wǎng)絡(luò)服務(wù),并將這些網(wǎng)絡(luò)服務(wù)與漏洞掃描系統(tǒng)進(jìn)行充分結(jié)合,以實(shí)現(xiàn)對(duì)漏洞數(shù)據(jù)庫(kù)的高效匹配,從而分析和確定出系統(tǒng)存在的符合相關(guān)條件的安全漏洞問(wèn)題。 漏洞掃描流程如圖1 所示。 從圖1 中可以看出,漏洞掃描主要包含以下步驟:(1)掃描目標(biāo)主機(jī)端口。 采用端口掃描法全面掃描目標(biāo)主機(jī)的端口,發(fā)現(xiàn)可能存在的安全漏洞問(wèn)題。 (2)獲取目標(biāo)主機(jī)網(wǎng)絡(luò)服務(wù)。 端口掃描結(jié)束后,獲取和整理目標(biāo)主機(jī)對(duì)應(yīng)的網(wǎng)絡(luò)服務(wù)。 (3)匹配漏洞數(shù)據(jù)庫(kù)。 將這些網(wǎng)絡(luò)服務(wù)與漏洞掃描系統(tǒng)充分結(jié)合,實(shí)現(xiàn)對(duì)漏洞數(shù)據(jù)庫(kù)的高效匹配,分析和確定出系統(tǒng)存在的符合相關(guān)條件的安全漏洞問(wèn)題。 另外,漏洞掃描還能實(shí)現(xiàn)對(duì)黑客攻擊方法的有效模擬,對(duì)目標(biāo)主機(jī)內(nèi)部存在的隱藏安全漏洞進(jìn)行全面掃描。 例如:通過(guò)對(duì)弱口令進(jìn)行測(cè)試,得到模擬攻擊結(jié)果,如果模擬攻擊 結(jié)果顯示“成功”,說(shuō)明主機(jī)系統(tǒng)真實(shí)存在安全漏洞問(wèn)題。
圖1 漏洞掃描流程
2.2.2 白盒測(cè)試
白盒測(cè)試主要是指在參照源代碼的基礎(chǔ)上,全面訪問(wèn)和分析源代碼、程序員本人、設(shè)計(jì)規(guī)則等資源信息,從而得到相應(yīng)的程序二進(jìn)制代碼,或利用反編譯工具,對(duì)相關(guān)代碼進(jìn)行反匯編處理,從而實(shí)現(xiàn)對(duì)源代碼的精確化分析和處理。 源代碼評(píng)審主要包含兩種方式:一種是人工方式,另一種是自動(dòng)方式。 通常而言,計(jì)算機(jī)程序內(nèi)部代碼達(dá)到數(shù)十萬(wàn)條,如果采用人工審查的方式,對(duì)這些代碼進(jìn)行人為檢查,效率低下,難以完成。此時(shí),需要利用自動(dòng)化工具檢查代碼,提高代碼的閱讀速度,但由于自動(dòng)化工具僅僅識(shí)別部分可疑代碼片段,因此后期仍然需要采用人工審查的方式,彌補(bǔ)和完善自動(dòng)化工具存在的不足。 代碼分析工具主要包含以下3 種:(1)編譯時(shí)檢測(cè)器。 編譯時(shí)檢測(cè)器內(nèi)部主要集成了編譯器,可以實(shí)現(xiàn)對(duì)不同種類(lèi)漏洞的精確化檢測(cè),從而有效地解決編譯器檢測(cè)不全面問(wèn)題。 (2)源代碼瀏覽器。 源代碼瀏覽器主要用于對(duì)源代碼的評(píng)審,通過(guò)利用該工具,可以實(shí)現(xiàn)對(duì)代碼的高級(jí)搜索以及代碼交叉導(dǎo)航。 (3)自動(dòng)源代碼審核工具。 該工具主要用于對(duì)編程語(yǔ)言的全面化關(guān)注。 代碼分析工具分類(lèi),如圖2所示。
圖2 代碼分析工具分類(lèi)
2.2.3 黑盒測(cè)試
終端用戶主要負(fù)責(zé)對(duì)信息輸入情況的自動(dòng)化控制,信息輸入端是黑盒子的子一端,而結(jié)果輸出端為黑盒子的另一端,技術(shù)人員在不知道黑盒內(nèi)部的工作細(xì)節(jié)的情況下,也能正常使用黑盒測(cè)試方法。 另外,黑盒測(cè)試明確提出測(cè)試程序可以接受所有東西,這為黑客攻擊網(wǎng)絡(luò)系統(tǒng)提供了可乘之機(jī)。 黑盒測(cè)試在實(shí)際的運(yùn)用中,主要借助程序外部接口,不需要知道黑客內(nèi)部工作細(xì)節(jié),就可以實(shí)現(xiàn)對(duì)系統(tǒng)隱藏漏洞問(wèn)題的全面分析和查找。 另外,黑客測(cè)試無(wú)法了解和掌握軟件程序內(nèi)部具體情況,要想實(shí)現(xiàn)覆蓋測(cè)試的完全化,離不開(kāi)無(wú)窮數(shù)量的使用,這就增加了實(shí)現(xiàn)難度。 因此,在使用黑客測(cè)試之前,要做好對(duì)測(cè)試用例的科學(xué)選擇和設(shè)計(jì)。
2.2.4 灰盒測(cè)試
灰盒測(cè)試主要浮動(dòng)于白盒測(cè)試和黑客測(cè)試之間。該測(cè)試主要包含黑盒測(cè)試審核和逆向工程,其中,逆向工程主要用到了源代碼,該代碼很容易被軟件開(kāi)發(fā)人員所閱讀和理解。 通過(guò)采用分析編譯方式,可以獲得匯編代碼指令,從而幫助軟件測(cè)試人員在無(wú)須運(yùn)用源代碼的情況下,也能將安全評(píng)估工作落實(shí)到位。
綜上所述,在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展下,計(jì)算機(jī)網(wǎng)絡(luò)安全問(wèn)題日益突出,出現(xiàn)這一現(xiàn)象的根本原因是計(jì)算機(jī)網(wǎng)絡(luò)安全隱患種類(lèi)變得越來(lái)越多樣化,使其涉及的因素越來(lái)越多。 為了進(jìn)一步提高計(jì)算機(jī)網(wǎng)絡(luò)安全隱患防范能力,技術(shù)人員除了要利用相應(yīng)的技術(shù)手段,加強(qiáng)對(duì)系統(tǒng)的全面化保護(hù)外,還要重視對(duì)漏洞挖掘技術(shù)的科學(xué)應(yīng)用,通過(guò)應(yīng)用該技術(shù),確保網(wǎng)絡(luò)安全隱患漏洞問(wèn)題得以有效地暴露和分析,從根本上解決計(jì)算機(jī)網(wǎng)絡(luò)安全存在的警報(bào)問(wèn)題,使得計(jì)算機(jī)網(wǎng)絡(luò)安全性和可靠性得以大幅度提升。 只有這樣,才能實(shí)現(xiàn)對(duì)個(gè)人信息安全和財(cái)產(chǎn)安全的有效保護(hù)。