软件安全设计

上传人:枫** 文档编号:512797573 上传时间:2022-12-31 格式:DOCX 页数:3 大小:11.52KB
返回 下载 相关 举报
软件安全设计_第1页
第1页 / 共3页
软件安全设计_第2页
第2页 / 共3页
软件安全设计_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件安全设计》由会员分享,可在线阅读,更多相关《软件安全设计(3页珍藏版)》请在金锄头文库上搜索。

1、安全设计1. 在一个流程中,要通过时间戳/IP防止重放,要保证身份的唯一性。2. 用户登录后必须分配新的会话标识,不能继续使用用户未登录前所使用的标识。3. 系统帐户注册过程应验证其凭据找回渠道的有效性和真实性(如:邮箱、手机号必须真实且为帐户注 册人持有)。4. 根据访问日志,我们能及时能够检测到入侵的行为,能够记录入侵的源IP、攻击的类型、攻击的目的、 攻击的时间,并在发生严重入侵事件时进行告警。5. 针对不同用户访问不同操作,所有用户有自己的归属组,每个用户要有权限控制。6. 系统应对所有网页和资源的访问进行身份认证,除了设定为对公众开放的资源(如:网厅首页)。7.7. 系统应拒绝所有认

2、证失败的访问并提示错误。8. 系统应采用实施适当的访问控制措施,防止服务器上的其他用户未经授权访问服务器端的会话数据。9. 浏览器版本、访问IP、访问时间、当前操作的用户名称、具体操作内容。10. 如果系统必须颁发初始密码,应该避免使用统一的用户初始口令,应强制要求用户在初次登录系统时 修改初始密码。11. 对成功登陆后的用户,还需要根据用户实际授权去验证是否有某个操作的执行权限。12. 应设置连续登陆失败次数阈值,一定时间内登录失败次数超过阈值应自动锁定账号。13. 系统帐户密码的更改及重新设定,应具备二次认证机制。其安全控制措施不应少于帐户的注册及认证。14. 当用户帐户发生密码重置或修改

3、行为,应及时通知用户(如:短信或邮件)。15. 对未经过成功登录的用户,不允许访问除登录页外的任何一个后台程序页面。16. 应启用登录失败处理功能,可采取结束会话和自动退出等措施。17. 系统应将用户最后一次登陆帐户的结果(如:成功或不成功),在用户下一次登录成功后进行提示。18. 配置文件不能允许用户直接访问,对配置文件中有特殊安全要求的配置项需要进行加密处理。19. 系统应规定一个会话最大空闲时间。20. 系统应具备会话超时机制,用户通过互联网与系统Web服务器建立的会话处于非活跃一定时间后,系 统Web服务器设备应自动终止会话。21. 上传文件(包含图像),应放到应用系统外的目录。22.

4、 根据访问日志,我们能及时能够检测到入侵的行为,能够记录入侵的源IP、攻击的类型、攻击的目的、 攻击的时间,并在发生严重入侵事件时进行告警。23. 系统应设置鉴别警示信息,当发现并阻止用户试图越权访问信息的行为时,应进行提示并描述未授权 访问可能导致的后果。24. 跨站点攻击的预防。25. 系统应对与涉及敏感信息(如:卡密、详单等)或功能的外部系统(如:BSS)连接进行二次认证(如: 手机短信动态口令验证)。26. 系统应采用实施适当的访问控制措施,防止服务器上的其他用户未经授权访问服务器端的会话数据。27. 系统应使用会话管理控制程序,系统应只响应被控制程序标识为有效的会话。安全编码1. 程

5、序中的使用了关键资源后,必须进行显式释放和关闭,尤其是数据库连接、文件句柄等资源。2. 对登录认证失败提示中不应指明具体失败的原因或字段,比如,应使用“无效的用户名或密码”来代 替“无效的用户名”或“密码错误”。3. 避免出现一些详细的错误消息。4. 系统应采用加密连接或数据加密发送认证信息(如:密匙和凭据)。5. 使用参数化的过滤性语句。6. 对登录后如果使用Session验证,对Session有效期不可以设置太长,建议为1530分钟。7. 应对用户登录口令、个人信息、交易记录、充值卡密等重要信息数据进行加密存贮。8. 不应在url中显示会话标识符、错误信息或日志,会话标识符应只包含于HTT

6、P cookie头中(如:不应 通过GET参数传递会话标识符)。9. 地址栏变量需进行验证。10. 包含的特征组(如:大小写字母、数字组合,去掉歧义字符,0和o、l和1、z和2、q和9。)。11. 开发内部要严格控制生产数据库用户口令,对特定模块的开发人员只开发特定模块相关表的操作权限。12. 系统应只使用HTTP POST请求发送身份验证凭据。13. 应对保留在系统上的BSS系统敏感信息(如:详单、个人信息)进行加密存储。14. 对基于Java2EE的WEB应用,配置文件则一律放置到WEN-INF文件夹内部。15. 对任何输入内容进行检查,所有提交的表单数据,都必须验证两次,尤其是必填项,需

7、同时验证是否 输入、格式正确性。16. 对于密码的存储,一律采用不可逆加密方式存储(如MD5),如果发生密码遗忘,则提供密码17. 在确定会话ID的长度以及生成ID的随机种子之前,不应相信web程序的容器,因为会话ID太短很容 易被暴力猜解,如果攻击者能猜到授权用户的会话ID就可以接管用户的会话。1.会话标识必须足够随机,在Unix平台上,从/dev/urandom读取16字节可以给出相当高质量的随机序 列,在Java中,使用SecureRandom类,不要使用Random类,SecureRandom类的默认构造方法可以 正确选种,Java会自动获取一个信息熵比较平均的值。18. 系统的所有身份认证过程应在可信系统上进行(如:服务器端),防止攻击者绕过请求页面和浏览器, 直接与应用服务器进行通信(如:不应使用JavaScript的验证逻辑,JavaScript可以帮助合法的用 户对不正常的输入信息进行检测,但是不能确保服务器接收到数据的安全性)。19. 系统不应将SSL设置为可选的方案,不应在使用443端口(SSL通信端口)的同时也接受80端口(一 般的HTTP服务端口)请求,不应允许用户选择安全级别。20.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号