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