详解DNS劫持,如何防范相关风险?_TPS:steep币怎么获得

原文作者:余弦,慢雾科技创始人

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

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

Domain->IP_REAL

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

Domain->IP_BAD(攻击者控制)

金色晨讯 | 9月3日隔夜重要动态一览:21:00-7:00关键词:美国、Deribit、SushiSwap、火币

1. 美国参议院银行委员会主席询问OCC计划制定的加密规则;

2. Deribit以太坊期权未平仓合约创历史新高;

3. SushiSwap创始人:持有的2700万美元SUSHI代币将用于开发;

4. 以太坊矿工平均交易费收入升至每小时80万美元;

5. SUN创世挖矿已正式上线,总锁仓超过16亿TRX;

6. 报告:硬件钱包漏洞使攻击者无需接触设备即可勒索加密货币;

7. 华尔街金融分析师:巴菲特将很快转向比特币;

8. 美国SEC指控多层营销公司Mindset 24并获取加密货币;

9. 火币将提供5000万USDT开启 “锁仓HT参与DeFi流动性挖矿”。[2020/9/3]

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

金色晨讯 | 5月15日隔夜重要动态一览:21:00-7:00关键词:北京市市长、Visa、区块链应用、CME

1.北京市市长:围绕区块链等重点领域加快应用场景建设。

2.支付巨头Visa已提交数字法币专利申请。

3.政协委员连玉明:运用区块链等重塑城市治理体系。

4.西城区利用区块链形成困难家庭帮扶救助模型。

5.长沙经开区提出“新三位一体”,包括区块链技术。

6.CME比特币期货5月合约收涨4.9%。

7.以太坊2.0项目负责人:如果以太坊2.0是单客户端 主网已经上线。

8.韩国移动运营商SK与三星合作推出带有区块链ID钱包的智能手机。

9.比特币夜间小幅震荡,日内最高报9877美元,最低报9578美元。[2020/5/15]

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

金色晨讯 | 当前加密市值1347亿美元 名人收费宣传ICO涉嫌:1.俄罗斯加密货币行业协会成立帮助中心 帮助受投资者

2.诺贝尔经济学家:除非得到政府支持 比特币不能成为真正的货币

3.当前加密货币市值为1347亿美元

4.截止2018年目前BTC名义交易已达到2.2万亿美元 较去年上涨61%

5.陈伟星:比特币是解决现代金融体系问题最为可能的价值度量货币

6.GEC虚拟币项目存在嫌疑 当地民警提醒群众保持警惕

7.SEC:社交名人收费为ICO做宣传 或将涉嫌欺诈罪

8.摩根大通前高管:比特币不会消亡,它正在慢慢成为数字黄金

9.委内瑞拉捐赠者使用价值约260万美元的BTC善款帮助500名贫困儿童[2018/12/3]

域名控制台被黑,攻击者可以任意修改其中的DNSA记录(把IP指向攻击者控制的IP_BAD),或者直接修改Nameservers为攻击者控制的DNS服务器;

在网络上做粗暴的中间人劫持,强制把目标域名指向IP_BAD。

第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,那么这次也可能中招。

可能有人会说了要不要多安装一些浏览器安全扩展,我的看法之前已经提过:

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

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

金宝趣谈

[0:15ms0-4:715ms