Compositional Security for Reentrant Applications

03/15/2021
by   Ethan Cecchetti, et al.
0

The disastrous vulnerabilities in smart contracts sharply remind us of our ignorance: we do not know how to write code that is secure in composition with malicious code. Information flow control has long been proposed as a way to achieve compositional security, offering strong guarantees even when combining software from different trust domains. Unfortunately, this appealing story breaks down in the presence of reentrancy attacks. We formalize a general definition of reentrancy and introduce a security condition that allows software modules like smart contracts to protect their key invariants while retaining the expressive power of safe forms of reentrancy. We present a security type system that provably enforces secure information flow; in conjunction with run-time mechanisms, it enforces secure reentrancy even in the presence of unknown code; and it helps locate and correct recent high-profile vulnerabilities.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/06/2021

sGUARD: Towards Fixing Vulnerable Smart Contracts Automatically

Smart contracts are distributed, self-enforcing programs executing on to...
research
06/06/2020

Hardware-Software Contracts for Secure Speculation

Since the discovery of Spectre, a large number of hardware mechanisms fo...
research
03/14/2020

Security Analysis of EOSIO Smart Contracts

The EOSIO blockchain, one of the representative Delegated Proof-of-Stake...
research
07/22/2018

Taint Tracking for WebAssembly

WebAssembly seeks to provide an alternative to running large and untrust...
research
03/30/2020

SmartCert: Redesigning Digital Certificates with Smart Contracts

The Transport Layer Security (TLS) protocol and its public-key infrastru...
research
08/29/2017

Nonmalleable Information Flow: Technical Report

Noninterference is a popular semantic security condition because it offe...
research
05/06/2022

Unlimited Lives: Secure In-Process Rollback with Isolated Domains

The use of unsafe programming languages still remains one of the major r...

Please sign up or login with your details

Forgot password? Click here to reset