移动终端安全概述

一、概念

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 信安科研人

Exit mobile version