政府与电力部门,甚至消费者都越来越关注智能电网的安全性。继空气、水、食品与住宅之后,电力已经成为人类最基本的生活必需品之一。毫无疑问,可靠的电力供应是现代社会生活的保障,也是促进新兴国家发展的重要因素。
在关于智能电网安全性的讨论,大部分内容都倾向于网络安全,以及在此环境下嵌入式设备以安全认证方式接入网络,并通过网络处理数据。尽管这是智能电网环境下保证供电安全的关键步骤,但这种方法过于狭隘,忽略了智能电网在有效运行期限内来自智能电网设备供应链的威胁。
本文探讨智能电网供应链存在的潜在风险以及对智能电网构成的威胁。必须重视并防范这些威胁,才能保证电网运行的安全。最后,我们评估用于防止这些威胁的技术。
电网的潜在风险?
为什么有人会试图攻击智能电网?答案不尽相同。
最简单的情况,可能是攻击者想节省其电费账单。攻击者通过更改其智能电表来保护个人利益。有些情况下,可能是有组织犯罪活动,以隐藏其真实的耗电数据,比如毒品实验室试图掩盖其耗电量。除此之外,还存在更高意识形态的电网攻击者。
众所周知,许多国家必须应对恐怖袭击的威胁,每时每刻都要加以防范。炸弹或飞机袭击等武力威胁固然可怕,而针对供电网络的攻击行为则会扰乱大量人群生活质量。一旦攻击者控制几百万只电表,则会破坏大批人群的供电,发起实质性的公共攻击。
智能电表有效运行期限内所面临的物理威胁
图1所示为智能电表生命周期不同阶段的概念图。为简单起见,该模型仅限于四个步骤:芯片采购、智能电表生产、智能电表部署,以及运转模式下的智能电表。我们利用这一简单模型进行潜在风险分析。对于每一阶段(包括各个阶段之间的过渡或运输),我们都需要考察:攻击者会采取什么方式来控制智能电表网络?
智能电表生命周期所面临的潜在风险模型。如图所示,只有通信加密并不能提供有效保护。
利用假冒IC代替合法IC
对于攻击者来说,芯片制造商和设备制造商之间的运输环节是入侵智能电表供应链的最佳时机。对于攻击者而言,微控制器是块“肥肉”。在一般的供应链模型中,芯片制造商将基于闪存的微控制器运输到生产场所,无论是签约制造商(CM)还是最终用户。在生产场所,将智能电表固件装载至微控制器。在完成电表生产及装箱之前,要进行一些系统级配置。这是正常的流程。
现在,假设技术高超的攻击者设计一款看起来和用起来都非常像正品电表SoC的微控制器,就可能出现诸多情况。IC可能被更改,允许网络恐怖分子通过网络远程控制电表;或者,假冒SoC可能根据任何请求转存其存储器内容,从而泄露制造期间装载的通信密钥;再或者,假冒SoC可能允许任何人查看其软件,从而威胁到正规电表厂商的IP.
有些技术不太高超的攻击者,“假冒IC”需要进行制造,想象一下运输至CM的真实闪存微控制器。攻击者拦截运输过程并在闪存中装载一段程序,该程序看起来非常像系统内置的标准引导装载程序。IC到达CM时,可能很难检测到这种诡计(即假冒引导装载程序)。然后CM下载标准固件,但“不安全”的引导装载程序已经在电表中驻留病毒。随后,该病毒会造成电表功能不正常,并与攻击者共享安全密钥。
如果没有正确的保护措施,利用IC运输进行假冒或篡改的攻击者就能够控制智能电表的整个生命周期,在智能电网上随意引发不可想象的灾难。
生产过程中装载恶意软件
制造车间同样存在风险,比如,来自负责生产的员工队伍。一般情况下,这些工人的收入远低于工程团队或管理者。经济不景气时,100美元的贿赂获取就能收买生产线的工人,在智能电表中装载特殊固件。即使比较富裕的国家,如果100美元达不到目的,他们或许支付更高的费用,1,000或10,000美元?
如果攻击者可接触到生产流程,就能够窃取装载到智能电表的二进制码镜像。窃取镜像并更改固件,造成意想不到的后果,这一点并不困难。例如,攻击者更改中断向量,在严格定义的情况下引发破坏行为。中断向量可被编程为监测实时时钟,在夏天的某个特定时间断开电表的断路继电器,使处理器停顿,导致电表脱离网络。在这样的攻击下,可能有数百万只电表遭到破坏,停止向居民供电。如果供电公司被迫手动更换智能电表,经济损失将不可估量。考虑到炎热夏季断电造成的后果,将会大幅提高人们的生活成本。
偷窃软件仿制电表
为了从中获取非法利益,在正常的生产流程中,产线工人可轻而易举地接触到装载到智能电表的二进制镜像。通过贿赂,攻击者即可接触到原始PCB,从而进行逆向工程。如果攻击者得到完整的BOM,带有可识别的IC部件号,以及智能电表工作所需的软件,就拥有了仿制电表所需的一切。攻击者不需要任何研发成本也可销售电表。
一旦攻击者能够仿制电表,如上所述,就存在更改电表软件的风险。
利用假冒电表代替合法电表
与芯片相比,电表外壳和标识的仿制要容易得多。这种情况下,攻击者制造看起来酷似合法电表的产品,但固件包含隐藏的攻击代码。对电表进行校准,使其报告错误的用电量。如果电表允许攻击者控制其切断或控制发送至电力公司的数据,这可能是灾难性的。对单只电表的攻击带来的是麻烦,还算不上灾难;而针对大量电表的攻击行为将会带来不可估量的损失。想象一下,六百万只电表报告的用电量都不正确会是什么情形。供电公司将根据错误的数据做出决策,妨碍其响应用电需求变化以及正确发电的能力,不可避免地发生大范围电网不稳定,造成巨大的生产力损失。
通过内部访问重新校准电表
合法电表安装到现场后,遭受攻击的风险并未结束。假设攻击者是电表制造商内部人士,了解如何与电表进行通信,开发出更改电表校准数据的IR装置。这样的装置很容易制造,能够更改任何电表减少实报用电量数据。尽管这一行为不会造成大面积电网故障,但会给电力公司带来严重的经济损失。
这里所述的攻击并不是推理,而是真实发生的故事。
监测和拦截通信环节
这是智能社区普遍担心的一种攻击行为。根本问题在于攻击者可能绑架智能电网周围的通信网络,通过模拟命令,断开其断路继电器,从而中断供电;也可能假冒电表通信,报告错误的用电数据。然后供电公司可能利用这种有缺陷的智能电表显示数据制定决策,比如对所需发电量或电压/无功功率优化。如果数据和命令未进行正确加密(隐藏)和安全认证(验证),就为攻击者提供了干扰甚至控制智能电网的途径。
物理攻击电表,更改代码、窃取密钥
电表在完成部署之后,到底有多安全?电表的物理安全是关键考虑。嵌入式智能电网端点设备(例如智能电表、电网传感器、分布式自动控制点)必然是分布式的,并且没有任何物理保护措施。所以,智能电网的端点非常脆弱,容易被偷盗、带回实验室,在攻击者闲暇时进行检查分析。
这种情况下,攻击者对电表微控制器的引脚进行编程,装载新固件,使其报告错误的用电数据。有的攻击者采用物理方式访问电表,然后控制电表微控制器的内存,最终获得安全通信密钥。在这些危险情形下,攻击者可破译智能电表的网络通信,发起大范围的破坏性事件。
生命周期内的网络安全
我们以上已经讨论了智能电表生命周期受到的物理威胁,接下来讨论电网通信环节的风险。
智能电网行业一向致力于确保智能电网通信(即数据和命令)的安全性和可靠性。现代化智能电网标准要求采用AES加密,或椭圆曲线加密。即使对于未来几十年的计算能力,这些算法的复杂度也可有效保护数据。
那么这种情况下的主要威胁来自哪里?智能电网中的命令和数据都具有加密保护,采用强大处理设备都不足以破解的加密算法,果真如此的话,我们可能已经不需要继续从事这个行业或干脆退休了!现在担心的事情不是数据和命令的加密保护,而是潜在的薄弱环节,攻击者容易突破的是关键信息的保护,加密密钥。
攻击者将不择手段获得关键信息(密钥),选择风险/成本最低的途径。窥探通信流量和强力破解可能需要数十年的时间,成本非常高。但如果潜入国外签约制造厂,在生产期间拦截装载的密钥,成本又如何呢?这种行为的成本和风险较低吗?
回顾以上讨论的每种威胁情形,攻击者都是充分利用每种情形,不择手段得到密钥;这必定会攻破智能电表网络的严谨设计和部署:
利用假冒IC代替合法IC
这种情况下,攻击者对假冒或拦截得到的IC进行编程,与其它攻击者共享存储器内容。由于可将假冒(或拦截)IC编程为共享数据,所以很容易威胁到生产期间装载的密钥。
生产期间装载恶意软件
如果在生产期间配置密钥,那么就可能利用社会渠道(例如,行贿或其它好处)说服生产线工人共享装载的密钥。
偷窃软件仿制电表
如果攻击者能够重构智能电表装载的软件,就可能使软件共享而不是保护密钥。
利用假冒电表代替合法电表
假冒电表可能与任何不法人员共享密钥。如果假冒电表留有后门,就可能威胁到正品电表在生产过程中装载密钥的安全。
通过内部访问重新校准电表
迄今为止,已知的重新校准电表攻击是为了个人私利,也就是降低个人的电费账单。具有专业知识的内部人士也可能在量产电表中设置一个后门,从而对电表进行批量校准。如果电网上大量数据不准确,会造成供电公司决策错误,以及电网不稳定。
监测和拦截通信通道
入侵通信通道是传统攻击行为,是网络安全分析师需要慎重考虑的事项。只要攻击者没有机会获得密钥材料,现代化加密技术足以防御任何攻击行为。
物理攻击电表,更改代码、窃取密钥
许多微控制器具有在引导装载程序环境下转存程序代码或数据存储器的功能,许多产品也支持测试模式。尽管这些模式非常隐蔽,但对于顽固的攻击者还是能够发现,然后访问电表微控制器中的任何内部存储器。如果密钥材料储存在片上存储器中,则比较脆弱,物理访问电表距离物理访问电表微控制器内的存储器内容也仅仅是一步之遥。
防御智能电表生命周期中所面临的风险
至此,我们简要讨论了智能电表及其安全软件面临的安全威胁。尽管以上示例并不全面,但都是确实存在的威胁。以上示例证明,部署嵌入式智能电网装置的任何个人和单位都必须分析和预测电网本身面临的威胁隐患。因此,对我们而言,考虑可用来防御这些已知威胁的技术非常重要。
确保IC合法化
我们必须确保送到生产厂的芯片是合法的、未经更改,也没有用假冒材料代替。过程控制是我们的第一道防线。我们必须加强供应链合法化,只从原始供应商或授权供应链直接购买元件。此处的风险是从第三方或中间人购买材料,而后者未遵守严格的跟踪程序来验证材料的合法化、未经篡改。
尽管过程控制非常有效,但并不能阻止不愿善罢甘休、具有一定资源的攻击者利用假冒材料代替正品材料。这种情况下,可利用安全引导装载程序防御攻击。安全引导装载程序在制造期间装载至正确的芯片,可利用高级加密技术锁定,例如共享AES密钥或芯片制造商的私钥。电表制造商接收到芯片时,可使用相同的高级加密工具,以确保芯片被芯片制造商安全锁定。
生产过程仅装载真实软件
同样,过程控制非常有效。例如,要求两名或多名随机抽调的生产线工人“验证”装载固件,有助于防御攻击。
过程控制固然有效,但芯片内置高级安全技术可提供更可靠的方案。以上所述的安全引导装载程序可使电表制造商将加密、经过数字签名的代码装载至电表。实际上,签约制造商或制造厂只能访问加密版本的应用软件。表计IC中的安全引导装载程序在内部解密和储存未加密版本的软件。这一过程防止攻击者偷窃固件进行克隆或逆工程化,因为电表设计者和电表本身之间从来不以明文形式使用固件。也可防止攻击者将新固件引入到制造链,因为装载至表计IC的任何固件都必须经过授权人员的签名和加密。
安全软件防止电表克隆
使用相同的安全引导装载程序,制造厂只需储存加密版本的应用软件。现在,任何偷窃加密软件的攻击者都不能对其进行逆向工程。同时,安全引导装载程序中的密钥与每个授权制造商生产的电表相关联。所以,加密后的软件对于试图仿制电表的攻击者的价值很小。为仿制电表,攻击者需要偷窃针对特定最终用户设计的IC,因为其它芯片没有对应的密钥。
验证电表合法性、谨防假冒
回想一下试图通过制造假冒电表并装载恶意软件来破坏智能电网的攻击者。安全引导装载程序将再次使最终用户(即供电公司)确保电表装载正确、有效的固件。此外,引导装载程序能够“锁定”电表,禁止其工作,直到被目标供电公司接收。
禁止内部人士接触电表的所有入口
为防止具有专业知识的内部人士重新编程或重新校准电表,电表设计者需要“锁定”(从加密角度)电表的所有可能入口。人们关注最多的入口是家庭和供电公司网络,尽管也有其它关注较少的访问点(您需要注意),包括串口、红外接口和JTAG或其它调试端口。
后者必须具有安全防护措施,保证任何试图通过这些外设进行控制的人员必须经过安全认证。例如,大多数电表具有红外接入点,所以供电公司能够读取本地电表信息。有时候,供电公司的工作人员可通过这些端口发送命令。如果这种通信未经加密和安全认证,智能电表就容易受到攻击。只有保密或未经公布的命令集是不够的。蓄谋已久的攻击者可发送随机命令,监测电表的行为,最终分析得到通过IO端口能够理解的命令集。技术水平较低的狡猾攻击者可能贿赂电力公司员工,以得到命令集,或者获得用于与IR端口通信的工具。
数据加密的安全通信通道
监测和入侵通信通道是供电公司、政府和行业现在最为关注的攻击行为,是网络安全人员的主要关注点。这里,我们主要关心两点:隐藏数据以保护敏感/隐私信息、对数据/命令进行安全认证以确保有效性。加密工具可用于这两项任务。
数据和命令安全认证通常用签名实现。注意,对于安全认证,我们可能不担心数据保密。数据或命令公开可读,可能是可接受的。但必须严格保证数据或命令的有效性至关重要。
隐藏数据通常采用对称加密(即共享密钥)的方法实现,例如AES.使用软件实现时,该算法相对较快,但如果需要对大数据流进行加密,往往要求硬件加速。一个例子是固件更新,此时必须接收并加密长数据流(或散列),然后处理器才能继续安装新版本。AES密钥大小为128至256,密钥越长,加密越强,从而攻击者越难以破解。注意,与对称算法一样,AES要求数据的发送方和接收方拥有相同的密钥。
对称加密方法的使用越来越普遍,其中“签名方”有两个密钥:一个共享密钥(公钥)、一个私有密钥(私钥)。密钥本质上不干涉另一方的操作。简而言之,签名方对一组数据应用其私钥,生成签名;任何人均可验证确认来自于签名方的签名,因为知道其公钥并利用公钥进行反操作。由于密钥尺寸小(256位,而不是RSA等算法要求的4096位)、安全级别高,智能电网对椭圆曲线技术越来越感兴趣(ECC、ECDSA)。
物理攻击电表
尽管网络安全(智能表计领域的通信通道加密)得到很多关注,但并不是部署电表时唯一需要考虑的安全事项。智能电表根本上是高风险领域,没有物理防护和监测。对于技术高超的攻击者,分析智能电表的最佳途径是获得一只电表再加上足够的时间。由于电表遍布于每个家庭,对于攻击者而言,获得一只电表并带到隐蔽实验室进行分析,非常容易且成本极低。
金融终端行业防御此类威胁的措施最好,该行业中用于金融中断的芯片集成传感器,主动监测物理威胁(例如设备入侵、具有威胁的温度和电压条件,甚至芯片级物理检查);如果检测到任何攻击行为,则擦除NVSRAM中储存的密钥。该技术可确保对电表的任何物理攻击都会造成电表失效,以及擦除所有关键的敏感信息,包括密钥。
嵌入式智能电网安全技术
以上所述的情形概要介绍了大量安全威胁以及防御这些威胁的技术。
现在,这种技术已经商用。多年以来,Maxim Integrated为金融终端和信用卡行业提供安全解决方案,案例遍布全球。金融交易的安全级别非常高,而该行业的健康成长是现代化电子商务市场增长的基础。这是这种高级别的安全性推动了我们上文中讨论的嵌入式芯片的需求。
相对于金融终端行业,智能电网威胁的破坏性要大得多。大面积、长时间的断电,暂时不能处理信用卡业务,这两者谁的破坏性更大呢?Maxim积极推动安全产品的应用,例如MAX71637电能测量SoC,集成最高等级的安全技术。现在,从设计到制造、再到任务模式、直到设备报废,您能够保证智能电网整个生命周期的安全。这才是供电公司和我们消费者能够享受智能电网带来的巨大利益的唯一途径。