网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 软件安全测试艺术/华章程序员书库
分类
作者 (美)威斯波尔
出版社 机械工业出版社
下载
简介
编辑推荐

本书深入讲解软件安全方面最新的实用技术,用于在破坏之前预防并识别软件的安全问题。

本书作者具有近十年应用和渗透测试方面的经验,从简单的“验证”性测试方法讲起,进而介绍先发制人的“攻击”性测试方法。作者首先系统地回顾了软件中出现的设计和编码方面的安全漏洞,并提供了避免出现这些安全漏洞的实用指导。然后,向读者展示了定制用户化软件调试工具的方法,用以对任何程序的各个方面独立地进行测试,之后对结果进行分析,从而识别可被利用的安全漏洞。

本书是每一个负责软件安全的技术人员必备的读物:无论是测试人员、QA专家、安全从业者、开发人员,还是其他相关的人员。对于IT管理人员,本书提供了经实践检验的行动计划,用于实现有效安全测试或加强现有测试流程。

内容推荐

本书囊括了应用程序和网络安全分析和测试方面的内容。分为三部分,第一部分讨论一些现实情况,主要介绍漏洞的产生、安全软件开发生命周期、基于风险的安全测试和分析:白盒、黑盒和灰盒测试;第二部分主要分析网络上发现应用程序并对其进行攻击的方法;第三部分介绍如何判定漏洞的可利用性。

本书内容涉及广泛,叙述详尽,适合作为安全工程师、软件测试工程师及软件开发人员等的参考用书。

目录

译者序

序言

前言

致谢

关于作者

第一部分 综述

第1章 从传统软件测试转变

 1.1 安全测试和传统软件测试的对比

 1.2 安全测试转变的范式

 1.3 高级安全测试策略

 1.4 像攻击者一样思考

1.4.1 排定工作的优先级

1.4.2 在侦测工作中使用辅助工具

1.4.3 从漏洞知识中学习

 1.5 小结

第2章 漏洞是怎样藏到软件中的

 2.1 设计漏洞与实现漏洞

 2.2 常见的安全设计问题

2.2.1 密码技术使用的败笔

2.2.2 对用户及其许可权限进行跟踪

2.2.3 有缺陷的输入验证

2.2.4 薄弱的结构性安全

2.2.5 其他设计缺陷

 2.3 编程语言的实现问题

2.3.1 编译型语言:C/C++

2.3.2 解释型语言:Shell脚本和PHP

2.3.3 虚拟机语言:Java和C#

 2.4 平台的实现问题

2.4.1 问题:符号链接

2.4.2 问题:目录遍历

2.4.3 问题:字符转换

 2.5 常见的应用程序安全实现问题

2.5.1 SQL注入

2.5.2 跨站点执行脚本

 2.6 开发过程中的问题

2.6.1 安全需求和前提条件的文档记录贫乏

2.6.2 交流和文档的匮乏

2.6.3 在开发过程中缺少安全过程

 2.7 部署上的薄弱性

 2.8 漏洞根源分类法

 2.9 小结

第3章 安全的软件开发生命周期

 3.1 将安全测试融入到软件开发生命周期中

 3.2 阶段1:安全原则、规则及规章

 3.3 阶段2:安全需求:攻击用例

 3.4 阶段3:架构和设计评审/威胁建模

 3.5 阶段4:安全的编码原则

 3.6 阶段5:白盒/黑盒/灰盒测试

 3.7 阶段6:判定可利用性

 3.8 安全地部署应用程序

 3.9 补丁管理:对安全漏洞进行管理

 3.10 角色和职责

 3.11 SSDL与系统开发生命周期的关系

 3.12 小结

第4章 基于风险的安全测试

 4.1 信息搜集

4.1.1 与架构师会谈

4.1.2 运行时检查

 4.2 Windows平台

 4.3 UNIX痕迹检查

 4.4 完成信息搜集工作

 4.5 建模过程

4.5.1 识别威胁路径

4.5.2 识别威胁

4.5.3 识别漏洞

4.5.4 将与漏洞相关的风险进行分级

 4.6 判定可利用性

第5章 白盒、黑盒和灰盒测试

 5.1 白盒测试

 5.2 黑盒测试

 5.3 灰盒测试

 5.4 建立用于测试的实验室

5.4.1 侦探程序

5.4.2 嗅探器

5.4.3 调试器

5.4.4 硬件

5.4.5 商业的测试设备

5.4.6 网络硬件

 5.5 开展应用程序攻击

5.5.1 实验室环境

5.5.2 网络攻击

第二部分 攻击演练

第6章 常见的网络故障注入

 6.1 网络

 6.2 端口发现

6.2.1 netstat和本地工具

6.2.2 端口扫描

 6.3 代理

6.3.1 最简单的代理:随机TCP/UDP故障注入程序

6.3.2 构建故障注入数据集

6.3.3 中间人代理

 6.4 结论

 6.5 小结

第7章 会话攻击

 7.1 将要测试应用程序作为攻击目标

 7.2 身份鉴别和授权

 7.3 对会话和资源ID进行攻击

 7.4 Cookie搜集

 7.5 判断SID的长度:阶段步进分析

 7.6 跨站执行脚本

 7.7 结论

 7.8 小结

第8章 Web应用程序的常见问题

 8.1 绕过授权

 8.2 SQL注入

8.2.1 SQL注入基础

8.2.2 数据库模式探索

8.2.3 在SQL服务器上执行命令

 8.3 上传可执行内容

 8.4 文件枚举

 8.5 源代码泄露漏洞

 8.6 HTTP中的隐藏字段

 8.7 结论

 8.8 小结

第9章 使用WebScarab

 9.1 WebScarab代理

 9.2 结论

 9.3 小结

第10章 实现定制的侦探工具

 10.1 协议发现

 10.2 SOAP和WSDL

 10.3 SOAPpy库

 10.4 结论

 10.5 小结

第11章 本地故障注入

 11.1 本地资源和进程间通信

11.1.1 Windows NT对象

11.1.2 UNIX上的setuserid进程、和进程间通信

 11.2 对本地应用程序进行威胁建模

11.2.1 列举Windows应用程序资源

11.2.2 列举UNIX应用程序资源

 11.3 测试可执行脚本的ActiveX对象接口

 11.4 识别可“安全”执行脚本对象

 11.5 测试对象接口

11.5.1 手工的接口测试

11.5.2 自动的ActiveX接口测试

11.5.3 对崩溃进行评估

 11.6 对文件格式进行侦探

 11.7 文件破坏测试

 11.8 文件破坏自动化

 11.9 对命令行工具进行侦探

 11.10 Immunity公司的ShareFuzz

 11.11 暴力的二进制测试程序

 11.12 CLI Fuzz

 11.13 共享内存

 11.14 小结

第三部分 分析

第12章 判定可利用性

 12.1 漏洞分级

12.1.1 时间

12.1.2 可靠性/再现性

12.1.3 访问

12.1.4 定位

 12.2 内存侵害和任意代码执行

 12.3 计算机体系结构

12.3.1 栈

12.3.2 栈缓存区溢出

12.3.3 堆

 12.4 判定可利用性

12.4.1 进程崩溃转储

12.4.2 被控制的内存和寄存器

12.4.3 缓解因素:栈和堆保护

 12.5 更多资料

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/22 17:22:52