移动应用安全

出版日期:2012-2
作者:Himanshu Dwivedi,Chris Clark,David Thiel
页数:322页

作者简介

《移动应用安全》不仅仅是下一波技术浪潮,在不远的将来对于很多关键活动而言,它将成为默认的计算方式,如E-mail、在线购物、游戏甚至娱乐等。《移动应用安全》介绍了手机、PDA等移动设备面临的主要安全挑战以及一些移动应用安全开发中的技巧。以Android、iPhone、Windows Mobile、BlackBerry以及Symbian等操作系统为例,详细阐述了这些系统的安全功能以及如何利用这些功能来开发安全的移动应用,如防护缓冲区溢出、SQL注入攻击以及部署私钥与公钥密码技术等。
针对当前的热点应用,《移动应用安全》还介绍了WAP、蓝牙、SMS、MMS、移动地理定位等移动应用面临的安全威胁、自身存在的安全不足以及由此带来的安全风险,并介绍了针对移动平台的企业安全问题,以及不同系统的安全措施和安全防护手段。

书籍目录

第1部分 移动平台
第1章 移动应用主要问题及开发策略
2
1.1 移动终端面临的主要问题
2
1.1.1 物理安全
2
1.1.2 数据存储安全(磁盘)
3
1.1.3 应用有限的键盘实现强认证
3
1.1.4 支持多用户的安全
4
1.1.5 安全浏览环境
4
1.1.6 加固操作系统
4
1.1.7 应用隔离
5
1.1.8 信息泄露
5
1.1.9 病毒、蠕虫、后门、间谍软件和恶意软件
5
1.1.10 艰难的补丁更新/升级过程
6
1.1.11 严格使用和实施SSL
6
1.1.12 钓鱼攻击
7
1.1.13 跨站请求伪造(Cross-Site Request Forgery,CSRF)
7
1.1.14 位置隐私/安全
7
1.1.15 不安全的设备驱动
8
1.1.16 多因素认证
8
1.2 移动应用安全开发中的技巧
9
1.2.1 应用TLS/SSL
9
1.2.2 遵循安全编程实践
10
1.2.3 对输入进行验证
10
1.2.4 应用OS提供的控制模型
10
1.2.5 应用系统访问的最小权限模型
11
1.2.6 恰当地存储敏感信息
11
1.2.7 对应用代码进行签名
11
1.2.8 设计安全和健壮的升级过程
12
1.2.9 理解移动浏览器的安全功能和局限性
12
1.2.10 清除非威胁因素
12
1.2.11 应用安全/直观的移动URL
13
1.3 小结
13
第2章 Android平台安全
15
2.1 Android开发和调试
16
2.2 Android安全的IPC机制
19
2.2.1 活动(Activity)
19
2.2.2 广播(Broadcast)
19
2.2.3 服务(Service)
19
2.2.4 内容提供器(ContentProvider)
20
2.2.5 Binder
20
2.3 Android安全模型
20
2.4 Android控制模型小结
21
2.5 创建新的Manifest权限控制文件
25
2.6 Intent
25
2.6.1 Intent概述
26
2.6.2 IntentFilter
26
2.7 Activity
27
2.8 Broadcast
29
2.8.1 接收广播Intent
30
2.8.2 安全地发送广播Intent
30
2.8.3 Sticky Broadcast
31
2.9 Service
31
2.10 ContentProvider
32
2.11 避免SQL注入
34
2.12 Intent Reflection
35
2.13 文件和优先选项
35
2.14 大容量存储
36
2.15 Binder接口
37
2.15.1 调用者权限或者身份检查实现安全
38
2.15.2 Binder引用安全
38
2.16 Android 安全工具
39
2.16.1 Manifest浏览器
39
2.16.2 Package Play
40
2.16.3 Intent Sniffer
40
2.16.4 Intent Fuzzer
42
2.17 小结
42
第3章 iPhone平台安全
44
3.1 历史
44
3.1.1 iPhone和OS X
45
3.1.2 “越狱”与“反越狱”
45
3.1.3 iPhone SDK
46
3.1.4 未来发展
46
3.2 开发
46
3.2.1 反编译和反汇编
47
3.2.2 避免逆向工程
50
3.3 安全测试
50
3.3.1 缓冲区溢出
50
3.3.2 整数溢出
51
3.3.3 格式化字符串攻击
51
3.3.4 双重释放(Double-Free)
53
3.3.5 静态分析
54
3.4 应用程序格式
55
3.4.1 编译和打包
55
3.4.2 分发:Apple Store
55
3.4.3 代码签名
56
3.4.4 执行未经签名的代码
56
3.5 权限及用户控制
57
3.5.1 沙箱
57
3.5.2 Exploit Mitigation
58
3.5.3 权限
58
3.6 本地数据存储:文件、权限和加密
59
3.6.1 SQLite 存储
59
3.6.2 iPhone Keychain存储
60
3.6.3 共享Keychain存储
61
3.6.4 向证书存储中添加证书
61
3.6.5 获取Entropy
62
3.7 网络
63
3.7.1 URL装载API
63
3.7.2 NSStream
64
3.7.3 P2P
64
3.8 push 通知,复制/粘贴以及其他IPC
65
3.8.1 push通知
66
3.8.2 UIPasteboard
66
3.9 小结
67
第4章 Windows Mobile的安全性
68
4.1 平台介绍
68
4.1.1 与Windows CE的关系
69
4.1.2 设备结构
69
4.1.3 设备存储
71
4.2 内核构架
71
4.2.1 内存管理
72
4.2.2 Windows CE进程
73
4.2.3 服务
74
4.2.4 对象
74
4.2.5 内核模式和用户模式
76
4.3 开发及安全测试
77
4.3.1 编码环境和SDK
77
4.3.2 模拟器
78
4.3.3 调试
81
4.3.4 反汇编
83
4.3.5 代码安全
86
4.3.6 应用程序打包和分发
89
4.4 权限与用户控制
91
4.4.1 特权模式和普通模式
91
4.4.2 验证码、签名和证书
92
4.4.3 运行中的应用程序
94
4.4.4 锁定设备
95
4.4.5 管理设备安全策略
96
4.5 本地数据存储
97
4.5.1 文件和权限
97
4.5.2 设备失窃保护
98
4.5.3 结构化存储
99
4.5.4 加密和设备安全存储
99
4.6 组网
100
4.6.1 连接管理器
100
4.6.2 WinSock
101
4.6.3 红外线
101
4.6.4 蓝牙
101
4.6.5 HTTP和SSL
101
4.7 小结
102
第5章 黑莓手机的安全性
103
5.1 平台简介
103
5.1.1 黑莓企业服务器(BES)
104
5.1.2 黑莓的互联网服务(BIS)
105
5.2 设备和操作系统结构
105
5.3 开发及安全测试
106
5.3.1 编码环境
106
5.3.2 模拟器
107
5.3.3 调试
108
5.3.4 反汇编
109
5.3.5 代码安全
111
5.3.6 应用程序打包和分发
112
5.4 权限与用户控制
113
5.4.1 RIM的可控API
114
5.4.2 运营商和MIDlet签名
118
5.4.3 对MIDP应用程序中的权限错误的处理
119
5.4.4 锁定设备
119
5.4.5 应用程序权限管理
120
5.5 本地数据存储
120
5.5.1 文件和权限
120
5.5.2 可编程文件系统访问
121
5.5.3 结构化存储
122
5.5.4 加密和设备安全存储
122
5.6 组网
124
5.6.1 设备防火墙
124
5.6.2 SSL和WTLS
125
5.7 小结
125
第6章 Java移动版的安全性
126
6.1 标准开发
126
6.2 配置、profile和JSR
127
6.2.1 配置
128
6.2.2 profile
128
6.2.3 可选包
130
6.3 开发和安全测试
130
6.3.1 配置开发环境并安装新平台
131
6.3.2 模拟器
133
6.3.3 逆向工程和调试
134
6.3.4 代码安全
139
6.3.5 应用程序打包和分发
141
6.4 权限和用户控件
145
6.4.1 数据访问
148
6.5 小结
149
第7章 塞班系统(SymbianOS)安全性
150
7.1 平台介绍
150
7.1.1 设备架构
151
7.1.2 设备存储器
152
7.2 开发和安全测试
153
7.2.1 开发环境
153
7.2.2 软件开发工具
155
7.2.3 模拟器
155
7.2.4 调试
156
7.2.5 IDA Pro
157
7.3 代码安全
158
7.3.1 Symbian C++
158
7.3.2 P.I.P.S和OpenC
164
7.4 应用程序包
165
7.4.1 可执行的镜像格式
165
7.4.2 安装包
167
7.4.3 签名
168
7.4.4 塞班签名
169
7.4.5 安装
170
7.5 权限和用户控制
171
7.5.1 功能概述
171
7.5.2 可执行映像功能
173
7.5.3 进程功能
173
7.5.4 进程间的功能
173
7.6 进程间通信
174
7.6.1 客户端/服务器会话
174
7.6.2 共享会话
179
7.6.3 共享句柄
179
7.7 永久的数据存储
180
7.7.1 文件存储
180
7.7.2 结构化存储
181
7.7.3 加密存储
182
7.8 小结
184
第8章 WebOS安全
186
8.1 平台简介
186
8.1.1 WebOS系统结构
187
8.1.2 模型视图控制器(MVC)
189
8.1.3 stage与scene,assistant与view
190
8.2 开发和安全测试
191
8.2.1 开发模式
191
8.2.2 访问Linux
192
8.2.3 模拟器
192
8.2.4 调试和反汇编
193
8.3 代码安全
195
8.3.1 脚本注入
196
8.3.2 直接执行
196
8.3.3 编程数据注入
198
8.3.4 模板注入
200
8.3.5 本地数据注入
201
8.3.6 应用程序打包
204
8.4 权限和用户控制
204
8.4.1 存储
205
8.4.2 网络
207
8.5 小结
207
第2部分 移动服务
第9章 WAP和移动HTML安全
210
9.1 WAP和移动HTML基础
211
9.2 WAP/移动HTML网站上的认证
212
9.3 加密
214
9.3.1 WAP 1.0
215
9.3.2 SSL和WAP 2.0
216
9.4 移动HTML网站上的应用层攻击
216
9.4.1 跨站脚本攻击
217
9.4.2 SQL注入
220
9.4.3 CSRF攻击
222
9.4.4 HTTP重定向
225
9.4.5 钓鱼攻击
226
9.4.6 会话伪造
227
9.4.7 非SSL登录
228
9.5 WAP和移动浏览器的不足
228
9.5.1 缺乏HTTPOnly标签的支持
228
9.5.2 缺乏SECURE标签的支持
228
9.5.3 浏览器缓存处理
229
9.5.4 WAP不足
229
9.6 小结
229
第10章 蓝牙安全
231
10.1 蓝牙技术概览
231
10.1.1 历史及标准
231
10.1.2 常见用途
232
10.1.3 其他类似方式
232
10.1.4 未来发展
234
10.2 蓝牙技术架构
234
10.2.1 Radio operation和频率
234
10.2.2 蓝牙网络拓扑
235
10.2.3 设备识别
235
10.2.4 运行模式
236
10.2.5 蓝牙分层模型
236
10.2.6 蓝牙profile
237
10.3 蓝牙安全功能
238
10.3.1 配对
239
10.3.2 蓝牙传统安全服务
240
10.3.3 非功能性安全
243
10.4 蓝牙设备和网络的威胁
244
10.5 蓝牙漏洞
245
10.5.1 蓝牙v1.2之前的版本
245
10.5.2 蓝牙v2.1之前的版本
245
10.5.3 所有版本
245
10.6 建议
246
第11章 短信安全
247
11.1 短消息服务概览
248
11.2 多媒体消息概览
251
11.3 协议攻击
253
11.3.1 滥用合法功能
255
11.3.2 协议攻击的实现
264
11.4 应用攻击
266
11.4.1 iPhone Safari
267
11.4.2 Windows Mobile MMS
268
11.4.3 Motorola RAZR JPG溢出
268
11.5 安全演练
269
11.5.1 发送PDU
269
11.5.2 XML转换为WBXML
271
11.6 结论
271
第12章 移动地理定位
272
12.1 地理定位方法
272
12.1.1 基站三角定位
272
12.1.2 GPS定位
273
12.1.3 802.11
274
12.2 地理定位实现
274
12.2.1 Android
274
12.2.2 iPhone
276
12.2.3 Windows Mobile
276
12.2.4 Symbian
277
12.2.5 BlackBerry
277
12.3 地理定位服务的风险
278
12.3.1 最终用户的风险
278
12.3.2 服务提供商的风险
279
12.4 地理定位最佳实践
280
第13章 企业安全
282
13.1 设备安全选项
283
13.1.1 PIN码
283
13.1.2 远程删除
284
13.2 本地存储安全
285
13.2.1 Apple iPhone以及Keychain机制
285
13.3 安全策略实施
286
13.4 加密
287
13.4.1 全盘加密
288
13.4.2 邮件加密
288
13.4.3 文件加密
289
13.5 应用沙箱、签名及许可
289
13.5.1 应用程序沙箱
290
13.5.2 应用程序签名
291
13.5.3 权限控制
293
13.6 缓冲区溢出保护
294
13.6.1 Windows Mobile
294
13.6.2 iPhone
295
13.6.3 Android
295
13.6.4 BlackBerry
296
13.7 安全功能汇总
296
13.8 结论
297
第3部分 附录
附录A 移动恶意软件
300
A.1 历史重要恶意软件介绍
301
A.1.1 Cabir
301
A.1.2 Commwarrior
301
A.1.3 Beselo.B
301
A.1.4 Trojan.Redbrowser.A
302
A.1.5 WinCE/Brador.a
302
A.1.6 WinCE/Infojack
302
A.1.7 SMS.Python.Flocker
302
A.1.8 Yxes.A
303
A.1.9 其他
303
A.2 威胁场景
303
A.2.1 假冒固件
303
A.2.2 典型木马
304
A.2.3 蠕虫
304
A.2.4 勒索软件
304
A.3 减少移动恶意软件的破坏
305
A.3.1 终端用户
305
A.3.2 开发人员以及平台供货商
305
附录B 移动安全渗透测试工具
307
B.1 移动平台攻击工具
307
B.1.1 Manifest Explorer
307
B.1.2 Package Play
308
B.1.3 Intent Sniffer
309
B.1.4 Intent Fuzzer
309
B.1.5 pySimReader
311
B.2 浏览器扩展
311
B.2.1 WMLBrowser
311
B.2.2 User Agent Switcher
311
B.2.3 FoxyProxy
312
B.2.4 TamperData
313
B.2.5 Live HTTP Headers
313
B.2.6 Web Developer
314
B.2.7 Firebug
314
B.3 网络工具
315
B.3.1 Wireshark
315
B.3.2 Tcpdump
316
B.3.3 Scapy
317
B.4 Web应用工具
317
B.4.1 WebScarab
318
B.4.2 Gizmo
319
B.5 Fuzzing框架
319
B.5.1 Peach
320
B.5.2 Sulley
320
B.6 通用工具
320
B.6.1 Hachoir
320
B.6.2 VbinDiff
321

内容概要

Himanshu Dwivedi是iSEC Partners公司的创始人之一,作为一家信息安全公司,iSEC致力于应用安全,详情请访问www.isecpartners.com。Himanshu负责iSEC公司的产品研发和市场营销。
Himanshu还是业界知名的作家,已出版6本安全方面的著作:Hacking VoIP(No Starch Press)、Hacking Exposed: Web 2.0(McGraw Hill/Professional)、Hacker’s Challenge 3(McGraw Hill/Professional)、Securing Storage(Addison Wesley)、Implementing SSH(Wiley)。此外,Himanshu还拥有一项申请中的关于光纤信道安全的专利。
在创建iSEC Partners公司之前,Himanshu是stake公司的区域技术总监。
Chris Clark是iSEC Partners公司的首席安全顾问,负责开发工具、实施渗透测试并担任Windows和移动安全专家。在其软件生涯中,Chris专注于安全领域并协助一些大公司设计和开发安全软件。他带领几个团队完整实现了软件安全开发生命周期,以及开发安全产品所需的初始启动过程。通过在服务器、客户端及Web应用方面的工作,Chris积累了广泛的安全经验。在加入iSEC之前,Chris供职于Microsoft,负责一个大型支付系统以及一款广泛部署的企业管理产品的安全。
Chris曾在RSA 2009以及OWASP纽约、新泽西、西雅图分会、SOA高峰论坛等安全大会上进行演讲,并且担任Black Hat Federal大会的培训讲师。在Black Hat Federal大会上,他与Immunity以及Microsoft合作组织了旗帜保卫战培训。除公开演讲外,Chris还针对那些致力于开发更加安全的产品的管理层与工程师设计和开办了一些培训班。
David Thiel是iSEC Partners公司的首席安全顾问。他在计算机安全领域有着超过12年的经验,包括电子商务领域、政府领域、航空领域以及在线博彩领域的安全架构审计和设计。他擅长的领域包括Web应用渗透测试、网络协议、模糊测试、UNIX以及Mac OS X,研究兴趣包括移动和嵌入式设备攻击、媒体软件漏洞以及新兴Web应用领域的攻击。他曾在Black Hat USA、Black Hat EU、DEFCON、PacSec以及Syscan等安全大会上做过演讲,并且还是FreeBSD项目的贡献者之一。


 移动应用安全下载



发布书评

 
 


 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024