現如今互聯網高度發達,智能化的軟件成為商業決策、推廣等不可缺少的利器,很多軟件涉及了客戶商業上重要的信息資料,因此企業都很關心軟件的安全性。往往一個細小的安全漏洞,對客戶產生的影響都是巨大的。所以企業都想著盡可能的保證軟件的安全性,確保軟件在安全性方面能滿足客戶期望,在軟件測試行業,安全測試的重要性是不言而喻的。
一、什么是軟件安全性測試 ?
安全性測試是指有關驗證應用程序的安全等級和識別潛在安全性缺陷的過程。應用程序級安全測試的主要目的是查找軟件自身程序設計中存在的安全隱患,并檢查應用程序對非法侵入的防范能力,根據安全指標不同測試策略也不同。
二、軟件安全測試的測試手段
1、代碼安全測試:
主要通過對源代碼進行安全掃描,根據程序中數據流、控制流、語義等信息與其特有軟件安全規則庫進行匹對,從中找出代碼中潛在的安全漏洞。靜態的源代碼安全測試是非常有用的方法,它可以在編碼階段找出所有可能存在安全風險的代碼,這樣開發人員可以在早期解決潛在的安全問題。而正因為如此,靜態代碼測試比較適用于早期的代碼開發階段,而不是測試階段。
2、滲透測試:
是使用自動化工具或者人工的方法模擬黑客的輸入,對應用系統進行攻擊性測試,從中找出運行時刻所存在的安全漏洞。這種測試的特點是真實有效,一般找出來的問題都是正確的,也是較為嚴重的。但滲透測試一個致命的缺點是模擬的測試數據只能到達有限的測試點,覆蓋率很低。
3、程序數據掃描:
一個有高安全性需求的軟件,在運行過程中數據是不能遭到破壞的,否則會導致緩沖區溢出類型的攻擊。數據掃描的手段通常是進行內存測試,內存測試可以發現許多諸如緩沖區溢出之類的漏洞,而這類漏洞使用除此之外的測試手段都難以發現。例如,對軟件運行時的內存信息進行掃描,看是否存在一些導致隱患的信息,當然這需要專門的工具來進行驗證。
4、功能驗證
功能驗證是采用軟件測試當中的黑盒測試方法,對涉及安全的軟件功能,如:用戶管理模塊,權限管理模塊,加密系統,認證系統等進行測試,主要驗證上述功能是否有效,具體方法可使用黑盒測試方法。
5、偵聽技術
偵聽技術實際上是在數據通信或數據交互過程,對數據進行截取分析的過程。目前最為流行的是網絡數據包的捕獲技術,通常我們稱為 Capture,黑客可以利用該項技術實現數據的盜用,而測試人員同樣可以利用該項技術實現安全測試。
審核編輯黃宇
-
測試
+關注
關注
8文章
5162瀏覽量
126472 -
軟件安全
+關注
關注
0文章
23瀏覽量
9197
發布評論請先 登錄
相關推薦
評論