Nbzs

 · about 1 month ago

区块链个人安全黑手册——冷钱包(持续更新)

目录
冷钱包有好⼏种使⽤⽅法,对于钱包本身来说是不联⽹的,那么就可以认为这是个冷钱包。那么不联⽹如何使⽤?⾸先,如果仅仅是接收加密货币,问题不⼤,配合个观察钱包体验就已经挺不错了,⽐如 imToken、OneKey、Trust 
Wallet 等都可以直接添加钱包地址,成为⽬标钱包地址对应冷钱包的观察钱包。如果冷钱包要发送加密货币,常⻅的⽅式有⼏种:
QRCode
USB
Bluetooth
这⼏种都需要专⻔的应⽤(这⾥称之:Light App)搭配冷钱包使⽤,这个 Light App 是联⽹的,包括前⾯提到的观察钱包。我们只需明⽩其中本质原理就会明⽩这些⽅式了。本质是:最终只需想办法把签名后的内容⼴播上链。我⼤概解析下过程:
待签名的内容由 Light App 通过这些⽅式传输给冷钱包。
签名由拥有私钥的冷钱包搞定后再通过这些⽅式传输回 Light App。
Light App 将签名后的内容⼴播上链。
所以这⾥⽆论是⼆维码(QRCode)、USB、还是蓝⽛(Bluetooth)等⽅式,⽤途就是如上所说。当然不同的⽅式会有不同的细节,⽐如⼆维码信息容量是有限的,遇到签名数据很⼤的时候就得拆分。

这样使⽤似乎麻烦了点,不过习惯了就好,甚⾄满满安全感。但,千万别把安全感加满,因为这⾥还是有⻛险的,已经许多案例是因为这些⻛险⽽导致损失惨重。⻛险点如:

转币的⽬标地址没严格检查,导致币转给了其他⼈。⼈都是有惯性或惰性的,⽐如很多时候检查⼀个钱包地址主要就看开头、结尾⼏位是不是正确的,⽽没有⼏乎完整检查。于是坏⼈就激动了,专⻔⽤程序来跑出头尾⼏位⼀样的地址,然后通过⼀些⼿法把你的转币⽬标地址给替换为他控制的地址。授权相关币种给了未知地址,通常来说授权是以太坊系列智能合约代币的机制,就是那个 approve 函数,⼀个参数是授权给⽬标地址,另⼀个参数是数量。许多⼈不了解这个机制,于是就可能把⽆限数量的代币授权给⽬标地址,此时⽬标地址就有权限把这些代币转⾛了。这就是所谓的授权盗币,⼿法还有其他变种,这⾥就先不扩展了。 

⼀些看去不重要的签名,实际上藏着巨⼤的陷阱,这点也先不展开,之后会有解析。
冷钱包可能并没给你⾜够的必要信息展示,导致你⼤意了、误判了。
这⼀切都可以归结为两点:
所⻅即所签这种⽤户交互安全机制缺失。 

Zailushang · 大约1个月

学习了