外包软件开发指一个机构将软件项目中的全部或部分工作外包给提供外包服务的公司完成。将软件外包给第三方开发时,应当签订协议,明确知识产权的归属、有关软件的配套技术培训和服务承诺、软件质量保证以及其他安全方面的具体要求等。
a)
安全要求:应在软件交付前检测其中可能存在的恶意代码。
要求解读:同自行软件开发一样,对于外包软件,在交付前同样需要进行恶意代码检测,以保证软件的安全性。可要求外包方进行检测或机构内部自行检测。

检查方法
1.访谈建设负责人是否做恶意代码检测。
2.检查是否有恶意代码检测报告。
测评对象
1.建设负责人
2.恶意代码检测报告
期望结果
具有恶意代码检测报告
b)安全要求:应保证开发单位提供软件设计文档和使用指南。
要求解读:如软件开发完成之后,应要求外包开发单位提供软件设计相关文档和使用指南。
检查方法
1.访谈建设负责人是否有软件设计相关文档和使用指南。
2.检查是否提供了软件生命周期中的所有文档。
测评对象
1.建设负责人
2.软件开发相关文档
期望结果
具有软件开发的相关文档,如需求分析说明书、软件设计说明书等。
c)安全要求:应保证开发单位提供软件源代码,并审查软件中可能存在的后门和隐蔽信道。
要求解读:后门和隐蔽信道的审查可通过专业的测试进行,若开发单位无法提供该类报告,则只需提供书面材料保证软件源代码中不存在后门和隐蔽信道。
检查方法
1.访谈建设负责人,外包开发单位是否提供源代码。
2.检查是否提供源代码的安全检查报告。
3.检查软件源代码及源代码的审查记录。
审查软件中可能存在的后门时,一般通常在系统的设计者利用应用系统的开发时机,故意设置机关,用于监测计算机系统,但有时也因偶然考虑不周而存在(如漏洞)。可以通过人工或采取专业工具(如FortifySCA、Cheekmarx等)等方式进行源代码审查,发现软件中可能存在的后门。
测评对象
1.建设负责人
2.软件测试报告
期望结果
1.提供软件源代码
2.具有软件测试报告,内容涵盖后门和隐蔽信道的测试。
高风险判定
满足以下任一条件即可判定为高风险:
1.涉及国民生计的核心业务系统,被测单位未对开发单位开发的系统进行源代码安全审查;
2.开发单位未提供任何第三方机构提供的安全性检测证明。
补偿因素:
1.定级对象建成时间较长,虽未进行源代码安全审查,但定期进行安全检测,并能够提供安全检测报告,且当前管理制度中明确规定外包开发代码审计,可根据实际措施效果,酌情判定风险等级。
2.对于被测单位通过合同等方式与开发单位明确安全责任并采取相关措施手段进行防控的情况,可从已采取的技术防范措施等角度进行综合风险分析,根据分析结果,酌情判定风险等级。
3. 对于部分模块外包开发的情况,可从外包开发模块的用途,重要性等角度进行综合风险分析,根据分析结果酌情判定风险等级。
【都市微生活】是一家致力于提供app制作服务的手机软件开发公司,长期为大中型企业打造数据化、商业化、智能化的app开发公司解决方案。如有需求可搜索“深圳都市微生活”与我们联系!