本書系統性地介紹了OWASP安全組織研究總結的應用安全驗證標準,為軟件開發過程中的安全控制措施開發提供直接指導與必要參考。全書分為兩大部分:*部分介紹了應用安全驗證要求的使用方法和參考案例。第二部分詳細介紹了19項安全控制措施的驗證要求,并針對每種安全驗證介紹了不同級別的控制目標和詳細要求。本書旨在幫助相關軟件開發企業機構和團隊提升有關應用軟件安全開發的相關意識;并在應用軟件設計、開發和測試過程中,能明確對功能性和非功能性安全控制的要求。 本書適合軟件開發企業的管理人員和執行人員,從事軟件安全開發相關的專業人員,以及高等院校軟件工程、信息安全、信息管理等專業的研究生、本科生學習和參考。
序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)如果您有關于本書的任何意見或建議,可以通過以
OWASP是一個開源的、非盈利的全球性安全組織,致力于應用軟件的安全研究,在業界具有一流的影響力和權威性。作為OWASP面向中國的區域分支,OWASP中國自2006年正式啟動,目前已擁有來自互聯網安全專業領域和政府、電信、金融、教育等相關領域的會員5000多名,形成了強大的專業技術實力和行業資源聚集能力,有力推動了安全標準、安全測試工具、安全指導手冊等應用安全技術在中國的發展,成為了積極推動中國互聯網安全技術創新、人才培養和行業發展的中堅力量。作為OWASP中國的運營中心,互聯網安全研究中心(Security Zone,簡稱SecZone)是國內首個獨立、開源的互聯網安全研究機構。中心始終秉持引入、吸收、創新的發展宗旨,專注于互聯網安全前沿技術和OWASP項目的深度研究,常年組織開展各類開源培訓及沙龍活動,致力于通過對國內外技術、資源的整合、應用和創新,更好地服務業界同仁、服務行業發展,更有力地推動國內互聯網安全技術的進步與升級。
第一篇 ASVS概述
第1章 使用應用安全驗證標準2
1.1 應用安全驗證級別3
1.2 如何使用這個標準4
1.3 在實踐中應用ASVS7
第2章 評估軟件是否達到驗證水平10
2.1 使用指導11
2.2 自動滲透測試工具的作用12
2.3 滲透測試的作用12
2.4 用作詳細的安全架構指導13
2.5 用作現有安全編碼清單的替代13
2.6 用作自動化單元和集成測試指南14
2.7 用作安全開發培訓14
第二篇 ASVS詳解
第3章 V1:架構、設計和威脅建模16
3.1 控制目標17
3.2 驗證要求17
3.3 參考文獻19
第4章 V2:認證20
4.1 控制目標21
4.2 驗證要求21
4.3 參考文獻24
第5章 V3:會話管理26
5.1 控制目標27
5.2 驗證要求27
5.3 參考文獻29
第6章 V4:訪問控制30
6.1 控制目標31
6.2 驗證要求31
6.3 參考文獻33
第7章 V5:惡意輸入處理34
7.1 控制目標35
7.2 驗證要求35
7.3 參考文獻38
第8章 V6:密碼學安全40
8.1 控制目標41
8.2 驗證要求41
8.3 參考文獻43
第9章 V7:錯誤處理和日志記錄44
9.1 控制目標45
9.2 驗證要求46
9.3 參考文獻48
第10章 V8:數據保護49
10.1 控制目標50
10.2 驗證要求51
10.3 參考文獻52
第11章 V9:通信安全53
11.1 控制目標54
11.2 驗證要求54
11.3 參考文獻56
第12章 V10:HTTP安全配置58
12.1 控制目標59
12.2 驗證要求59
12.3 參考文獻60
第13章 V11:惡意控件62
13.1 控制目標63
13.2 驗證要求63
13.3 參考文獻64
第14章 V12:業務邏輯65
14.1 控制目標66
14.2 驗證要求66
14.3 參考文獻67
第15章 V13:文件和資源68
15.1 控制目標69
15.2 驗證要求69
15.3 參考文獻70
第16章 V14:移動應用程序71
16.1 控制目標72
16.2 驗證要求72
16.3 參考文獻74
第17章 V15:Web服務75
17.1 控制目標76
17.2 驗證要求76
17.3 參考文獻78
第18章 V16:安全配置79
18.1 控制目標80
18.2 驗證要求80
18.3 參考文獻81
第三篇 ASVS實踐案例分析
第19章 ASVS的實踐案例83
19.1 案例1:作為安全測試指南使用84
19.2 案例2:作為SDLC的實施指導86
附 錄
附錄A 名詞解釋89
附錄B 參考文獻95
附錄C 標準映射97
附錄D ASVS術語表99
附錄E 采用ASVS的OWASP項目104
附錄F OWASP安全編碼規范快速參考指南106