1. 首頁
  2. 計算機軟體

計算機軟體安全檢測存在的問題及方法綜述論文

計算機軟體安全檢測存在的問題及方法綜述論文

計算機軟體安全檢測主要是進行計算機軟體漏洞的檢測,計算機軟體漏洞的檢測主要針對軟體可能存在的缺陷且該缺陷有可能導致軟體在應用中存在一定的風險。由於軟體安全檢測對於軟體開發工作是極為重要的過程,對軟體安全檢測工作也是需要相應地高度重視。

1 計算機軟體安全檢測

計算機軟體安全檢測是利用執行程式的方式來發現軟體編寫過程中存在的一些漏洞並對漏洞進行修改的過程,從而對計算機軟體本身可能存在的風險進行有效地避免和改正,軟體安全檢測是軟體開發中及其重要的一環。軟體安全檢測所需要達到的目標是用更少的測試過程來實現更大的軟體安全覆蓋面,達到高效快速地發現軟體漏洞。目前網路中存在很多種對計算機軟體安全檢查的方法,但從本質上看,進行計算機軟體安全測試的方法主要兩大類。大部分檢測方案都是基於靜態檢測和動態監測兩大類檢測方法。

2 進行軟體安全檢測的意義

計算機軟體的安全檢測過程是整個軟體開發中極為重要的一個步驟,越早發現軟體中可能存在的一些故障問題,就意味著越早解決問題,就能將軟體出現問題的機率降到最低,有效地預防軟體崩潰。而計算機軟體的安全檢測則主要是對軟體中可能留存的一些漏洞進行測試,以免該漏洞在今後的日常使用中致使軟體出現故障,因此,對計算機軟體的安全進行檢測是很有必要性的。

3 軟體安全檢測存在的問題

3.1軟體安全檢測人員涉及廣泛

由於計算機軟體的相關特性,軟體安全檢測工作涉及的方面廣泛,所需要的檢測人員及技術的要求也就對應地提高,需要各方面的技術人才。對於檢測人員的多元化問題就極為重要,不僅人員要齊,各方面的合作也要密切。只有多部門的密切合作以及與軟體開發相關部門的密切溝通,才能高效的解決軟體檢測中出現的各種疑難問題。如果沒有密切的合作,在軟體安全檢測中,各自為戰,沒有有效的溝通,不能從實際出發,軟體安全檢測將無法順利進行下去,即使發現問題也沒有有效的辦法解決問題。

3.2軟體安全檢測工作量巨大

計算機檢測是一個系統的複雜的過程,有時候檢測工作量巨大。在進行對於系統級軟體或者程式碼級工程的分析工作時,進行軟體安全相關檢測必須需要進行大量的工作的。不僅如此,在所需檢測的軟體的規模較大的時候,還要對軟體的結構設計方面進行必要的分析。而且在對所需檢測的軟體的各個方面進行分析的過程中一般採用模擬環境和相應的分析工具來進行相關的檢測工作,因為這兩種分析比較切合實際工作,較為合理,所以這些分析工作都是必須進行的,這些必須進行的工作會大大增加軟體安全檢測過程的工作量。

4 軟體檢測問題解決方法

4.1在對軟體進行綜合分析的基礎上進行檢測

檢測人員在進行軟體安全檢測的工作時,必須考慮到每個軟體都有其獨一性,每個軟體都有不同的側重點,只有在對軟體進行系統化的綜合分析的基礎上,才能高效的制定符合該軟體的有效檢測方案,只有合適的才是最好的,在進行綜合分析時還應考慮到符合使用者需求,這樣實行的檢測程式才是最為可靠的。

4.2大力推廣檢測人員多元化

由於軟體安全檢測工作涉及範圍大,需要的檢測人員的技術方面也不盡相同。所以需要推廣人員多元化需要在進行軟體安全檢測時注意安排相近但不完全相同的人員在一起。大力推廣檢測人員的多元化,對於軟體可能存在的安全問題能夠更可能的發現,並且由於檢測人員的多元化,對於出現的問題得以解決的可能性也會增加。在推廣多元化的同時,也需要注意各部門之間的合作問題,集中優勢技術人才,加以密切的合作,將專業技術人才的潛力發揮到極致。多元化的人員和密切化的合作能夠到達檢測工作的事半功倍,提高軟體安全檢測效率。

4.3選擇合理的安全檢測方法

對於大量種類不同;使用者需求也不同的軟體,檢測人員需要選擇合理的檢測方法。對於有些系統級軟體和程式碼級工程,如果採用了不符合要求的檢測方法,有可能造成工作白費,耗費大量人工精力和大量資源及時間,最後所得的結果有可能不符人意。沒有一個能夠符合所有軟體檢測工作要求的安全檢測方法,只有選擇合適的檢測方法,才能達到預定的目標。軟體的安全檢測是系統化的一個過程,要解決整個系統內全部的安全問題,普通的方法是十分困難的,故進行具體的安全檢測時,如何選擇有效的、具有可行性的方案,是軟體檢測員必須認真思考的問題。

總體來說,合理地利用安全檢測方法,在最短時間內有效的'找出漏洞,及時進行修改。以下對於幾種方案進行簡要地介紹:

1)安全檢測方式實行形式化。安全檢測方式的形式化,是指透過在需檢測軟體之上建立科學模型來檢測的。其在確立相應模型後,在規範的形式語言支援下做出形式性規格說明。當前主要運用的形式規則語言主要有行為語言和模型語言以及有效狀態語言等。手段也主要分為模型檢測及定理證明等方式。

2)實行以模型為基礎的檢測方式。使用結構建模方式及軟體行為構建測試模型,以達到預期的理想檢測效果。以模型為基礎的檢測過程並不苛求軟體在各種具體情況下的一致性,其主要透過一些生成的試用例來測評的,並透過測查被測軟體系統與理想模型結果是否相同來進行安全檢測的。

3)模糊檢測

當今採用的模糊檢測是在傳統檢測技術上進行改進的檢測技術,其主要是在白盒技術上發展改進的檢測技術,有效地繼承了模糊測試和動態測試的優點,具有準確高效的特點。

4)基於故障注入的安全性測試

故障樹的建立工作是該安全檢測方法的基本。此方法將系統發生故障機率最小的時間作為頂事件,在此基礎上在進行中間事件、底事件的尋找工作,利用邏輯閘符號再將頂事件、中間事件與底事件進行連線,完成形成故障樹的工作。在保證精度的條件下,此方法可以實現故障檢測的自動化,實現檢測的高效性。

5)基於屬性的測試

基於屬性的檢測工作首先要完成確定軟體的安全程式設計規則工作,再進行檢測待測程式的程式碼是否都遵守其確定的規則編碼,採用這種方法能夠有效地分析安全漏洞。另外,近年大量分散式軟體快速發展就是基於web服務的快速發展,如何利用好web服務的優勢,將很大程度上取決於如何合理完成這些軟體的安全檢測工作。而基於web服務的軟體的安全檢測也將是適用於基於屬性的測試方法中的一項重要部分,高效的完成確定軟體的安全程式設計規則工作,也就將檢測工作完成了一大步。

7)運用語言測試技術。在靜態檢測技術中最早出現的檢測方法就是語言檢測技術,它所檢測的物件是軟體程式的原始碼及可能產生威脅的C語言函式庫呼叫,語言檢測常用的方式是進行對反應的研究,其過程通常是進行軟體介面的語言識別,再進行語法的定義,直至生成試用例來實際進行安全檢測。

8)以故障注入技術為基礎。如果想要檢測的比較全面,則可以用基於故障自如的安全測試。這種方式運用故障分析樹以產生用於檢測的試用例項來進行檢測。故障分析樹指的是把系統中出現可能最低的事件作為頂事件,再透過仔細檢測來找出事故發生過程中的中間事件及底事件。以邏輯閘符號,將項事件和中間事件以及底事件連成完整的一棵故障樹的方式。

5 結束語

軟體安全檢測是重要的一環軟體開發工作,合理利用安全檢測,做到軟體潛在漏洞的早發現、早修正、早解決,有效地避免軟體出現故障的惡性後果。隨著計算機技術的發展,對於軟體安全的重要性也在增加,進行軟體安全檢測的必要性也在增加。對於研究軟體安全檢測的方法具有重要意義和廣闊前景。