刘 霞,王运付,姜元山,张光伟,陈德进
(中讯邮电咨询设计院有限公司,北京 100048)
2016年,十万个摄像头由于越权漏洞或默认用户名和口令组成,感染“Mirai病毒”,造成美国大范围网络瘫痪。由于物联网设备数量多、分布广、生命周期长、人机交互少、安全防护弱,成为安全攻击的重要目标,安全事件频发。自2018年起,英、日、美等国开始全面加强物联网安全管理[1]。
2019年,全国信息安全标准化技术委员会2019年第二次工作组“会议周”上,《物联网安全标准化白皮书(2019版)》正式发布[2],明确了物联网安全标准化需求、体系、建议等。
2022年1月12日,国务院印发《“十四五”数字经济发展规划》,重点优化升级数字基础设施,加快推动数字产业化升级,推进5G规模化应用,建设安全可控的智能化综合性数字信息基础设施。各省份发布相关规划,一再强调网络安全的重要性。在5G应用重点行业,如工业互联网、智慧城市、生态环保等领域,均离不开物联网终端设备。当前网络安全已作为重点工作被提及,被大量使用的物联网终端网络安全问题必须受到关注,提出并应用合理的解决方案,避免使物联网终端成为网络安全大环境下的薄弱环节。工业物联网终端作为行业物联网一个重要的应用方向,在终端安全问题上,必须在产品诞生之初就把安全分析、设计、实现提升到匹配的高度。
工业物联网设备当前主要应用于天然气、石油、采矿、电力、医疗、制造等垂直行业,设备类型包括视觉设备、工业互联网网关等,一旦出现故障,可能导致生命财产安全或高风险[3]。
图1所示是工业物联网设备的上下游组网架构。其特点是,下游互联各种工业设备,如摄像头、RTU等。上游通过4G/5G/卫星等无线空口通信方式,连接到部署于网络侧或企业内网的管理平台及业务平台。
图1 工业物联网设备组网架构
当前据中国国家信息安全漏洞共享平台统计数据显示,工业物联网设备主要涉及的网络安全问题如下:
(1)安全漏洞数量剧烈上升;
(2)拒绝服务攻击;
(3)信息泄露;
(4)未授权访问。
工业物联网产品作为工业互联网领域重点使用的产品,需要自研发之初便重点分析已知各类安全问题的原因,并提供合适的安全风险消减方案。
当前的工业物联网终端产品,从系统运行的操作系统、网络协议栈到上层应用程序,大量使用三方软件,且主要是引入使用状态。基于该前提,工业物联网可能涉及的三方软件的安全漏洞主要有3种来源:
(1)选用不活跃的开源软件;
(2)三方(或称为供应链)安全漏洞;
(3)不及时的漏洞跟踪修复。
针对(1)类漏洞来源,产品在设计之初,首先需要结合业务功能及重要程度,对开源引入进行备选评估。在开源引入过程中,首先考虑开源社区成熟度,强烈建议社区成熟度至少处于协作期[4]。典型如行业知名社区Linux、Apache、OpenStack等,处于流行期,优先使用。若非知名社区,则对开源软件社区成熟度进行评估,典型评估维度包括:至少近一年内用户持续增长情况、活跃开发者增长情况、阶段性软件发布情况、Bugfix情况等。针对重要功能使用开源软件,强烈建议:如自研代码,了解代码架构、参与社区的开发及维护活动,以有利于驱动开源软件技术走向,保证业务功能行业竞争力。
针对(2)类漏洞,典型如2020年“SUNBURST”事件,网络管理软件供应商SolarWinds Orion软件更新包被黑客植入后门,导致该软件的使用客户遭到网络攻击。在工业物联网产品中,不可避免使用三方软件。针对该类问题,业界暂无成熟的工程化手段,建议结合三方软件的重要性,对供应商的研发流程成熟度、网络安全成熟度等进行评估[5]。
针对(3)类漏洞,强烈建议:在研发阶段,借助安全漏洞扫描工具(如Nessus、OpenVAS等)进行漏洞扫描,在研发出口修复业界已知的漏洞。运行部署后,相对于云化产品,工业物联网终端大部分分散部署于客户环境,不利于现网漏洞扫描。在此场景下,需要客户或产品供应商进行三方软件清单维护,持续追踪软件漏洞情况,及时规划漏洞修复及版本上线,尽可能减少漏洞线上暴露时间。
拒绝服务攻击主要是如下2种:
(1)常见的DOS攻击;
(2)DDOS攻击。
在工业物联网解决方案部署中,终端处于运营商网络(如4G/5G核心网、卫星接入网)下游。虽然网络侧已经部署了防火墙等安全措施,终端侧依然需要具备基本的内生防护能力[6-9]。
针对(1)类拒绝服务攻击,典型的有“死亡之ping”“teardrop 攻击”“UDP 洪水”“SYN 洪水”“Land 攻击”“Smurf攻击”“Fraggle攻击”等。作为工业物联网终端,业界常使用嵌入式Linux系统,在Linux系统下,需要对操作系统做合适的开关配置、结合系统的CPU能力配置合适的iptables规则,即可实现基本的终端侧防护,防止从网络侧或LAN发起该类攻击。工业物联网终端除涉及常见DOS攻击外,还涉及无线局域网的DOS攻击,典型如WLAN接入。由于物联网终端作为AP设备,接入的STA设备数量有限。恶意攻击者可以伪造STA持续进行接入请求,从而导致AP的可用接入数耗尽,导致合法STA无法接入。针对这类情况,建议对工业物联网终端的接入机制进行加固,实现基于MAC地址的防暴力机制。
针对(2)类拒绝服务攻击,主要是针对服务器侧的攻击。对终端侧而言,建议在产品研发阶段对产品的监听端口进行端口扫描(典型使用工具Nmap),关闭业务不必要的端口监听,减少系统的攻击面。
工业物联网终端产品从产品特点看,主要涉及如下信息,对信息类型及其用途、泄露影响的分析见表1所列。
表1 工业物联网终端信息类型及用途、泄露影响分析
从表1的分析结果来看,密钥类、口令类是工业物联网终端的关键信息,一旦泄露,将可能造成重大安全影响。针对这类安全风险,建议的安全消减措施如下。
(1)对密钥进行安全管理
对于高安全级别的设备,实现基于TEE的密钥管理方案[10],对系统使用的业务类“密钥”,使用TEE中的安全密钥进行安全保护。避免在非安全系统中可以获取密钥类的明文,防止密钥信息泄露。
对于一般安全级别的设备,使用图2所示的密钥分层管理机制实现本地化密钥安全管理。“密钥保护密钥”的材料分散存储,至少一份编码于代码中,剩余部分以文件形式保存在文件系统中,文件名随机化,密钥材料通过异或等操作恢复后,使用不可逆加密算法(如PBKDF2)导出。对不同的业务场景使用不同的工作密钥,工作密钥使用安全的随机数(在Linux系统下,可以选择使用/dev/random)生成,密钥长度至少32个字节。使用“密钥保护密钥”保护“工作密钥”,“工作密钥”用于关键信息数据(如私钥、口令等)的保护。
图2 密钥分层管理机制
(2)对口令进行安全加密
对于口令,在可以使用不可逆加密保存的场景(如近端Web管理登录)使用不可逆加密算法(如PBKDF2)。在必须使用可逆加密保存的场景,使用可逆加密算法(如AESCBC-128等)进行加密保存。口令加密使用的密钥即“工作密钥”,通过密钥安全管理进行保管。
针对工业物联网终端访问安全风险的全量识别,推荐使用STRIDE分析方法。结合产品的部署场景及业务特点,可以识别终端的所有外部交互方及交互数据流。当前分析识别的典型数据流图如图3所示。
图3 工业物联网终端典型数据流图
从图3可知,工业物联网终端主要有3类数据流,针对每类数据流的说明及消减措施见表2所列。
表2 针对每类数据流的说明及消减措施
本文主要结合工业物联网终端的典型安全问题,提出针对性的消减措施。以便在产品交付过程中,在传统安全设计及研发的基础上,进行有针对性增强,在设计前端以及在产品全生命周期中持续关注安全风险,不断制定消减措施,以助力行业的数字化产业升级[10]。