安全设计说明书

安全设计说明书

安全设计说明书

北京炎黄新星网络科技有限公司

二零一四年月

Confidential , 2000 Page 2 of 11

Confidential , 2000 Page 3 of 11

本报告修改记录:

Confidential , 2000 Page 4 of 11

目录

目录 (5)

1 文档概述 (7)

1.1 本文档的目的 (7)

1.2 参考文档和文献 (7)

1.3 假设和约束 (7)

1.4 本文档概述 (7)

1.5 名词解释 (7)

1.5.1 术语 (7)

1.5.2 简写 (7)

2 产品安全 (7)

2.1 身份与访问控制 (7)

2.2 会话管理 (8)

2.3 密码算法 (8)

2.4 日志安全 (9)

2.5 系统通信安全 (9)

2.6 系统密码安全 (9)

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

2.8 系统资源释放 (9)

3 代码质量安全 (9)

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

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

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

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

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

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

5 运行环境安全 (11)

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

5.2 容灾设计 (11)

6 数据安全 (11)

6.1 传输安全 (11)

6.2 容错设计 (11)

Confidential , 2000 Page 5 of 11

6.3 容灾设计 (11)

Confidential , 2000 Page 6 of 11

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

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,登录控制安全

Confidential , 2000 Page 7 of 11

Confidential

, 2000 Page 8 of 11

[注:这里应写明诸如用户登录频率、失败次数阀值、登录次数限制、登录失败的后续处理等情况; 登录过程应考虑,终端到服务器端传递过程被非法修改的可能性。写明对于重要字段是否需要在服务器端进

行二次验证(具体可参考 安全事故案例文档

青海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对其他各类用户输入的过滤

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

Confidential , 2000 Page 9 of 11

Confidential

, 2000 Page 10 of 11

出漏洞;]

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

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

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

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

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

[注,在涉及到服务器端与用户进行数据交互时,是否考虑了数据的防篡改。可能涉及的场景如:商城系统的订单提交、电子商务中物品采购、营业厅系统的业务办理、系统的身份验证过程等。参考《炎黄安全事故案例》-〉福建移动WAP 营业厅受理0元套餐事件;浙江移动-旗舰店 靓号被低价购买

青海B2B

系统重置任意账户密码 三个案例。考虑新系统是否涉及,如涉及如何预防;]

2,重要配置文件避免明文保存问题

[注,参考《炎黄安全事故案例》-〉联通手机厅客户端程序明文保存帐号密码。考虑新系统是否涉及,如涉及如何预防;]

3,重要数据未加密传输问题

[注,参考《炎黄安全事故案例》-〉广西SSO 登录密码明文传输问题。考虑新系统是否涉及,如涉及如何预防;]

4,登录过程次数保存不当导致可暴力登录尝试

[注,参考《炎黄安全事故案例》-〉宁夏SSO 图形验证码可以绕过。考虑新系统是否涉及,如涉及如何预防;]

5,不安全的身份验证,导致验证被绕过

[注,参考《炎黄安全事故案例》-〉中国联通网上实名登记可以绕过短信验证码。考虑新系统是否涉及,如涉及如何预防;]

6,产品服务下线不完整导致恶意业务办理

[注,参考《炎黄安全事故案例》-〉广西移动网台服务下线不完整导致非正常业务办理。考虑新系统是否涉及,如涉及如何预防;]

5运行环境安全

[本小节从产品运行环境方面出发考虑安全设计包括:。]

5.1硬件软件功能的分配原则

5.2容灾设计

6数据安全

[本小节从数据传输和存储方面出发考虑安全设计包括:。]

6.1传输安全

6.2容错设计

6.3容灾设计

Confidential , 2000 Page 11 of 11

相关文档
最新文档