在PHDays 8入侵智能电表:MeterH3cker竞赛分析

图片

今年,Positive Hack Days竞赛计划补充了针对智能电网系统MeterH3cker的 hacking元素的竞赛 。 根据组织者的设想,参与者可以随意使用两座房屋的模型,太阳能电池板为房屋供电,并且所产生的多余能量可以特殊价格出售给普通电网。 攻击者的任务是破坏电能计量的正常过程,并通过任何可能的方式影响计费系统中的现金余额。

展位


图片

站立计

配备太阳能电池板的现代房屋既可以消耗电能,又可以将多余的电能回馈给电网。 该模型构成了MeterH3cker展台的基础。

该展台是两栋带有实际设备的现代住宅建筑的模型,这些设备采用了智能电网技术。 在每个房屋中,都安装了太阳能控制器,智能电表和能源消费者。 两座房屋都连接到一个变电站的模型上,该变电站上安装了数据收集和传输设备(DTD)。 它采访了电表和变电站电表。

此外,每个房屋都配备有供暖和空调系统,该系统受展位通用网络中可用控制器的总体控制。 此外,在智能家居附近,安装了一个真正的电动汽车充电站,该充电站将其连接的电动汽车的耗电量指示传送到USPD。

我们提出了白天和黑夜的场景。 在“白天”模式下,房屋中的太阳能电池板发电,其计数器朝相反的方向转动,并考虑了“已消耗”和“给定”能量。 每个房屋都有自己的个人帐户,其余额在能源生产过程中增加而在消费过程中减少,电表中配置的关税也影响了价格。

竞赛参与者的主要任务是通过攻击展位的设备来增加房屋的个人账户余额,从而从黑客的行为中获得直接的经济利益。

为了使结果可视化,我们编写了自己的计费服务器,该服务器从USPD收集数据。 反过来,USPD本身以几种方式询问了计数器:

  1. 1号楼的柜台-根据开放供应商类似Modbus的协议;
  2. VR-007.3设备使用开放的供应商Modbus-like协议对2号房中的计数器进行了查询,然后USPD通过HTTP从VR-007.3 Web服务器接收了数据;
  3. 变电站仪表-根据Modbus TCP协议。

为了获得真实的能耗值,攻击者无法使用的参考电表被连接到与被攻击电表相同的电流和电压电路。 计费服务器通过RS-485接口直接轮询它们。

为了使论坛的访问者可以看到正在发生的事情,在展位附近安装了一个大型监视器,该监视器上实时显示耗电量图表。 蓝色图表标记了USPD的读数。 他们根据攻击者的行动而改变。 绿色图表显示从参考电表收集的实际发电量和消耗量读数。

图片

显示每所房屋的当前值:个人帐户余额,消耗和传递给网络的能源,费率

展台网络上还提供了一个用于竞赛参与者的内部门户。 在那里,显示了图表的当前值,在该部分中显示了支架的每个元素; 比赛规则在那里发布,不时出现提示。

图片

内部门户

参与条款


比赛进行了两天。 第一天有资格赛。 连接到展位网络时,每个参与者都可以访问两个房屋,一个变电站和一个充电站的所有设备。 参加者有机会研究设备,发现漏洞和潜在的攻击媒介。 白天,新的提示会定期添加到比赛的内部门户中,从而使参与者能够检测到看台设备的弱点。 第一天在看台上取得成功的参赛者被邀请参加第二天的决赛。

决赛是对决。 邀请了两名与会人员,每个人都有自己的房子。 他们的任务是在十分钟的回合中以任何方式欺骗计数器,并产生比敌人(有条件的邻居)更多的能量。 获胜者是在比赛结束时拥有更大个人账户余额的人。 同时,由于参与者可以使用彼此的设备,这使任务变得复杂,这意味着他们可能伤害邻居并低估了他们的结果。

第一天:排位赛


有很多人想尝试黑客设备。 请注意,其中一些已经为比赛做好了充分准备,并配备了必要的软件。 其中有来自日本的参赛者,他们从比赛的第一个小时开始就认真研究了看台,使他们在第二天取得了显著成绩。

对于我们来说,最大的惊喜是一名12岁的黑客狂热者的参与:尽管他年龄大,但他仍然能够浏览所提供的设备并显示出几次攻击。

图片

参赛者

我们在当天中旬获得了第一个结果:日本研究人员联手控制了电动汽车的充电站,并通过Web界面发送控制命令停止了对电动汽车的充电。 不久之后,他们就能为太阳能控制器的管理员获取密码,并关闭发电。

这位年轻的黑客也没有落后于成年人:他学会了导致USPD不断重启,从而实施了拒绝服务攻击并破坏了对计数器的调查。

傍晚时分,日本小组的一名成员在参考值和被攻击的计数器上的能量值之间出现严重偏差,从而大大增加了计数值。 他的同事发现了变电站计数器网络界面中的一个漏洞,该漏洞允许读取设备闪存卡文件的内容,其中一个文件包含管理员密码哈希。 因此,在成功选择密码后,他可以访问计数器参数。

排位赛结束前一个小时,一个叫Oleg的参与者加入了看台。 尽管事实上他几乎没有时间了,但他还是成功地进行了一次进攻并参加了第二天举行的锦标赛。

结果,到一天结束时,所有参与者都可以更改所有可用电表上的能量读数,并控制支架的各个元素-控制器,充电站。

图片

参与者攻击柜台的结果。 右下图显示计数器转换系数已更改,左下图显示在-4计数器上成功进行了拒绝服务攻击

第二天:比赛和决赛


根据参与者在第一天结束时发送的报告的结果,我们选择了七个能够发现并利用展位设备漏洞的参与者。

由于第二天,参与者在回合中不仅会影响他们的柜台的读数,还会影响对手邻居的柜台的读数,因此任何疏忽都可能导致严重的后果。 因此,参与者奥列格(Oleg)对邻居的设备进行攻击,错误地提高了邻居的得分,因为他在发动攻击时进行了攻击,但在该回合的剩余时间内没有设法将其“扭转”到另一个方向。 在随后的搏斗中,参与者考虑到了这种悲伤的经历并表现得很出色,例如,设置了在生成时段(“白天”模式)中其计数器系数的最大值,在消费时段(“夜间”模式)中设置了最小值。

图片

积分榜

比赛的最后阶段,一场激烈的战斗展开了。 在本回合开始时,Sakuru Takeksoshi受益匪浅,他在最初的几分钟内就能够成功进行攻击并大大增加了帐户余额。 第二位参与者-Alexey Kuznetsov-也能够在回合开始时发动进攻,并增加了帐户余额,但金额却少得多。 所产生的能量读数的差距为25 GW·h,而相对于5 GW·h。 在大多数回合中,得分没有变化。 为了避免重复在错误的时间发动进攻的第一批参与者的悲惨经历,Alex谨慎行事并监视着政权的变化。 在该回合的后半段,他设法对变电站的仪表进行了一次成功的攻击,并使与邻居的间隔最小,但总分仍然无法使他获胜。 在最后几秒钟,亚历克斯再次袭击了他的柜台,并成功地增加了他的证词,这使他获得了领导者的胜利。 因此,阿列克谢赢了,他的余额增加到920亿。 例如,考虑到他成功地攻击了变电站的电表,他的总分使他无条件获胜。

图片

最终攻击后最后几秒内的个人帐户状态

总结


因此,获胜者:第一名是Alexei Kuznetsov,第二名是Satoru Takekoshi,Nikita Stupin排名前三。 年轻饼干尤里·格里申获得了第四名的特别奖。

在比赛中(尤其是在决赛中),比赛发生了完全不同的攻击。 大多数参与者试图对从电表获取的能量读数进行攻击,增加发电时的能源产量并减少消耗时的能耗。 此外,在某些回合中,竞争对手成功攻击了电动汽车和太阳能控制器的充电站。

但是,没有一个参与者能够对USPD进行成功的攻击并替换直接收集的数据。 这些攻击可能会导致完全控制传输到计费中心的数据,并使您的帐户增加任意值。 在整整两天中,我们仅记录了一次这样的未遂攻击,显然以失败告终。

同样,没有人攻击控制供暖和空调系统的控制器。 假定攻击者将连接到设备,并能够使用现有的控制信号来控制设备。 攻击者的主要困难是比较开放的端口和设备的名称,例如,使用FOX协议请求信息。 无需使用专门的软件来攻击该设备。 该提示也无济于事,因为攻击者没有使用它,所需要做的就是替换浏览器中的User-Agent标头以成功建立连接。

从其他观察。 在比赛中,参赛者就展位的结构和操作以及可用设备提出了很多澄清问题。 这可以用以下事实来解释:除了“破坏”设备的任务外,还必须弄清楚它们各自做什么以及如何利用其漏洞牟利。

图片

第一天的高度

我们很高兴,尽管我们的比赛是该论坛的新手,但许多观众不愿参加比赛,但对展位的工作以及参赛者的成功很感兴趣。 展位前的免费脚凳很快就结束了!

另一个有趣的事实与来自日本的参与者有关。 比赛的内部门户网站和国内制造商的设备文档都使用俄语,但这并没有成为日本队的障碍-足够的实践技能可以证明一系列成功的攻击。 但是,比赛结束后,他们承认这仍然给他们带来了一些不便。

总体而言,该竞赛表明,不到两天的时间就可以了解现代电表系统并对其进行成功的攻击。

分析其他比赛积极的黑客天8:


Source: https://habr.com/ru/post/zh-CN414557/


All Articles