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