区块链黑暗森林自救手册

掌握这些,掌握你的加密货币安全

作者:余弦@慢雾

https://darkhandbook.io/CN-Blockchain-dark-forest-selfguard-handbook-V1.1.pdf

https://github.com/evilcos/darkhandbook

如何拥有一个安全的Windows系统, 可以参考我之前写的文章: 传送门

有一段精准预测了Ledger硬件钱包被黑事件所利用的供应链漏洞, 🐂

...
前端安全里我最在意的点是:我怎么知道我在这个前端页面里的交互对象就是我以为的智能合约?造成这种不安全感主要是因为以下这两种风险:
· 内部作恶
· 第三方作恶
...
第三方作恶,主要指的是两种:
· 一种是供应链作恶,比如前端依赖的第三方模块被植入了后门,随着打包发布一起被直接带入目标前端页面了。如 SushiSwap(仅仅举例子,并不代表截图里的项目有发生这个问题):
...

摘要

  1. 安全这东西,无知者无畏、知者敬畏,许多点是细思恐极的。所以对于存有重要资产的钱包,我的安全原则也简单:不做轻易更新,够用就好。

  2. 这绝对是个经典案例,黑客为了盗币,动用了 BGP 劫持,真是杀鸡用了牛刀。之后也出现过几起类似的案例,这里就不提了。这里对于用户来说实际上只需要注意一点,当你真的要用网页钱包或玩相关 DApp 时,一定要注意:当目标页面出现 HTTPS 错误证书提醒时,就立即停止继续访问、关闭页面,那么你什么事都不会有。

  3. 小心反常识签名!

    还没结束,我还想特别提一种风险:反常识风险。
    
    什么是反常识,比如你已经特别熟悉以太坊了,各种 DeFi、NFT 玩得小白们直呼你大佬。此时你去玩 Solana,同样也遇到了各种钓鱼网站,你可不畏惧,轻蔑一笑:“这些在以太坊系列生态里都麻了,我怎么可能上当?” 不好意思,黑客笑了,你确实上当了。因为出现了个反常识流程,人都是有惯性或惰性,这导致你大意了,没有闪。好,让我们来看看这个反常识真实案例。
    2022.3.5,一个安全预警:Solana 上的授权钓鱼残忍多了,攻击者批量给用户空投NFT(图1) ,用户通过空投 NFT 描述内容里的链接(www_officialsolanarares_net)进入目标网站,连接钱包(图 2),点击页面上的“Mint”,出现批准提示框(图 3)。注意,此时的批准提示框并没有什么特别提示,当批准后,该钱包里的所有 SOL 都会被转走。
    
    该恶意合约的功能最终就是发起“SOL Transfer”,将用户的 SOL 几乎全部转走。从链上信息来看,该钓鱼行为已经持续了几天,中招者在不断增加。
    这里面有两个坑,需要注意的:
    1. 恶意合约在用户批准(Approve)后,可以转走用户的原生资产(这里是SOL),这点在以太坊上是不可能的,以太坊的授权钓鱼钓不走以太坊的原生资产(ETH),但可以钓走其上的Token。于是这里就存在“常识违背”现象,导致用户容易掉以轻心。
    2. Solana 最知名的钱包 Phantom 在“所见即所签”安全机制上存在缺陷(其他钱包没测试),没有给用户完备的风险提醒。这非常容易造成安全盲区,导致用户丢币。
    
  4. 一些高级攻击方式

    高级攻击方式其实真很多,大多在大众视角下无非就是:我被钓鱼了。但这钓鱼可真高级了,比如:
    https://twitter.com/Arthur_0x/status/1506167899437686784
    黑客通过邮件发送钓鱼,邮件里附带的文档是:A Huge Risk of Stablecoin(Protected).docx
    这确实是一份很有吸引力的文档...但这份文档打开后电脑就可能被植入木马(一般通过Office 宏脚本方式或 0day/1day)
    除此之外,针对加密货币行业的木马还会进行特别利用定制,如采集知名钱包、交易所的敏感信息,以实施盗币。上面提到的木马,根据专业的分析可以发现存在针对MetaMask 的特别攻击:
    https://securelist.com/the-bluenoroff-cryptocurrency-hunt-is-still-on/105488/
    木 马 会 将 用 户 的 MetaMask 替 换 为 一 个 有 后 门 的 MetaMask ,一个有后门的MetaMask 就意味着你在其中使用的加密货币就不是你的了。即使你配套硬件钱包,这个有后门的 MetaMask 也会通过篡改目标地址、金额的方式来实施盗币。
    这种攻击方式是专门针对财富外露的知名人士。我注意到的现象是,有些知名人士过于傲慢,被黑也就是迟早的事了。一般被黑后,许多人会从教训中痛定思痛、全面复盘、全面改进,并与信得过的专业安全人士或机构保持长期的合作及友谊。但,这个世界永远存在例外,有的人或项目方被黑一次,还会有第二、第三次。如果说是天将降大任于斯人也,每次被黑都真的是遇到了对手,那么此人或项目方,我会非常尊重,并称之为先驱,而且大概率之后也能发展起来。可惜的是,许多被黑是因为低级问题,而且可以举一反三的,这就真不可理解了。这种人或项目方建议远离。
    
  5. 1Password密码管理器

    我曾验证过我提到的工具(如 1Password)的安全性,并一直在留意其出现过的安全事件、口碑、动态等,我并无法确保这些工具拥有绝对高度的安全性,尤其无法确保未来它们不会出现什么黑天鹅事件。
    有一点我是很欣赏的,比如 1Password 的安全页面有关介绍和说明:
    https://1password.com/zh-cn/security/
    其中包括安全设计理念、隐私及安全的相关权威认证、安全设计白皮书、安全审计报告等内容。这些内容的透明公开也是方便业内进行必要的验证。这点是非常值得项目方们学习的。
    Bitwarden 做得更彻底些,是全开源的,包括服务端,任何人都可去验证、审计、贡献。
    你意识到了没?
    1Password、Bitwarden 这样做的意图很明确:
    我很安全很在意隐私,不仅是我自己说,第三方权威也说了,你们也可以来验证,甚至为了方便你们验证,我花费了巨大精力把能透明出来的内容都透明了。如果我说的没做到,你很容易来挑战我。
    这叫什么?
    这叫安全自信:)