软件开发安全设计方案表.docx
《软件开发安全设计方案表.docx》由会员分享,可在线阅读,更多相关《软件开发安全设计方案表.docx(6页珍藏版)》请在冰豆网上搜索。
软件开发安全设计方案表
软件开发安全设计方案表
LT
篡改
会话管理
●利用SSL创建一个安全的通信通道;
●实现注销功能,允许用户在启动另一个会话时结束身份验证会话;
●确保限制会话/cookie的有效期;
●使用加密技术;
●使用散列消息身份验证代码HMAC;
●执行关键功能时,重新进行身份验证;
●使会话在适当的时间后过期,包括所有的cookie和会话标记;
●不允许客户端存储会话数据;
审核和日志记录
●使用受限的ACL来保护日志文件
●将系统文件从默认的位置重新进行定位
敏感数据管理
●使用防篡改协议,如散列消息身份验证代码(HMAC)来保护在网络上传输的敏感数据;
授权
●访问控制
●给予角色的安全策略
抵赖
身份验证
●使用强密码;
●使用不在网络上传输密码的身份验证机制,如Kerberos协议,Windows身份验证机制
●确认密码加密或使用加密通道
●在固定次数密码重试后对账户进行锁定
●不得使用共享管理账户
●分配用户、应用程序、服务账户使用账户单一的访问源
审核和日志记录
●记录重要的应用程序操作
●审核登陆和注销事件,访问文件系统以及失败的对象访问尝试
●备份日志文件,并定期分析可疑活动的记录
信息泄露
加密技术
●使用内置的加密规程
●使用强随机密钥生成函数,并将函数储存在一个受限的地方
●使用密钥过期
●不开发自己定义的算法
●了解被破解的算法和用来破解算法的技术
异常管理
●在整个应用程序代码库中使用异常处理
●处理和记录允许传输到应用程序边界的异常
●返回给客户端一般的错误信息
敏感数据管理
●对包含敏感数据的数据存储区使用ACL;
●对存储数据进行加密;
●基于身份和角色的授权,确保只有具有适当授权级别的用户才允许访问敏感数据;
授权
●在访问数据前,进行身份验证
●利用强ACL保护系统资源
●使用标准的加密技术将敏感数据存储到配置文件和数据库中
拒绝服务
审核和日志记录
●审核和记录服务器与数据库服务器以及应用服务器(如使用)上的活动
●记录主要事件,如交易,登陆和注销事件
●不得使用共享账户
异常管理
●彻底验证服务器的所有输入数据
●在整个应用程序代码库中使用异常处理
输入验证
●执行完全的输入验证
●使用最低特权账户与数据库连接
●利用参数化存储过程访问数据库,确保不会将输入字符串视为可执行语句
●避免使用文件名作为输入,使用最终用户不能更改的绝对文件路径
●确保文件名正确,并在程序上下文进行验证
●确保字符编码设置正确,以限制输入的表示方法
特权提升
授权
●使用最低特权进程,服务和用户账户
●使用恰当的授权来限制可信代码的访问