主页 > 区块链钱包 > [imtoken官网下载2.0]区块链安全方法(区块链安全手册)

[imtoken官网下载2.0]区块链安全方法(区块链安全手册)

admin 区块链钱包 2023年01月09日

DeFi 安全至少包括如下几部分:

慢雾:区块链黑暗森林自救手册(完整版)

· 人性安全

https://github.com/slowmist/Knowledge-Base/blob/master/mindmaps/evil_blockchain.png

MyEtherWallet 曾经是个很流行的网页钱包,现在也挺知名,不过已经不仅仅是网页钱包了。我前面有说过,网页钱包我非常不建议使用,除了前端安全的各种猫腻之外,还可能出现 HTTPS 劫持的风险。

相比冷钱包,冷钱包有的风险热钱包基本都会有,除此之外,热钱包多了个:助记词(或私钥)被盗风险。此时的热钱包要考虑的安全就多了,比如运行环境的安全,如果运行环境有相关病毒,那么就有被盗风险。还有热钱包如果存在某些漏洞,通过漏洞也可以直接盗走助记词。

区块链是个伟大的发明,它带来了某些生产关系的变革,让「信任」这种宝贵的东西得以部分解决。这已经很难得了,不需要中心化、不需要第三方角色,有些「信任」基于区块链就可以得到很好解决,不可篡改、按约定执行、防止抵赖。但,现实是残酷的,人们对区块链的理解会存在许多误区。这些误区导致了坏人轻易钻了空子,频繁将黑手伸进了人们的钱包,造成了大量的资金损失。这早已是黑暗森林。

· 通信安全

看去美好,但实际上安全设计挑战也是很高的,官方也很努力,,有专门的安全规则及政策说明:

专门强调隔离环境这个安全原则,本质就是要具备零信任安全法则思维。你一定要相信:我们这些人即使再强大,被黑也是迟早的事,无论是被外部人、内部人还是自己。当被黑的时候,止损是第一步。止损能力被许多人忽略了,从而可能因为一次被黑而陆续被黑。究其本质就是因为许多安全设计不存在的,尤其是隔离这种看似粗暴的安全原则。

坏人真的善于借势搞事,尤其是借官方的势。能仿冒就尽量仿冒得很像很像,如上面提过的假客服。还有如 2022.4 出头,Trezor 这款知名的硬件钱包的许多用户就收到来自 trezor.us 的钓鱼邮件,实际上 trezor.us 并不是 Trezor 官方域名。Trezor 官方域名只是 trezor.io。仅仅域名后缀不一样。另外钓鱼邮件里传播了如下域名:

· Brain

· 待签名的内容由 Light App 通过这些方式传输给冷钱包。

· OpenPGP 是一种加密标准,衍生自 PGP。

后来,这个问题,Google 更新了 Authenticator 来全面解决了。

https://rabby.io/

注:用以太坊举例,关于私钥/助记词的基础知识请自行扩展。

https://etherscan.io/tokenapprovalchecker

https://1password.com/zh-cn/security/

发觉出事了,千万冷静,深呼吸三次后,一定要保护好有关现场。有几个经验供参考:

· Encryption

· 如果你的加密货币并不只在一个助记词下面,万一踩坑,你也不会归零重启。

比较正确的解读可以见这:

好,让我们来看看这个反常识真实案例。

签名安全是我特别需要提的,因为签名协议坑很多,已经发生了数起安全事件,尤其围绕 NFT 的。但我注意到其实太多人还是无法很好应对这部分安全问题,究其原因在于很少有人把这部分安全问题讲明白。

提出这个观点的原因是因为:在当下的互联网环境,隐私实际上已经泄露得不行。好在这些年隐私有关的法案越来越普及,大家也越来越重视。一切确实都会往好的方向发展。但在此之前,无论如何,当你掌握了我罗列的这些知识点,你就有能力将你的隐私游刃有余地控制着。在互联网上你如果习惯了,你几乎独立的虚拟身份可能会有好几个。

· SIL Finance,价值 1215 万美金

Governance(0xc0da02939e1441f497fd74f78ce7decb17b66529)

根据「零信任」这个安全法则,当我们在备份钱包时,每个环节都要假设可能会被入侵,哪怕物理环境,如保险箱。别忘了,这个世界除了你自己,并没有其他人是完全可信的,其实有的时候自己也不可信,比如记忆可能会淡忘、错乱等。但我不会把这个世界假设的如此可怕,否则最终还是会把事情搞砸了。

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

好,引子部分就到这。下面我们从一张图开始,进入到这个黑暗森林,看看我们都会遇到哪些风险及我们应该如何应对。

如果冷钱包要发送加密货币,常见的方式有几种:

还没结束,我还想特别提一种风险:反常识风险

区块链基础安全

好,创建钱包的相关安全注意点就先介绍这些,有一些通用性的安全问题会统一在之后介绍,先不着急:)

人性安全

现在你都备份好了。加密不能太过分了,否则多年以后等于「同归于尽」,因为到时候你可能自己都解不开。根据安全法则「持续验证」,无论过不过分的加密及备份方法,一定要做到定期不定期地验证,验证频率得看你的记忆,有时候转头可能就忘记了。验证不代表一定都要完整解开看看,只要整个过程不会错,采用部分验证也是可以的。最后,也需要注意验证过程的机密性及安全性。

Bitwarden 做得更彻底些,是全开源的,包括服务端,任何人都可去验证、审计、贡献。

Cloudflare 其实很好,许多网站或 Web 服务都会使用 Cloudflare 来做 Web 防火墙、对抗 DDoS 攻击、全球 CDN 加速、反向代理等场景,由于有免费版本,所以用户众多,类似 Cloudflare 的,还有 Akamai 等服务。

这个网站是专门罗列相关工具的,已经很全面了。看到了没?它还推荐了加密货币交易平台、钱包等。注意,网站里罗列的工具其实不少我都不怎么用,主要是我有一套自己的方式,你也应该逐步形成你自己的方式,不断对比不断完善。

· Windows 安全分析及取证

私钥即身份,如果私钥丢了或被盗了,那么这个身份也就不是你的了。钱包应用其实很多,知名的也不少,我并不打算也不可能一一介绍。但该手册确实会提到一些具体的钱包,请注意,能被提到的必然是我有基本信任的,但我不担保你在使用过程中可能出现的安全问题或目标钱包可能出现并不在我预期内的安全风险(后文我不会再不断去废话这些,引子里提到的两大安全法则希望你牢记心中)。

如果你想偷懒,还有一种方案是可以考虑的,只是安全性上会打点折扣,我不好衡量具体折扣多少,但有时候有的场景下我也会偷懒,于是我会考虑用知名的工具来做辅助。这个工具就是 1Password。1Password 新版本已经支持直接保存钱包相关内容,如助记词、密码、钱包地址等,这方便用户。其实其他同类型工具(如 Bitwarden)也可以,只是使用起来不像这样方便。

你访问后会有个弹窗,内容是:

· 签名由拥有私钥的冷钱包搞定后再通过这些方式传输回 Light App。

智能合约安全确实是安全审计最重要的切入点,慢雾针对智能合约的安全审计点可以参考:

另外,双因素认证也可以是个广义概念,比如账号、密码登录目标平台时,我们的账号一般是邮箱或手机号。此时邮箱或手机号通过收到验证码的方式来进行第二步认证,那么这也可以认为这是一种双因素认证方式。只是这种方式安全性就没那么好了,比如邮箱被黑了或手机的 SIM 卡被劫持了,再或者发送邮箱、短信的第三方服务被黑了,那么平台发送的验证码也就被一览无余。

备份钱包

这些疑问我都可以忍... 不能忍的是有所谓安全人士拿密码学安全去忽悠大众,什么军级加密、殿堂级加密、宇宙级加密,系统特别特别安全,黑客没辙。

当时我看了下 AOPP 的协议设计,原来支持了 AOPP 的钱包可能泄露用户隐私:监管机构会有能力知道一个被监管的交易平台和一个不知道的外部钱包之间的关联。参考:

Device,各种设备吧,电子设备是常用的一种,电脑、iPad、iPhone、移动硬盘、U 盘等都可以拿来做备份,看个人喜好。然后设备间的安全传输,让我比较有安全感的是:隔空投送 (AirDrop)、USB 等这类点对点且挺难出现中间人劫持情况的方式。只是我天然对电子设备不放心的一点是多年后可能就坏了,所以会保持每年至少一次的检查习惯。有一些重复做法(如加密)参考 Cloud 小点里的说法就行。

· 局面控制后阶段。局面稳住后,重点要琢磨的是如何不会出现二次、三次伤害。

误区

人性是这样,但凡有空子可以被钻,收益可观时,一定一堆坏人来钻。

· NFT 安全

木马会将用户的 MetaMask 替换为一个有后门的 MetaMask,一个有后门的 MetaMask 就意味着你在其中使用的加密货币就不是你的了。即使你配套硬件钱包,这个有后门的 MetaMask 也会通过篡改目标地址、金额的方式来实施盗币。

这确实是一份很有吸引力的文档... 但这份文档打开后电脑就可能被植入木马(一般通过 Office 宏脚本方式或 0day/1day),这类木马一般都会包括如下常规功能:

https://suite.trzor.com

安全上有个残酷现实,是这样的:当已经出现风险时,就别给用户选择,一旦给了,总会有用户无论出于何种原因会掉坑里。其实这里项目方是需要肩负起相关责任的,比如这个 HTTPS 劫持,其实已经有很好的安全解决方案,项目方的开发人员只需配置好 HSTS 即可。HSTS 全称 HTTP Strict Transport Security,是浏览器支持的一个 Web 安全策略,如果开启了这个配置,浏览器发现 HTTPS 证书错误后就会强制不让用户继续访问。明白什么意思了吧?

· 重视系统安全更新,有安全更新就立即行动。

链上可以直接看到 Timelock 的时间锁(delay 参数)是 48 小时(172800 秒):

· 一种是哈希校验,比如 MD5、SHA256 等,MD5 绝大多数情况下够用,但存在被哈希碰撞的极小风险,所以业内一般选择 SHA256,够用且够安全。

https://gitlab.com/aopp/address-ownership-proof-protocol

为什么会出现这种情况,最最本质的原因还是在于签名并不存在浏览器同源策略的约束,你可以简单理解为:同源策略可以确保一个行为只在明确的域名下发生,不会跨域发生,除非项目方故意要跨域的发生。如果签名有同源策略,那么非目标域名产生的请求签名,即使用户签名完成了,黑客也没法将这个签名用于目标域名下的攻击。这里就不继续展开说了,协议级别的安全改进,我有注意到新草案,我希望这种情况能尽快得到改善。

好,上面这几点得到的信息可以全部结合起来参考,互相佐证,最终真相只有一个:) 恭喜你,找到了正确的官网。

这里需要特别注意,任何安全策略,都可能出现「皇帝的新衣」问题,表面做得好,实际上却不是,呈现出了一种虚假安全感。再举个例子,Timelock 这玩意,看去似乎挺好,实际上出现过有的项目方部署的 Timelock 是有后门的情况。用户一般也不会直接去看 Timelock 源码,而且也不一定看得懂,于是放了个后门在那,一时半会还真不一定有人留意到。

Metadata 指的主要就是图片、动图等内容,关于 Metadata 的具体标准建议可以参考 OpenSea 出的:

追踪溯源

· 结合知名 Cloud(或有人提的 Web2)让 MPC 不仅安全且体验更顺滑。

话虽至此,其实业内这样做的项目方并不多,所以一旦遇到,真是难能可贵,弥足珍惜,比如一款比特币钱包 Sparrow Wallet,下载页面的「Verifying the Release」简直良心了,提到的两种方式都有清晰指南,可以直接参考学习:

人性安全部分就先到这,不继续展开了,你举一反三。

· Custody,即托管方式。比如中心化交易所、钱包,用户只需注册账号,并不拥有私钥,安全完全依托于这些中心化平台。

这几种都需要专门的应用(这里称之:Light App)搭配冷钱包使用,这个 Light App 是联网的,包括前面提到的观察钱包。我们只需明白其中本质原理就会明白这些方式了。本质是:最终只需想办法把签名后的内容广播上链。我大概解析下过程:

这种域名看去很像的钓鱼就可以让许多人上当,更别提更高级的攻击方式,比如一些官方邮箱被控制,还有一种用户邮箱 SPF 配置问题导致的邮件伪造攻击。在用户眼里看到的邮件来源就是一模一样的官方特征。

· 巨鲸攻击,所谓的钞能力。

几乎方方面面,本手册涵盖的安全点也是方方面面,但几乎都只是引入门罢了。

还有 VeraCrypt 这种磁盘加密神器,曾经是 TrueCrypt,非常传奇,非常强大。如果你感兴趣可以了解并适应下:

· 如果你的密码安全习惯可以,当你其中一个账号被黑时,同样的密码就不会危及到其他账号。

签名安全有关的一些内容在「Cold Wallet」部分有提到,印象不深的建议回顾下,这里重点讲讲不一样的内容。

这个页面提到的 GPG 工具有两个:

那种广撒网的钓鱼攻击,其实手法就一般了,无非就是准备了一批域名相近的钓鱼网站,Twitter 等社交平台买号散播,热点及技巧拿捏得好,中招也是不少的。这种钓鱼没什么特别,一般就是粗暴的让用户的钱包授权相关 Token(包括 NFT),然后盗走。

高级攻击方式其实真很多,大多在大众视角下无非就是:我被钓鱼了。但这钓鱼可真高级了,比如:

· SIM 卡

还有一些高级攻击,如结合 XSS、CSRF、Reverse Proxy 等技巧来让整个攻击更加丝滑顺畅。没法都展开聊,这里可以专门说其中一个非常细节的利用点(Cloudflare 中间人攻击),属于 Reverse Proxy(反向代理)有关的场景,这个利用点已经发生过真实的盗币攻击,且非常的隐蔽。

接着记住下载的安全原则,前面有提。不乱下程序其实已经杜绝了绝大多数风险了。

这点很关键,我们遇到不少情况是:当我们介入做分析时,现场已经乱七八糟了,甚至关键证据(如日志、病毒文件)都出现被清理干净的情况。没有保存良好的案发现场,会对后续的分析与追踪溯源产生极大的干扰。

· 一个是图片(或动图)所在的 URI 是不可信的,比如随便的中心化服务,一方面不稳定,另一方面项目方随便改图片都行,那么 NFT 的数字藏品能力也就没了。一般都会用 IPFS、Arweave 这些去中心化存储,并且用知名的 URI 网关服务。

邮箱方面,必然是选择巨头的,如 Gmail、Outlook、QQ 邮箱等。正好我曾经的安全研究方向有这部分,对你来说,这些邮箱安全性足矣。但无论何时你都一定要小心邮箱里发生的钓鱼攻击。并不是每封邮件都需要搭理,尤其是邮件里给的链接、附件文件,病毒木马可能就藏匿在其中。

· 双因素认证

默认情况下,这样的交互是不会导致助记词被盗的,除非钱包安全设计本身有问题。从我们的安全审计及安全研究历史数据来看,存在钱包助记词被目标页面恶意 JavaScript 直接盗取的风险。但这个情况比较罕见,因为这实际上属于极其低级的错误,知名钱包都不大可能会犯这种错误。

· GPG Suite,macOS 下运行的。

在 isBlackListed 输入目标钱包地址即可判断。USDT 所在的其他链大体同理(别较真)。

本文网络收集整理,不构成任何投资建议。转载请注明出处:https://www.lvsezhalan.org.cn/imqkl/178.html