网络安全代表着一片乌云,模糊了现有电网系统的“智能电网”现代化,增强了客户和公共事业单位监控、控制和预测能源使用的能力。在防止潜在的破坏性断电方面,对安全企业级架构的需求已得到广泛认可,但安全编码设备所扮演的角色更容易被忽视,而且非常重要。
长时间停机可能是毁灭性的。2011年9月8日,一场长达15小时的停电影响了500万人,因为一名技术人员错误地关闭了一条500千伏的线路。从加利福尼亚的圣地亚哥到北部的奥兰治县和东部的亚利桑那,人们都感受到了这种影响,经济损失估计在9700万至1.18亿美元之间。
通过在流程和基础设施改进中规划和做出明智的决策,可以在一定程度上缓解这种自然和运营故障。然而,智能电网的连通性将焦点从防御世界转移到防御电网的脆弱性,以及从防御世界的敌对状态转移到防御电网。这不容易解决。
智能电网的晴天
我们越来越熟悉智能设备——的“物联网”中的“事物”。通过互联网远程控制加热系统、洗衣机甚至咖啡机的可能性越来越大。
长期以来,能源公司一直使用差别电价来鼓励消费者在低能耗时期使用电器。然而,一台能够监控智能电网的洗衣机可以“决定”开始洗涤循环的最佳时间,而不是通过计时器粗略地控制它。将“监控智能设备”的原理推广到工业设备,并增加了智能电表、可再生能源、电表和电网传感器等操作和能源措施,从而可以轻松直观地看到消费者的潜在节约。
从能源供应商的角度来看,这种机制提供了一种平滑能源消耗高峰和低谷、根据实时信息响应需求以及快速响应变化的方法。
最终结果是一个智能、绿色、高效和低成本的能源网络,惠及每个人。(见图1)电力研究所估计,智能电网每年平均可以为消费者节省数百美元,并为美国经济带来1.8万亿美元的额外收入。
2015年12月23日,乌克兰电网遭到攻击,黑客成功摧毁了三家配电公司的信息系统。攻击者通过中断公司网络、控制监控和数据采集系统、远程关闭变电站、销毁信息技术基础设施组件和数据,以及拒绝向用户提供有关断电的最新信息,暂时切断了终端用户的电源。
尽管智能电网的好处是多方面的,但它们暴露了比乌克兰这个例子更多的“攻击媒介”(接入点)和相应的导致断电的新方法。例如,对电力需求数据的误导性操作可能导致电力公司不必要地调整生产。
纵深防御
纵深防御
在理解如何最好地解决智能电网中的各种弱点时,借用一个类比是很有用的。在临床实践的世界里,詹姆斯·瑞因教授观察到有如此多的检查级别,以至于灾难的发生需要一系列的失败。这种“瑞士奶酪”纵深防御方法(图2)在网络安全方面有着相似的含义,确保了如果攻击者越过了防线,其他人仍在等待。
有助于智能电网防御的方法和技术包括安全网络体系结构、数据加密、安全中间件和域分离。监控智能设备值得特别关注,因为它们访问对智能电网运行至关重要的数据。
物联网与网络安全
NIST安全网、美国国家漏洞数据库和工业控制系统网络响应小组等举措反映了问题的严重性。然而,许多可用的建议都是高层次的,引用了现有的漏洞或原则,而不是细节。那么,一个软件工程师团队如何开发一个安全的应用程序呢?
在传统的以安全为中心的部门,安全软件开发的方法通常是被动的——软件开发,然后渗透、模糊和功能测试被用来暴露和修复任何弱点。
设计网络安全以监控智能设备的更好方法可能是反映功能安全标准(如IEC 61508“电气/电子/可编程电子安全相关系统的功能安全”)倡导的开发过程。开发软件的通用框架、解决软件开发生命周期所有方面的质量、风险和软件安全问题、应用最佳实践和创建一组可追踪的人类行为有助于在出现漏洞时提供快速响应。
安全代码开发
通过自动化工具的应用,可以最有效地证明符合国际电工委员会61508标准的实践。
功能安全和网络安全软件开发中的最佳实践要求从一开始就定义适当的需求,并从双向可追溯性的角度充分实施这些需求。
单元测试和动态分析也适用于功能安全和网络安全。在后一种情况下,重要的是确保防御机制有效,并且在应用边界值时不存在易受攻击的漏洞。
国际电工委员会61508还要求使用编码标准,将指定编程语言的使用限制在一个安全的子集。实际上,为功能安全性编写的代码通常也是安全的,因为相同的错误通常会在编程语言应用程序中导致安全性和安全性问题。
结论
没有一个智能电网是绝对不可渗透的。如果您想根据所涉及的风险级别来保护它,您需要多个安全级别,以便当一个级别出现故障时,其他级别处于警报状态。监控智能设备值得特别关注,因为它们为对智能电网运行至关重要的数据提供了访问点。功能安全标准(如IEC 61508)的结构化开发方法可以为在安全应用程序开发中应用主动方法提供理想的框架。
令人高兴的是,许多最适合安全编码的质量保证技术已经在功能安全领域得到了很好的证明。这些技术包括静态分析以确保编码标准的正确应用,动态代码覆盖分析以检查过量的“流氓代码”,以及在整个开发过程中跟踪需求。
这个开发过程的遗产包括一组结构化的人工行为,当安全漏洞出现在现场时,这些行为提供了理想的参考。考虑到黑客和解决方案提供商之间无休止战斗的动态性质,优化泄漏响应时间不仅是一个好主意,也是一个潜在的救星。