淺談計算機軟件安全檢測技術

學識都 人氣:2.01W

計算機軟件的安全檢測是計算機軟件開發中的一個極爲重要的部分,以下是小編爲大家蒐集整理的一篇探究計算機軟件安全檢測技術,供大家閱讀借鑑。

淺談計算機軟件安全檢測技術

摘要:步入21世紀以來,科學和技術不斷髮展,已經達到一個全新的高度,計算機開始廣泛運用到了各個領域,成爲人們生活、辦公不可缺少的工具。人們對計算機的要求也變得越來越高。計算機辦公離不開硬件和軟件,硬件是計算機運行的最基礎要求。軟件作爲計算機工作的大腦,對其進行安全檢測是保障計算機軟件能夠安全運行的重要內容之一。本文就計算機軟件安全檢測技術及其應注意的問題進行分析,以確保計算機軟件的安全性。

 關鍵詞:計算機;軟件安全;檢測方法

一、引言

軟件安全檢測,顧名思義,指的是用科學的手段和技術來發覺軟件開發中出現的各種故障,以及開發風險,對風險和故障進行診斷、更正和修改。計算機軟件安全檢測工作是軟件開發和使用中必不可少的工作。工作者要用其確保計算機軟件的安全性和有效性、已達到預期的效果。

 二、計算機軟件安全檢測簡介

計算機軟件的安全檢測是計算機軟件開發中的一個極爲重要的部分,缺少了它,計算機軟件開發是不完整的。通過對計算機軟件的檢測,我們熟知其安全性,可以發現軟件中存在的缺陷和漏洞,並加以彌補,從而使軟件得到優化和完善。但計算機軟件安全檢測手段卻不能作爲防止軟件錯誤發生的主要辦法,因爲計算機安全檢測的職責只是找出程序中容易發生錯誤。在現有技術中,軟件安全檢測分爲兩種,分別爲靜態檢測與動態檢測。

計算機軟件安全檢測實質就是:通過技術對軟件的漏洞和缺陷進行一遍系統化的檢測,以保證軟件開發後功能和預期的功能相差無二。現階段而言,計算機軟件的安全檢測技術主要包括三點:分別爲功能測試、滲透測試和檢驗過程。和其他軟件相比,計算機安全軟件有自己獨特的一處,安全軟件的檢測以避免軟件工作範疇以外的事物爲主,普通的軟件和它相比,則以軟件該做的事情爲主。用戶對軟件的依賴程度,需要軟件的安全程度來測試,安全檢測功能扮演的角色可謂是舉足輕重,它發現了軟件中存在的風險及隱患,有時候更能識別出某些軟件的缺陷對計算機所產生的安全風險。

三、計算機軟件安全檢測應該注意的事項

從另一種角度上講,計算機軟件安全檢測,實際上就是對計算機進行安全檢測的一個非靜態過程。通常在進行計算機軟件安全檢測時應注意以下兩個方面:

1.用科學合理的方案進行軟件檢測工作。進行檢測工作的人員應當具備以下幾種基本素質:

(1)充分了解軟件安全檢測工作。

(2)熟練掌握計算機軟件的特性。

只有具備這兩種基本素質,才能夠保證檢測方案實施起來。再者,應該對軟件檢測工作者提出相應的要求,應當確保在具備相關專業素質的人才進行工作時,周圍配備相關軟件特點及使用的技術性專員。只有通過與計算機軟件專業各種技術人員密切有效的配合,才能夠保證計算機軟件檢測工作順利完成,才能夠使得計算機軟件性能和安全性達到事先預期的效果。

2.在進行計算機軟件安全檢測工作中,工作人員應當利用自身素質和高科技設備進行全面,深入的分析。常見的計算機應用軟件程序編寫十分繁瑣、規模比較龐大,因此,工作人員在進行計算機軟件安全檢測工作時,應當着重注意對代碼級、系統級以及需求級進行深入分析。

跟上述選擇軟件檢測的方案相同,在進行軟件中不同的級別時候,應當採取不同的選擇,已達到科學、合理的檢測目的。由此可知,計算機軟件安全檢測是繁雜的系統性過程,在這個過程中,如何選擇一個或數個科學、合理的方案,是計算機軟件安全檢測工作者們必須冷靜思考的問題。

 四、計算機軟件的幾種安全檢測方法及流程

(一)計算機軟件安全檢測流程

在進行計算機軟件安全檢測時,有些大型的計算機應用軟件,它們包含數量很大的子系統,這些子系統又被分爲數個互不相同的模板。檢測工作可分爲以下幾個步驟:模塊測試→組裝系統→系統結構的安全檢測→軟件功能和性能的有效測試→系統測試。

這些步驟中,模塊測試指的是子系統中最小的一個模塊進行測試,工作者們進行模塊測試的`目的是使測試的輻射面更加廣泛、並且更加深入,在第一時間發現小模塊中所蘊藏了一些風險,進行完模塊測試後,工作者們會把所有經過細膩檢測後的模塊重新進行組裝,組裝完成後,再對完成後的系統進行一次全面而細緻的檢測工作,以確認其性能是否和預期相符。這樣,才能將軟件安全檢測流程做到最好。

(二)計算機軟件安全檢測的方式

1.形式化的安全檢測

此種檢測方法需要有計算機軟件的數學模型支撐,並需要有形式規格語言的支持方能完成。檢測時所用的常用規格語言有三種:行爲語言、模型語言和有效狀態語言。

2.以模型爲基礎的安全靜態檢測方式

模型安全檢測方式,即通過軟件行爲與結構建模,組成一個測試模型,機器對這個模型具備可讀性。常用的檢測方法是有限狀態機和馬爾可夫鏈。這種軟件安全檢測方法與第一種安全檢測方法相比,此種以模型爲基礎的測試方法比較系統化,它不致力於讓待測軟件系統與規格說明在所有情況下都保持不變,而是從模型生成一組測試用例,證明待測系統的行爲和模型與期望值相同。

3.語法檢測

語法檢測是基於語法對生成功能接口軟件進行檢測,研究計算機軟件在不同的輸入條件下產生的不同類型的反映。其檢測方法一般來說是指對計算機軟件接口處語言的識別、語法的定義並在以語法爲基礎生成檢測用例的同時,進行安全檢測。

4.以故障注入爲基礎要素的安全檢測。

此種檢測方法,是指在選定故障模型的基礎上,構建故障樹,並通過人爲的反覆測試及對軟件所反饋的故障信息,實現檢測故障容錯性和安全性等信息。它融合了傳統檢測技術和動態檢測方法,建立於白盒模糊檢測的基礎之上,是對傳統檢測方法的改進。模糊檢測法並不複雜,卻能夠尋找出程序中重要的bug,能夠驗證錯誤模式並對潛在攻擊渠道進行提示。這種檢測方法能夠提高安全檢測自動化程度,是計算機軟件安全檢測技術中的重要組成部分。

5.安全屬性式的檢測方法

該軟件安全檢測方法需首先確定軟件的安全編程規則,將確定的規則編碼作爲安全屬性來驗證系統程序的代碼是否對這些規則進行了遵守。其優點是,能夠有效分析安全漏洞的交互性及擴展性。

 五、結束語

計算機軟件安全檢測是信息安全體系中必不可少的組成部分。在信息化高速發展的今天,計算機的各類軟件以及計算機網絡的應用已經滲透到各行各業中,成爲人們工作和生活最重要的組成之一,而軟件安全檢測確保了計算機軟件應用的良性發展,因此我們必須在今後的工作學習中進一步加強對計算機安全檢測方法的研究。

參考文獻:

[1]王清.軟件漏洞分析技術[M].北京:電子工業出版社,2011,6

[2]艾倫.軟件安全工程[M].北京:機械工業出版社,2009,4

[3]李龍.軟件測試實用技術與常用模板[M].北京:機械工業出版社,2010,10