1.安裝包測試
(1)能否反編譯代碼(源代碼泄露問題):
開發(fā):對代碼進行混淆;測試:使用反編譯工具進行查看源代碼蜻直,是否進行代碼混淆盯质,是否包括了顯而易見的敏感信息
(2)安裝包是否簽名(ios重app有正式的發(fā)布證書簽名,不必考慮):需要在發(fā)布前驗證一下簽名使用的key是否正確概而,以防被惡意第三方應(yīng)用覆蓋安裝
(3)完整性校驗:檢查文件的md5值
(4)權(quán)限設(shè)置檢查(增加新權(quán)限需要進行評估):android檢查manifest文件讀取應(yīng)用所需的全部權(quán)限
2.敏感信息測試
(1)數(shù)據(jù)庫是否存儲敏感信息:需要對各個數(shù)據(jù)庫字段含義進行了解呼巷,并評估其中可能的安全問題;在跑完一個包含數(shù)據(jù)庫操作的測試用例赎瑰,我們可直接查看數(shù)據(jù)庫里的數(shù)據(jù)王悍,觀察是否有敏感信息需要在用戶進行注銷操作后刪除,若師是cookie類數(shù)據(jù)乡范,建議設(shè)置合理的過期時間配名。
(2)日志中是否存在敏感信息:若發(fā)布版本中包含日志應(yīng)用,在測試需要關(guān)注日志中是否包含敏感信息晋辆。
(3)配置文件是否存在敏感信息(與日志相似)
3.軟鍵盤劫持:金融app登陸界面的用戶名密碼輸入框渠脉,看是否輸入支持第三方輸入法。對于非常敏感的輸入瓶佳,一般建議使用應(yīng)用內(nèi)的軟鍵盤或至少提供用戶這一選項芋膘;
4.賬戶安全(用戶賬戶的安全)
(1)密碼是否明文存儲:在后臺數(shù)據(jù)庫:在評審和測試中需要關(guān)注密碼的存儲
(2)密碼傳輸是否加密:需要查看密碼是否被明文傳輸
(3)賬戶鎖定策略:對于用戶輸入錯誤密碼次數(shù)過多的情況,一些應(yīng)用將會臨時鎖定霸饲;后臺對每個賬戶做次數(shù)限制可能會引起所有賬號都被策略鎖定为朋。
(4)同時會話:應(yīng)用對同時會話會有通知功能;
(5)注銷機制:客戶端注銷后厚脉,需要驗證任何的來自該用戶身份驗證的接口調(diào)用都不能調(diào)用成功
5.數(shù)據(jù)通信安全
(1)關(guān)鍵數(shù)據(jù)是否散列或加密:敏感信息在傳輸前需要進行散列或加密习寸。
(2)關(guān)鍵連接是否使用安全通信:在獲知接口設(shè)計后需要評估其中內(nèi)容是否包含敏感信息。
(3)是否對數(shù)字證書合法性進行驗證:fiddle工具模擬中間人攻擊方法
(4)是否驗證數(shù)據(jù)合法性
開發(fā):對數(shù)據(jù)進行數(shù)字簽名并在客戶端進行相關(guān)校驗
測試:可模擬后臺返回進行相關(guān)測試工作
(5)組件安全測試(android被外部應(yīng)用惡意調(diào)用)測試:drozer工具
6.環(huán)境相關(guān)測試
(1)干擾測試:a收到電話? b收到短信(考慮通知欄消息是否覆蓋掉界面上信息)? c收到通知欄消息? d無電低電量提示框彈出? e第三方安全軟件告警框 彈出
(2)權(quán)限測試:開發(fā)在提測時提供一個需要的權(quán)限列表
(3)邊界情況:a可用存儲空間過少? b沒有SD卡/雙SD卡? c飛行模式? ? d系統(tǒng)時間有誤? ? e第三方依賴
TestBird