安全測驗
- 一 什么是安全測驗
- 二 安全測驗的目的
- 三 怎么做安全測驗
- 3.1 一個完整的安全性測驗
- 3.2 部署與基礎結構
- 3.3 輸入驗證
- 3.4 身份驗證
- 3.5 授權
- 3.6 配置管理
- 3.7 敏感資料
- 3.8會話管理
- 3.9 加密
- 3.10 引數操作
- 3.11例外管理
- 四 傳輸安全
- 4.1 HTTPS和SSL
- 4.2 服務器端的腳本漏洞檢查
- 4.3 防火墻測驗
- 五 與通常測驗的區別
- 5.1 目標不同
- 5.2 假設條件不同
- 5.3 思考域不同
- 問題發現模式不同
一 什么是安全測驗
安全測驗是在軟體產品的生命周期程序中,對產品檢驗是否符合安全需求定義
二 安全測驗的目的
提升軟體產品的安全質量
盡量在發布前找到安全問題予以修補降低成本
電量安全
驗證安裝在系統內的保護機制能否在實際應用中對系統進行保護
使之不被非法入侵
三 怎么做安全測驗
3.1 一個完整的安全性測驗
從部署與基礎結構、輸入驗證、身份驗證、授權、配置管理、敏感資料、會話管理、加密、引數操作、例外管理、審核和日志記錄
3.2 部署與基礎結構
網路是否提供了安全的通信,部署是否包括內部的防火墻,基礎結構安全性需求的限制是什么,目標環境支持怎樣的信任級別
3.3 輸入驗證
如何驗證輸入,是否驗證Web頁輸入,是否對傳遞到組件或Web服務的引數進行驗證,是否驗證從資料庫中檢索的資料,是否依賴客戶端的驗證,應用程式是否易受SQL注入攻擊,應用程式是否易受XSS攻擊,如何處理輸入
3.4 身份驗證
是否區分公共訪問和受限訪問,如何驗證資料庫的身份
3.5 授權
如何向最終用戶授權,如何在資料庫中授權應用程式,如何將訪問限定于系統級資源
3.6 配置管理
是否保證配置存盤的安全
3.7 敏感資料
是否存盤機密資訊,如何存盤敏感資料,是否在網路中傳遞敏感資料,是否記錄敏感資料
3.8會話管理
是否限制會話生存期,如何確保會話存盤狀態的安全
3.9 加密
如何確保加密密鑰的安全性
3.10 引數操作
是否驗證所有的輸入引數,是否在引數程序中傳遞敏感資料,是否為了安全問題而使用HTTP頭資料
3.11例外管理
是否使用結構化的例外處理,是否向客戶端公開了太多的資訊
四 傳輸安全
傳輸級的安全測驗是考慮到Web系統的傳輸的特殊性,重點測驗資料經客戶端傳送到服務器端可能存在的安全漏洞,以及服務器防范非法訪問的能力
4.1 HTTPS和SSL
HTTPS和SSL測驗:默認的情況下,安全HTTP(Soure HTTP)通過安全套接字SSL(Source Socket Layer)協議在埠443上使用普通的HTTP
HTTPS使用的公共密鑰的加密長度決定的HTTPS的安全級別,安全性的保證是以損失性能為代價 的,除了要測驗加密是否正確,檢查資訊的完整性和確認HTTPS的安全級別外,還要注意在此安全級別下,其性能是否達到要求
4.2 服務器端的腳本漏洞檢查
服務器端的腳本漏洞檢查:存在于服務器端的腳本常常構成安全漏洞,這些漏洞又往往被黑客利用
4.3 防火墻測驗
防火墻測驗:防火墻是一種主要用于防護非法訪問的路由器,在Web系統中是很常用的一種安全系統
五 與通常測驗的區別
5.1 目標不同
測驗以發現BUG為目標,安全測驗以發現安全隱患為目標
5.2 假設條件不同
測驗假設導致問題的資料是用戶不小心造成的,介面一般只考慮用戶界面,安全測驗假設導致問題的資料是攻擊者處心積慮構造的,需要考慮所有可能的攻擊途徑
5.3 思考域不同
測驗以系統所具有的功能為思考域,安全測驗的思考域不但包括系統的功能,還有系統的機制、外部環境、應用與資料自身安全風險與安全屬性等
問題發現模式不同
測驗以違反功能定義為判斷依據,安全測驗以違反權限與能力的約束為判斷依據
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/181361.html
標籤:其他
