安全建设管理
控制点
5.外包软件开发
外包软件开发指一个机构将软件项目中的全部或部分工作发包给提供外包服务的第三方来完成。在将软件外包给第三方开发时应签订协议,以明确知识产权的归属、有关软件的配套技术培训和服务的承诺、软件质量保证及其他安全方面的具体要求等。
a)
安全要求(重要):应在软件交付前检测其中可能存在的恶意代码。
要求解读:同自行软件开发一样,外包软件在交付前同样需要进行恶意代码检测,以保证软件的安全性。可要求外包方进行检测,也可以由机构内部自行检测。
测评方法
1.访谈系统建设负责人,了解是否已进行恶意代码检测。
2.核查是否有恶意代码检测报告。
期望结果
有恶意代码检测报告。
b)
安全要求(一般):应保证开发单位提供软件设计文档和使用指南。
要求解读:软件开发完成之后,应要求外包开发单位提供软件设计的相关文档和使用指南。
测评方法
1.访谈系统建设负责人,了解是否有软件设计的相关文档和使用指南。
2.核查外包单位是否提供了软件生命周期中的所有文档。
期望结果
有软件开发的相关文档,例如需求分析说明书、软件设计说明书等。
c)
安全要求(关键):应保证开发单位提供软件源代码,并审查软件中可能存在的后门和隐蔽信道。
要求解读:后门和隐蔽信道的审查可通过专业的测试进行,若开发单位无法提供该类报告,则只需提供书面材料保证软件源代码中不存在后门和隐蔽信道。
软件中的后门,可能是设计者利用开发应用系统这一时机故意设置的(以监视计算机系统),也可能是考虑不周而留下的(例如漏洞)。可以通过人工或采取专业工具(如FortifySCA、Cheekmarx等)等方式进行源代码审查,发现软件中可能存在的后门。
测评方法
1.访谈系统建设负责人,了解外包开发单位是否已提供软件的源代码。
2.核查外包单位是否已提供源代码的安全检查报告。
3.核查软件源代码及其审查记录。
期望结果
1.外包开发单位已提供软件的源代码。
2.软件测试报告的内容涵盖对后门和隐蔽信道的测试。
高风险判定
满足以下任一条件即可判定为高风险:(三级及以上系统)
1.涉及国民生计的核心业务系统,被测单位未对开发单位开发的系统进行源代码安全审查;
2.开发单位未提供任何第三方机构提供的安全性检测证明。
补偿因素:
1.定级对象建成时间较长,虽未进行源代码安全审查,但定期进行安全检测,并能够提供安全检测报告,且当前管理制度中明确规定外包开发代码审计,可根据实际措施效果,酌情判定风险等级。
2.对于被测单位通过合同等方式与开发单位明确安全责任并采取相关措施手段进行防控的情况,可从已采取的技术防范措施等角度进行综合风险分析,根据分析结果,酌情判定风险等级。
3.对于部分模块外包开发的情况,可从外包开发模块的用途,重要性等角度进行综合风险分析,根据分析结果酌情判定风险等级。
标签:软件开发,恶意代码,单位,安全,建设,开发,软件,源代码 From: https://www.cnblogs.com/quqibinggan/p/16902307.html