- Fuzz Testing in Practice: Obstacles and Solutions [pdf] 作者:Jie Liang, Mingzhe Wang 发表:International Conference on Software Analysis, Evolution and Reengineering 关键词:Blockchain 年份:2018
摘要:Fuzz testing has helped security researchers and
organizations discover a large number of vulnerabilities. Al-
though it is efficient and widely used in industry, hardly any
empirical studies and experience exist on the customization of
fuzzers to real industrial projects. In this paper, collaborating
with the engineers from Huawei, we present the practice of
adapting fuzz testing to a proprietary message middleware
named libmsg, which is responsible for the message transfer
of the entire distributed system department. We present the
main obstacles coming across in applying an efficient fuzzer
to libmsg, including system configuration inconsistency, system
build complexity, fuzzing driver absence. The solutions for those
typical obstacles are also provided. For example, for the most
difficult and expensive obstacle of writing fuzzing drivers, we
present a low-cost approach by converting existing sample code
snippets into fuzzing drivers. After overcoming those obstacles,
we can effectively identify software bugs, and report 9 previously
unknown vulnerabilities, including flaws that lead to denial of
service or system crash.
2021-04-15 13:11:24
- Fuse: An Architecture for Smart Contract Fuzz Testing Service [pdf] 作者:W.K. Chan ,Bo Jiang 发表:Asia-Pacific Software Engineering Conference 关键词:blockchain, fuzz testing, Dapps, architecture, security vulnerability, smart contract, Ethereum 年份:2018
摘要:In this paper, we report our project Fuse, which is
a fuzz testing service. It presents the Fuse architecture and
discusses the progress and technical issues to be addressed to
fuzz-test smart contracts and support fuzz-testing of Dapps.
2021-04-15 13:09:32
- Finding The Greedy, Prodigal, and Suicidal Contracts at Scale [pdf] 作者:Ivica Nikolic´,Aashish Kolluri 发表:ACSAC 关键词:Blockchain 年份:2018
摘要:Smart contracts—stateful executable objects hosted on
blockchains like Ethereum—carry billions of dollars
worth of coins and cannot be updated once deployed. We
present a new systematic characterization of a class of
trace vulnerabilities, which result from analyzing mul-
tiple invocations of a contract over its lifetime. We fo-
cus attention on three example properties of such trace
vulnerabilities: finding contracts that either lock funds
indefinitely, leak them carelessly to arbitrary users, or
can be killed by anyone. We implemented MAIAN1 ,
the first tool for precisely specifying and reasoning about
trace properties, which employs inter-procedural sym-
bolic analysis and concrete validator for exhibiting real
exploits. Our analysis of nearly one million contracts
flags 34,200 (2,365 distinct) contracts vulnerable, in 10
seconds per contract. On a subset of 3,759 contracts
which we sampled for concrete validation and manual
analysis, we reproduce real exploits at a true positive rate
of 89%, yielding exploits for 3,686 contracts. Our tool
finds exploits for the infamous Parity bug that indirectly
locked 200 million dollars worth in Ether, which previ-
ous analyses failed to capture.
2021-04-15 13:08:25
- EnFuzz: Ensemble Fuzzing with Seed Synchronization among Diverse Fuzzers [pdf] 作者:Yuanliang Chen, Yu Jiang 发表:Software Engineering 关键词:Ensemble Fuzzing, Seed Synchronization 年份:2019
摘要:Fuzzing is widely used for vulnerability detection. There
are various kinds of fuzzers with different fuzzing strate-
gies, and most of them perform well on their targets. How-
ever, in industrial practice, it is found that the performance
of those well-designed fuzzing strategies is challenged by
the complexity and diversity of real-world applications. In
this paper, we systematically study an ensemble fuzzing ap-
proach. First, we define the diversity of base fuzzers in three
heuristics: diversity of coverage information granularity, di-
versity of input generation strategy and diversity of seed se-
lection and mutation strategy. Based on those heuristics,
we choose several of the most recent base fuzzers that are
as diverse as possible, and propose a globally asynchronous
and locally synchronous (GALS) based seed synchronization
mechanism to seamlessly ensemble those base fuzzers and
obtain better performance. For evaluation, we implement
EnFuzzbased on several widely used fuzzers such as QSYM
and FairFuzz, and then test them on LAVA-M and Google’s
fuzzing-test-suite, which consists of 24 widely used real-
world applications. This experiment indicates that, under the
same constraints for resources, these base fuzzers perform
differently on different applications, while EnFuzz always
outperforms others in terms of path coverage, branch cover-
age and bug discovery. Furthermore, EnFuzz found 60 new
vulnerabilities in several well-fuzzed projects such as libpng
and libjpeg, and 44 new CVEs were assigned.
2021-04-15 13:05:30
- Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contracts [pdf] 作者:Raymond Cheng,Fan Zhang 发表:European Symposium on Security and Privacy 关键词:Blockchain 年份:2019
摘要:Smart contracts are applications that execute on
blockchains. Today they manage billions of dollars in value and
motivate visionary plans for pervasive blockchain deployment.
While smart contracts inherit the availability and other secu-
rity assurances of blockchains, however, they are impeded by
blockchains’ lack of confidentiality and poor performance.
We present Ekiden, a system that addresses these critical
gaps by combining blockchains with Trusted Execution Environ-
ments (TEEs). Ekiden leverages a novel architecture that sep-
arates consensus from execution, enabling efficient TEE-backed
confidentiality-preserving smart contracts and high scalability.
Our prototype (with Tendermint as the consensus layer) achieves
example performance of 600x more throughput and 400x less
latency at 1000x less cost than the Ethereum mainnet.
Another contribution of this paper is that we systematically
identify and treat the pitfalls arising from harmonizing TEEs
and blockchains. Treated separately, both TEEs and blockchains
provide powerful guarantees, but hybridized, though, they en-
gender new attacks. For example, in na¨ıve designs, privacy in
TEE-backed contracts can be jeopardized by forgery of blocks, a
seemingly unrelated attack vector. We believe the insights learned
from Ekiden will prove to be of broad importance in hybridized
TEE-blockchain systems.
2021-04-15 13:03:46
- Dissecting Ponzi schemes on Ethereum: identification, analysis, and impact [pdf] 作者:Massimo Bartoletti, Salvatore Carta, Tiziana Cimoli, Roberto Saia 发表:Future Generation Computer Systems 关键词:smart contracts, cryptocurrencies, Ponzi schemes, electronic frauds 年份:2019
摘要:Ponzi schemes are financial frauds which lure users under the promise of high
profits. Actually, users are repaid only with the investments of new users join-
ing the scheme: consequently, a Ponzi scheme implodes soon after users stop
joining it. Originated in the offline world 150 years ago, Ponzi schemes have
since then migrated to the digital world, approaching first the Web, and more
recently hanging over cryptocurrencies like Bitcoin. Smart contract platforms
like Ethereum have provided a new opportunity for scammers, who have now
the possibility of creating “trustworthy” frauds that still make users lose money,
but at least are guaranteed to execute “correctly”. We present a comprehen-
sive survey of Ponzi schemes on Ethereum, analysing their behaviour and their
impact from various viewpoints.
2021-04-15 13:02:38
- DataEther: Data Exploration Framework For Ethereum [pdf] 作者:Ting Chen, Zihao Li, Yufei Zhang 发表:International Conference on Distributed Computing Systems 关键词:Blockchain 年份:2019
摘要:Ethereum is the largest blockchain platform sup-
porting smart contracts with the second biggest market capital-
ization. Ethereum data can yield many useful insights because
of the large volume of transactions, accounts and blocks as
well as the popular applications developed as smart contracts.
Studying Ethereum data can also reveal many new attacks to the
platform and its smart contracts. Unfortunately, it is non-trivial
to systematically explore Ethereum because it involves massive
heterogeneous data, which are produced and stored in different
ways. Although a few recent studies report some interesting
observations about Ethereum, they are limited by their data
acquisition methods which cannot provide comprehensive and
precise data. In this paper, to fill the gap, we propose DataEther,
a systematic and high-fidelity data exploration framework for
Ethereum by exploiting its internal mechanisms. Besides sup-
porting the analyses in existing studies, DataEther further
empowers users to explore unknown phenomena and obtain
in-depth understandings. We first describe how we tackle the
challenging issues in developing DataEther, and then use four
data-centric applications to demonstrate its usage and report
many new observations.
2021-04-15 12:59:25
- ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection [pdf] 作者:Bo Jiang,Ye Liu 发表:International Conference on Automated Software Engineering 关键词:Fuzzing, Fuzzer, Smart contract, Vulnerability, Test oracle, Ethereum, Blockchain 年份:2018
摘要:Decentralized cryptocurrencies feature the use of blockchain to
transfer values among peers on networks without central agency.
Smart contracts are programs running on top of the blockchain
consensus protocol to enable people make agreements while
minimizing trusts. Millions of smart contracts have been deployed
in various decentralized applications. The security vulnerabilities
within those smart contracts pose significant threats to their
applications. Indeed, many critical security vulnerabilities within
smart contracts on Ethereum platform have caused huge financial
losses to their users. In this work, we present ContractFuzzer, a
novel fuzzer to test Ethereum smart contracts for security
vulnerabilities. ContractFuzzer generates fuzzing inputs based on
the ABI specifications of smart contracts, defines test oracles to
detect security vulnerabilities, instruments the EVM to log smart
contracts runtime behaviors, and analyzes these logs to report
security vulnerabilities. Our fuzzing of 6991 smart contracts has
flagged more than 459 vulnerabilities with high precision. In
particular, our fuzzing tool successfully detects the vulnerability
of the DAO contract that leads to $60 million loss and the
vulnerabilities of Parity Wallet that have led to the loss of $30
million and the freezing of $150 million worth of Ether.
2021-04-15 12:58:26
- CFG Construction Soundness in Control-Flow Integrity [pdf] 作者:Gang Tan,Trent Jaeger 发表:PLAS 关键词:Control-flow integrity; control-flow graphs; type systems; type soundness 年份:2017
摘要:Control-Flow Integrity (CFI) is an intensively studied technique
for hardening software security. It enforces a Control-Flow Graph
(CFG) by inlining runtime checks into target programs. Many meth-
ods have been proposed to construct the enforced CFG, with differ-
ent degrees of precision and sets of assumptions. However, past CFI
work has not made attempt at justifying their CFG construction
soundness using formal semantics and proofs. In this paper, we
formalize the CFG construction in two major CFI systems, identify
their assumptions, and prove their soundness; the soundness proof
shows that their computed sets of targets for indirect calls are safe
over-approximations.
2021-04-15 12:56:56
- Blockchain Contract: Securing a Blockchain Applied to Smart Contracts [pdf] 作者:Hiroki Watanabe, Shigeru Fujimura, Atsushi Nakadaira 发表:International Conference on Consumer Electronics 关键词:Blockchain 年份:2016
摘要:A new mechanism is proposed for securing a
blockchain applied to contracts management such as digital
rights management. This mechanism includes a new consensus
method using a credibility score and creates a hybrid blockchain
by alternately using this new method and proof-of-stake. This
makes it possible to prevent an attacker from monopolizing
resources and to keep securing blockchains.
2021-04-15 12:55:30
- An Adaptive Gas Cost Mechanism for Ethereum to Defend Against Under-Priced DoS Attacks [pdf] 作者:Ting Chen, Xiaoqi Li, Ying Wang 发表:Lecture Notes in Computer Science 关键词:Smart Contracts 年份:2017
摘要:The gas mechanism in Ethereum charges the execution of ev-
ery operation to ensure that smart contracts running in EVM (Ethereum
Virtual Machine) will be eventually terminated. Failing to properly set
the gas costs of EVM operations allows attackers to launch DoS at-
tacks on Ethereum. Although Ethereum recently adjusted the gas costs
of EVM operations to defend against known DoS attacks, it remains
unknown whether the new setting is proper and how to configure it to
defend against unknown DoS attacks. In this paper, we make the first
step to address this challenging issue by first proposing an emulation-
based framework to automatically measure the resource consumptions of
EVM operations. The results reveal that Ethereum’s new setting is still
not proper. Moreover, we obtain an insight that there may always exist
exploitable under-priced operations if the cost is fixed. Hence, we pro-
pose a novel gas cost mechanism, which dynamically adjusts the costs of
EVM operations according to the number of executions, to thwart DoS
attacks. This method punishes the operations that are executed much
more frequently than before and lead to high gas costs. To make our so-
lution flexible and secure and avoid frequent update of Ethereum client,
we design a special smart contract that collaborates with the updated
EVM for dynamic parameter adjustment. Experimental results demon-
strate that our method can effectively thwart both known and unknown
DoS attacks with flexible parameter settings. Moreover, our method only
introduces negligible additional gas consumption for benign users.
2021-04-15 12:54:31
- A Large-Scale Empirical Study on Control Flow Identification of Smart Contracts [pdf] 作者:Ting Chen,Zihao Li 发表:IEEE 关键词:Smart Contracts 年份:2019
摘要:Background: Millions of smart contracts have been
deployed to Ethereum for providing various applications. Recent
studies discovered many severe security and performance issues
in smart contracts by applying static program analysis techniques
to them. Given a smart contract, the majority of these analysis
techniques need to first construct its control flow graph, which
connects basic blocks through control flow transfers (CFTs),
before conducting further analysis. Aims: The objective of
this work is to understand the capabilities of static program
analysis techniques to identify CFTs, and to investigate how static
program analysis techniques can be improved if the CFTs are
complemented. Method: We perform a comprehensive empirical
study on six widely-used tools for smart contract analysis by using
all deployed smart contracts to understand their capabilities to
recognize CFTs. We capture all execution traces of all smart
contracts to evaluate the number of CFTs covered by traces
that are not found by those tools. We enhance a state-of-the-art
tool, OYENTE for discovering vulnerabilities in smart contracts
with the CFTs covered by traces to investigate how the tool is
improved. Results: These studied tools fail to identify all CFTs
due to several reasons, e.g., incomplete code patterns. Execution
traces effectively complement these tool in recognizing CFTs. By
including the CFTs covered by traces, the false negative rate of
OYENTE can be reduced by up to 30%. Conclusions: Our study
underlines the ineffectiveness of static analysis techniques due to
the incapabilities of CFT identification.
2021-04-15 12:52:12
- A general framework for blockchain analytics [pdf] 作者:Massimo Bartoletti, Stefano Lande, Livio Pompianu 发表:ScalablE and Resilient InfrAstructures for distributed Ledgers 关键词:Blockchain, Bitcoin, Ethereum, Analytics 年份:2017
摘要:Modern cryptocurrencies exploit decentralised blockchains
to record a public and unalterable history of transactions. Be-
sides transactions, further information is stored for different,
and often undisclosed, purposes, making the blockchains a
rich and increasingly growing source of valuable informa-
tion, in part of difficult interpretation. Many data analytics
have been developed, mostly based on specifically designed
and ad-hoc engineered approaches. We propose a general-
purpose framework, seamlessly supporting data analytics
on both Bitcoin and Ethereum — currently the two most
prominent cryptocurrencies. Such a framework allows us
to integrate relevant blockchain data with data from other
sources, and to organise them in a database, either SQL or
NoSQL. Our framework is released as an open-source Scala
library. We illustrate the distinguishing features of our ap-
proach on a set of significant use cases, which allow us to
empirically compare ours to other competing proposals, and
evaluate the impact of the database choice on scalability.
2021-04-15 12:50:50
- Security Vulnerabilities in Ethereum Smart Contracts [pdf] 作者:Ardit Dika and Mariusz Nowostawski 发表:IEEE 关键词:Smart Contracts 年份:2018
摘要:Ethereum provides an open, global computing platform,
that allows the exchange of value, automated and enforced
workflows, and the development of general purpose applica-
tions and libraries. Smart contracts present a foundation for
the computational capabilities of the Ethereum network. Moti-
vated by the known security breaches and recurring financial
losses due to smart contracts vulnerabilities, we review the
field of security of smart contract programming and provide
a comprehensive taxonomy of all known security issues. We
achieve that by a thorough review of known vulnerabilities. In
this work we also review the security code analysis tools used
to identify known vulnerabilities. We conduct the investigation
of security code analysis tools on Ethereum by assessing their
effectiveness and accuracy on known issues on a representative
sample of vulnerable contracts. We have used 21 clean, and 24
vulnerable contracts and four security tools: Oyente, Securify,
Remix, and SmartCheck, to assess the quality of contemporary
security analysis tools specific to Ethereum. The results indicate
that there are overall inconsistencies between the tools in
respect to different security properties. SmartCheck outper-
formed the other tools in terms of effectiveness, whereas Oyente
performed the best in terms of accuracy. Furthermore, based
on the limitations we identified, we propose improvements
within the user interfaces, interpretation of results, and, most
importantly, an enhanced list for vulnerability checks.
2021-04-15 12:49:17
- Policy specification and verification for blockchain and smart contracts in 5G networks [pdf] 作者:Devrim Unala, Mohammad Hammoudehb, Mehmet Sabir Kiraz 发表:The Korean Institute of Communications and Information Sciences 关键词:Blockchain; Security policy; Smart contract; 5G networks 年份:2019
摘要:Blockchain offers unprecedented opportunities for innovation in financial transactions. A whole new world of opportunities for banking,
lending, insurance, money transfer, investments, and stock markets awaits. However, the potential for wide-scale adoption of blockchain is
hindered with cybersecurity and privacy issues. We provide an overview of the risks and security requirements and give an outlook for future
research that could be helpful in solving some of the challenges. We also present an approach for policy specification and verification of
financial transactions based on smart contracts.
2021-04-15 12:48:12