陳明秀
【摘? 要】 隨著現(xiàn)代信息技術(shù)快速發(fā)展及廣泛應(yīng)用,信息技術(shù)在各行各業(yè)中發(fā)揮著非常重要的作用,海量數(shù)據(jù)信息可以實(shí)現(xiàn)高效存儲(chǔ)共享與數(shù)據(jù)價(jià)值分析,且功能不斷擴(kuò)大效果越來越穩(wěn)定,但隨之而來的安全漏洞也越來越多且復(fù)雜化。如何檢測(cè)計(jì)算機(jī)軟件中的安全漏洞并查找原因及彌補(bǔ)缺陷,需要計(jì)算機(jī)軟件研發(fā)人員及相關(guān)工作人員不斷思考研究,從而確保計(jì)算機(jī)軟件信息安全。文章對(duì)計(jì)算機(jī)軟件中安全漏洞特點(diǎn)進(jìn)行分析,并列舉了部分安全漏洞檢測(cè)技術(shù),提出計(jì)算機(jī)軟件中安全漏洞檢測(cè)技術(shù)應(yīng)用策略,以期為促進(jìn)計(jì)算機(jī)信息技術(shù)發(fā)展貢獻(xiàn)一些力量。
【關(guān)鍵詞】 計(jì)算機(jī)軟件;安全漏洞;檢測(cè)技術(shù)
隨著計(jì)算機(jī)信息技術(shù)快速發(fā)展,各行各業(yè)中應(yīng)用現(xiàn)代信息技術(shù)的范圍及深度不斷擴(kuò)展,現(xiàn)代信息技術(shù)不僅簡(jiǎn)化了辦公流程提高工作效率,也降低了對(duì)人力資源的依賴,減少了人力資源成本。為了提高工作效率及質(zhì)量,企業(yè)需要不斷引進(jìn)、更新、升級(jí)計(jì)算機(jī)軟件技術(shù),因此,其源代碼數(shù)量規(guī)模不斷擴(kuò)大,也出現(xiàn)了越來越多的安全風(fēng)險(xiǎn),其中代碼中存在的安全漏洞給企業(yè)帶來較大的安全隱患,危及企業(yè)重要數(shù)據(jù)信息甚至商業(yè)秘密。因此,計(jì)算機(jī)軟件開發(fā)人員及應(yīng)用企業(yè)都必須重視軟件中的安全漏洞檢測(cè),通過先進(jìn)的檢測(cè)技術(shù)及時(shí)排查安全漏洞并制定彌補(bǔ)措施,從而確保企業(yè)信息安全。
一、計(jì)算機(jī)軟件安全漏洞特點(diǎn)分析
(一)原發(fā)性
原發(fā)性是計(jì)算機(jī)軟件中由于自身編程存在缺陷而導(dǎo)致的安全漏洞。原發(fā)性的安全漏洞會(huì)帶來較大安全風(fēng)險(xiǎn),尤其容易被不法分子加以利用攻擊計(jì)算機(jī)軟件,導(dǎo)致應(yīng)用企業(yè)的信息泄露或被篡改、丟失等,進(jìn)而給企業(yè)帶來巨大的經(jīng)濟(jì)損失。原發(fā)性的計(jì)算機(jī)軟件安全漏洞主要是由軟件編程工作人員設(shè)計(jì)系統(tǒng)時(shí)失誤而導(dǎo)致的,屬于計(jì)算機(jī)軟件的先天性缺陷,后期應(yīng)用計(jì)算機(jī)軟件過程中如未能及時(shí)發(fā)現(xiàn)及解決,將會(huì)埋下較大的安全隱患。計(jì)算機(jī)軟件開發(fā)并不是簡(jiǎn)單的活動(dòng),由于人員水平等原因?qū)е萝浖性l(fā)性安全漏洞很難避免,開發(fā)人員及應(yīng)用企業(yè)需要對(duì)計(jì)算機(jī)軟件進(jìn)行定期維護(hù)及更新,確保安全漏洞得到及時(shí)的處理。
(二)差異性
當(dāng)前信息技術(shù)發(fā)展較快,不同行業(yè)對(duì)計(jì)算機(jī)軟件的應(yīng)用要求不同。市場(chǎng)中開發(fā)及應(yīng)用的計(jì)算機(jī)軟件類型非常多,工作環(huán)境及硬件配套設(shè)施等也各不相同。因此計(jì)算機(jī)軟件中安全漏洞也存在較大的差異。運(yùn)行代碼在不同硬件設(shè)備中的運(yùn)行情況也存在差異,對(duì)硬件性能等適應(yīng)性不同,安全漏洞差異性特點(diǎn)更加明顯。
(三)延續(xù)性
計(jì)算機(jī)軟件安全漏洞是無法永久性解決的,隨著計(jì)算機(jī)軟件技術(shù)發(fā)展,自身在不斷優(yōu)化升級(jí)的同時(shí),安全漏洞也不斷改變,原始漏洞被發(fā)現(xiàn)并修補(bǔ)后又因?yàn)閼?yīng)用運(yùn)行環(huán)境的變化及外部攻擊技術(shù)的發(fā)展等產(chǎn)生新的漏洞。因此,計(jì)算機(jī)軟件安全漏洞具備一定的延續(xù)性特征。
二、計(jì)算機(jī)軟件安全漏洞檢測(cè)技術(shù)分析
(一)動(dòng)態(tài)檢測(cè)技術(shù)
目前動(dòng)態(tài)檢測(cè)技術(shù)有多種類型,文章主要分析內(nèi)存映射、非執(zhí)行棧、沙箱和安全共享庫。
1. 內(nèi)存映射
內(nèi)存映射是關(guān)聯(lián)進(jìn)程中一個(gè)虛擬內(nèi)存區(qū)域映射一個(gè)磁盤上的對(duì)象而形成的映射關(guān)系,映射過程就是將該虛擬內(nèi)存區(qū)域初始化,初始化后的虛擬內(nèi)存可以在交換空間中進(jìn)行切換,其中被映射的對(duì)象叫作共享對(duì)象。當(dāng)多個(gè)進(jìn)程的虛擬內(nèi)存區(qū)域與同一個(gè)共享對(duì)象構(gòu)建成映射關(guān)系后,進(jìn)程中對(duì)虛擬區(qū)域操作后可以映射到自身虛擬內(nèi)存區(qū)域中。
2. 非執(zhí)行棧
隨著計(jì)算機(jī)軟件技術(shù)發(fā)展,黑客攻擊技術(shù)也不斷提升。從大多數(shù)計(jì)算機(jī)軟件系統(tǒng)攻擊中可以看到,遭受嚴(yán)重攻擊的主要原因是棧被破壞了,導(dǎo)致計(jì)算機(jī)軟件系統(tǒng)棧能寫和執(zhí)行。整個(gè)環(huán)節(jié)中棧核心數(shù)組變量是計(jì)算機(jī)內(nèi)部存儲(chǔ)多種信息變量呈現(xiàn)出來的特征,而計(jì)算機(jī)系統(tǒng)遭受攻擊后會(huì)把惡意代碼發(fā)送到棧中,進(jìn)而損害計(jì)算機(jī)內(nèi)部操作系統(tǒng),最終利用棧內(nèi)代碼快速更改以阻止此行為執(zhí)行。更改代碼后安全攻擊的成功率難以降低,這也就提高了計(jì)算機(jī)軟件系統(tǒng)的安全性能。
3. 安全共享庫
為了保護(hù)數(shù)據(jù)共享的安全性,安全共享庫是應(yīng)用比較多的計(jì)算機(jī)軟件安全漏洞檢測(cè)技術(shù)。在安全共享庫保障下的數(shù)據(jù)共享更加便利快捷且安全性高,但仍存在一定的風(fēng)險(xiǎn)性。在現(xiàn)代社會(huì)經(jīng)濟(jì)發(fā)展過程中,數(shù)據(jù)共享是必然的,數(shù)據(jù)共享是否安全與共享平臺(tái)及傳輸渠道的安全性能有密切關(guān)系。若企業(yè)共享庫運(yùn)行環(huán)境安全性能較差,數(shù)據(jù)共享的安全性會(huì)大打折扣甚至出現(xiàn)泄漏情況。此外,當(dāng)計(jì)算機(jī)軟件使用的共享空間安全系數(shù)較低時(shí),產(chǎn)生安全漏洞的情況也屢見不鮮,而安全共享庫就是不斷推進(jìn)信息共享庫動(dòng)態(tài)運(yùn)行,使計(jì)算機(jī)軟件的運(yùn)行環(huán)境更加安全平穩(wěn),進(jìn)而達(dá)到保護(hù)數(shù)據(jù)信息安全的目的。在計(jì)算機(jī)運(yùn)行前提條件下通過保證共享庫鏈接運(yùn)作的方式將計(jì)算機(jī)軟件運(yùn)行過程中一些安全性較低的程序進(jìn)行攔截,額外檢測(cè)計(jì)算機(jī)軟件的安全性,從而保證計(jì)算機(jī)軟件運(yùn)行安全有效。
4. 沙箱
沙箱技術(shù)可有效防范計(jì)算機(jī)軟件中一些損害性比較強(qiáng)的攻擊行為,例如通過程序資源的訪問功能進(jìn)行防范。具體來說就是計(jì)算機(jī)在運(yùn)行過程中利用C語言編寫一些調(diào)動(dòng)函數(shù),計(jì)算機(jī)軟件本身無法調(diào)動(dòng)這些函數(shù),系統(tǒng)開啟預(yù)防操作后會(huì)生成一些行為與調(diào)動(dòng)函數(shù)類似,進(jìn)而判斷軟件是否被非法攻擊。利用沙箱檢測(cè)技術(shù)時(shí)要及時(shí)完成沙箱限定,進(jìn)而第一時(shí)間預(yù)防非法入侵沙箱而避免計(jì)算機(jī)軟件系統(tǒng)被破壞。
(二)靜態(tài)檢測(cè)技術(shù)
1. 定理證明檢測(cè)技術(shù)
定理證明檢測(cè)技術(shù)主要應(yīng)用在計(jì)算機(jī)程序抽象公式的抽查方面,通過定理證明檢測(cè)技術(shù)可以準(zhǔn)確地判斷出計(jì)算機(jī)軟件是否受到黑客攻擊,并可以排查出隱藏的安全漏洞。定理證明檢測(cè)技術(shù)可以精準(zhǔn)化檢測(cè)安全漏洞和高效阻截非法入侵行為,從而保證整個(gè)計(jì)算機(jī)軟件系統(tǒng)運(yùn)行的安全性能。
2. 模型檢測(cè)技術(shù)
模型檢驗(yàn)是利用計(jì)算機(jī)系統(tǒng)程序中的有向圖、狀態(tài)等構(gòu)建成抽象的模型,利用模型更好地完成系統(tǒng)的特征檢驗(yàn)工作。采用模型檢測(cè)技術(shù)檢測(cè)計(jì)算機(jī)軟件安全漏洞的重點(diǎn)是利用軟件行為及結(jié)構(gòu)構(gòu)建出相應(yīng)的模型,對(duì)計(jì)算機(jī)系統(tǒng)模式及優(yōu)先狀態(tài)進(jìn)行計(jì)算和驗(yàn)證,并在驗(yàn)證結(jié)果的基礎(chǔ)上建模操作。然后利用模型分析計(jì)算和驗(yàn)證計(jì)算機(jī)軟件程序構(gòu)造特征情況,進(jìn)而分析出計(jì)算機(jī)軟件存在的安全漏洞。模型檢測(cè)技術(shù)包括模型自動(dòng)轉(zhuǎn)化檢驗(yàn)方法和符號(hào)化檢驗(yàn)方法。其中符號(hào)化檢驗(yàn)方法是將抽象模型轉(zhuǎn)換為語法樹形式,采用公式形式進(jìn)行描述,通過公式與需求是否相符判斷安全漏洞。模型自動(dòng)轉(zhuǎn)化檢驗(yàn)方法則是將檢測(cè)程序轉(zhuǎn)變?yōu)榈葍r(jià)自動(dòng)機(jī),兩個(gè)自動(dòng)機(jī)之間相互替換和補(bǔ)充并構(gòu)成一個(gè)新自動(dòng)機(jī),然后把判定系統(tǒng)轉(zhuǎn)換為語言形式且具備一定的容納性。
3. 類型推導(dǎo)檢測(cè)技術(shù)
類型推導(dǎo)檢測(cè)技術(shù)是靜態(tài)檢測(cè)技術(shù)中重要的組成部分。類型推導(dǎo)檢測(cè)技術(shù)主要是通過推導(dǎo)計(jì)算機(jī)的函數(shù)和程序變量等,以推導(dǎo)結(jié)果準(zhǔn)確判斷計(jì)算機(jī)函數(shù)和程序變量中是否存在異常現(xiàn)象,一旦存在異?,F(xiàn)象則要查找原因,判斷出計(jì)算機(jī)軟件安全漏洞所屬類型、安全漏洞產(chǎn)生的威脅或破壞情況。類型推導(dǎo)檢測(cè)技術(shù)的應(yīng)用條件具備一定特殊性,主要是應(yīng)用在與程序無任何關(guān)聯(lián)性的檢測(cè)環(huán)節(jié)中較多。
4. 規(guī)則檢測(cè)技術(shù)
規(guī)則檢測(cè)技術(shù)主要是對(duì)程序本身安全漏洞進(jìn)行檢測(cè),對(duì)操作人員操作失誤所帶來的安全漏洞檢測(cè)效果更好。計(jì)算機(jī)軟件系統(tǒng)是由程序員根據(jù)一定的規(guī)則及目的編寫出來的,程序員并不是萬能的,在操作編寫過程中難以全方位避免所有的失誤,一旦人工操作失誤會(huì)導(dǎo)致計(jì)算機(jī)軟件判斷失誤或計(jì)算失誤,最終形成一定的安全漏洞。而通過規(guī)則檢測(cè)技術(shù)則可以較好地解決人員操作失誤的問題,將描述程序規(guī)則的語法固定,然后利用規(guī)則處理器完成分析處理操作及對(duì)比程序行為,進(jìn)而有效、及時(shí)地防范計(jì)算機(jī)軟件安全漏洞。
5. 靜態(tài)分析技術(shù)
靜態(tài)分析技術(shù)主要是對(duì)程序代碼進(jìn)行全面截止的掃描,將程序代碼中的關(guān)鍵句及語法等提煉出來并解讀其含義,然后借助解讀分析程序行為,按照預(yù)先設(shè)定好的安全漏洞特性及計(jì)算機(jī)軟件系統(tǒng)安全標(biāo)準(zhǔn)等進(jìn)行檢測(cè)以發(fā)現(xiàn)漏洞。靜態(tài)分析技術(shù)首先是分析語法和詞句,最早的靜態(tài)分析技術(shù)的核心就是語法和詞句。一般情況下系統(tǒng)程序會(huì)分成語句片段,比較語句片段與疑問數(shù)據(jù)庫,當(dāng)檢測(cè)到計(jì)算機(jī)軟件存在安全漏洞時(shí)會(huì)開啟啟發(fā)式評(píng)估及判定。靜態(tài)分析技術(shù)可以在一定程度上檢測(cè)出安全漏洞,但由于檢測(cè)數(shù)量有限,容易出現(xiàn)漏報(bào)安全漏洞的情況。利用靜態(tài)分析技術(shù)檢測(cè)安全漏洞需要嚴(yán)格執(zhí)行一定的標(biāo)準(zhǔn)要求,而安全標(biāo)準(zhǔn)描述的是計(jì)算機(jī)系統(tǒng)運(yùn)行具體情況,計(jì)算機(jī)軟件程序自身具備一定的編程標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)也是一般安全標(biāo)準(zhǔn)和漏洞模式。
三、計(jì)算機(jī)軟件安全漏洞檢測(cè)技術(shù)應(yīng)用策略
(一)預(yù)防競(jìng)爭(zhēng)關(guān)系的漏洞
當(dāng)計(jì)算機(jī)軟件處在一個(gè)競(jìng)爭(zhēng)環(huán)境下,安全漏洞往往更容易產(chǎn)生。究其原因,計(jì)算機(jī)運(yùn)行時(shí)會(huì)存在各種各樣的缺陷,沒有絕對(duì)安全與穩(wěn)定的運(yùn)行環(huán)境。為了減少安全漏洞的產(chǎn)生必須做好預(yù)防漏洞產(chǎn)生的防范工作。例如將競(jìng)爭(zhēng)條件下的編碼進(jìn)行原子化處理進(jìn)而減少安全漏洞。其中編碼是計(jì)算機(jī)軟件運(yùn)行中所涉及的最小單位,在原子化操作下可以逐步減少編碼運(yùn)行的干擾因素。
(二)預(yù)防緩沖區(qū)出現(xiàn)漏洞
計(jì)算機(jī)軟件中另一個(gè)極容易產(chǎn)生漏洞的地方是緩沖區(qū),計(jì)算機(jī)軟件必須針對(duì)緩沖區(qū)進(jìn)行預(yù)防,例如通過軟件程序中危險(xiǎn)數(shù)值較高的函數(shù)快速檢測(cè)緩沖區(qū)域內(nèi)的安全漏洞,同時(shí)更換安全性能更高和技術(shù)含量更高的軟件版本以減少計(jì)算機(jī)軟件運(yùn)行過程中的漏洞,尤其是針對(duì)一些安全系數(shù)較低或滯后性較大的計(jì)算機(jī)軟件應(yīng)及時(shí)進(jìn)行更換。
(三)隨時(shí)檢測(cè)預(yù)防產(chǎn)生新漏洞
計(jì)算機(jī)軟件安全漏洞具備原發(fā)性、差異性和延續(xù)性特征,其中延續(xù)性特征說明計(jì)算機(jī)軟件安全漏洞會(huì)隨著軟件技術(shù)的發(fā)展進(jìn)步及外部環(huán)境變化等而不斷變化,呈現(xiàn)出螺旋式上升的趨勢(shì)。若只對(duì)計(jì)算機(jī)軟件安全漏洞進(jìn)行修補(bǔ),只是一種事后彌補(bǔ)措施,對(duì)計(jì)算機(jī)軟件正常運(yùn)行及發(fā)揮功能來說是遠(yuǎn)遠(yuǎn)不夠的。計(jì)算機(jī)軟件需要實(shí)時(shí)監(jiān)測(cè)自身是否存在漏洞,并不斷更新檢測(cè)技術(shù),對(duì)潛在的新漏洞及時(shí)發(fā)現(xiàn)檢測(cè)出來并及時(shí)制定預(yù)防處理措施。為保證設(shè)備具有較強(qiáng)的密碼演算程序,必須使用一些性能較好的設(shè)備預(yù)防新漏洞產(chǎn)生。
(四)預(yù)防格式化字符串漏洞
在一些嚴(yán)密且謹(jǐn)慎防范計(jì)算機(jī)軟件安全漏洞方案的運(yùn)行或執(zhí)行過程中,可在數(shù)據(jù)加密環(huán)節(jié)直接應(yīng)用格式常量,應(yīng)用格式常量可以避免違法犯罪分子或黑客找到可利用的漏洞缺陷,減少計(jì)算機(jī)軟件被攻擊的可能性。格式化字符串是計(jì)算機(jī)軟件中的薄弱點(diǎn)和個(gè)數(shù)函數(shù)最大的安全隱患,也是黑客攻擊主要范圍之一。為了防范格式化字符串漏洞,必須掌控每一串?dāng)?shù)據(jù),尤其是一些軟件參數(shù)設(shè)置要提高檢測(cè)的精準(zhǔn)性。計(jì)算機(jī)軟件格式化漏洞危害比較大,會(huì)導(dǎo)致計(jì)算機(jī)系統(tǒng)中的關(guān)鍵性數(shù)據(jù)信息丟失或被不法分子、黑客等盜取。此外,格式化字符串漏洞后續(xù)難以完整修復(fù),對(duì)計(jì)算機(jī)軟件危害比較大且具備一定的持續(xù)性。
四、結(jié)語
隨著信息化時(shí)代的到來,計(jì)算機(jī)軟件技術(shù)已經(jīng)在社會(huì)經(jīng)濟(jì)發(fā)展及人們生活中發(fā)揮著越來越重要的作用,計(jì)算機(jī)軟件技術(shù)已經(jīng)深入應(yīng)用在現(xiàn)代化辦公模式中。一旦計(jì)算機(jī)軟件出現(xiàn)安全漏洞,對(duì)企業(yè)或個(gè)人所產(chǎn)生的影響是巨大的,會(huì)帶來較大的經(jīng)濟(jì)損失等。因此在應(yīng)用計(jì)算機(jī)軟件技術(shù)時(shí)要重視對(duì)安全漏洞的檢測(cè),及時(shí)排查出隱藏的安全漏洞,確保計(jì)算機(jī)軟件正常安全及穩(wěn)定運(yùn)行,同時(shí)保證相關(guān)的數(shù)據(jù)信息準(zhǔn)確安全有效。除了文章所述的安全漏洞檢測(cè)技術(shù)以外,在使用計(jì)算機(jī)軟件過程中,可通過更換計(jì)算機(jī)軟件版本,規(guī)定計(jì)算機(jī)軟件操作權(quán)限等防范安全漏洞,不斷研究創(chuàng)新安全漏洞檢測(cè)技術(shù),確保計(jì)算機(jī)軟件安全漏洞能夠及時(shí)檢測(cè)排查,進(jìn)而提高計(jì)算機(jī)軟件運(yùn)行質(zhì)量與效率。
參考文獻(xiàn):
[1] 霍莉莉. 計(jì)算機(jī)軟件中安全漏洞檢測(cè)技術(shù)及其應(yīng)用研究[J]. 軟件,2023,44(06):98-100.
[2] 王朝輝. 計(jì)算機(jī)軟件中安全漏洞檢測(cè)技術(shù)與應(yīng)用分析[J]. 軟件,2023,44(04):164-167.
[3] 黃子龍. 計(jì)算機(jī)軟件中安全漏洞檢測(cè)技術(shù)與應(yīng)用分析[J]. 電子測(cè)試,2022,36(23):134-136.
[4] 李巖. 計(jì)算機(jī)軟件中安全漏洞檢測(cè)技術(shù)的應(yīng)用問題探討[J]. 電子元器件與信息技術(shù),2021,5(05):235-236.