李勝軍
摘 要 現(xiàn)代化經(jīng)濟(jì)發(fā)展過程中計算機(jī)行業(yè)的飛速發(fā)展不容小覷。計算機(jī)軟件由于其結(jié)構(gòu)的多樣性以及操作復(fù)雜性,容易受到各類不易察覺的安全漏洞威脅,使計算機(jī)安全受到影響。本文主要從現(xiàn)今較為常見的計算機(jī)安全漏洞及檢測技術(shù)出發(fā),探究解決安全漏洞檢測技術(shù)在計算機(jī)軟件中的應(yīng)用。
關(guān)鍵詞 安全漏洞檢測技術(shù);計算機(jī)軟件;應(yīng)用管窺
中圖分類號 TP3 文獻(xiàn)標(biāo)識碼 A 文章編號 1674-6708(2017)198-0144-02
計算機(jī)技術(shù)推動了信息社會的發(fā)展,加強(qiáng)了世界各國的聯(lián)系。計算機(jī)的發(fā)展逐漸全民化,成為辦公室工作、家庭休閑、商務(wù)辦公等必不可少的工具,在人們生活中的地位日益突出。同時,計算機(jī)網(wǎng)絡(luò)的發(fā)展也給信息安全帶來了很大挑戰(zhàn),必須加強(qiáng)對計算機(jī)漏洞的檢測,保證計算機(jī)運(yùn)行的安全。
1 計算機(jī)軟件安全漏洞類型
在計算機(jī)軟件開發(fā)調(diào)試過程中,由于設(shè)計人員以及相關(guān)的性能測試未全面考慮存在的問題或者操作失誤,導(dǎo)致出現(xiàn)軟件安全漏洞。計算機(jī)安全漏洞中存在安全性漏洞,相較于功能性漏洞來講,安全性漏洞在面對外來病毒等侵襲和黑客攻擊時容易出現(xiàn)操作失誤,導(dǎo)致軟件運(yùn)行出現(xiàn)問題。功能性漏洞則出現(xiàn)在計算機(jī)軟件日常運(yùn)行過程中,是軟件功能設(shè)置不全面等導(dǎo)致的,容易出現(xiàn)運(yùn)行錯誤,破壞軟件運(yùn)行的正常流程。計算機(jī)軟件主要存在五大安全漏洞,必須采取合理的安全技術(shù)檢測技術(shù),才能有效預(yù)防解決。
2 計算機(jī)軟件安全漏洞特點
安全漏洞特點可按照人為或非人為,內(nèi)部與外界進(jìn)行劃分。人為因素方面,在軟件的開發(fā)調(diào)試等過程中,設(shè)計人員由于疏忽,并沒有及時改正軟件調(diào)試中出現(xiàn)的問題或者在編程過程中出現(xiàn)邏輯錯誤現(xiàn)象,容易導(dǎo)致安全漏洞的出現(xiàn)。
安全漏洞并不是一次性解決的,而是長期存在的過程。在計算機(jī)軟件存在安全漏洞的情況下,病毒、黑客等就會隨之潛入到計算機(jī)系統(tǒng)中,容易危害計算機(jī)安全。
在發(fā)現(xiàn)軟件漏洞后,修復(fù)時仍存在諸多問題,一不小心仍會出現(xiàn)新的安全漏洞。由于軟件的復(fù)雜性等特點,只能通過不斷地優(yōu)化程序進(jìn)行安全漏洞檢測修復(fù)工作,其中程序優(yōu)化時極易導(dǎo)致新安全漏洞的產(chǎn)生。因而安全漏洞問題長期存在。
邏輯和運(yùn)算錯誤也是安全漏洞的重要特點。計算機(jī)軟件調(diào)試運(yùn)行需要大量的數(shù)據(jù)來支持,在此過程中,比數(shù)值計算中常見邏輯錯誤,主要是由于數(shù)據(jù)的長度等與所處的模塊并不合適,除中等模塊外,其他模塊常見類似邏輯錯誤。
計算機(jī)系統(tǒng)的不同,對軟件的安全漏洞的防護(hù)作用也不同,軟件設(shè)備等的不同也容易產(chǎn)生安全漏洞的分化。
3 計算機(jī)軟件安全漏洞檢測技術(shù)
3.1 靜態(tài)檢測技術(shù)
通過對計算機(jī)程序中的關(guān)鍵詞進(jìn)行分析,可對計算機(jī)程序的運(yùn)行行為等進(jìn)行解析,進(jìn)而找到計算機(jī)軟件中的安全漏洞。第一,語法檢測是其中常見的檢測技術(shù)之一。其操作的主要程序是將程序進(jìn)行分段,縮小計算分析范圍后,選擇較為可能出現(xiàn)安全漏洞的碎片進(jìn)行分析。由于其檢測是片段,因而相對檢測速度較快,可在短時間內(nèi),在不影響目標(biāo)程序的情況下完成檢測。同時,由于其檢測后發(fā)現(xiàn)的問題點較多,需要利用人工對結(jié)果進(jìn)行排查,耗費(fèi)的人力資源較多。第二,程序評注主要在程序源代碼中進(jìn)行注釋標(biāo)注,因而對兼容方面的影響不大,也不會帶來新語言增加新漏洞問題。通過對程序語言進(jìn)行備注,可促進(jìn)安全漏洞問題的及時發(fā)現(xiàn)察覺。第三,類型推斷技術(shù)在使用過程中為數(shù)據(jù)添加了新的類型修飾,可以通過對相關(guān)程序變量的變化來推導(dǎo)其訪問是否正常,進(jìn)而對軟件是否存在安全漏洞進(jìn)行檢測。由于其相對較為復(fù)雜,多應(yīng)用于Bind等相對較大的程序。第四,元編譯技術(shù)適用于小問題檢測,主要借助編譯器進(jìn)行,對計算機(jī)語言特性擴(kuò)展方面并沒有相關(guān)操作。第五,變異語言技術(shù)在應(yīng)用時選用了C+、C++等安全技術(shù),對計算機(jī)操作中相對不安全的部分采取了限制以及禁止使用等程序設(shè)置。由于C語言在計算機(jī)語言中相對高級,存在危險術(shù)語以及危險語義,因而在具體操作時對計算機(jī)系統(tǒng)的兼容性等有較大影響。第六,約束解算器技術(shù)。與語言檢測技術(shù)相類似的一點是需要人工核算分析,不過約束解算器技術(shù)人工核算的原因是誤報情況較多。但就其對源程序無影響而言,在軟件安全漏洞檢測中仍有相對較為合適的小部分應(yīng)用。
3.2 動態(tài)檢測技術(shù)
與靜態(tài)檢測技術(shù)相比,動態(tài)檢測技術(shù)在使用時對目標(biāo)程序源碼以及二進(jìn)制代碼的修改并不涉及,只需對軟件運(yùn)行環(huán)境進(jìn)行適當(dāng)分析修改即可進(jìn)行漏洞檢測。
主要使用的是非執(zhí)行棧技術(shù)和非執(zhí)行堆與數(shù)據(jù)技術(shù)。前者修改時需要在操作系統(tǒng)層,主要將可以被黑客惡意篡改供給的棧轉(zhuǎn)化為無法執(zhí)行代碼形式,使得當(dāng)攻擊人員通過更改增添棧上的代碼時并不能出現(xiàn)其預(yù)期效果,以降低遭受侵略的可能性。
后者主要通過破壞的方式進(jìn)行惡意代碼的查詢檢測,對惡意攻擊代碼進(jìn)行有效的阻止。但對于函數(shù)參數(shù)以及函數(shù)參數(shù)被黑客篡改的問題,后者并不能有效應(yīng)對。
此外,動態(tài)檢測技術(shù)還包括安全共享庫技術(shù)、內(nèi)存映射技術(shù)、沙箱安全漏洞檢測技術(shù)、程序解釋技術(shù)等,都在動態(tài)檢測技術(shù)方面做出巨大貢獻(xiàn)。
3.3 源碼改編技術(shù)
相較于前兩類技術(shù),源碼改編技術(shù)對計算機(jī)的改編以及追蹤等方面更為強(qiáng)大,通過確認(rèn)庫函數(shù)對惡意緩沖區(qū)溢出等問題及時阻止。由于其只認(rèn)準(zhǔn)STOBO代碼,操作的要求較高。
4 安全漏洞檢測技術(shù)應(yīng)用
4.1 預(yù)防競爭漏洞
得知安全漏洞除了軟件運(yùn)行中的功能漏洞等因素外,還不可避免的摻雜著人為因素,主要是為獲取有效價值信息而人為操作形成。在原子化的代碼上進(jìn)行操作鎖定可有效防止競爭條件漏洞。在預(yù)防TOCTOU問題時,應(yīng)盡量選擇描述字柄和文件字詞句來代替直接調(diào)用文件名所在系統(tǒng),即避免調(diào)用ACCESS一類的函數(shù)。使得用戶不需要訪問檢查文件即可應(yīng)對計算機(jī)攻擊。
4.2 預(yù)防隨機(jī)漏洞
部分安全漏洞并非程序錯誤自然出現(xiàn),而是偶發(fā)的結(jié)果,因而技術(shù)人員等并不能及時分析解決預(yù)防,在此時可引入隨機(jī)數(shù)發(fā)生器協(xié)助操作。提供可靠數(shù)據(jù)流給用戶,使計算機(jī)在運(yùn)算時在算法固定的情況下,通過電腦中的信息流來阻礙黑客構(gòu)造格式串,維護(hù)軟件安全。
4.3 預(yù)防格式化漏洞
攻擊者通過構(gòu)造格式串對計算機(jī)進(jìn)行攻擊。通過應(yīng)用語言檢測技術(shù),常量計算機(jī)格式時選擇應(yīng)用代碼可有效阻擋削弱惡意攻擊,完成計算機(jī)軟件安全漏洞檢測工作。通過檢測計算機(jī)的參數(shù),對存在問題的字符等進(jìn)一步深入檢測,促進(jìn)格式化安全漏洞的及時修復(fù)。
格式化安全漏洞相較于其他漏洞,其對計算機(jī)造成的危害巨大,丟失的文件不能及時完整保存,嚴(yán)重危害計算機(jī)安全以及計算機(jī)相關(guān)信息,造成的損失巨大。必須加強(qiáng)技術(shù)人員對格式化漏洞的重視。
5 結(jié)論
隨互聯(lián)網(wǎng)行業(yè)的高速發(fā)展,計算機(jī)軟件的安全高效運(yùn)行對企業(yè)來說顯得至關(guān)重要,必須通過靜態(tài)檢測技術(shù)、動態(tài)檢測技術(shù)以及源碼改編技術(shù)對計算機(jī)軟件常見的五大安全漏洞等及時預(yù)防、解決,以此實現(xiàn)維護(hù)用戶計算機(jī)信息安全,打造安全網(wǎng)絡(luò)環(huán)境等目的,有效幫助計算機(jī)用戶使用計算機(jī)。
參考文獻(xiàn)
[1]高妍.計算機(jī)軟件安全漏洞檢測技術(shù)與應(yīng)用[J].計算機(jī)光盤軟件與應(yīng)用,2014(4):172-173.
[2]許躍穎.計算機(jī)軟件中安全漏洞檢測技術(shù)及其應(yīng)用[J].電子制作,2016(2):32.
[3]裘鍇,陶國武.計算機(jī)軟件中安全漏洞檢測技術(shù)應(yīng)用研究[J].通訊世界,2016(18):70-71.endprint