美国电网幕后的开源技术

尚无读者喜欢这篇文章。
One lightbulb lit out of several

Opensource.com

美国能源电网由许多移动和非移动的网络安全资产组成,这些资产在某种程度上都必须使用相同的语言进行通信。机器对机器通信的语言最近已成为一项大生意,然而,控制电力从发电厂到您的电灯开关的设备已经使用它们的语言进行了多年的通信。

DNP3 是一种 IEEE 行业标准,它基于开放架构,由开源项目 (OpenDNP3) 以及专有供应商支持的规范解决方案正式提供。DNP3 可在美国能源电网的各个方面找到,支持机器对机器的通信,特别是支持变电站设备(如电池组、断路器和重合闸器)之间的通信。

Automatak 的创始人 Adam Crain 是 OpenDNP3 项目的主要开发人员和贡献者之一。通过 Adam 的开源工具集,已经发现了关于专有解决方案的安全性和效率的若干发现。

作为一名软件专业人士和开源爱好者,Adam 在过去的 12 年中一直从事自动化领域的许多工作,包括望远镜控制、太阳能跟踪以及公用事业监控和数据采集 (SCADA) 系统。他还是软件测试和验证所有方面的专家。

Adam 在这里回答了我的一些问题。

您是如何参与分布式网络协议 (DNP) 的?

我第一次接触 DNP 是在大型公用事业公司调试 SCADA 系统,以及调试各种网络上的通信问题。在那之后,我在一家初创公司工作,在那里我帮助编写并发布了在宽松的 Apache 许可证下实现的 DNP。从那时起,我一直是该项目的首席维护者。

什么是 OpenDNP3?

OpenDNP3 是 DNP 规范(现在是 IEEE 标准)的生产就绪参考实现。它足够高效,可以在资源受限的嵌入式系统上运行,但也能够扩展以满足大型公用事业 SCADA 主站的连接要求。核心是用现代 C++11 编写的,但我们提供了绑定。

为什么 OpenDNP3 比专有实现更安全?

我认为这主要源于我们对测试的整体方法。我们的单元测试和功能测试套件具有非常高的代码覆盖率。我们还定期执行负面测试(模糊测试),以查找可能导致安全缺陷的实现缺陷。事实上,我们正在进行一项行业范围的研究,该研究表明专有供应商需要如何在多大程度上改进他们的测试实践

OpenDNP3 社区是怎样的?

我们有一个由核心开发人员组成的小组和许多用户。我们的邮件列表非常活跃,用户不断推动开发方向。有几家咨询公司提供定制产品集成和培训等服务,以帮助那些需要额外帮助或需要快速行动的人。将 DNP 作为组件合并的公司不必担心受制于专有供应商。

根据最近的安全发现,我预计我们将从公用事业领域的大型供应商那里获得更多关注。

Avatar
Rob Wilmoth 是 Red Hat 在公用事业领域的高级解决方案架构师和主题专家。Rob 自 2007 年以来一直在 Red Hat 工作。在担任目前的职位之前,他最初是一名技术支持工程师。Rob 毕业于阿巴拉契亚州立大学,现在与妻子 Bethany 居住在罗利。

1 条评论

感谢这篇有趣的文章!

很高兴看到对单元测试和代码覆盖率的强调。

希望这些概念能够定期融入到软件工程师的教育中。这应该是一种尽早养成的习惯。

Creative Commons License本作品根据知识共享署名-相同方式共享 3.0 未本地化版本许可协议获得许可。
© . All rights reserved.