1. 程式人生 > 其它 >移動終端安全概述

移動終端安全概述

一、概念

1、移動終端的概念:

可移動的,以軟體為基礎使得裝置具備特定功能的裝置。
如手機、智慧手錶、電腦、POS機等

2、當前流行的移動終端作業系統:

Android、IOS、Windows Phone

3、安全開發技術

  1. 應用元件開發安全
    Activity、Service、Content Provider、Broadcast、Receiver等元件都可以通過隱式的方式開啟,只要不是對外公開的,必須在AnfroidManifest裡面註明exported為falsed,禁止其他程式訪問元件,同時應當新增訪問許可權,還需要對傳遞的資料進行安全檢驗。

  2. 應用許可權控制
    也就是通過控制應用程式只可具備一定的許可權。

  3. 應用程式簽名
    採用數字簽名為應用程式簽名。

  4. 應用加固
    防病毒、防除錯、防注入、防篡改

  5. 靜態程式碼分析
    通過靜態程式碼分析工具lint監測安全隱患,對程式碼進行優化。

  6. 資料儲存加密
    如利用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. 第三方市場監管不力

防禦方案

  1. 提高開發人員的安全意識
  2. 加強第三方市場的監管
  3. 應用加固

1、元件安全

2、緩衝區溢位

3、資料庫配置模式

4、瀏覽器同源策略漏洞

參考文獻

《軟體安全原理》——陳愷

轉載請說出處 from 信安科研人