關鍵詞:計算機;軟件技術;安全問題
中圖法分類號:TP311 文獻標識碼:A
現(xiàn)階段,各類計算機軟件在我們工作和生活中廣泛應用,并且應用頻率逐漸升高,在給用戶提供便利條件的同時,也容易遭受不法人員的攻擊,導致用戶重要信息泄露,影響用戶信息安全。要想從根源上處理計算機軟件安全問題,應該應用安全檢測技術并結合計算機軟件安全問題產生的原因,及時發(fā)現(xiàn)并處理計算機軟件運行中出現(xiàn)的各種問題,保證用戶信息安全。
1計算機軟件安全漏洞概述
計算機軟件安全漏洞是指:相關人員在使用計算機軟件過程中存在的各種問題,這些問題給不法人員攻擊計算機系統(tǒng)提供了有利條件,造成計算機運行的紊亂,用戶重要信息丟失。通常來說,用戶會在計算機系統(tǒng)中安裝殺毒軟件或者防火墻,實現(xiàn)對計算機系統(tǒng)運行過程的安全保護,雖然這些軟件在某種程度上可以實現(xiàn)對計算機系統(tǒng)的安全保護,但是依然存在一些漏洞,無法從根源上全面處理計算機軟件安全問題。其中,存在的不足就是如果殺毒軟件或者防火墻在運行中出現(xiàn)各種問題,則計算機軟件自身安全性將無法得到保證,一些不法人員通過計算機漏洞來盜取或者修改用戶信息,嚴重威脅計算機系統(tǒng)運行安全。當前,常見的計算機安全問題有:首先,計算機軟件編程中或者編程結果出現(xiàn)技術性錯誤,則會導致計算機軟件安全漏洞的發(fā)生;其次,計算機軟件在實際應用中,因為自身運算存在問題,使得運算結果錯誤,或者在數(shù)據(jù)處理環(huán)節(jié)出現(xiàn)漏洞,從而產生計算機安全問題;再次,因為計算機硬件和配置軟件存在差異,導致安全漏洞問題發(fā)生;最后,因為計算機長時間運行出現(xiàn)一些新問題,如果相關人員沒有及時處理,則會引發(fā)一系列安全問題。
2影響計算機安全的主要因素
2.1系統(tǒng)自身因素
系統(tǒng)自身原因具體展現(xiàn)在兩個方面:首先,系統(tǒng)漏洞。計算機自身將會面臨一些安全問題,在某種程度上是因為系統(tǒng)漏洞導致,系統(tǒng)漏洞出現(xiàn)的基本原因是程序邏輯在編寫過程中沒有注重細節(jié)內容,一旦出現(xiàn)系統(tǒng)漏洞,將會導致計算機系統(tǒng)在運行中出現(xiàn)錯誤——可能會彈出對應的窗口,而該窗口可以給不法人員入侵系統(tǒng)提供可能,給計算機使用帶來負面影響;其次,外部移動儲存設備。外部移動儲存設備展現(xiàn)了便攜性、可操行性等特征,在日常生活中應用廣泛,但是外部移動儲存介質在保密機構中應用缺少安全管理、安全檢測等內容,給計算機系統(tǒng)運行安全埋下隱患。
2.2系統(tǒng)外部因素
系統(tǒng)外部因素有兩個:第一,計算機病毒。計算機病毒通過網(wǎng)絡、光盤、硬盤等軟件實現(xiàn)傳播,展現(xiàn)出潛伏性、傳染性等特點,容易造成計算機系統(tǒng)中重要數(shù)據(jù)丟失,系統(tǒng)無法正常運行。近幾年,新型計算機病毒種類不斷增加,如已經被國家處罰的“熊貓燒香”“鬼影病毒”“網(wǎng)購木馬”等,這些病毒的出現(xiàn),嚴重威脅計算機系統(tǒng)運行安全;第二,黑客入侵。黑客掌握專業(yè)的計算機網(wǎng)絡知識,可以熟練使用各種軟件,通過編寫程序進入各個網(wǎng)站中,對網(wǎng)站的使用權限進行修改,盜取網(wǎng)站中的重要信息,或者將一些信息進行修改,給網(wǎng)絡安全造成嚴重影響。現(xiàn)階段,各個國家都遭受了不同程度的黑客進攻。
2.3管理維護因素
管理維護方面的問題有兩個:一是沒有按照要求操作而造成重要信息的泄漏。在實際生活中,難免會出現(xiàn)一些因為人員操作不規(guī)范或者沒有注重細節(jié)管理而造成重要信息的泄露。例如,一些人員在缺少對外部移動儲存介質深入了解的情況下,在對內容刪除以后,不知道系統(tǒng)具有還原功能,沒有將移動儲存介質徹底清除,導致重要信息泄露。計算機在發(fā)生故障時,在將系統(tǒng)安排專業(yè)維修機構檢修前,因為保存在計算機硬盤中的數(shù)據(jù)不具備直觀性,再加上管理疏忽,沒有安排專業(yè)人員負責監(jiān)管,導致重要信息的丟失;另一方面,故意泄露。故意泄露指的是在對計算機系統(tǒng)維護管理過程中,相關人員故意對網(wǎng)絡安全數(shù)據(jù)進行泄露或者破壞。系統(tǒng)開發(fā)工作人員或者相關工作人員對計算機系統(tǒng)軟件保密措施有充分了解,能夠獲得外界口令或者密鑰,之后進入計算機系統(tǒng)中盜取重要信息,或者隨意對計算機系統(tǒng)中重要數(shù)據(jù)進行修改。
3計算機軟件安全漏洞檢測技術
3.1動態(tài)安全檢測技術
動態(tài)安全檢測技術包含計算機內存檢測、非執(zhí)行棧檢測、安全共享檢測等內容,展現(xiàn)出的技術特點有以下幾方面:第一,計算機內存檢測。大多數(shù)不法人員在進入計算機系統(tǒng)的過程中,將會采取用“null”結尾的字符對計算機內存進行隱藏,實現(xiàn)對代碼頁數(shù)據(jù)的映射。為了更好地將計算機內存代碼進行覆蓋,大部分不法人員在攻擊代碼的過程中,也可以利用“null”結尾的字符串?;诖?,在計算機軟件安全檢測的過程中,應該對系統(tǒng)內部的“null”結尾字符串進行檢測,從而保證系統(tǒng)內存的安全;第二,非執(zhí)行棧檢測。近幾年,計算機軟件容易遭受不法人員的攻擊,從而引發(fā)各種安全問題。如果計算機存在惡意代碼且這些惡意代碼被執(zhí)行,則會給計算機安全帶來威脅。要想防止計算機系統(tǒng)出現(xiàn)惡意代碼,需要從根源上全面處理執(zhí)行力問題,防止惡意代碼被執(zhí)行,從而保證計算機系統(tǒng)運行安全;第三,安全共享庫檢測。
在計算機系統(tǒng)中,數(shù)據(jù)共享庫容易遭受不法人員的攻擊。出現(xiàn)安全問題的計算機系統(tǒng)一般采取的是安全性不強的共享庫,通過加強安全共享庫檢測管理,在某種程度上能夠預防不法人員的惡意攻擊。對于計算機系統(tǒng)中的安全共享庫,應該提供較強的檢測和攔截功能,其檢測和攔截功能一般通過動態(tài)鏈接方式完成,這樣可以對一些不安全數(shù)據(jù)進行檢測或者攔截,以實現(xiàn)對計算機系統(tǒng)的安全保護。
3.2靜態(tài)安全檢測技術
靜態(tài)安全檢測指的是對計算機系統(tǒng)內部進行安全檢測,計算機系統(tǒng)內部安全性和安全漏洞之間存在一定的相似性。計算機軟件漏洞一般劃分為兩種:一種是安全性漏洞;另一種是內存性漏洞。其中,安全性漏洞指的是在數(shù)據(jù)流方面存在一些錯誤問題,使得內存形態(tài)出現(xiàn)錯誤。而內存性漏洞則是因為自身類型、準確性導致,在對這種漏洞問題檢測的過程中,需要在儲存空間中建立一個模型,實現(xiàn)對程序代碼的靜態(tài)掃描,也就是對程序代碼中重要內容進行分析。在這種檢測方式中,系統(tǒng)程序可以劃分成不同語句,通過對各個代碼和數(shù)據(jù)庫的比較分析,判斷代碼內部是否出現(xiàn)錯誤問題,以實現(xiàn)全面檢測的效果。
靜態(tài)檢測技術就是在軟件程序的作用下,實現(xiàn)對軟件程序中相關代碼的檢測。其中包含源代碼、二進制代碼等,如果這些代碼出現(xiàn)數(shù)據(jù)問題,可以判斷出計算機軟件存在哪些漏洞。在靜態(tài)檢測技術下的安全漏洞判斷標準有兩個:一個是檢測代碼漏報率;另一個是檢測代碼錯報率。如果漏報率不斷下降,則會導致錯報率升高。此外,靜態(tài)檢測技術是對軟件程序整體情況進行檢測,但是無法精準檢測其重要性能,在檢測過程中應該確保被檢測程序處于非運行狀態(tài)。
3.3非執(zhí)行棧技術
基于非執(zhí)行棧的計算機軟件攻擊行為時常會發(fā)生,而出現(xiàn)該現(xiàn)象的主要原因是:部分操作系統(tǒng)棧可以被執(zhí)行或者被寫入,給不法人員提供了有利條件——不法人員可以把惡意代碼導入棧中,之后通過運行來進攻計算機系統(tǒng)。要想避免出現(xiàn)這種行為,一般采用禁止棧執(zhí)行代碼的方式,但是需要結合實際情況適當修改操作系統(tǒng),并對軟件性能問題綜合思考,特別是在堆和棧一般面臨溢出程序問題時,故障發(fā)生率隨之提升。一般情況下,在對該問題進行處理的過程中,采取的方式是:利用棧溢出把程序調整到對應攻擊代碼中,防止棧中代碼被執(zhí)行。這種檢測技術在內容方面缺少完善性,只是對棧攻擊行為進行檢測。并且,通過把惡意代碼導入數(shù)據(jù)段,能夠避開該技術的檢測。此外,分析部分應用程序是否被執(zhí)行需要得到棧的支撐,所以該技術將會產生兼容問題,不可通過分析來排除。
3.4非執(zhí)行堆和數(shù)據(jù)技術
堆作為程序運行中動態(tài)分配的內存區(qū)域,數(shù)據(jù)段在程序編譯的過程中已經完成。在較長的一段時間中,人們比較重視非執(zhí)行堆和數(shù)據(jù)段可能會給軟件運行造成的負面影響,所以這種檢測技術在使用和發(fā)展效率上比較遲緩。這種技術不會給不法人員安裝惡意代碼提供機會,特別是和非執(zhí)行棧技術相結合,獲得的使用效果更加理想。但是和非執(zhí)行棧技術相比,其需要對內核進行調整。基于此,這種技術消耗的成本比較多。實踐得知,這種技術能夠有效檢測并且阻止把惡意代碼導入內存,但是如果是對函數(shù)參數(shù)或者指針進行惡意修改,則無法展現(xiàn)出良好的檢測效果。此外,這種技術在使用的過程中不會給其他應用程序帶來較大影響,所以在性能方面展現(xiàn)出了良好的效果。
3.5內存映射技術
當前,一些不法人員通過使用NULL結尾的字符串對內存數(shù)據(jù)進行隱藏,從而達到攻擊目標的效果。在應用內存映射技術的過程中,能夠把代碼頁映射到對應的內存地址中,以降低部分攻擊帶來的不良影響。例如,對于部分緩沖區(qū)溢出的漏洞問題,不法人員需要在內存中尋找目標地址,之后通過構造數(shù)據(jù)來對其進行隱藏處理,從而達到攻擊效果。在使用內存映射技術的過程中,把代碼頁映射到對應地址就能夠增強不法人員的攻擊難度,增加攻擊成本。同時,在使用內存映射技術的過程中,應該對操作系統(tǒng)內核進行調整,盡可能不對代碼進行修改,分析程序鏈接階段二進制地址,重新對其進行鏈接。這種檢測技術能夠避免內存地址跳轉攻擊,但是不能檢測和預防新代碼進入帶來的影響。并且低端內存大小將會受到限制,所以把代碼頁映射到低端內存的難度較。這種技術在使用的過程中消耗的性能可以忽略不計,并且運行在過程中也不會給其他程序帶來較大影響。
3.6程序解釋技術
在程序運行環(huán)節(jié)對行為進行檢測,能夠保證系統(tǒng)安全運行,這也是當前計算機軟件安全漏洞檢測中廣泛采用的方式——使用程序解釋技術。程序監(jiān)視器能夠把不法人員的攻擊行為劃分成繞過安全檢測、無限制控制轉移、非原始代碼執(zhí)行等多種類型。根據(jù)不同攻擊行為,人們研發(fā)出了對應的安全檢測技術和對策。例如,對于無限制地控制轉移,要求函數(shù)為了返回應該調回到對應地址,并且調用和跳轉都受到一定的限制,只有目的段為導出表,或者源段為導出表才能有效執(zhí)行。同時,需要把間接調用控制在某個段落中,并對open、ececve等危險函數(shù)進行全面檢查。在使用程序解釋技術的過程中,無需對程序代碼或者操作系統(tǒng)內核進行修改,只要求把適應應用程序和新形成的代碼充分連接即可,之后通過對動態(tài)流程進行修改,并對框架進行解釋即可。這種技術將會給系統(tǒng)兼容性帶來一些影響,并且安全對策如果比較嚴格,容易導致某個應用程序混亂。不同安全措施消耗的性能將會有所不同,但是在整體上,其性能消耗量相對較小。
3.7安全共享庫技術
在計算機語言中,常見的語言類型有兩個:一個是C語言;另一個是C++語言。在實際編寫中,大部分函數(shù)都會面臨安全漏洞問題,在理論層面上,安全共享庫技術可以對基于標準庫函數(shù)攻擊問題進行防控與處理,但是安全共享庫技術不能阻止基于非標準的庫函數(shù)攻擊,無法實現(xiàn)對本地變量的安全保護。安全共享庫技術展現(xiàn)出的優(yōu)勢就是在標準函數(shù)庫作用下實現(xiàn)良好運行,當前這種技術被廣泛應用在Windows操作系統(tǒng)和UNIX操作系統(tǒng)中。
4結束語
隨著計算機技術的快速發(fā)展,計算機軟件應用效率不斷升高,計算機軟件相關的安全問題得到了人們的高度重視。計算機軟件安全問題需要在專業(yè)人員的分析、探究下,采取相關檢測和安全保護技術,提高計算機軟件系統(tǒng)運行的安全性,減少不法人員的攻擊次數(shù),保證計算機系統(tǒng)安全運行。
作者簡介:
海嘯(1987—),本科,講師,研究方向:電子科學與技術。