背景

Celer Network官方8月18日表示,北京时间3:45至6:00期间,部分cBridge用户被引导至恶意智能合约。最初,cBridge前端介面被怀疑受到DNS攻击。

与以往的Nomad、Wormhole、Ronin、Harmony等跨链桥骇客事件完全不同,这次攻击并非由智慧合约和跨链协定的bug或相关伺服器的入侵造成,而是跨链桥被骇客入侵。锁定在cBridge的链上资产也得到了安全保障。在本次攻击中,骇客直接针对Celer系统之外的互联网架构中的底层基础设施,透过欺骗互联网底层路由协议,让跨链用户在一段时间内访问「钓鱼」的前端用户界面(BGP)。Celer网路之所以能够限制损失,是因为他们的及时回应。这是因为Celer网路团队拥有24小时的监控系统。他们的客户服务团队能够发现问题并及时向社区发出警报。 Celer Network团队授权慢雾安全团队回应此紧急情况并进行深入调查。

分析过程

Celer Network 团队最初怀疑是 DNS 攻击,经过沟通,我们了解到了有关域名的更多信息:cbridge-prod2.celer.network。我们发现在攻击过程中浏览器并没有报告证书错误。因此,我们的调查首先从解决 DNS 攻击的可能性开始。(特别感谢@greysign1 帮助我们快速检查 DNS 攻击的可能性)

我们首先查看了相关证书信息:

该证书似乎已被意外更改,其中 Let’s Encrypt 颁发的原始证书被 GoGetSSL 颁发的伪造证书替换。

GoGetSSL 可以颁发免费的 90 天证书:

  • 证书1分析:https://crt.sh/?id=7356185959

    证书上在以下时间出现 CRL 检查错误:

  • 证书2分析:https://crt.sh/?id=7356185959

    此证书在以下时间还会出现 CRL 检查错误:

    通过检查证书1的IP地址、证书等信息,我们发现该证书绑定的IP地址是44.235.216.69。

    证书2的IP地址无法查询到证书2对应的IP地址,可能是由于攻击持续时间较短,互联网搜索引擎还未采集到相关信息。

    因此,我们重点分析了 cbridge-prod2.celer.network 域的 IP 解析数据:

    IP 地址 44.235.216.69 与 cbridge-prod2.celer.network 关联了很长一段时间。

    问题是:这个 IP 地址 44.235.216.69 长期与 cbridge-prod2.celer.network 关联,这一事实证明它属于 Celer Network 官方服务器。Celer Network 团队也证实了这一点。那么为什么这个 IP 会关联伪造证书呢?

    于是我们开始对44.235.216.69这个AS进行调查,发现这个IP对应的AS存在异常。

    AS16509 公告:

    通过查看 bogons,我们可以确定,这通常是攻击者伪造 IP 地址来发起攻击的情况:https://networkdirection.net/articles/routingandswitching/bgp-bogonsandmartians/ https://forum.networklessons.com/t/what-are-bogons/6333

    由于 44.235.216.69 处的 AS 出现异常,我们首先怀疑问题出在 BGP 上,因此我们联系了 Celer Network,获得了攻击者的 IP 地址:54.84.236.100。我们发现该 IP 地址所在的 AS14618 也出现了异常。(AS14618 也宣布了 bogons)

    巧的是,AS14618的上游是AS16509(AS16509也是44.235.216.69所在的AS),这提醒我们可能存在BGP攻击。

    我们的调查显示,IP:54.84.236.100 被标记为恶意。

    我们从社区收集了有关 IP:54.84.236.100 的相关信息,并发现该 IP 地址与 2014 年发生的另一起 BGP 攻击事件有关。但是,由于此事件发生的时间已经很久了,因此可能不再具有相关性。

    随后我们根据此次 BGP 攻击留下的记录继续调查:

    跟踪攻击 IP:54.84.236.100 的 BGP 记录显示该路由不再可用。

    我们继续跟踪 celer 的 IP:44.235.216.69 的 BGP 路由器跟踪,并能够找到正确的路由。

    然后我们检查了 BGP 节点变更日志:北京时间:2022 年 8 月 18 日凌晨 2:48 — 2022 年 8 月 18 日上午 7:48 UTC+8

    2022年8月18日,BST凌晨2:48—早上7:48这段时间内发现大量节点增删变更记录。

    我们继续监控 AS 变更日志,发现 AS14618 以前的路由信息​​为 44.235.216.0/24,但后来该路径被改为 Withdrawn,这证明:

    1. AS14618 中的 44.235.216.0/24 曾经是最佳路径

    2. 现在 AS14618 中的 44.235.216.0/24 不再是最佳路径;它已被撤销。

    (当发生BGP攻击时,攻击者会发布一条最优路径,将流量引向自己的服务器)

    为了得到更加准确的数据,我们使用下面的bgplay检查了攻击前后与44.235.216.69相关的路径的变化。

    2022年8月17日,我们可以看到在19:19:23 +UTC 至 23:19:23 +UTC 时间段内,BGP 路由路径信息出现了明显的波动。

    这一变化体现在将来自 44.235.216.0/24 的流量引导至 AS14618,而攻击发生后来自 44.235.216.0/24 的流量则通过 AS16509 出去。

    因此我们认为该事件很可能是一次 BGP 攻击事件,其中 AS14618 似乎是攻击者控制的节点(AS14618 的路由器可能存在安全问题,可能被攻击者利用),攻击持续了大约 4 个小时。

    攻击者之所以能够将证书1(伪造证书)绑定到Celer Network的IP:44.235.216.69,是因为攻击者拥有一个与该IP相同的恶意服务器。由于gogetssl支持http认证,因此攻击者只需将gogetssl提供的文本输入到恶意服务器即可。因此,攻击者可以通过BGP攻击将流量导向与该IP相同的恶意服务器,从而绑定证书1。结果,浏览器被警告证书错误。

    我们确定 AS14618 已受到攻击者控制,原因如下。

    • 攻击者首先将44.235.216.69的流量导向AS14618,攻击结束后再将44.235.216.69路由回AS16509。

    • 攻击IP:54.84.236.100也在AS14618内部。

    • 攻击发生后,AS14618 被撤消至 44.235.216.69。

    回答这个问题:这个 IP 地址 44.235.216.69 长期与 cbridge-prod2.celer.network 关联,这一事实证明它属于 Celer Network 官方服务器。Celer Network 团队也证实了这一点。那么为什么这个 IP 会关联伪造证书呢?

    如果使用HTTPS协议进行通信,则无法在没有获得证书私钥的情况下对数据(包括客户端/服务器通信的数据)进行加解密。因此,为了确保证书正确并能够进行中间人攻击,攻击者需要将在授权机构申请的证书重新绑定到IP地址为44.235.216.69的恶意服务器上。这使攻击者能够解密客户端的数据,并将恶意代码插入响应数据包的数据中。

    分析结论

    我们与 Celer Network 团队合作调查了这次攻击。尽管这是一次针对 Celer Network 的复杂 BGP 攻击尝试,攻击者从攻击时机、证书伪造、AS 控制等操作都做了充分准备。

    最后,我们认识到许多项目已经意识到与 BGP 攻击相关的风险并采取了适当的预防措施。然而,许多人仍然没有意识到,特别是在 AS 更改引起的网络路径修改方面。如果没有充分的准备和响应措施,则存在被相同或其他攻击者进一步攻击的相当大的风险。因此,我们敦促组织、ISP 和服务器托管提供商认识到此类风险并协调防御策略,以防止类似事件再次发生。并且,与往常一样,如果您需要帮助,请联系 SlowMist 安全团队。

    依恋

    cbridge-prod2.celer.network DNS 图表: