慢雾余弦:Curve Finance 遭遇 DNS 劫持,如何防范相关风险?

DNS Hijacking ( 劫持 ) 大家应该都耳濡目染了,历史上 MyEtherWallet、PancakeSwap、SpiritSwap、KLAYswap、Convex Finance 等等以及今天的 CurveFinance,十来个知名加密货币项目都遭遇过。但很多人可能不一定知道其劫持的根本原因,更重要的是如何防御(项目方角度及用户角度),我这里做个简单分享。

DNS Hijacking ( 劫持 ) 大家应该都耳濡目染了,历史上 MyEtherWallet、PancakeSwap、SpiritSwap、KLAYswap、Convex Finance 等等以及今天的 CurveFinance,十来个知名加密货币项目都遭遇过。但很多人可能不一定知道其劫持的根本原因,更重要的是如何防御(项目方角度及用户角度),我这里做个简单分享。

DNS 可以让我们访问目标域名时找到对应的 IP:

Domain -> IP_REAL

如果这种指向关系被攻击者替换了:

Domain -> IP_BAD( 攻击者控制 )

那这个 IP_BAD 所在服务器响应的内容,攻击者就可以任意伪造了。最终对于用户来说,在浏览器里目标域名下的任何内容都可能有问题。

DNS 劫持其实分为好几种可能性,比如常见的有两大类:

  • 域名控制台被黑,攻击者可以任意修改其中的 DNS A 记录 ( 把 IP 指向攻击者控制的 IP_BAD),或者直接修改 Nameservers 为攻击者控制的 DNS 服务器;
  • 在网络上做粗暴的中间人劫持,强制把目标域名指向 IP_BAD。

第 1 点的劫持可以做到静默劫持,也就是用户浏览器那端不会有任何安全提示,因为此时 HTTPS 证书,攻击者是可以签发另一个合法的。

第 2 点的劫持,在域名采用 HTTPS 的情况下就没法静默劫持了,会出现 HTTPS 证书错误提示,但用户可以强制继续访问,除非目标域名配置了 HSTS 安全机制。

重点强调下:如果现在有 Crypto/Web3 项目的域名没有强制 HTTPS( 意思是还存在 HTTP 可以访问的情况 ),及 HTTPS 没有强制开启 HSTS(HTTP Strict Transport Security),那么对于第 2 点这种劫持场景是有很大风险的。大家擦亮眼睛,一定要警惕。

对于项目方来说,除了对自己的域名 HTTPS + HSTS 配置完备之外,可以常规做如下安全检查:

1.检查域名相关 DNS 记录 (A 及 NS) 是否正常;

2.检查域名在浏览器里的证书显示是否是自己配置的;

3.检查域名管理的相关平台是否开启了双因素认证;

4.检查 Web 服务请求日志及相关日志是否正常。

对于用户来说,防御要点好几条,我一一讲解下。

对于关键域名,坚决不以 HTTP 形式访问,比如:

http://example[.]com

而应该始终 HTTPS 形式:

https://example[.]com

如果 HTTPS 形式,浏览器有 HTTPS 证书报错,那么坚决不继续。这一点可以对抗非静默的 DNS 劫持攻击。

对于静默劫持的情况,不管是 DNS 劫持、还是项目方服务器被黑、内部作恶、项目前端代码被供应链攻击投毒等,其实站在用户角度来看,最终的体现都一样。浏览器侧不会有任何异常,直到有用户的资产被盗才可能发现。

那么这种情况下用户如何防御呢?

用户除了保持每一步操作的警惕(尤其是钱包要签名要确认的那一刻)外。

我推荐一个在 Web2 时代就非常知名的浏览器安全扩展:@noscript ( 推特虽然很久很久没更新,不过惊喜发现官网更新了,扩展也更新了 ),是 @ma1 的作品。

NoScript 默认拦截植入的 JavaScript 文件。

慢雾余弦:Curve Finance 遭遇 DNS 劫持,如何防范相关风险?

但是 NoScript 有一点的上手习惯门槛,有时候可能会很烦,我的建议是对于重要的域名访问可以在安装了 NoScript 的浏览器 ( 比如 Firefox) 上进行,其他的尽管在另一个浏览器 ( 如 Chrome) 上进行。

隔离操作是一个很好的安全习惯。许多你可能觉得繁琐的,驾驭后、习惯后,那么一切都还好。

但是这并不能做到完美防御(从来就没有完美防御),比如这次 @CurveFinance 的攻击,攻击者更改了其 DNS A 记录,指向一个 IP_BAD,然后污染了前端页面的:

https://curve[.]fi/js/app.ca2e5d81.js

植入了盗币有关的恶意代码。

如果我们之前 NoScript 信任了 Curve,那么这次也可能中招。

可能有人会说了要不要多安装一些浏览器安全扩展,我的看法之前已经提过(这里补充 NoScript,你用的前提最终一定来自你自己的独立研究,DYOR):

慢雾余弦:Curve Finance 遭遇 DNS 劫持,如何防范相关风险?

这个话题我暂时先介绍到这,目的是尽可能把其中要点进行安全科普。至于其他一些姿势,后面有机会我再展开。

(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)

(0)
上一篇 2022年8月11日 下午1:25
下一篇 2022年8月11日 下午1:51

相关推荐

  • 后大萧条时代,2023年加密市场有哪些看点?

    2022 年也是新一波区块链技术的黎明,比如去中心化交易所、零知识证明、Layer2 和隐私公链,都在这一年开始加速发展。它们预示着区块链技术在 2023 年将有着更大的潜力。同时,新的公链生态和以太坊用例开始涌现,这将使更多的商家和消费者能够接触到加密货币,进而促进加密货币的发展。

    2023年1月13日
    513
  • 币圈、硅谷银行爆了雷,但这不只是币圈和硅谷的问题

    隔夜美国银行股崩盘,有两个「雷」不得不提。一是加密货币银行 Silvergate 宣布停止营业,二是规模比 Silvergate 大得多的硅谷银行(SVB)宣布出售所有 210 亿美元的可销售证券。

    2023年3月10日
    683
  • 对比分析Polygon四大ZK解决方案:有何特点及优势?

    Hermez 是以太坊主网上第一个去中心化的 ZK Rollup,早在 2021 年 3 月就开始提供支付服务。Polygon Hermez 基于 ZK-SNARK 架构,旨在通过使用零知识证明来解决以太坊区块链的可扩展性问题,以便在以太坊网络上实现更快、更便宜的交易。由于 EVM 不是为了生成 ZK 证明 (ZKP) 而创建的,因此 Polygon Hermez 主要通过重新创建所有 EVM 操作代码来构建 zkEVM。

    2023年5月31日
    481

发表回复

登录后才能评论
微信

联系我们
邮箱:whylweb3@163.com
微信:gaoshuang613