编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

信息安全等级保护之管理要求→系统建设管理→自行软件开发

一、要求内容 

a)应确保开发环境与实际运行环境物理分开,测试数据和测试结果受到控制; 

b)应制定软件开发管理制度,明确说明开发过程的控制方法和人员行为准则; 

c)应制定代码编写安全规范,要求开发人员参照规范编写代码; 

d)应确保提供软件设计的相关文档和使用指南,并由专人负责保管;

e)应确保对程序资源库的修改、更新、发布进行授权和批准; 

f)应确保开发人员为专职人员,开发人员的开发活动受到控制、监视和审查。 

二、实施建议 

建立一套自行软件开发要求规程,内容应当至少满足以上等保的要求;严格按照要求执行,并定期对执行的结果进行审核和检查。 

三、常见问题 

许多公司在自行软件开发方面都没有严格的将开发和测试环境分开,测试数据通常使用的就是真是数据,同时缺少代码编写的安全规范。 

四、实施难点 

对于开发代码的安全审核是非常困难的,要求审核人员具备较高的开发水平同时需要花费大量的审核时间。 

五、测评方法 

形式 访谈,检查。 对象 系统建设负责人,软件开发管理制度,代码编写安全规范,软件设计相关文档和使用指南,审批文档或记录,文档使用控制记录,审查记录。 

实施 

a)应访谈系统建设负责人,询问系统是否自主开发软件,是否对程序资源库的修改、更新、发布进行授权和批准,软件开发是否有相应的控制措施,是否要求开发人员不能做测试人员(即二者分离),开发人员有哪些人,是否是专职人员,软件开发是否在独立的模拟环境中编写、调试和完成; 

b)应访谈系统建设负责人,询问对开发人员的开发活动采取哪些控制措施,是否有专人监控、审查,系统开发文档是否由专人负责保管,负责人是何人,如何控制使用(如限制使用人员范围并做使用登记等),测试数据和测试结果是否受到控制; 

c)应检查是否具有软件设计的相关文档(应用软件设计程序文件、源代码文档等)和软件使用指南或操作手册和维护手册等; 

d)应检查软件开发环境与系统运行环境在物理上是否是分开的; 

e)应检查软件开发管理制度,查看文件是否明确软件设计、开发、测试、验收过程的控制方法和人员行为准则,是否明确哪些开发活动应经过授权、审批,是否明确软件开发相关文档的管理等; 

f)应检查代码编写安全规范,查看规范中是否明确代码编写的流程和风格; 

g)应检查对程序资源库的修改、更新、发布进行授权和审批的文档或记录,查看是否有批准人的签字; 

h)应检查是否具有系统软件开发相关文档(软件设计和开发程序文件、测试数据、测试结果、维护手册等)的使用控制记录。

i)应检查对开发人员的审查记录,查看是否记录审查结果等。 

六、参考资料 ISO17799中对软件开发、测试方面的指导建议是: 

10.1.4 开发、测试与运营设施的分离 控制: 应分离开发、测试和运营设施,以降低未授权访问或对操作系统变更的风险 实施指南: 在运行、测试和防止操作问题的开发环境之间的分离程度要加以识别并实施适当的控制。 

下列条款应加以考虑: 

a) 要规定从开发状态到运行状态的软件传送规则并形成文件。 

b) 开发和运行软件要在不同的系统或计算机处理器上或在不同的域或目录内运行; 

c) 当不要求时,编译、编辑和其他系统工具或实用程序不应从运行系统对它们进行访问; 

d) 测试系统环境应尽可能的仿效操作系统环境; 

e) 用户应在操作和测试系统中使用不同的用户轮廓,菜单要显示合适的标识报文以减少出错的风险; 

f) 敏感数据不应拷贝到测试系统环境中(见12.4.2)。

未经允许不得转载: 技术文章 » 信息安全 » 信息安全等级保护之管理要求→系统建设管理→自行软件开发