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