Browse > Article
http://dx.doi.org/10.13089/JKIISC.2019.29.1.67

Smart Contract Code Rewritter for Improving Safety of Function Calls  

Lee, Sooyeon (Chungnam National University)
Jung, Hyungkun (Chungnam National University)
Cho, Eun-Sun (Chungnam National University)
Abstract
When a Solidity smart contract has a problem in calling a function of another contract, the fallback function is supposed to be executed automatically. However, it may be are arbitrarily created, with their behaviors unknown to developers, and fallback function execution is vulnerable to exploits by attackers. in In this paper, we propose a preprocessing based method to reduce the risk with less overhead of developers'. Developers mark the intention using the newly defined keywords in this paper, and the preprocessor reduces the risk by preprocessing the conditional variables and conditional statements according to the keywords.
Keywords
Solidity; Preprocessor; Rewritter; Fallback functions;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Solidity, "Solidity", https://solidity.readthedocs.io/en/develop/
2 smart contract. "smart contract", https://ko.wikipedia.org/wiki/스마트계약
3 Ethereum. "ethereum", https://www.ethereum.org/
4 Nicola Atzei, Massimo Bartoletti, and Tiziana Cimoli, "A survey of attacks on Ethereum smart contracts," Proceedings of the 6th International Conference on Principles of Security and Trust, pp. 164-186, Apr. 2017
5 Loi Luu, Duc-Hiep Chu, Hrishi Olickel, Prateek Saxena and Aquinas Hobor, "Making Smart Contracts Smarter," Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pp. 254-269, Oct. 2016
6 Thomas Cook, Alex Latham and Jae Hyung Lee, "DappGuard : Active Monitoring and Defense for Solidity Smart Contracts," mit, 2017
7 Jack Pettersson and Robert Edstrom, "Safer smart contracts through type-driven development Using dependent and polymorphic types for safer development of smart contracts," Master's thesis in Computer Science Department of Computer Science and Engineering Computing Science Division Chalmers University of Technology and University of Gothenburg, Gothenburg, Sweden, 2016
8 Ahmed Kosba, Andrew Miller, Elaine Shi, Zikai Wen, and Charalampos Papamanthou. "Hawk: The blockchain model of cryptography and privacypreserving smart contracts," In Proceedings of the 2016 IEEE Symposium on Security and Privacy, SP '16. IEEE Computer Society, 2016
9 EVM, "EVM", https://en.wikipedia.org/wiki/Ethereum#Virtual_Machine
10 Remix, "remix", https://remix.ethereum.org/
11 Sukrit Kalra, Seep Goel, Mohan Dhawan and Subodh Sharma, "ZEUS: Analyzing Safety of Smart Contracts," Network and Distributed Systems Security (NDSS) Symposium 2018, IBM Research and IIT Delhi, 2018
12 Symbolic execution, "Symbolic execution", https://en.wikipedia.org/wiki/Symbolic_execution
13 The Z3 theorem prover, "The Z3 theorem prover", https://github.com/Z3Prover/z3.
14 LLVM, "LLVM", https://llvm.org/
15 Solidity Decompiler, "solidity decompiler", https://ethervm.io/decompile
16 Solidity require, "Solidity require", https://solidity.readthedocs.io/en/v0.4.24/control-structures.html
17 ANTLR, "ANTLR" http://www.antlr.org/