Skip to content

Commit ebbcc35

Browse files
committed
update blockchain_security_study_notes
1 parent b825c9b commit ebbcc35

8 files changed

+70
-40
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
* [区块链安全入门笔记(一) | 慢雾科普](./区块链安全入门笔记(一) _ 慢雾科普.md)
2+
* [区块链安全入门笔记(二) | 慢雾科普](./区块链安全入门笔记(二) _ 慢雾科普.md)
3+
* [区块链安全入门笔记(三) | 慢雾科普](./区块链安全入门笔记(三) _ 慢雾科普.md)
4+
* [区块链安全入门笔记(四) | 慢雾科普](./区块链安全入门笔记(四) _ 慢雾科普.md)
5+
* [区块链安全入门笔记(五) | 慢雾科普](./区块链安全入门笔记(五) _ 慢雾科普.md)
6+
* [区块链安全入门笔记(六) | 慢雾科普](./区块链安全入门笔记(六) _ 慢雾科普.md)
7+
* [区块链安全入门笔记(七) | 慢雾科普](./区块链安全入门笔记(七) _ 慢雾科普.md)

blockchain_security_study_notes/区块链安全入门笔记(一) _ 慢雾科普.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
随着越来越的人参与到区块链这个行业中来,为行业注入新活力的同时也由于相关知识的薄弱以及安全意识的匮乏,给了攻击者更多的可乘之机。面对频频爆发的安全事件,慢雾特推出区块链安全入门笔记系列,向大家介绍区块链安全相关名词,让新手们更快适应区块链危机四伏的安全攻防世界。
44

5-
## 钱包 Wallet
5+
[回到目录](./README.md)
6+
7+
### 钱包 Wallet
68

79
钱包(Wallet)是一个管理私钥的工具,数字货币钱包形式多样,但它通常包含一个软件客户端,允许使用者通过钱包检查、存储、交易其持有的数字货币。它是进入区块链世界的基础设施和重要入口。
810

@@ -11,29 +13,29 @@
1113
![image](./1.png)
1214

1315

14-
## 冷钱包 Cold Wallet
16+
### 冷钱包 Cold Wallet
1517

1618
冷钱包(Cold Wallet)是一种脱离网络连接的离线钱包,将数字货币进行离线储存的钱包。使用者在一台离线的钱包上面生成数字货币地址和私钥,再将其保存起来。冷钱包是在不需要任何网络的情况下进行数字货币的储存,因此黑客是很难进入钱包获得私钥的,但它也不是绝对安全的,随机数不安全也会导致这个冷钱包不安全,此外硬件损坏、丢失也有可能造成数字货币的损失,因此需要做好密钥的备份。
1719

18-
## 热钱包 Hot Wallet
20+
### 热钱包 Hot Wallet
1921

2022
热钱包(Hot Wallet)是一种需要网络连接的在线钱包,在使用上更加方便。但由于热钱包一般需要在线使用,个人的电子设备有可能因误点钓鱼网站被黑客盗取钱包文件、捕获钱包密码或是破解加密私钥,而部分中心化管理钱包也并非绝对安全。因此在使用中心化交易所或钱包时,最好在不同平台设置不同密码,且开启二次认证,以确保自己的资产安全。
2123

22-
## 公钥 Public Key
24+
### 公钥 Public Key
2325

2426
公钥(Public Key)是和私钥成对出现的,和私钥一起组成一个密钥对,保存在钱包中。公钥由私钥生成,但是无法通过公钥倒推得到私钥。公钥能够通过一系列算法运算得到钱包的地址,因此可以作为拥有这个钱包地址的凭证。
2527

26-
## 私钥 Private Key
28+
### 私钥 Private Key
2729

2830
私钥(Private Key)是一串由随机算法生成的数据,它可以通过非对称加密算法算出公钥,公钥可以再算出币的地址。私钥是非常重要的,作为密码,除了地址的所有者之外,都被隐藏。区块链资产实际在区块链上,所有者实际只拥有私钥,并通过私钥对区块链的资产拥有绝对控制权,因此,区块链资产安全的核心问题在于私钥的存储,拥有者需做好安全保管。
2931

3032
和传统的用户名、密码形式相比,使用公钥和私钥交易最大的优点在于提高了数据传递的安全性和完整性,因为两者——对应的关系,用户基本不用担心数据在传递过程中被黑客中途截取或修改的可能性。同时,也因为私钥加密必须由它生成的公钥解密,发送者也不用担心数据被他人伪造。
3133

32-
## 助记词 Mnemonic
34+
### 助记词 Mnemonic
3335

3436
由于私钥是一长串毫无意义的字符,比较难以记忆,因此出现了助记词(Mnemonic)。助记词是利用固定算法,将私钥转换成十多个常见的英文单词。助记词和私钥是互通的,可以相互转换,它只是作为区块链数字钱包私钥的友好格式。所以在此强调:助记词即私钥!由于它的明文性,不建议它以电子方式保存,而是抄写在物理介质上保管好,它和 Keystore 作为双重备份互为补充。
3537

36-
## Keystore
38+
### Keystore
3739

3840
Keystore 主要在以太坊钱包 App 中比较常见(比特币类似以太坊 Keystore 机制的是:BIP38),是把私钥通过钱包密码再加密得来的,与助记词不同,一般可保存为文本或 JSON 格式存储。换句话说,Keystore 需要用钱包密码解密后才等同于私钥。因此,Keystore 需要配合钱包密码来使用,才能导入钱包。当黑客盗取 Keystore 后,在没有密码情况下, 有可能通过暴力破解 Keystore 密码解开 Keystore,所以建议使用者在设置密码时稍微复杂些,比如带上特殊字符,至少 8 位以上,并安全存储。
3941

@@ -53,3 +55,5 @@ Keystore 主要在以太坊钱包 App 中比较常见(比特币类似以太坊 K
5355
9. 不使用他人提供的 Apple ID
5456
10. 不要将私钥导入未知的第三方网站
5557

58+
59+
[回到目录](./README.md)

blockchain_security_study_notes/区块链安全入门笔记(七) _ 慢雾科普.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
随着越来越的人参与到区块链这个行业中来,为行业注入新活力的同时也由于相关知识的薄弱以及安全意识的匮乏,给了攻击者更多的可乘之机。面对频频爆发的安全事件,慢雾特推出区块链安全入门笔记系列,向大家介绍区块链安全相关名词,让新手们更快适应区块链危机四伏的安全攻防世界!
44

5+
[回到目录](./README.md)
6+
57
### hard_fail 状态攻击 hard_fail Attack
68

79

@@ -11,8 +13,8 @@ hard_fail 是什么呢?简单来说就是出现错误但是没有使用错误
1113

1214

1315
详细细节可参考:
14-
EOS 假充值(hard_fail 状态攻击)红色预警细节披露与修复方案
15-
https://mp.weixin.qq.com/s/fKINfZLW65LYaD4qO-21nA
16+
17+
[EOS 假充值(hard_fail 状态攻击)红色预警细节披露与修复方案](https://mp.weixin.qq.com/s/fKINfZLW65LYaD4qO-21nA)
1618

1719

1820
###重放攻击 Replay Attack
@@ -22,8 +24,8 @@ https://mp.weixin.qq.com/s/fKINfZLW65LYaD4qO-21nA
2224
这是一种最早出现于 DApp 生态初期的攻击形态,由于开发者设计的开奖随机算法存在严重缺陷,使得攻击者可利用合约漏洞重复开奖,属于开发者较为容易忽略的错误。因此,开发者们在链上进行验签操作的时候,需要对被签名消息加上各种可变因子,防止攻击者对链上签名进行重放,造成资产损失。
2325

2426
更多详情可参考:
25-
以太坊智能合约重放攻击细节剖析
26-
https://mp.weixin.qq.com/s/kEGbx-I17kzm7bTgu-Nh2g
27+
28+
[以太坊智能合约重放攻击细节剖析](https://mp.weixin.qq.com/s/kEGbx-I17kzm7bTgu-Nh2g)
2729

2830

2931
### 重入攻击 Reentrancy Attack
@@ -56,12 +58,11 @@ https://mp.weixin.qq.com/s/kEGbx-I17kzm7bTgu-Nh2g
5658

5759

5860
更多几大币种假充值问题可参考:
59-
1、USDT 假充值:USDT 虚假转账安全⻛险分析 | 2345 新科技研究院区块链实验室
60-
https://mp.weixin.qq.com/s/CtAKLNe0MOKDyUFaod4_hw
61-
2、 以太坊代币假充值:以太坊代币“假充值”漏洞细节披露及修复方案
62-
https://mp.weixin.qq.com/s/3cMbE6p_4qCdVLa4FNA5-A
63-
3、 XRP 假充值:Partial Payments - XRP Ledger Dev Portal
64-
https://developers.ripple.com/partial-payments.html
65-
4、EOS 假充值:EOS 假充值(hard_fail 状态攻击)红色预警细节披露与修复方案
66-
https://mp.weixin.qq.com/s/fKINfZLW65LYaD4qO-21nA
61+
62+
1. [USDT 假充值:USDT 虚假转账安全⻛险分析 | 2345 新科技研究院区块链实验室](https://mp.weixin.qq.com/s/CtAKLNe0MOKDyUFaod4_hw)
63+
2. [以太坊代币假充值:以太坊代币“假充值”漏洞细节披露及修复方案](https://mp.weixin.qq.com/s/3cMbE6p_4qCdVLa4FNA5-A)
64+
3. [XRP 假充值:Partial Payments - XRP Ledger Dev Portal](https://developers.ripple.com/partial-payments.html)
65+
4. [EOS 假充值:EOS 假充值(hard_fail 状态攻击)红色预警细节披露与修复方案](https://mp.weixin.qq.com/s/fKINfZLW65LYaD4qO-21nA)
66+
67+
[回到目录](./README.md)
6768

blockchain_security_study_notes/区块链安全入门笔记(三) _ 慢雾科普.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
随着越来越的人参与到区块链这个行业中来,为行业注入新活力的同时也由于相关知识的薄弱以及安全意识的匮乏,给了攻击者更多的可乘之机。面对频频爆发的安全事件,慢雾特推出区块链安全入门笔记系列,向大家介绍区块链安全相关名词,让新手们更快适应区块链危机四伏的安全攻防世界。
44

5-
##共识 Consensus
5+
[回到目录](./README.md)
6+
7+
###共识 Consensus
68

79
共识算法主要是解决分布式系统中,多个节点之间对某个状态达成一致性结果的问题。分布式系统由多个服务节点共同完成对事务的处理,分布式系统中多个副本对外呈现的数据状态需要保持一致性。由于节点的不可靠性和节点间通讯的不稳定性,甚至节点作恶,伪造信息,使得节点之间出现数据状态不一致性的问题。通过共识算法,可以将多个不可靠的单独节点组建成一个可靠的分布式系统,实现数据状态的一致性,提高系统的可靠性。
810

@@ -11,14 +13,14 @@
1113
区块链系统中的共识算法还承担着区块链系统中激励模型和治理模型中的部分功能,为了解决在对等网络中(P2P),相互独立的节点如何达成一项决议问题的过程。简而言之,共识算法是在解决分布式系统中如何保持一致性的问题。
1214

1315

14-
## 工作量证明 PoW(Proof of Work)
16+
### 工作量证明 PoW(Proof of Work)
1517

1618

1719
PoW(Proof of Work)是历史上第一个成功的去中心化区块链共识算法。工作量证明是大多数人所熟悉的,被比特币、以太坊,莱特币等主流公链广泛使用。
1820

1921
工作量证明要求节点参与者执行计算密集型的任务,但是对于其他网络参与者来说易于验证。在比特币的例子中,矿工竞相向由整个网络维护的区块链账本中添加所收集到的交易,即区块。为了做到这一点,矿工必须第一个准确计算出“nonce”,这是一个添加在字符串末尾的数字,用来创建一个满足开头特定个数为零的哈希值。不过存在采矿的大量电力消耗和低交易吞吐量等缺点。
2022

21-
## 权益证明 PoS(Proof of Stake)
23+
### 权益证明 PoS(Proof of Stake)
2224

2325
PoS(Proof of Stake)——权益证明机制,一种主流的区块链共识算法,目的是为了让区块链里的分布式节点达成共识,它往往和工作量证明机制(Proof of Work)一起出现,两种都被认为是区块链共识算法里面的主流算法之一。作为一种算法,它通过持币人的同意来达成共识,目的是确定出新区块,这过程相对于 PoW,不需要硬件和电力,且效率更高。
2426

@@ -27,14 +29,14 @@ PoS 共识中引入了 Stake 的概念,持币人将代币进行 Staking,要
2729
PoS 的研究脚步还在不断前进,安全、性能和去中心化一直都是 PoS 所追求的方向,未来也将有更多 PoS 的项目落地。为了更好的观测公链运行状态,即时监测安全异常,慢雾在 EOS、BOSCORE、FIBOS、YOYOW、IoTeX、COSMOS 上都部署了 Safe Staking,落地扎根安全领域,关注节点的稳定与安全。
2830

2931

30-
## 委托权益证明 DPoS(Delegate Proof of Stake)
32+
### 委托权益证明 DPoS(Delegate Proof of Stake)
3133

3234

3335
委托权益证明,其雏形诞生在 2013 年 12 月 8 日,Daniel Larimer 在 bitsharetalk 首次谈及用投票选择出块人的方式,代替 PoS 中可能出现的选举随机数被操纵的问题。在 DPoS 中,让每一个持币者都可以进行投票,由此产生一定数量的代表 ,或者理解为一定数量的节点或矿池,他们彼此之间的权利是完全相等的。持币者可以随时通过投票更换这些代表,以维系链上系统的“长久纯洁性”。在某种程度上,这很像是国家治理里面的代议制,或者说是人大代表制度。这种制度最大的好处就是解决了验证人过多导致的效率低下问题,当然,这种制度也有很明显的缺点,由于 “代表”制度,导致其一直饱受中心化诟病。
3436

3537

3638

37-
## 恶意挖矿攻击 Cryptojacking Attack
39+
### 恶意挖矿攻击 Cryptojacking Attack
3840

3941
恶意挖矿攻击(Cryptojacking)是一种恶意行为,指未经授权的情况下劫持用户设备挖掘加密货币。通常,攻击者会劫持受害者设备(个人 PC 或服务器)的处理能力和带宽,由于加密货币挖掘需要大量算力,攻击者会尝试同时感染多个设备,这样他们能够收集到足够的算力来执行这种低风险和低成本的挖矿活动。
4042

@@ -47,7 +49,7 @@ PoS 的研究脚步还在不断前进,安全、性能和去中心化一直都
4749
4. 安装一个值得信赖的杀毒软件,让软件应用程序和操作系统保持最新状态
4850

4951

50-
## 无利益攻击 Nothing at Stake Attack
52+
### 无利益攻击 Nothing at Stake Attack
5153

5254

5355
无利益攻击(Nothing at Stake Attack),是在 PoS 共识机制下一个有待解决的问题,其问题的本质可以简单概括为“作恶无成本,好处无限多”。
@@ -56,3 +58,4 @@ PoS 的研究脚步还在不断前进,安全、性能和去中心化一直都
5658

5759
为了预防这样的情况发生,许多类 PoS 共识机制对此的解决方法是引入惩罚机制,对作恶的节点进行经济惩罚(Slashing),以建立更加稳定的网络。DPoS 实际上也是无利益攻击的解决方案之一,由上文我们可知 DPoS 这个机制由持币人选出出块节点来运营网络,出块节点会将一部分奖励分给投票者。
5860

61+
[回到目录](./README.md)

blockchain_security_study_notes/区块链安全入门笔记(二) _ 慢雾科普.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
随着越来越的人参与到区块链这个行业中来,为行业注入新活力的同时也由于相关知识的薄弱以及安全意识的匮乏,给了攻击者更多的可乘之机。面对频频爆发的安全事件,慢雾特推出区块链安全入门笔记系列,向大家介绍区块链安全相关名词,让新手们更快适应区块链危机四伏的安全攻防世界。
44

5-
## 公链 Public Blockchain
5+
[回到目录](./README.md)
6+
7+
### 公链 Public Blockchain
68

79
公有链(Public Blockchain)简称公链,是指全世界任何人都可随时进入读取、任何人都能发送交易且能获得有效确认的共识区块链。公链通常被认为是完全去中心化的,链上数据都是公开透明的,不可更改,任何人都可以通过交易或挖矿读取和写入数据。一般会通过代币机制(Token)来鼓励参与者竞争记账,来确保数据的安全性。
810

@@ -11,7 +13,7 @@
1113
![image](./3.png)
1214

1315

14-
## 交易所 Exchange
16+
### 交易所 Exchange
1517

1618
与买卖股票的证券交易所类似,区块链交易所即数字货币买卖交易的平台。数字货币交易所又分为中心化交易所和去中心化交易所。
1719

@@ -26,32 +28,34 @@
2628
数字货币领域,攻击者的屠戮步伐从未停止。激烈的攻防对抗之下,防守方处于绝对的弱势,其攻击手法多种多样,我们会在之后的文章中为大家进行介绍。职业黑客往往会针对数字货币交易所开启定向打击,因此慢雾安全团队建议各方交易所加强安全建设,做好风控和内控安全,做到:“早发现,早预警,早止损。”
2729

2830
相关交易所防御建议可参考:
29-
慢雾红色警报:交易所接连被黑的防御建议
30-
https://mp.weixin.qq.com/s/oZDEMyO5JkXNEeJ6PucLMA
31+
[慢雾红色警报:交易所接连被黑的防御建议](https://mp.weixin.qq.com/s/oZDEMyO5JkXNEeJ6PucLMA)
32+
3133

32-
## 节点 Node
34+
### 节点 Node
3335

3436
在传统互联网领域,企业所有的数据运行都集中在一个中心化的服务器中,那么这个服务器就是一个节点。由于区块链是去中心化的分布式数据库,是由千千万万个“小服务器”组成。区块链网络中的每一个节点,就相当于存储所有区块数据的每一台电脑或者服务器。所有新区块的生产,以及交易的验证与记帐,并将其广播给全网同步,都由节点来完成。节点分为“全节点”和“轻节点”,全节点就是拥有全网所有的交易数据的节点,那么轻节点就是只拥有和自己相关的交易数据节点。由于每一个全节点都保留着全网数据,这意味着,其中一个节点出现问题,整个区块链网络世界也依旧能够安全运行,这也是去中心化的魅力所在。
3537

3638

37-
## RPC
39+
### RPC
3840

3941

4042
远程过程调用(Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。以太坊 RPC 接口是以太坊节点与其他系统交互的窗口,以太坊提供了各种 RPC 调用:HTTP、IPC、WebSocket 等等。在以太坊源码中,server.go 是核心逻辑,负责 API 服务的注入,以及请求处理、返回。http.go 实现 HTTP 的调用,websocket.go 实现 WebSocket 的调用,ipc.go 实现 IPC 的调用。以太坊节点默认在 8545 端口提供了 JSON RPC 接口,数据传输采用 JSON 格式,可以执行 Web3 库的各种命令,可以向前端(例如 imToken、Mist 等钱包客户端)提供区块链上的信息。
4143

4244

43-
## 以太坊黑色情人节漏洞 ETH Black Valentine's Day
45+
### 以太坊黑色情人节漏洞 ETH Black Valentine's Day
4446

4547

4648
2018 年 3 月 20 日,慢雾安全团队观测到一起自动化盗币的攻击行为,攻击者利用以太坊节点 Geth/Parity RPC API 鉴权缺陷,恶意调用 eth_sendTransaction 盗取代币,持续时间长达两年,单被盗的且还未转出的以太币价值就高达现价 2 千万美金(以当时 ETH 市值计算),还有代币种类 164 种,总价值难以估计(很多代币还未上交易所正式发行)。
4749

48-
![Alt text](./5.png)
50+
![image](./5.png)
4951

5052
通过慢雾安全团队独有的墨子(MOOZ)系统对全球约 42 亿 IPv4 空间进行扫描探测,发现暴露在公网且开启 RPC API 的以太坊节点有 1 万多个。这些节点都存在被直接盗币攻击的高风险。这起利用以太坊 RPC 鉴权缺陷实施的自动化盗币攻击,已经在全球范围内对使用者造成了非常严重的经济损失。
5153

5254

5355
漏洞详情及修复方案可点击:
54-
以太坊生态缺陷导致的一起亿级代币盗窃大案
55-
https://mp.weixin.qq.com/s/Kk2lsoQ1679Gda56Ec-zJg
56-
以太坊黑色情人节事件数据统计及新型攻击手法披露
57-
https://mp.weixin.qq.com/s/JrsiT3t9x-4L9i3j1Ps5_A
56+
57+
[以太坊生态缺陷导致的一起亿级代币盗窃大案](https://mp.weixin.qq.com/s/Kk2lsoQ1679Gda56Ec-zJg)
58+
59+
[以太坊黑色情人节事件数据统计及新型攻击手法披露](https://mp.weixin.qq.com/s/JrsiT3t9x-4L9i3j1Ps5_A)
60+
61+
[回到目录](./README.md)

0 commit comments

Comments
 (0)