移动终端安全概述

一、概念

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 信安科研人
在这里插入图片描述

posted @ 2022-01-02 21:10  WelkinChan  阅读(1138)  评论(0编辑  收藏  举报