- 計算機軟件安全檢測方法 推薦度:
- 相關(guān)推薦
計算軟件的安全檢測方法
計算軟件的安全檢測方法【1】
摘要:隨著(zhù)科學(xué)技術(shù)水平的不斷提高,計算機軟件在生產(chǎn)生活中的應用也越來(lái)越廣泛,已經(jīng)深入到國民經(jīng)濟的各個(gè)領(lǐng)域,但隨之而來(lái)的軟件安全問(wèn)題也正在得到大家的注意。
眾所周知,一旦軟件出現重大安全問(wèn)題,將直接導致計算機文件的丟失,有的甚至造成系統癱瘓等更為嚴重的后果。
本文主要以計算機軟件的安全檢測為研究對象,對計算機軟件安全的檢測方法進(jìn)行了相關(guān)論述。
關(guān)鍵詞:計算機檢測方法;軟件安全;計算機安全
計算機軟件安全檢測主要是為了避免由于軟件應用問(wèn)題所產(chǎn)生的潛在的安全風(fēng)險。
近年來(lái)針對計算機的軟件安全檢測,越來(lái)越受到社會(huì )各界的重視,關(guān)于計算機軟件安全的檢測方法,也在不斷的討論與研究中被大家認識。
本文主要針對計算機軟件的安全檢測方法進(jìn)行了相關(guān)論述,以期更好的預防計算機軟件安全問(wèn)題。
一、計算機軟件安全測試的重要性分析
計算機軟件的安全檢測是在計算機軟件開(kāi)發(fā)過(guò)程中的十分重要的環(huán)節,計算機軟件檢測的主要目標是為了發(fā)現軟件中可能存在的一些故障問(wèn)題,從而可以有效的預防計算機存在的潛在風(fēng)險。
計算機的安全測試是保障計算機程序安全的有效手段。
從目前計算機安全測試的方法來(lái)看,一般是分為靜態(tài)測試和動(dòng)態(tài)測試。
就計算機軟件安全測試來(lái)講,計算機軟件安全檢測是為了檢測計算機是否能夠安全運行計算機軟件預定所預設的程序。
軟件測試的過(guò)程一般包括功能測試和滲透測試以及驗證過(guò)程這三個(gè)主要程序。
計算機軟件安全測試的安全性和一般意義上所說(shuō)的軟件缺陷存在著(zhù)很大區別,軟件安全檢測所側重的是軟件應該做什么,而不是可以做什么。
在進(jìn)行計算機軟件安全檢測時(shí),一般分為計算機安全檢測和計算機安全漏洞檢測。
計算機安全功能的測試是檢測計算機的軟件安全功能和安全功能之間的步調是否一致。
軟件的安全功能測試所涉及的內容非常的廣泛,具體包括了機密性和授權,同時(shí)還包括訪(fǎng)問(wèn)控制及安全管理等等。
相比之下計算機軟件的安全漏洞就非常不同,主要是針對軟件中可能存在的一些缺陷進(jìn)行測試,如果不進(jìn)行相關(guān)測試。
則該缺陷很有可能會(huì )導致軟件日常的應用中出現故障,所以,進(jìn)行計算機安全測試是十分有必要的。
二、計算機軟件安全檢測的注意事項
計算機的軟件安全測試是一個(gè)動(dòng)態(tài)的測試過(guò)程,在實(shí)際操作過(guò)程中需要注意以下事項。
首先要針對所檢測的計算機軟件進(jìn)行深入的了解,了解計算性軟件的相關(guān)特性。
經(jīng)過(guò)綜合分析后,進(jìn)行選擇想對應的檢測技術(shù)手段,本著(zhù)從實(shí)際出發(fā)的角度制定出安全合理的檢測方案,方案必須經(jīng)濟合理且保證檢測的效果。
在人員配置方面,要注意檢測人員專(zhuān)業(yè)的多源化。
在進(jìn)行計算機的軟件安全檢測的時(shí)候,不僅僅是要配備相應的軟件安全分析人員,同時(shí)還需要與軟件設計相關(guān)的總體設計人員,只有多方面全力配合,才能分析解決軟件測試中的多種疑難問(wèn)題。
其次在進(jìn)行計算軟件安全的相關(guān)檢測時(shí),對系統級以及需求級和代碼級的分析是必須進(jìn)行的。
當軟件規模較大的時(shí)候,還要對軟件的結構設計方面進(jìn)行必要的分析。
在進(jìn)行分析的過(guò)程中要選擇實(shí)際工作中較為合理的分析方法,一般采用仿真環(huán)境和相應的分析工具來(lái)進(jìn)行相關(guān)的檢測工作。
計算機檢測是一個(gè)系統的過(guò)程,單一的方法有時(shí)候往往難以獨立完成,需要多方面技術(shù)人才的通力配合才能準確無(wú)誤的完成檢測。
三、計算機軟件安全檢測方法論述
(一)計算機軟件測試的步驟
對于計算機軟件的程序來(lái)講,規模較大的軟件系統一般是由是由一些子系統共同組成的,而不同的一些子系統又由若干個(gè)小的模塊構成。
計算機軟件測試一般的步驟是,先進(jìn)行一定的單元測試,就是通常所說(shuō)的模塊測試,模塊測試一般是依據軟件設計中的最小單位所進(jìn)行的測試。
模塊測試的目標是為了發(fā)現系統模塊可能存在的一些缺陷。
在模塊測試之后,將所有的模塊按照一定的程序進(jìn)行設計并組裝成系統。
并且需要對相關(guān)的體系進(jìn)行一定的安全測試。
在此基礎之上,進(jìn)一步進(jìn)行有效性的測試,有效性測試是十分必要的步驟。
有效性測試的主要目的是對軟件的性能和功能進(jìn)行檢查,檢測是否與用戶(hù)的需求相吻合。
最后的步驟是進(jìn)行系統測試,就是通過(guò)有效性的軟件將計算機支持軟件、數據已經(jīng)硬件等結合起來(lái)進(jìn)行測試。
(二)計算機軟件安全檢測的方法論述
1.形式化與模型的安全測試。
對于安全檢測方法來(lái)講,首先是要確立軟件的數學(xué)模型,運用形式規格說(shuō)明語(yǔ)言的支持來(lái)進(jìn)行形式化的規格說(shuō)明。
一般經(jīng)常用到的形式規格和語(yǔ)言包括了基于模型語(yǔ)言、以及基于有限狀態(tài)的語(yǔ)言和基于行為的語(yǔ)言。
基于模型的安全的功能測試方法該方法,是對計算機的軟件行為和結構,通過(guò)建模的方式生成測試的模型。
然后以測試模型作為基礎進(jìn)而生成檢測,從而驅動(dòng)軟件的計算機安全檢測。
一般較為常用的模型安全功能測試的方法主要有馬爾可夫鏈。
2.語(yǔ)法測試與故障注入的安全測試。
語(yǔ)法測試是對被檢測的軟件的功能接口的語(yǔ)法生成的軟件測試輸入的方法。
這種方法可以測試軟件對于不同類(lèi)型輸入的反應情況。
語(yǔ)法測試進(jìn)行測試的程序是對軟件接口的語(yǔ)言的識別以及定義語(yǔ)言的語(yǔ)法。
故障注入的安全性測試是利用故障分析樹(shù)和故障樹(shù)的最小割集來(lái)進(jìn)行檢測。
故障分析樹(shù)分析法使用系統最不應該出現的時(shí)間作為頂事件,以此來(lái)尋找故障可能發(fā)生的中間事件和底事件,故障注入法可以提高檢測的自動(dòng)化程度,是比較充分的計算機安全檢測方法。
3.模糊測試與基于屬性的測試。
模糊測試,目前使用較多的是基于白盒的模糊測試方法,這種方法是對傳統意義上的模糊測試方法的一種進(jìn)步。
這種檢測方法比較有效的結合了傳統的模糊測試與動(dòng)態(tài)的測試方法。
而基于屬性的測試的測試方法是先確定軟件的安全編程規則,然后將確定的規則編碼做為安全屬性來(lái)驗證系統是不是遵守這些程序。
這種檢測方法的主要優(yōu)勢在于能夠比較有效的分析安全漏洞的擴展性和交互性等。
四、結束語(yǔ)
計算機軟件的安全測試對于計算機的正常使用有著(zhù)非常重要的意義,本文主要介紹了計算機軟件測試的幾種比較常見(jiàn)的方法,通過(guò)分析計算機軟件測試的重要意義,引起對計算機軟件安全的重視,探究出更科學(xué)合理的計算機軟件測試方法,以保證計算機軟件的安全。
參考文獻:
[1]王維靜,王樹(shù)明,陳震,申春,彭秀增. 軟件安全的多指標綜合評測[J].計算機工程與應用,2006,(11)
[2]William B Bierce,Michael Harold. New Us patent gwildelines offer hope to software developers in era of diminishing copyright protection .Tolley‘s computer law And Practise,1995,Vol.11,Vol.11 (No.4)
[3]Shahid Alikhan,Raghunath Mashelkar.Intellectual Property and Competitive Strategies in the 21st Century .Kluwer Law International,2004
[4]Bernard A. Galler. Software and Intellectual Property Protection: Copyright and Patent Issues for Computer and Legal Professionals .Quorum Books,1995
計算機軟件安全檢測方法【2】
摘要:隨著(zhù)現代科學(xué)技術(shù)的不斷發(fā)展,越來(lái)越多的領(lǐng)域需要利用計算機軟件,為了發(fā)現計算機軟件中的故障,才有了軟件安全檢測,并且對計算機軟件中的風(fēng)險進(jìn)行有效的避免與更正。
在如今病毒與黑客橫行的時(shí)代,維護計算機的安全更是成為一項重要的任務(wù)。
軟件的應用越來(lái)越廣泛,規模和復雜度不斷提高,軟件中的安全缺陷與漏洞也在不斷增多,隨著(zhù)使用范圍的擴大,軟件的安全性問(wèn)題也越來(lái)越多。
軟件的安全測試保證了計算機和軟件的安全性,降低了計算機的風(fēng)險。
關(guān)鍵詞:檢測;安全;軟件
隨著(zhù)計算機技術(shù)的迅速發(fā)展,計算機軟件的安全隱患問(wèn)題也漸漸增多,所以軟件的安全檢測也越來(lái)越重要,而軟件的安全檢測研究技術(shù)也需要進(jìn)一步加強。
本文重點(diǎn)闡述了關(guān)于計算機軟件檢測的一些方法和工具。
1 什么叫計算機的安全檢測
這里所說(shuō)的安全檢測,是指用科學(xué)和技術(shù)的手段來(lái)發(fā)現軟件中出現的各種故障、問(wèn)題和風(fēng)險,并且進(jìn)行修正、診斷,以確保計算機和軟件的安全。
具體的檢測過(guò)程中,要選擇正確而安全的檢測方法。
2 軟件的檢測應注意以下幾點(diǎn)
(1)從軟件的特點(diǎn)和要求出發(fā),選擇軟件適合軟件的檢測方法,并且盡量使檢測人員多樣化,并從多個(gè)角度制定合理安全的檢測方法,只有多個(gè)領(lǐng)域同時(shí)配合,才能對軟件進(jìn)行更好的檢測。
(2)選擇合理的安全檢測方法,計算機軟件的安全檢測僅僅是查找程序錯誤的手段,所以如果此類(lèi)軟件比較大,就應該對這種軟件的內部進(jìn)行分析和研究,而且要根據實(shí)際選擇不同的分析方法,這樣才合理。
3 安全檢測軟件的意義是什么
計算機軟件安全檢測的目的是為了發(fā)現軟件所存在的故障,并且對故障進(jìn)行修正和診斷,以此來(lái)避免和降低計算機的危險性。
2003年發(fā)生了蠕蟲(chóng)病時(shí)間以及后來(lái)的熊貓燒香病毒,都給用戶(hù)帶來(lái)了風(fēng)險性。
只有做好軟件安全工作,防治漏洞被利用,才能保證用戶(hù)信息的安全性,為用戶(hù)的計算機安全保駕護航,才是軟件檢測的最終目的。
4 檢測計算機軟件的幾種方法
4.1 靜態(tài)檢測
靜態(tài)檢測是指是不實(shí)際的運行被測試的計算機軟件,而是靜態(tài)的檢測和分析計算機的程序和代碼,檢測計算機軟件中潛在的安全問(wèn)題,從而對軟件的風(fēng)險性進(jìn)行修正和診斷。
靜態(tài)檢測包含了代碼質(zhì)量和代碼檢查等幾項,它可以用軟件進(jìn)行檢測,也可以由人工進(jìn)行檢測。
很多時(shí)候靜態(tài)檢測僅僅只是作為特性分析的方法,所以,靜態(tài)檢測又被稱(chēng)之為“分析”,總而言之,靜態(tài)檢測就是對被檢測的軟件或程序進(jìn)行分析的一種方法的總稱(chēng)。
靜態(tài)檢測的任務(wù)包括了以下幾項:(1)檢查模塊接口的正確性;(2)檢查輸入參數是否有合法性檢查;(3)檢查算法的邏輯正確性;(4)檢查是否設置了適當的錯誤處理;(5)檢查程序的風(fēng)格的一致性和規范性;(6)檢查代碼是否可以?xún)?yōu)化;(7)檢查代碼注釋是否是完整的。
4.2 動(dòng)態(tài)檢測
動(dòng)態(tài)檢測又分為三種,這三種分別是灰盒測試、白盒測試、以及黑盒測試。
白盒測試又被稱(chēng)為透明盒測試,它基于代碼,有一定的邏輯性。
白盒測試的目的是通過(guò)分析軟件內部的邏輯和原理,并且對內部的結構進(jìn)行覆蓋性的檢測,檢查點(diǎn)隨程序的不同而不同,檢查程序是為了確定內部的結構與邏輯是不是與預測的一樣。
它的檢測過(guò)程共有幾項,(1)檢查設計階段;(2)檢測計劃階段;(3)檢測執行階段;(4)檢測的結尾,里面主要有錯誤推測和因果圖,還有分析邊界的值,等等。
黑盒測試,黑盒測試又被稱(chēng)為是數據驅動(dòng)測試和功能測試,它根據規格說(shuō)明書(shū)設計測試用例,黑盒測試不程序內部構造,并且是一種從用戶(hù)功能出發(fā)的測試。
黑盒測試包括幾個(gè)過(guò)程,(1)測試計劃階段;(2)測試設計階段;(3)測試執行階段;(4)測試的結果。
黑盒測試的幾種主要方法包括等價(jià)類(lèi)劃分,邊界值分析,錯誤推測和因果圖。
黑盒測試和白盒測試的對比,雖然黑盒測試的效率比白盒測試要高,黑盒測試由于不涉及程序內部,所以只能觀(guān)察到軟件的表面現象,而白盒測試則相反,白盒測試能發(fā)現程序內部的問(wèn)題和風(fēng)險,比如誤差累計等方面。
兩種測試相比較,黑盒測試的性能與白盒測試相比有較大差異。
4.3 形式化的軟件檢測法
形式化檢測的基本思想是建立軟件的數學(xué)模型,所以這種測試方法必須要求測試者了解數學(xué)的模型,所以大體上將它分為兩類(lèi),一類(lèi)是模型測試,另一類(lèi)是定理證明。
模型檢測用狀態(tài)遷移系統S描述軟件的行為,通過(guò)自動(dòng)搜索S中的不滿(mǎn)足公式F的狀態(tài)來(lái)發(fā)現計算機軟件中所帶的危險性。
4.4 語(yǔ)法軟件測試
語(yǔ)法測試是要求被測軟件接口要與語(yǔ)法生成對接,檢測被測軟件對各類(lèi)輸入的響應,目的在于發(fā)現一些很可能會(huì )導致電腦崩潰的一些軟件缺陷,如不能存儲、或者數組發(fā)生變化等缺陷,語(yǔ)法測試不但能發(fā)現這些缺陷,還提高系統的可靠性和穩定性。
4.5 模糊測試
這種模糊測試的功能是發(fā)現系統中的一些高危漏洞,模糊測試在安全檢測中顯得尤為重要,就目前來(lái)看,一般應用的模糊測試都是基于白盒的安全測試。
目前來(lái)看,雖然采用模糊測試中的功能可以發(fā)現其它的軟件測試法很難發(fā)現的一些安全缺陷,但模糊測試很沒(méi)有穩定性,而且不可靠。
4.6 故障測試
該測試方法最主要的特點(diǎn)是高度靈活性,一方面,它可以對軟件的可靠性和安全性進(jìn)行測試,另一方面,它也能實(shí)現軟件方法的故障注入測試技術(shù),雖然該軟件具有靈活性和突破性,但是也存在故障的有效注入、故障的精確模擬、通用性等等問(wèn)題,所以仍有待改善和提高。
綜上所述,計算機的安全檢測在計算機安全體系中屬于不能缺少重要部分,計算機軟件安全檢測方法技術(shù)還有待提高,因為它是計算機軟件的安全保障,能夠為計算機的運行和工作保駕護航。
安全性測試一般要重點(diǎn)考慮SQL注入和XSS,這是最容易攻擊的漏洞。
安全測試的工具可采取各類(lèi)方法,一個(gè)好的檢測方法應該要滿(mǎn)足明確性、廣泛性、易用性、客觀(guān)性等要求。
5 安全檢測的最終目的
安全檢測是保障軟件和計算機安全的重要工作之一。
計算機軟件安全檢測是通過(guò)對軟件測試、計算、考核與驗證來(lái)最終分析和確定軟件是否不會(huì )為使用者帶來(lái)威脅。
廣大的技術(shù)人員和測試人員,以及軟件開(kāi)發(fā)員要充分認識到軟件安全檢測的重要性,只有不斷提高安全檢測的技術(shù),才能更好的為廣大的用戶(hù)服務(wù)。
6 總結
綜上所述,當今計算機技術(shù)飛速發(fā)展,黑客和病毒也泛濫成災,為了防止計算機的安全被威脅,而軟件安全檢測方法主要就是對軟件進(jìn)行一系列的分析、計算,檢測,從而得出結論,判斷出軟件設計中是否存在一定的危險性,并且排除威脅,對軟件進(jìn)行隔離或者改善。
網(wǎng)絡(luò )時(shí)代飛速發(fā)展的今天,軟件的可行與否直接關(guān)系到整個(gè)網(wǎng)絡(luò )的安全,也成為大多數網(wǎng)民和用戶(hù)所關(guān)注的問(wèn)題。
技術(shù)人員只有不斷開(kāi)拓和研發(fā)新技術(shù),才能使計算機和軟件的風(fēng)險大大降低,軟件的安全性已經(jīng)不容小視,并且越來(lái)越受到人們的重視,安全測試軟件的技術(shù)也在不斷的發(fā)展與進(jìn)步。
參考文獻:
[1]高婷.計算機軟件安全檢測技術(shù)研究[J].計算機光盤(pán)軟件與應用,2012(17):73-74.
[2]王兵兵.計算機軟件安全檢測存在問(wèn)題及方法探討[J].計算機光盤(pán)軟件與應用,2011(20):116-116.
[3]周曉成.關(guān)于計算機軟件安全檢測技術(shù)的研究[J].計算機光盤(pán)軟件與應用,2011(23):87-87.
[4]肖俊.計算機軟件安全檢測方法分析[J].科技資訊,2012(3):32-32.
[5]朱巖.淺析計算機軟件安全檢測存在問(wèn)題及方法[J].科技創(chuàng )新與應用,2012(11):51-51.
[6]王俊民.關(guān)于計算軟件的安全檢測方法探究[J].計算機光盤(pán)軟件與應用,2012(4):51-51,47.
計算機軟件安全檢測方法【3】
摘 要:計算機技術(shù)的迅猛發(fā)展使得計算機軟件的應用領(lǐng)域不斷擴大,在看到計算機軟件為我們生活帶來(lái)便利的同時(shí),我們更應該注意到計算機軟件中存在的漏洞和風(fēng)險。
對此,我們要加強對軟件安全性能的測試。
本文通過(guò)分析計算機軟件中存在的主要漏洞和風(fēng)險,介紹了幾種比較實(shí)用的安全檢測方法,為提高軟件的安全性能提供了一些建議。
關(guān)鍵詞:計算機;軟件;安全
對計算機軟件進(jìn)行安全測試主要是為了確保軟件的安全性能與最初的設計一致,提升軟件的自我防御能力。
它并不能證明應用程序中沒(méi)有錯誤,而是為了在危險來(lái)臨之前,找出并更正軟件中存在的問(wèn)題。
1 計算機軟件存在的漏洞和風(fēng)險
1.1 軟件加密不可靠
加密主要存有以下弱點(diǎn):(1)加密算法不夠嚴密,容易被破解;(2)加密鎖受處理能力的限制,無(wú)法為軟件提供強有力的保護;(3)數據簽名工作做得不好,數據常常被攻擊者更改。
因此,在對軟件進(jìn)行安全測試時(shí),要重點(diǎn)測試軟件的加密弱點(diǎn)。[1]
1.2 錯誤處理
一般來(lái)說(shuō),錯誤處理會(huì )返回部分信息給軟件使用者。
在這個(gè)過(guò)程中,如果調用了一些不該有的功能,那么這些信息就有可能被其他人利用,一些黑客甚至會(huì )通過(guò)分析這類(lèi)錯誤信息來(lái)制定攻擊策略。
1.3 權限設置問(wèn)題
一般來(lái)說(shuō),在對軟件進(jìn)行設計時(shí),要分權限。
在軟件中分配操作員的權限,可以規劃操作員的操作權限,可以使操作人員在工作中只能操作他權力范圍內的工作內容,出現問(wèn)題可以找到負責人。
但是如果賦予的權限過(guò)大,那么操作人員就很可能越過(guò)權限去做一些危害安全的操作。
權限過(guò)大是設計空間過(guò)大造成的。
因此,測試人員在測試應用程序的權限時(shí),應注意檢查設計空間的大小。
2 常用的安全檢測方法
2.1 滲透測試
滲透測試其本質(zhì)是以測試工具為輔,憑借測試人員的攻防能力和經(jīng)驗,模擬黑客攻擊的過(guò)程,提前發(fā)現軟件存在的問(wèn)題,并及時(shí)地予以更正。
它的優(yōu)點(diǎn)在于:它能站在攻擊方的角度,深度挖掘軟件中存在的安全漏洞,一般發(fā)現的問(wèn)題都是真實(shí)存在且極為嚴重的。
但也正因為這樣,測試人員在選取測試工具時(shí),要格外小心,盡量選擇可控制、不具備攻擊性的工具。
因為如果選擇不當,將會(huì )導致病毒和木馬的入侵和擴散,給整個(gè)系統的運行帶來(lái)不利影響。
此外,滲透測試還存在一些缺點(diǎn):它的成果大多取決于測試人員的攻防能力和經(jīng)驗。
它所模擬的測試數據存有局限性,覆蓋率不高。
2.2 靜態(tài)測試
與其他測試方法相比,靜態(tài)測試并不是通過(guò)運行被檢測軟來(lái)完成的,而是通過(guò)分析源程序的語(yǔ)法、結構等來(lái)檢測軟件的編程是否合符標準。
此類(lèi)測試方法既可以靠測試人員完成,也可以通過(guò)某些特定的軟件工具自動(dòng)完成,比較常見(jiàn)的靜態(tài)測試工具有:Log scope、PRQA兩種。
與動(dòng)態(tài)測試相比,它具有快速找到安全漏洞,返工成本低、覆蓋率和查錯率高等優(yōu)點(diǎn)。
但是,它測試所需要的時(shí)間也很長(cháng)。[2]
2.3 黑盒測試
所謂黑盒測試就是把軟件看作一個(gè)黑箱子,測試人員不需要知道這個(gè)黑箱子里面裝的是什么、黑箱是怎么操作的,即不需要花心思去了解軟件的內部構造。
測試人員需要做的就是嚴格把關(guān)黑箱的進(jìn)出口,即僅僅需要了解軟件的輸入和輸出結果。
這樣一來(lái),為測試人員減少了很多測試工序和測試時(shí)間,測試人員的工作與編程人員的工作完全是分開(kāi)的。
但是,如果完全像軟件使用者一樣去使用和操作軟件,也會(huì )產(chǎn)生一些問(wèn)題。
首先測試人員只能對一小部分輸入進(jìn)行測試,不能對所有輸入進(jìn)行測試。
其次,測試人員在測試軟件時(shí),采用的測試用例很可能是開(kāi)發(fā)人員已經(jīng)使用過(guò)的,測試效率不高。
再者,它并不能對軟件的某個(gè)程序段進(jìn)行單獨測試,而這類(lèi)程序段或許存在錯誤。
因此,本文認為測試人員在使用黑盒測試方法時(shí),應該按照以下四個(gè)步驟來(lái)判斷程序的正確性:(1)認真審視軟件的行為是否處于正常范圍;(2)仔細檢查輸出結果的正確性;(3)輸入各種信息,結合(1)和(2)來(lái)觀(guān)測軟件的反應程度;(4)時(shí)常對軟件的關(guān)鍵部位進(jìn)行診斷。
2.4 白盒測試
如果黑盒測試是中醫,那么白盒測試就是西醫了。
與黑盒測試相比,白盒測試方法是把被軟件產(chǎn)品視為一個(gè)打開(kāi)的盒子,需要測試人員去理解軟件的內部結構以及運行方式。
測試人員需要利用某些測試工具,跟蹤并檢查某個(gè)輸入信息進(jìn)入軟件之后對軟件的影響、軟件是如何處理這些影響以及處理方式是否符合標準。
比如對于一個(gè)與SQL Server數據庫連接的軟件系統來(lái)說(shuō),可以簡(jiǎn)單地把程序的作用看作是:把用戶(hù)輸入的數據通過(guò)SQL命令請求后臺數據庫,數據庫把請求的數據返回給程序的界面層展示給用戶(hù)。
可以把SQL Server自帶的工具事件探查器當成是一個(gè)檢查SQL數據傳輸的精密儀器,它可以記錄軟件客戶(hù)端與服務(wù)器數據庫之間交互的所有舉動(dòng),測試人員能清楚地知道軟件究竟發(fā)揮了什么作用。
白盒測試的優(yōu)點(diǎn)在于它能幫助測試人員熟悉代碼的每條路徑,檢查出藏于代碼中的錯誤。
但是它也有缺點(diǎn),那就是測試成本高,無(wú)法檢測代碼中遺漏的路徑和數據敏感性錯誤。
2.5 灰盒測試方法
灰盒測試綜合了白盒測試和黑盒測試的特點(diǎn)。
主要表現為:它既要檢測輸出、輸入是否正確,又要關(guān)注程序內部運行狀態(tài)。
如有時(shí)輸出是正確的,但內部早已出現了錯誤,如果采用白盒測試方法來(lái)測試,效率會(huì )非常低,在此種情況下,就需要采取灰盒測試方法。[3]
與黑、白盒測試方法相比,灰盒測試有以下幾個(gè)特點(diǎn):(1)利用灰盒測試方法,測試人員能更為全面地了解軟件產(chǎn)品;(2)與白盒測試相比,灰盒測試因為程序代碼的改變而導致用例無(wú)效的幾率更低;(3)與白盒測試相比,灰盒測試方法需要測試人員去了解程序的代碼邏輯。
利用灰盒測試方法進(jìn)行測試需要注意以下幾點(diǎn)問(wèn)題:(1)灰盒測試是從軟件的整體出發(fā)的。
因此,測試人員在進(jìn)行測試設計時(shí),要從軟件的整體出發(fā);(2)將灰盒測試用于單元測試,而非集成測試;(3)灰盒測試方法需要測試人員深入了解產(chǎn)品的代碼邏輯。
因此,在測試時(shí),業(yè)務(wù)邏輯圖是非常重要的,測試人員需要按照業(yè)務(wù)邏輯圖來(lái)劃分功能點(diǎn),并擴展用例。
3 各種測試方法之間的聯(lián)系
無(wú)論是黑盒測試,還是白盒測試。
他們都不是絕對的靜態(tài)或者動(dòng)態(tài)測試方法。
如測試人員在利用黑盒測試方法,運行程序,看輸入輸出時(shí),黑盒測試就有可能是動(dòng)態(tài)測試;測試人員在利用黑盒測試方法,不運行程序,只看界面時(shí),黑盒測試也有可能是靜態(tài)測試。
測試人員在利用白盒測試方法,運行程序并且分析代碼結構時(shí),白盒測試有可能是動(dòng)態(tài)測試;測試人員在利用白盒測試方法,不運行程序,只靜態(tài)察看代碼時(shí),白盒測試也有可能是靜態(tài)測試。
4 結束語(yǔ)
總之,計算機軟件的安全直接影響到人民的隱私、財產(chǎn)安全。
安全測試對于提高計算機的使用效率,維護用戶(hù)的利益非常重要。
社會(huì )各界在關(guān)注計算機軟件性能的同時(shí),更應該注意提高軟件的安全性能。
參考文獻:
[1]高曉.論軟件的破解與保護策略[J].長(cháng)春工程學(xué)院學(xué)報(自然科學(xué)版),2013(03).
[2]郭向英,劉景煒.匯編語(yǔ)言自動(dòng)單元測試工具設計方法研究[J].質(zhì)量與可靠性,2006(03).
[3]張衛祥,劉文紅.灰盒測試方法的實(shí)踐與研究[J].飛行器測控學(xué)報,2010(06).
【計算軟件的安全檢測方法】相關(guān)文章:
10-05
10-09
10-05
10-05
10-08
09-30
10-05
10-08
10-01