长亭百川云 - 文章详情

专题·漏洞治理 | 软件安全研发成熟度模型研究与实践

中国信息安全

63

2024-07-25

 扫码订阅《中国信息安全》

邮发代号 2-786

征订热线:010-82341063

文 | 杭州海康威视数字技术股份有限公司 王滨

物联网已经渗透到社会经济的方方面面,构建出一个全新的智能化世界。然而,物联网设备的快速增长加剧了网络的开放性和复杂性,由此带来的日益严峻的安全挑战成为制约物联网发展的关键因素。作为全球大型智能安防企业,海康威视已形成了 30000 余款型号的硬件产品和 300 余款的软件产品构建的物联网底座。在确保这些产品安全方面,经过近十年的探索,海康威视逐步完善了一套安全研发成熟度模型。

一、物联网软件安全研发亟需加强

物联网产品发展之初,物联网产业制造商通常关注产品的成本、性能和易用性,安全性往往未被重视。然而,软件作为物联网络安全的驱动力和应用基础,其安全性和健壮性对整个网络的安全至关重要。加强软件安全,提升软件的健壮性,从产品研发的源头考虑安全属性,不仅是技术发展的必然趋势,也是对相关法律法规具体要求的落实。

2004 年,微软提出了安全开发生命周期(SDL),该方法在软件开发的各个阶段引入了安全和隐私原则,将安全实践融入软件开发过程,从源头降低安全风险,以确保产品符合各国家和地区的监管要求。Cigital 公司于 2008 年提出软件安全构建成熟度模型(BSIMM),通过数据统计的方法,观察和分析不同组织实施的软件安全方案,研究每项实践活动的特定价值,并根据安全活动的频率变化探究其背后的目的和意义。

欧盟地区的《网络韧性法案》要求制造商评估其产品相关的网络安全风险,并在产品的规划、设计、开发、生产、交付和维护过程中考虑这些评估结果,以尽量降低网络安全风险,防止安全事件的发生并减少其影响。

这些技术文件或标准主要涉及安全开发活动的讨论和描述,但在公司实施过程中,如何进行安全管控,以确保安全开发能力的可持续性,目前的研究成果尚无法提供具体的方法指导,并难以形成体系化的能力建设方法和过程规范。

二、海康威视软件安全研发成熟度模型实践

海康威视参考业界最佳安全实践,制定了公司软件安全研发成熟度模型(详见下图),以量化产品软件安全研发的安全活动。通过完善的组织架构、固化的安全研发管理流程及强有力的技术手段,确保安全活动有效落地,提升产品的机密性、完整性和可用性,加强个人信息保护,为社会提供更安全的产品和解决方案。

图 海康威视软件安全研发成熟度模型

1. 安全治理维度

首先,公司建立了一个自顶向下的组织架构,确保安全工作实际落地。网络安全委员会由企业负责人牵头,负责制定公司的网络安全战略、规划、和政策,并解决冲突或资源问题。其次,加强人员管理,通过人力资源安全管理程序主动防范因人为原因导致的信息安全风险。最后,在全公司范围内构建网络安全意识的教育和文化氛围,根据员工的业务需求,提供定制化的网络安全知识和技能培训。

2. 安全过程维度

产品的安全与个人信息保护需要依赖流程和制度进行保障。海康威视制定了安全研发管理流程,在概念、设计、开发、验证、发布、维护各个阶段都制定了明确的安全要求。通过该流程,把产品的安全要求与公司的研发流程深度融合,确保产品的安全质量。

在概念阶段,将产品安全红线作为需求的强制性部分。安全红线基于法律法规、政府要求、客户准入和行业标准不断更新,确保产品安全合规、保护用户数据、强化访问控制和提升系统防御。对涉及个人信息的产品,在概念阶段必须识别所涉及的个人信息数据。

在设计阶段,将安全设计融入功能设计中,通过威胁建模识别安全威胁,梳理出安全需求并制定相应的缓解措施,以便在开发阶段规避安全风险,有助于有效控制产品的安全风险并降低安全问题的修复成本。对收集的安全需求进行深入分析和设计,由公司网络安全工程师为各产品提供专业技术支持。同时,因软件供应链漏洞影响较为广泛,公司特别注重开源软件及自研组件的安全管理,提出软件安全标签理念,通过安全标签识别软件中固有的安全风险,以便研发团队能够提前发现并采取措施。通过这一过程,要求开发人员选择风险较低的开源软件或自研软件版本,从而有效减少产品在使用这些软件时的维护成本。

在开发阶段,要求研发人员必须遵循安全编码规范进行编码。通过自研源码扫描平台检查代码缺陷,快速、准确地查找代码中的危险函数和缺陷问题,以降低代码安全缺陷率。自研的代码检查平台能够通过代码特征识别技术检测到同类型的疑似缺陷,并在持续构建活动中进行拦截,从而在源码阶段控制已知的代码问题,降低修复成本。

在验证阶段,需要在产品研发阶段进行相关的安全测试,从而识别研发过程中的各类安全问题,以提升产品的安全性。具体措施包括:一是在系统安全测试中引入自研及权威第三方安全检测工具,发现产品各种脆弱性问题。二是构建超大型测试设备资源池,实现自动化编译—固件灌装—安全测试的全流程。三是定期对产品进行渗透测试,最大限度地减小产品风险以保证安全风险在可控范围内。

在发布阶段,产品发布之前需要根据产品需求阶段制定的安全测试方案与策略完成测试,确保无已知的安全风险后,由研发管理平台统一进行数字签名,保证发布包的来源和完整性,有效避免非法发布包。

在维护阶段,公司成立了安全应急响应中心,与国家官方漏洞管理机构、漏洞披露平台、其他供应商、研究人员和第三方协调机构建立长期联系,负责接收、处理和披露产品和业务相关安全漏洞的应急响应工作。

3. 安全技术维度

安全活动的持续开展需要强有力的技术支撑,包括配置管理、安全认证和研究合作。

配置管理是保障产品完整性、一致性、可追溯性的重要活动。公司通过配置管理保证交付产品的完整性,并对过程中涉及的开源及第三方组件进行管理。在安全认证方面,公司建立了专业的法律团队,与国内外知名律所合作,确保业务与法规相结合。在产品安全方面,公司遵循国家和地区的安全法规,并建立了安全保障体系,获得多项信息安全领域的认证。在研究合作方面,公司以开放的姿态接纳各方利益相关者的反馈,积极吸收安全领域的先进技术和管理经验,并将这些知识系统地转化为未来改进和发展的目标,不断提升公司的信息安全能力。

三、结 语

安全永远没有终点,任何一个产品在其生命周期内始终都会面临信息安全挑战和风险。因此,我们需要不断优化和更新软件安全研发管理流程及最佳实践,以提高物联网系统的安全性,保护用户数据,促进物联网技术的健康发展。

(本文刊登于《中国信息安全》杂志2024年第5期)

分享网络安全知识 强化网络安全意识

欢迎关注《中国信息安全》杂志官方抖音号

《中国信息安全》杂志倾力推荐

“企业成长计划”

点击下图 了解详情



相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2