从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 在Bitcoin Core v24.0.1之前,攻击者可以通过向节点发送低难度的头部链来发起分布式拒绝服务(DoS)攻击。 - 这种攻击被归类为“High”严重性。 2. 细节: - Bitcoin Core将区块链头部存储在内存中,这使其容易受到DoS攻击,即使头部链的难度较低。 - 一旦攻击链被构造出来,它可以在网络中被重用,导致任何节点崩溃。 - 这种攻击的可行性长期以来都是已知的,也是为什么检查点系统仍然存在的主要原因:在最后一个检查点启动攻击比在创世块启动攻击要昂贵得多。 - 随着时间的推移,随着挖矿难度的降低,这种缓解措施的效果逐渐减弱。 3. 发现和报告: - 这种攻击是独立发现并报告给Bitcoin Core项目的,由David Jaenson在2019年1月发现。 - Braydon Fuller在2019年10月在比特币开发邮件列表上发布了一篇名为“Chain width expansion”的文章,讨论了这种攻击的危险性、成本分析和可能的解决方案。 - Suhas Daftuar和Pieter Wuille研究并实施了修复方案。 4. 时间线: - 2010年7月17日:Bitcoin 0.3.2发布,引入了检查点,保护节点免受低难度头部链攻击。 - 2011年11月21日:Bitcoin 0.5.0发布,跳过在最后一个检查点之前对区块的脚本验证,这使得检查点的作用更加关键。 - 2014年4月9日:第295000个区块被挖掘,成为最后一个Bitcoin Core检查点。从这个点开始,随着挖矿难度的降低,检查点对头部链攻击的保护作用开始减弱。 - 2015年2月16日:Bitcoin Core 0.10.0发布,引入了头部优先同步,将低难度头部链攻击弱化为区块头部链攻击。 - 2017年3月8日:Bitcoin Core 0.14.0发布,取消了在检查点跳过脚本验证,使检查点仅用于保护头部链攻击。 - 2019年1月28日:David Jaenson报告了这个问题给Bitcoin Core安全邮件列表。 - 2019年9月18日:Braydon Fuller向Bitcoin Core安全邮件列表发送了一篇名为“Bitcoin Chain Width Expansion Denial-of-Service Attacks”的文章,讨论了这种攻击的危险性、成本分析和可能的解决方案。 - 2019年9月26日:Suhas Daftuar回复Braydon Fuller,确认这是一个已知问题,并邀请他将他的文章发布到比特币开发邮件列表。 - 2019年10月4日:Braydon Fuller将他的文章发布到比特币开发邮件列表。 - 2019年10月31日:Suhas Daftuar打开PR #17332,提出一个更早但不切实际的概念,他正在研究改进这种情况,希望能引起更多关于这个话题的讨论。 - 2022年2月:Suhas Daftuar和Pieter Wuille讨论了这个问题,并估计这种攻击的成本已经变得如此低,以至于它需要立即采取行动,并且需要避免公开讨论。 - 2022年6月22日:Suhas Daftuar打开PR #25454,作为实施修复的准备工作。 - 2022年6月22日:Suhas Daftuar向一组长期贡献者发送消息,详细说明了攻击、成本和修复,Pieter Wuille和他一直在研究。 - 2022年7月26日:Suhas Daftuar打开PR #25717,与Pieter Wuille共同撰写,实施了修复。 - 2022年8月30日:PR #25717合并。 - 2022年10月21日:Niklas Gögge的PR #26355合并,修复了在PR #25717中引入的头部预同步步骤中的一个错误。如果没有这个修复,仍然有可能通过头部链攻击,潜在未发现的攻击的可能性是为什么旧的检查点没有被完全移除的原因。 - 2022年12月12日:Bitcoin Core 24.0.1发布,修复了这个漏洞。 - 2023年12月7日:Bitcoin Core 23.2的最后一个版本结束生命周期。 - 2024年9月18日:公开披露。 5. 修复: - 2022年8月30日,PR #25717合并,修复了这个漏洞。 - 2022年12月12日,Bitcoin Core 24.0.1发布,修复了这个漏洞。 - 2023年12月7日,Bitcoin Core 23.2的最后一个版本结束生命周期。 - 2024年9月18日,公开披露。 6. 发布日期: - “Disclosure of memory DoS due to headers spam”于2024年9月18日发布。