安全性測試從冷門的話題,隨着國內各大知名網站頻繁被攻擊,重要社區用戶信息被泄露,逐步被各方所重視。而具體怎麼作軟件安全性測試,防止駭客有隙可乘,國內廣泛處於才起步的狀態。今天筆者就本身的經驗,系統總結了我所瞭解和掌握的安全測試,但願拋磚引玉,讓更多更好的軟件安全測試技術、經驗被分享出來,供你們交流、學習,讓咱們的安全測試邁步起到必定的推進做用。安全
安全性測試(Security test)它是指:在測試軟件系統中對程序的危險防止和危險處理進行的測試,以驗證其是否有效。學習
軟件安全性測試包括了應用安全、數據,操做系統等方面。根據不一樣的安全測試指標,有不一樣的測試策略。最後,從社會工程學角度總結了出現非軟件性安全的緣由。下面總結了具體的安全測試項和對應的測試方法。測試
應用安全的測試有包括了安全的審計、密碼支持、標識與鑑別、用戶數據保護和安全管理等五個方面。下面具體說每一個方面須要作的測試項和具體的測試方法。網站
A安全審計加密
一、安全審計自動響應操作系統
①系統用戶的安全屬性做很是規的添加或修改操做,如:對全部用戶賦予管理員角色或全部權限操做。系統中只能存在一個超級管理角色。日誌
②查看系統的是否告警提示並記錄相關操做信息,即日誌中應該有相關記錄。blog
二、安全審計數據產生排序
系統須要提供日誌機制,並可以記錄與安全相關的事件,能夠定義審計的級別(如告警,緊急,提示級別)。事件
三、用戶身份關聯
查閱相關的日誌記錄,當審計數據產生時,審計數據是否能將每一個可審計事件與引發該事件的用戶身份相關聯。
四、審計查閱
①在日誌相關界面可否查看到審計數據。
②系統是否能提供一些功能方便查看,如選擇「所有」,按涉及用戶的審計記錄信息,或按時間查看等等。
五、限制審計查閱
①使用日誌管理員賬號登陸系統,能查看系統審計信息;
②使用非日誌管理員賬號依次登陸系統,不能查看系統審計模塊信息。
六、可選審計查閱
①測試系統是否提供分類查看審計記錄的功能;
②測試系統是否提供排序功能方便查看審計記錄;
③測試系統是否提供「與」/「或」的查詢功能方便查看審計記錄,是否直接模糊查詢。
七、安全審計事件選擇
①設置集中審計事件排除條件;
②模擬發生集中審計事件,觀察系統反應。
八、受保護的審計記錄存儲
使用系統劃分出的用戶身份(不具備審計刪除權限)登陸系統:嘗試刪除審計記錄,看是否成功。
九、防止審計數據丟失
模擬審計數據已滿狀況,查看系統是否可選擇「忽略可審計事件、阻止產生特有特權的受權用戶外的全部可審計事件、覆蓋所存儲的最先的審計記錄」中的一種處理方式,以確保審計數據不發生丟失現象。
B密碼支持
密碼運算,檢查密碼的加密規則是否安全可靠,通常通用md5加密方式。
C標識與鑑別
一、用戶屬性定義
檢查用戶受權角色管理機制,驗證用戶屬性定義有效性。即系統可以對每一個用戶的安全屬性分別加以有效定義。
二、鑑別方式
檢測系統採用的身份鑑別方式。
三、用戶標識
①在用戶登陸界面中,使用匿名用戶登陸系統,執行須要訪問權限才能執行的操做,查看系統響應;
②使用各類角色的用戶進行登陸,而後進行操做;
③不進行登陸,經過匿名用戶執行訪問操做。
四、用戶-主體綁定
檢測用戶的安全屬性是否關聯到表明用戶活動的主體上。應該關聯到活動主體上,即不一樣用戶有不一樣權限。
五、口令強度
①檢測口令複雜度,強度;
②使用大小寫英文字母、數字和特殊字符等多種組合進行驗證。
六、口令保護
檢測口令是否進行加密傳輸字符。即不能以明文的方式進行口令傳輸。
七、任何動做前的用戶鑑別
檢查用戶進行操做前,系統是否進行權限鑑別。即要對系統操做,必須使用正確的用戶名和密碼。
八、從新鑑別
檢測系統是否提供從新鑑別機制,系統長時間不作任何響應或鑑別失敗後,是否要求進行從新登陸。
D用戶數據保護
一、採用加密技術
檢查系統是否對傳輸的信息採用安全加密技術。
二、信息存儲安全性
對於重要數據保存是否採用加密方式。
三、數據傳輸安全性
檢測系統對重要數據是否進行加密傳輸。
四、數據一致性
①檢測系統是否對數據的有效性,數據項之間的邏輯關係進行校驗;
②檢測系統是否保證數據的完整性和一致性,是否會因刪除或反覆的更新而被破壞或留下垃圾數據;
③對不符合要求的輸入數據,系統是否使用中文給出簡潔、準確的提示信息。
五、密碼設置
①進入系統是否須要密碼身份驗證;
②是否有密碼設置策略,是否包括有效期、最小長度、複雜度、非空設置、大小寫敏感度等;
③全部的密碼是否明碼顯示、存儲與傳輸。
六、備份和恢復
檢查是否提供數據備份與恢復手段,檢測是否提供數據備份與還原手段。
E安全管理
一、安全屬性管理
①查看系統是否具備用戶權限分配權限的特定角色;
②對用戶列表中的任意一個用戶進行角色分配;
③使用不具備用戶管理權限分配的特定角色用戶進入系統,查看是否能對用戶進行權限劃分。
二、安全的安全屬性
①進入新建用戶界面,新建一個用戶;
②輸入其餘必填項,不輸入密碼;
③輸入純數字用戶登陸密碼;
④輸入純字符用戶登陸密碼;
⑤輸入數字和字符混和的用戶登陸密碼。
三、靜態屬性初始化
①新增一個用戶,對其初始狀態的權限進行修改;
②使用新增長的用戶登陸平臺,查看被編輯的權限,在系統中是否能實現。
四、數據的管理
①最高權限用戶進入系統,查看是否具有安全審計功能模塊;
②最高權限用戶進入系統,修改角色。
五、數據限值的管理
①最高權限用戶進入系統,添加用戶;
②填寫相關用戶信息,並並限制登錄區域;
③使用新建立的用戶登陸系統,但登陸的用戶IP不在所填寫的區域控制範圍內。
六、安全的數據
①最高權限用戶進入系統,添加用戶;
②填寫相關用戶信息,錄入無效的用戶數據,觀察系統反應。
七、撤銷
①最高權限用戶進入系統,選擇一個用戶,對所選用戶的權限進行查看和撤銷;