文档密级:一般
文档状态:[]草案[J]正式发布[]正在修订受控状态:[J]受控[]非受控
1. 适用 (1)
2. 目的 (1)
3. 职责 (1)
4. 相关文件 (1)
5.1. 安全需求策划分析 (1)
5.2. 系统设计与安全编码 (2)
5.3. 安全测试 (3)
5.4. 发布与运行 (4)
6. 记录 (4)
1•适用
本程适用于公司软件生产相关的过程安全管理匚
目的
为了对公司软件生产相关的策划、开发、测试、交付等进行有效的控制,特制建本程序。职责 负责批准各种软件的开发项目和开发方案。
2)研发中心
负责软件生产过程,包括策划、开发、测试、交付等过程。 3)信息部
负责基础设施的维护,包括开发服务器、测试服务器、开发PC机的硬件、操作系统、
防病毒软件。
相关文件
《信息安全管理手册》
规定要求
5・1 •安全需求策划分析
研发中心应根据开发任务的需求,编制《软件开发需求书》。《软件开发需求书》应包括功能需求背景、项目建设目标、项目建设原则、具体功能需求、项目开发的时间要求以及安全
要求等。《软件开发需求书》交技术总监审核。安全需求分析内容可以作为《软件开发需求书》的一个部分,也可单独编写《软件开发安全需求书》
软件开发的安全要求应包括以下方面:
1)客户的安全要求:
与客户沟通过程中,客户明确要求软件应具有的安全功能与安全性能,例如客户要求对存储数据的安全、传输数据的安全、行为审计、权限分配、防抵赖等。 2)技术的安全要求:
技术的安全要求包括两个部分,其一是客户安全要求的技术实现,如客户要求电子商务系统的交易应具备防抵赖的安全要求,则其技术的安全要求为符合第3)项所要求数字签名技术:其二是软件本身所涉及技术的安全,包括业界的通用安全技术,例如数据库安全技术、Java安全技术等:
3)法律法规的安全要求:
法律法规安全包括了国内、国际法律法规所确认要求采用的安全技术与准则,也包括了业界普遍公认的安全技术与准则,例如对口令的保护应采用单向散列技术、国内使用商用加密产品,则该产品应得到国家相关部门的认可等:
5.2•系统设计与安全编码
在系统设计与编码过程中,开发人员应关注系统架构与软件代码自身的安全性与健壮性:以确保:
1)输入数据的安全:
开发人员应考虑到用户输入数据的不确左性,在设汁与编码时,应采用以下控制措施: a)双输入或其他输入校验,例如边界校验或者限制特左输人数据范围的域,以检测下列差错:
范围之外的值
数据字段中的无效字符
丢失或不完整的数据
超过数据的上下容量限制
未授权的或矛盾的控制数据
b)系统文件不得有何未授权的变更;
C)软件差错应得到及时相应;
d)立义在数据输人过程中所涉及的全部人员的职责;
e)创建数据输入过程中所涉及的活动的日志;
2)内部处理的控制:
应用系统的设汁与实施应确保导致完整性损坏的处理故障的风险减至最小。在开发的软件中要考虑的特立范用应包括:
a)使用添加、修改和删除功能,以实现数据变更:
b)防止程序以错误次序运行或在前而处理出现故障后运行的机制:
c)恢复故障的机制,以确保数据的正确处理,
d)防范利用缓冲区超出/溢岀进行的攻击。
3)消息完整性
若需要保护消息的完整性,可采用密码技术,参见《加密管理制度》
4)输出数据的确认
输岀确认应包括:
a)调节控制计数,以确保处理所有数据;
b)为读者或后续的处理系统提供足够的信息,以确定信息的准确性、完备性、精确性和分类;
c)左义在数据输出过程中所涉及的全部人员的职责;
d)创建在数据输出确认过程中活动的日志。
5.3.安全测试
本公司研发的软件产品都必须经过测试后方可发布给客户,测试过程应包括安全测试。安全测试的环境应独立于公司的开发环境与日常办公环境,包括网络的隔离,以避免安全测试对于公司英他业务与系统的影响。安全测试应涵盖以下内容:
1)客户安全要求的测试: