主要從開發(fā)角度看移動設(shè)備權(quán)限,應(yīng)用發(fā)版,敏感數(shù)據(jù)保護,數(shù)據(jù)傳輸,身份認證授權(quán),會話,代碼自查評審測試。
開發(fā)者在程序初始化后,應(yīng)該檢查驗證輸入的數(shù)據(jù)。程序應(yīng)確保功能服務(wù)最小化,故障時不影響其他服務(wù)。在發(fā)版前,刪除冗余測試代碼??紤]網(wǎng)絡(luò)連接信息,緩存,備份,刪除文件等數(shù)據(jù)生命周期。按敏感程度,訪問策略對密碼,客戶信息,IP,位置,error日志信息數(shù)據(jù)存儲分類。另外不學(xué)美國棱鏡事件,在客戶端設(shè)備上開發(fā)監(jiān)聽端口,應(yīng)使用手機操作系統(tǒng)提供的通信機制。
敏感信息處理??蛻粜畔?,用戶名,密碼,賬號,余額,token等重要信息,不建議存客戶端,容易泄露。或者用手機系統(tǒng)加密處理,進行秘鑰存儲,以加密散列形式備份秘鑰和證書。卸載APP時重要敏感信息應(yīng)該也被刪除。默認不信任共享存儲,不在SD存儲。不與其他應(yīng)用軟件共享數(shù)據(jù),SESSION,COOKIE等。絕對不能犯密碼,密鑰在緩存,日志中輸出的低級錯誤。二進制代碼,服務(wù)端存儲敏感信息,下載后,很容易被反編譯破解。
身份認證授權(quán)。注冊提示用戶密碼設(shè)置策略,登錄密碼認證強度應(yīng)該合適。查詢重要信息,轉(zhuǎn)賬,支付時有必要通過聲音,視頻,指紋,或其他密碼提升認證機制。使用手勢滑動解鎖碼時,次數(shù)應(yīng)該有限制,否則潤滑膏涂抹到屏幕上可以破解密碼。適當(dāng)增加上下文信息中的IP,位置變動驗證身份安全。
數(shù)據(jù)傳輸?,F(xiàn)有技術(shù)是可以破解運行商網(wǎng)絡(luò)的,WIFI網(wǎng)絡(luò)環(huán)境加密還好一些。敏感信息通過SSL/TLS加密,點對點傳輸,保證機密和完整。權(quán)威的加密算法:AES,DES,3DES,SHA-1。對稱算法密鑰長度應(yīng)該大于等于256,非對稱算法秘鑰長度應(yīng)該大于等于2048。服務(wù)端身份驗證通過后,確保使用的可信的SSL證書,才可以建立會話連接。證書簽名最好選用權(quán)威CA提供的,自己簽名生成的不太安全。采用SSL PROXY,SSL STRIP降低中間人攻擊風(fēng)險。移動客戶端和服務(wù)端會話應(yīng)保持一致,防止數(shù)據(jù)卡半邊。
不用設(shè)備ID做標(biāo)識符,用隨機數(shù)生成器,配合日期,時間,溫度傳感器,重力感應(yīng)器等生成隨機數(shù)。向相同手機號發(fā)驗證碼,一分鐘不多于3次。相同IP,session的用戶短息驗證碼也需要設(shè)定次數(shù),不能無限發(fā)。HTTP請求響應(yīng)報文不能包含短信內(nèi)容,尤其是驗證碼,防止被截取。
DEX加殼保護級別從高到低,虛擬機,函數(shù),文件級保護。SO動態(tài)鏈接庫應(yīng)加固保護。ROOT模式時,應(yīng)退出應(yīng)用,并提示給用戶風(fēng)險。防調(diào)試保護:調(diào)試工具動態(tài)注入Xposed,Cydia Substrate,Frida框架。證書,秘鑰,隱私,敏感數(shù)據(jù),數(shù)據(jù)庫文件,Shared Preferences數(shù)據(jù)文件,Webview數(shù)據(jù)文件,assets文件,res文件,raw文件等都需要加固保護。
每天強制自己寫些東西,拍攝制作視頻,記錄生活,思考探索學(xué)習(xí)一些東西。不斷地學(xué)習(xí),堅持下去,提高自己的認知,打開自己的思維,以后會有更多的方法和創(chuàng)新。版權(quán)歸作者老有理所有,未經(jīng)作者允許不得轉(zhuǎn)載本文內(nèi)容,否則將視為侵權(quán);轉(zhuǎn)載或者引用本文內(nèi)容請注明來源及原作者;對于不遵守此聲明或者其他違法使用本文內(nèi)容者,本人依法保留追究權(quán)。歡迎大家對內(nèi)容給予批評指正,請在下面留言,我會一一回答,謝謝大家的支持關(guān)照。認可的點贊支持!喜歡的話就點擊關(guān)注!!