arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2103.08577cs.CRcs.PL

可重入应用的组合安全性

Compositional Security for Reentrant Applications

Ethan Cecchetti, Siqiu Yao, Haobin Ni, Andrew C. Myers

AI总结:

针对重入攻击下组合信息流控制失效的问题,研究形式化重入通用定义与安全条件,提出带运行时机制的安全类型系统,保障智能合约等模块安全重入并修复漏洞。

摘要:

智能合约中的灾难性漏洞尖锐地提醒着我们的认知盲区:我们尚不知道如何编写能与恶意代码组合时仍保持安全的代码。长期以来,信息流控制被提出作为实现组合安全性的一种途径,即便组合来自不同信任域的软件,也能提供强保障。遗憾的是,在重入攻击存在的情况下,这一颇具吸引力的方案会失效。我们形式化定义了重入的通用概念,并提出一种安全条件,允许智能合约这类软件模块保护其关键不变量,同时保留安全形式重入的表达能力。我们提出了一个可证明强制执行安全信息流的安全类型系统;结合运行时机制,即便存在未知代码,它也能强制执行安全重入;还能帮助定位并修复近期的高关注度漏洞。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑