ETH:技术 | Eth2中的时间服务器攻击及其缓解措施

摘要:Eth2中的时间服务器攻击之前也有人讨论过。但迄今为止,主流意见都认为这种攻击只能导致验证者暂时离线,等节点运营者重建正确的时间同步措施,节点就能重新回到线上。但是,如果节点可以被诱去签署一条有关遥远未来某个epoch的见证消息,危险性就远不止暂时离线这么简单:因为共识算法的环绕投票罚没规则,这些节点在整个网络实际到达该错发的见证消息的目标epoch之前,将不能再签名任何见证消息。在共识规则的运作下,这种时间服务器攻击会导致受攻击的验证者几乎永远离线,而相关的权益人也会因为懒惰惩罚而付出惨痛代价。

攻击界面

声音 | 国家电网:应用区块链等技术 建设“泛在电力物联网”:据中国电力新闻网3月14日消息,国家电网三届四次职代会暨2019年工作会议提出,聚焦建设世界一流能源互联网企业,打造“枢纽型,平台型,共享型”企业,建设运营好“坚强智能电网,泛在电力物联网”,即为“三型两网”发展战略。建设“泛在电力物联网”要通过广泛应用大数据、云计算、物联网、移动互联、人工智能、区块链、边缘计算等信息技术和智能技术,提供充足有效的信息和数据支撑。[2019/3/15]

Eth2中的见证消息就是验证者签过名的、包含所认可的来源检查点和目标检查点的信息;来源检查点和目标检查点都以时段号和区块根来表示。CasperFFG的算法的安全性保证之一便是“无环绕投票”规则:验证者签名过的任意两条消息中,不能出现有?attestation1.source<attestation2.source?且?attestation2.target<attestation1.source?的情况。

动态 | 蚂蚁金服致力于区块链技术 连接消费者和小微企业:据新华网报道,近日第五届世界互联网大会在浙江乌镇举办,15项来自中、美、英等国的科技成果成功发布。其中蚂蚁金服则是用区块链技术连接消费者和小微企业,解决他们的实际问题。今年6月,蚂蚁区块链的跨境汇款从香港支付宝到菲律宾的GCash钱包正式打通上线,收款时间和手续费都大幅度降低,更加便捷、安全、透明,实现了供应链中应收账款的高效可信流转,帮助供应链上的小微企业以更低成本获得融资。[2018/11/12]

我们可以按如下手法炮制一次时间服务器攻击:第一步是通过操纵时间服务器的时间,使之跳转到未来的某个时间,使得被攻击验证者的时间也跳转到未来,这个时间必须短于懒惰惩罚致使验证者余额降低至零的时间,否则验证者就不会再签名见证消息了。

澳洲小型供电网络将引用区块链技术 促进向可再生能源的转型:据悉尼先驱晨报消息,Latrobe河谷地区将新建立一家采用区块链技术的太阳能供电网络。该供电网络将连接200家牧场、20家商业和150家居民住处,使用区块链能源交易平台Exergy。澳大利亚可再生能源署负责人Ivor Frischknecht表示,这个试点项目将是革新农业部门的第一步,将促进维多利亚州的煤电厂向可再生能源电厂转型。[2018/5/7]

然后我们需要诱相关的节点,使之认为它其实是跟链保持同步的,然后它才会签署见证消息。如果攻击者控制了多个对等节点,这一点总是有可能做到的,只需在点对点的网络频道中发送一些来自未来时间的见证消息和区块即可。控制多个节点也是容易实现的,所以这并不是一个不现实的攻击者假设。

中国VC教父阎焱:区块链本身是好技术 但现阶段还存在很多弊端:据网易科技报道,赛富亚洲投资基金创始合伙人、有“中国VC教父”之称的阎焱表示,区块链技术本身是很好的技术,但现阶段还存在很多弊端,对其开发的能力不够。同时他认为,99%的人是不关注区块链。而中国虽然有扎扎实实发展的区块链公司,但数量很少,以以太坊为例,世界上有1000个,中国可能只有1、2家。[2018/3/25]

一旦目标验证者签名了一条以未来epoch为目标epoch的见证消息,攻击者就可以把这条消息保存下来,然后确定这名验证者在整个网络实际到达那个未来epoch之前,都不能再签名任何见证消息了。当前所有Eth2实现的验证者客户端都有措施防止该验证者签署相互冲突的见证消息,因此该验证者实质上就是离线了。

结果

一名攻击者可以通过一个时间服务器来驱逐所有TA能影响到的验证者。这种攻击会比此前使用同样界面所设想的攻击更为恶劣,因为影响不是暂时的,而是持久得多。虽然我们有可能在几分钟之内就能发现这样的攻击,而且所有专业的节点都能在几个小时内恢复正常时间,但这于事无补,因为损害已经发生了——而且可以导致验证者的惨重损失,例如,可能有很多验证者会因为指数升高的懒惰惩罚而被提出网络。

缓解措施

加入验证者客户端不罚没规则

我们可以在验证者客户端中加入一条不罚没规则:要求他们在签署所有消息前都评估当前的时间,而且不要提前签署未来的消息。这个办法其实只有在验证者客户端与信标链节点没有部署在同一台机器上且没有被攻击波及时才有用。不过,对于密钥分割型验证者来说是一个明确的改进,因为这个规则将不允许领导哦啊这节点提议一条未来的见证消息,可以阻挡验证者的行动。

为时间同步措施加入更多的保护

本文所提出的问题表明,时间服务器的同步措施所包含的攻击界面比我们从前设想的严重得多,必须引起我们的注意。

小幅度的时间偏移虽然恼人,但不会导致严重的问题,所以,仅在时间服务器推送的更新与本地的RTC时间相差幅度在一定范围内才使用更新、否则就拒绝更新,似乎是更好的模式。

但这个模式仍会遗留一个攻击界面在启动进程中。因此时有发生的大规模电源中断可能会演变成严重的问题、一次性影响众多验证者。我认为,可以让验证者客户端在启动前先检查罚没保护数据库、如果在几个小时乃至几天内都没有签名过任何消息,就拒绝启动。长时间不签名消息意味着可能发生了时间服务器攻击。可以添加一个强制启动的标签来应对例外情况。

?https://arxiv.org/abs/1710.09437?Timeattacksandsecuritymodels

原文链接:?https://ethresear.ch/t/eth2-attack-via-time-servers/8049作者:?dankrad翻译:?阿剑

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:857ms