移動終端安全概述
一、概念
1、移動終端的概念:
可移動的,以軟體為基礎使得裝置具備特定功能的裝置。
如手機、智慧手錶、電腦、POS機等
2、當前流行的移動終端作業系統:
Android、IOS、Windows Phone
3、安全開發技術
-
應用元件開發安全
Activity、Service、Content Provider、Broadcast、Receiver等元件都可以通過隱式的方式開啟,只要不是對外公開的,必須在AnfroidManifest裡面註明exported為falsed,禁止其他程式訪問元件,同時應當新增訪問許可權,還需要對傳遞的資料進行安全檢驗。 -
應用許可權控制
也就是通過控制應用程式只可具備一定的許可權。 -
應用程式簽名
採用數字簽名為應用程式簽名。 -
應用加固
防病毒、防除錯、防注入、防篡改 -
靜態程式碼分析
通過靜態程式碼分析工具lint監測安全隱患,對程式碼進行優化。 -
資料儲存加密
如利用SQLCipher加密
二、移動終端的作業系統安全
1、威脅來源
攻擊角色
- 移動運營商
- 黑客
- 開發者
- 使用者自身
攻擊途徑
- 漏洞
- 惡意程式碼
威脅來源的核心點
不同移動智慧終端的發展模式使得面臨的安全威脅程度不一。一共有三種終端發展方式:
1、封閉端到端,如蘋果
2、半封閉的如Windows phone
3、開放開源如android
封閉的管理模式,廠商的行為監管不到位將會導致一定的危險性;開放式的管理又具備一定的威脅。
漏洞
-
系統漏洞
Android、IOS系統漏洞,如繼承來自linux核心的漏洞、Android元件漏洞 -
應用軟體漏洞
如不安全的開發 -
其他漏洞如硬體漏洞、協議漏洞
如TCP連線漏洞
惡意程式碼
攻擊者構建本身完全為惡意程式碼的移動惡意軟體,或者重新打包APK以插入惡意程式碼。
2、安全威脅型別與產生的原因
型別
惡意程式碼的威脅
案例如RottenSys,其執行架構如下:
隱私洩露威脅
漏洞後門威脅
1、root提權漏洞
2、元件漏洞
3、應用程式漏洞
脆弱點
生態圈的複雜性
一個作業系統軟體的類似供應鏈由很多廠商合作完成;
更新問題。
攻擊面分析
1)遠端攻擊面:ADB、SSH、WEB服務等遠端服務攻擊點
2)物理相鄰:GPS、藍芽、NFC等物理臨近攻擊點
3)本地攻擊面:本機的系統威脅
4)物理攻擊面:USB、SIM卡、HDMI等
3、防禦措施
典型安全防禦機制
(1)應用程式沙箱,實現應用程式之間的隔離
(2)應用程式簽名,保證APP完整性和更新保護
(3)身份驗證,通過身份驗證把關加密金鑰
(4)生物識別解鎖
(5)Keystore硬體支援的金鑰管理服務
(6)Trustzone硬體隔離技術
(7)對檔案等資料進行加密
(8)許可權機制
漏洞威脅防禦
(1)漏洞挖掘:Fuzzing、汙點分析
(2)漏洞檢測
(3)漏洞修復
(4)漏洞利用的緩解機制:DEP、ASLR等
隱私洩露威脅
- 應用程式許可權宣告機制
- 應用程式簽名機制
- 程序沙箱機制
- 程序之間的通訊機制
- 訪問控制機制
惡意程式碼威脅
- 異常檢測技術:防火牆、網路隔離
- 誤用檢測技術:
- 完整性技術:校驗和、簽名驗證
- 許可權控制技術:沙箱技術、安全作業系統
三、移動終端應用程式安全
攻擊面架構:
產生原因
- 開發門檻低
- 第三方庫多樣
- 應用重打包
- 第三方市場監管不力
防禦方案
- 提高開發人員的安全意識
- 加強第三方市場的監管
- 應用加固
1、元件安全
2、緩衝區溢位
3、資料庫配置模式
4、瀏覽器同源策略漏洞
參考文獻
《軟體安全原理》——陳愷
轉載請說出處 from 信安科研人