中文

具有安全控制流的智能合约语言

密码学与安全 2025-04-24 v2 编程语言

摘要

智能合约常因基于误导性臣僚、重入和错误处理方式的控制流攻击而暴露于风险。这些攻击利用多个可能未知合约之间复杂的交互。现有防御漏洞的最佳实践依赖于代码模式和启发式方法,产生假阳性和假阴性。即便进行了大量审计和启发式工具,新的漏洞仍不断出现,常常导致数百万美元的损失。我们提出 SCIF,一种用于安全智能合约的语言,旨在解决这些控制流攻击。通过以原则性方式扩展安全信息流机制,SCIF 强制执行经典的端到端信息流安全以及对控制流的新安全限制,即便 SCIF 合约与恶意非 SCIF 代码交互亦然。SCIF 以 Solidity 作为目标语言实现。我们展示了 SCIF 如何通过针对具有复杂安全推理和大量不安全代码的案例研究,以最小开销实现安全。

关键词

引用

@article{arxiv.2407.01204,
  title  = {A Language for Smart Contracts with Secure Control Flow (Technical Report)},
  author = {Siqiu Yao and Haobin Ni and Stephanie Ma and Noah Schiff and Andrew C. Myers and Ethan Cecchetti},
  journal= {arXiv preprint arXiv:2407.01204},
  year   = {2025}
}