logo资料库

OWASP_MASVS-v1.2(中文版).pdf

第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
资料共37页,剩余部分请下载后查看
前言
关于标准
移动应用安全验证标准
评估与认证
V1:架构,设计和威胁建模要求
V2:数据存储和隐私要求
V3:加密要求
V4:身份验证 和 会话管理
V5:网络通信要求
V6: 平台交互要求
V7: 代码质量和编译要求
V8: 韧性要求
Appendix A: Glossary
附录B:参考资料
更新日志
(Simplified Chinese Translation) Version v1.2
OWASP Mobile Application Security Verification Standard Version v1.2 March 17, 2020
OWASP Mobile Application Security Verification Standard v1.2 ⽬录 前⾔ 关于标准 移动应⽤安全验证标准 评估与认证 V1:架构,设计和威胁建模要求 V2:数据存储和隐私要求 V3:加密要求 V4:⾝份验证和会话管理 V5:⽹络通信要求 V6: 平台交互要求 V7: 代码质量和编译要求 V8: 韧性要求 Appendix A: Glossary 附录 B:参考资料 更新⽇志 4 6 9 12 14 16 19 21 23 25 27 29 32 34 35 3
OWASP Mobile Application Security Verification Standard v1.2 前⾔ 在现代社会,技术⾰命⽆处不在。在不到 10年前,智能⼿机是笨重的设备,并且⼏乎没有键盘。对于精通技术的⽤⼾来说, 这样的玩物太昂贵了。今天,智能⼿机是我们⽣活中不可或缺的⼀部分。我们依赖智能⼿机获取⽇常信息、导航定位、沟通交流。 它们已经渗透到商业和社交⽣活中的每⼀个⻆落。 每个新技术也相对地带来新的⻛险,⽽要跟上这些⼀直不断出现的变化是安全⾏业⾯临的⼀⼤挑战。防守⽅总是落后于技术发展⼏步。 例如,许多⼈都会以旧的思维去考虑问题:智能⼿机就像⼩型电脑,⽽移动应⽤程序就像电脑上的软件⼀样,所以两样东西的安全⽅⾯的要求应该是⼀样的。 可事实并⾮如此。智能⼿机操作系统不同于桌⾯操作系统,移动应⽤与⽹⻚应⽤⼜不同。举个例⼦,在现今的移动操作系统环境中, 基于签名的病毒检测⽅法不起作⽤:它不仅与移动应⽤发⾏模式不兼容,⽽且由于移动系统的沙盒限制,在技术上也不可⾏。 此外,某些类别的漏洞(如缓冲区溢出和跨站脚本 XSS),和桌⾯应⽤与⽹⻚应⽤⽐起来,在普通移动应⽤程序中并不流⾏。 随着时间的推移,由于移动计算⾏业的发展,业界已经对安全问题有了可⾏的解决⽅案。我们的⼿机和其应⽤程序存储并处理我们的个⼈信息、 照⽚、录⾳录像、笔记、银⾏账⼾信息、商业信息以及卫星定位等等。所以保证数据安全就相当于保证了移动安全。 ⼿机应⽤程序⼀般以客⼾端的形式存在以连接到我们⽇常使⽤的服务处理终端,处理我们与外界交换的每条信息。 ⼊侵了⼀个⼈的智能⼿机,就相当于得到对这个⼈的⽣活的所有信息。相较于电脑,智能⼿机的移动设备更容易丢失或被盗。 随着移动恶意软件愈演愈烈,对移动数据保护的需求就愈发显著。 因此,移动应⽤的安全标准必须侧重于移动应⽤如何处理、存储和保护敏感信息。作为现代移动操作系统,iOS和安卓都为数据的存储与通讯安全提供了很好的 API。但是,确保安全的前提是这些 API都被正确地使⽤。数据存储、应⽤间通信、正确使⽤加密 API和安全⽹络通信只是需要仔细考虑的⼀些⽅⾯⽽已。 需要业界共识的⼀个重要问题是,在保护数据的机密性和完整性⽅⾯究竟应该做到多严谨。例如,我们⼤多数⼈会认为移动应⽤应该在 TLS 交换中验证服务器证书。但是,SSL 证书绑定呢?不这样做会导致漏洞的产⽣吗?如果移动应⽤程序处理敏感数据, 这应是⼀项要求,还是可能会适得其反?另⼀种情况是,操作系统对应⽤程序进⾏沙盒保护,我们是否需要加密 SQLite 中的数据?适合⼀个应⽤的安全需求可能对于另⼀个应⽤来说不切实际。MASVS试图使⽤适合不同威胁情况的验证级别来标准化这些要求。 此外,具有系统权限的恶意软件和远程控制⿊客软件的出现使⼈们意识到移动操作系统本⾝存在可利⽤的缺陷。因此, 容器化策略被越来越多地⽤于提供对于敏感数据的保护和防⽌对于客⼾端的篡改。硬件级的安全功能和操作系统级的容器化解决⽅案 (如 Android For Work和三星 Knox)确实存在,但它们在不同设备上并⾮都可以使⽤。作为⼀种辅助措施,软件级别的措施可以提供相对有效的保护效⽤, 但是⽬前没有标准或测试流程来验证这些类型的保护。 因此,移动应⽤安全测试报告各式各样:例如,⼀些测试⼈员把安卓移动应⽤程序中缺乏代码混淆或 root 检测认定为 “安全漏洞”。另⼀⽅⾯,⼀些测试⼈员认为字符串加密、调试器检测或控制流混淆等措施为⾮必要措施。因为事情并⾮⾮⿊即⽩的, 这种不考虑实际情况的判断的缺乏实际意义。移动应⽤程序的韧性要求取决于⼀个它⾯临的移动客⼾端的威胁。软件保护并⾮毫⽆⽤处, 它们最终可能会被绕过,因此不能将软件保护⽤作安全控制的替代品。 MASVS 的总体⽬标是为移动应⽤程序安全提供基础需求(MASVS-L1) ,同时包括了额外的纵深防御措施(MASVS-L2) 和针对移动应⽤程序客⼾端威胁的保护(MASVS-R)。MASVS旨在实现以下⽬标: • 罗列出移动应⽤安全开发的需求以供软件架构师和开发⼈员使⽤; • 提供可⽤于移动应⽤安全测试的⾏业标准; • 阐明软件保护机制在移动安全中的作⽤,并提供验证其有效性的要求; 4
OWASP Mobile Application Security Verification Standard v1.2 • 提出针对不同⽤例的安全级别的具体建议。 我们知道要取得 100%的⾏业共识是不可能实现的。然⽽,我们希望 MASVS在移动应⽤开发和测试的所有阶段都能够提供指导。 作为开源标准,MASVS将随着时间的推移⽽发展,我们也欢迎任何协作与建议。 本纳德·穆勒(Bernhard Mueller)OWASP移动安全项⽬ 5
OWASP Mobile Application Security Verification Standard v1.2 关于标准 欢迎阅读移动应⽤安全验证标准(MASVS)1.2版. MASVS是⼀个社区项⽬,其宗旨是建⽴⼀个安全需求的框架给⼈们去设计、 开发和测试 iOS和 Android的移动应⽤程序。 MASVS是社区努⼒和⾏业反馈的成果。我们希望该标准会随着时间的推移不断更新,并且⾮常欢迎来⾃社区的意⻅反馈。 与我们取得联系的最佳⽅式是通过 OWASP Mobile Project Slack 频道: https://owasp.slack.com/messages/ project-mobile_omtg/details/ 可以通过以下 URL创建帐⼾: https://owasp-slack.herokuapp.com/ 版权和许可 版权所有 ©2020 OWASP 基⾦会。本作品是根据知识共享署名-相同⽅式共享 4.0 国际许可。对于任何重复使⽤或分发, 您必须向他⼈明确此作品的许可条款。 6
OWASP Mobile Application Security Verification Standard v1.2 致谢 项⽬负责⼈ Sven Schleier,Jeroen Willemsen和 Carlos Holguera 主要作者 Bernhard Mueller 贡献者和审稿⼈ 亚历⼭⼤·安图克(Alexander Antukh),梅谢⾥亚科夫 (Meshyayakov Aleksey),巴切夫斯基·阿特姆(Bachevsky Artem),耶隆·⻉克斯(Jeroen Beckers),弗拉迪斯拉夫· 切尔诺科夫(Fladislav Chelnokov),本·切尼(Ben Cheney), 彼得·奇(Lex Chien),史蒂芬·科⽐奥克斯(Stephen Corbiaux), 曼努埃尔·德尔加多(Manuel Delgado),拉切科·丹尼斯 (Ratchenko Denis),瑞安·德赫斯特(Ryan Dewhurst),泰瑞⾟· 德⽶特⾥(Tereshin Dmitry),克⾥斯蒂安·东(Christian Dong), 奥普拉·埃⼽尔(Bry Gardiner),亨利·胡(Henry Hu),舍尔· 兰格坎珀(Sjoerd Langkemper),维尼修斯·亨利克·⻢兰⼽尼 (ViníciusHenrique Marangoni),⻢丁·⻢西卡诺(Roberto Martelloni),加尔·⻢克西姆(Gall Maxim),冈⽥⾥奥塔罗·冈⽥ (Riotaro Okada),阿⽐纳夫·塞普帕尔(Afhinav Sejpal),史蒂芬· 塞伊斯(Stefaan Seys),尤格什·夏尔⻢(Yogesh Sharma), 普拉汉(Prabhant Singh),斯⽂·史莱尔(Sven Schleier),尼基· 索尼(Nanhil Soni),安南·斯⾥⽡斯塔库(Anant Shrivastava), 弗朗切斯科·斯蒂⽡拉托(Francesco Stillavato)Abdessamad Temmar,Koki Takeyama,Celnokov Vladislav,Leo Wang 语⾔ 繁體中⽂ 簡體中⽂ 法语 德⽂ 西班⽛语 ⽇语 俄语 韩语 翻译和审核 Peter Chi, and Lex Chien, Henry Hu, Leo Wang Bob Peng, Harold Zang, Jack S Romuald Szkudlarek, Christian Dong (审核) Rocco Gränitz, Sven Schleier (审核) Martin Marsicano, Carlos Holguera Koki Takeyama, Riotaro Okada (审核) Gall Maxim, Chelnokov Vladislav (审核), Oprya Egor (审核), Tereshin Dmitry (审核) Youngjae Jeon, Jeongwon Cho, Jiyou Han, Jiyeon Sung 7
OWASP Mobile Application Security Verification Standard v1.2 本⽂档是由 Jim Manico编写的 OWASP Application Security Verification Standard的⼀个分⽀。 赞助商 虽然 MASVS和 MSTG都是由社区⾃愿创建和维护的,但是有时候仍然需要⼀点外部的帮助。因此,我们感谢我们的赞助商提供资⾦来聘请技术编辑。 但是,他们的赞助不会以任何⽅式影响 MASVS或 MSTG的内容。赞助⽅案的具体细节:OWASP项⽬ Wiki. 特别致谢 好⼼⼈赞助 接下来,我们要感谢 OWASP湾区分会的赞助。最后,我们要感谢每⼀位从 Leanpub购买了这本书并以这种⽅式赞助我们的⼈。 8
分享到:
收藏