引論:我們?yōu)槟砹?篇軟件檢測論文范文,供您借鑒以豐富您的創(chuàng)作。它們是您寫作時的寶貴資源,期望它們能夠激發(fā)您的創(chuàng)作靈感,讓您的文章更具深度。
軟件檢測論文:安全檢測軟件工程論文
1計算機(jī)軟件安全檢測技術(shù)的方法
1.1計算機(jī)軟件安全檢測的流程
通常計算機(jī)軟件安全檢測的過程中只要有以下幾個流程,首先是為了徹底的對計算機(jī)軟件系統(tǒng)當(dāng)中可能存在的缺陷予以充分的檢測和了解,要對軟件設(shè)計過程中最小的模塊進(jìn)行進(jìn)行的測試,之后是要嚴(yán)格按照設(shè)計的標(biāo)準(zhǔn)和要求對組裝的系統(tǒng)進(jìn)行檢測,此外還要對與之相關(guān)的體系機(jī)構(gòu)進(jìn)行的檢查。其次就是要在做好了上述各項功能工作之后,還要對軟件自身的有效性和功能性進(jìn)行詳細(xì)科學(xué)的檢測,一點(diǎn)就是要對整個系統(tǒng)進(jìn)行的檢測,測試整個軟件在各種環(huán)境下運(yùn)行的安全性和性。
1.2當(dāng)前計算機(jī)軟件安全檢測的只要方法
首先是形式化的檢測。形式化的安全監(jiān)測實(shí)際上就是根據(jù)具體的要求來建立軟件應(yīng)有的數(shù)學(xué)模型,之后通過對應(yīng)的標(biāo)準(zhǔn)化語言對其進(jìn)行格式化的說明。形式化的安全監(jiān)測通常有兩種檢測方法,一種是模型檢測,一種是定量檢測。其次就是在模型基礎(chǔ)上的靜態(tài)安全檢測。模型安全監(jiān)測一方面是通過軟件行為和結(jié)構(gòu)構(gòu)建的一種方式,這樣也就形成了一個可供測試的模型,這種模型在運(yùn)行的過程中一方面可以在計算機(jī)上實(shí)現(xiàn)讀取,在工作的過程中,比較常用的模型安全檢測方法有兩種,一種是有限狀態(tài)機(jī)檢測,一種是馬爾科夫鏈檢測、再次就是語法檢測。語法檢測實(shí)際上就是技術(shù)人員通過技術(shù)措施對軟件在不同的輸入條件下所產(chǎn)生的反應(yīng)是否相同。四是基于故障注入的軟件安全檢測。故障注入的安全檢測是應(yīng)用故障分析樹與故障數(shù)的最小割集來檢測的。五是模糊測試和基于屬性的測試。基于白盒的模糊測試較傳統(tǒng)的模糊測試技術(shù)有很大進(jìn)步,白盒模糊檢測方法有效地結(jié)合了傳統(tǒng)的模糊測試技術(shù)和動態(tài)測試用例檢測技術(shù)的優(yōu)點(diǎn)。六是混合檢測技術(shù)。能有效地改善靜態(tài)技術(shù)和動態(tài)技術(shù)檢測存在的一些缺陷,從而更好地對計算機(jī)軟件的安全進(jìn)行檢測。七是基于Web服務(wù)的檢測技術(shù)。它是一種基于識別內(nèi)容的分布式Web服務(wù)器技術(shù)。具有語言中立、互動操作性強(qiáng)等優(yōu)點(diǎn),能夠?qū)?fù)雜的安全檢測分解為子安全類型進(jìn)行處理,以使其可以更有效地應(yīng)對復(fù)雜的安全檢測的需要。
2軟件維護(hù)的主要類型
2.1改正性維護(hù)
改正性維護(hù)是指改正在系統(tǒng)開發(fā)階段已發(fā)生而系統(tǒng)測試階段尚未發(fā)現(xiàn)的錯誤。這方面的維護(hù)工作量要占整個維護(hù)工作量的17%~21%。所發(fā)現(xiàn)的錯誤有的不太重要,不影響系統(tǒng)的正常運(yùn)行,其維護(hù)工作可隨時進(jìn)行:而有的錯誤非常重要,甚至影響整個系統(tǒng)的正常運(yùn)行,其維護(hù)工作必須制定計劃,進(jìn)行修改,并且要進(jìn)行復(fù)查和控制。
2.2適應(yīng)性維護(hù)
適應(yīng)性維護(hù)是指使用軟件適應(yīng)信息技術(shù)變化和管理需求變化而進(jìn)行的修改。這方面的維護(hù)工作量占整個維護(hù)工作量的18%~25%。由于計算機(jī)硬件價格的不斷下降,各類系統(tǒng)軟件屢出不窮,人們常常為改善系統(tǒng)硬件環(huán)境和運(yùn)行環(huán)境而產(chǎn)生系統(tǒng)更新?lián)Q代的需求;企業(yè)的外部市場環(huán)境和管理需求的不斷變化也使得各級管理人員不斷提出新的信息需求。這些因素都將導(dǎo)致適應(yīng)性維護(hù)工作的產(chǎn)生。進(jìn)行這方面的維護(hù)工作也要像系統(tǒng)開發(fā)一樣,有計劃、有步驟地進(jìn)行。
3提高軟件的可維護(hù)性方法
3.1建立明確的軟件質(zhì)量目標(biāo)
如果要一個可維護(hù)性的程序滿足可理解的、的、可測試的、可修改的、可移植的、效率高的和可使用的7個全部的要求,要付出很大的代價,甚至是不顯示的。但是可理解性和可測試性以及可理解性和可修改性是相互促進(jìn)的,而效率和可移植性以及效率和可修改性是相互抵觸的。因此,要明確軟件所追求的質(zhì)量目標(biāo)。
3.2使用先進(jìn)的軟件開發(fā)技術(shù)和工具
利用先進(jìn)的軟件開發(fā)技術(shù)能夠大大提高軟件質(zhì)量和減少軟件費(fèi)用,并且穩(wěn)定性好,容易修改、容易理解,易于測試和調(diào)試,因此可維護(hù)性好。
3.3建立明確的質(zhì)量保障
最有效的方法就是質(zhì)量保障檢查,在軟件開發(fā)的各個階段以及軟件維護(hù)中得到了廣泛的應(yīng)用。
4結(jié)束語
從文章的敘述當(dāng)中我們知道,軟件維護(hù)工作在運(yùn)行的過程中實(shí)際上是存在著非常強(qiáng)的綜合性和復(fù)雜性的,當(dāng)前我國的軟件規(guī)模不斷增大,同時復(fù)雜程度也在不斷的升高,在這樣的情況下也就使得軟件的維護(hù)成本大大提升,軟件維護(hù)的難度也有了非常顯著的增加,所以,軟件的可維護(hù)性直接影響到了其維護(hù)過程中的資金投入和整個軟件的生命周期。
作者:高林 單位:同濟(jì)大學(xué)
軟件檢測論文:安全漏洞檢測計算機(jī)軟件論文
隨著科技的發(fā)展,計算機(jī)在社會中的地位越來越高,于此同時源代碼數(shù)量也不斷增多,由于這些漏洞的存在,很多黑客就利用這些代碼中的漏洞進(jìn)入到計算機(jī)軟件中實(shí)施破壞。因此,計算機(jī)在給人們帶來方便的同時也為信息系統(tǒng)的安全埋下了一個定時炸彈,安全問題已經(jīng)成為系統(tǒng)安全最主要的問題。隨著計算機(jī)更新速度加快,出現(xiàn)的漏洞越來越高,由于利益的驅(qū)使,黑客對其的攻擊形式多樣化。因此,在不斷提高漏洞檢測技術(shù)的基礎(chǔ)上,需要尋找彌補(bǔ)漏洞的有效方法,只有這樣才能保障計算機(jī)安全運(yùn)行。
1計算機(jī)軟件存在的安全漏洞
隨著我國經(jīng)濟(jì)的不斷發(fā)展,科技技術(shù)有了很大進(jìn)步,互聯(lián)網(wǎng)中的信息系統(tǒng)使用范圍不斷擴(kuò)大,在各個領(lǐng)域發(fā)揮著不可取代的作用。由于計算機(jī)軟件中有很多的安全漏洞,因此很大程度上信息系統(tǒng)就產(chǎn)生了一定的安全隱患。軟件中的漏洞會對信息系統(tǒng)造成非常大的威脅,這就需要對計算機(jī)軟件中的安全漏洞進(jìn)行必要檢測,安全漏洞檢測是現(xiàn)代信息系統(tǒng)安全運(yùn)行中非常重要的課題。計算機(jī)軟件漏洞是指計算機(jī)系統(tǒng)在編程時出現(xiàn)的錯誤導(dǎo)致的缺點(diǎn),這些缺點(diǎn)非常容易使計算機(jī)軟件產(chǎn)生一些安全隱患和計算機(jī)自身的危險,計算機(jī)系統(tǒng)對有惡意的網(wǎng)絡(luò)信息有非常高的敏感性,極容易出現(xiàn)對系統(tǒng)攻擊行為。之所以出現(xiàn)這種情況,主要原因是在軟件開發(fā)和研制過程出現(xiàn)的一些問題。漏洞主要有兩種:安全性漏洞和功能性漏洞。安全性漏洞指的是在大多情況下漏洞不會影響計算機(jī)的正常運(yùn)行,如果漏洞被黑客發(fā)現(xiàn),軟件運(yùn)行時就會出現(xiàn)錯誤,嚴(yán)重者計算機(jī)會執(zhí)行錯誤的命令,有很大的危害性。功能性的漏洞是指漏洞能夠影響計算機(jī)正常運(yùn)行,比如運(yùn)行結(jié)果錯誤等等。漏洞特性主要表現(xiàn)在四個方面:1系統(tǒng)編程時由于編制人員的疏忽很容易出現(xiàn)邏輯性的錯誤,這種由于疏忽出現(xiàn)的錯誤很多是疏忽大意所致。2計算機(jī)在運(yùn)行任務(wù)時很容易產(chǎn)生邏輯性錯誤,不同大小之間的程序模塊相比可以看出邏輯性錯誤的發(fā)生率很高。3漏洞和軟件環(huán)境有很大關(guān)系。4系統(tǒng)漏洞和時間也存在一定的聯(lián)系,隨著時間的延長,舊漏洞被修復(fù)但是也會產(chǎn)生新的安全漏洞。
2計算機(jī)軟件安全漏洞的各項檢測技術(shù)及應(yīng)用
2.1安全靜態(tài)檢測
計算機(jī)軟件安全靜態(tài)檢測,注重的是系統(tǒng)內(nèi)部特性,靜態(tài)檢測和漏洞兩者之間有共同的特點(diǎn),這些特點(diǎn)之間也有很大的關(guān)聯(lián)。目前漏洞的劃分方法主要有安全性漏洞和內(nèi)存性的漏洞。安全性漏洞對數(shù)據(jù)流的誤差比較注重,很大程度上由于錯誤的內(nèi)存形態(tài)而形成的;內(nèi)存性漏洞對數(shù)據(jù)的性和類別有很大的注重性。因此,這種漏洞主要的檢測技術(shù)方法就是在內(nèi)部存儲空間進(jìn)行建模。因為靜態(tài)檢測方法之間有很大的不同之處,漏洞的處理也有很大的不同之處。所以,一些監(jiān)測技術(shù)只能對漏洞進(jìn)行必要的檢測,但是一些方法在此基礎(chǔ)上還能夠?qū)β┒催M(jìn)行很好的處理。安全靜態(tài)檢測方法主要是對程序的代碼進(jìn)行掃描,對其中的關(guān)鍵句進(jìn)行詳細(xì)分析,然后根據(jù)設(shè)置的漏洞特性和標(biāo)準(zhǔn)對系統(tǒng)進(jìn)行檢測。分析關(guān)鍵語法是最早的靜態(tài)分析法,它在分析時只對語法進(jìn)行檢查,把系統(tǒng)中的程序分為不同段落語句和數(shù)據(jù)庫相互對比,如果發(fā)現(xiàn)有疑問,對其進(jìn)行仔細(xì)的判斷,從而進(jìn)行檢測;另一種檢測方法就是按照標(biāo)準(zhǔn)進(jìn)行檢測。由于系統(tǒng)自身就是編程的標(biāo)準(zhǔn),根據(jù)標(biāo)準(zhǔn)對計算機(jī)程序進(jìn)行描述,可以通過語法對其進(jìn)行描述,對系統(tǒng)進(jìn)行整體檢測。
2.2安全動態(tài)檢測
2.2.1內(nèi)存映射很多攻擊者在對軟件進(jìn)行破壞時為了達(dá)到目的,會經(jīng)常用到“NULL”結(jié)尾的字符串進(jìn)行內(nèi)存覆蓋。采用代碼頁映射技術(shù),攻擊者能夠利用“NULL”結(jié)尾字符串進(jìn)行內(nèi)存覆蓋。
2.2.2非執(zhí)行棧目前,出現(xiàn)了一些棧攻擊軟件的問題,主要原因是系統(tǒng)中棧的執(zhí)行能力,由于棧內(nèi)包含了所有數(shù)組變量,所以,攻擊者通過向棧中書寫一些惡意代碼,再進(jìn)行代碼執(zhí)行。預(yù)防這種攻擊方法最為有效的方法是打破棧的執(zhí)行力,使代碼不能夠進(jìn)行執(zhí)行任務(wù)。2.2.3安全共享庫有些計算機(jī)中的安全漏洞主要是使用了不安全的共享庫所致。安全共享庫很大程度上可以預(yù)防惡意攻擊行為。安全共享庫有攔截和檢測功能,主要是指使用動態(tài)鏈接方式進(jìn)行程序運(yùn)行,把不安全函數(shù)進(jìn)行攔截和檢測,較大程度上保護(hù)軟件的安全。
2.3計算機(jī)軟件安全漏洞檢測技術(shù)的應(yīng)用
安全漏洞檢測技術(shù)直接關(guān)系到計算機(jī)的安全應(yīng)用,其中在計算機(jī)軟件安全漏洞檢測中,其各項技術(shù)的應(yīng)用主要集中在:及時,防止競爭條件安全漏洞應(yīng)用。這種漏洞的應(yīng)用一般是采用原子化處理競爭編碼,這種編碼有鎖定功能,原子化操作進(jìn)入鎖定狀態(tài),詳細(xì)的描述使用文件,很大程度上預(yù)防由于使用文件的變動使系統(tǒng)產(chǎn)生漏洞。第二,緩沖區(qū)安全漏洞檢測技術(shù)應(yīng)用。緩沖區(qū)安全漏洞檢測主要是對軟件程序中的一些疑問函數(shù)進(jìn)行詳細(xì)檢測來預(yù)防緩沖區(qū)安全漏洞。第三,隨機(jī)漏洞預(yù)防應(yīng)用。對于隨機(jī)漏洞的檢測和預(yù)防需要用到性能良好隨機(jī)發(fā)生設(shè)備,這種設(shè)備能夠的對隨機(jī)漏洞進(jìn)行預(yù)防,其中最主要的原因就是該設(shè)備有密碼算法。第四,格式化字符串漏洞檢測技術(shù)應(yīng)用。這種檢測技術(shù)的應(yīng)用一般是在代碼中使用格式常量。
3結(jié)語
有上文可以看出,隨著計算機(jī)的發(fā)展,計算機(jī)軟件漏洞檢測技術(shù)能夠很好的對計算機(jī)中的漏洞和病毒進(jìn)行安全檢測,已經(jīng)成為了現(xiàn)在計算機(jī)檢測最實(shí)用的方法。軟件的安全主要體現(xiàn)在編程和清楚漏洞方面,所以,需要對計算機(jī)軟件安全漏洞檢測技術(shù)不斷提高,使網(wǎng)絡(luò)信息系統(tǒng)更加安全的運(yùn)行。
作者:汪剛 單位:南京工業(yè)職業(yè)技術(shù)學(xué)院
軟件檢測論文:某智能絕緣電阻檢測儀的軟件設(shè)計
某智能絕緣電阻檢測儀的軟件設(shè)計
引言
為了確保各種儀器、設(shè)備的正常工作,需要定期對其連接電纜的絕緣電阻和導(dǎo)通電阻進(jìn)行測量。傳統(tǒng)的方法是利用搖表和萬用表分別對電纜進(jìn)行絕緣電阻和導(dǎo)通電阻的測量,這種方法雖然簡單,但是十分耗時并且容易出錯。為此,在本文中,作者設(shè)計了一種基于單片機(jī)的絕緣電阻檢測儀,它既可測量電纜芯線之間的絕緣電阻,同時也可測量各芯線本身的導(dǎo)通電阻(也稱接地電阻)。該檢測儀可以大大提高連接電纜的絕緣電阻和導(dǎo)通電阻測量的速度、精度與測量儀器的功能集成度。
1 硬件設(shè)計簡介
圖1 電壓比較法原理圖
該檢測儀硬件設(shè)計采用電壓比較法,原理如圖1所示,其基本原理是這樣的:基于歐姆定律而來的,通過測量兩并聯(lián)回路中兩電阻的電壓,根據(jù)并聯(lián)回路兩端電壓相等就可推出絕緣電阻的測試公式。所示電路中,電阻r1、r2都是已知定值電阻,r3為確定的可變電阻,rx為電纜芯線間絕緣電阻值或電纜的導(dǎo)通電阻值,r2兩端的電壓u1可以求出,為u1=vcc·r2(r1+r2),r3兩端電壓為u2,通過測量u1-u2即可求出u2的值,再根據(jù)公式u2=vcc·r3(r3+rx),即可求出rx的值:rx=■-r3。
2 系統(tǒng)的軟件設(shè)計
系統(tǒng)的軟件部分利用c++語言進(jìn)行編寫,檢測儀系統(tǒng)進(jìn)行初始化后,各模塊進(jìn)行清零,電纜通過繼電器將全部芯線選通進(jìn)行接地放電處理,以保障儀器的安全使用,然后用戶需要確定測量模式,即絕緣電阻測量模式或?qū)娮铚y量模式(一般來說,若二者都需測量,可先測量導(dǎo)通電阻值,然后再測量絕緣電阻值),然后操作者需要確定電纜的選擇模式,是通過鍵盤手動輸入還是利用主/副繼電器矩陣自動選擇所有待測芯線。若選擇手動輸入,則需要輸入待測芯線的號數(shù),輸入后系統(tǒng)首先判斷其是否為有效芯線,若有效則對電路加入測試電壓;另外,當(dāng)進(jìn)行絕緣電阻測量時,由于電壓源有四個檔位(100v、250v、500v和1000v),如果初始電壓過低(初始電壓設(shè)為100v),則信號反饋到單片機(jī)后,單片機(jī)會發(fā)出指令經(jīng)量程自動轉(zhuǎn)換電路將高電壓切換到250v,若電壓仍然偏低,則通過量程自動轉(zhuǎn)換電路繼論文聯(lián)盟//續(xù)升高電壓;系統(tǒng)會對每一個測量點(diǎn)進(jìn)行測試并回傳記錄測試數(shù)據(jù),直至所有待測量點(diǎn)測試結(jié)束;當(dāng)進(jìn)行導(dǎo)通電阻測量時,因為測試電壓為確定的+12v,不需要量程轉(zhuǎn)換電路,可直接進(jìn)行測量。測量結(jié)束后,系統(tǒng)會把測得的數(shù)據(jù)在液晶顯示屏上顯示出來,然后詢問對數(shù)據(jù)的處理(包括存入上位機(jī)中的數(shù)據(jù)庫或?qū)⒔Y(jié)果打印);,完成所有的任務(wù)后檢測儀就可以待機(jī)或關(guān)機(jī)。
3 測量速度的提高及算法實(shí)現(xiàn)
圖2 快速算法的各級圖
如果電纜內(nèi)部芯線較多,如有100芯,利用檢測儀檢測時,時間會比較長。為此,作者設(shè)計了一種絕緣電阻的快速測量算法。由于電纜的絕緣電阻反映了電纜內(nèi)部芯線或是芯線與大地之間的絕緣程度,所以,假如4條芯線兩兩之間相互絕緣,將4條芯線分為兩組,每組有兩條芯線,將兩條芯線的一端連接到一起,則兩組芯線之間仍然是絕緣良好的;反之,如果4條芯線兩兩之間并不是相互絕緣的,也就是說其中至少有兩條芯線之間絕緣程度不高,則按上述方法分組測量后,兩組芯線之間也是絕緣程度不高的。這就是作者設(shè)計的絕緣電阻快速測量算法依據(jù)的基本原理。
該算法的具體思想是:當(dāng)電纜內(nèi)部芯線數(shù)量較多時,可以將芯線逐級分為兩組,基于主/副繼電器矩陣的設(shè)計,組內(nèi)的芯線通過閉合相應(yīng)的繼電器連接在一起,又由于每條芯線的兩端分別連接有一個主繼電器和一個副繼電器,通過單片機(jī)控制使各級分成的兩組芯線分別位于主/副兩個繼電器矩陣中,從而可以直接接入絕緣電阻測量回路進(jìn)行測量;分組時要盡量使分成的兩組芯線數(shù)量相同或相近,若組內(nèi)的芯數(shù)n為偶數(shù),則分成的兩組芯線數(shù)量相同,分別為n/2,若組內(nèi)的芯數(shù)為奇數(shù),則分成的兩組中的芯線個數(shù)分別為(n-1)2與(n+1)2;假設(shè)及時級由a、b兩組芯線組成,a組在下一級分為a與b兩組,b組在下一級分為c和d兩組,依此類推;這樣從及時級開始逐級測量,如果及時級測試正常,則表明a組內(nèi)的各條芯線與b組內(nèi)的各條芯線之間絕緣程度都是正常的,在下一級的測量中無需再測量a、b兩組之間的任意兩條芯線的絕緣電阻,只需要測量a組和b組內(nèi)的芯線之間的絕緣電阻,也就是只需測量a組與b組,c組和d組之間的絕緣電阻,以此來判斷兩組內(nèi)的芯線之間的絕緣電阻是否正常,依此方法進(jìn)行下去即可;反之,如果及時級測量顯示a、b兩組芯線之間的絕緣電阻值是不正常的,則表明a、b兩組芯線之間一定存在某兩條芯線之間絕緣不好,組內(nèi)的芯線之間絕緣程度不能夠確定,下一級的測量就變?yōu)閮山M內(nèi)部芯線之間的2次測量a與b,c和d和兩組之間的4次測量a與c,a與d,b與c,b與d,共6次,依此方法進(jìn)行,直至測量到兩條故障芯線之間的絕緣電阻即可結(jié)束。
這種測量算法能夠大大減少絕緣電阻測量的時間,提高電纜測量的效率,這在一些時間緊張的情況下是相當(dāng)有利的,在其它緊急狀態(tài)下也可以利用此測量方法;當(dāng)然在平時的操作中如果需要測量各條芯線或芯線與大地之間的絕緣電阻值,還是應(yīng)該利用一般的主/副繼電器矩陣的方法一一進(jìn)行測量。要注意這種快速測量算法只是針對于絕緣電阻而言,對于導(dǎo)通電阻的測量并不適用。
4 結(jié)束語
本文中,作者設(shè)計了一種絕緣電阻測試儀,它能測量電纜的絕緣電阻與導(dǎo)通電阻,文中簡要介紹了測試儀的硬件設(shè)計原理,詳細(xì)介紹了系統(tǒng)的測試流程,并設(shè)計了一種針對絕緣電阻的快速測量算法,從而大大提高了絕緣電阻的測試速度,并在實(shí)際應(yīng)用中取得了很好的效果。
軟件檢測論文:計算機(jī)軟件安全檢測問題研究及檢測實(shí)現(xiàn)方法
計算機(jī)軟件安全檢測問題研究及檢測實(shí)現(xiàn)方法
1.計算機(jī)軟件安全檢測的意義
當(dāng)前,科學(xué)技術(shù)日新月異,計算機(jī)已經(jīng)成為人們生活、學(xué)習(xí)與工作中不可缺少的一部分,而且隨著計算機(jī)應(yīng)用范圍迅速地擴(kuò)大,深入到工業(yè)控制、航天航空、醫(yī)療設(shè)備、銀行金融、交通通信等各個領(lǐng)域,計算機(jī)的應(yīng)用以軟件為基礎(chǔ),軟件的開發(fā)為計算機(jī)提供了無比強(qiáng)大的功能。雖然計算機(jī)及其軟件給人們的生活與工作條件提供了極大的便利,但是軟件在應(yīng)用過程中自身會出現(xiàn)安全問題,對計算機(jī)造成潛在的風(fēng)險。特別是當(dāng)前黑客肆虐,病毒猖撅的網(wǎng)絡(luò)環(huán)境下,軟件安全出現(xiàn)問題會威脅到人們的生命、財產(chǎn)以及生存環(huán)境,因此,對計算機(jī)軟件安全進(jìn)行檢測是軟件測試的重要研究內(nèi)容,是保障其工作的性是重要領(lǐng)域計算機(jī)應(yīng)用的必不可少的條件。
2.計算機(jī)軟件安全檢測中應(yīng)注意的問題
計算機(jī)軟件的安全檢測在軟件開發(fā)中有著極其重要的地位,其目的是檢測出軟件開發(fā)中自身存在的安全功能和安全漏洞等問題,然后對其應(yīng)用程序進(jìn)行修補(bǔ),滿足用戶對軟件安全需要。計算機(jī)軟件的安全檢測是一個動態(tài)的檢測過程。在計算機(jī)軟件安全檢測中應(yīng)該注意以下三個問題。
2.1在對軟件進(jìn)行綜合分析的基礎(chǔ)上進(jìn)行檢測
每臺計算機(jī)或者計算機(jī)系統(tǒng)都有其特點(diǎn)與用戶需求,檢測人員在對計算機(jī)軟件進(jìn)行檢測時,一定要對軟件進(jìn)行綜合性分析由于研究,來選擇適宜的軟件的檢測技術(shù)方法,同時,要從用戶的需求為出發(fā)點(diǎn),從多方面的角度來制定合理的安全檢測措施。
2.2大力推廣檢測人員多元化
多元化就是任何在某種程度上相似但有所不同的人員的組合。在計算機(jī)軟件安全檢測時大力推廣檢測人員多元化能夠更好的檢測出軟件存在的安全功能和安全漏洞等問題,因此,廠商在對在計算機(jī)軟件安全檢測過程中,不但要具有專門的軟件安全分析員,還要配備計算機(jī)軟件系統(tǒng)的總體設(shè)計人員等具備專業(yè)技術(shù)人才,通過他們密切配合來提高對軟件安全進(jìn)行檢測的質(zhì)量。
2.3選擇合理的安全檢測方法
檢測人員在對計算軟件安全進(jìn)行檢測,可能只用一個簡單的方法就能解決一個系統(tǒng)中所有安全檢測問題,要通常要對計算機(jī)軟件的系統(tǒng)級、需求級以及代碼級進(jìn)行詳細(xì)的分析,檢測人員應(yīng)該依據(jù)軟件規(guī)模的范圍或者大小,認(rèn)真分析對軟件的結(jié)構(gòu)設(shè)計方,根據(jù)軟件不同用戶對軟件的不同要求來選擇合理的軟件分析技術(shù)與安全檢測方法。
3.計算機(jī)軟件安全檢測方法
現(xiàn)在的計算機(jī)軟件系統(tǒng)規(guī)模都很大,其軟件系統(tǒng)通常含有了多個子系統(tǒng),同時不同的子系統(tǒng)中包含了多個不同的模塊。在對計算機(jī)軟件安全檢測時,通常要進(jìn)行模塊測試→組裝系統(tǒng)→系統(tǒng)結(jié)構(gòu)的安全檢測→軟件功能和性能的有效測試→系統(tǒng)測試這樣一系列的流程。
3.1計算機(jī)軟件靜態(tài)檢測技術(shù)方法
計算機(jī)軟件靜態(tài)檢測技術(shù)方法就是檢測人員運(yùn)用靜態(tài)檢測技術(shù)來檢測軟件潛在的安全性能問題,其方法就是利用程序分析技術(shù)對應(yīng)用程序的二進(jìn)制代碼,或者是源代碼進(jìn)行分析,
當(dāng)前,靜態(tài)分析技術(shù)主要包括以下幾種方法:一是詞法檢測技術(shù),就是只檢測程序源代碼中有危險的c庫函數(shù)和系統(tǒng)調(diào)用;二是程序評注技術(shù),就是依據(jù)評注信息加深靜態(tài)分析查找出潛在的漏洞;三是類型推斷技術(shù),就是利用一種新型修飾來對某幾種特別的用戶輸入或指針等數(shù)據(jù)增加安全約束;四是約束解算器技術(shù),就是運(yùn)用約束對目標(biāo)程序的特定屬性建模,再用靜態(tài)分析解算約束;五是元編譯技術(shù),就是將軟件檢測作為輕量級編譯器擴(kuò)展并建模執(zhí)行,通過自動推斷檢測代碼的安全屬性;六是變異語言技術(shù),就是限制指針的算術(shù)運(yùn)算、不安全的類型轉(zhuǎn)換、goto的隨意跳轉(zhuǎn)、多點(diǎn)隨意轉(zhuǎn)變標(biāo)志、setjmp和longjmp等可能不安全的操作。靜態(tài)檢測技術(shù)方便快捷,一般能夠找軟件中絕大多數(shù)問題,但對個別問題不起作用。
3.2計算機(jī)軟件動態(tài)檢測技術(shù)方法
計算機(jī)軟件動態(tài)檢測技術(shù)方法就是通過對軟件在計算機(jī)的運(yùn)行環(huán)境下進(jìn)行分析與研究,達(dá)到來檢測出軟件安全性能問題。動態(tài)檢測方法大體上有以下六種:一是非執(zhí)行棧技術(shù),就是采取禁止棧執(zhí)行代碼能力的方法預(yù)防惡意代碼破壞寫與執(zhí)行的本文由論文聯(lián)盟//收集整理攻擊;二是非執(zhí)行堆與數(shù)據(jù)技術(shù),就是通過禁令執(zhí)行堆和數(shù)據(jù)段,讓惡意代碼失去執(zhí)行機(jī)會;三是內(nèi)存映射技術(shù),就是通過使用映射代碼頁措施,讓攻擊者難以通過null結(jié)尾的字符串跳轉(zhuǎn)到低端內(nèi)存區(qū);四是安全的共享庫技術(shù),就是依據(jù)動態(tài)鏈接技術(shù)檢測并攔截不安全函數(shù),達(dá)到阻止其調(diào)用的目的;五是沙箱技術(shù),就是通過限制一個進(jìn)程所訪問的資源來預(yù)防某些攻擊行為;六是程序解釋技術(shù),就是在程序運(yùn)行之后,通過監(jiān)視其行為并強(qiáng)制進(jìn)行安全檢查的方法。動態(tài)檢測技術(shù)的優(yōu)勢在于不需要對軟件源碼或其二進(jìn)制代碼作出修改,這樣大大提升了軟件的保密性。
3.3計算機(jī)軟件形式化安全測試技術(shù)方法
計算機(jī)軟件形式化安全測試方法建立的基礎(chǔ)是確立軟件的數(shù)學(xué)模型,軟件安全建模的主要目的是為了表示軟件中存在的安全缺陷與隱患,即軟件安全特征。通過形式規(guī)格說明語言的支持來提供形式化的規(guī)格說明。計算機(jī)軟件形式化安全測試技術(shù)在檢查中常用的形
式規(guī)格語言主要有基于模型的語言、基于行為的語言以及基于有限狀態(tài)的語言等形式規(guī)格語言。定理證明與模型檢測是形式化安全檢測主要兩種方法。
3.4計算機(jī)軟件編程語法安全測試技術(shù)方法
計算機(jī)軟件編程語法安全測試技術(shù)方法就是通過被檢測軟件的功能接口的語法,生成計算機(jī)軟件的測試輸入環(huán)節(jié),利用這種方式來檢測計算機(jī)軟件對不同類別輸入所反映的狀況。利用這種方法進(jìn)行檢測一般使檢測程序要進(jìn)行識別軟件接口的語言與定義語言的語法,以語法為前提生產(chǎn)測試用例同時執(zhí)行安全檢測。
3.5計算機(jī)基于軟件屬性安全測試技術(shù)方法
計算機(jī)基于軟件屬性安全測試技術(shù)方法建立的前提是對軟件的安全編程規(guī)則有一個的了解,然后利用系統(tǒng)程序的代碼的驗證,檢測軟件系統(tǒng)對安全編程規(guī)則是否遵守,達(dá)到對軟件進(jìn)行測試的目的。計算機(jī)基于軟件屬性安全測試技術(shù)方法能夠更好的有效分析軟件安全問題的交互性及擴(kuò)展性。
3.6計算機(jī)通過故障注入安全測試技術(shù)方法
計算機(jī)通過故障注入安全測試技術(shù)方法就是應(yīng)用故障分析樹與故障數(shù)的最小割集來生產(chǎn)檢測軟件的使用壽命。這種方法通常將軟件系統(tǒng)發(fā)生故障概率低的問題的時間當(dāng)做頂事件,然后搜覓可能造成事故發(fā)生的中間事件以及底事件,繼而對頂事件、中間事件以及底事件通過合理的邏輯門符號進(jìn)行連接,這樣就就會產(chǎn)生故障樹,達(dá)到了安全測試技術(shù)的目的。計算機(jī)通過故障注入安全測試技術(shù)方法能夠大力提升檢測的自動化程度,是目前較為充分的安全檢測方法。轉(zhuǎn)貼于論文聯(lián)盟 //
軟件檢測論文:探討計算機(jī)軟件的安全檢測技術(shù)
探討計算機(jī)軟件的安全檢測技術(shù)
現(xiàn)在,各種計算機(jī)軟件在各行各業(yè)中得到了普遍的利用,成為人們生活和工作中不可或缺的部分。由此帶來的計算機(jī)軟件安全問題也隨著它的發(fā)展越來越復(fù)雜的影響著計算機(jī)的安全,計算機(jī)軟件的安全檢測技術(shù)就顯得尤為重要。
一、計算機(jī)軟件安全檢測技術(shù)概述
計算機(jī)軟件安全檢測是計算機(jī)軟件開發(fā)過程中的一個重要環(huán)節(jié),它的目的是為了發(fā)現(xiàn)軟件所存在的故障和安全漏洞,從而及時的對計算機(jī)軟件的潛在安全問題進(jìn)行更改。當(dāng)前的計算機(jī)軟件安全檢測技術(shù)主要包括動態(tài)檢測和靜態(tài)檢測兩種方法。計算機(jī)軟件安全檢測是確定計算機(jī)軟件的安全性是否達(dá)到軟件預(yù)期設(shè)計的目標(biāo)的一個過程,一般包括功能測試、滲透測試與驗證過程三個階段。包括安全功能與安全漏洞兩個方面的檢測,軟件安全功能涉及的方面比較多,包括機(jī)密性、授權(quán)、訪問控制以及安全管理等;而計算機(jī)軟件安全漏洞檢測則是對軟件可能存在的缺陷的檢測。
二、計算機(jī)軟件安全檢測的注意事項
在進(jìn)行計算機(jī)軟件安全檢測是,要注意幾下的幾個問題:
一是要預(yù)先制定出檢測方案。首先要對計算機(jī)軟件有一個的了解,在此基礎(chǔ)上作出分析然后選擇一個合適的檢測技術(shù),設(shè)計出檢測方案;其次在檢測人員的選擇上,要進(jìn)行多元化的人員配置,安全分析人員、軟件設(shè)計人員和操作者都應(yīng)參與檢測的工作,這樣可以保障在檢測的過程中對軟件的不同性能的檢測都能得到專業(yè)技術(shù)人員的指導(dǎo)和分析,提高安全檢測的效率。
二是在進(jìn)行計算機(jī)軟件的安全檢測時,對于系統(tǒng)級、代碼級與需求級的檢測是必須的。如果軟件的規(guī)模比較大,還要對軟件的結(jié)構(gòu)的設(shè)計進(jìn)行分析。在具體的操作中要從實(shí)際工作的需要來選擇合理的分析技術(shù)。仿真環(huán)境和分析工具相結(jié)合是較為有效的計算機(jī)軟件的安全檢測技術(shù)。
三、計算機(jī)軟件安全檢測技術(shù)的方法
(一)計算機(jī)軟件安全檢測的流程
一般情況下,規(guī)模較大的本文由論文聯(lián)盟//收集整理軟件是由一定數(shù)量的子系統(tǒng)來構(gòu)成的,每個子系統(tǒng)又由若干的小模塊來構(gòu)成。計算機(jī)軟件的安全檢測一般按照以下的步驟進(jìn)行:首先是進(jìn)行模塊的測試,測試的對象是軟件設(shè)計中的最小單位,對模塊進(jìn)行測試的目的是發(fā)現(xiàn)系統(tǒng)的各個模塊中可能存在的問題。然后是對由模塊按照程序設(shè)計的要求組裝的系統(tǒng)進(jìn)行檢測,并對于其相關(guān)的體系機(jī)構(gòu)進(jìn)行檢測。其次是在前兩個檢測的基礎(chǔ)上進(jìn)行軟件的有效性檢測,有效性檢測的目的是對軟件的功能和性能進(jìn)行檢測,檢測其是否與所設(shè)計的用戶的需求相符合。進(jìn)行的是系統(tǒng)的檢測,測試軟件在整體的環(huán)境下的運(yùn)行安全情況。
(二)當(dāng)前計算機(jī)軟件安全檢測的主要方法
一是形式化的安全檢測。形式化的安全檢測是確立軟件的數(shù)學(xué)模型,在通過形式規(guī)格的語言的支持提供形式化的規(guī)格說明。比較常見的形式規(guī)格語言有基于有限狀態(tài)的語言、基于模型的語言以及基于行為的語言。形式化的安全檢測有模型檢測和定量證明兩種形式的安全檢測方法。
二是基于模型的靜態(tài)安全檢測。模型安全檢測,既是通過軟件行為與結(jié)構(gòu)建模的方式,形成一個測試的模型,此模型同時可滿足計算機(jī)對其的可讀性。模型安全檢測的方式與上述的形式安全檢測的方式相比較而言,并不側(cè)重于讓檢測的軟件系統(tǒng)與規(guī)格說明在所有的情況下都保持一致,而是從模型生出一組試用例,使用這組試用例來測試軟件系統(tǒng),來說明軟件的安全性。比較常用的模型安全檢測方法包括有線狀態(tài)機(jī)檢測和馬爾科夫鏈的檢測。
三是語法檢測。語法檢測技術(shù)是根據(jù)語法對被檢測軟件的功能接口的語法生成軟件進(jìn)行輸入的測試,測試軟件在不同的輸入條件下產(chǎn)生的不同的反應(yīng)。一般語法檢測適用于檢測源程序中存在安全隱患的c語言函數(shù)和系統(tǒng)的調(diào)用,并通過軟件接口語言的識別、定義語言的語法以及以語法為基礎(chǔ)進(jìn)行生產(chǎn)測試用例,同時進(jìn)行安全檢測。
四是基于故障注入的軟件安全檢測。故障注入的安全檢測是應(yīng)用故障分析樹與故障數(shù)的最小割集來檢測的。故障樹分析法通過將系統(tǒng)最不該發(fā)生的事件做為頂事件,再以此尋找導(dǎo)致事故發(fā)生的中間事件與低事件,再通過邏輯門符號將頂事件、中間事件和低事件之間的關(guān)系進(jìn)行連接,形成故障樹。故障樹檢測擁有較高的檢測自動化程度,是比較合理的計算機(jī)軟件安全檢測的方法。
五是模糊測試和基于屬性的測試。模糊測試一般是基于白盒的模糊測試,較傳統(tǒng)的模糊測試技術(shù)有所進(jìn)步,白盒模糊檢測方法有效的結(jié)合了傳統(tǒng)的模糊測試技術(shù)和動態(tài)測試用例檢測技術(shù)的優(yōu)點(diǎn)。基于屬性的測試方法首先要確定計算機(jī)軟件的安全編程規(guī)則,以此來作為安全屬性來驗證軟件系統(tǒng)程序的代碼是否遵守了這些規(guī)則。基于屬性的安全檢測法的優(yōu)點(diǎn)是能夠較好的分析軟件安全漏洞的擴(kuò)展性及安全性等。
六是混合檢測技術(shù)。混合檢測技術(shù)是指將計算機(jī)的靜態(tài)安全檢測技術(shù)和動態(tài)安全檢測技術(shù)相結(jié)合的一種檢測技術(shù),它能有效的改善靜態(tài)技術(shù)和動態(tài)技術(shù)檢測存在的一些缺陷,從而更好的對計算機(jī)軟件的安全進(jìn)行檢測。當(dāng)前主要的檢測技術(shù)包括二進(jìn)制代碼改編技術(shù)、測試庫技術(shù)、基于規(guī)范的檢測技術(shù)、基于異常的檢測技術(shù)等。混合檢測技術(shù)在一定程度上提高了軟件安全檢測的性,是較合理的檢測方式。
七是基于web服務(wù)的檢測技術(shù)。近年來,隨著web服務(wù)技術(shù)的發(fā)展和廣泛的應(yīng)用,基于此的分布式軟件安全檢測技術(shù)也隨之產(chǎn)生和發(fā)展,它是一種基于識別內(nèi)容的分布式web服務(wù)器技術(shù)。具有語言中立、互動操作性強(qiáng)等優(yōu)點(diǎn),能夠?qū)?fù)雜的安全檢測分解為子安全類型進(jìn)行處理,以使其可以更有效的應(yīng)對復(fù)雜的安全檢測的需要。分布式安全檢測還采用了故障注入機(jī)制來生成錯誤的soap消息,來用于異常測試。此種檢測方法在實(shí)踐中具有高效、先進(jìn)和靈活的特點(diǎn),能夠?qū)浖男浴⑷蒎e性和安全性的檢測到達(dá)較高的標(biāo)準(zhǔn)。
四、總結(jié)
計算機(jī)軟件的安全檢測技術(shù)是保障計算機(jī)和互聯(lián)網(wǎng)安全的基礎(chǔ),必須不斷的加強(qiáng)檢測技術(shù)的創(chuàng)新,以保障計算機(jī)軟件的安全,促進(jìn)計算機(jī)軟件的發(fā)展。
軟件檢測論文:軟件工程安全檢測維護(hù)分析
摘要:
隨著我國科學(xué)技術(shù)的快速發(fā)展,計算機(jī)技術(shù)在我國的應(yīng)用越來越廣泛,已經(jīng)普及到生活中的方方面面。計算機(jī)技術(shù)對我國的發(fā)展有著至關(guān)重要的作用,可以說決定著我國的命運(yùn)。說起計算機(jī)技術(shù),必須談及軟件工程,因為計算機(jī)系統(tǒng)在設(shè)計的過程中,離不開軟件工程。軟件工程就是計算機(jī)系統(tǒng)的核心,就是它的靈魂,沒有軟件工程的支持,計算機(jī)系統(tǒng)就無法正常的運(yùn)轉(zhuǎn)。為了更好的應(yīng)用計算技術(shù),設(shè)計出更加、人性化的系統(tǒng),就必須加強(qiáng)對軟件工程的研究,不斷更新軟件的功能。為了更好的服務(wù)于人類,滿足人們對計算機(jī)的需求,就必須時刻關(guān)注軟件的維護(hù),注重對軟件工程安全檢測工作。因此,文章對軟件工程的安全檢測與維護(hù)進(jìn)行了研究,介紹了軟件安全檢測與維護(hù)的方法,以便為計算機(jī)軟件工程提供有益參考,創(chuàng)建一個更加美好的計算機(jī)應(yīng)用環(huán)境。
關(guān)鍵詞:
軟件工程;安全檢測;維護(hù);系統(tǒng)
當(dāng)前我國計算機(jī)軟件技術(shù)取得了巨大的成就,軟件的數(shù)量與軟件的種類也在不斷增多,這些軟件基本上都有著至關(guān)重要要的作用,都被廣泛應(yīng)用在人們的生活當(dāng)中。計算機(jī)技術(shù)本身就是信息傳播的一種手段,它具有開放性強(qiáng)的特征,這是一把雙刃劍,利用好可對自身有極大的益處,一旦失誤就會泄露自身的各種信息。因此,人們對計算機(jī)軟件的安全問題越來越重視,技術(shù)人員都在不斷的研究安全系數(shù)更高的軟件工程,同時,我們也需要對計算機(jī)軟件安全檢測和維護(hù)技術(shù)進(jìn)行創(chuàng)新和研究。
1安全檢測與維護(hù)介紹
計算機(jī)軟件安全檢測與維護(hù)對計算機(jī)技術(shù)的應(yīng)用有著至關(guān)重要的作用,要想更好的應(yīng)用于人們的生活與工作當(dāng)中,就必須重視軟件工程安全檢測與維護(hù)技術(shù)的研究。因為在應(yīng)用計算機(jī)技術(shù)的過程中,軟件工程經(jīng)常會出現(xiàn)一些非人為因素的故障和安全問題,安全檢測與維護(hù)技術(shù)就可以及時發(fā)現(xiàn)其中存在的問題,及時采取措施進(jìn)行修補(bǔ),保障計算機(jī)軟件正常運(yùn)行。在現(xiàn)實(shí)生活中,計算機(jī)軟件工程的安全檢測技術(shù)主要有靜態(tài)和動態(tài)兩種檢測方式,安全性方面的測試主要分為性能測試、滲透測試和驗證過程三個方面。任何產(chǎn)品都有屬于自己的生命周期,軟件同樣有著屬于自己的生命周期,它的生命周期過程為定義、開發(fā)、運(yùn)行維護(hù)。軟件的開發(fā)和應(yīng)用最主要的目的就是為了滿足用戶的需求,這也是軟件工程最根本的目標(biāo)。這也就告訴我們,軟件在應(yīng)用的過程中,如果出現(xiàn)了非人為因素的錯誤或者問題,安全檢測與維護(hù)技術(shù)就會及時的采取有效的措施,進(jìn)行修補(bǔ)、改進(jìn),只有這樣才可以將軟件工程逐漸趨于,才能夠更好的適應(yīng)各種環(huán)境。
2安全檢測技術(shù)的方式
2.1流程
計算機(jī)軟件工程在進(jìn)行安全檢測的時候,會經(jīng)過一下幾個流程:首先,安全檢測技術(shù)會對計算機(jī)軟件工程進(jìn)行的檢測,尋找出軟件系統(tǒng)中可能存在的問題和缺陷,對這些缺陷和問題進(jìn)行檢測和了解,再測試軟件設(shè)計過程中最小的模塊,之后會按照相關(guān)的標(biāo)準(zhǔn),對計算機(jī)軟件系統(tǒng)進(jìn)行最為嚴(yán)格的檢測,此外,還要對與軟件相關(guān)的機(jī)構(gòu)進(jìn)行性檢查,確保軟件系統(tǒng)的安全與穩(wěn)定。其次,初步檢測完成沒有問題之后,需要對軟件工程的功能和有效性進(jìn)行詳細(xì)的測試。,對整個軟件工程系統(tǒng)進(jìn)行的檢測,測試軟件系統(tǒng)在各種不同環(huán)境中運(yùn)行的性與安全性。
2.2檢測方式
軟件工程的檢測首先介紹的是形式化的檢測。形式化安全監(jiān)測首先要根據(jù)實(shí)際要求建立數(shù)學(xué)模型,數(shù)學(xué)模型必須是與軟件相對應(yīng)的,之后根據(jù)標(biāo)準(zhǔn)化語言對其進(jìn)行格式化說明。形式化安全監(jiān)測主要有定量與模型兩種檢測方式。其次在應(yīng)有的模型基礎(chǔ)上對軟件進(jìn)行靜態(tài)的安全監(jiān)測。模型安全監(jiān)測是根據(jù)軟件的結(jié)構(gòu)合軟件行為建立一種能夠提供測試的模型,這種檢測模型能夠在計算機(jī)軟件運(yùn)行的過程中直接進(jìn)行讀取,這種檢測模型非常實(shí)用、非常便捷。模型安全檢測可分為有限狀態(tài)機(jī)、馬爾科夫鏈兩種檢測方式,可以根據(jù)具體的環(huán)境選擇合適的檢測方式。第三就是語法檢測,語言檢測主要是軟件技術(shù)人員根據(jù)軟件技術(shù)的效果進(jìn)行驗證的,將技術(shù)應(yīng)用于不同的輸入條件下,看技術(shù)在不同環(huán)境下是否會出現(xiàn)相同的效果。第四種安全檢測方法是基于屬性測試與模糊測試。第五種安全檢測方式是基于故障注入的安全監(jiān)測,這種檢測方式是將軟件工程中出現(xiàn)故障的可能性輸入其中,將出現(xiàn)的故障與其比較,利用故障分析樹檢測軟件故障。除此之外,還有混合技術(shù)檢測、Web服務(wù)檢測技術(shù)等多種檢測方式,每種檢測方式都是有著屬于自身獨(dú)特的特點(diǎn),根據(jù)具體的應(yīng)用環(huán)境選擇最為合適的檢測方式,可以更快的檢測出軟件工程中可能存在的問題。
3軟件維護(hù)
3.1維護(hù)類型
計算機(jī)軟件工程的應(yīng)用離不開軟件維護(hù),軟件在應(yīng)用的過程中,會出現(xiàn)一些問題,這些問題經(jīng)過長時間的積累,會對軟件系統(tǒng)造成毀滅性的傷害。而軟件維護(hù)正好可以解決這些問題,為軟件的正常運(yùn)行提供保障。軟件維護(hù)的主要類型有:適應(yīng)性維護(hù)。適應(yīng)性軟件維護(hù)主要是根據(jù)軟件應(yīng)用環(huán)境不同而進(jìn)行維護(hù)的,主要是為了增加軟件的適應(yīng)性能,將強(qiáng)軟件在不同環(huán)境中的應(yīng)用,這種軟件維護(hù)在所有維護(hù)工作中占有四分之一左右的比例。隨著我國經(jīng)濟(jì)快速發(fā)展以及科學(xué)水平不斷提高,越來越多的計算機(jī)硬件價格不斷下滑,系統(tǒng)軟件也是層出不窮,這就使得軟件環(huán)境變更的頻率大大增加,運(yùn)營環(huán)境也在不斷發(fā)生變化。因此,這些軟件在應(yīng)用的過程中需要不斷與新的運(yùn)營環(huán)境相適應(yīng),需要提高軟件的使用性能。軟件系統(tǒng)維護(hù)工作與軟件工程相似,需要一步一步、有計劃、合理科學(xué)的進(jìn)行,不能一蹴而就。改正性維護(hù)。計算機(jī)軟件工程在開發(fā)的過程中會經(jīng)過相關(guān)檢測,但是這種檢測方式并不能檢測出軟件中存在的各種問題,很多情況下都會有隱性問題存在于軟件系統(tǒng)中。這就需要將軟件投入試用,根據(jù)實(shí)際應(yīng)用過程找出其中存在的問題,發(fā)現(xiàn)問題之后在進(jìn)行更改性維護(hù)。改正性維護(hù)一般都是在維護(hù)一些比較小的問題,這些問題大多數(shù)不會影響到軟件系統(tǒng)的正常運(yùn)行。
3.2提高軟件維護(hù)的方法
軟件維護(hù)系統(tǒng)在開發(fā)的過程中需要不斷地探索、研究、開發(fā),即使這樣,投入應(yīng)用的維護(hù)系統(tǒng)也不是的,也存在許多的缺陷,這需要在應(yīng)用的過程中進(jìn)行完善,不斷提高軟件維護(hù)的效果。主要的方法有:首先要確定軟件維護(hù)質(zhì)量目標(biāo),根據(jù)所制定的目標(biāo)為基礎(chǔ),對維護(hù)系統(tǒng)進(jìn)行開發(fā)、升級,將維護(hù)系統(tǒng)的可更改性、測試性、可移植性等特點(diǎn)相互融合,相互促進(jìn);其次,使用先進(jìn)的軟件開發(fā)技術(shù)與工具。隨著科學(xué)技術(shù)水平不斷提高,越來越先進(jìn)的開發(fā)技術(shù)應(yīng)經(jīng)投入市場,軟件維護(hù)系統(tǒng)在開發(fā)的過程中可以采用先進(jìn)的開發(fā)技術(shù)與工具。這樣可以大大提高軟件的質(zhì)量,同時提高了軟件的穩(wěn)定性、易修改、易操作、易調(diào)試等特性;,建立質(zhì)量保障體系,對維護(hù)軟件的質(zhì)量提供檢查機(jī)制,為其提供質(zhì)量保障。
4結(jié)語
軟件工程的安全檢測與維護(hù)是一種復(fù)雜、綜合性強(qiáng)的工作,在市場中的應(yīng)用也非常的廣泛,必須利用有效的安全檢測方式與維護(hù)技術(shù)才能夠提高軟件的穩(wěn)定性與有效性。同時,采用先進(jìn)技術(shù)開發(fā)高質(zhì)量、高性能的軟件,可以大大提高經(jīng)濟(jì)效益,降低維護(hù)成本。
作者:傅強(qiáng) 單位:廣州市凈水有限公司
軟件檢測論文:計算機(jī)軟件安全檢測研究
摘要:
當(dāng)前,計算機(jī)軟件發(fā)展迅速,人們越來越重視計算機(jī)軟件的發(fā)展與革新,尤其是計算機(jī)軟件安全檢測,做好計算機(jī)軟件安全檢測工作,保障計算機(jī)軟件技術(shù)的進(jìn)一步提高十分重要,能夠保障用戶隱私,促進(jìn)計算機(jī)的發(fā)展,擴(kuò)大計算機(jī)軟件技術(shù)的應(yīng)用范圍,保障計算機(jī)軟件的安全性。
關(guān)鍵詞:
計算機(jī)軟件;安全檢測;技術(shù)
0引言
隨著社會的發(fā)展,計算機(jī)在生產(chǎn)、生活、教育各個領(lǐng)域的應(yīng)用越來越廣泛,發(fā)揮了越來越重要的作用,因此,對計算機(jī)的安全性能提出了更高的要求,研究計算機(jī)安全檢測技術(shù),對于潛在的安全問題進(jìn)行有效的預(yù)防與應(yīng)對,提高計算機(jī)軟件的安全性,為用戶提出更加品質(zhì)的服務(wù)。
1.計算機(jī)軟件安全檢測內(nèi)容概述
在一般情況下,人們使用軟件,會對軟件的質(zhì)量以及安全性提出較高的要求,因此,做好計算機(jī)軟件安全檢測工作十分重要,計算機(jī)軟件安全檢測需要注意兩方面內(nèi)容,及時方面,軟件安裝后的一系列問題,如是否會對計算機(jī)的正常運(yùn)行產(chǎn)生影響,是否會拖慢運(yùn)行速度等,是否會造成計算機(jī)的突然死機(jī)、卡頓等。第二方面,軟件本身的安全性,在軟件安裝時,用戶需要注意軟件本身的安全性,因為用戶在計算機(jī)操作過程中會留下大量信息,還有部分信息是較為私密的個人信息等,一旦軟件的安全性太差,極有可能造成用戶重要信息的丟失、遺漏與消失等,為用戶造成困擾,甚至,為用戶造成巨大的損失[1]。由此可見,在軟件開發(fā)過程中,需要利用軟件安全檢測系統(tǒng)找出計算機(jī)軟件中的漏洞,降低計算機(jī)軟件的使用風(fēng)險,保障測試質(zhì)量以及測試效率。計算機(jī)軟件安全檢測主要體現(xiàn)在三個方面,分別是滲透測試、驗證測試以及功能測試。計算機(jī)安全檢測的內(nèi)容主要針對安全漏洞以及軟件安全功能,并不涉及較為深入的問題,主要檢測內(nèi)容是計算機(jī)的安全風(fēng)險、計算機(jī)的安全缺陷、計算機(jī)的授權(quán)、機(jī)密性、訪問控制以及安全管理,基于此,有效進(jìn)行計算機(jī)軟件安全檢測,研究計算機(jī)軟件安全檢測技術(shù)至關(guān)重要。
2.軟件安全檢測的重點(diǎn)
軟件安全檢測的重點(diǎn)主要體現(xiàn)在兩個方面,及時,選擇合適的安全檢測方法,安全檢測的關(guān)鍵在于安全檢測方法的選擇,安全檢測方法就像大海上決定航行的方向一樣重要,因而,選擇恰當(dāng)?shù)陌踩珯z測方法是軟件安全檢測的關(guān)鍵。選擇恰當(dāng)?shù)陌踩珯z測方法十分重要,首先,需要選擇方便操作實(shí)施的安全檢測方法,保障其可操做性,以便安全檢測工作的順利實(shí)施,其次,需要在安全檢測工作實(shí)施之前將檢測工作具體化,形象化,提高檢測的性,保障檢測的安全性[2]。第二,構(gòu)建合適的安全檢測程序,在一般情況下,規(guī)模較大的應(yīng)用軟件多是由多個子系統(tǒng)組成,每個系統(tǒng)又都是由模塊組成的,因此,需要根據(jù)軟件系統(tǒng),選擇恰當(dāng)?shù)陌踩珯z測程序,對模塊進(jìn)行細(xì)致的檢測,保障軟件的安全性。
3.計算機(jī)軟件安全檢測技術(shù)應(yīng)用的關(guān)鍵
3.1檢測人員的多樣化
在計算機(jī)軟件檢測過程中,如果一直只是幾個檢測人員進(jìn)行檢測,而檢測方法又較為固定的話,極易出現(xiàn)更多的漏洞,無法產(chǎn)生較好的檢測效果,降低檢測質(zhì)量。由于軟件中的安全隱患會藏匿到各個角落,因此,檢測人員多樣化,檢測方法多樣化十分重要。檢測人員的多樣化需要做到以下幾點(diǎn),及時,在進(jìn)行安全檢測時,不僅需要保障檢測人員具備豐富的檢測經(jīng)驗以及專業(yè)知識,還需要安排熟悉軟件使用與特性的軟件技術(shù)人員協(xié)同檢測,保障檢測人員的多樣化,提高計算機(jī)軟件的安全性,保障檢測的有效性[3]。第二,通過保障檢測人員的多樣化,能夠?qū)崿F(xiàn)檢測方法的多樣化,避免檢測方法固定,以免產(chǎn)生漏洞,影響檢測工作的性,以便對軟件進(jìn)行多方位檢測,檢測出更多的安全隱患,提高軟件的安全性,滿足用戶對軟件的需求[4]。
3.2使用科學(xué)有效的檢測方法
計算機(jī)內(nèi)部極其復(fù)雜,在進(jìn)行安全檢測時只利用簡單的安全檢測無法達(dá)到理想的檢測效果,無法發(fā)現(xiàn)隱藏在深處的安全隱患,因此,在進(jìn)行計算機(jī)軟件安全檢測時,需要使用科學(xué)有效的檢測方法進(jìn)行檢測。使用科學(xué)有效的檢測方法進(jìn)行檢測需要做到以下幾點(diǎn),及時,做好準(zhǔn)備工作,在檢測之前,對客戶計算機(jī)軟件的特性以及檢測方法進(jìn)行的了解,在此基礎(chǔ)上提出具有針對性的科學(xué)的檢測方案,選擇合適的檢測方法,保障檢測的有效性與科學(xué)性。第二,做好細(xì)節(jié)處理工作,根據(jù)用戶的意見以及需求,選擇科學(xué)有效的檢測方法,制定合適的檢測方案,有助于保障計算機(jī)安全檢測的合理性,達(dá)到理想的檢測效果
3.3檢查前做好準(zhǔn)備工作
首先,對計算機(jī)系統(tǒng)級、需求級、代碼級進(jìn)行詳細(xì)的分析,為以后的檢測工作打下良好的基礎(chǔ)。其次,選用恰當(dāng)?shù)姆椒ǎ瑢浖M(jìn)行層層篩選與檢測,排除安全障礙,保障計算機(jī)檢測工作的順利實(shí)施。
4.總結(jié)
本文主要針對于計算機(jī)軟件安全檢測技術(shù)進(jìn)行了相關(guān)方面的分析和探討,在日后的工作中,還應(yīng)該對計算機(jī)軟件安全檢測技術(shù)進(jìn)行不斷的創(chuàng)新,以滿足社會的發(fā)展需求。
軟件檢測論文:計算機(jī)軟件安全檢測技術(shù)淺談
摘要:隨著社會發(fā)展水平的不斷提高,計算機(jī)在人類生產(chǎn)、生活過程中發(fā)揮的作用日漸深遠(yuǎn),計算機(jī)的應(yīng)用已經(jīng)與人類自身發(fā)展密不可分。計算機(jī)對人類社會的影響越來越大。做好計算機(jī)安全防護(hù)意義十分重大。計算機(jī)軟件作為計算機(jī)系統(tǒng)中的基礎(chǔ)組成部分,長期以來都面臨著信息安全問題,特別是互聯(lián)網(wǎng)出現(xiàn)以來,計算機(jī)應(yīng)用遍布人類社會的每一個角落。每年因為計算機(jī)軟件安全事故造成的經(jīng)濟(jì)損失難以計數(shù),嚴(yán)重時甚至?xí)斐扇松韨κ鹿省<訌?qiáng)計算機(jī)軟件安全防護(hù),是計算機(jī)工作者們的重要職責(zé)和工作任務(wù)。計算機(jī)應(yīng)用廣泛,很大一部分原因在于系統(tǒng)軟件良好的兼容性以及應(yīng)用軟件數(shù)量、種類的繁多。面對龐大的軟件規(guī)模,要做好軟件安全管理,必須從源頭抓起,在計算機(jī)軟件開發(fā)設(shè)計階段,使用軟件安全檢測技術(shù)對計算機(jī)軟件安全性進(jìn)行測試,查找安全隱患,為后續(xù)完善工作夯實(shí)基礎(chǔ)。文章圍繞計算機(jī)軟件安全檢測技術(shù)有關(guān)問題進(jìn)行探討,簡要介紹了計算機(jī)軟件安全檢測的基本概念,強(qiáng)調(diào)了計算機(jī)軟件安全檢測中的注意事項,詳細(xì)闡述了計算機(jī)軟件安全的檢測方法。
關(guān)鍵詞:計算機(jī)軟件;軟件安全;檢測方法
引言
計算機(jī)是現(xiàn)代社會最重要的工業(yè)產(chǎn)品,廣泛應(yīng)用于經(jīng)濟(jì)建設(shè)、工農(nóng)業(yè)生產(chǎn)、科學(xué)研究、國防軍事、人居生活、醫(yī)療衛(wèi)生等人類社會活動的各個方面。計算機(jī)要發(fā)揮作用,離不開兩方面的支持,一方面是硬件設(shè)施,另一方面是軟件系統(tǒng)。二者相輔相成,共同配合,從而實(shí)現(xiàn)計算機(jī)各種復(fù)雜、尖端功能。計算機(jī)信息安全問題,幾乎從計算機(jī)投入使用的那24小時起就與計算機(jī)的發(fā)展緊密聯(lián)系在一起。為保障計算機(jī)軟件安全,保障計算機(jī)的正常安全運(yùn)轉(zhuǎn),對計算機(jī)軟件進(jìn)行必要的安全檢測是計算機(jī)軟件開發(fā)過程中必須履行的重要程序。它能夠有效發(fā)現(xiàn)計算機(jī)軟件存在的安全隱患,從而針對性地開展修正、改進(jìn)作業(yè),以提高軟件運(yùn)行質(zhì)量和安全水平。
1計算機(jī)軟件安全檢測基本概念
計算機(jī)軟件的安全檢測形成于計算機(jī)軟件開發(fā)過程中,是計算機(jī)軟件開發(fā)工作中的一個重要流程。經(jīng)由計算機(jī)軟件安全檢測,技術(shù)人員對編程的軟件安全有了較為的理解和把握,特別是能夠及時發(fā)現(xiàn)軟件中存在的缺陷和安全隱患,從而及時采取措施予以消除,提高軟件安全水平。這種方法,可以有效降低軟件開發(fā)項目所面臨的市場風(fēng)險,提高工作效率,保障經(jīng)濟(jì)效益。需要注意的是,計算機(jī)軟件安全檢測只是消除軟件程序中存在的錯誤,確切的說,軟件安全性檢測只是發(fā)現(xiàn)錯誤,不能消除錯誤。根據(jù)檢測所使用的原理,計算機(jī)軟件安全性檢測包括靜態(tài)檢測和動態(tài)檢測兩種。計算機(jī)軟件安全性檢測作為軟件開發(fā)項目質(zhì)量管理體系中的重要一環(huán),用途之一是提高軟件開發(fā)完成后的功能與設(shè)計目標(biāo)的一致性。從實(shí)際工作角度而言,計算機(jī)軟件安全檢測包括三個部分,分別是功能測試、滲透測試和驗證過程。計算機(jī)安全軟件檢測與其他檢測軟件間較大的差異在于,計算機(jī)軟件安全測試的目的是為了防止目標(biāo)軟件超出設(shè)計范圍工作,而其他軟件測試則注重于軟件的設(shè)計任務(wù)。同時,計算機(jī)軟件安全性檢測還用來評價目標(biāo)軟件的安全性能是否滿足用戶需求。這些需求具體包括軟件授權(quán)、機(jī)密性、安全管理及訪問控制等內(nèi)容。
2計算機(jī)軟件安全檢測中的注意事項
計算機(jī)軟件安全檢測本質(zhì)上是以軟件安全性為目的開展的檢測這一動態(tài)過程。在具體實(shí)施時,需要注意以下幾個方面的問題:一是要確定檢測方案,保障檢測方法、原理、過程的科學(xué)性、合理性,結(jié)果的有效性。技術(shù)人員要、深入把握計算機(jī)軟件設(shè)計要求及特性,結(jié)合具體環(huán)境選擇適當(dāng)?shù)摹⒖茖W(xué)的安全檢測方法,并認(rèn)真制定與之對應(yīng)的、規(guī)范的檢測方案。嚴(yán)格執(zhí)行,確保檢測結(jié)果、有效。同時,負(fù)責(zé)軟件安全檢測的技術(shù)人員必須具備較為的軟件安全檢測知識和豐富的實(shí)踐經(jīng)驗,在具體實(shí)施軟件安全檢測時,還要有軟件設(shè)計人員參與,以確保安全檢測質(zhì)量。二是做好計算機(jī)軟件安全測試過程中的分析工作。軟件安全測試是一項非常繁瑣的工作,軟件內(nèi)容越豐富,結(jié)構(gòu)越復(fù)雜,這個過程的分析工作量和難度也就越高,需要根據(jù)情況進(jìn)行代碼級、系統(tǒng)級和需求級程度的分析。在每一個層次的分析中,也要有針對性的選擇合適的科學(xué)手段,確保分析結(jié)果的正確性。檢測技術(shù)和檢測方案是開展計算機(jī)軟件安全檢測所必須重視的兩個要素。
3計算機(jī)軟件安全檢測技術(shù)介紹
3.1計算機(jī)軟件安全檢測流程
大體而言,計算機(jī)軟件安全檢測采用模塊式的組成。每個檢測系統(tǒng)都會分為若干模塊,如果軟件規(guī)模很大,那么在系統(tǒng)上還會有更大的系統(tǒng)架構(gòu)。一般情況下,計算機(jī)軟件安全檢測要經(jīng)過模塊測試、組裝系統(tǒng)、系統(tǒng)結(jié)構(gòu)安全檢測、軟件功能和性能有效測試、系統(tǒng)測試等一系列環(huán)節(jié)。每一個模塊都有其檢測目的,都是圍繞目標(biāo)軟件若干性能而實(shí)施的。采用模塊化結(jié)構(gòu),可以讓檢測更加精細(xì)、深入,覆蓋范圍更加廣泛、,對于發(fā)現(xiàn)軟件中的缺陷和安全風(fēng)險。模塊檢測完成后再對整體的軟件系統(tǒng)進(jìn)行安全檢測,評價軟件整體安全水平。然后再圍繞用戶需要進(jìn)行軟件功能的有效性測試,進(jìn)行軟件的系統(tǒng)測試。以上就是軟件安全性測試的全部過程。
3.2計算機(jī)軟件安全檢測技術(shù)方法
3.2.1形式化的安全檢測
該檢測方法是從計算機(jī)軟件數(shù)學(xué)模型角度對軟件安全性進(jìn)行測試,需要配套的形式語言。現(xiàn)階段使用較多的形式語言包括行為語言、模型語言和有效狀態(tài)語言三種。
3.2.2模型安全靜態(tài)檢測方式
該方法利用軟件行為和軟件結(jié)構(gòu)間的內(nèi)在關(guān)系,建立測試模型,該模型要求可以被計算機(jī)讀取。再使用這個模型進(jìn)行相關(guān)測試,對比測試目標(biāo)軟件與模型的測試結(jié)果,判斷二者間的相似性。
3.2.3語法檢測
該方法主要對軟件功能接口相關(guān)情況進(jìn)行檢測。使用不同的輸入條件,對比結(jié)果間的差異,從而判斷軟件接口部分在語言識別、語言、語法定義方面的情況。
3.2.4故障注入式安全檢測
該方法在軟件安全檢測自動化水平方面具有很強(qiáng)的優(yōu)勢,是當(dāng)前計算機(jī)軟件安全檢測的重要手段。所謂故障注入式安全檢測,就是使用故障模型,構(gòu)建故障樹,使用人工方式不斷測試,并通過對測試結(jié)果的分析,判斷模板軟件故障容錯性和安全性等內(nèi)容。
3.2.5模糊式檢測方法
模糊式檢測是將動態(tài)檢測技術(shù)和傳統(tǒng)檢測方法相結(jié)合。該檢測方法具有使用簡單、效果明顯的特點(diǎn),能夠確定軟件在現(xiàn)實(shí)世界的錯誤模式并對軟件中的安全漏洞做出警告。
4結(jié)束語
綜上所述,計算機(jī)軟件安全檢測是一項內(nèi)容復(fù)雜、程序嚴(yán)格、系統(tǒng)性強(qiáng)的技術(shù)工作。計算機(jī)技術(shù)在發(fā)展,計算機(jī)軟件安全問題層出不窮,計算機(jī)軟件技術(shù)人員必須用科學(xué)的眼光看待問題,堅持不懈,不斷提高技術(shù)水平,完善自身知識體系,緊跟計算機(jī)領(lǐng)域發(fā)展脈搏,開拓視野,積極進(jìn)取,在實(shí)踐中勇于嘗試,在工作中勇于創(chuàng)新,在不斷積累的過程中尋求突破,推動計算機(jī)軟件安全事業(yè)的健康發(fā)展。
軟件檢測論文:計算機(jī)軟件安全漏洞檢測技術(shù)探析
摘要:隨著信息技術(shù)的不斷發(fā)展,人們對于計算機(jī)軟件的需求也在逐漸增多,尤其是在網(wǎng)絡(luò)快速發(fā)展的今天,軟件中常常會出現(xiàn)一定的漏洞,這樣也就給用戶的正常使用帶來的安全威脅。所以在使用過程中,就必須要保障軟件的安全,這樣才能確保計算機(jī)的正常通信與信息上的安全。反之不論自身所具有的檢測功能在強(qiáng)大,還是不能保障計算機(jī)軟件的整體安全。基于此本文針對計算機(jī)軟件安全漏洞檢測技術(shù)進(jìn)行了簡要闡述,并提出了幾點(diǎn)個人看法,僅供參考。
關(guān)鍵詞:計算機(jī)軟件安全漏洞檢測技術(shù)應(yīng)用分析
在科學(xué)技術(shù)不斷發(fā)展的今天,計算機(jī)軟件的應(yīng)用范圍也越來越廣泛,這樣也就使源代碼的數(shù)量也開始增多。但是也為一些黑客提供了機(jī)會,黑客可以利用代碼中存在的安全漏洞來對計算機(jī)的軟件進(jìn)行破壞與入侵。因此提高計算機(jī)軟件的安全就成為了保障系統(tǒng)安全的重要基礎(chǔ)性內(nèi)容。通過調(diào)查可以看出,目前計算機(jī)軟件在實(shí)際運(yùn)行的過程中,漏洞的出現(xiàn)率在不斷增高,因此黑客的攻擊也開始向著利益化的方向發(fā)展。
1計算機(jī)軟件中存在的安全漏洞
現(xiàn)如今,在科學(xué)技術(shù)的不斷發(fā)展下,我國的經(jīng)濟(jì)實(shí)力也有了一定程度的提高,這樣互動網(wǎng)的應(yīng)用范圍也在逐漸擴(kuò)大,并發(fā)揮出了極為重要的作用。但是從實(shí)際上來講,目前的計算機(jī)軟件中存在著許多的安全漏洞,這樣也就對信息系統(tǒng)的安全產(chǎn)生了一定的沖擊,并留下了安全隱患。且一旦出現(xiàn)安全漏洞,就會直接威脅信息系統(tǒng),因此必須要及早進(jìn)行安全漏洞的檢測工作,保障計算機(jī)系統(tǒng)的安全運(yùn)行。在現(xiàn)代信息系統(tǒng)中,安全漏洞一直受到了人們的廣泛關(guān)注。且從其本質(zhì)上來講,就是計算機(jī)系統(tǒng)在進(jìn)行編制的過程中由于錯誤所造成了缺陷,而這些缺陷又很容易對計算機(jī)軟件造成安全威脅。且計算機(jī)系統(tǒng)對語一些不好的信息有著極高的敏感性,所以很容易造成系統(tǒng)受到攻擊行為。而出現(xiàn)這些現(xiàn)象的主要原因則在開發(fā)人員在開發(fā)軟件的過程中存在一些漏洞。將這些漏洞進(jìn)行細(xì)化,可以分為,及時是安全性的漏洞,第二是功能性的漏洞。對于安全性的漏洞來說,就是在常規(guī)情況下不會對計算機(jī)的運(yùn)行產(chǎn)生影響,但是一旦被黑客所發(fā)現(xiàn),就會造成計算機(jī)軟件在運(yùn)行時出現(xiàn)問題,嚴(yán)重的還會使計算機(jī)開始執(zhí)行錯誤的指令,因此也可以說,安全性的漏洞有著極大的危害。而就功能性的漏洞來說,就是所存在的漏洞會對計算機(jī)的正常運(yùn)行產(chǎn)生影響,如出現(xiàn)運(yùn)行結(jié)果存在錯誤等現(xiàn)象[1]。通過將計算機(jī)軟件安全漏洞按照其特性進(jìn)行劃分可以看出。首先,在編制人員在編制系統(tǒng)的過程中,由于自身因素的影響存在了邏輯上的錯誤,這樣也就出現(xiàn)了安全漏洞。其次,是計算機(jī)在正常運(yùn)行的過程中,也很容易出現(xiàn)邏輯上的錯誤,通過對比不同大小之間的程序模塊可以檢測出邏輯性錯誤的發(fā)生頻率。再次,是軟件環(huán)境與漏洞之間的關(guān)系。,是漏洞與時間上的聯(lián)系,隨著時間的不斷變化,雖然舊的漏洞會被系統(tǒng)所修復(fù),但是新的安全漏洞也會不斷的產(chǎn)生。
2計算機(jī)軟件安全漏洞檢測技術(shù)
2.1安全靜態(tài)檢測
進(jìn)行安全靜態(tài)檢測主要側(cè)重于系統(tǒng)中的內(nèi)部特性,所以也可以說,靜態(tài)檢測與漏洞之間有著一定的共性,且關(guān)系也比較緊密。就目前來說,將漏洞可以分為安全性以及內(nèi)存性的漏洞。在安全性漏洞中,注重數(shù)據(jù)流的誤差,且在一定程度上,是在錯誤內(nèi)存下產(chǎn)生的。而內(nèi)存性的漏洞中,則主要注重與數(shù)據(jù)的類別與性。所以針對這種漏洞來說,所采用的檢測方式就是在其內(nèi)部空間中建模。由于靜態(tài)檢測法之間也存在著一定的不同,因此對漏洞的處理方式也就不同。在安全靜態(tài)檢測方法中,主要針對程序中代碼進(jìn)行的掃描與分析,并結(jié)合漏洞的特性以及標(biāo)準(zhǔn)等方面來對系統(tǒng)進(jìn)行的檢測。且在檢測中,分析關(guān)鍵語法是最早使用的一種靜態(tài)分析方法,在這種方法的運(yùn)行過程中,通過對語法進(jìn)行分析,并與數(shù)據(jù)庫中的信息進(jìn)行對比,一旦發(fā)現(xiàn)疑問就會立即進(jìn)行詳細(xì)的分析與判斷[2]。
2.2安全動態(tài)檢測
首先是內(nèi)存映射。黑客在對軟件進(jìn)行攻擊的過程中,常常會采用以“NULL”為結(jié)尾的字符來實(shí)現(xiàn)覆蓋。其次是非執(zhí)行棧。非執(zhí)行棧是出現(xiàn)不久的一種攻擊型的軟件。攻擊者利用棧可以寫入一些具有惡意攻擊的代碼,然后在進(jìn)行代碼執(zhí)行等工作。因此預(yù)防這種攻擊現(xiàn)象,就可以采取打破棧執(zhí)行力的方法,這樣代碼也就不能在繼續(xù)任務(wù)[3]。
3應(yīng)用
對于計算機(jī)安全來說,安全漏洞檢測技術(shù)有著極為重要的作用。
3.1避免競爭條件安全漏洞應(yīng)用
對于這種漏洞的應(yīng)用來講,就是利用了原子化處理競爭編碼來進(jìn)行的,且這種編碼具有極強(qiáng)的鎖定能力,因此當(dāng)其進(jìn)入到鎖定狀態(tài)以后,可以對文件進(jìn)行詳細(xì)的描述,并采取有效的方式來避免文件出現(xiàn)變動,從而可以防止產(chǎn)生漏洞。
3.2緩沖區(qū)的應(yīng)用
對于這種安全漏洞檢測技術(shù)來說,在實(shí)際應(yīng)用上,就是對軟件中的程序進(jìn)行詳細(xì)的檢測,以此來避免緩沖區(qū)安全漏洞的出現(xiàn)[4]。
3.3隨機(jī)漏洞的預(yù)防應(yīng)用
對這種漏洞進(jìn)行檢測與預(yù)防工作的過程中,就要采用性能高的隨機(jī)發(fā)生設(shè)備,且對于這種設(shè)備來說,可以精準(zhǔn)的對漏洞進(jìn)行預(yù)防。設(shè)備中具有了密碼算法,可以保障數(shù)流的安全。即便是遇到黑客的攻擊,也可以發(fā)揮出高效的防護(hù)作用。
3.4格式化字符串的應(yīng)用
對于這種安全漏洞檢測技術(shù)來說,就是在代碼懂采用的格式常量。以此來保障黑客在攻擊過程中不能創(chuàng)建出格式串。一般來說,個數(shù)函數(shù)如果不定參數(shù),那么就會存在一定的安全漏洞,所以在實(shí)際中,要保障參數(shù)與均衡性能的。其次也可以通過操作系統(tǒng)中的輸出來完成相關(guān)操作,以此來避免安全漏洞的威脅。
4結(jié)語
綜上所述可以看出,提高計算機(jī)軟件安全漏洞的檢測技術(shù)可以保障計算機(jī)的安全運(yùn)行。因此在實(shí)際中,工作人員還需要不但提高自身的專業(yè)知識與綜合能力,這樣才能不斷開發(fā)出高效的安全漏洞檢測技術(shù),以此來保障計算機(jī)的穩(wěn)定。
軟件檢測論文:計算機(jī)軟件安全檢測技術(shù)探究
摘要:處在當(dāng)前的改革深化階段,各個領(lǐng)域的改革發(fā)展都在如火如荼的進(jìn)行著,網(wǎng)絡(luò)技術(shù)的出現(xiàn)對人們的生產(chǎn)生活方式有著很大的改變,計算機(jī)在各個領(lǐng)域當(dāng)中也都有著廣泛的應(yīng)用,并逐漸成為人們不可或缺的工具。在計算機(jī)技術(shù)為人們的生活提供方便的同時,另一方面也存在著安全隱患,其中軟件安全問題是當(dāng)前比較突出的問題,只有在保障計算機(jī)軟件安全的基礎(chǔ)上才能夠真正的對人們的使用提供方便。本文主要就計算機(jī)軟件安全檢測重要性及需要注意的事項進(jìn)行分析,然后對計算機(jī)軟件面臨的威脅及安全漏洞類型加以分析,結(jié)合實(shí)際探究計算機(jī)軟件安全檢測程序及對計算機(jī)軟件安全檢測技術(shù)的實(shí)際應(yīng)用進(jìn)行探究。
關(guān)鍵詞:計算機(jī)軟件;安全檢測;安全漏洞
計算機(jī)的逐漸普及使得在軟件的種類上也呈現(xiàn)出多樣化,在這些軟件當(dāng)中有的是商用的軟件,有的則是個人用的軟件,在這些軟件的支持下對人們的生產(chǎn)生活效率和質(zhì)量都有著很大程度的提升,為企業(yè)的發(fā)展也起到了很大推動作用。計算機(jī)軟件安全問題在當(dāng)前的應(yīng)用過程中問題不斷出現(xiàn),為保障計算機(jī)用戶的信息安全,就必須加強(qiáng)在計算機(jī)軟件方面的安全保護(hù)。這就需要在計算機(jī)軟件的安全檢測的投入上進(jìn)一步加強(qiáng),制定系統(tǒng)化的檢測體系,真正保障計算機(jī)應(yīng)用安全。
1計算機(jī)軟件安全檢測的重要性及注意事項
1.1計算機(jī)軟件安全檢測的重要性分析
保障計算機(jī)軟件的使用安全就是保障計算機(jī)用戶的信息財產(chǎn)安全,在計算機(jī)軟件問題頻發(fā)的階段,必須要能夠加強(qiáng)對軟件使用的安全檢測。通過對計算機(jī)軟件安全實(shí)施檢測技術(shù)的應(yīng)用,就能夠有效的對軟件中的運(yùn)行錯誤及時發(fā)現(xiàn),而軟件和計算機(jī)的硬件及系統(tǒng)的配合性是否能夠達(dá)到標(biāo)準(zhǔn)要求,通過進(jìn)行實(shí)際的檢測也能夠?qū)浖慕M裝過程合理性加以呈現(xiàn),并能及時為軟件質(zhì)量模型提供數(shù)據(jù)依據(jù),這樣就從很大程度上保障了軟件的應(yīng)用安全性。在用戶對軟件應(yīng)用中,一些軟件的安全缺陷沒有引起用戶的重視,這就比較容易給用戶帶來安全上的隱患,也很容易給整個計算機(jī)操作系統(tǒng)帶來風(fēng)險,所以必須要采取軟件安全檢測的技術(shù)對應(yīng)用系統(tǒng)進(jìn)行檢測,發(fā)現(xiàn)安全問題及時采取有效措施進(jìn)行補(bǔ)救,真正保障用戶的信息安全。
1.2計算機(jī)軟件安全檢測注意事項分析
對計算機(jī)軟件安全檢測過程中要能夠注意幾個方面的內(nèi)容,對計算機(jī)軟件實(shí)施安全檢測其主要的目的就是對軟件的動態(tài)過程進(jìn)行檢測,從而保障軟件應(yīng)用的安全性。在對計算機(jī)軟件安全檢測中需要對軟件需求加強(qiáng)分析,主要就是針對計算機(jī)軟件的需求及性能實(shí)施分析,通常計算機(jī)的軟件在程序上比較復(fù)雜化,并且規(guī)模也較大,這就要求軟件檢測人員能夠在檢測技術(shù)應(yīng)用過程中,了解系統(tǒng)級、代碼級等,然后結(jié)合實(shí)際選擇合理的檢測技術(shù),這樣才能夠提高檢測效率及性,保障安全。另外,對計算機(jī)軟件實(shí)施安全檢測還要對方案的合理性得以保障,主要是在對計算機(jī)軟件安全檢測前,要對軟件檢測的特性及要求等進(jìn)行充分的了解,要在安全檢測的方式選擇上保障正確,保障檢測人員的專業(yè)素質(zhì),對軟件安全檢測工作及計算機(jī)軟件的特性能夠充分掌握。軟件檢測工作中的問題,要專業(yè)人才解決。比較常見的軟件程序編寫較為復(fù)雜,規(guī)模龐大,這需要加強(qiáng)重視對各個層面的檢測。
2計算機(jī)軟件面臨的威脅及安全漏洞類型
2.1計算機(jī)軟件面臨的威脅分析
計算機(jī)軟件在實(shí)際應(yīng)用過程中所面臨的威脅多樣,其中的軟件質(zhì)量威脅相對比較突出,這些方面的原因也是在計算機(jī)軟件開發(fā)階段不能避免的,在計算機(jī)軟件的實(shí)際應(yīng)用中,這些漏洞給用戶帶來很大的安全威脅,所造成的后果也比較嚴(yán)重。一些不法分子通過這些安全漏洞對用戶計算機(jī)進(jìn)行攻擊,造成用戶信息泄漏,給用戶帶來極大安全威脅。再者,計算機(jī)軟件所面臨的問題還體現(xiàn)在非法復(fù)制層面,在這一威脅層面由于計算機(jī)軟件屬于知識密集的產(chǎn)品,在人力物力的開發(fā)投入量上也相對較大,并且在成本的消耗上也比較大,有的要比計算機(jī)的硬件成本高出很多。但是軟件復(fù)制比較簡便,軟件產(chǎn)權(quán)就存在著很大的威脅,而由于非法的復(fù)制所帶來了一些法律等問題對社會也會造成了很大影響。除此之外,計算機(jī)軟件的威脅還存在于軟件的跟蹤層面,在這一方面主要是軟件開發(fā)以來就有人進(jìn)行對其實(shí)施動態(tài)的破譯,然后通過多種的程序調(diào)試工具對程序進(jìn)行修改來獲得軟件的源碼,對加密功能進(jìn)行取消,這樣就會嚴(yán)重影響軟件使用的安全性。
2.2計算機(jī)軟件安全漏洞類型分析
對計算機(jī)軟件的安全進(jìn)行保障,就要了解計算機(jī)軟件漏洞的內(nèi)容,對于計算機(jī)軟件安全漏洞可以根據(jù)不同的角度層次實(shí)施分類。對于計算機(jī)的操作系統(tǒng)多是采用的C以及C++進(jìn)行開發(fā)的,在這一語言下有著簡潔和使用方便及靈活等方面特征。但是在不斷的發(fā)展過程中也會存在著相應(yīng)的安全漏洞,對用戶的軟件使用有著諸多的安全威脅。這些安全漏洞主要有緩沖區(qū)溢出漏洞,由于程序員的編程技巧比較拙劣就很容易發(fā)生這樣的問題,在這一漏洞促使下就會使得目標(biāo)程序執(zhí)行古怪及崩潰。另外,計算機(jī)軟件安全漏洞的類型還有格式化字符串,這是比較微妙的程序代碼缺陷,這一漏洞存在就會被用來在進(jìn)程內(nèi)存空間中任意讀寫,危害程度大。
3計算機(jī)軟件安全檢測程序及主要技術(shù)應(yīng)用
3.1計算機(jī)軟件安全檢測程序分析
計算機(jī)軟件的安全檢測需要按照相應(yīng)的流程,對于比較大型的計算機(jī)軟件應(yīng)用所含有的子系統(tǒng)也相對較大,而這些子系統(tǒng)也就被分為諸多的不相同模板。針對計算機(jī)軟件的安全檢測就需要按照模塊的測試以及組裝系統(tǒng),系統(tǒng)的結(jié)構(gòu)安全檢測和軟件功能的測試以及系統(tǒng)測進(jìn)行實(shí)施。其中在模塊的測試過程上是對子系統(tǒng)當(dāng)中相對比較小的模塊,對其進(jìn)行檢測,這一方法能夠讓輻射面更為廣泛的得以突出,能夠及時的對小模塊中的一些安全漏洞得到解決。同時在計算機(jī)軟件的安全檢測方式層面壓實(shí)多樣的,這就需要結(jié)合實(shí)際的需求進(jìn)行選擇,其中有形式化的安全檢測及模型基礎(chǔ)的安全靜態(tài)檢測方式、語法檢測等形式,每個方式都有不同的作用體現(xiàn),對此要結(jié)合具體情況進(jìn)行實(shí)施。
3.2計算機(jī)軟件安全檢測技術(shù)應(yīng)用探究
對計算機(jī)軟件安全檢測技術(shù)的應(yīng)用要能結(jié)合實(shí)際按照具體的情況來選取檢測技術(shù),其中在非執(zhí)行棧技術(shù)層面,棧攻擊在近些年比較突出,這是由于很多操作系統(tǒng)的棧能夠?qū)懞蛨?zhí)行,并在內(nèi)部變量和數(shù)組變量上都是保存在棧當(dāng)中的,而攻擊者則主要就是對這一代碼實(shí)施攻擊,從而使得棧對代碼不能正常的執(zhí)行。通過非執(zhí)行棧技術(shù)的有效應(yīng)用就能夠?qū)Σ僮飨到y(tǒng)的內(nèi)核引入微小變化將棧頁標(biāo)記成不可執(zhí)行,在這一技術(shù)的檢測上還沒有得到化,只能夠檢測及阻止摧毀棧的攻擊。再者,對于詞法檢測技術(shù)的應(yīng)用方面,在計算機(jī)的軟件安全檢測過程中,主要就是對接口實(shí)施的檢測,同時也能對內(nèi)部功能流程實(shí)施驗證,在這一檢測技術(shù)的實(shí)際應(yīng)用下是以反映為目的,而在不同輸入條件下來達(dá)到不同輸出結(jié)果。其在檢測軟件的安全性時候是對源程序中存在著危險C語言庫函數(shù)及系統(tǒng)調(diào)用等進(jìn)行的檢測,通過詞法檢測技術(shù)就能夠在語言識別和語法定義作用下,對用例進(jìn)行檢測,從而來保障軟件的使用安全性。另外,對于計算機(jī)軟件安全檢測技術(shù)中的安全共享庫技術(shù)的應(yīng)用過程中,其主要是依托著動態(tài)鏈的相關(guān)技術(shù),并能夠在程序運(yùn)行間對不安全函數(shù)調(diào)用進(jìn)行實(shí)施攔截,以及對函數(shù)的參數(shù)實(shí)施檢測。這一檢測技術(shù)的應(yīng)用可以對內(nèi)存大小上限給出評估值,對所有在標(biāo)準(zhǔn)庫函數(shù)的攻擊都可進(jìn)行防止。然后這一技術(shù)對和安全無關(guān)的標(biāo)準(zhǔn)庫中函數(shù)不會進(jìn)行處理,這在程序的性能上能得到有效提升。對基于WEB技術(shù)的軟件安全檢測技術(shù)的應(yīng)用,這對安全檢測的工作有著重要作用發(fā)揮,在高效性及先進(jìn)性上都比較突出,這在計算機(jī)的安全性能保障能力上也相對較強(qiáng)。在技術(shù)不斷發(fā)展下,這一檢測技術(shù)的發(fā)展也會愈來愈成熟,在計算機(jī)的保護(hù)性能上也會愈來愈突出。對于計算機(jī)軟件的靜態(tài)安全檢測技術(shù)的應(yīng)用過程中,這一檢測技術(shù)主要是從程序代碼內(nèi)部的結(jié)構(gòu)以及特性上進(jìn)行的檢測,在建模及軟件行為的操作下,來構(gòu)建的檢測模型對這一模型的可讀性得到的有效滿足。這一靜態(tài)的檢測技術(shù)是系統(tǒng)化的從模型生成一組測試用例,然后對軟件系統(tǒng)進(jìn)行的測試,在獲得充分證據(jù)之后,和構(gòu)建的模型的標(biāo)準(zhǔn)能夠一致化。不僅在靜態(tài)的檢測技術(shù)上有著重要作用發(fā)揮,同時在動態(tài)檢測技術(shù)的應(yīng)用上也有著很大的發(fā)揮,關(guān)于動態(tài)的檢測技術(shù)應(yīng)用則主要是軟件運(yùn)行中對棧及環(huán)境變量等實(shí)施分析,對軟件的運(yùn)行安全性進(jìn)行的詳細(xì)化分析,對軟件保密性進(jìn)行有效提升。
4結(jié)語
總而言之,針對當(dāng)前我國計算機(jī)安全問題,要能從基礎(chǔ)上做起,在軟件安全層面加強(qiáng)保護(hù),采用多樣的方法進(jìn)行解決,這樣才能真正保障計算機(jī)用戶的信息安全。計算機(jī)軟件安全檢測技術(shù)是對計算機(jī)網(wǎng)絡(luò)安全保障的基礎(chǔ),為此針對軟件運(yùn)行中的一些問題就要充分分析,對安全漏洞問題加強(qiáng)解決,從多方面實(shí)施措施才能不斷的提升軟件的安全防護(hù)水平。此次主要是從計算機(jī)軟件的運(yùn)行及技術(shù)應(yīng)用等幾個重要層面進(jìn)行分析研究,希望對實(shí)際的計算機(jī)信息安全保障起到促進(jìn)作用。
軟件檢測論文:漏洞檢測在計算機(jī)軟件安全中的應(yīng)用
0引言
技術(shù)的發(fā)展進(jìn)步和創(chuàng)新,推動計算機(jī)軟件的更新與升級,并在提高軟件綜合性能,有效滿足人們工作和學(xué)習(xí)需要方面發(fā)揮重要作用。但計算機(jī)軟件安全也可能面臨來自多方面的問題和挑戰(zhàn),制約其綜合性能發(fā)揮。為有效保障軟件安全,促進(jìn)其性能發(fā)揮,合理應(yīng)用漏洞檢測技術(shù),確保軟件性能和使用效果是十分必要的。文章結(jié)合計算機(jī)軟件安全管理控制需要,介紹漏洞檢測技術(shù)的應(yīng)用對策,希望能為實(shí)際工作的有效開展提供啟示。
1計算機(jī)軟件安臨的挑戰(zhàn)
提高計算機(jī)軟件安全性能是人們不斷追求的目標(biāo),但在使用過程中,由于受到自身性能、外部環(huán)境的影響,軟件安全可能面臨來自多方面挑戰(zhàn),除了軟件自身缺陷之外,還可能面臨來自以下方面挑戰(zhàn)。
1.1病毒入侵。
互聯(lián)網(wǎng)是一個開放的空間,軟件在日常運(yùn)行中,容易受到病毒入侵,制約其綜合性能提升。病毒入侵不僅會導(dǎo)致軟件無法使用,還會制約計算機(jī)正常運(yùn)行和作用的充分發(fā)揮,破壞計算機(jī)系統(tǒng)軟件,導(dǎo)致計算機(jī)難以充分發(fā)揮作用,給用戶使用計算機(jī)也帶來不利影響。
1.2黑客攻擊。
黑客攻擊也是影響計算機(jī)軟件安全性能的重要因素。互聯(lián)網(wǎng)上很多黑客可能會對計算機(jī)軟件實(shí)施攻擊,或者在需要使用的軟件當(dāng)中植入木馬,一些用戶缺乏安全防范意識,難以及時采取措施防止黑客攻擊。一旦出現(xiàn)黑客攻擊現(xiàn)象,導(dǎo)致軟件正常使用功能消失,不能滿足用戶需要。
1.3不當(dāng)操作。
不當(dāng)操作也是導(dǎo)致計算機(jī)軟件安全隱患發(fā)生的重要因素。一些使用者的計算機(jī)軟件使用技能缺乏,未能嚴(yán)格遵循規(guī)范要求利用軟件,存在不當(dāng)操作,破壞軟件綜合性能。或者相應(yīng)的防御措施缺乏,容易導(dǎo)致軟件受到攻擊,增加軟件受到攻擊的可能性,甚至影響計算機(jī)作用的有效發(fā)揮。
2漏洞檢測技術(shù)在計算機(jī)軟件安全中的應(yīng)用策略
漏洞指的是計算機(jī)軟件存在的缺陷與弱點(diǎn),如果沒有及時采取措施處理,會影響軟件安全,制約其綜合性能充分發(fā)揮。計算機(jī)軟件使用中,由于受到外界環(huán)境影響,再加上自身綜合性能不佳,可能會出現(xiàn)一些漏洞。為有效修復(fù)這些漏洞,應(yīng)該結(jié)合具體需要采取有效的檢測技術(shù),及時修復(fù)漏洞,促進(jìn)軟件安全性能提升,使其更好發(fā)揮作用,常見的漏洞檢測技術(shù)包括以下幾種。
2.1漏洞分類檢測技術(shù)。
軟件漏洞有多種不同類型,為實(shí)現(xiàn)對漏洞的有效檢測,根據(jù)不同的漏洞類型,采取有效檢測技術(shù)是十分必要的,分類檢測技術(shù)是其中之一。當(dāng)前漏洞檢測技術(shù)可以細(xì)分到非常細(xì)致的種類,并且檢測能夠深入到細(xì)微的地方。因此,為迅速、便捷的開展檢測工作,可以將漏洞檢測技術(shù)進(jìn)行分類,通常分為安全漏洞和內(nèi)存漏洞,然后有針對性的采用檢測技術(shù)。從而及時、掌握軟件存在的漏洞,為采取措施修復(fù)漏洞,提高計算機(jī)綜合性能創(chuàng)造條件。
2.2漏洞靜態(tài)檢測技術(shù)。
首先進(jìn)行靜態(tài)分析,掌握和分析軟件的程序代碼,提取關(guān)鍵語法和句式,對計算機(jī)軟件和系統(tǒng)程序有更為深入、的認(rèn)識。然后結(jié)合漏洞特征和計算機(jī)軟件的安全標(biāo)準(zhǔn),和細(xì)致檢查計算機(jī)軟件。進(jìn)行語法分析,將系統(tǒng)程序分成細(xì)小片段,與相關(guān)規(guī)范標(biāo)準(zhǔn)對比分析,對存在嫌疑的漏洞,進(jìn)行細(xì)致評估和判斷。同時還要根據(jù)規(guī)范標(biāo)準(zhǔn)檢查系統(tǒng)漏洞,如果沒有嚴(yán)格落實(shí)這些規(guī)定,往往會影響系統(tǒng)安全,容易出現(xiàn)漏洞,檢測和對比分析之后能及時發(fā)現(xiàn)存在的不足,然后采取改進(jìn)和完善措施,提高計算機(jī)軟件安全性能。另外還可以采用程序驗證法和定理證明法,對軟件系統(tǒng)分析,及時修復(fù)存在的漏洞,確保軟件綜合性能。在系統(tǒng)程序支持下,采用形式化驗證手段對計算機(jī)軟件綜合性能驗證,掌握其安全性與性,查看是否存在安全漏洞,并對出現(xiàn)的安全漏洞采取改進(jìn)和完善措施。定理證明需要綜合采取措施對軟件性能綜合判定。但該方法的專業(yè)性強(qiáng),使用者應(yīng)該具有較高專業(yè)素質(zhì),這樣才能實(shí)現(xiàn)對軟件性能的檢測,為采取措施修復(fù)漏洞,提高軟件安全性能創(chuàng)造良好條件。
2.3漏洞動態(tài)檢測技術(shù)。
動態(tài)檢測技術(shù)也是常用的技術(shù)措施,檢測過程中得到較為廣泛的應(yīng)用,也是實(shí)際工作中需要重點(diǎn)關(guān)注的內(nèi)容。常見技術(shù)措施包括內(nèi)存映射技術(shù)、非執(zhí)行棧技術(shù)、非執(zhí)行堆和數(shù)據(jù)技術(shù)、安全共享庫技術(shù)、沙箱技術(shù)、程序解釋技術(shù)等。這些技術(shù)措施各有自己的特點(diǎn)和優(yōu)勢,具體漏洞檢測過程中,應(yīng)該結(jié)合具體需要合理選用,并嚴(yán)格遵循規(guī)范流程開展操作,實(shí)現(xiàn)對系統(tǒng)軟件和計算機(jī)綜合性能的把握。對經(jīng)過檢測后發(fā)現(xiàn)的軟件漏洞,應(yīng)該及時采取修復(fù)措施,從而有效提高軟件綜合性能,為用戶使用計算機(jī)創(chuàng)造良好條件。
3漏洞檢測技術(shù)在計算機(jī)軟件安全中的應(yīng)用作用
通過漏洞檢測技術(shù)的應(yīng)用,能實(shí)現(xiàn)對各類病害的有效預(yù)防,防止軟件受到不法攻擊。最為明顯的是能避免出現(xiàn)競爭性漏洞、緩沖區(qū)漏洞、隨機(jī)性漏洞、字符串漏洞。從而保障計算機(jī)軟件的安全,提高軟件使用性能。另外還有利于軟件更新和升級,因為漏洞的存在會影響漏洞更新和升級,而通過采取有效的檢測技術(shù),能避免這些問題發(fā)生。進(jìn)而促進(jìn)軟件性能不斷提升,達(dá)到有效保障軟件性能,為人們科學(xué)、有效使用計算機(jī)創(chuàng)造良好條件。
4結(jié)束語
計算機(jī)軟件安全可能面臨來自多方面的挑戰(zhàn),為實(shí)現(xiàn)對這些問題的有效預(yù)防,避免受到不法攻擊,應(yīng)該結(jié)合具體需要合理應(yīng)用漏洞檢測技術(shù)。及時查找和修補(bǔ)存在的漏洞,提高軟件安全水平,為人們有效使用計算機(jī)軟件創(chuàng)造良好條件。
作者:陳新文 單位:江西工業(yè)貿(mào)易職業(yè)技術(shù)學(xué)院
軟件檢測論文:計算機(jī)軟件安全檢測技術(shù)研究
1當(dāng)前覆蓋與協(xié)調(diào)方式要點(diǎn)分析
事實(shí)上,計算機(jī)資源配置、系統(tǒng)程序創(chuàng)新開發(fā)、網(wǎng)絡(luò)設(shè)施供給方面都會遺留安全弊端,基本上被劃定為配置偏差和軟件缺陷問題,其中前者主要限定在軟件編程和操作訪問空間之內(nèi)。而軟件既有缺陷,包括軟件自身和外部缺陷兩個類型,其中軟件自身問題多發(fā)在系統(tǒng)產(chǎn)生漏洞之后,主要是由于程序編寫錯誤結(jié)果引發(fā);至于這里所說的外部缺陷,便是與軟件不相關(guān)的其余程序運(yùn)行期間,因為彼此之間相互排斥所即時造成的軟件缺陷狀況,一旦滋生相關(guān)事件,必然會對計算機(jī)系統(tǒng)安全性能產(chǎn)生重創(chuàng)。
(1)形式化檢測與模型中心功能檢測.
其主要借助模型檢驗和定理作為判定依據(jù),配合形式化、格式化語言進(jìn)行軟件操作結(jié)果驗證說明,實(shí)際上主要是針對模型有效狀態(tài)語言和行為語言等加以修繕補(bǔ)充。計算機(jī)軟件運(yùn)行期間,會自動激活結(jié)構(gòu)模型的測試功能,為了確保現(xiàn)場檢測結(jié)果足夠清晰,因此保留一定程度的可讀實(shí)效。實(shí)踐操作人員經(jīng)過功能和形式化檢測方式對比解析過后,便快速開展軟件系統(tǒng)測試工作,確保對應(yīng)數(shù)據(jù)信息獲取成功之后,證明此類軟件和模型提供的信息維持一致效應(yīng)。
(2)混合檢測與語法檢測。
實(shí)際上就是將計算機(jī)形式化和功能檢測技術(shù)相互融合,能夠針對系統(tǒng)運(yùn)行環(huán)境加以有效適應(yīng),避免以往靜態(tài)監(jiān)控和動態(tài)檢測技術(shù)沿用期間衍生的一系列沖突問題。主要配合計算機(jī)語法進(jìn)行軟件接口語法測試。須知不同技術(shù)條件下,運(yùn)用輸入語法檢測軟件必然會滋生各類反應(yīng)結(jié)果,并且只會對源程序內(nèi)部安全隱患有所回應(yīng),之后進(jìn)行軟件接口語言識別,確保特定語言語法規(guī)則成功定義過后,產(chǎn)生對應(yīng)測試用例,保障軟件安全測試活動的有利舒展。
(3)模糊檢測與屬性檢測。
將傳統(tǒng)和模型檢測方式有機(jī)融合過后,盡管操作程序相對簡易,但對于大部分程序錯誤結(jié)果反應(yīng)還是比較敏感的,并且能夠提供合理的驗證依據(jù)。顧名思義,便是將軟件既有屬性同其余軟件程序進(jìn)行同步校驗對比,保障被檢測軟件能夠及時映射計算機(jī)系統(tǒng)內(nèi)部一切安全威脅結(jié)果。需要加以強(qiáng)調(diào)的是,技術(shù)人員在沿用此類檢測技術(shù)期間,應(yīng)該針對軟件相關(guān)規(guī)范條例加以嚴(yán)格審視,并且視其為特定屬性規(guī)則,為今后創(chuàng)新形式的檢測結(jié)果提供驗證依據(jù);之后反復(fù)運(yùn)用屬性檢測模式進(jìn)行計算機(jī)程序代碼調(diào)試,確保其和預(yù)設(shè)規(guī)則條例的貼合狀態(tài)。
2拓展期間細(xì)節(jié)問題要點(diǎn)分析
結(jié)合以往實(shí)踐操作經(jīng)驗整理判定,計算機(jī)軟件安全控制結(jié)果將直接限制系統(tǒng)程序運(yùn)行效率,技術(shù)人員有必要在相關(guān)軟件設(shè)計開發(fā)期間,針對內(nèi)部安全問題加以合理梳理。一旦說滋生任何問題,便需要在及時時間加以軟件調(diào)整,將其中風(fēng)險效應(yīng)壓縮在最小范疇之內(nèi)。再就是聯(lián)合相關(guān)測試途徑,時刻彰顯計算機(jī)軟件利用效率較大化效應(yīng)。需要強(qiáng)調(diào)的是,計算機(jī)軟件安全檢測手段始終無法規(guī)避軟件既有漏洞,實(shí)質(zhì)上仍舊借用一類檢查模式,將既定軟件內(nèi)部錯誤提煉清楚,切實(shí)穩(wěn)固其對一切入侵行為的防范實(shí)力,基本上軟件安全檢測方面也都達(dá)到預(yù)設(shè)要求。歸結(jié)來講,計算機(jī)軟件安全檢測流程歸屬于多元素檢測手段,操作期間所需關(guān)注的因素極為復(fù)雜。必須快速選取足夠科學(xué)合理的安全檢測方案。為了真正穩(wěn)定軟件安全檢測工作的實(shí)效性價值,相關(guān)操作主體在詳細(xì)掌握內(nèi)部理論前提條件下,更需要聯(lián)合測試結(jié)果,制定較為詳盡的安全檢測方案。針對某類軟件加以檢測期間,必須鼓勵技術(shù)設(shè)計團(tuán)隊統(tǒng)一參與進(jìn)去,全程保障軟件設(shè)計主體和軟件安全檢測人員的無間配合成就。一旦說軟件滋生任何錯誤跡象,開展檢測工作前期,相關(guān)技術(shù)人員需要針對軟件既有程序代碼格式、系統(tǒng)配置條件等,進(jìn)行靈活細(xì)致的解析,能夠在特定狀況之下選用解決方案,為后期軟件安全使用結(jié)果提供更為有力的技術(shù)協(xié)調(diào)保障。
3安全漏洞檢測方案研究
截至目前,我國計算機(jī)技術(shù)更新延展速率飛快,尤其配合網(wǎng)絡(luò)共享、開放性特征,使得廣大用戶都能夠及時獲取較為便捷的信息服務(wù),證明當(dāng)今社會對于計算機(jī)系統(tǒng)的整體依賴程度的確與日俱增,但是其中隱藏的安全問題始終是不可小覷的。盡管大部分人員都會在各自的計算機(jī)系統(tǒng)內(nèi)部添加反病毒、防火墻、入侵行為檢測等類型的軟件,但是始終無法抵御黑客對于軟件既有安全漏洞的破壞能度,嚴(yán)重情況下會衍生更新樣式的軟件漏洞。如若想快速合理地遏制當(dāng)中安全隱患,單純憑借密碼技術(shù)顯然是不夠現(xiàn)實(shí)的。
3.1主動強(qiáng)化措施分析
單純面對計算機(jī)操作系統(tǒng)期間,安全檢測技術(shù)人員的核心任務(wù)便是學(xué)會如何做出有效防范,具體就是靈活選用足夠?qū)I(yè)化的安全掃描軟件,進(jìn)行系統(tǒng)安全漏洞細(xì)致排查并做出預(yù)估其危害強(qiáng)度;同時制定長期有效的安全配置方案,針對內(nèi)部關(guān)鍵文件和資料使用權(quán)限加以嚴(yán)格限制,包括身份認(rèn)證強(qiáng)度、機(jī)制匹配嚴(yán)謹(jǐn)程度、口令的使用精準(zhǔn)度結(jié)果等,再就是賦予操作系統(tǒng)近期形式的補(bǔ)丁,盡量將內(nèi)部風(fēng)險降到低完畢。
3.2沙箱安全檢測技術(shù)分析
此類檢測技術(shù)長期在系統(tǒng)調(diào)用工序中沿用,可以將存在安全漏洞的網(wǎng)絡(luò)資源合理限制,進(jìn)行各類黑客、病毒攻擊行為智能化抵御,一般狀況下不會夾雜任何形式的兼容性問題。相對地,只要操作主體確保能夠?qū)①Y源科學(xué)訪問策略和特定程序有機(jī)捆綁,便不必額外添加任何輔助型應(yīng)用程度與系統(tǒng)內(nèi)核,便可以在合理期限范圍內(nèi)完成沙箱技術(shù)背景下的化安全檢測指標(biāo)。
3.3程序解釋和類型推斷檢測技術(shù)分析
涉及程序解釋技術(shù),主張針對系統(tǒng)各類軟件程序運(yùn)行狀況加以清晰化監(jiān)管,必要情況下利用標(biāo)準(zhǔn)監(jiān)視設(shè)備進(jìn)行詳盡的安全檢查活動布置,盡管在面對操作系統(tǒng)性能或是兼容性細(xì)節(jié)上,會不自覺地遺留危害隱患,可是無須整改內(nèi)部應(yīng)用程序代碼與操作系統(tǒng)內(nèi)核,基本上會針對繞過安全檢測、無限制控制轉(zhuǎn)移、非原始代碼執(zhí)行等不同攻擊行為,快速生成對應(yīng)動態(tài)化代碼結(jié)果,借此穩(wěn)定現(xiàn)場安全檢測進(jìn)程。另外,便是類型推斷式安全檢測技術(shù),其在安全約束功能表現(xiàn)上可說是足夠高效精準(zhǔn),經(jīng)常沿用一類創(chuàng)新修飾手法進(jìn)行大規(guī)模程序安全性能檢驗,可是仍舊不可避免地遺留某種兼容性隱患。計算機(jī)安全檢測技術(shù)人員仍舊需要將核心注意力適當(dāng)投射在漏洞修復(fù)和更新層面之上。須知此類內(nèi)涵機(jī)理相對深刻復(fù)雜,當(dāng)中包括對計算機(jī)軟件升級和安全補(bǔ)丁修復(fù)等工作內(nèi)容,以往運(yùn)用的防火墻、殺毒軟件以及關(guān)鍵部位更改過后的安全口令等,基本上都可以視為軟件漏洞修復(fù)、更新工序內(nèi)容。以安裝官方的補(bǔ)丁這種修復(fù)方法為例,最早提出對計算機(jī)軟件的漏洞進(jìn)行補(bǔ)丁修復(fù)的是微軟公司,在補(bǔ)丁的全生命周期中對補(bǔ)丁的識別、部署以及評估等都需要進(jìn)行有效的管理,才不會再次成為軟件安全漏洞。在軟件漏洞與修復(fù)的管理中主要有以下幾類成熟的管理模型:
(1)微軟補(bǔ)丁管理模型。
微軟作為全球計算機(jī)系統(tǒng)的寡頭,其推行下的補(bǔ)丁管理模型已經(jīng)逐漸成為其他廠商的標(biāo)準(zhǔn)。微軟的補(bǔ)丁管理從漏洞的識別開始,經(jīng)過計劃階段、測試階段和部署階段。整個流程中通過對計算機(jī)漏洞的威脅等級進(jìn)行評估和識別,在計劃階段拿出補(bǔ)丁的計劃方案并予以實(shí)施,再通過植入系統(tǒng)中進(jìn)行多方位的測試到最終的部署階段。但是后續(xù)一定要對補(bǔ)丁的反饋信息進(jìn)行及時的梳理和統(tǒng)計。
(2)CNCERT/CC補(bǔ)丁管理。
這個補(bǔ)丁的管理流程是來自于我國國家計算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心的,將補(bǔ)丁管理視為一類特殊的工程管理,也分為事前管理、實(shí)施過程的管理以及事后管理三部分。總體來講與微軟的管理模式大同小異,只是在事后管理中采取一定措施來保障計算機(jī)軟件系統(tǒng)的穩(wěn)定性。透過以上計算機(jī)安全檢測技術(shù)的有機(jī)穿插和靈活匹配,使得內(nèi)部隱藏的安全漏洞被一一挖掘,確保后期軟件運(yùn)行期間能夠針對相關(guān)隱患加以有力排查和規(guī)避,為計算機(jī)全程流暢運(yùn)行結(jié)果提供一定的保障。
4結(jié)語
綜上所述,如今我國社會不同領(lǐng)域發(fā)展速率飛快,當(dāng)中以WEB服務(wù)為基礎(chǔ)的分布式軟件應(yīng)用現(xiàn)象廣泛分布,對應(yīng)的安全檢測技術(shù)當(dāng)然長期處于不斷校驗更新環(huán)節(jié)之中。相應(yīng)地證明了,計算機(jī)軟件安全檢測工作已經(jīng)順勢過渡成為計算機(jī)信息安全性維持的特定支持因素。在此類背景影響下,相關(guān)計算機(jī)軟件設(shè)計開發(fā)主體,更應(yīng)該及時做好和安全檢測人員的交流工作,懂得在實(shí)踐單元中不斷吸納總結(jié)協(xié)調(diào)經(jīng)驗,相信長久下去,必將能為我國計算機(jī)軟件安全檢測技術(shù)深度拓展積累更多適應(yīng)性實(shí)力。
作者:黃闖將 單位:深圳市海鑫達(dá)連接線有限公司
軟件檢測論文:計算機(jī)軟件安全檢測問題分析及防御對策
1.計算機(jī)軟件安全檢測總論
所謂計算機(jī)軟件安全檢測是指對計算機(jī)的軟件進(jìn)行修補(bǔ),以彌補(bǔ)計算機(jī)軟件中的一些不足,使計算機(jī)軟件變得更加完善,更好地服務(wù)于用戶。計算機(jī)軟件的安全檢測已經(jīng)成為計算機(jī)軟件開發(fā)中的重要組成部分。計算機(jī)軟件在不斷地開發(fā)中,由于現(xiàn)有技術(shù)的問題,在使用一段時期后,總是會出現(xiàn)一些問題,而計算機(jī)軟件安全檢測就是為了盡早的發(fā)現(xiàn)問題并解決問題。計算機(jī)軟件安全檢測以最少的測試來適用于更大的范圍。現(xiàn)在,我們的計算機(jī)軟件中存在著許多軟件安全檢測的方法,而就其本質(zhì)而言,這些方法主要分為兩種,即靜態(tài)與動態(tài)。計算機(jī)軟件的安全檢測主要是利用對軟件功能、軟件滲透及軟件驗證等方式來檢測這種軟件是否足夠的安全。計算機(jī)軟件安全檢測一般來講是對軟件的安全功能進(jìn)行測試,安全功能是一個軟件能否被使用的重要的檢測標(biāo)準(zhǔn)之一,只有軟件的安全功能達(dá)標(biāo)了,這款軟件才能夠被更好地使用,一旦軟件的安全功能不符合標(biāo)準(zhǔn),則在使用的過程中就會產(chǎn)生危險。
2.計算機(jī)軟件安全檢測過程中存在的主要問題
2.1計算機(jī)軟件安全檢測方法
目前,在計算機(jī)軟件安全檢測過程中,要對所要進(jìn)行檢測的計算機(jī)軟件有一個系統(tǒng)的認(rèn)識,充分了解到計算機(jī)軟件的效用。大多數(shù)檢測人員并未整體分析,而是采用雷同的檢測方式對各種類型的軟件進(jìn)行測試。在計算機(jī)軟件安全測試的過程中,一定要從實(shí)際出發(fā)來找到合適的測試方法。這種缺乏針對性的軟件安全檢測方法,難以保障軟件檢測結(jié)果的普適性和合理性。
2.2計算機(jī)軟件安全檢測人員的素質(zhì)不高
在計算機(jī)軟件安全檢測領(lǐng)域,我國現(xiàn)階段缺乏專業(yè)化的軟件安全性檢測人員。在計算機(jī)軟件安全測試的過程中,肯定要有對軟件進(jìn)行安全分析的職工,當(dāng)然還要有對軟件的整體進(jìn)行構(gòu)造的相關(guān)人員。如果監(jiān)測人員素質(zhì)整體不高,在檢測出軟件安全問題的時候,難以及時的對其進(jìn)行處理,軟件的安全性能難以保障。
2.3對計算機(jī)軟件的內(nèi)部結(jié)構(gòu)缺乏系統(tǒng)的分析
在計算機(jī)軟件的安全檢測中,對于系統(tǒng)、需求級和代碼級進(jìn)行深入的研究。如果軟件的模式比較大,就要對軟件的內(nèi)部構(gòu)成方面進(jìn)行研究和檢測,才能確保檢測過程的順利完成。對計算機(jī)軟件安全進(jìn)行相應(yīng)的測試的過程中在進(jìn)行分析的時候要充分的結(jié)合自身的情況找到比較合理的分析方法。但是,現(xiàn)階段的大多數(shù)軟件安全性檢測人員缺乏對計算機(jī)軟件的內(nèi)部結(jié)構(gòu)進(jìn)行深入和系統(tǒng)分析的意識和觀念,從而導(dǎo)致軟件檢測人員難以針對各種問題進(jìn)行及時處理,造成軟件運(yùn)行的不穩(wěn)定。我們都知道計算機(jī)測試的過程比較復(fù)雜,要多方位多方面調(diào)配人手,也需要新技術(shù)來支持和配合,保障軟件的順利完成測試。
3.計算機(jī)軟件安全檢測的方法及防御對策
3.1語法檢測
軟件的構(gòu)成和功能的實(shí)現(xiàn),都離不開設(shè)計和開發(fā)人員的一個個編程語法語句。而對計算機(jī)軟件中的語法的讀取和分析,是探知該軟件的設(shè)計功能及意圖的關(guān)鍵。一般來說,語法檢測技術(shù)是對被檢測軟件功能接口的語法生成軟件進(jìn)行輸入測試,并與預(yù)制的測試結(jié)果集錦進(jìn)行比對,從而大致地判斷出該軟件的語言及語法類型,接著完成對其的安全性評定。
3.2靜態(tài)檢測
相對于前面所提到的語法檢測,靜態(tài)檢測所需要檢測的內(nèi)容更加復(fù)雜和詳細(xì)。靜態(tài)檢測是對待檢測軟件的程序代碼進(jìn)行重新調(diào)用,通過相關(guān)的技術(shù)軟件分析其結(jié)構(gòu)和特性的方法。在對待測軟件進(jìn)行靜態(tài)檢測時,需要針對其結(jié)構(gòu)和特性構(gòu)造出一個能夠為測試被測試機(jī)器識別的測試模型。在模型的建立過程中,要保障被測軟件的程序結(jié)構(gòu)和特性的完整性,以免影響測試結(jié)果的正確性。
3.3動態(tài)檢測
一些存在安全隱患的軟件,在運(yùn)行的初期并不能明顯地看出其所存在的不安全因素,但在其不斷的運(yùn)行過程中,隨著其運(yùn)行環(huán)境和運(yùn)行變量的不斷變化,軟件中所包含的不安全因素也逐漸暴露出來。因此,為了彌補(bǔ)以上三種檢測方式對長時間運(yùn)行后才出現(xiàn)安全問題的軟件的檢測的不足,人們提出了動態(tài)檢測技術(shù)。動態(tài)檢測技術(shù)是對軟件所運(yùn)行的環(huán)境和軟件運(yùn)行過程中所涉及的參數(shù)和變量進(jìn)行實(shí)時檢測,進(jìn)而發(fā)掘出軟件中所存在的安全漏洞或者其他的缺陷,并采取一定的措施對引起這些漏洞和缺陷的參數(shù)和變量進(jìn)行修改,從而有效降低問題軟件給用戶帶來的損害。
3.4混合安全檢測
將動態(tài)和靜態(tài)的計算機(jī)軟件安全檢測技術(shù)相結(jié)合,我們稱之為混合安全檢測技術(shù),不僅克服了靜態(tài)和動態(tài)安全檢測技術(shù)的弊端,而且能夠更為有效的開展安全檢測工作。目前,利用混合檢測技術(shù)而進(jìn)行計算機(jī)軟件安全檢測工作的技術(shù)種類相對較多,且檢測的精度更高,為我國研究計算機(jī)軟件漏洞檢測技術(shù)奠定了基礎(chǔ)。
3.5基于web技術(shù)的安全檢測
隨著web技術(shù)的逐漸推廣和廣泛應(yīng)用,基于web技術(shù)的計算機(jī)軟件安全檢測技術(shù)隨之發(fā)展,對促進(jìn)安全檢測工作發(fā)揮著重要作用。此項技術(shù)比起之前所用的多種計算機(jī)軟件安全檢測技術(shù),更具先進(jìn)性、靈活性和高效性,既能及時糾正計算機(jī)軟件中的漏洞及安全隱患,又能確保計算機(jī)運(yùn)行的性和安全性。隨著我國科技水平的不斷提高,web檢測技術(shù)的發(fā)展是必然趨勢,因而基于web技術(shù)的計算機(jī)軟件安全檢測技術(shù)勢必會與時俱進(jìn),為計算機(jī)提供安全保障。
4.安全檢測時的注意事項
隨著計算機(jī)軟件類型增多,系統(tǒng)越趨復(fù)雜,所隱藏的安全隱患也相對較多,嚴(yán)重威脅著計算機(jī)的運(yùn)行安全。所以,需要采用有效的安全檢測技術(shù),對計算機(jī)軟件的安全性加以檢測,及時處理安全隱患,提高計算機(jī)軟件的安全性能,為計算機(jī)系統(tǒng)安全運(yùn)行提供保障。但是,在使用安全檢測技術(shù)進(jìn)行檢測過程中,需要注意一些問題。首先,操作人在安全檢測之初,必須制定合理的安全檢測方案。不同安全檢測技術(shù)對不同計算機(jī)軟件發(fā)揮著不同的效用,因而操作人在進(jìn)行安全檢測之前,必須充分了解計算機(jī)軟件的特點(diǎn)、使用要求等方面,進(jìn)而根據(jù)計算機(jī)軟件的實(shí)際而選擇安全檢測技術(shù),制定合理的檢測方案,使安全檢測工作得以有效開展。其次,進(jìn)行計算機(jī)軟件的安全檢測工作時,必須要有安全檢測人員和熟悉相應(yīng)計算機(jī)軟件的人員共同參與,兩者共同協(xié)作,促使計算機(jī)軟件的安全檢測工作得以順利進(jìn)行。,開展計算機(jī)軟件安全檢測工作時,其安全分析必須要、細(xì)致,針對不同層面的軟件選擇不同的安全檢測方法,確保安全檢測結(jié)果的正確性。操作人在進(jìn)行計算機(jī)軟件安全檢測工作時,必須注意以上幾點(diǎn),才能使安全檢測工作取得良好的成效。
5.結(jié)語
總之,經(jīng)濟(jì)發(fā)展越來越快,在這個過程中計算機(jī)的作用是十分重大的,但是計算機(jī)的安全問題也凸顯了出來。最常見的安全問題就是計算機(jī)軟件中的病毒,因為一些惡性病毒可以導(dǎo)致計算機(jī)的癱瘓和損壞,給用戶的數(shù)據(jù)帶來了巨大的風(fēng)險。因此,十分有必要對計算機(jī)進(jìn)行軟件安全檢測能夠有效的保護(hù)計算機(jī)中的信息和資料。雖然現(xiàn)在在對計算機(jī)軟件安全檢測方面還存在很多的問題,相信通過我們的努力和發(fā)展,一定能夠很好的解決計算機(jī)軟件中的安全問題。
作者:黃愛明 單位:重慶城市管理職業(yè)學(xué)院
軟件檢測論文:軟件工程中代碼異味檢測方法分析
摘要:在軟件工程中,軟件重構(gòu)具有重要意義,它可以提高軟件的可維護(hù)性、可擴(kuò)展性、可重用性,進(jìn)而改善軟件質(zhì)量。在軟件重構(gòu)中,代碼異味檢測是其中的重要組成部分。目前,代碼異味檢測的相關(guān)研究劃分為幾個類別。在對基于搜索的代碼異味檢測方法進(jìn)行研究后,選擇決策樹算法來對四個代碼異味進(jìn)行檢測,并取得不錯的效果。
關(guān)鍵詞:軟件工程;軟件重構(gòu);代碼異味;決策樹
0引言
隨著計算機(jī)科學(xué)的進(jìn)步和發(fā)展,越來越多的行業(yè)和領(lǐng)域中需要使用計算機(jī)技術(shù),各個行業(yè)的相關(guān)軟件也相繼被開發(fā)出來。蘋果商店的應(yīng)用超過了百萬,桌面軟件和專業(yè)軟件數(shù)量更多。在軟件開發(fā)中維護(hù)費(fèi)用是開發(fā)成本的2-100倍[1]。因此,為了降低軟件開發(fā)中維護(hù)費(fèi)用,改善軟件的結(jié)構(gòu),提高軟件的可擴(kuò)展性和可重用性,有必要進(jìn)行軟件重構(gòu)[2]。在軟件工程中,軟件重構(gòu)用于調(diào)整面向?qū)ο筌浖膬?nèi)部結(jié)構(gòu),提高軟件的可維護(hù)性、可擴(kuò)展性、可重用性,進(jìn)而改善軟件質(zhì)量,同時軟件的外部行為保持不變[3-4]。軟件經(jīng)過重構(gòu),可以提高代碼的可讀性,改善內(nèi)部結(jié)構(gòu)并且延長代碼的生命周期。對于大型軟件項目的開發(fā),軟件重構(gòu)具有重要意義。在軟件重構(gòu)中,需要先進(jìn)行代碼異味檢測,代碼異味會暴露出一些軟件中的問題,根據(jù)這些問題,工程師會做進(jìn)一步檢查和重構(gòu)。在重構(gòu)過程中,代碼異味檢測是重要步驟。
1相關(guān)工作
代碼異味檢測的相關(guān)研究從1999年開始,至今有將近20年研究歷史。隨著計算機(jī)學(xué)科的發(fā)展,對于代碼異味檢測的研究出現(xiàn)了不同的分支,主要分為以下幾個類別。基于手工的代碼異味檢測方法,這個方法在代碼異味研究早期使用。Travassos等人創(chuàng)建了一個“閱讀技術(shù)”的集合,通過在紙上列舉清單,使用觀察方法幫助人們找到相關(guān)信息,并識別軟件構(gòu)件中的缺點(diǎn),通過這種方式來改善軟件質(zhì)量[5]。但這類方法具有一定缺點(diǎn),對于大型系統(tǒng)來說,手工進(jìn)行代碼異味檢測的效率低下。基于度量的代碼異味檢測方法,通過使用如代碼行數(shù)、參數(shù)個數(shù)、代碼字符數(shù)等數(shù)據(jù)作為度量來檢測代碼異味。Marinescu等人開發(fā)了一個Eclipse插件,插件將設(shè)計問題量化,根據(jù)問題設(shè)置相應(yīng)的度量值,并用于檢測4種代碼異味。通過使用插件能夠持續(xù)評估系統(tǒng)質(zhì)量,并幫助開發(fā)者進(jìn)行軟件重構(gòu)[6]。基于度量的方法,性依賴于閾值的選擇,但對于標(biāo)準(zhǔn)閾值,現(xiàn)在沒有一致的定論。并且該方法受限于檢測比較簡單的代碼異味,對于較復(fù)雜的代碼異味不能直接用度量檢測。基于癥狀的代碼異味檢測方法,通過對代碼異味定義和描述進(jìn)行分析,提取特征和標(biāo)記,利用檢測算法進(jìn)行檢測,判斷是否具有代碼異味。Moha等人通過分析獲取代碼異味關(guān)鍵詞列表,然后使用領(lǐng)域特殊語言形成規(guī)則卡片,根據(jù)建模生成檢測算法,對15個代碼異味進(jìn)行檢測[7]。基于癥狀的方法和代碼異味癥狀有關(guān),但是目前對于異味癥狀沒有一致的標(biāo)準(zhǔn)定義,因此該方法受到一定的限制。基于概率的代碼異味檢測方法,統(tǒng)計代碼中類之間的屬性和關(guān)系的數(shù)據(jù),結(jié)合模糊邏輯規(guī)則和數(shù)學(xué)分析來檢測代碼異味。Ananda等人提出一種量化方法,結(jié)合直接關(guān)聯(lián)和間接關(guān)聯(lián)的數(shù)量關(guān)系,利用傳播概率矩陣來檢測2種重要代碼異味[8]。這類方法使用概率統(tǒng)計來分析檢測代碼異味,對于不方便量化的代碼異味檢測效果有限。基于可視化的代碼異味檢測方法,結(jié)合自動檢測工具和人的手動檢測來識別代碼異味。Emerson等人使用一個可交互的代碼異味檢測工具來快速觀察和認(rèn)識代碼異味,通過不同的角度來理解和可視化代碼異味[9]。由于在方法中結(jié)合人的手動檢測,因此該類方法受限于人的效率,可擴(kuò)展性不強(qiáng)。基于搜索的代碼異味檢測方法,使用不同的算法直接從源代碼中識別和檢測代碼異味,其中大部分檢測使用機(jī)器學(xué)習(xí)相關(guān)算法。對于機(jī)器學(xué)習(xí)方法,需要對輸入進(jìn)行處理,根據(jù)標(biāo)準(zhǔn)輸入來得到的分類輸出結(jié)果。Fontana等人使用機(jī)器學(xué)習(xí)技術(shù)進(jìn)行代碼異味檢測,利用機(jī)器學(xué)習(xí)方法對代碼異味進(jìn)行分類,自動檢測代碼異味。他們使用了16種機(jī)器學(xué)習(xí)算法,對4種代碼異味DataClass,LargeClass,FeatureEnvy,LongMethod進(jìn)行檢測,并在軟件系統(tǒng)中進(jìn)行實(shí)驗,并通過人工確認(rèn)來構(gòu)造代碼異味樣本,把這些樣本作為機(jī)器學(xué)習(xí)的標(biāo)準(zhǔn)輸入,通過交叉驗證對實(shí)驗結(jié)果進(jìn)行評價[10]。基于搜索的方法的算法成功依賴于數(shù)據(jù)集和訓(xùn)練集的質(zhì)量,在處理未知和變化的代碼異味時受到一定限制。基于協(xié)作的代碼異味檢測方法,以合作的方式執(zhí)行不同的活動來改善方法效果,提高檢測方法的性和性能。目前相關(guān)文獻(xiàn)較少,Abdelmoez等人使用兩個并行算法加速搜索過程,減少搜索空間,使用風(fēng)險評估來檢測代碼異味[11]。但這個方法用于檢測其他代碼異味時,存在一些泛化問題。
2異味檢測方法
本文選擇基于搜索的代碼異味檢測方法,采用機(jī)器學(xué)習(xí)算法來對所選擇的幾種代碼異味進(jìn)行識別。在選擇代碼異味時,主要考慮幾個方面,代碼異味有較高出現(xiàn)頻率,代碼異味對于軟件質(zhì)量有較大負(fù)面影響,代碼異味已經(jīng)有相關(guān)研究文獻(xiàn)和應(yīng)用實(shí)現(xiàn)[10]。根據(jù)要求,本文選擇了DataClass,DuplicatedCode,Inappro-priateIntimacy,LongMethod四個代碼異味進(jìn)行檢測。通過對相關(guān)機(jī)器學(xué)習(xí)算法的研究和比較,發(fā)現(xiàn)在代碼異味檢測中,決策樹算法具有較好的分類效果[10]。在本文中,使用J48決策樹算法作為檢測算法,對所選擇的四個代碼異味進(jìn)行識別。本文使用k重交叉驗證來對實(shí)驗結(jié)果進(jìn)行驗證,通過算法的率,召回率以及定義的到目標(biāo)率平均距離來比較算法效果[12],其中,P表示率,R表示召回率,TP表示正確正類,F(xiàn)P表示錯誤正類,F(xiàn)N表示錯誤負(fù)類,D表示到目標(biāo)率平均距離,TAPi表示某個實(shí)驗中率,TAP表示目標(biāo)率。通過比較實(shí)驗,可以知道,本文使用的異味檢測方法,在選擇的四種代碼異味上具有較好的識別效果。
3結(jié)語
現(xiàn)有的代碼異味檢測方法劃分為幾個類別,在對基于搜索的代碼異味檢測方法進(jìn)行研究后,本文選擇決策樹算法來對代碼異味進(jìn)行檢測,并在選擇的四種代碼異味上取得了不錯的識別效果。
作者:李炎武 單位:四川大學(xué)計算機(jī)學(xué)院