軟件安全測試知識分享
一、軟件安全測試是什么
軟件安全測試主要是對軟件產品進行安全問題上的測試,找到系統中可能存在的安全隱患和面對非法入侵時的防范能力。
二、為什么要進行軟件安全測試
進行軟件安全測試歸根結底就是為了提升軟件產品的安全質量,通過測試的過程盡量在軟件上線前找到安全問題并修復以降低成本,以及驗證系統中的保護機制在遇到實際問題時能否對系統進行保護,使之不受干擾和非法入侵。
三 軟件安全測試怎么做
一個完整的軟件安全測試,應當包括以下步驟:
1、部署與基礎結構
部署有沒有包括內部防火墻,網絡是否安全,目標環境支持怎樣的信任級別,基礎結構安全性需求的限制是什么。
2、輸入驗證
如何驗證輸入,是否驗證web頁輸入,是否對傳遞到組件或web服務的參數進行驗證,是否驗證從數據庫中檢索的數據,是否依賴客戶端的驗證,應用程序是否易受sql注入攻擊,應用程序是否易受xss攻擊,如何處理輸入。
3、身份驗證
是否區分受限訪問和公共訪問,如何驗證數據庫身份。
4、授權
如何在數據庫中授權應用程序,如何向最終用戶授權,如何將訪問限定于系統級資源。
5、配置管理
是否保證配置存儲的安全
6、敏感數據
是否存儲機密信息,如何存儲敏感數據,是否在網絡中傳遞敏感數據,是否記錄敏感數據。
7、會話管理
是否限制會話生存期,如何確保會話存儲狀態的安全。
8、加密
如何確保加密密鑰的安全性。
9、參數操作
是否在參數過程中傳遞敏感數據,是否驗證所有的輸入參數,是否為了安全問題而使用http頭數據。
10、異常管理
是否使用結構化的異常處理,是否向客戶端公開了太多的信息。