2017.11.27日,国务院发布关于深化“互联网+先进制造业”发展工业互联网的指导意见的政策文件。指导意见中用基本形势,总体要求,主要任务,保障支撑四个章节全面阐述了先进制造业融入互联网发展的新工业革命的历史契机,是把互联网信息技术融入到先进制造业,推动制造业向工业化、智能化、信息化发展的新兴业态和应用模式。云计算、大数据、人工智能等新一代信息技术与制造技术加速融合,以及互联网技术与工业融合创新的不断推动,电力、交通、市政等大量关系国计民生的关键信息基础设施日益依赖于网络,并逐步与公共互联网连接。当一家工厂、一个工业流程、一条生产线、一个工业产品都与互联网息息相关之时,处在“明处”的工业互联网就很可能成为市场竞争对手、黑客乃至敌对势力攻击的目标,而这些攻击却在“暗处”,避之不及,在不经意间,就可能被窃取核心信息,篡改生产流程,导致生产报废、企业瘫痪。工业信息安全形势日趋严峻,亟须加快提升工业信息安全保障能力,为工业生产安全和两化融合(信息化和工业化)健康发展撑起“保护伞”,为制造强国和网络强国战略实施筑牢“防护墙”。否则一旦受到网络攻击,不仅会造成巨大经济损失,更可能带来环境灾难和人员伤亡,危及公众生活和国家安全,安全保障能力已成为影响工业互联网创新发展的关键因素。
在指导意见中,提出了构建网络、平台、安全三大功能体系,明确了工业互联网发展和安全的主攻方向和重大任务,强化了安全在工业互联网安防展的地位。曾经著名的震网和火焰病毒式攻击就是美国针对伊朗工业设施的有组织,有策划的攻击,导致伊朗压缩机控制设备损坏,延迟2年核试验。因此,在指导意见中主要任务中单独有用第六节阐述强化安全保障内容的重要性。2019.8.28日,工信部等十部门印发加强工业互联网安全工作的指导意见,是对2017指导意见执行两年来的一个总结,强化网络安全,这不仅是中国工业革命的基础性保障,也是制造业高质量发展的前提,更是中国互联网企业赖以生存的土壤,安全才是一切工作的保障。
在工业互联网实施框架的总体视图,设计共有三级,第一级为行业或产业级的工业互联网平台,由国家政府职能部门进行建设;下一级为企业级工业互联网平台;最下一级为边缘系统,主要是制造企业的生产控制系统。行业级和企业级平台都有对应的应用层,工业PaaS层和基础实施层。行业级工业互联网平台的主体是国家和各省级政府,而企业安全综合管理平台则是由各制造企业来承建,部署在工厂内网。从实施框架总体视图可以看出,国家在发展工业互联网行业的同时,强调了安全平台,安全防护的重要地位以及发展规划。
在工业互联网实施框架的平台视角来看,强调了产业层中产业链、价值链互通协同、打造开放共享,应用创新生态的理念,建设面向工业互联网的开发者社区、开源社区,为建设和服务平台,配套的协同机制和服务机制,用专业服务打造工业应用系统开发和运行维护。而在与软件相关的开发者社区、开源社区、工业应用开发环节都离不开软件质量保障和安全保障。工业互联网本身就存在安全漏洞,表现为操作系统漏洞、工业控制系统漏洞、工业控制网络漏洞、云平台安全漏洞等,如果这些漏洞不及时打上“补丁”,就会成为“祸根”。特别是在云平台中,作为底层支撑技术的虚拟化,在成本降低、效率提升的同时,由于物理共享与逻辑隔离的冲突而导致数据安全问题。近几年来,由于安全漏洞导致的事件频繁爆发,给企业带来了严重损失。利用安全漏洞或后门对其它国家发起攻击。近来出现的震网、火焰等攻击病毒是利用软件漏洞,国家之间进行网络攻击的典型案例。除此之外,例如委内瑞拉发电站受到美国的攻击,以及美国叫嚣攻击伊朗重要的国防设施。来自补天平台的监测数据显示,2018年中国工业互联网联盟成员有82家工业企业的ICS、SCADA等工控系统里,出现过漏洞的占比28.05%,其中有23.2%是高危漏洞,说明安全环境比较严峻。
工业互联网的保障是全方位的,立体的,是贯穿整个工业互联网生存周期的。安全问题需要放在整个软件工程过程中进行设计和考虑,不能到了系统最后上线或投产阶段再被动考虑安全问题。在工业互联网建设中既要保证业务功能的安全,更要保护企业隐私数据的安全。同时关注可靠性、完整性、可用性等。安全要融入到整个软件生命周期内,将传统意识上被动安全防护转化为主动进行安全需求分析、安全设计、安全编码和安全测试。由于信息化和自动化程度的不同,工业细分行业的安全保障体系建设情况也各不相同,信息化、自动化程度越高的行业,开放程度也相对较高,面临的安全风险随之增大,对安全也更加重视,安全保障体系建设相对需要更加完善。
工业控制系统功能层次模型,也就是工厂内部系统由上到下分成5级。每个层级都运行着大量软件,根据工业控制系统连续性运行和网络物理隔绝的特点,以及对时间控制精度的要求不同,越是实时性要求高的应用软件,越是需要在软件代码层面上进行安全审查。企业管理层包括了企业管理相关的ERP、CRM等系统,与传统IT系统类似,采用权限管理、访问控制等传统信息系统安全防护措施,与生产管理层多采用工业防火墙、网闸等隔离设备,一般通过白名单方式对工业协议如OPC等进行过滤,防止来自于互联网的威胁渗透到生产过程。操作员站、工程师站以及PLC(可编程控制)、DCS(分布式控制)、SCADA(数据采集与监视控制系统)等采用较老的操作系统,物理隔绝等手段一定程度上减少了风险,但是由于系统陈旧,长期未打补丁,一旦受到攻击,则可能全线崩溃,直接影响生产,更加应该重视风险。
设备安全是工业智能装备和智能产品的安全,包括了嵌入式操作系统安全、相关应用软件安全以及功能安全等。网络安全采用分层分域的隔离和边界防护。工厂内网和外网通过防火墙、VPN、访问控制等边界防护措施保障工厂内网安全。控制安全是指生产控制安全,包括控制协议安全、控制平台安全和控制软件安全等。应用安全是指支撑工业互联网业务运行的应用软件及平台的安全。数据安全是指生产管理、操作数据、工厂外部数据安全。五大安全重点存在的问题中,设备安全问题是由于越来越多的工业控制系统采用通用的嵌入式OS和应用软件,暴露在网络攻击下,非常容易被木马和病毒侵入,有些把病毒传播速度非常快。
网络安全问题在于网络拓扑结构相对于传统互联网更加复杂,以及实时控制要求更高的前提下,安全机制收到制约。控制安全问题由于IT和OT(操作技术)的融合,网络攻击开始由IT层渗透到OT层,APT(持续攻击测试)检测和防护手段却缺乏。应用安全问题重点在于工业应用多样化带来安全需求多样化,对网络隔离能力和安全保障能力要求提高。数据安全问题则主要是在工厂内外双向流向数据量增大,种类多和结构复杂情况下,数据保护难度增大。
国内致力于软件底层安全的北大软件安全研究团队,长期对OWASP和CWE安全漏洞以及国外安全漏洞检测工具的研究。OWASP是开放web应用安全项目,是一个安全方面的国际公益组织。CWE是通用漏洞枚举,是美国国土资源局支持的安全组织。OWASP是每隔3年发布Top 10,根据全球报告出的安全漏洞进行分类整理危害排名前10类的安全漏洞。OWASP top 10中大约60%左右安全漏洞是可以通过静态分析技术检测出来。只有代码中的安全漏洞及时消除,才能保障最后交付运行的应用软件具有较高的安全性。但是之前,很多企业不愿意在日常生产中关注安全,等中了勒索病毒等才引起重视,花大量金钱也不一定能够消除问题。与其亡羊补牢,不如未雨绸缪。在代码静态分析工具选择中,由于国外厂商工具研发较早,加上开发此类工具需要成本和周期很长,导致几乎所有工具都被国外垄断,关系国计民生的系统检测上,还依赖于国外工具,无法做到自主可控,存在着安全隐患。国内某通信设备制造商就在使用国外工具中曾经出现过代码被传到境外服务上。
国内军工科研院所在源代码检测方面面临一些问题。根据我们走访了将近260家军工科研单位,大多采购了国外的检测工具Testbed。使用国外检测工具会面临着诸多问题:
1、由于测试环境的复杂性导致很难在生产中运用,或者检测误报率和漏报率高。对国军标支持不好;
2、对于编译不通过的代码无法检测,这对于控制类软件是一个问题。
3、一些单位的定制需求无法得到满足或成本无法接受,一个时间一个是成本。
4、在同源检测、二进制检测方面工具对中国禁运。中兴产品由于受到美国管制,除了巨大的经济损失,生产也处于被监控之中。由于中美贸易战,科技战,有可能出现断供,卡脖子事件。
不管是传统互联网行业,还是工业互联网行业,组成互联网应用的最核心还是由开发人员编写的智力成果-软件代码。通常一个软件的成分有三部分组成:自研代码,也就是开发人员自己编写的代码。使用的开源框架和引用的第三方库,例如动态链接库,jar包等。不管是哪类代码,都可能存在着安全漏洞,后门或脆弱代码。我们泛指是软件中存在缺陷。
通过软件测试行业专家研究表明,代码中的缺陷主要是在编程阶段引入的,而在功能测试、验收测试阶段发现缺陷并修复验证缺陷。直接结果是导致缺陷的修复成本增加。而缺陷越早被发现,被修复,才能节省成本。不管是开源框架还是商业的第三方库,还是开源的第三方构件,都是安全漏洞的主要来源。根据Gartner统计,企业软件项目中开源代码的比重占到80%到90%。开发人员每8次下载开源代码,就有1次引入已知漏洞。最关键的是很多企业对开源构件的使用处于失控状态,无法追踪或监管。
那如何对工业互联网中的安全漏洞进行检测,对软件质量和风险进行量化评估、在发现风险或质量问题后,如何改进或提升开发人员代码开发质量呢?实际上,传统互联网行业,我们对一个工程项目中的软件自研代码和第三方库都有检测方案。基于静态分析技术的检测工具可以检测出自研代码中的安全漏洞,这方面工具之前长期被国外工具所垄断,直到2017年由北大软件发布的静态分析工具打破了国外垄断地位,成为国内军工科研院所、政府职能部门等的首选检测工具。对于第三方库中的安全漏洞检测,有Blackduck和fossid等少量国外工具,但是基本上是对国内禁运。如果国内企业要检测,需要把代码传到国外服务器上,存在代码泄漏风险。北大软件今年发布了一款同源检测工具-灏博,能够对互联网软件中的开源部分进行检测,同时报告已知漏洞。
通过对主流开源网站Github、Sourceforge上抓取第三方库、开源框架和构件,以及NVD、CNVD和CNNVD上的安全漏洞数据,结合CWE和OWASP上对安全漏洞模式的分析,形成本地的第三方代码库和已知漏洞的一一对应关系。提取漏洞模式形成安全漏洞模式库。能够对工业互联网应用程序进行安全漏洞分析、缺陷自动修复分析、测试用例修改影响分析以及程序健康度量分析等。在分析中,可依据国际、国内标准。同时能够与制造企业的原有相关系统进行集成。发现的漏洞汇总后产生报告,同时进行缺陷漏洞的传播影响分析。在静态分析的基础上,通过软件质量度量工具进行度量,对软件进行健康打分,对于部分缺陷和安全漏洞我们能够进行自动修复,对于较难问题则给出修复建议。综合判断软件健康情况,给出是否合格或是否纳入可信库的建议,最后对于合格软件进行签名,防止版本问题。
北大库博代码成分和同源漏洞分析平台,是建立在亿万级代码和20万安全漏洞基础上的大数据基础上的检索平台。其开源组件或框架主要来自于主流开源网站例如Github、Source Force等网站抓取下载量大的开源框架、构件等项目,进行分析整理后,通过建立代码DNA后纳入库中,DNA也就是代码的唯一特征指纹值。20万安全漏洞主要来自于NVD美国国家安全漏洞库,以及国内的两个漏洞库CNVD和CNNVD分别在利于国家计算机网络应急技术处理协调中心和中国信息安全测评中心。CoBOT安全漏洞数据库正好与国家级安全平台所说的安全基础信息库是一致的,包括漏洞库、指纹库也就是DNA库和恶意代码库。除此之外,北大CoBOT通过抽取代码的结构化属性,可以对可靠性、安全性、效率、可维护性等进行度量。是从代码维度上对软件质量进行度量,弥补了原来通过动态测试难以对软件质量进行评估的缺点。通过百万功能点对应的缺陷漏洞,也就是代码脆弱点来评估各个质量度量元,打分标准遵循六西格玛 质量评价标准。
(完)