關于軟件測試中的軟件安全性測試
安全測試檢查系統對非法侵入的防范能力。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如,①想方設法截取或破譯口令;②專門定做軟件破壞系統的保護機制;③故意導致系統失敗,企圖趁恢復之機非法進入;④試圖通過瀏覽非保密數據,推導所需信息,等等。理論上講,只要有足夠的時間和資源,沒有不可進入的系統。因此系統安全設計的準則是,使非法侵入的代價超過被保護信息的價值。此時非法侵入者已無利可圖。 安全測試用來驗證集成在系統內的保護機制是否能夠在實際中保護系統不受到非法的侵入。俗話說: “ 系統的安全當然必須能夠經受住正面的攻擊 —但是它也必須能夠經受住側面的和背后的攻擊。 ” 在安全測試過程中,測試者扮演著一個試圖攻擊系統的個人角色。測試者可以嘗試去通過外部的手段來獲取系統的密碼,可以使用可以瓦解任何防守的客戶軟件來攻擊系統;可以把系統“制服”,使得別人無法訪問;可以有目的地引發系統錯誤,期望在系統恢復過程中侵入系統;可以通過瀏覽非保密的數據,從中找到進入系統的鑰匙等等! 只要有足夠的時間和資源,好的安全測試就一定能夠最終侵入一個系統。系統設計者的任務就是要把系統設計為想要攻破系統而付出的代價大于攻破系統之后得到的信息的價值。
軟件安全性測試包括程序、數據庫安全性測試。根據系統安全指標不同測試策略也不同。
用戶認證安全的測試要考慮問題:
1. 明確區分系統中不同用戶權限
2. 系統中會不會出現用戶沖突
3. 系統會不會因用戶的權限的改變造成混亂
4. 用戶登陸密碼是否是可見、可復制
5. 是否可以通過絕對途徑登陸系統(拷貝用戶登陸后的鏈接直接進入系統)
6. 用戶推出系統后是否刪除了所有鑒權標記,是否可以使用后退鍵而不通過輸入口令進入系統
系統網絡安全的測試要考慮問題
1. 測試采取的防護措施是否正確裝配好,有關系統的補丁是否打上
2. 模擬非授權攻擊,看防護系統是否堅固
3. 采用成熟的網絡漏洞檢查工具檢查系統相關漏洞(即用最專業的黑客攻擊工具攻擊試一下,現在最常用的是NBSI系列和IPhacker IP)
4. 采用各種木馬檢查工具檢查系統木馬情況
5. 采用各種防外掛工具檢查系統各組程序的客外掛漏洞
數據庫安全考慮問題:
1. 系統數據是否機密(比如對銀行系統,這一點就特別重要,一般的網站就沒有太高要求)
2. 系統數據的完整性(我剛剛結束的企業實名核查服務系統中就曾存在數據的不完整,
對于這個系統的功能實現有了障礙)
3. 系統數據可管理性
4. 系統數據的獨立性
5. 系統數據可備份和恢復能力(數據備份是否完整,可否恢復,恢復是否可以完整)
文章來源于領測軟件測試網 http://www.kjueaiud.com/