楊曉明 劉禎
摘要:隨著科學技術的發展,計算機技術也得到了飛速的發展,在人們使用計算機的過程中,安全漏洞逐漸成為困擾廣大用戶的問題,為人們帶來了諸多不便。因此,為了使計算機技術為人們帶來更大的便利與效益,相關的計算機技術人員需要繼續深入鉆研,加強計算機安全漏洞的防護。文章對計算機軟件的安全漏洞做了簡要的論述,同時對計算機安全漏洞分類以及漏洞檢測技術做了研究并闡述了安全漏洞監測技術的應用。
關鍵詞:計算機軟件;安全;編程;漏洞檢測
在當前人們的各項工作均越來越依賴計算機軟件的背景下,計算機軟件運行的安全性需要有充分的保障,而要確保計算機軟件運行安全需要對軟件的程序進行科學的編程,預防安全漏洞。當前計算機軟件復雜性越來越高,軟件的安全漏洞對整個系統的安全造成了重大的威脅,人們的重要信息泄露,辦公系統出現故障,對人們造成了巨大的損失。因此,人們對計算機軟件安全漏洞的預防與檢測開始逐漸重視,先進的安全漏洞檢測技術可以及早發現計算機軟件內部存在的安全隱患,從而減少人們的損失。
1 計算機安全漏洞概述
1.1 安全漏洞定義
計算機軟件的安全漏洞為計算機在軟件設計、硬件以及協議實施方面的不足導致系統安全性不足,一些未被授權的程序趁機入侵,進而造成系統的損害甚至崩潰。安全漏洞的產生通常有以下幾種,最常見的為在程序編程中由于編程者的失誤出現了一些邏輯上的錯誤,進而給不法人員可乘之機;其次為軟件在進行數據的處理與整合中出現邏輯上的失誤,這些模塊大小不一,對模塊進行對比發現,中等模塊的失誤率較低;還有軟件系統所處的硬件配置環境不同的情況下,也會產生相應的漏洞;最后,隨著軟件的漏洞被不斷地發現與修補,隨著時間的推移,會有新的露洞不斷出現,這使得安全漏洞始終無法杜絕,只能對其不斷地完善與修復,通過加強預防與及時更新使安全漏洞在早期階段即被發現,以減少人們的損失。
1.2 安全漏洞特性
1.2.1 原發性
原發性是指計算機軟件本身在編程上存在著一定缺陷,這些缺陷在軟件的運行中就會成為遭受攻擊的突破口,造成這種現象的主要原因在于軟件編程人員的自身失誤,由于其存在先天上的缺陷使得其容易遭受入侵者的攻擊。而計算機軟件的編程人員在進行軟件設計與編程的過程中很難將全部的因素考慮周到,這使得計算機軟件自投入市場開始就存在著安全隱患,需要定期的更新與維護[1]。
1.2.2 差異性
隨著信息化時代的到來,人們的休閑、辦公、娛樂、交流等都更多地通過計算機軟件進行,因此,計算機軟件在當前的應用極為廣泛,相應的針對不同的用途也開發了形式多樣的軟件。由于計算機軟件的安全漏洞與相應的工作環境、硬件配置等關系密切,同一款計算機軟件在不同的環境下工作所形成的漏洞也各有不同。計算機軟件的運行主要是依據編程人員編寫好的程序代碼,不同的設備其硬件設施也各有不同,這導致軟件執行代碼運行的過程中會產生一定的差異,這使得安全漏洞呈現出差異性的特點。
1.2.3 延續性
計算機軟件中的安全漏洞具有延續性的特點,所謂延續性是指安全漏洞不可能一勞永逸地解決掉,隨著安全漏洞的不斷修復,又會出現新的漏洞,即使計算機軟件設計師對軟件進行不斷地更新,還是會出現各種形式不一的漏洞,在不斷地更新中原有的安全漏洞會得到相應的修補,但是計算機軟件的程序在其他程序的邏輯上總會有新的錯誤,進而出現新的漏洞,在原有漏洞不斷被修補,新的漏洞不斷出現的循環中,計算機軟件不斷發展和完善。
2 如何檢測安全漏洞
2.1 動態監測技術
2.1.1 非執行技術
如今許多惡意攻擊軟件通常會尋找計算機軟件的漏洞入侵,對其進行深入的研究,發現攻擊軟件最先入侵的是計算機軟件的棧,而棧內儲存著大量的數據,攻擊軟件入侵棧成功后會輸入惡意代碼并使其執行。因此,計算機軟件內的棧如果能夠不被惡意軟件改寫,那么就能有效保障計算機軟件運行的安全性,從而減少出現漏洞的概率[2]。
2.1.2 數據安全漏洞檢測
這項檢測技術實際上是對計算機的數據內存進行各個區域的分配,計算機軟件內不同的數據段對惡意攻擊軟件輸入的惡意代碼不會執行,但是會啟動自身的數據執行系統,這使得惡意軟件植入的代碼無法發揮作用,進而減少計算機軟件受到的損害。這項技術同時可以與非執行技術共同運用,對安全漏洞進行全方位的防范,降低惡意代碼的執行,以最大化地降低惡意軟件的攻擊。
2.1.3 沙箱安全漏洞檢測
這項檢測技術實質上是對計算機資源的訪問權限進行了限制,惡意軟件無法訪問,自然無法植入惡意代碼。程序解釋技術在所有的動態安全漏洞的檢測技術中比較傳統,并且對漏洞的檢出有較好的效果。它可以詳細地對計算機軟件運行的全過程進行監測,并且對各種軟件的安全性進行強制檢測,同時對運行程序做出相應的解釋。由于這項技術的強制性檢測特點,會導致較多的計算機性能消耗。
2.2 靜態檢測技術
2.2.1 詞法分析技術
這項技術通過計算機語言在語法的基礎上對多個計算機軟件進行全面的檢測,具體通過以下幾個步驟操作:首先對程序進行分段,將軟件的程序分為幾個片段,然后對每個片段的數據進行全面的、詳細的檢測與分析,從而發現其中的安全漏洞。由于整個過程相對比較繁瑣,如非特定情況,這項技術很少使用。
2.2.2 規則檢測技術
這項技術應用最多的是軟件自身的程序檢測,由于計算機軟件的編程極為復雜深奧,軟件編程師在編寫程序時不可避免的會發生失誤,進而引起計算機軟件的安全漏洞。規則檢測技術能夠用語法對程序的規則進行描述,相應的處理器分析與處理以后被分析器接受,最后詳細地對程序進行分析[3]。
2.2.3 類型推導檢測技術
計算機軟件正常運行時,其程序的變量和函數的訪問處于正常狀態,運用類型推導檢測技術對計算機軟件的程序變量以及函數進行推導,進而分析其訪問是否處于正常狀態,這項技術主要用于檢測與程序流無關的程序。
3 安全漏洞檢測技術在計算機軟件中的應用
3.1 預防競爭性漏洞的產生
安全漏洞形成的原因有許多,競爭的條件下計算機軟件會出現缺陷,進而形成安全漏洞。對這一現象通過采用合適的安全漏洞檢測技術可以有效解決,通過對形成競爭條件的編碼進行原子化的操作,計算機軟件就是通過執行編程代碼而運行的,原子化的編碼在運行過程中不會被其他因素影響,因此安全漏洞檢測技術可以實現對漏洞良好的鎖定,進而在競爭漏洞方面有一個良好的效果。
3.2 預防緩沖漏洞的產生
安全漏洞檢測技術不僅可以有效地阻止競爭條件下產生的漏洞,同時在緩沖區出現的漏洞也可以有良好的阻止效應,計算機軟件的函數發生異常將會導致漏洞的產生,而漏洞檢測技術可以對其進行詳細的分析與檢查,從而有效預防緩沖區發產生的漏洞。同時對于計算機軟件中的一些存在安全隱患的危險版本要及時發現,并用安全版本進行取代。
3.3 預防隨機漏洞的產生
安全漏洞檢測技術在預防隨機漏洞方面有較好的效果。對隨機漏洞的有效阻止要求安全漏洞檢測技術能夠對計算機軟件的漏洞進行實時的檢測,能夠隨時關注并及時發現計算機軟件運行過程中出現的隨機漏洞。隨機發生器中對密碼有相應的算法,因而漏洞檢測技術需要對隨機發生器中流入的各項數據進行全面的并且實時的檢測,從而盡可能降低隨機漏洞的發生'
3.4 預防字符漏洞的產生
安全漏洞檢測技術還可以在阻止字符漏洞中起到良好的效果。由于字符的改變比如格式化、篡改等將會對計算機軟件的運行產生很大的影響,進而產生字符漏洞,在實際的應用中需要對字符漏洞進行充分的預防。安全漏洞檢測技術通過對字符進行一定的處理,附加了特定的函數,這使得字符多了一層保護,最終有效預防字符漏洞的產生。
4 結語
隨著社會的發展,計算機軟件系統將會得到越來越廣泛的應用。計算機安全漏洞是如今計算機軟件運行中的主要威脅因素,如果對安全漏洞沒有一個詳細的了解,安全檢測技術沒有充分的研發,人們的日常辦公以及休閑娛樂將會受到很大的影響。為了使計算機技術更好地造福人類,計算機軟件得以安全有序地運行,我們還需要加大對安全漏洞的研究技術,盡可能及早對漏洞進行發現與預防,減少安全漏洞給人們帶來的損失。
[參考文獻]
[1]王懷.安全漏洞檢測技術在計算機軟件中的應用研究[J].信息與電腦(理論版),2018(2):190-191.
[2]吳珅珅,周軍.計算機軟件屬性以及保護方式的認知研究[J].電腦知識與技術,2018(1):92-93.
[3]趙世斌,周天陽,朱俊虎,等.競態漏洞檢測方法綜述[J].計算機工程與應用,2018(3):1-10.
[4]陳斯,盧華.計算機軟件中安全漏洞檢測技術及其應用[J].電子技術與軟件工程,2016(11):79.