序1
关于标准
本书是根据《OWASP应用程序安全验证标准》翻译编写的。《OWASP应用程序安全验证标准》是架构师、开发人员、测试人员、安全专业人员及用户可以使用的应用程序安全性要求或测试的列表,以定义安全的应用程序。
版权和许可证
版权所有?20082016 OWASP基金会。本文档依照《知识共享署名授权许可协议3.0》发布。对于任何重用或分发,必须向他人明确这项工作的许可条款。
发布历史
第3.0.1版《OWASP应用程序安全验证标准》发布于2016年,该项目由Daniel Cuthbert和Andrew van der Stock领导。
? 2014年8月,第2.0版《OWASP应用程序安全验证标准》发布。
? 2015年9月,第3.0版《OWASP应用程序安全验证标准》发布。
? 2016年6月,第3.0.1版《OWASP应用程序安全验证标准》发布。
2015年第3.0版的贡献者
项目负责人 主要作者 贡献者和审稿人
Andrew van der Stock
Daniel Cuthbert Jim Manico Abhinav Sejpal
Ari Kes?niemi
Boy Baukema
Colin Watson
Cristinel Dumitru
David Ryan
Fran?ois-Eric Guyomarch
Gary Robinson
Glenn Ten Cate
James Holland
Martin Knobloch
Raoul Endres
Ravishankar S
Riccardo Ten Cate
Roberto Martelloni
Ryan Dewhurst
Stephen de Vries
Steven van der Baan
2014年第2.0版的贡献者
项目负责人 主要作者 贡献者和审稿人
Daniel Cuthbert
Sahba Kazerooni Andrew van der Stock
Krishna Raja Antonio Fontes
Archangel Cuison
Ari Kes?niemi
Boy Baukema
Colin Watson
Dr Emin Tatli
Etienne Stalmans
Evan Gaustad
Jeff Sergeant
Jerome Athias
Jim Manico
Mait Peekma
Pekka Sillanp??
Safuat Hamdy
Scott Luc
Sebastien Deleersnyder
2009年第1.0版的贡献者
项目负责人 主要作者 贡献者和审稿人
Mike Boberski
Jeff Williams
Dave Wichers Jim Manico Andrew van der Stock
Barry Boyd
Bedirhan Urgun
Colin Watson
Dan Cornell
Dave Hausladen
Dave van Stein
Dr. Sarbari Gupta
Dr. Thomas Braun
Eoin Keary
Gaurang Shah
George Lawless
Jeff LoSapio
Jeremiah Grossman
John Martin
John Steven
续表
项目负责人 主要作者 贡献者和审稿人
Ken Huang
Ketan Dilipkumar Vyas
Liz Fong Shouvik Bardhan
Mandeep Khera
Matt Presson
Nam Nguyen
Paul Douthit
Pierre Parrend
Richard Campbell
Scott Matsumoto
Stan Wisseman
Stephen de Vries
Steve Coyle
Terrie Diaz
Theodore Winograd
序2
欢迎使用《OWASP应用程序安全验证标准(ASVS)》第3.0.1版。ASVS是通过OWASP团队努力建立而成的安全要求和控制框架,其侧重于在应用程序设计、开发和测试时所需的功能和非功能安全控制。
本版本被认为是识别和采用的最佳实践经验。这将有助于新兴标准计划采用ASVS中的内容,同时协助现有的企业学习他人的经验。
OWASP ASVS项目组预计这个标准可能永远不会达到100%的完善并被认同。风险分析在某种程度上是主观的,这在尝试以适合所有标准的尺度进行泛化时,会产生挑战。但是,OWASP ASVS项目组希望本版本的最新更新是朝着正确的方向迈出的一步,并期望能为行业引入这一重要的概念。
第3.0.1版有什么新功能
(1)在第3.0.1版本中,ASVS增加了几个部分,包括配置、Web服务等,使本标准更适用于现代应用,如HTML5前端或移动客户端、使用SAML身份验证来调用一组RESTful Web服务。
(2)为确保使用人员不需要多次重复验证相同的项目,第3.0.1版ASVS删除了重复的标准。
第3.0.1版ASVS提供了一个映射到CWE常见弱点的枚举(CWE)字典。CWE映射可以用于识别信息利用的可能性,成功地利用这一结果。广义地说,如果不使用或实施安全控制及如何缓解弱点,那么还可以洞悉将来有可能出现的问题。
最后,在2015年OWASP AppSec欧洲大会期间,OWASP ASVS项目组与其他项目组、专家进行了评审,并在2015年的OWASP AppSec美国大会进行了最后的工作会议,纳入大量反馈意见。OWASP ASVS项目组希望读者能找到对本书有用的更新,并以项目组所能想象的方式使用它。
前 言
背景
2016年和2017年是我国网络安全行业飞速发展的两年。自2016年年底至2017年,国家先后发布并实施《网络空间安全战略》《网络安全法》《关于加强网络安全学科建设和人才培养的意见》等涉及网络安全方面的法律法规和政策文件。同时,WannCry勒索病毒Structs2漏洞Office高危漏洞等这样的全球性网络安全事件也不时刺痛着人们的神经。越来越多的网络安全研究机构、软件研发机构、专家学者逐渐认识到没有软件安全,就没有网络安全安全不仅是网络安全专家的责任,更是每个软件开发从业人员的责任。
那么,软件研发机构如何开发出安全的应用程序呢?安全的应用程序应该符合哪些标准呢?软件研发机构需要验证应用程序的哪些方面呢?本书是在这样的背景下翻译出版的。
ASVS简介
OWASP应用程序安全验证标准(ASVS)项目是OWASP全球安全组织的成功项目之一。该项目的主旨如下:为执行Web应用程序安全验证提供一套可行的标准,以规范应用程序的安全验证覆盖范围和安全级别。该项目的研究成果,即《OWASP应用程序安全验证标准(ASVS)》,最新版本为第3.0.1版。
该成果不仅为Web应用程序技术安全控制提供了测试参考标准,还为应用程序开发人员提供了一系列安全开发需求建议。为测试应用程序技术安全控制及依赖于测试环境中的任何技术安全控制提供了参考依据,以消除应用程序受到跨站脚本(XSS)、SQL注入等软件安全威胁的影响。此外,该成果还可用于标识应用程序的安全信任级别。
该成果可根据读者或使用人员的需要,作为度量标准、安全指导和采购要求。
(1)度量标准:为应用程序开发人员和应用程序所有者提供一个参考标准,以评估应用程序的可信任程度。
(2)安全指导:为应用程序中安全控制的开发人员提供有关构建安全控制的指导建议,以满足应用程序的安全开发需求。
(3)采购要求:为应用程序的采购合同,提供应用程序安全验证需求的参考标准。
读者对象
本书的主要读者对象包括但不限于:
(1)软件研发组织机构的技术专业负责人和项目主管。
(2)软件安全开发服务咨询与验证的相关人员。
(3)网络安全基础核心领域研究的专家学者。
(4)高等院校软件工程专业和网络安全专业的教育工作者。
(5)对软件安全开发感兴趣的个人。
内容结构
本书分为3篇,共19章。第一篇由第1、2章组成,对ASVS及其评估软件的使用方式进行了介绍。第二篇由第3~18章组成,分别介绍了16类验证关键点。第三篇由第19章组成,表述了ASVS的实践案例。
全书由王颉负责总体架构设计和质量控制,由Rip、张家银担任翻译顾问,由包悦忠、李旭勤负责技术指导。第1章由王颉翻译,第2章由王厚奎翻译,第3~10章由王厚奎和吴楠共同翻译,第11~18章由吴楠翻译,第19章及附录由王厚奎翻译。全文由赵学文负责统稿与编排。
致谢
特别感谢OWASP总部对OWASP中国组织本中文版ASVS相关工作予以的支持。
感谢OWASP中国和SecZone自OWASP Application Security Verification Standard(V2.0)发布以来对该项目持续的跟进、翻译、研究与分享。同时,也对该项目的参与人员表示感谢。
OWASP中国将对OWASP ASVS项目保持跟进,持续完善和深化本书。
中文版说明
(1)本书为OWASP Application Security Verification Standard(V3.0.1)的中文版。本书尽量保留原版本的格式与风格,但部分语言风格调整为中文表述。其中存在的差异,敬请谅解。
(2)为方便读者阅读和理解本书中的内容,本书对原英文版中明确内容为空的章节进行了删除,并对原英文版中的部分章节内容进行了顺序调整,致使本书的章节编号与原英文版中的章节编号不同。
(3)本书中的表格包含每条描述项的序号,以及其在原英文版中的原描述项序号,以方便读者进行匹配。
(4)由于译者团队水平有限,存在的错误敬请指正。
(5)如果您有关于本书的任何意见或建议,可以通过以