LOKI: State-Aware Fuzzing Framework for the Implementation of Blockchain Consensus Protocols

Fuchen Ma, Yuanliang Chen, Meng Ren, Yuanhang Zhou, Yu Jiang, Ting Chen, Huizhong Li, Jiaguang Sun · 2023

Blockchain consensus protocols are responsible for coordinating the nodes to make agreements on the transaction results.Their implementation bugs, including memory-related and consensus logic vulnerabilities, may pose serious threats.Fuzzing is a promising technique for protocol vulnerability detection.However, existing fuzzers cannot deal with complex consensus states of distributed nodes, thus generating a large number of useless packets, inhibiting their effectiveness in reaching the deep logic of consensus protocols.In this work, we propose LOKI, a blockchain consensus protocol fuzzing framework that detects consensus memoryrelated and logic bugs.LOKI fetches consensus states in realtime by masquerading as a node.First, LOKI dynamically builds a state model that records the state transition of each node.After that, LOKI adaptively generates the input targets, types, and contents according to the state model.With a bug analyzer, LOKI detects the consensus protocol implementation bugs with well-defined oracles.We implemented and evaluated LOKI on four widely used commercial blockchain systems, including Go-Ethereum, Meta Diem, IBM Fabric, and WeBank FISCO-BCOS.LOKI has detected 20 serious previously unknown vulnerabilities with 9 CVEs assigned.14 of them are memory-related bugs, and 6 are consensus logic bugs.Compared with state-of-the-art tools such as Peach, Fluffy, and Twins, LOKI improves the branch coverage by an average of 43.21%, 182.05%, and 291.58%.

Read the paper · More papers on PaperTik