一、概念
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 信安科研人