(鎮(zhèn)江高等職業(yè)技術(shù)學(xué)校,江蘇 鎮(zhèn)江 212016)
目前,我國對于計算機(jī)技術(shù)的現(xiàn)代化應(yīng)用已經(jīng)原來越普遍,人們的日常生活和計算機(jī)技術(shù)息息相關(guān),無法分離,這也為計算機(jī)技術(shù)的快速發(fā)展提供了良好的平臺和基礎(chǔ)。與此同時,計算機(jī)源代碼的數(shù)量持續(xù)增加,一些黑客非法分子尋找到代碼中的一些漏洞,對計算機(jī)軟件所處的系統(tǒng)進(jìn)行破壞,給人們的生活帶來了嚴(yán)重的問題,對社會造成了不良影響。因此,計算機(jī)軟件的安全問題不容忽視,對相關(guān)的安全漏洞檢測技術(shù)進(jìn)行研究具有重要的價值[1]。文章主要分析了計算機(jī)軟件中存在的漏洞。
由于計算機(jī)軟件自身的特點,可能會導(dǎo)致一些安全性風(fēng)險的產(chǎn)生,或造成相對容易攻擊的范圍。由于計算機(jī)軟件漏洞的出現(xiàn),主要是由于計算機(jī)軟件的設(shè)計人員在操作方面存在的失誤。據(jù)此進(jìn)行分析,發(fā)現(xiàn)其最主要的原因是由于計算機(jī)軟件自身設(shè)計方面存在缺陷導(dǎo)致了后天出現(xiàn)的攻擊性行為[2]。計算機(jī)軟件的設(shè)計人員在其設(shè)計過程中無法考慮周全,同時設(shè)計人員的設(shè)計水平存在一定的差異性,直接導(dǎo)致計算機(jī)軟件在初期投入市場時就存在風(fēng)險,這也是由于計算機(jī)軟件基本上存在的一些原發(fā)性問題而導(dǎo)致的。
針對計算機(jī)軟件,其應(yīng)用范圍相對來說比較廣泛,市場中存在的計算機(jī)軟件十分豐富。一般來說,計算機(jī)軟件的漏洞與其工作環(huán)境之間的聯(lián)系十分密切,不同的工作環(huán)境,漏洞也體現(xiàn)出不一樣的特點。計算機(jī)軟件的運(yùn)行代碼會在不同的設(shè)備以及系統(tǒng)中存在差異性,這導(dǎo)致計算機(jī)軟件的漏洞在產(chǎn)生過程中存在多樣性以及差異性的特點[3]。
隨著時間的推移,計算機(jī)應(yīng)用軟件不斷地更新?lián)Q代,與此同時,原始的漏洞會不斷地進(jìn)行修復(fù),同時產(chǎn)生一些新的漏洞。實際上,計算機(jī)軟件在更新中不斷地產(chǎn)生一些邏輯錯誤,導(dǎo)致整體計算機(jī)系統(tǒng)以及軟件中所產(chǎn)生的安全漏洞具有較強(qiáng)的時效性以及延續(xù)性[4]。
針對計算機(jī)軟件中存在的安全漏洞進(jìn)行檢測,靜態(tài)檢測主要就是對計算機(jī)軟件進(jìn)行表面性的檢測[5]。近年來,對這種方式進(jìn)行研究,將靜態(tài)檢測擴(kuò)充為兩個方面,一方面是靜態(tài)分析,另一方面是程序檢驗。具體來說,靜態(tài)分析就是對需要進(jìn)行檢測的系統(tǒng)程序的源代碼來進(jìn)行掃描工作,并對系統(tǒng)進(jìn)行語義和語法等方面的全面分析,同時對系統(tǒng)程序的自身特點進(jìn)行分析,從而能夠其中存在的漏洞進(jìn)行搜索。而程序檢驗就是將系統(tǒng)內(nèi)的程序源代碼進(jìn)行充分的檢驗。實際中,主要是通過檢測軟件程序系統(tǒng)是否能符合計算機(jī)的運(yùn)行需求,對程序中是否存在安全漏洞進(jìn)行相應(yīng)的評估。實際應(yīng)用中,對計算機(jī)軟件安全漏洞靜態(tài)檢測這方面更加重視計算機(jī)軟件系統(tǒng)內(nèi)部的特點[6]。
在對計算機(jī)軟件的安全漏洞進(jìn)行檢驗的過程中,靜態(tài)模式辨析監(jiān)測手段已經(jīng)得到了一定的拓展和應(yīng)用,這包括靜態(tài)模式辨析和程序的驗查分析。通過這兩個方面的全面檢查來對整體計算機(jī)軟件系統(tǒng)中的源代碼進(jìn)行充分的了解,檢查計算機(jī)內(nèi)部系統(tǒng)構(gòu)成是否能夠滿足計算機(jī)運(yùn)行的實際需求,更好地判斷在計算機(jī)軟件系統(tǒng)中存在的漏洞。實際上,這種靜態(tài)化的軟件安全漏洞檢查方式更加重視計算機(jī)軟件內(nèi)部系統(tǒng)程序的內(nèi)在特質(zhì),與此同時,還和所檢測漏洞本身的特質(zhì)存在著一定的聯(lián)系。
2.2.1 內(nèi)存映射
通常來說,對于計算機(jī)軟件進(jìn)行攻擊造成的安全漏洞,其中的代碼常用多字符串末尾部位“NULL”的字樣序列來進(jìn)行覆蓋內(nèi)存,從而實現(xiàn)更加全面化的攻擊。所設(shè)計出的這些代碼在進(jìn)入計算機(jī)內(nèi)部系統(tǒng)之后能夠跳轉(zhuǎn)至簡易內(nèi)存區(qū)域中,操控系統(tǒng)難以順利地進(jìn)行,另外,在內(nèi)存中隨機(jī)映射代碼也能夠縮減具體的地址,從而發(fā)動頁面,損害計算機(jī)軟件系統(tǒng)[7]。
2.2.2 非執(zhí)行棧
近些年來,關(guān)于計算機(jī)軟件系統(tǒng)的攻擊通常是發(fā)生在對棧的破壞中,這主要是由于計算機(jī)軟件系統(tǒng)中的棧所體現(xiàn)出的能寫性以及可執(zhí)行性而導(dǎo)致的結(jié)果。在這個過程中,對于計算機(jī)內(nèi)部信息的變量存儲方面體現(xiàn)出棧核心數(shù)組的變量,對計算機(jī)系統(tǒng)的攻擊主要是將這些惡意的代碼發(fā)送到棧內(nèi),從而實現(xiàn)對計算機(jī)內(nèi)部的嚴(yán)重?fù)p害行為,通過更改棧內(nèi)的代碼,使其不可執(zhí)行。在此之后,更改之后的代碼難以縮減安全攻擊的成功率,提高了計算機(jī)軟件系統(tǒng)的安全性能。
2.2.3 安全共享庫
在實際中,一些計算機(jī)軟件系統(tǒng)運(yùn)用了安全性相對比較低的共享空間,會導(dǎo)致安全漏洞的產(chǎn)生。由于安全信息共享庫的安全度得到保證,使具體信息共享庫作為一種動態(tài)化的運(yùn)作模式,保證計算機(jī)軟件的安全化程度,提高計算機(jī)軟件運(yùn)行的安全度和平穩(wěn)性,并保證其能夠順利地運(yùn)行[8]。
2.2.4 沙箱
沙箱主要是針對一些損害性攻擊的預(yù)防,通過一些程序的資源訪問來進(jìn)行實現(xiàn)。具體來說,如果在計算機(jī)的運(yùn)行過程當(dāng)中,一些調(diào)動函數(shù)被編入到了C語言中,軟件自身就不會調(diào)動這種函數(shù),但如果系統(tǒng)進(jìn)行預(yù)防時產(chǎn)生了類似調(diào)動函數(shù)的行為,這就表明軟件被惡意侵入。在軟件受到具體的惡意侵害之前,如果對沙箱進(jìn)行及時的限定,就能夠及時地防止沙箱入侵對計算機(jī)軟件系統(tǒng)造成損害。
在針對計算機(jī)軟件所出現(xiàn)的安全漏洞檢測技術(shù)的應(yīng)用過程中,對于計算機(jī)漏洞出現(xiàn)的預(yù)防需要充分重視,預(yù)防多種漏洞,包括競爭條件的漏洞、隨機(jī)出現(xiàn)的漏洞以及格式化字符串漏洞等。在具體的預(yù)防以及應(yīng)用過程中,需要采取適當(dāng)?shù)姆绞?,防止漏洞的出現(xiàn),保證運(yùn)行程序的高效性和準(zhǔn)確性,從而能夠更好地鎖定出現(xiàn)漏洞的環(huán)節(jié)和位置,對其進(jìn)行預(yù)防以及解決,進(jìn)而能夠提升計算機(jī)軟件的安全程度,保障計算機(jī)軟件的運(yùn)行效果。
基于社會的發(fā)展進(jìn)程,關(guān)于計算機(jī)軟件對人們生活造成的影響十分深遠(yuǎn)。要保證我國現(xiàn)代經(jīng)濟(jì)的不斷發(fā)展,就需要充分重視計算機(jī)軟件的安全漏洞檢測技術(shù)的具體應(yīng)用,使其能夠及時跟上計算機(jī)技術(shù)更新的腳步,保障計算機(jī)軟件的順利工作,防止計算機(jī)軟件的安全漏洞出現(xiàn)問題對企業(yè)造成影響,給社會帶來損失。