0x11 智能合约安全
2018-04-10 本文已影响6人
金牛茶馆
持续收集中:
1.外部函数调用安全性
转账给别的地址,使用call,send等方式小心循环攻击。尤其注意send,callvalue,split 等函数。
举例:
- the DAO
2.函数可见性
3.数学运算安全
整型溢出
4.“随机数”与时间戳依赖
矿工预先得知。
举例:
- The casino with a public RNG seed
5.合约数据可见性
6.谨慎使用汇编注入
7.代码逻辑错误
代码拼写错误,逻辑漏洞。
举例:
- FirePonzi
8.所有权失控
构造函数拼写错误,导致任何人可以获得控制权
举例:
- Parity 钱包
- Rubixi
- MakerDAO
9.上溢/下溢
20种溢出情况
10.Dos with Throw
低成本阻塞,比如投标的合约
11.Dos with Block Gas Limit
for 循环内的转账
12.call Depth
调用超过次数限制,EIP150 已经修复