肖俊
摘要:目的,探究性分析計算機軟件安全檢測的方法。避免由于軟件應用所帶來的潛在風險。結論:計算機軟件安全檢測方法的研究對軟件安全檢測工作來說有著不可低估的作用,是保障計算機軟件安全必不可少的手段之一。
關鍵詞:計算機軟件檢測方法分析
中圖分類號:TP2文獻標識碼:A文章編號:1672-3791(2012)01(c)-0032-01
隨著科學技術的發(fā)展,計算機軟件的應用范圍越來越廣泛。本文從計算機軟件安全檢測的概述出發(fā),在論述計算機軟件安全檢測需要注意問題的基礎上分析了計算機軟件安全檢測的方法。
1計算機軟件安全檢測概述
軟件開發(fā)的重要環(huán)節(jié)是計算機軟件安全檢測,檢測的目的是為了發(fā)現(xiàn)軟件所存在的故障而對程序進行執(zhí)行的過程,從而有效的對計算機軟件潛在的風險進行更正。軟件安全檢測的目標是用較少的測試用例來達到最大的軟件檢測覆蓋,從而極好的發(fā)現(xiàn)軟件存在的問題。計算機軟件安全檢測其的存在并不能證明程序中沒有錯誤,它僅僅是查找程序錯誤的手段。從目前計算機軟件安全檢測情況來看。進行安全測試的方法主要分為靜態(tài)與動態(tài)兩大類。
計算機軟件安全檢測是確定軟件所具有的安全實現(xiàn)是否能夠與軟件預期的設計要求一致的過程,這個過程包括功能測試、滲透測試與驗證過程3個部門。計算機軟件安全檢測的安壘性與一般的軟件缺陷有一定的區(qū)別,軟件安壘檢測所強調的是軟件不應該做什么,而不是軟件應該做什么。計算機軟件安壘檢測通常分為安全功能與安全漏洞進行檢測兩個方面。安全功能測試是檢測計算機軟件安全功能是否與安全需要之間步調一致。軟件安全功能需求做涉及的內容比較廣,具體包括機密性、授權,訪問控制及安全管理等等。而計算機軟件安壘漏洞的檢測則與此不同,其針對的是軟件可能存在的缺陷,該缺陷有可能導致軟件在應用中存在一定的風險。
2計算機軟件安全檢測是應注意的問題
從計算機軟件安全檢測來看,其是一個動態(tài)的檢測過程。在進行軟件安全檢測是需要關注到的問題有如下幾點。
一是要針對所檢測的計算機軟件所特有特點與涉及要求,在綜合分析的基礎上通過選擇適合軟件的檢測技術手段,并從實際出發(fā)的角度制定合理的安全檢測方案。同時,在進行計算機軟件安全檢測時要關注檢測人員的多元化,在計算機軟件安全檢測過程中不僅僅要配備軟件安壘分析員。還要需要配備對該軟件系統(tǒng)熟悉同時是還是該系統(tǒng)的總體設計人員參加,只有多領域的配合才能更好的對軟件安壘進行檢測。二是在進行計算軟件安全檢測時,系統(tǒng)級、需求級與代碼級的分析是必須的。如果該軟件的規(guī)模比較大。還應對其進行軟件結構設計方面的分析。在具體的分析過程中從實際工作需要選擇合理的分析技術,必要時可以進行仿真環(huán)境與分析工具來協(xié)助檢測工作。從計算機安全檢測的角度來看,其過程是一個系統(tǒng)化的過程,無法通過簡單的方法來解決一個系統(tǒng)的所有安全檢測問題,因而在具體的家算計安全檢測過程中,需要選擇合理的安全檢測方法。
3計算機軟件安全檢測方法
3.1形式化安全測試
該安全檢測方法是確立軟件的數(shù)學模型,通過形式規(guī)格說明語言的支持提供形式化的規(guī)格說明。比較常用的形式規(guī)格語言有基于模型的語言、基于有限狀態(tài)的語言及基于行為的語言。有定理證明與模型檢測兩種形式化安全檢測的方法。
3.2基于模型的安全功能測試
該方法是對計算機軟件的行為與結構通過建模的方式生成測試模型。以測試模型為基礎生成檢測用例,進而驅動軟件安全檢測。比較常用的模型安全功能測試方法有有限狀態(tài)機與馬爾可夫鏈等等。
3.3語法測試
該測試方法是以被檢測軟件的功能接口的語法生成軟件的測試輸入,通過這種方式檢測軟件對不同種類輸入的反映情況。用該方法進行測試的通常程序是對軟件接口的語言進行識別,定義語言的語法,在以語法為基礎生產測試用例同時執(zhí)行安全檢測。
3.4基于故障注入的安全性測試
該安全檢測方法是應用故障分析樹與故障數(shù)的最小割集來生產檢測用命。故障數(shù)分析法用系統(tǒng)最不該發(fā)生的時間作為頂事件。在尋找導致事故發(fā)生可能的中間事件與底事件,通過合理的邏輯門符號將頂事件、中間事件動化程度,是比較充分的安全檢測方法。
3.5模糊測試
目前所用的是基于白盒的模糊測試,是對傳統(tǒng)模糊測試技術的進步。該檢測方法有效的結合傳統(tǒng)的模糊測試技術與動態(tài)測試用例。
3.6基于屬性的測試
該軟件安全檢測方法是首先確定軟件的安全編程規(guī)則,將確定的規(guī)則編碼作為安全屬性來驗證系統(tǒng)程序的代碼是否對這些規(guī)則進行了遵守。該檢測方法的優(yōu)勢是能夠有效分析安全漏洞的交互性及擴展性等的。
另外,近年來基于Web服務的分布式軟件快速發(fā)展,如何對Web服務開展安全性測試是分布式軟件安全性測試面臨的嶄新課題。而軟件安全檢測方法的存在其主要作用就是檢測、分析軟件或軟件設計中存在的這些安全問題,從而指導軟件進行安全性能改善。
通過上述分析,計算機軟件安全檢測是信息安全體系中必不可少的組成部分,軟件安全檢測對計算機軟件應用來說是其發(fā)展與應用的必然環(huán)節(jié)。應進一步加強對計算機軟件安全檢測方法的分析。