一、前 言
近年来,我国围绕“加快数字化发展,建设数字中国”战略目标,持续出台数字化转型相关政策,驱动传统产业数字化转型,推动数字化赋能千行百业。
工业互联网是传统制造业数字化转型的必然选择,而工业数据安全又是工业互联网安全的核心所在。随着物联网的不断发展,工控设备之间的连接性日益增强,工业数据安全的挑战日益严峻。
工控设备数据安全在工业数据安全中具有关键地位。工控设备如可编程逻辑控制器(PLC)、人机界面(HMI)、分布式控制系统(DCS)等,直接接触生产设施,是现代工业自动化生产的关键节点和控制中枢。工控设备数据的泄露、篡改或被未授权方访问有可能导致生产中断、原料报废,甚至设备破坏和人员伤亡,产生巨大安全风险和直接经济损失。相比较其它工业数据的泄露,工控设备数据安全的破坏带来的影响更加直接和剧烈。因此,保护工业环境中的工控设备数据安全尤其重要。
本文旨在探讨数据安全体系建设中,围绕工控设备数据构建的防御机制和薄弱点。通过具体案例,我们将揭示工业数据安全问题的实际影响。
二、防御机制
工控设备数据指的是在工业控制系统中产生、处理和传输的数据。工控设备通过收集、监控、分析数据,从而执行相应的逻辑指令。工控设备数据涵盖多种极为敏感的信息,按照来源和类型分类,主要包括:
设备数据:涉及到工控设备的型号、版本、性能、运行时长等数据。
运行数据:包括生产线的实时运行状态、设备的运转情况、生产效率等信息。
程序数据:包括产线控制逻辑、生产工艺、产线规模、生产过程中的各个参数和指标等数据。
传感器数据:工业传感器收集并汇集到工控设备中的产线数据,如温度、湿度、压力、振动等参数。
通信数据:工业网络中传输的数据,包括设备之间的通信、远程监控等信息。
记录数据:控制器或其它存储设备中存储的过往数据,包括生产记录、故障报告、历史记录。
加密数据:用于管理设备和文件读写权限的加密机制相关数据,包括用户设置的密码和通信加密密钥等。
为了保护上述数据,工业设备供应商通常会设计多种防御机制,以应对工业环境中有可能出现的入侵和威胁,主要包括:
工程加密:基于工程项目的加密验证机制,保护项目工程数据不被非法阅览、修改、运行。能够同时作用于上位机端和设备端。
设备加密:基于工控设备的加密验证机制,能保护工控设备不执行非法用户通过数据传输的功能指令。
程序加密:基于程序的加密机制,能保护关键程序数据信息不被非法读取。
文件加密:防止非法读写工控设备中存储的文件数据。
以太网加密:限制允许访问工控设备的外部设备,验证数据的来源和出入口。主要包括IP、端口、协议筛选,直接连接功能禁用(限定IP),不响应网络搜索,以太网口禁用,启停以太网服务(web服务、ftp服务)等功能。
连接加密:保护允许远程连接的工控设备被外部设备访问时连接权限的安全性。
动作权限加密:保护工控设备被已连接的外部设备下达关键指令时指令权限的安全性。
三、案例分析
虽然业界已经存在多种多样的验证机制,但考虑工控设备在过去通常在封闭环境内运行,且使用专有的通信协议,不如通用的网络协议那样经过充分的安全性设计和迭代,因此常常存在众多薄弱点;且工控设备要求稳定长期运行,因此其固件更新和迭代受到限制,带洞设备存量较大。一旦工控设备与企业内部网络或者互联网连接,面对全新的安全挑战,就会更容易招致攻击。设备后门、web类、硬编码加密等问题,会导致攻击者无需破解复杂的加密机制,即可获取设备权限,接触敏感数据。
为了进一步深入理解,下面我们将通过案例展示工控设备数据面临威胁的实际情况。我们将重点放在案例中存在的安全问题上,从而提供对工控设备数据安全管理的参考见解。
3.1 工程加密存在后门问题:导致设备数据泄露
使用工程加密机制的工控设备,密码数据与项目高度关联,加密数据存储在工程项目中,与项目一一绑定,其设置、修改、重置操作均视为对项目的修改。
上图是一种基于项目的加密机制示意图,可见密码信息随项目移动并生效的机制:当项目存储在本地时,该密码用于保护项目数据不被非法阅览;当项目存储在工控设备中时,该密码用于保护工控设备不被非法连接或执行非法功能。外界用户在访问装载有加密工程的工控设备时,需要首先输入密码,以获取连接权限。
此类设备由于项目与密码联系紧密,供应商通常提供官方售后服务:如果用户忘记密码,可从官方途径获取动态后门密钥,而只需提供上位机软件中自动记录的设备通信数据。后门密钥基于项目数据和通信数据,通过某种密钥算法生成。
虽然后门密钥的生成需要仰赖官方,但由于后门密钥的校验步骤在上位机端进行,因此上位机软件内也存在密钥生成算法。通过对上位机软件进行研究,可以逆向分析出相关算法。
一旦找到后门密钥的算法,攻击者就掌握了绕过设备密码验证的备用钥匙。通过编写通信脚本,攻击者可直接通过上位机和设备的校验,获取连接权限,从而窃取设备数据。
3.2 文件加密存在未授权备份问题:导致工程数据泄露
PLC的SD卡插槽是一种较为经典的设计,它为PLC的使用和功能扩展带来了便利。PLC的SD卡通常用于以下几个方面:
程序的存储、备份:用于存储PLC的程序和配置文件。在需要批量更新多个PLC时,使用SD卡进行程序的复制和分发是一种可靠且便捷的方法。同时,SD卡也可以用于备份当前系统的配置和项目程序,以便在出现问题时快速恢复。
数据记录:可将运行数据、事件日志或故障记录保存到SD卡中。这对于故障诊断、性能监测和数据分析非常有用。
固件更新:通过SD卡,可以方便地对PLC进行固件升级。用户只需将更新文件复制到SD卡,然后插入PLC进行更新。
就SD卡备份功能而言,其初衷为保存PLC中项目文件的副本,以用于程序备份和复制。然而随着工业互联网发展,对数据安全要求的提高,PLC中的安全机制越来越多,这使得缺乏验证权限机制的SD卡备份功能成为许多攻击者关注的薄弱点。物理层面能够接触到PLC的攻击者,可以使用SD卡通过备份方式获取PLC中数据,从而无视既有安全机制。
当然,不乏已经开始设置SD卡通道权限的厂商,但受限于工控设备硬件更新限制,在现有条件下,此类新式机制常常仅在软件层面起效,未能在硬件层面建立保护。攻击者依旧可以通过绕过上位机软件,使用预先设计的脚本启动SD卡备份流程,再通过读取SD卡获取备份文件。
攻击者通过对备份文件进行解密,可以获取目标PLC的整个项目文件,其中包括经过加密存储的项目程序原文、机器码、密码、识别码信息等。
3.3 通信数据存在硬编码问题:导致加密数据泄露
工控设备通常使用私有协议与上位机和其它内网设备通信,为了防止通信数据被截获解读从而导致信息泄露,符合安全规范的做法是在通信中使用经过动态特殊加密的密文而非明文,来传输密码和其它重要信息。
然而,未经过严格安全设计且不及时更新迭代的工控设备中,许多都存在硬编码密钥问题。工控设备的硬编码密钥指在设备的固件或上位机软件中,存在着直接嵌入到源代码或可执行文件中的敏感信息,如密码、密钥、访问凭证等;此类信息通常以硬编码的形式存在于设备的程序代码中,而非动态从设备外部获取。这种存储和加密方式可能对设备的安全性产生潜在威胁。
攻击者可以通过分析设备的固件或软件,定位加密模块进行反编译,直接从设备处获取加密算法。再使用动态调试,获取加密算法中的关键加密密钥。
获取加密算法和密钥的攻击者,就能突破加密保护,通过分析通信数据,解读出设备的真实密码。
四、总 结
本文从工业数据安全出发,详细探讨了工控设备中的关键数据类型,介绍了厂商为了保护这些数据采用的常见安全机制和安全机制固有的薄弱点。最后,本文通过引入威胁案例,展示了在现实环境中,这些安全薄弱点是如何被利用并实施攻击的。
综上所述,我们可以清楚地看到,保障工控设备数据安全是一个多层面的动态过程。在未来,随着技术的进步和威胁环境的变化,工控设备的防御机制和攻击方法的对抗还会继续。这要求研究人员保持关注、不断更新技术和策略,参与到工控设备安全机制的迭代演进中,进而加固工业数据安全的基石。
声明:本文来自ADLab,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。