安全性測試(security testing)是有關驗證應用程式的安全服務和識別潛在安全性缺陷的過程。
注意:安全性測試並不最終證明應用程式是安全的,而是用於驗證所設立策略的有效性,這些對策是基於威脅分析階段所做的假設而選擇的。
web安全性測試
乙個完整的web安全性測試可以從部署與基礎結構、輸入驗證、身份驗證、授權、
配置管理、敏感資料、會話管理、加密。引數操作、異常管理、審核和
日誌記錄等幾個方面入手。
1. 安全體系測試
1) 部署與基礎結構
l 網路是否提供了安全的通訊
l 部署拓撲結構是否包括內部的防火牆
l 部署拓撲結構中是否包括遠端應用程式伺服器
l 基礎結構安全性需求的限制是什麼
l 目標環境支援怎樣的信任級別
2) 輸入驗證
l 如何驗證輸入
a. 是否清楚入口點
b. 是否清楚信任邊界
c. 是否驗證web頁輸入
d. 是否對傳遞到元件或web服務的引數進行驗證
e. 是否驗證從
資料庫中檢索的資料
f. 是否將方法集中起來
g. 是否依賴客戶端的驗證
h. 應用程式是否易受
sql注入攻擊
i. 應用程式是否易受xss攻擊
l 如何處理輸入
3) 身份驗證
l 是否區分公共訪問和受限訪問
l 是否明確服務帳戶要求
l 如何驗證呼叫者身份
l 如何驗證資料庫的身份
l 是否強制試用帳戶管理措施
4) 授權
l 如何向終端使用者授權
l 如何在資料庫中授權應用程式
l 如何將訪問限定於系統級資源
5) 配置管理
l 是否支援遠端管理
l 是否保證配置儲存的安全
l 是否隔離管理員特權
6) 敏感資料
l 是否儲存機密資訊
l 如何儲存敏感資料
l 是否在網路中傳遞敏感資料
l 是否記錄敏感資料
7) 會話管理
l 如何交換會話識別符號
l 是否限制會話生存期
l 如何確保會話儲存狀態的安全
8) 加密
l 為何使用特定的演算法
l 如何確保加密金鑰的安全性
9) 引數操作
l 是否驗證所有的輸入引數
l 是否在引數過程中傳遞敏感資料
l 是否為了安全問題而使用http頭資料
10) 異常管理
l 是否使用結構化的異常處理
l 是否向客戶端公開了太多的資訊
11) 審核和日誌記錄
l 是否明確了要審核的活動
l 是否考慮如何流動原始呼叫這身份
2. 應用及傳輸安全
web應用系統的安全性從使用角度可以分為應用級的安全與傳輸級的安全,安全性測試也可以從這兩方面入手。
應用級的
安全測試的主要目的是查詢web系統自身程式設計中存在的安全隱患,主要測試區域如下。
l 註冊與登陸:現在的web應用系統基本採用先註冊,後登入的方式。
a. 必須測試有效和無效的使用者名稱和密碼
b. 要注意是否存在大小寫敏感,
c. 可以嘗試多少次的限制
d. 是否可以不登入而直接瀏覽某個頁面等。
l 備份與恢復:為了防範系統的意外崩潰造成的資料丟失,備份與恢復手段是乙個web系統的必備功能。備份與恢復根據web系統對安全性的要求可以採用多種手段,如資料庫增量備份、資料庫完全備份、系統完全備份等。出於更高的安全性要求,某些實時系統經常會採用雙機熱備或多級熱備。除了對於這些備份與恢復方式進行驗證測試以外,還要評估這種備份與恢復方式是否滿足web系統的安全性需求。
傳輸級的安全測試是考慮到web系統的傳輸的特殊性,重點測試資料經客戶端傳送到伺服器端可能存在的安全漏洞,以及伺服器防範非法訪問的能力。一般測試專案包括以下幾個方面。
l https和ssl測試:預設的情況下,安全http(soure http)通過安全套接字ssl(source socket layer)協議在埠443上使用普通的http。https使用的公共金鑰的加密長度決定的https的安全級別,但從某種意義上來說,安全性的保證是以損失效能為代價的。除了還要測試加密是否正確,檢查資訊的完整性和確認https的安全級別外,還要注意在此安全級別下,其效能是否達到要求。
l 防火牆測試:防火牆是一種主要用於防護非法訪問的路由器,在web系統中是很常用的一種安全系統。防火牆測試是乙個很大很專業的課題。這裡所涉及的只是對防火牆功能、設定進行測試,以判斷本web系統的安全需求。
此工具好像被ibm收購了,所以推薦在第一位
)單元測試
acunetix web vulnerability scanner:商業漏洞掃瞄器(
目前用的比較多,不過這東東n佔記憶體)
acunetix wvs自動檢查您的網頁程式漏洞,例如sql注入、跨**指令碼和驗證頁面弱密碼破解。acunetix wvs有著非常友好的使用者介面,還可以生成個性化的**安全評估報告。
**:
什麼是web安全性測試?
乙個完整的 web安全體系 可以從部署與基礎結構,輸入驗證,身份驗證,授權,配置管理,敏感資料,會話管理,加密,引數操作,異常管理,審核和 記錄等幾個方面入手 web安全性測試 資料加密 某些資料需要進行資訊加密和過濾後才能進行資料傳輸,例如使用者信用卡資訊 使用者登陸密碼資訊等。此時需要進行相應的...
什麼是執行緒安全性
給 執行緒安全性 下個定義相當棘手。很多正式的定義都顯得過於複雜,並沒有給出實用的指導或者精到的見解 而其他非正式的描述看上去又完全是在兜圈子。在google上搜尋了一下,查到很多定義略舉一二 給出這樣的定義,讓我們對執行緒安全性產生困惑是不足為奇的!它們聽上去令人懷疑 如果乙個類可以安全地被多個執...
安全性測試
1.url哪些引數可以放進去,哪些不可以放。後面的id 可以隨便改,可以查所有活動。url作處理 後端限制。編輯 時,不應帶有 id,防有人改id編輯其它人的 加密。比如每個使用者金鑰都不一樣,很難破解。2.有些操作自已去資料庫確認,而不靠control層。比如,編輯活動時活動時,活動還沒有開始,但...