一、引言
随着信息技术的不断发展与演进,互联网逐渐由日常消费扩展到工业生产领域,从实现人与人的连接逐渐扩展到人与物、物与物的连接,全球正在迎来产业变革和科技革命的浪潮。互联网与制造业相融合形成的工业互联网成为竞相争夺的产业制高点。
从2011年起,德国、美国、日本相继推出了各自的智能制造业国家战略。在现有的工业机械化、自动化和信息化基础上,利用互联网技术与工业相融合,以信息物理系CPS (Cyber-Physical Systems)为核心提高制造业的智能化水平,建立具有灵活性、敏捷性和资源节约型的智慧工厂。
美国通用电器(GE)公司在其白皮书中指出,工业物联网与数据分析平台相结合而形成的工业互联网,是提升工厂工业生产各环节的传感器和其他设备收集海量运行数据,而数据分析平台则通过数据分析与挖掘技术对现有资源、网络和生产流程等进行改进来提高生产效率。
数字孪生作为集成工业互联网中数据采集、实体模型、数据分析和云计算能力的新兴应用,成为信息化与工业化两化融合的关键研究领域。数字孪生是在数字空间内综合各学科知识对物理实体建立起多维度的动态虚拟模型,构建与物理实体具有相同属性、行为和规则的数字实体。数字实体通过物理反馈获取外部数据,在数字空间实时反映物理实体的真实状况。采用篮球比分、机器学习和软件分析等技术,利用数字孪生体进行模拟仿真,实现制造过程、制造系统与制造装备的知识推理、动态传感与自主决策。数字孪生具有丰富的应用领域和场景,IDC数据显示,世界上40%的大型制造商都会用到数字孪生系统来建立虚拟模型,数字孪生技术被广泛运用于制造业,成为企业迈向工业4.0的核心解决方案。
随着数字孪生等工业智能化系统的普及,针对联网工业设备和软件的攻击与日倶增。根云、航天云网、COSMOPlat、OneNET、OceanConnect等我国知名的工业互联网平台受到持续的网络攻击。工业互联网平台和数字孪生系统已经成为恶意入侵的重点目标。而数字孪生系统的开源供应链则成为安全防护工作中的薄弱环节。
二、数字孪生开演软件供应链概念及特点
数字孪生在促进工业生产的数字化转型上需要丰富的软件生态进行支撑。这一软件体系需要从认知传感、物联网平台、软件工具、企业应用和可视化辅助工具等不同层面对产品设计、制造装配、故障预测与健康管理以及整体管控的智能辅助和自动化决策进行支持。
为了实现上述目标,数字孪生需要构建丰富且完整的软件生态将物联网平台、传感引擎、数字孪生、数字建模工具和数字主线、内部和第三方软件、企业应用、虚拟化工具和仪表板集成起来,并在它们之间进行数据交换,从而实现生产流程中各环节之间的互联互通。
由于数字孪生贯穿于工业生产的全部生命周期,软件支撑分布在设备与数据交互的各个环节之中,这种分布式特性极大地提高了软件复杂性,从而使得单一组织已经无法依靠内部力量完成所有功能。为了应对这种复杂性,大多数公司和开发团队利用免费提供的高质量开源软件去构建自己的定制功能软件。这种“定制”本质上就是将各种开源软件黏合在一起,从而提供能够实现特定功能的软件服务。西门子、通用电气公司、美国参数技术公司(PTC)等国外知名厂商都是通过培植开源社区形成自身数字孪生平台的软件供应链。
在数字孪生的开源软件供应链中,集成团队交付给用户的“定制”软件更应视为构成该软件所有软件包的集合,这种集合关系已经超越了传统的供应商与采购商之间的关系,而是按照开源软件组织的流程形成了新的模型。
在数字孪生的开源软件供应链中,开发者、镜像仓库、集成团队和最终用户在开发、存储、分发、集成和使用软件并进行反馈的过程中形成了紧密的连接。
三、数字孪生开演软件供应链面临的安全风险
数字孪生的岀现虽然在信息物理系统层面为企业生产的全流程数字化打通了渠道,但是也为恶意攻击打开了方便之门。针对数字孪生系统的攻击行为会严重扰乱经济和社会的运行秩序。美国国家标准技术研究院(NIST )专门制定了供应链风险管理实践清单来应对传统ICT系统的恶意攻击。然而,数字孪生系统具有其独特的系统特征,数字孪生体与现实世界物理实体具备映射关系,由于建立在物联网基础上的物理实体呈现高度的连通性,原本能够阻断恶意攻击的物理隔离和数据隔离在数字孪生领域全部消失,这使得其与传统的ICT安全性在经济、社会、法律和技术方法等层面具有差异性。
(1)数字孪生系统建立在物联网的传感器网络之上,其与现实世界存在密切的交互行为。传统的ICT攻击通常只停留在信息和数据层面,而针对数据孪生系统的攻击会威胁到物理世界中的人身安全、设备安全和业务安全。
(2)开源软件的供应链同样会受到政治风险的影响,开源软件的开发团队很可能因为行政禁令而不能向集成商或者用户提供服务或者分发安全补丁。
(3)开源软件的开发团队更关注功能的实现,在进行软件设计时为了功能的便捷性而忽视安全性问题。同时,开源软件开发者通常免除了自己的法律责任,而集成团队在安全验证方面通常过分信任开源软件包,这使得厘清供应链参与者与漏洞产生之间的法律责任非常困难。
(4)开源软件开发过程中,依赖包关系复杂,大部分开发团队仅能厘清所遵循的开源协议,而无法提供依赖包关系的清单等开源代码的准确使用状况。
(5)传统的安全验证可以依赖于对软件的完备测试,然而面对数字孪生这种无法通过构建完备测试集进行安全性验证的高阶协同复杂软件系统,现阶段缺乏针对安全性进行模型检测和模型验证的方法。
正是由于存在这些差异性,数字孪生的开源软件供应链体系在开发、集成、交付和使用环节面临着数据风险和业务风险,恶意攻击可能从以下几个层面展开。
(1)攻击开发环境。该种攻击是针对开源软件供应链中的开发者环节。攻击者可以通过向开发环境中植入恶意程序,通过污染编译器等方式,在每次代码编译过程中将恶意代码放入编译完成的可执行文件中,从而躲过代码审查。
(2)攻击开发工具。2015年的XcodeGhost事件为此类攻击的代表,攻击者通过修改开发工具的配置,利用开发工具作为跳板对软件开发过程中使用的自动生成代码和编译环境进行污染,从而实现将恶意代码混入软件的目的。
(3)攻击镜像仓库。开发者在开发过程中通常关注第三方包是否能够实现功能,而不会对第三方包的安全性加以关注。攻击者可以通过对镜像仓库进行网络劫持或者采用名称混淆的方式,诱使开发者下载植入恶意代码的第三方软件包从而实现攻击目的。
(4)攻击软件运行环境。数字孪生系统软件有很大一部分需要运行在物联网环境中,需要集成嵌入式系统进行支持。由于嵌入式系统安全验证机制薄弱、物理暴露和部署复杂、网络接入多样的特点,攻击者可以通过直接攻击物联网对整个数字孪生系统进行入侵,从而执行信息窃取和业务破坏行为。
四、数字孪生开源软件供应链安全防护
正是由于恶意攻击带来的破坏性,数字孪生开源软件供应链的安全防护工作值得我们高度重视。从多个角度分析供应链中存在的不同风险,建设有针对性的安全流程和技术方案对供应链进行风险管理,维护数字孪生系统的安全运行。
(1)建立开源软件供应链攻击的分析与防范机制。有针对性地研究和分析数字孪生开源软件供应链中的威胁情况,给出攻击源及其对应潜在影响的清单,按照风险暴露的可能性与攻击危害的严重程度对风险进行全面和综合衡量。通过清单列出软件供应链中的全部风险点与威胁信息后,制订出规避开源软件供应链风险的最佳方案。
(2)提高开发人员安全意识。软件开发人员是整个开源软件供应链中的第一个节点,也是作为每一个环节中的重要参与者贯穿于数字孪生系统建设过程中。开发团队应在开发过程中的每一个环节和每一个关键点进行安全与风险的评估。在开源软件开发过程中,开发人员不应过分注重功能实现和版本迭代的速度,更不应该认为安全开发的规范流程是拖慢开发进度的阻碍。
(3 )建立可信的开发环境。利用软件过程可信模型对软件开发环境的可信性进行评估,通过形式化验证的方法,在开发环境中建立起规约和验证模型。针对开发环境中的风险点,制作风险控制清单,并定期对开发环境进行安全评测。
(4)建立开源软件漏洞信息数据库,针对开源软件包,建立起标准化的漏洞信息库用以命名、描述和跟踪漏洞。
(5)开源软件供应链安全分析报告。系统集成团队在将产品交付用户之前,需要对开源软件的供应链安全进行分析与研究,形成开源软件供应链安全分析报告。报告内容应包括:
①系统软件中开源软件包占比分析,即给岀软件供应链中所涉及的源代码种类及对应的文件数量;
②开源软件包依赖关系,报告中应对软件所使用的开源软件包之间的依赖关系进行详细描述;
③开源软件归属分析,报告应针对开源软件权益归属地和开发团队的地理分布信息进行分析,给出供应链政策风险评估,同时应给出高断供风险的软件包的替代方案并尽可能消除高政治风险开源软件包的使用;
④开源组件漏洞分析,利用漏洞信息库对开源软件包的漏洞进行扫描来完成安全等级评估。
五、结语
由于数字孪生领域刚刚兴起,相应的技术标准、安全规范和生产实践都处于摸索前进的过程中,目前尚无法形成理论完备、安全有效的开源软件供应链风险控制方法。因此需要我们在理论层面上对其进行深入探讨和研究,以应对未来可能出现的安全风险。
(1)加强高阶协同系统可信性验证方法的研究工作。数字孪生系统中物理实体与数据模型之间不仅仅存在一阶的数据交互,两者之间还存在激励、反馈、控制等多种协同方式,属于典型的高阶协同系统。现有的高阶CCS演算、高阶n演算、高阶并发通信模型等都是基于进程形式,然而数字孪生这样的安全苛刻系统中,设备与软件存在相互的独立性,内部同时存在数据交互与业务维护工作;同时各个子系统之间对外接口存在不同的协议约束,使得现有的模型工具很难对其进行准确描述。
(2)加强开源软件供应链的掌控力度,完善供应链安全评价。利用重点实验室、行业协会和业内龙头企业的技术、政策和业务能力,对开源软件供应链的上下游合作伙伴进行管控。推动开发人员的安全开发能力度量标准和基于企业能力评价的供应链安全标准的建设和实施。
(3)加强开源软件社区管理,建设可信软件资源镜像仓库。开源软件发布的随意性是导致其被恶意代码植入的最主要原因,通过建设可信的软件资源镜像仓库,能够在很大程度上避免恶意代码因软件包被二次打包、网络劫持、相似命名等方式进入到软件开发环境中。因此从国家层面上,推动行业主管单位、网络安全相关科研单位、互联网龙头企业等组织共同建设和推广可信软件资源镜像仓库,能够最大程度地避免引入恶意代码,保护开源软件供应链的安全。
(原载于《保密科学技术》杂志2020年7月刊)