《安全安全设计说明书》由会员分享,可在线阅读,更多相关《安全安全设计说明书(7页珍藏版)》请在金锄头文库上搜索。
1、文档类别安全设计文档文档编号版 本 号分册类别安全设计文档分册名称第1册共1册安全设计说明书北京炎黄新星网络科技有限公司二零一四年 月本报告修改记录:日 期内 容 摘 要编 制/修 改审 核2015-00-00编写人目录目录31 文档概述4 本文档的目的4 参考文档和文献4 假设和约束4 本文档概述4 名词解释4 术语4 简写42 产品安全4 身份与访问控制4 会话管理5 密码算法5 日志安全5 系统通信安全5 系统密码安全5 对文件上传/下载的限制6 系统资源释放63 代码质量安全6 防范跨站脚本攻击6 防范跨站请求伪造防范SQL注入攻击6 不安全的直接对象引用6 不安全的通信6 对其他各类
2、用户输入的过滤64 已发生的安全事故案例的相关安全考虑点65 运行环境安全7 硬件软件功能的分配原则7 容灾设计76 数据安全7 传输安全7 容错设计7 容灾设计7备注:本文档模版中蓝色的文字部分为需要输入的部分1 文档概述1.1 项目说明及文档目的阐明该需求规格说明书的目的。并概要说明项目的大致情况、功能、作用等1.2 参考文档和文献本小节应完整列出此说明书中所引用的任何文档。每个文档应标有标题、报告号(如果适用)、日期和出版单位。列出可从中获取这些参考资料的来源。这些信息可以通过引用附录或其他文档来提供。1.3 假设和约束本小节应说明该说明书的前提条件和约束条件。1.4 本文档概述本小节应
3、说明该说明书中其他部分所包含的内容,并解释此文档的组织方式。1.5 名词解释1.5.1 术语本小节应定义该说明书中用到的术语。1.5.2 简写本小节应定义该说明书中用到的简写。2 产品设计安全本小节从产品功能出发考虑安全设计包括: 。2.1 身份与访问控制1,应用系统认证要求 注:此部分涉及系统身份验证,此部分也是涉及安全问题较多的部分。例如:应写明身份验证过程是否是与服务器交互完成(禁止完全由js脚本进行验证)。2,认证加密要求注:这里应写明身份认证过程是否按系统安全要求,对关键内容进行加密处理;使用的加密算法是否足够安全等;3,帐户密码修改功能注:应写明对帐户密码修改或重要内容修改时的通知
4、功能,以及二次验证机制;4,登录控制安全注:这里应写明诸如用户登录频率、失败次数阀值、登录次数限制、登录失败的后续处理等情况;登录过程应考虑,终端到服务器端传递过程被非法修改的可能性。写明对于重要字段是否需要在服务器端进行二次验证(具体可参考 安全事故案例文档 青海B2B 系统重置任意账户密码(功能设计问题,提交数据未验证)的内容)。5,登录验证码注:此处应写明,在登录时如果涉及验证码,则验证码的细节设定,如,干扰、扭曲、变形、粘连等效果(细节参考安全设计规范或验证码设计文档)6,登录认证失败提示注:写明当验证失败时,系统如何提示(应模糊提示);7,用户关键信息安全注:这里写明对于用户的关键信
5、息(密码、ID等)是否安全加密后保存;8,系统及应用的配置文件安全注:这里应说明,重要的系统、中间件、数据库等配置文件应妥善保存,不应暴露于公网目录;9,其他登录安全考虑注:此处的其他安全方面,诸如:保存登录/自动登录功能、帐户权限-横向、纵向访问控制等安全点,并非所有系统都有相应安全要求,如涉及则根据情况灵活编写。2.2 会话管理1,会话产生及会话标识注:写明会话标识的产生、更新(登录前后是否更新)、及长度等; 2,会话超时及结束注:写明会话超时时间及会话结束的处理情况;2.3 密码算法1,使用安全的密码算法注:写明在涉及加密时使用那种安全的加密算法,以及密钥的管理;2.4 日志安全 1,具
6、体日志内容应包含注:应注明,日志记录那些关键内容,关键内容是否需要加密等;2,日志的保存注:主要描述日志的安全保存,例如,不保存于公网可访问地址、个人敏感信息是否保存等;2.5 系统通信安全注:主要描述是否涉及系统通信方面的安全,例如,重要通信是否需要SSL;2.6 系统密码安全注:这里主要描述诸如,系统帐号、中间件、数据库等帐号,应遵循相应的密码安全规范。例如,帐号密码的长度、字符范围、有效期、存储(是否需要加密存储)等;具体参见安全设计规范内容;2.7 对文件上传/下载的限制注:如果系统涉及文件的上传,则应描述清楚,如何对上传文件进行检验。例如,如何规定文件大小、后缀名、格式、用户端是否做
7、校验、服务器端是否做校验、文件保存位置等安全点;另外,可参考 公司的安全事故案例-多个B2B系统的图片上传验证漏洞;2.8 系统资源释放注:这里主要是java开发规范的相关内容,写明例如打开的文件,数据库连接等,使用完成后是否释放资源;3 代码质量安全本小节从代码质量方面出发考虑安全设计包括: 。3.1 防范跨站脚本攻击注:跨站与SQL注入都是web系统最常见的攻击方式,这里请描述如何进行的预防(例如公司的安全包)。另外,需具体说明对哪些关键输入或字段进行了过滤。3.2 防范跨站请求伪造防范SQL注入攻击注:同上;3.3 不安全的直接对象引用注:主要检查用户重要参数是否暴露(具体可参见 安全设
8、计开发规范 不安全的直接对象引用);3.4 对其他各类用户输入的过滤注:部分内容同跨站及注入的过滤;但对于相关参数长度应说明,以避免过长的参数输入引起参数溢出漏洞;3.5 引用开源程序的注意事项 注:此部分主要检查,项目中是否涉及第三方的开源程序引用,如果有,则需检查是否包含恶意代码、冗余功能代码、广告类代码及不必要的页面文件以及是否嵌套其他安全考虑点。4 已发生的安全事故案例的相关安全考虑点注:因各类系统涉及功能广泛,公司的规范文档可能考虑不周,对于已经发生的安全事故,其中也有相应的安全设计考虑点,在设计新系统时应进行相应的考虑。1,终端-服务器交互过程防篡改(注:提交的重要数据需要进行二次
9、验证)注,在涉及到服务器端与用户进行数据交互时,是否考虑了数据的防篡改。可能涉及的场景如:商城系统的订单提交、电子商务中物品采购、营业厅系统的业务办理、系统的身份验证过程等。参考炎黄安全事故案例-福建移动WAP营业厅受理0元套餐事件;浙江移动-旗舰店 靓号被低价购买 青海B2B 系统重置任意账户密码 三个案例。考虑新系统是否涉及,如涉及如何预防;2,重要配置文件避免明文保存问题注,参考炎黄安全事故案例-联通手机厅客户端程序明文保存帐号密码。考虑新系统是否涉及,如涉及如何预防;3,重要数据未加密传输问题注,参考炎黄安全事故案例-广西SSO登录密码明文传输问题。考虑新系统是否涉及,如涉及如何预防;
10、4,登录过程次数保存不当导致可暴力登录尝试注,参考炎黄安全事故案例-宁夏SSO图形验证码可以绕过。考虑新系统是否涉及,如涉及如何预防;5,不安全的身份验证,导致验证被绕过注,参考炎黄安全事故案例-中国联通网上实名登记可以绕过短信验证码。考虑新系统是否涉及,如涉及如何预防;6,产品服务下线不完整导致恶意业务办理注,参考炎黄安全事故案例-广西移动网台服务下线不完整导致非正常业务办理。考虑新系统是否涉及,如涉及如何预防;5 运行环境安全本小节从产品运行环境方面出发考虑安全设计包括: 。5.1 硬件软件功能的分配原则5.2 容灾设计6 数据安全本小节从数据传输和存储方面出发考虑安全设计包括: 。6.1 传输安全6.2 容错设计6.3 容灾设计7