安全设计说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安全设计说明书

北京炎黄新星网络科技有限公司二零一四年月

本报告修改记录:

目录

目录 (3)

1 文档概述 (4)

1.1 本文档的目的 (4)

1.2 参考文档和文献 (4)

1.3 假设和约束 (4)

1.4 本文档概述 (4)

1.5 名词解释 (4)

1.5.1 术语 (4)

1.5.2 简写 (4)

2 产品安全 (4)

2.1 身份与访问控制 (4)

2.2 会话管理 (5)

2.3 密码算法 (5)

2.4 日志安全 (5)

2.5 系统通信安全 (5)

2.6 系统密码安全 (6)

2.7 对文件上传/下载的限制 (6)

2.8 系统资源释放 (6)

3 代码质量安全 (6)

3.1 防范跨站脚本攻击 (6)

3.2 防范跨站请求伪造防范SQL注入攻击 (6)

3.3 不安全的直接对象引用 (6)

3.4 不安全的通信....................................................... 错误!未定义书签。

3.5 对其他各类用户输入的过滤 (6)

4 已发生的安全事故案例的相关安全考虑点 (6)

5 运行环境安全 (7)

5.1 硬件软件功能的分配原则 (7)

5.2 容灾设计 (7)

6 数据安全 (7)

6.1 传输安全 (7)

6.2 容错设计 (7)

6.3 容灾设计 (7)

备注:本文档模版中蓝色的文字部分为需要输入的部分

1文档概述

1.1项目说明及文档目的

[阐明该需求规格说明书的目的。并概要说明项目的大致情况、功能、作用等]

1.2参考文档和文献

[本小节应完整列出此说明书中所引用的任何文档。每个文档应标有标题、报告号(如果适用)、日期和出版单位。列出可从中获取这些参考资料的来源。这些信息可以通过引用附录或其他文档来提供。]

1.3假设和约束

[本小节应说明该说明书的前提条件和约束条件。]

1.4本文档概述

[本小节应说明该说明书中其他部分所包含的内容,并解释此文档的组织方式。]

1.5名词解释

1.5.1术语

[本小节应定义该说明书中用到的术语。]

1.5.2简写

[本小节应定义该说明书中用到的简写。]

2产品设计安全

[本小节从产品功能出发考虑安全设计包括:。]

2.1身份与访问控制

1,应用系统认证要求

[注:此部分涉及系统身份验证,此部分也是涉及安全问题较多的部分。

例如:应写明身份验证过程是否是与服务器交互完成(禁止完全由js脚本进行验证)。]

2,认证加密要求

[注:这里应写明身份认证过程是否按系统安全要求,对关键内容进行加密处理;使用的加密算法是否足够安全等;]

3,帐户密码修改功能

[注:应写明对帐户密码修改或重要内容修改时的通知功能,以及二次验证机制;]

4,登录控制安全

[注:这里应写明诸如用户登录频率、失败次数阀值、登录次数限制、登录失败的后续处理等情况;

登录过程应考虑,终端到服务器端传递过程被非法修改的可能性。写明对于重要字段是否需要在服务器端进行二次验证(具体可参考安全事故案例文档青海B2B 系统重置任意账户密码(功能设计问题,提交数据未验证)的内容)。]

5,登录验证码

[注:此处应写明,在登录时如果涉及验证码,则验证码的细节设定,如,干扰、扭曲、变形、粘连等效果(细节参考安全设计规范或验证码设计文档)]

6,登录认证失败提示

[注:写明当验证失败时,系统如何提示(应模糊提示);]

7,用户关键信息安全

[注:这里写明对于用户的关键信息(密码、ID等)是否安全加密后保存;]

8,系统及应用的配置文件安全

[注:这里应说明,重要的系统、中间件、数据库等配置文件应妥善保存,不应暴露于公网目录;]

9,其他登录安全考虑

[注:此处的其他安全方面,诸如:保存登录/自动登录功能、帐户权限-横向、纵向访问控制等安全点,并非所有系统都有相应安全要求,如涉及则根据情况灵活编写。]

2.2会话管理

1,会话产生及会话标识

[注:写明会话标识的产生、更新(登录前后是否更新)、及长度等;]

2,会话超时及结束

[注:写明会话超时时间及会话结束的处理情况;]

2.3密码算法

1,使用安全的密码算法

[注:写明在涉及加密时使用那种安全的加密算法,以及密钥的管理;]

2.4日志安全

1,具体日志内容应包含

[注:应注明,日志记录那些关键内容,关键内容是否需要加密等;]

2,日志的保存

[注:主要描述日志的安全保存,例如,不保存于公网可访问地址、个人敏感信息是否保存等;]

2.5系统通信安全

[注:主要描述是否涉及系统通信方面的安全,例如,重要通信是否需要SSL;]

2.6系统密码安全

[注:这里主要描述诸如,系统帐号、中间件、数据库等帐号,应遵循相应的密码安全规范。例如,帐号密码的长度、字符范围、有效期、存储(是否需要加密存储)等;具体参见安全设计规范内容;]

2.7对文件上传/下载的限制

[注:如果系统涉及文件的上传,则应描述清楚,如何对上传文件进行检验。例如,如何规定文件大小、后缀名、格式、用户端是否做校验、服务器端是否做校验、文件保存位置等安全点;

另外,可参考公司的安全事故案例-〉多个B2B系统的图片上传验证漏洞;]

2.8系统资源释放

[注:这里主要是java开发规范的相关内容,写明例如打开的文件,数据库连接等,使用完成后是否释放资源;]

3代码质量安全

[本小节从代码质量方面出发考虑安全设计包括:。]

3.1防范跨站脚本攻击

[注:跨站与SQL注入都是web系统最常见的攻击方式,这里请描述如何进行的预防(例如公司的安全包)。另外,需具体说明对哪些关键输入或字段进行了过滤。]

3.2防范跨站请求伪造防范SQL注入攻击

[注:同上;]

3.3不安全的直接对象引用

[注:主要检查用户重要参数是否暴露(具体可参见安全设计开发规范 2.4不安全的直接对象引用);]

3.4对其他各类用户输入的过滤

[注:部分内容同跨站及注入的过滤;但对于相关参数长度应说明,以避免过长的参数输入引起参数溢出漏洞;]

3.5引用开源程序的注意事项

[注:此部分主要检查,项目中是否涉及第三方的开源程序引用,如果有,则需检查是否包含恶意代码、冗余功能代码、广告类代码及不必要的页面文件以及是否嵌套其他安全考虑点。]

4已发生的安全事故案例的相关安全考虑点

[注:因各类系统涉及功能广泛,公司的规范文档可能考虑不周,对于已经发生的安全事故,其中也有相应的安全设计考虑点,在设计新系统时应进行相应的考虑。]

1,终端-服务器交互过程防篡改(注:提交的重要数据需要进行二次验证)

相关文档
最新文档