如何保障智能电网的安全性及应对潜在的威胁
扫描二维码
随时随地手机看文章
对智能电网来说,因为电网基础设施受到攻击的几率越来越高,各个国家稳定的电力供应都处在受到恶意攻击危险之中,从而使得安全问题的重要性日益增加。对此,IT安全性尤为重要;很多方案支持端到端的通信数据加密,如:数据集中器、监控器和数据采集器系统(SCADA)。对IT加密措施的关注是毋庸置疑的,因为需要确保“空中”传输数据的安全性。但是,即使采用强大的端到端加密也无法保护整个智能电网的安全:因为嵌入式设备本身易受攻击。
加密等于安全?
虽然加密工具对于隐私保护和传输数据、命令的认证非常有效,但必须注意到这仅是解决方案的一部分。加密的作用在于防止被保护数据在传输或存储过程中被解密或伪造。有些人认为复杂的RF或电力载波通信依赖调频即可完全保证数据的安全性,其实此类保护很容易被攻破。假设攻击者可以任意控制远程电表拉合闸继电器,那么电力公司将需要投入大量资源忙于处理故障。电力公司不但因此遭受经济损失,而且会带来很大麻烦,对于那些必须使用空调的场所造成生存威胁。
那么,如何避免此类事故的发生呢?如果通信双方都通过密钥对通信线路上的数据进行加密、解密、签名或验证,从嵌入式传感器到控制系统的数据加密非常关键,用于加密的密钥保护也更加重要。一旦密钥被窃取,整个网络也就不再安全。智能电网的嵌入式终端需要一套更完备的安全方案,可以借鉴金融终端的安全技术,着重于密钥保护,采用芯片级硬件和防攻击多重保护措施。
电力供应的保护重点不能只放在智能电网的有效数据和命令验证。蠕虫病毒制造者了解攻击嵌入式基础设备的有效手段,即不容易被发现又对系统造成严重破坏。著名的“零日攻击”利用檫除或修改系统程序的方式,对系统造成的破坏非常隐蔽。因此我们不但要关注设备的安装,而且要关注任何一个容易遭受攻击的编程环节(如生产过程)。
还有什么漏洞?
实现安全可靠的设计并非易事,需要花费大量的时间和对安全保护技术的深入了解。那么,这些投入值得吗?让我们先来分析一个挂网的智能电表,例如,安装在我们自己家里、没有保护措施的电表,外人很容易打开这样的电表。如果电表采用的是通用MCU来处理通信和应用功能,则很可能存在一个编程端口,攻击者可以对他重新编程或读取内部信息。在有足够资源和时间的前提下,一些人可以编写出一个类似功能的程序,但在程序中植入获取密钥数据或篡改账单的病毒。
即使挂网的电表都具备一定的保护措施,可在一定程度上防止篡改。我们仍然能够发现一些容易遭受攻击的环节——生产环节,所谓的“社交工程”为攻击者侵入IP和生产流程提供了机会。花费数千美金,攻击者就有可能获取程序,通过逆向工程修改后,将“新程序”植入产品。另外,攻击者也可以将你的程序出售给竞争对手,造成巨大损失。
如何保证设备生命周期的安全性?
严格的产品生产流程应该考虑从设计到生产每个环节的安全性,以及应对篡改的策略。保障生命周期的安全性,需考虑以下几点:
⒈确保拿到的芯片产自原厂,通过正规渠道采购来降低风险,当然,也要考虑加密技术。Maxim销售的安全处理器和智能电网产品可以加入用户密钥或证书,以防他人解锁和编程IC。
⒉保护您的IP。在工厂生产环节提供签名、程序加密,协调从系统处理器的安全装载,到芯片软件解密和授权认证的每个环节。此类加密可以防止程序被克隆或破解。
⒊只运行您规定的程序。安全的程序装载采用数字签名的方式来验证代码的有效性,防止装载或运行未经授权的代码。
⒋可靠通信。对新的配置、固件更新和指令进行加密和签名,以验证数据来源的可靠性。
⒌现场保护密钥。不要将密钥存于它处,如外部EEPROM。如果系统使用独立的安全处理器和应用处理器,应将密钥保存在安全处理器内,不要向外发送。以免攻击者从线路板的通信数据中窃取密钥。
⒍公司内部的密钥保护。工程师可以使用开发密钥来开发产品的安全功能,产品级密钥则要经过多人签名授权。通常可以使用一个更高级别的安全模块完成授权。
⒎不放过每个微小漏洞。如果系统攻击者仅从一块电表窃取到重要信息,并投入大量的时间和资金研究这些信息,希望据此攻击整个系统。经验老道的攻击者可能打开IC封装,从MCU的存储器中寻找重要信息。因此,使用唯一密钥或非对称加密(如:椭圆曲线数字签名)很有必要。
图1. 产品生命周期内的安全性需要考虑从开发到生产的每个细节。
当前电网的安全保护措施为攻击者留出了很大的空间。为了让嵌入式设备在整个生命周期内确保安全,我们还需加强整个智能电网的安全设计,让哪些攻击者望而却步。