实体书:《区块链安全入门与实战》

零时科技 在 2021-03-23 发布
所需学分: 300
作品数量: 剩余: 0

9e9b05a368850436.jpg

编辑推荐

适读人群 : 区块链相关应用的开发人员  对区块链有兴趣的安全测试人员  对区块链和安全有兴趣的学生

1.本书由一线技术团队倾力打造,多位信息安全专家联袂推荐。

2.全面系统地总结了区块链领域相关的安全问题,包括整套安全防御措施与案例分析。

区块链技术已经开始改变我们的社会,区块链产业的影响不断扩大。但是最近几年,区块链相关的攻击事件和安全问题频发,大家都渐渐明白了,安全是保障区块链领域稳定发展的根本。本书从大量区块链安全案例分析出发,总结了区块链产业链中的整套安全体系建设,可谓面面俱到,非常实用,为区块链行业技术人员提供了安全开发指南。

本书主要内容包括:

l 数字货币交易平台面临的各种攻击面,以及如何设计一个交易平台渗透测试流程。

l 以太坊智能合约的常见安全漏洞,以及漏洞修复方式和安全建议。

l 公链的EOS智能合约工作原理,对EOS的攻击事件以及安全缺陷的修复方式。

l 数字货币钱包的基本概念及存在的安全缺陷,以及针对这些缺陷的安全审计方案。

l 公链自身的安全,包括共识安全、源码安全、RPC接口安全和P2P的网络安全链等。

l 矿机和矿池的安全问题,以及漏洞预防措施。

l 区块链DeFi面临的安全挑战和针对性的防御措施。

本书项目地址:https://github.com/BlockchainSecBook

内容简介

本书介绍区块链安全问题与防御方法,结合具体实战案例,帮助读者迅速上手区块链安全测试,增强网络安全意识,掌握在实际开发过程中如何安全地开发区块链相关应用。

本书主要内容共9章:

第1章介绍区块链生态系统;

第2章介绍交易平台的安全,包括数字货币交易平台各方面的安全问题;

第3章介绍智能合约的安全,对以太坊智能合约存在的常见安全漏洞进行全面、系统的分析;

第4章介绍EOS智能合约的安全问题,分析针对EOS的攻击事件以及安全缺陷的修复方式;第5章对数字货币的钱包进行分析并揭示其中的安全问题;

第6章介绍公链自身的安全,包括共识安全、源码安全、RPC接口安全和P2P的网络安全链等;

第7章介绍矿机与矿池的安全问题;

第8章介绍区块链DeFi安全;

第9章给出区块链安全分析案例。

最后的附录列出了数字货币交易平台安全的速查表,方便读者在实践中自查。

作者简介

刘林炫( Hyun )

零时科技安全团队负责人,CAS大中华区区块链安全小组专家,曾就职于绿盟科技,为多个国家重点项目提供支持,包括进行大型网络攻防演练,参与过多项行业安全编码标准以及区块链服务安全标准的撰写。在传统网络安全、工控安全和区块链安全方面都有丰富的实战经验,特别是在公链安全、联盟链安全、矿机矿池安全等方面,都有过深入研究。

邓永凯( xfkxfk )

零时科技创始人及CEO,具有十余年网络安全攻防经验的资深网络安全专家,国内顶*安全白帽子,CSA大中华区区块链安全小组专家,AML技术与安全组领军人物。在渗透测试、漏洞挖掘、代码审计、安全开发等方向均有丰富的实战经验,目前专注于区块链安全方向,多次担任国内网络安全大会演讲嘉宾,曾任网络安全攻防电子杂志《安全参考》《书安》总编辑。

万钧( WeaponX )

零时科技技术负责人,网络安全高级讲师。专注于研究二进制安全与区块链安全,曾独立挖掘过多个IoT设备和常用软件的漏洞,并获得CVE与厂商致谢。有丰富的网络安全攻防经验,参加过多个大型网络攻防演练。在区块链安全领域,对公链、智能合约、虚拟机安全等方面有深入研究。

张继龙( LS )

零时科技安全团队核心成员,在渗透测试、漏洞挖掘、区块链安全、智能合约安全等方面具有丰富的攻防实战经验,审计过数百份智能合约,对智能合约的安全开发、安全审计、反编译、逆向分析等都有着丰富的经验。

精彩书评

区块链技术已无形地渗透到互联网的基础领域,区块链应用的安全也显得尤为重要。

这本书从合约到钱包,再到矿池的维度,覆盖了区块链的各个应用场景,并引用真实的线上案例来分析,是不可多得的区块链安全权威书籍,感谢四叶草安全和零时科技对这个行业所做的巨大贡献 !

—陈振国,发明者量化 CEO

这个时代,每天都会有新事物产生,一个新的名词,一项新的技术,甚至一个全新的产业。每当有新事物出现时,大多数人会忙不迭地蜂拥而至,了解一下概念,对其有一个大致的认知,之后便将其转成茶余饭后的浅浅谈资,聊聊也就罢了。但也总有人在匆匆涌来又退去的人群里逆向而行,他们会耐着性子把问题的本质看透,远离浮躁,到更深处寻找答案。

据我所知,这本书是国内少有的系统归纳和总结区块链及其安全问题的书籍,从区块链的诞生、演化入手,全面汇总了区块链中相关安全问题的发生与发展,同时在应用层面,在重要的章节之后都附上了精准、生动的案例分析,最大限度地帮助读者更加具象而深刻地理解书中的内容。在这本书里,我看到了理论与应用在现实场景中的紧密交织,更让我欣喜的是看到了当下年轻人对技术的专注与热爱。

这本书让我对区块链,尤其是区块链中的安全问题和应用实战有了全新的思考,相信不论你是初入链圈的初学者还是对区块链已经有了一定研究的老玩家,这本书都将是你深入研究区块链安全的重要参考资料,也将给你带来全新的收获!

—王英键(呆神),XCon创始人、未来安全CEO

区块链是一项伟大的发明,除了用于之前的数字货币、智能合约等场景外,还在不断拓展新的应用场景。但近几年,关于区块链与区块链应用的安全事故有很多,邓永凯与安全圈的一群小伙伴是区块链安全领域的探索者,在区块链安全测试方面有大量实践经验。本书全面地介绍了区块链与区块链应用安全的知识,并结合案例分析给出测试列表,是难得的区块链安全学习材料。

—谭晓生,北京赛博英杰科技有限公司创始人,正奇学院创办人,

360集团前技术总裁、首席安全官

科技日渐发达,区块链的出现对人类来说无疑是应景的,之前还从来没有看到过像这本书一样全面的区块链安全书籍,书里有大量的实际案例和事件分析,比较适合从业者阅读。希望通过本书能让更多的人来保卫区块链产业安全,一起对抗黑客,守卫我们的产业。

—杜均,火币联合创始人

我自己也有2年的区块链领域创业经历,对区块链与网络安全都有比较深入的了解。最近几年,与区块链相关的攻击事件和安全问题频发,大家都渐渐明白了,安全是保障区块链领域稳定发展的根本要求。

本书内容非常全面,涉及区块链交易平台安全、智能合约安全、钱包安全、公链及算法安全、矿池安全等区块链产业链中的整套安全体系的建设与案例分析,可谓面面俱到,不可多得,可作为区块链行业从业人员的安全指南。

—lion,红客联盟(HUC)创始人

区块链已经开始改变社会,人们对区块链和智能合约安全也有了深入的了解,业内对待区块链安全的态度也从最初的盲信变成了今天的如履薄冰。随着区块链产业影响面不断扩大,保障区块链安全也越来越重要。这本书涉及了区块链安全的方方面面,将理论与实战相结合,是非常好的学习和参考资料。希望在这本书的帮助下,区块链从业者能一起打造更加安全的区块链生态。

—韦韬,蚂蚁集团副总裁

目录

对本书的赞誉

前言

第1章 区块链简介 1

1.1 区块链的诞生与演化 1

1.2 区块链的分类 2

1.3 区块链的生态 3

1.3.1 比特币 3

1.3.2 以太坊 4

1.3.3 联盟链 7

1.3.4 智能合约 8

1.4 本章小结 8

第2章 交易平台的安全 9

2.1 数字货币交易平台及安全 9

2.2 信息收集 11

2.2.1 测试列表 11

2.2.2 案例分析 12

2.2.3 安全建议 17

2.3 社会工程 18

2.3.1 测试列表 18

2.3.2 案例分析 19

2.3.3 安全建议 21

2.4 业务逻辑 22

2.4.1 测试列表 22

2.4.2 案例分析 23

2.4.3 安全建议 29

2.5 输入输出 29

2.5.1 测试列表 30

2.5.2 案例分析 30

2.5.3 安全建议 36

2.6 安全配置 36

2.6.1 测试列表 37

2.6.2 案例分析 37

2.6.3 安全建议 41

2.7 信息泄露 41

2.7.1 测试列表 41

2.7.2 案例分析 42

2.7.3 安全建议 48

2.8 接口安全 48

2.8.1 测试列表 48

2.8.2 案例分析 49

2.8.3 安全建议 52

2.9 用户认证安全 52

2.9.1 测试列表 52

2.9.2 案例分析 53

2.9.3 安全建议 55

2.10 App安全 56

2.10.1 测试列表 56

2.10.2 案例分析 57

2.10.3 安全建议 67

2.11 本章小结 68

第3章 智能合约的安全 69

3.1 以太坊智能合约的安全问题 69

3.2 整数溢出漏洞 70

3.3 重入漏洞 84

3.4 假充值漏洞 92

3.5 短地址漏洞 96

3.6 tx.orgin身份认证漏洞 100

3.7 默认可见性 103

3.8 代码执行漏洞 109

3.9 条件竞争漏洞 118

3.10 未验证返回值漏洞 121

3.11 浮点数及精度安全漏洞 124

3.12 拒绝服务漏洞 126

3.13 不安全的随机数 133

3.14 错误的构造函数 139

3.15 时间戳依赖漏洞 145

3.16 意外的Ether漏洞 147

3.17 未初始化指针漏洞 150

3.18 本章小结 155

第4章 EOS智能合约的安全 156

4.1 EOS简介 156

4.1.1 共识机制 157

4.1.2 智能合约 157

4.2 EOS智能合约的漏洞及预防方法 157

4.2.1 转账通知伪造 157

4.2.2 内联交易回滚 163

4.2.3 黑名单交易回滚 165

4.2.4 弱随机数 167

4.2.5 整型溢出 178

4.2.6 hard_fail状态 181

4.3 本章小结 183

第5章 钱包的安全 184

5.1 数字货币钱包简介 184

5.1.1 软件钱包 185

5.1.2 硬件钱包 186

5.1.3 纸质钱包 187

5.1.4 钱包的安全问题 187

5.2 软件钱包的安全审计 188

5.2.1 App客户端安全 188

5.2.2 服务端安全 194

5.2.3 钱包节点安全 195

5.2.4 第三方钱包安全 198

5.2.5 会话与认证安全 201

5.2.6 业务逻辑安全 205

5.2.7 传输安全 206

5.3 硬件钱包的安全审计 208

5.3.1 软件攻击 208

5.3.2 供应链攻击 208

5.3.3 边信道攻击 209

5.3.4 设备数据存储安全 211

5.4 本章小结 211

第6章 公链的安全 212

6.1 比特币的基本概念和相关技术 212

6.1.1 比特币钱包 212

6.1.2 私钥和公钥 213

6.1.3 传统银行的交易过程 214

6.1.4 比特币的交易过程 214

6.1.5 如何防止重复支付 219

6.1.6 区块 220

6.2 联盟链 221

6.3 共识机制的安全 223

6.3.1 PoW共识机制及安全问题 223

6.3.2 PoS共识机制及安全问题 231

6.3.3 DPoS共识机制及安全问题 233

6.3.4 PBFT共识机制及安全问题 234

6.4 静态源码安全 236

6.4.1 比特币的校验机制—默克尔树 236

6.4.2 比特币DoS漏洞分析一 238

6.4.3 比特币任意盗币漏洞分析 239

6.4.4 比特币DoS漏洞分析二 246

6.4.5 小结 247

6.5 RPC安全 248

6.5.1 以太坊中RPC接口的调用 249

6.5.2 keystore 252

6.5.3 以太坊的交易流程 254

6.5.4 RPC存在的安全问题 257

6.5.5 小结 260

6.6 P2P安全 261

6.6.1 比特币中的P2P协议 261

6.6.2 P2P存在的安全问题 264

6.6.3 小结 270

6.7 本章小结 271

第7章 矿机与矿池的安全 272

7.1 矿机安全 272

7.1.1 矿机分类 272

7.1.2 矿机相关的安全问题 274

7.2 矿池安全 281

7.2.1 矿池分类 281

7.2.2 矿池相关的安全问题 283

7.2.3 小结 292

7.3 本章小结 293

第8章 区块链DeFi安全 294

8.1 简介 294

8.1.1 DeFi与传统金融的区别 295

8.1.2 区块链DeFi的组成 296

8.1.3 DeFi的未来发展 300

8.2 区块链DeFi安全问题及应对方案 301

8.2.1 DeFi安全问题 301

8.2.2 DeFi安全事件案例分析 303

8.2.3 DeFi安全防御 319

8.3 本章小结 320

第9章 区块链安全案例分析 321

9.1 数字货币交易平台的渗透测试 321

9.1.1 Web平台测试 321

9.1.2 钓鱼网站搭建 322

9.1.3 文件上传 324

9.2 智能合约实战环境搭建 325

9.2.1 JavaScript VM 326

9.2.2 Injected Web3 327

9.2.3 Web3 Provider 332

9.3 以太坊智能合约整数溢出漏洞实战 335

附录A 区块链安全大事件纪年表 344

附录B 数字货币交易平台安全速查表 347

前言/序言

2019年伊始,笔者在公众号“零时科技”中开始发表一系列区块链相关的安全文章。其中“交易所安全审计”系列文章在发表后反响不错,这在很大程度上归功于这种以实际渗透测试项目为基础,模块化成不同的测试方向,提炼出通用漏洞点,并辅以案例进行说明的形式。目前市面上的安全类书籍多是以漏洞类型为基础,对不同类型的漏洞进行分析利用,但鲜有此种形式,加之区块链又是近些年来的新兴技术,人们对该领域的安全问题关注度较低,又由于数字货币具有金融属性,其造成的影响广泛而深远。于是,本书的几位作者一拍即合,决定写一本全面介绍区块链安全的书。相信本书会提供一种系统而全面的视角,在漫无边际的区块链安全世界中,给读者提供指南。

本书作为一本“指南”,旨在用简单明了的行文讲清楚区块链的安全问题,将一些复杂的理论和攻击手法简要概括出来。

阅读本书,最好了解一门编程语言,例如C、Python、Go,因为这些语言的语法与Solidity相近,对学习智能合约大有裨益。

本书主要适合以下人员阅读:

区块链相关应用的开发人员

对区块链有兴趣的安全测试人员

对区块链和安全有兴趣的学生

本书的主要内容如下:

第1章对区块链的诞生、演化、分类以及区块链生态中的比特币(Bitcoin,BTC)、以太坊、智能合约和联盟链进行介绍。

第2章介绍对数字货币交易平台的安全问题进行模块化后,如何进行全面、细致的分析,包括渗透测试的步骤,如信息收集、社会工程等,还介绍了各种攻击面,如业务逻辑、输入输出、安全配置、信息泄露、接口方面、用户认证安全、App安全等。

第3章对Solidity编写的以太坊智能合约的常见安全漏洞进行全面、系统的分析,通过案例介绍相关漏洞形成的原理和实际危害,并学习相应的修复方式。

第4章介绍公链的EOS、EOS智能合约的原理和安全问题,并详细分析针对EOS的攻击事件及这些安全缺陷的修复方式。

第5章介绍数字货币钱包的工作原理,并对其存在的安全问题进行深入剖析。

第6章介绍公链自身的安全,包括共识安全、源码安全、RPC接口安全和P2P网络安全。

第7章介绍矿机与矿池的常见类型,并针对其安全问题进行详细分析,包括攻击利用手法、防御修复措施等。

第8章对区块链DeFi进行详细介绍,针对已发生的经典DeFi安全事件进行详细分析并提出修复策略。

第9章介绍数字货币交易平台和智能合约的实战案例。

附录A为区块链安全大事件纪年表,记录了自2012年至本书出版前区块链生态发生的安全大事件。

附录B为数字货币交易平台安全速查表,对平台安全审计点进行了总结,以便广大安全从业者和开发人员查阅并迅速定位安全问题。

由于区块链是一种新兴的技术,其安全问题及技术也在更新,加之作者水平有限,书中难免出现疏漏与错误。如果大家发现问题,可以在本书的GitHub库中提交Issue反馈给我们,我们将在图书再版时进行更正,以提供最为准确的内容。

为了更好地理解区块链安全部分的内容,我们为本书部分章节录制了视频课程,大家可以在本书GitHub库中Video目录下获取。

由于书中部分代码过于冗长,所以我们将部分代码上传至本书GitHub库中的SourceCode目录下供大家查阅,地址为https://github.com/BlockchainSecBook。

致谢

在本书撰写的过程中,得到了许多业内外朋友的鼎力相助,在这里由衷表示感谢。

感谢机械工业出版社的吴怡编辑,她对书稿进行了专业、细致、认真的编校工作,并提出了很多切中肯綮的修改建议。

感谢登链社区(https://learnblockchain.cn/)的熊丽兵(Tiny熊),在我们开始撰写本书时,不仅在Tiny熊的技术博客“深入浅出区块链”上学习到了很多底层的公链技术以及智能合约相关的内容,还有幸在其为我们提供的专栏上发表文章

感谢波士顿大学的Ethan Heilman在USENIX Security发表论文“Eclipse Attacks on Bitcoin’s Peer-to-Peer Network”,这篇论文为本书相关内容的撰写提供了理论参考。

感谢蚂蚁集团安全实验室和百度安全实验室,我们在撰写关于安全漏洞的内容时,从他们的技术输出之中受益匪浅。

感谢那些在我们学习区块链及相关安全技术时阅读的书籍及博客文章的作者,从他们的技术输出之中我们获益良多。

最后要感谢完美世界安全应急响应中心(PWSRC)的叶姝彤,在撰写本书的过程中提供了大量帮助。

要感谢的朋友还有很多,在这里无法一一列举,希望这本书可以为区块链安全技术在我国的发展与推广添砖加瓦!