陳國棟
摘要:對軟件程序進行重新設(shè)計和編寫,是預(yù)防安全漏洞、確保軟件安全的主要手段。所以,計算機技術(shù)人員要不斷努力,強化安全漏洞檢測技術(shù),保障計算機軟件運行安全穩(wěn)定。在計算機的軟件系統(tǒng)中,安全漏洞是對信息系統(tǒng)造成威脅的主要原因,所以,計算機軟件中安全漏洞的檢測技術(shù)成了現(xiàn)今人們探索的重點問題。文章研究了計算機軟件中安全漏洞檢測技術(shù)。
關(guān)鍵詞:計算機軟件;安全漏洞;檢測技術(shù);應(yīng)用
近年來,計算機技術(shù)的應(yīng)用越來越普遍,計算機軟件的發(fā)展非常迅速。同時,源代碼的數(shù)量也隨之急劇增加。一些黑客通過代碼中的某些漏洞對計算機的軟件及系統(tǒng)入侵并破壞。所以,計算機軟件的安全問題已經(jīng)變成了如今系統(tǒng)安全的關(guān)鍵問題之一。
1計算機軟件中的漏洞
漏洞是軟件、硬件、協(xié)議實施中的紕漏,也是系統(tǒng)安全層面的缺失處,讓未獲取授權(quán)認可的攻擊方對系統(tǒng)探訪、攻擊、損害。漏洞的自我特質(zhì)面可從幾個層面表征:第一,是在編訂程序的環(huán)節(jié)內(nèi)有某些邏輯類失誤的生成,該種失誤是由編訂者粗心引發(fā),較為常見。第二,是在軟件的各個數(shù)據(jù)演算、處理的環(huán)節(jié)中,也會有某些邏輯類失誤的生成,在程序模塊中用中等大小同較小、較大的模塊比對看出,非中等程序模塊失誤比率較高。第三,漏洞和軟件系統(tǒng)的環(huán)境關(guān)聯(lián)度較高。同一臺計算機中各異的軟、硬件版本、在配置不等的前提下,每各設(shè)備共組的軟件體系同系統(tǒng)一致但設(shè)置不等時,都會有安全層面的缺陷處。第四,軟件的整體系統(tǒng)漏洞和時間也有關(guān)聯(lián)性,也就是說在時間長度的延伸下,曾出現(xiàn)的漏洞會被補修、更正,但新的漏洞也同時會更加顯現(xiàn)。所以,計算機軟件內(nèi)的漏洞是長久存留的難題。
1.1計算機軟件安全漏洞的原發(fā)性
通常情況下所謂的計算機漏洞是指由于計算機軟件自身含有某些潛在的缺陷和劣勢,這些潛在的缺陷和劣勢由于自身包含的特點可能引發(fā)一些風(fēng)險或者說造成相對容易的攻擊范圍。計算機軟件漏洞出現(xiàn)的主要原因就是由于計算機軟件設(shè)計人員的操作存在失誤。從上面的分析中可知,計算機軟件最主要的就是由于自身存在著缺陷才導(dǎo)致了后天的攻擊性行為。計算機軟件設(shè)計人員在設(shè)計的過程中很難考慮全部的設(shè)計因素,而且現(xiàn)在的軟件設(shè)計人員的設(shè)計水平良莠不齊,這就決定了計算機軟件在投入市場的開始就存在著一定的風(fēng)險,這種風(fēng)險是由于計算機軟件本身所存在的某些原發(fā)性錯誤引起的。
1.2計算機軟件安全漏洞的差異性
計算機軟件的應(yīng)用范圍很廣,目前市場上存在著各式各樣的軟件,這些軟件適用的工作區(qū)域也不一樣。一般來說,計算機軟件漏洞和其工作的環(huán)境之間存在著較為密切的聯(lián)系,在不同的工作環(huán)境內(nèi)即使相同的計算機軟件也可能表現(xiàn)出不一樣的漏洞特征。計算機軟件的工作環(huán)境對于計算機軟件的運行起著至關(guān)重要的作用,計算機軟件主要根據(jù)寫好的程序代碼運行,在不同的設(shè)備上,計算機軟件的代碼執(zhí)行過程也會存在一些差異,這些差異都決定了計算機軟件漏洞的多樣性和差異性的特點。
1.3計算機軟件安全漏洞的延續(xù)性
計算機軟件都會不斷更新,計算機軟件的漏洞也會不斷被修復(fù),然后隨著而來又會出現(xiàn)一些新的計算機軟件漏洞。在使用的過程中計算機軟件會隨著時間的推移,原先的漏洞會不斷被修復(fù),然而程序總會存在新的程序邏輯錯誤,這些新的邏輯性錯誤又會導(dǎo)致新的漏洞,計算機軟件漏洞就不停地處于這樣一個無限的循環(huán)中,除非一個計算機軟件徹底被市場所淘汰。
2計算機軟件中安全漏洞的檢測技術(shù)
現(xiàn)階段,信息技術(shù)已經(jīng)成為人們生活中一個必不可少的生活要素。隨著科學(xué)技術(shù)的不斷進步,各種計算機軟件的不斷被開發(fā)出來,開發(fā)計算機軟件的人也變得多起來了。目前,國外有關(guān)的專家研究發(fā)現(xiàn),隨著計算機軟件的大量使用,計算機軟件的漏洞的數(shù)量和頻率都變得越來越高。目前網(wǎng)絡(luò)黑客的數(shù)量也變得越來越龐大,黑客的性質(zhì)也發(fā)現(xiàn)了質(zhì)的變化,越來越多黑客在利益的驅(qū)動下對個人和集體用戶展開了大規(guī)模的攻擊。在這種大環(huán)境下,只有計算機技術(shù)人員不斷提高計算機軟件安全漏洞的檢測技術(shù)才能應(yīng)對這種挑戰(zhàn)。計算機軟件內(nèi)的安全漏洞可檢出的策略有2類:一類是靜態(tài)模式的檢測技術(shù),另一類是動態(tài)模式的檢測技術(shù)。
2.1計算機軟件安全漏洞的靜態(tài)模式檢測技術(shù)
最開始的計算機軟件安全漏洞靜態(tài)檢測就是靜態(tài)分析,但是由于其檢驗的方式多停留在表面,因此,近些年開始逐漸對其進行研究與創(chuàng)新,靜態(tài)檢測也就逐漸擴充成為2種內(nèi)容:靜態(tài)分析及程序檢驗。其中,靜態(tài)分析指的是對需要檢測的系統(tǒng)程序進行源代碼的掃描工作,從語義、語法等角度進行全面解析,同時直接分析待測系統(tǒng)程序的自身特性,利用這種方法尋找漏洞。而程序檢驗是指抽象系統(tǒng)內(nèi)的程序源代碼。主要借用檢驗方法,檢測軟件系統(tǒng)的程序是否符合計算機的需求,特別是對安全的需求,然后對程序中的安全漏洞存在與否進行判定及檢驗。對于計算機軟件安全漏洞的靜態(tài)檢測來講,其更多注重的是計算機軟件系統(tǒng)程序的內(nèi)部特性,靜態(tài)檢測的方法特點同檢測漏洞的特點之間包含著密切的關(guān)聯(lián)。
計算機軟件中的安全漏洞所執(zhí)行的靜態(tài)模式檢測,最初是靜態(tài)模式辨析,但監(jiān)測的技術(shù)手段多側(cè)重于表層。所以,在更深入的探究和研創(chuàng)后,靜態(tài)模式的檢測內(nèi)涵得以拓展,既有靜態(tài)模式辨析,也包括程序的驗查。靜態(tài)模式辨析就是對檢查測試的系統(tǒng)程序掃描其源代碼后,從語法層面、語義層面進行多方位的闡釋,并把檢測系統(tǒng)程序的特性予以直接化的辨析,借此探尋出漏洞所在。程序驗查則是對系統(tǒng)程序中的源代碼抽象化。憑借驗查手段,檢查軟件內(nèi)組的系統(tǒng)程序同計算機所需的相符度,以及能否同安全所需匹配。接著辨識和驗查程序安全層面存在的漏洞。該種靜態(tài)化的軟件安全漏洞檢測法,更傾向于軟件自身系統(tǒng)程序的內(nèi)存特質(zhì),同時和檢測漏洞特質(zhì)有著較高的關(guān)聯(lián)性。
2.2計算機軟件安全漏洞檢測技術(shù)中的安全動態(tài)檢測
2.2.1內(nèi)存映射
在攻擊群體中,往往多用字符串末尾部位“NULL”字樣的序列對內(nèi)存做全覆蓋,進而實施損害攻擊。在代碼頁中實施的映射技能,可讓攻擊方作出字符串末尾部位“NULL”字樣的序列對內(nèi)存做全覆蓋舉動時,跳轉(zhuǎn)至簡易內(nèi)存區(qū)域中的操控難以進行。從另一側(cè)面來說,在內(nèi)存的多個地址中,隨機性地映射代碼頁,可縮減揣度地址而發(fā)動頁面損害攻擊的發(fā)生比率。
2.2.2非執(zhí)行棧
近年來,攻擊軟件的舉措多發(fā)生在對棧的破壞上,這是因多數(shù)操控系統(tǒng)內(nèi)的棧所屬的能寫性和執(zhí)行性所引發(fā)。在內(nèi)部的變量存儲中,棧的載體中有核心數(shù)組的變量,攻擊方借此可將惡意的代碼發(fā)送至棧內(nèi),并探尋出代碼執(zhí)行手段。而要規(guī)避棧的侵襲、損害可執(zhí)行的有效策略為,更改棧內(nèi)執(zhí)行代碼使其不可執(zhí)行。這樣更改后即便攻擊方將惡意的代碼送至棧內(nèi),但代碼不可執(zhí)行很好地縮減攻擊的成功率,讓程序不被損壞。
2.2.3安全共享庫
某些計算機運行了安全性極差的共享庫就會引發(fā)軟件安全漏洞。共享庫的安全度高可用對攻擊方的損害行為很好的防預(yù),而安全度低的共享庫則易被損害。安全化的共享庫是動態(tài)化的鏈接模式運作,在程序運作環(huán)節(jié)將多類安全度低、沒安全性的函數(shù)運用予以攔截,并進行另外的測驗,進而保證計算機軟件整體的安全。
2.2.4沙箱
沙箱法是對某些損害性攻擊的防預(yù),即借助某一程序的資源訪問限定來實現(xiàn)。如某些調(diào)動函數(shù)會被編入C語言中,而某個軟件自身是不會有此種調(diào)動函數(shù)的。若出現(xiàn)了軟件運行時有類似調(diào)動函數(shù)的運行,軟件已經(jīng)被惡意侵入。但在惡意侵害之前,運行沙箱對其做出限定,則在入侵后不會有不良損害。
3計算機軟件中安全漏洞檢測技術(shù)的應(yīng)用
3.1預(yù)防競爭條件的漏洞
漏洞的成因中也有因競爭條件而引發(fā)的缺陷,對其防預(yù)的策略就是將競爭成因的編碼執(zhí)行原子化運作。編碼是最小的執(zhí)行單元,在運作程序環(huán)節(jié)內(nèi)不會有任意狀況對其實施干擾。原子化運作就是用鎖定的操作,對某一特定的狀況更改而衍生的問題予以防預(yù),這樣可對應(yīng)用文件名體系實施間接化的調(diào)用,可表述出應(yīng)用文件或使用的句柄。
3.2預(yù)防緩沖區(qū)的漏洞
對于緩沖區(qū)內(nèi)的漏洞可借助軟件程序內(nèi)危險值高的函數(shù)驗查來實施防預(yù),將安全度較低的軟件用高安全度的新版本替換。
3.3預(yù)防隨機出現(xiàn)的漏洞
在對隨機性的漏洞實施防預(yù)時,可借助隨機性高的發(fā)生設(shè)備來進行。隨機發(fā)生設(shè)備有著自屬密碼演算,可確保隨機數(shù)流的高安全度。在軟件被惡性侵害,對算法每一細微處都掌控,但數(shù)據(jù)流不會形成,進而起到防預(yù)能效。
3.4預(yù)防格式化字符串的漏洞
執(zhí)行嚴密、謹慎的防預(yù)方案,直接性地在數(shù)碼中運用格式常量,讓供給方找不到可創(chuàng)設(shè)格式串的缺陷處。個數(shù)函數(shù)在不定參數(shù)時往往會有格式化字符串的缺陷潛藏,對此類函數(shù)運行時就要讓每一參數(shù)的數(shù)目有保障,均衡穩(wěn)定。
3.5計算機軟件安全漏洞的防范措施
計算機軟件安全漏洞檢測技術(shù)應(yīng)用的過程中,一方面要避免緩沖區(qū)漏洞,認真檢查程序中的危險函數(shù),使用安全的計算機軟件,不用盜版軟件和非法軟件,時刻做好緩沖區(qū)漏洞的處理和防范。一方面要避免競爭條件漏洞,在競爭代碼原子化操作的過程中,借助于文件句柄和其他文字描述字,保證計算機軟件的安全。另一方面要避免格式化字符串漏洞,盡可能地使用源代碼中格式常量,進而避免留下格式串機會,并防止隨即數(shù)漏洞,提供安全的隨機數(shù)據(jù)量,并對全部算法細節(jié)進行加密。
4結(jié)語
21世紀是一個計算機技術(shù)高速發(fā)展的社會,隨著經(jīng)濟社會的發(fā)展和經(jīng)濟全球化的影響,計算機技術(shù)在我國得到了大范圍的發(fā)展,在我國的各個領(lǐng)域中目前都離不開計算機,計算機的產(chǎn)生為我國的現(xiàn)代化建設(shè)提供了不竭的動力。但是,隨著信息技術(shù)的不斷發(fā)展也逐漸暴露出一些潛在的問題。目前,計算機的安全性已經(jīng)成為人們關(guān)注的焦點。隨著開發(fā)的人越來越多,使用的人越來越多,惡意利用計算機軟件獲取個人信息、破壞計算機安全的人也就變得多起來了。目前,計算機安全已經(jīng)成為世界各國高度關(guān)注的一個問題。有關(guān)的技術(shù)人員必須引起高度的關(guān)注才能有效解決計算機軟件漏洞,給計算機系統(tǒng)一片綠色的天空,給人們的網(wǎng)絡(luò)環(huán)境和信息安全提供一個新的平臺??偫▉碚f,當下的周邊環(huán)境內(nèi),計算機軟件安全漏洞的檢測技術(shù)演化為基礎(chǔ)通信驗查、基礎(chǔ)計算機安全檢測的手段。運行的每一軟件安全性更多側(cè)重在程度的編訂、漏洞的遏制層面。所以,探究計算機軟件的安全類漏洞檢測技術(shù),并對該技術(shù)的運用辨析,是當下工作者需更深層考量的事務(wù)。