编者按:LUNA、3AC、FTX此前的加密巨人都相继倒下,与之相关的参与各方都损失惨重。无数案例都在告诉我们:Web3存在黑暗森林,始终有人会作恶。此时的我们,等不到监管的明确,更不能指望陌生人的善意,唯一可行的办法是提升自身认知,进行自救。本文为旧文重发,是慢雾创始人余弦编撰的《区块链黑暗森林自救手册》导读部分。
区块链是个伟大的发明,它带来了某些生产关系的变革,让「信任」这种宝贵的东西得以部分解决。但,现实是残酷的,人们对区块链的理解会存在许多误区。这些误区导致了坏人轻易钻了空子,频繁将黑手伸进了人们的钱包,造成了大量的资金损失。这早已是黑暗森林。
基于此,慢雾科技创始人余弦倾力输出——区块链黑暗森林自救手册。
本手册(当前 V1 Beta)大概 3 万 7 千字,由于篇幅限制,这里仅罗列手册中的关键目录结构,也算是一种导读。完整内容可见:
https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook
我们选择 GitHub 平台作为本手册的首要发布位置是因为:方便协同及看到历史更新记录。你可以 Watch、Fork 及 Star,当然我们更希望你能参与贡献。
好,导读开始...
如果你持有加密货币或对这个世界有兴趣,未来可能会持有加密货币,那么这本手册值得你反复阅读并谨慎实践。本手册的阅读需要一定的知识背景,希望初学者不必恐惧这些知识壁垒,因为其中大量是可以“玩”出来的。
在区块链黑暗森林世界里,首先牢记下面这两大安全法则:
慢雾:警惕高危Apache Log4j2远程代码执行漏洞:据慢雾安全情报,在12月9日晚间出现了Apache Log4j2 远程代码执行漏洞攻击代码。该漏洞利用无需特殊配置,经多方验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。Apache Log4j2是一款流行的Java日志框架,建议广大交易所、钱包、DeFi项目方抓紧自查是否受漏洞影响,并尽快升级新版本。[2021/12/10 7:30:00]
零信任:简单来说就是保持怀疑,而且是始终保持怀疑。
持续验证:你要相信,你就必须有能力去验证你怀疑的点,并把这种能力养成习惯。
关键内容
一、创建钱包
Download
1.找到正确的官网
a. Google
b. 行业知名收录,如 CoinMarketCap
c. 多问一些比较信任的人
2.下载安装应用
a.PC 钱包:建议做下是否篡改的校验工作(文件一致性校验)
b. 浏览器扩展钱包:注意目标扩展下载页面里的用户数及评分情况
c. 移动端钱包:判断方式类似扩展钱包
d. 硬件钱包:从官网源头的引导下购买,留意是否存在被异动手脚的情况
慢雾:Avalanche链上Zabu Finance被黑简析:据慢雾区情报,9月12日,Avalanche上Zabu Finance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家参考:
1.攻击者首先创建两个攻击合约,随后通过攻击合约1在Pangolin将WAVAX兑换成SPORE代币,并将获得的SPORE代币抵押至ZABUFarm合约中,为后续获取ZABU代币奖励做准备。
2.攻击者通过攻击合约2从Pangolin闪电贷借出SPORE代币,随后开始不断的使用SPORE代币在ZABUFarm合约中进行`抵押/提现`操作。由于SPORE代币在转账过程中需要收取一定的手续费(SPORE合约收取),而ZABUFarm合约实际接收到的SPORE代币数量是小于攻击者传入的抵押数量的。分析中我们注意到ZABUFarm合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但ZABUFarm合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时ZABUFarm合约实际接收到的SPORE代币数量小于攻击者在提现时ZABUFarm合约转出给攻击者的代币数量。
3.攻击者正是利用了ZABUFarm合约与SPORE代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将ZABUFarm合约中的SPORE资金消耗至一个极低的数值。而ZABUFarm合约的抵押奖励正是通过累积的区块奖励除合约中抵押的SPORE代币总量参与计算的,因此当ZABUFarm合约中的SPORE代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。
4.攻击者通过先前已在ZABUFarm中有进行抵押的攻击合约1获取了大量的ZABU代币奖励,随后便对ZABU代币进行了抛售。
此次攻击是由于ZabuFinance的抵押模型与SPORE代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。[2021/9/12 23:19:21]
e. 网页钱包:不建议使用这种在线的钱包
动态 | 慢雾发布有关IOTA用户Trinity钱包被盗币攻击的推测:IOTA 因为近期不少用户的 Trinity 钱包被盗币攻击,为了阻止攻击继续、调查与修复具体原因,主网协调器都暂停运行了。这是一个被低估的经典攻击,官方没披露具体攻击细节,但通过慢雾的分析,可以做出某些重要推测,首先可以明确的几个点:1. 不是 IOTA 区块链协议的问题,是 IOTA 的 Trinity 桌面钱包的问题(官方说的,且先相信)2. 这款桌面钱包基于 Electron(一个使用 JavaScript 为核心构建桌面应用的框架),意味着核心代码是 JavaScript 写的3. 在做该做钱包新旧版本代码的 diff 分析时,发现去除了之前内置的一个交易所功能模块 MoonPay,这其中关键点是去掉了一段可怕的代码:const script = document.createElement('script');
script.src = 'https://cdn.moonpay.io/moonpay-sdk.js';
document.write(script.outerHTML);如果这个第三方 JavaScript 链接主动或被黑作恶,那该桌面版钱包就可以认为是完全沦陷了。到这,慢雾很有理由相信这是个很大的定时炸弹,如果这个定时炸弹是真的炸了,那很吻合官方的一些说辞与解释,如:尽快升级新版本的 Trinity 桌面钱包,尽快改密码,尽快转移资产到安全种子里等等。且看官方的后续披露。[2020/2/19]
Mnemonic Phrase
创建钱包时,助记词的出现是非常敏感的,请留意你身边没有人、摄像头等一切可以导致偷窥发生的情况。同时留意下助记词是不是足够随机出现
声音 | 慢雾科技余弦:数字货币暴跌是资产重新分配的好时候:今日慢雾科技联合创始人余弦对数字货币暴跌发表看法:数字货币暴跌也确实是个好事,一来可以洗掉一批不干实事的人;二来又是一次资产重新分配的好时候。[2018/11/24]
Keyless
1. Keyless 两大场景(此处区分是为了方便讲解)
a.Custody,即托管方式。比如中心化交易所、钱包,用户只需注册账号,并不拥有私钥,安全完全依托于这些中心化平台
b. Non-Custodial,即非托管方式。用户唯一掌握类似私钥的权力,但却不是直接的加密货币私钥(或助记词)
2.MPC 为主的 Keyless 方案的优缺点
二、备份钱包
助记词/私钥类型
1. 明文:12 个英文单词为主
2. 带密码:助记词带上密码后会得到不一样的种子,这个种子就是之后拿来派生出一系列私钥、公钥及对应地址
3. 多签:可以理解为目标资金需要多个人签名授权才可以使用,多签很灵活,可以设置审批策略
4. Shamir's Secret Sharing:Shamir 秘密共享方案,作用就是将种子分割为多个分片,恢复钱包时,需要使用指定数量的分片才能恢复
Encryption
1. 多处备份
a. Cloud:Google/Apple/微软,结合 GPG/1Password 等
b. Paper:将助记词(明文、SSS 等形式的)抄写在纸卡片上
动态 | 慢雾区预警: ETH 存在恶意消耗 Gas 攻击:根据慢雾区情报,慢雾安全团队在 Twitter 上关注到以太坊漏洞问题,通过深入分析发现:如果用户在交易所提币或者通过钱包转账的时候,若没有设置 GasLimit 上限,当接收地址为合约地址的话将会导致恶意 Gas 消耗,慢雾安全团队第一时间通知了服务的交易所和钱包用户并提供了情报和解决方案:
(1)用户提币的时候判断是否是合约地址,如果是合约地址则不允许提币。
(2)转账的时候设置 GasLimit 上限,此处上限需要根据交易所实际业务场景设置如:6 万? - 10 万(推荐值 ETH: 90000 token: 150000)
投资有风险,入市须谨慎。
本资讯不作为投资理财建议。[2018/11/14]
c. Device:电脑/iPad/iPhone/移动硬盘/U 盘等
d. Brain:注意脑记风险(记忆/意外)
2.加密
a.一定要做到定期不定期地验证
b.采用部分验证也可以
c. 注意验证过程的机密性及安全性
三、使用钱包
AML
1. 链上冻结
2.选择口碑好的平台、个人等作为你的交易对手
Cold Wallet
1.冷钱包使用方法
a. 接收加密货币:配合观察钱包,如 imToken、Trust Wallet 等
b. 发送加密货币:QRCode/USB/Bluetooth
2. 冷钱包风险点
a. 所见即所签这种用户交互安全机制缺失
b.用户的有关知识背景缺失
HotWallet
1. 与DApp(DeFi、NFT、GameFi 等)交互
2.恶意代码或后门作恶方式
a. 钱包运行时,恶意代码将相关助记词直接打包上传到黑客控制的服务端里
b. 钱包运行时,当用户发起转账,在钱包后台偷偷替换目标地址及金额等信息,此时用户很难察觉
c. 破坏助记词生成有关的随机数熵值,让这些助记词比较容易被破解
DeFi 安全到底是什么
1. 智能合约安全
a. 权限过大:增加时间锁(Timelock)/将 admin 多签等
b.逐步学会阅读安全审计报告
2. 区块链基础安全:共识账本安全/虚拟机安全等
3. 前端安全
a. 内部作恶:前端页面里的目标智能合约地址被替换/植入授权钓鱼脚本
b. 第三方作恶:供应链作恶/前端页面引入的第三方远程 JavaScript 文件作恶或被黑
4. 通信安全
a.HTTPS 安全
b. 举例:MyEtherWallet 安全事件
c. 安全解决方案:HSTS
5. 人性安全:如项目方内部作恶
6. 金融安全:币价、年化收益等
7. 合规安全
a. AML/KYC/制裁地区限制/证券风险有关的内容等
b.AOPP
NFT 安全
1.Metadata安全
2. 签名安全
小心签名/反常识签名
1.所见即所签
2.OpenSea数起知名 NFT 被盗事件
a. 用户在 OpenSea 授权了 NFT(挂单)
b. 黑客钓鱼拿到用户的相关签名
3.取消授权(approve)
a.Token Approvals
b.Revoke.cash
c.APPROVED.zone
d.Rabby 扩展钱包
4.反常识真实案例
一些高级攻击方式
1. 针对性钓鱼
2. 广撒网钓鱼
3.结合 XSS、CSRF、Reverse Proxy 等技巧(如 Cloudflare 中间人攻击)
四、传统隐私保护
操作系统
1. 重视系统安全更新,有安全更新就立即行动
2.不乱下程序
3.设置好磁盘加密保护
手机
1.重视系统的安全更新及下载
2.不要越狱、Root 破解,除非你玩安全研究,否则没必要
3.不要从非官方市场下载 App
4. 官方的云同步使用的前提:账号安全方面你确信没问题
网络
1. 网络方面,尽量选择安全的,比如不乱连陌生 Wi-Fi
2. 选择口碑好的路由器、运营商,切勿贪图小便宜,并祈祷路由器、运营商层面不会有高级作恶行为出现
1.及时更新
2.扩展如无必要就不安装
3.浏览器可以多个共存
4. 使用隐私保护的知名扩展
密码管理器
1.别忘记你的主密码
2.确保你的邮箱安全
3.1Password/Bitwarden 等
双因素认证
Google Authenticator/Microsoft Authenticator 等
科学上网
科学上网、安全上网
1. 安全且知名:Gmail/Outlook/QQ 邮箱等
2. 隐私性:ProtonMail/Tutanota
SIM 卡
1.SIM 卡攻击
2.防御建议
a. 启用知名的 2FA 工具
b.设置 PIN 码
1. 区分
a. PGP 是 Pretty Good Privacy 的缩写,是商用加密软件,发布 30多年了,现在在赛门铁克麾下
b. OpenPGP 是一种加密标准,衍生自 PGP
c. GPG,全称 GnuPG,基于 OpenPGP 标准的开源加密软件
隔离环境
1.具备零信任安全法则思维
2.良好的隔离习惯
3.隐私不是拿来保护的,隐私是拿来控制的
五、人性安全
Telegram
Discord
来自“官方”的钓鱼
Web3 隐私问题
六、区块链作恶方式
盗币、恶意挖矿、勒索病、暗网交易、木马的 C2 中转、、资金盘、等
SlowMist Hacked 区块链被黑档案库
七、被盗了怎么办
止损第一
保护好现场
分析原因
追踪溯源
结案
八、误区
Code Is Law
Not Your Keys, Not Your Coins
In Blockchain We Trust
密码学安全就是安全
被黑很丢人
立即更新
当你阅读完本手册后,一定需要实践起来、熟练起来、举一反三。如果之后你有自己的发现或经验,希望你也能贡献出来。如果你觉得敏感,可以适当脱敏,匿名也行。其次,致谢安全与隐私有关的立法与执法在全球范围内的成熟;各代当之无愧的密码学家、工程师、正义黑客及一切参与创造让这个世界更好的人们的努力,其中一位是中本聪。最后,感谢贡献者们,这个列表会持续更新,有任何的想法,希望你联系我们。
慢雾科技
个人专栏
阅读更多
金色早8点
比推 Bitpush News
Foresight News
PANews
Delphi Digital
区块链骑士
深潮TechFlow
链捕手
区块律动BlockBeats
DeFi之道
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。