原文作者:余弦,慢雾科技创始人
DNSHijacking(劫持)大家应该都耳濡目染了,历史上MyEtherWallet、PancakeSwap、SpiritSwap、KLAYswap、ConvexFinance等等以及今天的CurveFinance,十来个知名加密货币项目都遭遇过。但很多人可能不一定知道其劫持的根本原因,更重要的是如何防御,我这里做个简单分享。
DNS可以让我们访问目标域名时找到对应的IP:
Domain->IP_REAL
如果这种指向关系被攻击者替换了:
Domain->IP_BAD(攻击者控制)
某鲸鱼地址4小时前以51万枚USDC购买3338亿枚PEPE:7月21日消息,据Spot on Chain监测,0x31f开头鲸鱼地址在约4小时前以0.0000001528美元的均价将51万枚USDC兑换为3338亿枚PEPE。该巨鲸在这个周期中赚了2.2万美元;目前持有4.1万亿枚PEPE(616万美元);在上一次PEPE交易中损失了74万美元;从0x9e0开头地址收到USDC,曾经通过交易PEPE获得1453万美元。[2023/7/21 15:50:31]
那这个IP_BAD所在服务器响应的内容,攻击者就可以任意伪造了。最终对于用户来说,在浏览器里目标域名下的任何内容都可能有问题。
非托管流动性质押平台ether.fi已上线主网第一阶段,主要涉及委托质押:5月4日消息,非托管流动性质押平台ether.fi已上线主网第一阶段,主要涉及委托质押,此外将在不久后推出忠诚度积分会员计划,以便早期采用者计划(EAP)参与者可以迁移他们的ETH。目前ether.fi的智能合约审核即将完成,将很快发布,同时ether.fi还将通过NexusMutual将罚没保险纳入协议。[2023/5/4 14:41:33]
DNS劫持其实分为好几种可能性,比如常见的有两大类:
域名控制台被黑,攻击者可以任意修改其中的DNSA记录(把IP指向攻击者控制的IP_BAD),或者直接修改Nameservers为攻击者控制的DNS服务器;
印度央行启动数字卢比非接触式支付测试:金色财经报道,印度央行——印度储备银行已和零售商开始测试数字卢比非接触式支付,Reliance Retail是第一家参与该试点的商家,在印度银行ICICI和Kotak Mahindra的支持下,让测试客户群体在其 Freshpik 美食店使用数字卢比进行二维码支付,此举也是印度储备银行零售央行数字货币 (CBDC)试点项目的一部分。印度去年开始测试其 CBDC 的批发和零售版本,但该国银行对批发版本的 CBDC 评价不那么热情,因为每笔数字卢比交易都需要单独结算,而使用现有银行间支付系统的交易可以批量处理。(TechCrunch)[2023/2/8 11:54:16]
在网络上做粗暴的中间人劫持,强制把目标域名指向IP_BAD。
最近活跃5年以上的BTC供应百分比达到历史新高:金色财经报道,Glassnode数据显示,最近活跃5年以上的BTC供应百分比刚刚达到 24.750%的历史新高。[2022/9/15 6:58:38]
第1点的劫持可以做到静默劫持,也就是用户浏览器那端不会有任何安全提示,因为此时HTTPS证书,攻击者是可以签发另一个合法的。
第2点的劫持,在域名采用HTTPS的情况下就没法静默劫持了,会出现HTTPS证书错误提示,但用户可以强制继续访问,除非目标域名配置了HSTS安全机制。
重点强调下:如果现在有Crypto/Web3项目的域名没有强制HTTPS(意思是还存在HTTP可以访问的情况),及HTTPS没有强制开启HSTS(HTTPStrictTransportSecurity),那么对于第2点这种劫持场景是有很大风险的。大家擦亮眼睛,一定要警惕。
对于项目方来说,除了对自己的域名HTTPSHSTS配置完备之外,可以常规做如下安全检查:
检查域名相关DNS记录(A及NS)是否正常;
检查域名在浏览器里的证书显示是否是自己配置的;
检查域名管理的相关平台是否开启了双因素认证;
检查Web服务请求日志及相关日志是否正常。
对于用户来说,防御要点好几条,我一一讲解下。
对于关键域名,坚决不以HTTP形式访问,比如:
http://examplecom
而应该始终HTTPS形式:
https://examplecom
如果HTTPS形式,浏览器有HTTPS证书报错,那么坚决不继续。这一点可以对抗非静默的DNS劫持攻击。
对于静默劫持的情况,不管是DNS劫持、还是项目方服务器被黑、内部作恶、项目前端代码被供应链攻击投等,其实站在用户角度来看,最终的体现都一样。浏览器侧不会有任何异常,直到有用户的资产被盗才可能发现。
那么这种情况下用户如何防御呢?
用户除了保持每一步操作的警惕外。
我推荐一个在Web2时代就非常知名的浏览器安全扩展:@noscript(推特虽然很久很久没更新,不过惊喜发现官网更新了,扩展也更新了),是@ma1的作品。
NoScript默认拦截植入的JavaScript文件。
但是NoScript有一点的上手习惯门槛,有时候可能会很烦,我的建议是对于重要的域名访问可以在安装了NoScript的浏览器(比如Firefox)上进行,其他的尽管在另一个浏览器(如Chrome)上进行。
隔离操作是一个很好的安全习惯。许多你可能觉得繁琐的,驾驭后、习惯后,那么一切都还好。
但是这并不能做到完美防御,比如这次@CurveFinance的攻击,攻击者更改了其DNSA记录,指向一个IP_BAD,然后污染了前端页面的:
https://curvefi/js/app.ca2e5d81.js
植入了盗币有关的恶意代码。
如果我们之前NoScript信任了Curve,那么这次也可能中招。
可能有人会说了要不要多安装一些浏览器安全扩展,我的看法之前已经提过:
这个话题我暂时先介绍到这,目的是尽可能把其中要点进行安全科普。至于其他一些姿势,后面有机会我再展开。
2022年8月8日,据美国财政部的海外资产控制办公室(TheOfficeofForeignAssetsControloftheUSDepartmentoftheTreasury.
1900/1/1 0:00:00活动时间:8月11日00:00—8月16日24:00报名方式:填写表单https://gleam.io/rlB9v/-提交UID即视为报名成功活动期间,新用户注册BVAPP可领88U赠金奖励.
1900/1/1 0:00:00尊敬的欧易用户:为了防范市场风险,给用户提供良好的交易体验,欧易将定期对流动性差的合约进行下线处理.
1900/1/1 0:00:00親愛的用戶:幣安全倉槓桿新增AUCTION、PUNDIX資產,逐倉槓桿新增PUNDIX/BUSD交易對.
1900/1/1 0:00:00随着世界的变化,加密新闻和周期也在跟随变化:CPI发布Tether赞扬以太坊向PoS的过渡全球比特币ATM的数量接近40,000通胀降温劳工发布了最新的消费者价格指数(CPI)更新.
1900/1/1 0:00:00尊敬的XT.COM用戶:應項目方要求,XT.COM將於2022年8月12日14:00恢復SNACK提現。給您帶來的不便,請您諒解!感謝您對XT.COM的支持與信任.
1900/1/1 0:00:00