摘要:計(jì)算機(jī)現(xiàn)在已經(jīng)在不同領(lǐng)域中廣泛應(yīng)用,其中,計(jì)算機(jī)軟件是計(jì)算機(jī)進(jìn)行各項(xiàng)活動必須的設(shè)備,對軟件進(jìn)行安全檢測是十分必要的,本文從計(jì)算機(jī)安全檢測技術(shù)涉及的內(nèi)容入手,繼而分析了計(jì)算機(jī)軟件進(jìn)行安全檢測時的注意事項(xiàng),最后討論了計(jì)算機(jī)軟件進(jìn)行安全檢測技術(shù)適用的方法,希望對計(jì)算機(jī)軟件行業(yè)的相關(guān)人員有所啟發(fā)。
關(guān)鍵詞:計(jì)算機(jī)軟件;安全檢測技術(shù);分析
中圖分類號:TP393.08 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 15-0000-02
不同類別的計(jì)算機(jī)軟件能夠滿足用戶的不同需求,軟件開發(fā)在我國以及世界上都屬于發(fā)展興旺的產(chǎn)業(yè),在設(shè)計(jì)軟件之前,設(shè)計(jì)者都要提出相應(yīng)的設(shè)計(jì)目標(biāo),比如軟件的性能、應(yīng)用領(lǐng)域、設(shè)計(jì)思路等都需要進(jìn)行考慮,軟件開發(fā)完成后,需要對其進(jìn)行安全性的檢測,目的是檢測設(shè)計(jì)完畢的軟件是否能夠達(dá)到預(yù)期的應(yīng)用目的,在安全檢測的過程中,會發(fā)現(xiàn)軟件中潛藏的風(fēng)險性漏洞,發(fā)現(xiàn)后也及時采取措施進(jìn)行排除,以便保證計(jì)算機(jī)軟件在真正使用時的安全性能。
1 計(jì)算機(jī)安全檢測技術(shù)涉及的內(nèi)容
在計(jì)算機(jī)進(jìn)行軟件開發(fā)的過程中,需要對其進(jìn)行安全檢測或者測試工作,安全檢測技術(shù)是非常必要的,它能夠在檢測的過程中了解軟件的性能,對于軟件的安全隱患能夠及時發(fā)現(xiàn)并消除,計(jì)算機(jī)軟件的安全檢測,有一個明確的追求,那就是希望檢測技術(shù)能夠?qū)浖M(jìn)行全方位的檢測,而且盡量減少檢測的次數(shù),這樣能夠節(jié)省時間和資源,另一方面,要注意檢測的效率,既發(fā)現(xiàn)軟件運(yùn)行過程中出現(xiàn)的異常情況。就目前來看,計(jì)算機(jī)軟件進(jìn)行的安全檢測,方法有兩種,一種是動態(tài)檢測,一種是靜態(tài)檢測。
在設(shè)計(jì)特定軟件之前,首先要明確軟件的性能和要求,在安全檢測中,參照的標(biāo)準(zhǔn)就是軟件在運(yùn)行的過程中是否與既定的要求相符;計(jì)算機(jī)軟件的安全檢測一般包括三個環(huán)節(jié),一是對功能進(jìn)行的各項(xiàng)測試,二是滲透測試,第三是驗(yàn)證的過程。在安全測試中,注重的是軟件不能進(jìn)行的任務(wù),而不是應(yīng)該進(jìn)行的任務(wù);在普遍情形之下,安全檢測由兩個主要的方面構(gòu)成,其中之一是安全檢測的功能;另一個方面叫做安全檢測漏洞。測試功能時,參考的指標(biāo)就是軟件的安全性和既定的安全需求是否符合;計(jì)算機(jī)安全檢測涉及的方面是非常廣的,比如機(jī)密性,訪問控制和對信息的授權(quán)都在測試的范圍之內(nèi);安全漏洞檢測并不和計(jì)算機(jī)軟件的安全功能檢測是一回事,兩者有很大的差異性,主要針對的是計(jì)算機(jī)軟件在運(yùn)行過程中的缺陷,而且這些缺陷已經(jīng)嚴(yán)重影響軟件的運(yùn)行和使用。
2 計(jì)算機(jī)軟件進(jìn)行安全檢測時的注意事項(xiàng)
計(jì)算機(jī)進(jìn)行安全檢測,很明顯是動態(tài)運(yùn)行的,筆者根據(jù)實(shí)踐總結(jié)了以下幾個方面,希望計(jì)算機(jī)軟件檢測人員予以重視。
2.1 預(yù)先制定檢測方案
在制定檢測方案時,首先要對計(jì)算機(jī)軟件的要求有一個綜合的了解,在此基礎(chǔ)上進(jìn)行周密的分析,然后選擇合適的技術(shù)檢測技術(shù),依據(jù)與計(jì)算機(jī)檢測相關(guān)的情況,設(shè)置科學(xué)性的檢測方案;另一方面,在檢測人員的選擇上,要擺脫單一的人員構(gòu)成,精通計(jì)算機(jī)各方面的專業(yè)人員都要配備,比如安全分析人員,操作人員,軟件的設(shè)計(jì)者都應(yīng)該參與檢測,這樣能夠?qū)τ?jì)算機(jī)軟件不同性能的測驗(yàn)都有專門人士指導(dǎo)和分析,能夠保證安全檢測的效率。
2.2 計(jì)算機(jī)軟件進(jìn)行安全檢測的過程中要對不同層級的系統(tǒng)進(jìn)行細(xì)致分析
軟件安全檢測的過程中,應(yīng)該對代碼級,系統(tǒng)級以及需求級進(jìn)行與之相對應(yīng)的分析。若檢測的軟件具有龐大的規(guī)模,第一步要做的就是分析設(shè)計(jì)者對軟件結(jié)構(gòu)的設(shè)計(jì)思路,應(yīng)該結(jié)合現(xiàn)實(shí)需要進(jìn)行分析,分析的方法一定要保持較高的適用度;進(jìn)行分析的環(huán)節(jié)中,為了更好地完成工作,將仿真環(huán)境和分析工具結(jié)合起來是可行的辦法。
2.3 合理選取安全檢測的方法
計(jì)算機(jī)軟件的安全檢測工作,系統(tǒng)性很強(qiáng),需要各方的配合,需要很多的方法,如果只是用一個檢測方法,幾乎沒有可能完成所有的檢測任務(wù),所以,方法選擇的合理性是非常重要的,應(yīng)該由專業(yè)人員共同商討確定合理的檢測方法;方法一旦選擇錯誤或者不適當(dāng),對于計(jì)算機(jī)軟件的安全檢測技術(shù)就沒有了可靠性。
3 計(jì)算機(jī)軟件進(jìn)行安全檢測技術(shù)適用的方法分析
計(jì)算機(jī)軟件的安全檢測需要一定的技術(shù)支持,需要使用特定的技術(shù)。按照正確的方法進(jìn)行檢測。
3.1 計(jì)算機(jī)軟件安全檢測適用的程序
一般而言,計(jì)算機(jī)軟件系統(tǒng)如果具有較為龐大的規(guī)模,那么它必定包含很多的子系統(tǒng),而子系統(tǒng)之下又可以進(jìn)行細(xì)分,由不同性質(zhì)的模塊組成,計(jì)算機(jī)軟件進(jìn)行安全檢測時,一般按照特定的程序或者步驟進(jìn)行,第一步要做的就是要做好單元測試,一般以模塊為單位進(jìn)行;這個安全測試的對象是軟件的最小構(gòu)成單位,測試的主要任務(wù)是找出模塊中的不足和缺點(diǎn),及時發(fā)現(xiàn)并解決。模塊的安全測試能夠?yàn)槠渌臏y試做好鋪墊工作,模塊測試完成以后,遵循既定的設(shè)計(jì)程序,將不同的模塊匯合成一個系統(tǒng),接下來檢測的部位就是系統(tǒng)的結(jié)構(gòu)構(gòu)成。
3.2 計(jì)算機(jī)安全檢測適用的方法
首先,是形式化的安全檢測,適用的方法是根據(jù)軟件的特點(diǎn)建立教學(xué)模型,依據(jù)此種形式選用支持的語言,然后確定具有某種形式特點(diǎn)的規(guī)格。形式規(guī)格語言的種類很多,比如依據(jù)模型的語言、依據(jù)行為的語言等。
第二個方面,是對模型安全功能進(jìn)行的檢測。一般的方法是明確計(jì)算機(jī)軟件的各種任務(wù)行為,以及具體的結(jié)構(gòu),然后構(gòu)建適合的模型,使之可以用于安全性檢測的需要,然后在此前提下形成檢測的用例,進(jìn)而驅(qū)動計(jì)算機(jī)軟件實(shí)施安全性的各項(xiàng)檢測。通過實(shí)踐運(yùn)用得知,針對于模型的檢測方法有如下幾種,比如有限狀態(tài)的機(jī)器、馬爾科夫鏈。
第三,根據(jù)實(shí)際進(jìn)行語法檢測。語法檢測的方法能夠反饋計(jì)算機(jī)軟件識別不同語言的情形,一般步驟是首先要識別軟件的接口語言,然后定義特定語言的語法類別,與此同時,還要做好計(jì)算機(jī)軟件實(shí)行安全檢測的任務(wù)。
第四個方面,是進(jìn)行“模糊測試”。根據(jù)經(jīng)驗(yàn)方法來看,模糊測試是在白盒測試的基礎(chǔ)上進(jìn)行的安全測試,與以往的模糊測試方法相比較而言,這種模糊測試的方法更加先進(jìn),更加合理;因?yàn)檫@種測試方法不僅汲取了傳統(tǒng)模糊測試的優(yōu)點(diǎn),又將白盒模糊測試技術(shù)應(yīng)用于其中,從而保證了計(jì)算機(jī)軟件安全檢測技術(shù)的有效性。模糊測試方法的技術(shù)含量并不高,因此幾乎沒有技術(shù)上的難度問題出現(xiàn),但是它的作用還是很明顯的,能夠?qū)Τ绦蛑惺钟泻康腷ug突出出來,可以對不正確的模式給予揭示,并能夠告知檢測者出現(xiàn)的攻擊途徑。
4 總結(jié)
以上分析了有關(guān)計(jì)算機(jī)軟件的安全檢測技術(shù),主要三個方面展開分析;對計(jì)算機(jī)軟件進(jìn)行安全性檢測,是為了保證軟件在計(jì)算機(jī)中的使用安全和計(jì)算機(jī)本身安全,從而促使計(jì)算機(jī)完成各項(xiàng)工作,滿足不同領(lǐng)域的人們的不同需求。計(jì)算機(jī)的安全檢測技術(shù)應(yīng)該有所創(chuàng)新和發(fā)展,軟件檢測人員應(yīng)該有所追求,爭取用最少的檢測次數(shù),能夠?qū)⒂?jì)算機(jī)軟件的所有性能都進(jìn)行綜合性的檢測,及時發(fā)現(xiàn)安全隱患,并在第一時間內(nèi)采取措施予以解決,從而保證計(jì)算機(jī)軟件的正常應(yīng)用性能。由于筆者的個人水平有限,對于本文的分析可能并不完整,希望熱心的讀者能夠在本文的基礎(chǔ)上給予補(bǔ)充或者更新,使更好的計(jì)算機(jī)軟件的安全檢測技術(shù)全面呈現(xiàn),使更多的從業(yè)人員受益。
參考文獻(xiàn):
[1]馬海濤.計(jì)算機(jī)軟件安全漏洞原理及防范方法[J].科協(xié)論壇(下半月),2009,06.
[2]蔣廷耀,王訓(xùn)宇,馬凱,關(guān)國翔.基于EAI和AOP的軟件安全測試及應(yīng)用研究[J].計(jì)算機(jī)科學(xué),2009,04.
[3]李潔.軟件測試用例設(shè)計(jì)[J].電腦編程技巧與維護(hù),2010,04.
[4]楊洪路,宮云戰(zhàn),高文齡,白哥樂.軟件安全靜態(tài)檢測技術(shù)與工具[J].信息化縱橫,2009,09.
[5]單錦輝,姜瑛,孫萍.軟件測試研究進(jìn)展[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,01.