编者按:LUNA、3AC、FTX此前的加密巨人都相继倒下,与之相关的参与各方都损失惨重。无数案例都在告诉我们:Web3存在黑暗森林,始终有人会作恶。此时的我们,等不到监管的明确,更不能指望陌生人的善意,唯一可行的办法是提升自身认知,进行自救。本文为旧文重发,是慢雾创始人余弦编撰的《区块链黑暗森林自救手册》导读部分。
前言
区块链是个伟大的发明,它带来了某些生产关系的变革,让「信任」这种宝贵的东西得以部分解决。但,现实是残酷的,人们对区块链的理解会存在许多误区。这些误区导致了坏人轻易钻了空子,频繁将黑手伸进了人们的钱包,造成了大量的资金损失。这早已是黑暗森林。
基于此,慢雾科技创始人余弦倾力输出——区块链黑暗森林自救手册。
本手册大概3万7千字,由于篇幅限制,这里仅罗列手册中的关键目录结构,也算是一种导读。我们选择GitHub平台作为本手册的首要发布位置是因为:方便协同及看到历史更新记录。你可以Watch、Fork及Star,当然我们更希望你能参与贡献。
好,导读开始...
引子
如果你持有加密货币或对这个世界有兴趣,未来可能会持有加密货币,那么这本手册值得你反复阅读并谨慎实践。本手册的阅读需要一定的知识背景,希望初学者不必恐惧这些知识壁垒,因为其中大量是可以“玩”出来的。
在区块链黑暗森林世界里,首先牢记下面这两大安全法则:
慢雾:跨链互操作协议Nomad桥攻击事件简析:金色财经消息,据慢雾区消息,跨链互操作协议Nomad桥遭受黑客攻击,导致资金被非预期的取出。慢雾安全团队分析如下:
1. 在Nomad的Replica合约中,用户可以通过send函数发起跨链交易,并在目标链上通过process函数进行执行。在进行process操作时会通过acceptableRoot检查用户提交的消息必须属于是可接受的根,其会在prove中被设置。因此用户必须提交有效的消息才可进行操作。
2. 项目方在进行Replica合约部署初始化时,先将可信根设置为0,随后又通过update函数对可信根设置为正常非0数据。Replica合约中会通过confirmAt映射保存可信根开始生效的时间以便在acceptableRoot中检查消息根是否有效。但在update新根时却并未将旧的根的confirmAt设置为0,这将导致虽然合约中可信根改变了但旧的根仍然在生效状态。
3. 因此攻击者可以直接构造任意消息,由于未经过prove因此此消息映射返回的根是0,而项目方由于在初始化时将0设置为可信根且其并未随着可信根的修改而失效,导致了攻击者任意构造的消息可以正常执行,从而窃取Nomad桥的资产。
综上,本次攻击是由于Nomad桥Replica合约在初始化时可信根被设置为0x0,且在进行可信根修改时并未将旧根失效,导致了攻击可以构造任意消息对桥进行资金窃取。[2022/8/2 2:52:59]
零信任:简单来说就是保持怀疑,而且是始终保持怀疑。
慢雾发布Value DeFi协议闪电贷攻击简要分析:据慢雾区消息,Value DeFi遭遇闪电贷攻击的分析如下:
1.攻击者先从Aave中借出8万个ETH;
2.攻击者使用8万个ETH在Uniswap WETH/DAI池中用闪电贷借出大量DAI和在Uniswap WETH/DAI兑换大量USDT;
3.用户调用ValueMultiVaultBank合约的deposit合约使用第2步中小部分DAI进行充值,该合约中一共有3种资产,分别是3CRV、bCRV、和cCRV。该合约在铸币时会将bCRV, cCRV转换成以3CRV进行计价,转换完成后,Value Defi合约根据总的3CRV价值和攻击者充值的DAI数量计算mVUSD铸币的数量;
4.攻击者在Curve DAI/USDC/USDT池先使用第二步中剩余的大部分DAI和USDT兑换USDC,拉高USDC/3CRV的价格;
5.攻击者发起3CRV提现,这时会先将合约中的bCRV, cCRV转换成以3CRV计价,由于USDC/3CRV价格已被拉高,导致bCRV, cCRV能换算成更多的3CRV;
6.攻击者使用3CRV换回DAI,并在Uniswap中兑换回ETH,然后归还Aave的闪电贷 。
总结:由于 Value Defi 合约在铸币过程中将合约资产转换成 3CRV 时依赖 Curve DAI/USDC/USDT 池 中 USDC/3CRV的价格,导致攻击者可以通过操控 Curve DAI/USDC/USDT 池 中 USDC/3CRV 的价格来操控 mVUSD/3CRV 的价值,从而获利。[2020/11/15 20:52:09]
持续验证:你要相信,你就必须有能力去验证你怀疑的点,并把这种能力养成习惯。
慢雾余弦:多数稳定币都有拉黑地址操作,未来或看到更多黑地址:金色财经报道,慢雾科技创始人余弦刚刚发微博称,不少人惊讶USDT、USDC有拉黑地址的操作,其实GUSD、PAX、TUSD等知名稳定币都有。智能合约代码就在那,设计文档就在那,都能看到可以满足AML(反)/CTF(反恐融资) 的设计,从诞生起就有的设计。未来可以看到更多黑地址的出现。AML/CTF如果精准,那绝对是好事,当然如果误伤,那就麻烦了。 ????[2020/7/11]
关键内容
一、创建钱包
Download
1.找到正确的官网
a.Google
b.行业知名收录,如CoinMarketCap
c.多问一些比较信任的人
2.下载安装应用
a.PC钱包:建议做下是否篡改的校验工作
b.浏览器扩展钱包:注意目标扩展下载页面里的用户数及评分情况
c.移动端钱包:判断方式类似扩展钱包
d.硬件钱包:从官网源头的引导下购买,留意是否存在被异动手脚的情况
e.网页钱包:不建议使用这种在线的钱包
MnemonicPhrase
声音 | 慢雾预警:攻击者喊话所有链上伪随机数(PRNG)都可被攻击:攻击者 floatingsnow 向自己的子账号 norealrandom、dolastattack 转账并在 memo 中喊话:hi slowmist/peckshield: not only timer-mix random but all in-chain PRNG can be attack, i suggest b1 export new apis (get_current_blockid/get_blockhash_by_id) instead of prefix/num
从账号名称和 memo 可知攻击者对目前 EOS DApp 链上随机数方案了如指掌,攻击者指出 tapos_block_prefix/tapos_block_num 均不安全,并提议 b1 新增 get_current_blockid / get_blockhash_by_id 接口。[2019/1/16]
创建钱包时,助记词的出现是非常敏感的,请留意你身边没有人、摄像头等一切可以导致偷窥发生的情况。同时留意下助记词是不是足够随机出现
Keyless
1.Keyless两大场景
a.Custody,即托管方式。比如中心化交易所、钱包,用户只需注册账号,并不拥有私钥,安全完全依托于这些中心化平台
b.Non-Custodial,即非托管方式。用户唯一掌握类似私钥的权力,但却不是直接的加密货币私钥
动态 | 慢雾区表示Augur重大漏洞是一个典型的前端黑攻击:据慢雾区消息,此前报道的去中心化预测市场平台 Augur 被曝发现重大漏洞问题是一个典型的前端黑攻击。这种攻击依赖一些条件,比如攻击者需要准备好一个页面链接(不是 Augur 链接),并无论通过什么手法能让安装了 Augur 的用户访问到,然后用户需要重启 Augur 应用,这样才能形成后续的攻击。由于此时 Augur 应用里配置的 Augur 节点地址被替换了,后续的攻击本质就是一种 MITM(中间人)攻击,理论上确实可以做很多恶事。慢雾安全团队特此提醒:这是前端黑攻击里的跨私有域攻击的一种常见手法,其他项目方也应该注意。[2018/8/8]
2.MPC为主的Keyless方案的优缺点
二、备份钱包
助记词/私钥类型
1.明文:12个英文单词为主
2.带密码:助记词带上密码后会得到不一样的种子,这个种子就是之后拿来派生出一系列私钥、公钥及对应地址
3.多签:可以理解为目标资金需要多个人签名授权才可以使用,多签很灵活,可以设置审批策略
4.Shamir'sSecretSharing:Shamir秘密共享方案,作用就是将种子分割为多个分片,恢复钱包时,需要使用指定数量的分片才能恢复
Encryption
1.多处备份
a.Cloud:Google/Apple/微软,结合GPG/1Password等
b.Paper:将助记词抄写在纸卡片上
c.Device:电脑/iPad/iPhone/移动硬盘/U盘等
d.Brain:注意脑记风险
2.加密
a.一定要做到定期不定期地验证
b.采用部分验证也可以
c.注意验证过程的机密性及安全性
三、使用钱包
AML
1.链上冻结
2.选择口碑好的平台、个人等作为你的交易对手
ColdWallet
1.冷钱包使用方法
a.接收加密货币:配合观察钱包,如imToken、TrustWallet等
b.发送加密货币:QRCode/USB/Bluetooth
2.冷钱包风险点
a.所见即所签这种用户交互安全机制缺失
b.用户的有关知识背景缺失
HotWallet
1.与DApp交互
2.恶意代码或后门作恶方式
a.钱包运行时,恶意代码将相关助记词直接打包上传到黑客控制的服务端里
b.钱包运行时,当用户发起转账,在钱包后台偷偷替换目标地址及金额等信息,此时用户很难察觉
c.破坏助记词生成有关的随机数熵值,让这些助记词比较容易被破解
DeFi安全到底是什么
1.智能合约安全
a.权限过大:增加时间锁/将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.取消授权
a.TokenApprovals
b.Revoke.cash
c.APPROVED.zone
d.Rabby扩展钱包
4.反常识真实案例
一些高级攻击方式
1.针对性钓鱼
2.广撒网钓鱼
3.结合XSS、CSRF、ReverseProxy等技巧
四、传统隐私保护
操作系统
1.重视系统安全更新,有安全更新就立即行动
2.不乱下程序
3.设置好磁盘加密保护
手机
1.重视系统的安全更新及下载
2.不要越狱、Root破解,除非你玩安全研究,否则没必要
3.不要从非官方市场下载App
4.官方的云同步使用的前提:账号安全方面你确信没问题
网络
1.网络方面,尽量选择安全的,比如不乱连陌生Wi-Fi
2.选择口碑好的路由器、运营商,切勿贪图小便宜,并祈祷路由器、运营商层面不会有高级作恶行为出现
浏览器
1.及时更新
2.扩展如无必要就不安装
3.浏览器可以多个共存
4.使用隐私保护的知名扩展
密码管理器
1.别忘记你的主密码
2.确保你的邮箱安全
3.1Password/Bitwarden等
双因素认证
GoogleAuthenticator/MicrosoftAuthenticator等
科学上网
科学上网、安全上网
邮箱
1.安全且知名:Gmail/Outlook/QQ邮箱等
2.隐私性:ProtonMail/Tutanota
SIM卡
1.SIM卡攻击
2.防御建议
a.启用知名的2FA工具
b.设置PIN码
GPG
1.区分
a.PGP是PrettyGoodPrivacy的缩写,是商用加密软件,发布30多年了,现在在赛门铁克麾下
b.OpenPGP是一种加密标准,衍生自PGP
c.GPG,全称GnuPG,基于OpenPGP标准的开源加密软件
隔离环境
1.具备零信任安全法则思维
2.良好的隔离习惯
3.隐私不是拿来保护的,隐私是拿来控制的
五、人性安全
Telegram
Discord
来自“官方”的钓鱼
Web3隐私问题
六、区块链作恶方式
盗币、恶意挖矿、勒索病、暗网交易、木马的C2中转、、资金盘、等
SlowMistHacked区块链被黑档案库
七、被盗了怎么办
止损第一
保护好现场
分析原因
追踪溯源
结案
八、误区
CodeIsLaw
NotYourKeys,NotYourCoins
InBlockchainWeTrust
密码学安全就是安全
被黑很丢人
立即更新
总结
当你阅读完本手册后,一定需要实践起来、熟练起来、举一反三。如果之后你有自己的发现或经验,希望你也能贡献出来。如果你觉得敏感,可以适当脱敏,匿名也行。其次,致谢安全与隐私有关的立法与执法在全球范围内的成熟;各代当之无愧的密码学家、工程师、正义黑客及一切参与创造让这个世界更好的人们的努力,其中一位是中本聪。最后,感谢贡献者们,这个列表会持续更新,有任何的想法,希望你联系我们。
转自慢雾科技
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。