软件安全测试艺术

软件安全测试艺术
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Wysopal C.) ,
2007-08
版次: 1
ISBN: 9787111219736
定价: 32.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 213页
51人买过
  •   本书深入讲解软件安全方面最新的实用技术,用于在破坏之前预防并识别软件的安全问题。
      本书作者具有近十年应用和渗透测试方面的经验,从简单的“验证”性测试方法讲起,进而介绍先发制人的“攻击”性测试方法。作者首先系统地回顾了软件中出现的设计和编码方面的安全漏洞,并提供了避免出现这些安全漏洞的实用指导。然后,向读者展示了定制用户化软件调试工具的方法,用以对任何程序的各个方面独立地进行测试,之后对结果进行分析,从而识别可被利用的安全漏洞。
      主要内容
      ●如何从软件攻击者的角度来思考从而增强防御策略。
      ●兼顾成本效益,将安全测试整合到软件开发的生命周期。
      ●基于最高风险领域,使用威胁模型来排定测试的优先顺序。
      ●构建用于进行白盒测试、灰盒测试和黑盒测试的软件测试实验。
      ●针对每个测试工程,选用恰当的工具。
      ●执行当前主要的软件攻击,从故障注入到缓冲区溢出。
      ●哪些缺陷在现实世界中最可能被攻击者利用。
      本书是每一个负责软件安全的技术人员必备的读物:无论是测试人员、QA专家、安全从业者、开发人员,还是其他相关的人员。对于IT管理人员,本书提供了经实践检验的行动计划,用于实现有效安全测试或加强现有测试流程。   ChrisWysopal,是Veracode公司CTO。曾任@stake公司的研发副总。他领导了无线、架构及应用程序安全工具的开发。他是LophtCrack密码审计攻击的合作开发者。他曾在美国国会进行过安全声明,并曾在BlackHat大会和西点军校讲演。
      LucasNelson,是Symantec公司的纽约地区技术经理,他领导着Semantec的ApplicationSecurityCenterOfExcellence(卓越应用程序安全中心),该中心主要开发一些应用程序安全实践和指导原则,并对新员工进行应用程序测试方法的培训。
      DinoDaiZovi,是Matasano安全公司的主要成员,为企业和供应商提供软件安全化服务。他是在MacOSX、802.11以及硬件可视化方面受人尊敬的研究人员和权威。Dino经常出席包括BlackHat和Microsoft公司的BlueHat等大会。
      ElfriedeDustin,是《EffectiveSoftwareTesting》一书的作者,也是《AutomatedSoftwareTesting》和《QualityWebSystems》这两本书的第一作者。他是自动化测试生命周期方法(ATLM)的创始人。 本书的“美誉”
    译者序
    序言
    前言
    致谢
    关于作者
    第一部分综述
    第1章从传统软件测试转变2
    1.1安全测试和传统软件测试的对比4
    1.2安全测试转变的范式6
    1.3高级安全测试策略7
    1.4像攻击者一样思考9
    1.4.1排定工作的优先级10
    1.4.2在侦测工作中使用辅助工具11
    1.4.3从漏洞知识中学习12
    1.5小结13
    第2章漏洞是怎样藏到软件中的15
    2.1设计漏洞与实现漏洞16
    2.2常见的安全设计问题17
    2.2.1密码技术使用的败笔17
    2.2.2对用户及其许可权限进行
    跟踪19
    2.2.3有缺陷的输入验证20
    2.2.4薄弱的结构性安全21
    2.2.5其他设计缺陷23
    2.3编程语言的实现问题24
    2.3.1编译型语言:C/C++24
    2.3.2解释型语言:Shell脚本
    和PHP32
    2.3.3虚拟机语言:Java和C#35
    2.4平台的实现问题36
    2.4.1问题:符号链接37
    2.4.2问题:目录遍历37
    2.4.3问题:字符转换38
    2.5常见的应用程序安全实现问题39
    2.5.1SQL注入39
    2.5.2跨站点执行脚本40
    2.6开发过程中的问题41
    2.6.1安全需求和前提条件的文档
    记录贫乏41
    2.6.2交流和文档的匮乏42
    2.6.3在开发过程中缺少安全过程42
    2.7部署上的薄弱性43
    2.8漏洞根源分类法44
    2.9小结44
    第3章安全的软件开发生命周期46
    3.1将安全测试融入到软件开发
    生命周期中47
    3.2阶段1:安全原则、规则
    及规章49
    3.3阶段2:安全需求:攻击用例51
    3.4阶段3:架构和设计评审/威胁建模53
    3.5阶段4:安全的编码原则53
    ⅩⅩⅣ3.6阶段5:白盒/黑盒/灰盒测试54
    3.7阶段6:判定可利用性54
    3.8安全地部署应用程序55
    3.9补丁管理:对安全漏洞进行管理55
    3.10角色和职责56
    3.11SSDL与系统开发生命周期的
    关系56
    3.12小结58
    第4章基于风险的安全测试61
    4.1信息搜集61
    4.1.1与架构师会谈62
    4.1.2运行时检查63
    4.2Windows平台63
    4.3UNIX痕迹检查67
    4.4完成信息搜集工作69
    4.5建模过程69
    4.5.1识别威胁路径70
    4.5.2识别威胁73
    4.5.3识别漏洞74
    4.5.4将与漏洞相关的风险进行
    分级75
    4.6判定可利用性76
    第5章白盒、黑盒和灰盒测试77
    5.1白盒测试77
    5.2黑盒测试78
    5.3灰盒测试78
    5.4建立用于测试的实验室79
    5.4.1侦探程序80
    5.4.2嗅探器80
    5.4.3调试器81
    5.4.4硬件81
    5.4.5商业的测试设备81
    5.4.6网络硬件82
    5.5开展应用程序攻击82
    5.5.1实验室环境82
    5.5.2网络攻击83
    第二部分攻击演练
    第6章常见的网络故障注入90
    6.1网络90
    6.2端口发现91
    6.2.1netstat和本地工具91
    6.2.2端口扫描94
    6.3代理95
    6.3.1最简单的代理:随机TCP/UDP
    故障注入程序96
    6.3.2构建故障注入数据集100
    6.3.3中间人代理103
    6.4结论104
    6.5小结104
    第7章会话攻击106
    7.1将要测试应用程序作为攻击目标106
    7.2身份鉴别和授权106
    7.3对会话和资源ID进行攻击107
    7.4Cookie搜集111
    7.5判断SID的长度:阶段步进分析113
    7.6跨站执行脚本115
    7.7结论118
    7.8小结118
    第8章Web应用程序的常见问题119
    8.1绕过授权120
    8.2SQL注入121
    8.2.1SQL注入基础121
    8.2.2数据库模式探索126
    8.2.3在SQL服务器上执行命令130
    8.3上传可执行内容133
    8.4文件枚举135
    8.5源代码泄露漏洞138
    8.6HTTP中的隐藏字段140
    8.7结论143
    8.8小结143
    第9章使用WebScarab144
    9.1WebScarab代理144
    9.2结论156
    9.3小结156
    第10章实现定制的侦探工具158
    10.1协议发现158
    10.2SOAP和WSDL161
    10.3SOAPpy库163
    10.4结论170
    10.5小结170
    第11章本地故障注入171
    11.1本地资源和进程间通信171
    11.1.1WindowsNT对象172
    11.1.2UNIX上的setuserid进程
    和进程间通信174
    11.2对本地应用程序进行威胁建模175
    11.2.1列举Windows应用程序资源176
    11.2.2列举UNIX应用程序资源176
    11.3测试可执行脚本的ActiveX对象接口178
    11.4识别可“安全”执行脚本对象179
    11.5测试对象接口181
    11.5.1手工的接口测试181
    11.5.2自动的ActiveX接口测试183
    11.5.3对崩溃进行评估183
    11.6对文件格式进行侦探184
    11.7文件破坏测试185
    11.8文件破坏自动化185
    11.9对命令行工具进行侦探186
    11.10Immunity公司的ShareFuzz187
    11.11暴力的二进制测试程序188
    11.12CLIFuzz188
    11.13共享内存192
    11.14小结194
    第三部分分析
    ⅩⅩⅤ第12章判定可利用性198
    12.1漏洞分级198
    12.1.1时间198
    12.1.2可靠性/再现性198
    12.1.3访问199
    12.1.4定位200
    12.2内存侵害和任意代码执行201
    12.3计算机体系结构202
    12.3.1栈203
    12.3.2栈缓存区溢出205
    12.3.3堆205
    12.4判定可利用性208
    12.4.1进程崩溃转储208
    12.4.2被控制的内存和寄存器208
    12.4.3缓解因素:栈和堆保护212
    12.5更多资料213
  • 内容简介:
      本书深入讲解软件安全方面最新的实用技术,用于在破坏之前预防并识别软件的安全问题。
      本书作者具有近十年应用和渗透测试方面的经验,从简单的“验证”性测试方法讲起,进而介绍先发制人的“攻击”性测试方法。作者首先系统地回顾了软件中出现的设计和编码方面的安全漏洞,并提供了避免出现这些安全漏洞的实用指导。然后,向读者展示了定制用户化软件调试工具的方法,用以对任何程序的各个方面独立地进行测试,之后对结果进行分析,从而识别可被利用的安全漏洞。
      主要内容
      ●如何从软件攻击者的角度来思考从而增强防御策略。
      ●兼顾成本效益,将安全测试整合到软件开发的生命周期。
      ●基于最高风险领域,使用威胁模型来排定测试的优先顺序。
      ●构建用于进行白盒测试、灰盒测试和黑盒测试的软件测试实验。
      ●针对每个测试工程,选用恰当的工具。
      ●执行当前主要的软件攻击,从故障注入到缓冲区溢出。
      ●哪些缺陷在现实世界中最可能被攻击者利用。
      本书是每一个负责软件安全的技术人员必备的读物:无论是测试人员、QA专家、安全从业者、开发人员,还是其他相关的人员。对于IT管理人员,本书提供了经实践检验的行动计划,用于实现有效安全测试或加强现有测试流程。
  • 作者简介:
      ChrisWysopal,是Veracode公司CTO。曾任@stake公司的研发副总。他领导了无线、架构及应用程序安全工具的开发。他是LophtCrack密码审计攻击的合作开发者。他曾在美国国会进行过安全声明,并曾在BlackHat大会和西点军校讲演。
      LucasNelson,是Symantec公司的纽约地区技术经理,他领导着Semantec的ApplicationSecurityCenterOfExcellence(卓越应用程序安全中心),该中心主要开发一些应用程序安全实践和指导原则,并对新员工进行应用程序测试方法的培训。
      DinoDaiZovi,是Matasano安全公司的主要成员,为企业和供应商提供软件安全化服务。他是在MacOSX、802.11以及硬件可视化方面受人尊敬的研究人员和权威。Dino经常出席包括BlackHat和Microsoft公司的BlueHat等大会。
      ElfriedeDustin,是《EffectiveSoftwareTesting》一书的作者,也是《AutomatedSoftwareTesting》和《QualityWebSystems》这两本书的第一作者。他是自动化测试生命周期方法(ATLM)的创始人。
  • 目录:
    本书的“美誉”
    译者序
    序言
    前言
    致谢
    关于作者
    第一部分综述
    第1章从传统软件测试转变2
    1.1安全测试和传统软件测试的对比4
    1.2安全测试转变的范式6
    1.3高级安全测试策略7
    1.4像攻击者一样思考9
    1.4.1排定工作的优先级10
    1.4.2在侦测工作中使用辅助工具11
    1.4.3从漏洞知识中学习12
    1.5小结13
    第2章漏洞是怎样藏到软件中的15
    2.1设计漏洞与实现漏洞16
    2.2常见的安全设计问题17
    2.2.1密码技术使用的败笔17
    2.2.2对用户及其许可权限进行
    跟踪19
    2.2.3有缺陷的输入验证20
    2.2.4薄弱的结构性安全21
    2.2.5其他设计缺陷23
    2.3编程语言的实现问题24
    2.3.1编译型语言:C/C++24
    2.3.2解释型语言:Shell脚本
    和PHP32
    2.3.3虚拟机语言:Java和C#35
    2.4平台的实现问题36
    2.4.1问题:符号链接37
    2.4.2问题:目录遍历37
    2.4.3问题:字符转换38
    2.5常见的应用程序安全实现问题39
    2.5.1SQL注入39
    2.5.2跨站点执行脚本40
    2.6开发过程中的问题41
    2.6.1安全需求和前提条件的文档
    记录贫乏41
    2.6.2交流和文档的匮乏42
    2.6.3在开发过程中缺少安全过程42
    2.7部署上的薄弱性43
    2.8漏洞根源分类法44
    2.9小结44
    第3章安全的软件开发生命周期46
    3.1将安全测试融入到软件开发
    生命周期中47
    3.2阶段1:安全原则、规则
    及规章49
    3.3阶段2:安全需求:攻击用例51
    3.4阶段3:架构和设计评审/威胁建模53
    3.5阶段4:安全的编码原则53
    ⅩⅩⅣ3.6阶段5:白盒/黑盒/灰盒测试54
    3.7阶段6:判定可利用性54
    3.8安全地部署应用程序55
    3.9补丁管理:对安全漏洞进行管理55
    3.10角色和职责56
    3.11SSDL与系统开发生命周期的
    关系56
    3.12小结58
    第4章基于风险的安全测试61
    4.1信息搜集61
    4.1.1与架构师会谈62
    4.1.2运行时检查63
    4.2Windows平台63
    4.3UNIX痕迹检查67
    4.4完成信息搜集工作69
    4.5建模过程69
    4.5.1识别威胁路径70
    4.5.2识别威胁73
    4.5.3识别漏洞74
    4.5.4将与漏洞相关的风险进行
    分级75
    4.6判定可利用性76
    第5章白盒、黑盒和灰盒测试77
    5.1白盒测试77
    5.2黑盒测试78
    5.3灰盒测试78
    5.4建立用于测试的实验室79
    5.4.1侦探程序80
    5.4.2嗅探器80
    5.4.3调试器81
    5.4.4硬件81
    5.4.5商业的测试设备81
    5.4.6网络硬件82
    5.5开展应用程序攻击82
    5.5.1实验室环境82
    5.5.2网络攻击83
    第二部分攻击演练
    第6章常见的网络故障注入90
    6.1网络90
    6.2端口发现91
    6.2.1netstat和本地工具91
    6.2.2端口扫描94
    6.3代理95
    6.3.1最简单的代理:随机TCP/UDP
    故障注入程序96
    6.3.2构建故障注入数据集100
    6.3.3中间人代理103
    6.4结论104
    6.5小结104
    第7章会话攻击106
    7.1将要测试应用程序作为攻击目标106
    7.2身份鉴别和授权106
    7.3对会话和资源ID进行攻击107
    7.4Cookie搜集111
    7.5判断SID的长度:阶段步进分析113
    7.6跨站执行脚本115
    7.7结论118
    7.8小结118
    第8章Web应用程序的常见问题119
    8.1绕过授权120
    8.2SQL注入121
    8.2.1SQL注入基础121
    8.2.2数据库模式探索126
    8.2.3在SQL服务器上执行命令130
    8.3上传可执行内容133
    8.4文件枚举135
    8.5源代码泄露漏洞138
    8.6HTTP中的隐藏字段140
    8.7结论143
    8.8小结143
    第9章使用WebScarab144
    9.1WebScarab代理144
    9.2结论156
    9.3小结156
    第10章实现定制的侦探工具158
    10.1协议发现158
    10.2SOAP和WSDL161
    10.3SOAPpy库163
    10.4结论170
    10.5小结170
    第11章本地故障注入171
    11.1本地资源和进程间通信171
    11.1.1WindowsNT对象172
    11.1.2UNIX上的setuserid进程
    和进程间通信174
    11.2对本地应用程序进行威胁建模175
    11.2.1列举Windows应用程序资源176
    11.2.2列举UNIX应用程序资源176
    11.3测试可执行脚本的ActiveX对象接口178
    11.4识别可“安全”执行脚本对象179
    11.5测试对象接口181
    11.5.1手工的接口测试181
    11.5.2自动的ActiveX接口测试183
    11.5.3对崩溃进行评估183
    11.6对文件格式进行侦探184
    11.7文件破坏测试185
    11.8文件破坏自动化185
    11.9对命令行工具进行侦探186
    11.10Immunity公司的ShareFuzz187
    11.11暴力的二进制测试程序188
    11.12CLIFuzz188
    11.13共享内存192
    11.14小结194
    第三部分分析
    ⅩⅩⅤ第12章判定可利用性198
    12.1漏洞分级198
    12.1.1时间198
    12.1.2可靠性/再现性198
    12.1.3访问199
    12.1.4定位200
    12.2内存侵害和任意代码执行201
    12.3计算机体系结构202
    12.3.1栈203
    12.3.2栈缓存区溢出205
    12.3.3堆205
    12.4判定可利用性208
    12.4.1进程崩溃转储208
    12.4.2被控制的内存和寄存器208
    12.4.3缓解因素:栈和堆保护212
    12.5更多资料213
查看详情
系列丛书 / 更多
软件安全测试艺术
OpenCV 3计算机视觉:Python语言实现(原书第2版)
[爱尔兰]乔·米尼奇诺(JoeMinichino) 著;[爱尔兰]乔·米尼奇诺(JoeMinichino) 编;刘波苗贝贝史斌 译
软件安全测试艺术
OpenGL ES 3.0编程指南
Dan、Budi、Dave Shreine 著;姚军 译
软件安全测试艺术
精彩绝伦的Android UI设计:响应式用户界面与设计模式
Juhani Lehtimaki 著;王东明 译
软件安全测试艺术
OpenGL编程指南(原书第9版)
王锐 译
软件安全测试艺术
Python编程实战:运用设计模式、并发和程序库创建高质量程序
[美]Mark Summerfield 著;爱飞翔 译
软件安全测试艺术
HTML5 Canvas核心技术:图形、动画与游戏开发
[美]David Geary 著
软件安全测试艺术
华章程序员书库:OpenGL编程指南(原书第8版)
[美]施莱尔(Dave Shreiner)、Graham、John Kessenich 著;王锐 译
软件安全测试艺术
SOA与Java:用Java技术实现面向服务
[美]Thomas、[印]Andre、[美]Satadru、[英]Philip Thomas 著;赵利通 译
软件安全测试艺术
iPad应用开发实践指南
[美]Kirby、[美]Tom Harrington 著;张菲 译
软件安全测试艺术
领域特定语言
[英]Martin Fowler 著;Thought Works 译
软件安全测试艺术
NoSQL精粹
[美]Pramod J.、[美]Martin Fowler 著;爱飞翔 译
软件安全测试艺术
iOS增强现实应用开发实战
[美]Kyle Roche 著
相关图书 / 更多
软件安全测试艺术
软件工程:经典、现代和前沿
孙艳春 主编, 黄罡,邓水光 编著
软件安全测试艺术
软件利润流 英文限量版
(美)杰森·坦纳(Jason Tanner)
软件安全测试艺术
软件逆向分析技术及应用
鲁宏伟 陈凯 邓贤君 许雷永
软件安全测试艺术
软件性能测试实战教程(LoadRunner与JMeter)
周百顺 主编;张伟
软件安全测试艺术
软件工程专业英语(第2版)
宋晓涛 谢红薇 郭晓红
软件安全测试艺术
软件工程--理论与实践
毛新军 董威
软件安全测试艺术
软件需求分析(微课版)
李美蓉 何中海
软件安全测试艺术
软件自动化测试入门攻略
杨定佳
软件安全测试艺术
软件工程(第4版 英文版)
(美) 莎丽·劳伦斯·弗里格(Shari Lawrence Pfleeger)
软件安全测试艺术
软件性能测试、分析与调优实践之路(第2版)
张永清
软件安全测试艺术
软件灵活性设计:如何避免陷入编程困境 [美]克里斯·汉森
(美)克里斯·汉森 (美)杰拉尔德·杰伊·萨斯曼
软件安全测试艺术
软件开发珠玑:穿越50年软件往事的60条戒律
(美)Karl Wiegers(卡尔·魏格斯)
您可能感兴趣 / 更多
软件安全测试艺术
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
软件安全测试艺术
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
软件安全测试艺术
进阶书系-国际史的技艺
[美] 马克·特拉亨伯格
软件安全测试艺术
杜甫传
[美]弗洛伦斯.艾思柯
软件安全测试艺术
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
软件安全测试艺术
爵士乐史(精装本)
[美]泰德·乔亚 著
软件安全测试艺术
环境的科学 (平装版)
[美]威廉·坎宁安 后浪
软件安全测试艺术
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
软件安全测试艺术
数学侦探 游乐园里的古怪笑脸
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品
软件安全测试艺术
读懂经济学:提升“财商”、塑造价值观念的经济学读本,一本书参破瞬息万变的经济世界底层逻辑!
[美]霍华德·亚鲁斯 著;赵善江 译;斯坦威 出品
软件安全测试艺术
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
软件安全测试艺术
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗