ISO27001-软件开发安全控制程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发安全控制程
序
(依据ISO27001标准)
1. 目的
为规范公司软件开发的安全管理,包括软件系统从计划、需求、设计、开发、测试、部署过程中的安全管理,特制定本程序。
2. 范围
本程序适用于公司的软件系统在需求分析、开发测试、上线运行阶段的安全管理,包括软件外包开发的安全管理。
3. 职责与权限
3.1 技术部
负责公司相关信息系统的软件开发、外包软件开发过程的安全管理,以及软件开发相关文档及软件源代码的归档保管。
3.2 其他部门
其他相关部门协助技术部进行软件/系统需求收集、分析、系统测试等工作。
4. 相关文件
a)《软件控制程序》
5. 术语定义
无
6. 控制程序
6.1 软件开发任务提出
公司根据客户反馈和调研,编写用户需求分析报告,经过公司总经理批准后,交付技术部进行设计开发。
6.2 软件开发的策划
技术部在接到用户需求后,首先要判断可行性,如果接受,技术部根据用户申请书和要求部门共同协商,编写软件设计开发计划,明确设
计开发的各个阶段评审与测试要求及设计开发人员的职责与权限,设计开发计划方案由要求部门和技术部负责人共同批准后予以实施;必要时,如果对计划进行更改也需要获得双方经理共同批准。软件设计开发计划应包括以下内容:
a)软件功能要求;
b)详尽的业务流程;
c)信息安全要求;
d)时间进度要求;
e)设计开发的各个阶段评审与测试要求;
f)设计开发人员的职责与权限;
g)其它要求,例如在复杂系统环境下,应考虑业务信息系统互联相
关的信息,并考虑安全保护。
6.3 软件开发方案的评审及开发过程控制
6.3.1技术部应根据软件设计开发计划的要求,编制软件设计开发方
案,由技术部负责人对方案的技术可行性及系统的安全性进行确认。
6.3.2对于大型软件开发方案应由设计开发人员、应用部门(用户)
人员、内部IT 方面的专家共同进行评审。方案确认与审批的结果及任何必要的措施应予以记录。
6.3.3软件设计开发方案应包括以下内容:
a)确定软件开发工具;
b)应用系统功能;
c)业务实现流程;
d)输入数据确认要求;
e)必要时,系统内部数据确认检查的要求;
f)输出数据的确认要求;
g)应用系统的安全要求;
h)对系统硬件配置的要求;
i)系统验收标准。
6.3.4. 软件开发人员的要求
软件设计开发人员须经技术部负责人授权,并应具备一定的软件开发能力和良好的职业道德。
6.3.5. 软件开发的环境要求
在进行软件开发时,应采取适宜的方法将开发、测试与运营设施分离:
a)开发与运营应当在不同的环境;
b)进行黑盒与白盒测试时,测试系统应该独立于上述两系统。
c)进行单元测试时,测试系统可与开发系统共存,但必须独立于运
营系统。
d)进行集成测试、确认测试、验收测试以及系统测试时,测试系统
应该独立于上述两系统。
e)进行测试时,测试人员应首先确保测试系统与其他系统不得处于
公司内部局域网同一子网网段。
技术部负责人可随时抽查测试人员是否违反上述要求,一经发现,视情节轻重对相关责任人进行处罚。
6.3.6. 软件开发的变更控制
在设计开发过程中,涉及到系统功能、安全技术要求的更改应经过技术部负责人批准后予以实施,并经过测试合格后方可投入使用。
6.4 软件的测试与试运行
6.4.1 源程序编制好以后,应在规定的测试环境条件并依据软件测试
要求由软件设计开发负责人组织有关人员进行测试,编写应用软件测试报告。
6.4.2 当软件含有数据处理功能时,软件测试活动应包括以下方面的
内容:
a)应用测试数据,验证内部数据处理的正确性;
b)应用测试数据,确认输出数据的正确性并与环境相适应。
6.4.3 当系统测试数据使用业务数据,并且包含敏感信息时,应按以
下要求对测试数据进行保护:
a)用于运作系统的访问控制过程也应用于测试系统;
b)将业务数据每一次复制或导入到测试应用系统前,应被系统主管
部门授权;
c)测试完成之后,应立即从测试系统中消除测试用的文件、用户名
及口令等。
d)如果选择的是真实数据,测试完成后必须删除全部数据。
6.4.4 应用部门(用户)在试运行期间,应将使用中存在的问题及时
反馈给技术部进行修改。试运行结束后,应形成正式的软件验收报告,由技术部和应用部门(用户)负责人签字认可,投入使用。
6.5 源程序库(程序源代码)管理及技术文档管理
6.5.1为降低计算机程序被破坏的可能性,设计开发软件的源程序库
应按以下要求实施管理:
a)源程序库不应保存在运作系统中;
b)各项应用应指定源程序库管理员;
c)信息技术维护人员不应自由访问源程序库。
6.5.2软件开发部门应明确源代码管理责任人及保存方式。
6.5.3源程序的管理应包括历史版本的管理,可通过Microsoft VSS、
SVN等版本管理软件进行管控。
6.5.4软件开发部门应及时备份和回收程序的源代码,做好源代码及
相关文档的归档保管,防止源代码及技术文档的泄露。
6.6 软件外包开发的管理