軟件安全問題不僅僅關乎著用戶的隱私還關乎到企業的名聲,所以軟件安全測試是軟件產品必不可少的一項檢測。每個軟件產品的性質不同所以測試的方案也有所不同。如果遵循相同的原則,證明軟件的安全性,將有利于軟件安全性測試工作規范的實施和軟件安全性測試的發展。
安全測試的主要目的是在軟件自己的程序中查找隱藏的安全隱患,并檢查應用程序防止非法入侵的能力。根據不同的安全指標,測試策略也有所不同。如果遵循相同的原則,證明軟件的安全性,將有利于軟件安全性測試工作規范的實施和軟件安全性測試的發展。
安全測試檢查系統防止非法入侵的能力。
在安全測試期間,測試人員假裝為非法入侵者,并使用各種方法試圖突破防御。
例如:
①找到攔截或解密密碼的方法;
②專門定制的軟件破壞了系統的保護機制;
③故意造成系統故障,并在恢復過程中嘗試非法進入;
④嘗試通過瀏覽非機密數據等來獲取所需信息。
從理論上講,只要有足夠的時間和資源,就不會有無法訪問的系統。因此,系統安全設計的原則是使非法入侵的代價超過受保護信息的價值。目前,侵入者已無法再獲利了。
安全測試用于驗證系統中集成的保護機制是否可以在實踐中保護系統免受非法入侵。俗話說:“系統的安全性當然必須能夠抵御正面攻擊,但也必須能夠抵御側面和背面的攻擊。”
在安全測試期間,測試人員扮演個人角色,試圖攻擊系統。測試人員可以嘗試通過外部手段獲取系統密碼,并可以使用可能破壞任何防御措施的客戶端軟件來攻擊系統;該系統可以被“制服”,以使其他人無法訪問它;它可能有目的地導致系統錯誤。在系統恢復期間入侵系統;您可以通過瀏覽非機密數據等找到進入系統的密鑰。
只要有足夠的時間和資源,良好的安全測試最終就會入侵系統。系統設計者的任務是設計系統,以使破壞系統的成本大于破壞系統后獲得的信息的價值。