當前位置:學問君>學習教育>畢業論文>

計算機軟件安全檢測技術研究

學問君 人氣:1.11W
  計算機軟件安全檢測通常是用來對軟件的安全漏洞和安全功能進行檢測的一種手段,下面是小編蒐集整理的一篇探究計算機軟件安全檢測的論文範文,供大家閱讀參考。

摘要:隨着科學與技術的發展,計算機應用更加普及。目前,計算機已經成爲人們生活和生產的必要工具。人們在使用計算機的同時對計算機性能和計算機的輔助功能的要求也逐漸提高。計算機和網絡賴以生存的基礎就是軟件。計算機軟件的安全性成爲了計算機軟件性能的組成部分,同時計算機軟件安全檢測技術又可以實現有效確保計算機軟件的安全性。由此表明,計算機安全檢測技術已儼然成爲保護計算機軟件的關鍵性因素,即安全檢測技術可根據不同的安全指標對計算機軟件進行安全測試,並有效識別出軟件中存在的安全隱患。本文就計算機軟件安全檢測技術及其應注意的問題進行分析,以確保計算機軟件的安全性。

計算機軟件安全檢測技術研究

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

一、引言

計算機軟件安全檢測是以有效發現軟件開發中所存在的故障及風險,並對其進行修改、更正爲目的的,因此計算機軟件的安全檢測技術在軟件開發的整個過程中發揮着不可或缺的作用。從根本上講,計算機軟件安全檢測即是花費較少的測試時間和精力獲取最大限度的軟件檢測覆蓋面,從而確保安全檢測的有效性。

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

計算機軟件的安全檢測是計算機軟件開發過程中的一個關鍵性環節,是計算機軟件開發中的一個重要組成部分。透過計算機軟件安全檢測,我們可以發現軟件在應用過程中的缺點和故障所在,可以實現對計算機軟件在應用過程中產生風險的有效更正。然而,計算機軟件的安全檢測並不能作爲避免軟件程序中產生錯誤的主要手段,計算機安全軟件安全檢測只是負責找出程序在應用過程中容易產生錯誤的位置。通常情況下,計算機軟件安全檢測主要分爲靜態檢測和動態檢測兩種類別。

計算機軟件安全檢測通常是用來對軟件的安全漏洞和安全功能進行檢測的一種手段,是保證軟件開發後功能與預期目標設計保持一致的有力保障。就目前情況講,計算機軟件安全檢測的具體範疇主要包含三個方面,即功能測試、滲透測試和驗證過程。計算機安全軟件檢測與其他檢測軟件不同,對於計算機軟件安全缺陷的檢測,計算機軟件安全檢測更注重於有效避免軟件工作範疇以外的事物,而普通的檢測軟件則強調軟件該做的事物。另外計算機軟件安全功能是否能夠滿足用戶的需求是透過安全功能檢測來實現的,衡量其滿足用戶需求與否的主要包含授權、機密性、安全管理及訪問控制等因素。而對於計算機安全漏洞的檢測,其主要目的是發現軟件中可能存在的缺陷,亦或是識別出某些缺陷對計算機軟件存在的潛在風險。

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

從某種角度上分析,計算機軟件安全檢測,其實質即是對計算機軟件進行安全檢測的一個動態過程。通常在進行計算機軟件安全檢測時應注意以下兩點事項:

第一,選擇有效且合理的軟件安全檢測方案。對於計算機軟件的安全檢測應在充分了解、掌握該計算機軟件要求及特性的基礎上,根據測試的具體情況選用合理的安全檢測手段,並編制出與之相應的.安全檢測方案,以確保安全檢測方案實施的有效性。此外,對軟件的檢測人員還應該有一定的要求。計算機進行軟件安全檢測時,應確保在有相關知識及經驗的軟件安全分析人員參與的同時,還應配備熟悉並掌握該軟件特點及使用的設計人員。唯有透過計算機軟件及安全檢測等多領域的相關技術人員的有效配合,才能達到有效確保計算機軟件性能安全性的理想效果。

第二,計算機進行軟件安全檢測的過程中,應做到全面分析。一般計算機軟件程序較爲繁瑣、規模較大,這就需要相關人員在進行計算機軟件安全檢測的過程中,應做到對代碼級、系統級和需求級的細緻分析。與上述選擇軟件檢測方案一樣,在進行軟件中不同級別時也應加強對分析技術的合理選擇,才能保證分析結果的準確性。如此看來,計算機軟件的安全檢測是一項較爲複雜的系統型過程,因此選擇合理的檢測技術和檢測方案,是計算機軟件安全檢測過程中不可忽視的兩個注意事項。

四、計算機軟件的安全檢測方法

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

通常情況下,對於計算機軟件的安全檢測程序而言,規模較大的計算機軟件系統包含了多個子系統,而不同的子系統中又包含了多個不同的模組。

一般計算機軟件安全檢測的流程爲:模組測試→組裝系統→系統結構的安全檢測→軟件功能和性能的有效測試→系統測試。其中模組測試是指子系統中最小單位的模組測試,其目的是爲了使測試的覆蓋範圍更加全面化、細節化,從而及時發現小模組中所隱藏的潛在風險;在進行各個模組測試完成後,應根據軟件程序的設計要求對所有模組進行組裝,將其組裝成完整的系統,同時對組裝後的系統結構進行相應的安全檢測;之後在保證前述檢驗合格的基礎上對系統軟件進行功能和性能的有效測試,有效測試的主要目的是爲了確保系統軟件功能和性能與用戶需求的一致性;最後在所有相關測試完成後,實施對整個軟件的系統性測試。如此層層把關的軟件安全檢測流程可爲用戶軟件的安全性提供有力的保障。

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

1.形式化的安全檢測

此種安全檢測方法是鑑於計算機軟件數學模型的基礎之上的,並且要求在形式規格語言的支援前提下,所提供的形式化規格說明。目前較爲常用的形式規格語言有三種,其中包括行爲語言、模型語言和有效狀態語言。有定理證明和基於模型檢查正式的安全檢測方法[3]。

2.基於模型的安全靜態檢測方式

模型安全檢測方式,即透過軟件行爲與結構建模的方法,形成一個測試模型,此模型同時滿足機器對其的可讀性。模型安全檢測方式與上述形式化安全檢測相比而言,基於模型的測試並不致力於讓待測軟件系統與規格說明在所有情況下都保持一致,而是系統化的從模型生成一組測試用例,使用這組測試用例測試待測軟件系統,得到充分的證據說明待測系統的行爲與模型期望的是一致的。常用的安全功能檢測方法是有限狀態機和馬爾可夫鏈的方法的。

3.語法檢測

這種檢測方法是基於語法對生成功能接口軟件進行檢測。語法檢測,通常情況下以研究反映爲目的,即計算機軟件在不同的輸入條件下而產生的不同類型的反映。採用語法檢測的方法,一般即指對計算機軟件接口處語言的識別、語言語法的定義等,並在以語法爲基礎生產檢測用例同時執行安全檢測。

4.基於故障注入的安全檢測。

此種方法經實踐證實,具有明顯提高安全檢測自動化程度的獨特優勢,是計算機軟件安全檢測技術中的重要組成部分。這裏講的故障注入式安全檢測,即指在選定故障模型的基礎上,構建故障樹,並透過人爲的反覆測試及對軟件所反饋的故障資訊,來實現檢測故障容錯性和安全性等有用資訊.

5.模糊式檢測方法

模糊式的檢測方法有效的融合了傳統檢測技術與動態檢測的具體應用,即是建立於白盒模糊檢測的基礎之上的,是傳統檢測方法的昇華。模糊檢測法雖然是一項簡單的技術,單他卻揭示出程序中重要的bug。它能夠驗證出現實世界中的錯誤模式並在軟件發貨前對潛在的應該被阻塞的攻擊渠道進行提示[3]。

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

安全屬性式的檢測方法相比於其他軟件安全檢測方法來說,能夠實現有效確保安全漏洞擴展性和交互性的全面分析。實現採用安全屬性式的檢測方法進行測試的途徑,首先應有效確定計算機軟件的安全編程規則,並將其作爲軟件安全檢測的安全屬性;其次利用得到的安全屬性對系統程序的相關代碼進行檢測,以驗證系統代碼與相應規則的符合性。

除上述所講,隨着社會各領域的快速發展,基於Web服務的分佈式軟件得到廣泛應用,因此與之相應的軟件安全檢測技術也應不斷分析總結,並實現安全檢測的技術創新。

總而言之,計算機軟件的安全檢測儼然已經成爲有效確保計算機資訊安全性的關鍵性因素。鑑於軟件安全對計算機軟件開發及使用的重要作用,我們應在實踐中不斷學習並積累經驗,以實現計算機軟件安全檢測技術的不斷創新。

 參考文獻:

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

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

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