李云
摘 要:隨著信息技術的不斷發(fā)展,計算機技術不斷更新,對計算機軟件的安全性也有了更高的要求,目前計算機軟件普遍面臨著安全問題,要求計算機軟件中安全漏洞檢測技術不斷提高,以滿足計算機行業(yè)的應用。文章通過對計算機軟件安全漏洞進行詳細分析,提出幾點計算機軟件中安全漏洞檢測技術使用策略,以此為相關從業(yè)人員提高理論參考,以提高我國計算機軟件的穩(wěn)定性與安全性。
關鍵詞:計算機軟件;安全漏洞;檢測技術
近年來,我國計算機領域與電子商務飛速發(fā)展,計算機軟件安全問題日益得到人們的關注,網(wǎng)絡環(huán)境的安全性對于人們?nèi)粘_M行網(wǎng)購造成了很大的影響,更為惡劣的還有網(wǎng)絡詐騙行為,對人們的日常生活和個人財產(chǎn)造成了巨大的損失。因此,加強對計算機軟件安全漏洞檢測技術的研究,(促進軟件安全問題的)及時修正計算機軟件中存在的問題能夠避免許多安全事件的產(chǎn)生,對于我國電子商務的發(fā)展具有十分重要的意義。
1?計算機軟件安全漏洞概述
所謂計算機軟件安全漏洞指的是程序員在進行軟件編寫過程中自身存在的缺陷,這些缺陷為計算機黑客提供了有機可乘,對用戶的計算機造成惡意損害。在一般情況下,計算機用戶會采用殺毒軟件或者防火墻進行計算機系統(tǒng)的維護,雖然這些軟件一定程度上對計算機起到了保護作用,但是依然有一定的不足之處,無法解決根本的安全漏洞問題。其弊端是一旦殺毒軟件或者防火墻在運行過程中出現(xiàn)任何問題,那么計算機軟件的安全性便難以得到保障,一些不法分子會利用計算機漏洞進行用戶信息數(shù)據(jù)的獲取和惡意篡改,極大威脅著用戶的計算機安全。常見的計算機安全漏洞有以下幾種:(1)軟件的編制過程以及最終的編制結果一定程度上與程序員的工作經(jīng)驗以及業(yè)務技術水平有一定關系,一旦出現(xiàn)技術性錯誤那么就會直接造成軟件安全漏洞的出現(xiàn)。(2)計算機軟件在實際的運行過程中由于自身運算出現(xiàn)問題導致運算錯誤或者是在進行數(shù)據(jù)處理時出現(xiàn)錯誤而造成安全漏洞。(3)由于計算機硬件與所配置的軟件版本有一定差別造成的安全漏洞。(4)由于計算機長期運行自身產(chǎn)生出的新的安全漏洞問題沒有進行及時修復造成的一系列安全問題。
2?計算機軟件安全漏洞靜態(tài)檢測技術
所謂靜態(tài)檢測,指的是首先對全部的計算機系統(tǒng)的代碼進行仔細分析,從計算機系統(tǒng)內(nèi)部來尋找安全漏洞出現(xiàn)的原因,這種安全漏洞的檢測方式對于計算機系統(tǒng)中存在的深度漏洞問題能夠有效發(fā)覺,從而能夠及時對其進行修復,保障計算機軟件的安全、穩(wěn)定運行。就目前技術而言,靜態(tài)檢測技術主要有以下幾種方式:
2.1? 模型檢測
模型檢測是一種自動驗證技術,早在1981年由Clarke,Emerson等提出,其技術理論是對有限狀態(tài)系統(tǒng)行為的邏輯性質(zhì)進行針對性的自動驗證,并通過建模對軟件里面的片段進行比較,減少由于計算機軟件自身問題所引發(fā)的安全漏洞,從而保障計算機軟件的穩(wěn)定運行。
2.2? 規(guī)則檢測
計算機程序本身存在著一定的編程規(guī)則,其安全規(guī)則就是對程序安全性的描述,這些規(guī)則具有一定的通用性,因此也存在一定的漏洞。例如,軟件在root權限下無法對exec進行調(diào)用。規(guī)則檢測是將這些規(guī)則用特定的語法進行描述,并最終被處理器所接收轉化,轉換成分析器可以接受的一種內(nèi)部表示,然后將程序行為進行比較和檢測。
2.3? 定理證明
定理證明是通過不同的方式對軟件中的抽象公式進行多方面的驗證,為定理證明的技術性提供保障,與其他檢測技術相比,定理證明更為嚴格。定理證明主要是通過構造圖像使公式中的條件與圖像中的各個節(jié)點相對應,同時對其中的不等式進行檢測,若等式不成立則不滿足條件。定理證明具有一定的復雜性,在實際操作中難以廣泛運用。
2.4? 詞法分析
詞法分析是對許多不同的程序進行語法的檢測,首先對不同的程序進行分割,整個程序經(jīng)過分割變?yōu)槎绦〉钠?,再對這些片段進行一一分析,使之與有問題的程序數(shù)據(jù)庫來對比,這種檢測方法本身存在一定的局限性,僅僅對固定的漏洞代碼能夠有效檢測,因此,在最早的漏洞檢測時詞法分析被廣泛利用,隨著計算機技術的不斷提升和新漏洞的出現(xiàn),近些年來已逐漸不再使用這種方法。
3? ? 計算機安全漏洞動態(tài)檢測技術
動態(tài)檢測技術與靜態(tài)檢測技術相比,其操作起來相對方便快捷,但是對于計算機安全漏洞邏輯方面的問題難以全部發(fā)現(xiàn),對于隱蔽性比較強的安全漏洞難以發(fā)現(xiàn)。動態(tài)檢測技術主要有以下幾方面:
3.1? 非執(zhí)行棧技術
近些年來,基于棧對計算機軟件進行攻擊的事件不斷發(fā)生,因此,通過阻礙棧的正常工作,阻撓相關代碼的執(zhí)行工作,以此阻止黑客對于棧的攻擊。但是,這種方法需要對操作系統(tǒng)層進行修改和相關設置,會對計算機帶來一定的風險,在進行操作時,稍有不慎就極易造成其他問題,對于計算機軟件系統(tǒng)的安全性在其他方面依然會造成影響,特別是在一些程序中既有棧溢出漏洞同時又有堆溢出漏洞的情況,十分容易出現(xiàn)問題。
3.2? 非執(zhí)行堆與數(shù)據(jù)技術
堆是計算機中的特殊的數(shù)據(jù)結構,可以將其看作一顆完全二叉樹的數(shù)組對象。在計算機進行執(zhí)行程序時,如果堆和數(shù)據(jù)段都不能執(zhí)行代碼,那么一些惡意代碼的執(zhí)行也同樣會遭到阻止,以此實現(xiàn)對計算機軟件的保護功能。非執(zhí)行堆與數(shù)據(jù)技術和前面的非執(zhí)行棧技術進行結合可以起到全面的保護作業(yè),可以徹底阻止惡意代碼被執(zhí)行的集合。不同的是,非執(zhí)行堆技術需要對計算機內(nèi)核進行大量的修改,在實際操作上更加復雜,但是大量實踐證明該技術是可行的,近些年來也得到了廣泛應用,其不足之處是對于惡意改寫的函數(shù)參數(shù)和函數(shù)指針的攻擊行為無法檢測和阻止。
3.3? 內(nèi)存映射技術
所謂內(nèi)存映射技術,指的是在進行映射時將代碼頁映射到隨機地址上,進而對黑客基于內(nèi)存中地址跳轉的攻擊行為進行有效阻止。這種技術需要對計算機系統(tǒng)內(nèi)核進行全面修改。內(nèi)存映射技術的缺點是由于低端內(nèi)存有大小的限制,難以實現(xiàn)所有代碼頁都能夠映射到,并且對注入的新代碼和執(zhí)行行為攻擊無法檢測和防范。
3.4? 安全共享庫技術
C語言和C++這兩種常見的計算機語言,在實際的編寫過程中,不少函數(shù)都存在安全漏洞問題,理論上來說,安全共享庫技術能夠?qū)跇藴蕩旌瘮?shù)的攻擊行為進行檢測和防范,但是安全共享庫技術無法阻止基于非標準的庫函數(shù)的攻擊,對于本地變量的安全無法保護。安全共享庫技術的優(yōu)勢是能夠在標準函數(shù)庫下運行的程序在此技術下也可以保持良好運行,目前,這項技術被廣泛應有與Windows操作系統(tǒng)以及UNIX操作系統(tǒng)中。
3.5? 沙箱技術
沙箱技術可以限制訪問來阻止黑客的攻擊,通過嚴格的定義策略來進行對計算機軟件的保護,使其免于遭受黑客攻擊。但是沙箱技術無法阻止黑客對于本地變量的修改和攻擊,沙箱技術不會引發(fā)兼容性問題,但是過于嚴格的安全策略會對正常的程序行為進行限制,造成程序無法正常運行[1]。
3.6? 程序解釋技術
與前面所提到的幾點技術不同,程序解釋技術無需對計算機進行任何修改,僅僅是對應用程序設置一個新的啟動代碼即可,通過新的代碼動用動態(tài)優(yōu)化的程序解釋框架。程序解釋技術的優(yōu)勢是只要對安全策略進行嚴格定義就可以對攻擊或者修改函數(shù)的行為進行全面檢測和防范。
4?計算機軟件安全漏洞防范措施
隨著全球一體化進程的加快,計算機技術被廣泛應用于各個領域,在計算機軟件的發(fā)展過程中,由于安全漏洞問題的存在使得計算機的安全性存在極大的隱患,對計算機技術的發(fā)展也有很大的制約作用。在實際的計算機運行中,軟件安全問題分為計算機軟件自身漏洞問題和來自外界黑客惡意攻擊造成的損害,因此,需要從多方面做好計算機軟件安全漏洞防范措施[2]。
首先,在計算機軟件的使用過程中確保安全正常使用,對程序中有可能存在的危險函數(shù)進行檢查,防范緩沖區(qū)的漏洞問題,當計算機緩沖區(qū)出現(xiàn)漏洞問題說明檢測系統(tǒng)無法進行軟件漏洞檢測,需要技術人員升級軟件版本,同時注意對于軟件的下載和安裝需要選擇正版軟件,通過合法渠道進行獲取,避免使用盜版或者非法軟件,以免帶來安全問題。
其次,避免競爭機制安全漏洞,由于計算機中存在著大量的軟件,不同的軟件直接不可避免的會造成一定的競爭,一定程度上會對計算機系統(tǒng)造成破壞,因此,需要確保使用文件句柄和文字對計算機軟件進行安全性的描述。
最后,注意格式化漏洞的防范,這也是計算機軟件安全漏洞中常見的漏洞,一旦出現(xiàn)會造成計算機內(nèi)部資料的丟失,并且無法進行修復和找回,因此,需要在源代碼中進行使用格式常量,以此減少格式串遺漏造成的安全漏洞問題。
總之,計算機軟件的實際運行中,防范緩沖區(qū)的漏洞十分必要,同時需要防范格式化字符串漏洞,還需要防范隨機數(shù)據(jù)漏洞,以此確保計算機軟件安全漏洞的全面檢測,維護計算機安全運行[3]。
5 結語
綜上所述,計算機技術的不斷發(fā)展使得計算機軟件的應用日益廣泛,關于計算機軟件安全問題越來越受人們的重視。計算機軟件安全漏洞問題需要專業(yè)技術人員進行探索和分析,加強相關研究,切實提高軟件自身安全性,減少黑客攻擊或者非法侵入,以保障計算機安全穩(wěn)定運行,促進計算機技術在眾多領域的不斷應用與發(fā)展。
[參考文獻]
[1]陳婧.計算機軟件中安全漏洞檢測技術研究[J].電子技術與軟件工程,2020(13):250-252.
[2]孫雷.計算機軟件安全漏洞檢測技術的應用[J].電子技術與軟件工程,2020(9):246-247.
[3]曹盛男.安全漏洞檢測技術在計算機軟件中的應用[J].黑龍江科學,2020(8):80-81.
(編輯 王永超)