第1部分 安全与控制第1章 应用安全 3
1.0 案例研究 4
1.1 避免风险 6
1.2 四大综合约束 7
1.3 安全要素 8
1.4 小结 12
第2章 应用交互控制 13
2.0 案例研究 14
2.1 种交互控制 16
2.2 小结 25
第3章 应用过程控制 27
3.0 案例研究 28
3.1 五大过程控制 30
3.2 小结 37
第2部分 破解系统 41
第4章 本地访问控制 41
4.0 案例研究 42
4.1 对于Linux系统的物理访问 43
4.2 控制台访问 44
4.3 特权扩大 52
4.3.1 Sudo 53
4.4 文件权限和属性 62
4.4.1 chrooting(切换) 73
4.5 物理访问、加密,以及密码恢复 80
4.6 易失数据 84
4.7 小结 86
第5章 数据网络安全 87
5.0 案例研究 88
5.1 网络可视化 89
5.2 网络和系统概要分析 94
5.3 网络架构 98
5.4 隐蔽的通信和秘密的管理 105
5.5 小结 121
第6章 非常规数据攻击向量 123
6.0 案例研究 124
6.1 PSTN、ISDN和PSDN攻击向量概述 128
6.1.1 PSTN简介 128
6.1.2 ISDN简介 129
6.1.3 PSDN和X.25介绍 130
6.2 通信网络攻击 132
6.3 执行测试 139
6.3.1 PSTN 140
6.3.2 ISDN 140
6.3.3 PSDN 140
6.4 使用的工具 143
6.4.1 PAW和PAWS 143
6.4.2 Intelligent Wardialer 144
6.4.3 Shokdial 147
6.4.4 Ward 148
6.4.5 THCscan Next Generation 149
6.5 PSDN测试工具 150
6.5.1 Admx25 150
6.5.2 Sun Solaris多线程和多信道X.25匿名扫描器 150
6.5.3 Vudu 151
6.5.4 TScan 151
6.6 普通标志 152
6.7 X.25网络的工作原理 157
6.7.1 基本部件 158
6.7.2 呼叫建立 158
6.7.3 错误代码 159
6.7.4 X.3/X.28 PAD应答代码 160
6.7.5 X.25地址格式 161
6.7.6 DCC附件列表 163
6.8 访问X.25的关键点 171
6.8.1 用NUI进行X.28拨号 172
6.8.2 X.28反向收费拨号 173
6.8.3 使用一个标准或免费PSTN或ISDN号码的私有X28 PAD 173
6.8.4 因特网到X.25的网关 173
6.8.5 Cisco系统 173
6.8.6 VAX/VMS或者AXP/OpenVMS 174
6.8.7 NIX系统 174
6.9 小结 175
第7章 VoIP 177
7.0 案例研究 178
7.1 VOIP攻击分类(TAXONOMY) 180
7.2 网络攻击 183
7.3 系统攻击 186
7.4 信令攻击 194
7.4.1 VoIP测试工具简介 195
7.5 传输攻击 202
7.6 VoIP安全挑战 205
7.6.1 防火墙和NAT 205
7.6.2 加密 206
7.7 小结 207
第8章 无线网络 209
8.0 案例研究 210
8.1 无线现状 213
8.2 无线攻击物理学原理:射频 219
8.3 射频频谱分析 230
8.4 利用802.11的攻击方法 233
8.5 无线审计活动和程序 242
8.5.1 审计无线策略 242
8.6 小结 270
第9章 输入/输出设备 271
9.0 案例研究 272
9.1 关于蓝牙(Bluetooth) 273
9.1.1 蓝牙技术规范(Bluetooth Profiles) 274
9.1.2 蓝牙协议栈的实体 275
9.2 小结 283
第10章 RFID——射频识别 285
10.0 案例研究 286
10.1 RFID的历史:里昂·泰勒明和“The Thing” 287
10.1.1 识别朋友或敌人(IFF) 288
10.2 RFID组件 289
10.2.1 RFID的用途 290
10.2.2 无源标签(Passive Tag) 290
10.2.3 有源标签(Active Tag) 291
10.3 RFID的应用 291
10.3.1 启用RFID护照 292
10.3.2 票务 293
10.3.3 目前关于RFID的其他应用 293
10.4 RFID的频率标准 294
10.5 RFID技术标准 295
10.6 RFID攻击 296
10.7 RFID的黑客工具箱 301
10.8 使用Linux实现RFID系统 302
10.8.1 连接到Linux系统的RFID阅读器 302
10.8.2 带有嵌入式Linux的RFID阅读器 303
10.8.3 Linux系统作为RFID系统的后端/中间件/数据库服务器 303
10.9 LINUX及与RFID相关的项目和产品 303
10.9.1 OpenMRTD 304
10.9.2 OpenPCD 304
10.9.3 OpenPICC 305
10.9.4 麦哲伦技术 306
10.9.5 RFIDiot 306
10.9.6 RFID Guardian 307
10.9.7 OpenBeacon 307
10.9.8 Omnikey 308
10.9.9 Linux系统的RFID套件 308
10.10 小结 309
第11章 辐射攻击 311
11.0 案例研究 312
11.1 屏幕辐射窃密(Van Eck Phreaking) 314
11.2 其他“侧通道”攻击 317
11.3 小结 322
第12章 可信计算 323
12.0 案例研究 324
12.1 可信计算简介 326
12.2 平台攻击分类 332
12.3 硬件攻击 335
12.4 低级软件攻击 338
12.5 系统软件攻击 342
12.6 应用程序攻击 344
12.7 对于可信计算应用程序的普遍支持 347
12.7.1 TPM设备驱动程序 347
12.7.2 TrouSerS 347
12.7.3 TPM Emulator 349
12.7.4 jTSS Wrapper 349
12.7.5 TPM Manager 350
12.8 可信计算应用程序示例 350
12.8.1 Enforcer 350
12.8.2 TrustedGRUB(tGrub) 350
12.8.3 TPM Keyring 351
12.8.4 Turaya.VPN和Turaya.Crypt 351
12.8.5 开源可信计算 351
12.8.6 TCG产业应用 352
12.9 小结 352
第3部分 攻击用户 357
第13章 Web应用程序攻击 357
13.0 案例研究 358
13.1 枚举搜索 359
13.2 访问与控制利用 368
13.3 不充分的数据验证 378
13.4 WEB 2.0攻击 388
13.5 信任操纵 399
13.5.1 信任和认知劫持 399
13.6 中间人攻击 405
13.7 Web基础设施攻击 414
13.8 总结 419
第14章 邮件服务 421
14.0 案例学习 422
14.1 SMTP基本知识 423
14.1.1 理解寄件人和信封发件人 426
14.1.2 邮件路由 427
14.2 SMTP攻击分类 430
14.2.1 欺骗 431
14.2.2 改变数据或完整性 450
14.2.3 拒绝服务攻击与可用性 455
14.3 总结 460
第15章 域名服务 461
15.0 案例学习 462
15.1 DNS基础 463
15.1.1 DNS和IPv6 467
15.2 社会方面:DNS和钓鱼 467
15.3 WHOIS、域名注册及域名劫持 468
15.4 技术方面:欺骗、缓存投毒及其他攻击 470
15.5 BIND强化 474
15.6 总结 485
第4部分 维护与维持第16章 可靠性:C代码静态分析 489
16.0 案例学习 490
16.1 形式化和半形式化方法 492
16.1.1 半形式化方法 493
16.1.2 形式化方法 493
16.2 静态分析 496
16.3 C代码静态分析 498
16.3.1 用霍尔逻辑对C代码进行静态分析 499
16.3.2 最弱前置条件演算 501
16.3.3 验证条件 505
16.3.4 终止 509
16.3.5 方法论 509
16.4 一些C分析工具 511
16.4.1 基于抽象解释的工具 512
16.4.2 基于霍尔逻辑的工具 513
16.4.3 基于模型检查的工具 513
16.5 更多参考资料 514
16.6 总结 515
第17章 在Linux内核中的安全调整 517
17.1 Linux安全模块 518
17.2 CRYPTOAPI 518
17.3 NETFILTER的改进 519
17.4 增强的无线栈 519
17.5 文件系统完善 520
17.5.1 POSIX访问控制列表(POSIX Access Control Lists) 520
17.5.2 NFSv4 520
17.6 附加的内核资源 520
17.6.1 在线手册页 520
17.6.2 在线文档 521
17.6.3 其他参考 521
第5部分 附录 525
附录A 管理和维护 525
附录B Linux下取证与数据恢复 545
附录C BSD 559