移动终端安全概述
一、概念
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 信安科研人
推荐这些技术文章:
一、概念 1、移动终端的概念: 可移动的,以软件为基础使得设备具备特定功能的设备。 如手机、智能手表、电脑、POS机等 2、当前流行的移动终端操作系统: Android、IOS、Windows Phone 3、安全开发技术 应用组件开发安全 Activity、Service、Content Provider、Broadcast、Receiver等组件都可以通过隐式的方式打开,只要不是对外公开...
一、概念 1、移动终端的概念: 可移动的,以软件为基础使得设备具备特定功能的设备。 如手机、智能手表、电脑、POS机等 2、当前流行的移动终端操作系统: Android、IOS、Windows Phone 3、安全开发技术 应用组件开发安全 Activity、Service、Content Provider、Broadcast、Receiver等组件都可以通过隐式的方式打开,只要不是对外公开...
一、概念
1、移动终端的概念:
可移动的,以软件为基础使得设备具备特定功能的设备。
如手机、智能手表、电脑、POS机等
2、当前流行的移动终端操作系统:
Android、IOS、Windows Phone
3、安全开发技术
应用组件开发安全
Activity、Service、Content Provider、Broadcast、Receiver等组件都可以通过隐式的方式打开,只要不是对外公开...
一、计算机系统概述
1.1操作系统的基本概念
1.1.1操作系统的概念:
操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件和用户之间的中介。
操作系统是控制和管理整个计算机系统的硬件与软件,合理地组织、调度计算机的工作与资源分配,进而为用户和其他软件提供方便的接口与环境的程序集合。操作系统是计算机系统中最基本的软件。
1.1.2操作系统的特征:
操...
操作系统提供的功能:处理机管理,存储器管理,文件管理,设备管理
操作系统的四个特征:并发、共享、虚拟、异步
并发:宏观上是同时发生的,微观上是交替发生的,指同时运行多个程序,CPU同一时刻只能运行一个程序,操作系统负责协调多个程序交替执行。
共享:资源共享,指系统中的资源可供内存中多个并发执行的进程共同使用。
虚拟:空分复用技术/时分复用技术,指把一个物理上的物体变为若干个逻辑上的对应物。物理实...
简介
操作系统对硬件进行管理和抽象,提供易用的接口同硬件一起为应用程序提供服务,从而使得上层应用程序无需关注硬件的具体操作方法
操作系统将不同功能的硬件设备进行统一管理,将I/O设备抽象为文件,将物理内存抽象为连续的虚拟内存,可以使应用程序通过简单而统一的接口操作底层复杂的硬件,同时保护硬件不被失控或恶意应用滥用
操作系统为应用提供不同功能的接口,应用通过接口实现对底层复杂设备的操作,使得应...
一、功能
操作系统位于硬件之上、应用程序之下
操作系统的界面属于外壳 shell ,主要研究内核 kernel
1、对上(用户角度)
(1)管理应用程序
(2)为应用程序提供服务:声卡、显卡等
2、对下
(1)资源管理:CPU、内存等
(2)管理外设
二、内部组件
① CPU 调度器
② 物理内存管理
③ 虚拟内存管理
④ 文件系统管理
⑤ 中断管理与设备驱动
三...
1.1 操作系统的定义
用户角度:操作系统是一个控制软件
管理应用程序
为应用程序提供服务
杀死应用程序
管理资源
管理外设/分配资源
(1)在操作系统下,进程<->CPU,文件<->磁盘,地址空间<->内存
(2)操作系统的架构层次:硬件之上,应用软件之下(为应用软件提供服务支持)
(3)Linux,Windows界面属于外壳shell(与User交互)...
操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成。
“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。
应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中...
目录什么是Websocket?Websocket和HTTP区别Websocket如何建立WebSocket消息是怎样的?WebSocket安全漏洞操作WebSocket消息利用漏洞操纵 WebSocket 握手利用漏洞使用跨站 WebSockets 来利用漏洞如何保护 WebSocket 连接
什么是Websocket?
Websocket是一种通信协议
通过HTTP发起的,全双工
用于现代W...
文章链接:https://www.dianjilingqu.com/2495.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。