1.安裝包測試android
(1)可否反編譯代碼(源代碼泄露問題):ios
開發:對代碼進行混淆;測試:使用反編譯工具進行查看源代碼,是否進行代碼混淆,是否包括了顯而易見的敏感信息數據庫
(2)安裝包是否簽名(ios重app有正式的發佈證書籤名,沒必要考慮):須要在發佈前驗證一下簽名使用的key是否正確,以防被惡意第三方應用覆蓋安裝安全
(3)完整性校驗:檢查文件的md5值cookie
(4)權限設置檢查(增長新權限須要進行評估):android檢查manifest文件讀取應用所需的所有權限app
2.敏感信息測試工具
(1)數據庫是否存儲敏感信息:須要對各個數據庫字段含義進行了解,並評估其中可能的安全問題;在跑完一個包含數據庫操做的測試用例,咱們可直接查看數據庫裏的數據,觀察是否有敏感信息須要在用戶進行註銷操做後刪除,若師是cookie類數據,建議設置合理的過時時間。測試
(2)日誌中是否存在敏感信息:若發佈版本中包含日誌應用,在測試須要關注日誌中是否包含敏感信息。加密
(3)配置文件是否存在敏感信息(與日誌類似)設計
3.軟鍵盤劫持:金融app登錄界面的用戶名密碼輸入框,看是否輸入支持第三方輸入法。對於很是敏感的輸入,通常建議使用應用內的軟鍵盤或至少提供用戶這一選項;
4.帳戶安全(用戶帳戶的安全)
(1)密碼是否明文存儲:在後臺數據庫:在評審和測試中須要關注密碼的存儲
(2)密碼傳輸是否加密:須要查看密碼是否被明文傳輸
(3)帳戶鎖定策略:對於用戶輸入錯誤密碼次數過多的狀況,一些應用將會臨時鎖定;後臺對每一個帳戶作次數限制可能會引發全部帳號都被策略鎖定。
(4)同時會話:應用對同時會話會有通知功能;
(5)註銷機制:客戶端註銷後,須要驗證任何的來自該用戶身份驗證的接口調用都不能調用成功
5.數據通訊安全
(1)關鍵數據是否散列或加密:敏感信息在傳輸前須要進行散列或加密。
(2)關鍵鏈接是否使用安全通訊:在獲知接口設計後須要評估其中內容是否包含敏感信息。
(3)是否對數字證書合法性進行驗證:fiddle工具模擬中間人攻擊方法
(4)是否驗證數據合法性
開發:對數據進行數字簽名並在客戶端進行相關校驗
測試:可模擬後臺返回進行相關測試工做
(5)組件安全測試(android被外部應用惡意調用)測試:drozer工具
6.環境相關測試
(1)干擾測試:a收到電話 b收到短信(考慮通知欄消息是否覆蓋掉界面上信息) c收到通知欄消息 d無電低電量提示框彈出 e第三方安全軟件告警框 彈出
(2)權限測試:開發在提測時提供一個須要的權限列表
(3)邊界狀況:a可用存儲空間過少 b沒有SD卡/雙SD卡 c飛行模式 d系統時間有誤 e第三方依賴