以太坊智能合约安全漏洞分类及测试用例集,包含了37种以太坊solidity代码漏洞。 SWC以太坊智能合约漏洞库清单如下: SWC-100:未声明函数可见性 SWC-101:整数溢出 SWC-102:使用过时的编译器 SWC-103:未锁定的pragma声明 SWC-104:未检查的调用范围值 SWC-105:无保护的以太币提款 SWC-106:无保护的SELFDESTRUCT指令 SWC-107:重入漏洞 SWC-108:未声明状态变量可见性 SWC-109:未初始化的存储指针 SWC-110:触发assert断言 SWC-111:使用过时的solidity函数 SWC-112:委托调用非可信合约 SWC-113:失败调用引发的DoS攻击 SWC-114:交易顺序依赖 SWC-115:利用tx.origin授权 SWC-116:使用区块值作为时间计量 SWC-117:签名的非唯一性 SWC-118:错误的构造函数名 SWC-119:影子状态变量 SWC-120:基于链属性的弱随机性 SWC-121:未保护签名重放攻击 SWC-122:缺乏适当的签名验证 。。。。。。
1
智能合约安全验证标准 SCSVS (v1.1) 是一个由 14 部分组成的免费检查表,旨在为开发人员、架构师、安全审核人员和供应商标准化智能合约的安全性。通过在智能合约开发周期的每个阶段 (从设计到实现) 提供指导,此列表有助于避免大多数已知的安全问题和漏洞。他的目标是帮助开发高质量的智能合约代码;帮助减轻已知的设计漏洞;为安全审查人员提供一个检查表;就智能合约的安全性与 SCSVS 覆盖率的关系提供清晰可靠的评估;作为正式威胁建模练习的起点。它可以作为衡量您的智能合约安全性和成熟度的一个指标;作为智能合约渗透测试或安全审计的范围界定文档;作为正式的安全需求列表,供开发人员或为您开发智能合约的第三方使用;作为开发人员的自我检查;指出在安全方面需要进一步发展的领域。
2022-05-12 18:13:21 592KB 智能合约 安全验证 SCSVS 以太坊
1
第四章 智能合约的安全问题 目前,以太坊中总计约有一亿以太币,按市场价(1以太价值 150美元), 总市值约为 150亿美元。广泛的应用也暴露了以太坊的一些漏洞,并被一些攻击 者利用,出现了 TheDao Bug(损失 6000万美元)、Parity Bug(300万以太币无 法取出)等严重的漏洞。这些漏洞使人们对以太坊的安全性产生了怀疑。由于其 他智能合约平台大多都参考了以太坊的底层架构,这些平台同样会受到这些攻击 的威胁。智能合约的安全机制与漏洞涉及到整个以太坊架构的各个层次。目前, 智能合约的安全已经成为智能合约开发者必须考虑且重视的问题[5]。 4.1 智能合约中的漏洞分类 在本节中,我们先对以太坊智能合约的安全漏洞进行归纳。此外,我们通过 一个代码片段说明每个在 Solidity层级的漏洞。所有这些漏洞可以被利用(实际 上,大多数漏洞)来进行攻击,例如从合约中盗取以太币。 Call to the unknown. Solidity中用于调用函数和转移以太币的某些语法可能 具有调用被调用者/接收者的 fallback函数的副作用[3]。我们在下面说明它们。 -call调用一个函数(另一个合约的或本身的函数),并将以太币转移给被调 用者。 例如,可以按以下方式调用合约 c的函数 ping: c.call.value(amount)(bytes4(sha3("ping(uint256)")),n); 其中,被调用函数由其哈希签名的前 4个字节标识,amount决定必须将多 少 wei传递给合约 c,而 n是 ping函数的实际参数。值得注意的是,如果在地址 c处不存在具有给定签名的函数,则执行合约 c的 fallback函数作为替代。 -send用于将以太币从运行中的合约转移到某个接收者 r,如 r.send(amount) 所示。以太币被转移后,send执行接受者的 fallback函数。与 send相关的其他 漏洞在“exception disorders”和“gasless send”中进行了详细说明。 -delegatecall与 call非常相似,区别在于被调用函数的调用在调用者环境中 运行。 例如,执行 c.delegatecall(bytes4(sha3(“ping(uint256)”)),n), 如果 ping包含变量 this,它将引用调用者的地址而不是合约 c的,并且在以太 币转移到某个接收者 d的情况下-通过 d.send(amount)-从调用者 balance中提 取以太币。
2021-11-24 16:14:30 1.98MB 以太坊 智能合约 MPT树 智能合约安全
1
区块链技术伴随着数字货币比特币产生,是一个具有全网一致性共识、去中心化、可编程和安全防篡改等特点的分布式数据账本,目前在数字金融货币领域的应用最为广泛。区块链技术的不断发展和更新,为其与更多领域的融合提供了可能性,可构建不同的可编程行业区块链系统。面向未来区块链技术的发展,介绍区块链技术的背景和基本框架,详细讨论区块链的关键技术:共识机制、智能合约以及安全隐私问题,研究区块链技术与5G、物联网和边缘计算的融合。对区块链技术的研究进展进行概括,重点关注跨链技术和可扩展性问题,并分析未来区块链物联网系统的发展方向。
2021-11-04 21:14:38 1.57MB 区块链 共识机制 智能合约 安全隐私
1
尽量通俗易懂,由浅入深的介绍了被称为区块链2.0的以太坊的基本架构和算法,包括MPT树,以太坊数据结构,区块验证机制,智能合约的执行机制等,并且结合了两个简单的智能合约进行了讲解。然后介绍了一些以太坊中出现的漏洞以及攻击。最后给出了两个智能合约的应用实例,其中一个包含源代码
2021-10-01 12:02:34 1.98MB 以太坊 智能合约 MPT树 智能合约安全
1
区块链智能合约安全研究 金融安全 渗透测试 安全测试 安全建设 大数据
2021-09-09 13:00:09 3.92MB 漏洞分析 安全实践 应急响应 渗透测试
本文研究了在类似于加密货币的开放分布式网络中运行Ethereum智能合约的安全性。我们引入了几个新的安全问题,在这些问题中,对手可以通过巧妙地执行合约来获取利润。这些bug表明,在理解底层平台的分布式语义方面存在细微的差异。作为一种改进,我们提出了增强Ethereum操作语义的方法,使合约不那么脆弱。对于为现有Ethereum系统编写契约的开发人员,构建了一个名为Oyente的符号执行工具,以发现潜在的安全bug。讨论了几个具有源代码的案例研究的攻击严重性,并在主要的Ethereum网络中确认了攻击。
2021-08-18 14:07:14 522KB 智能合约安全工具 Oyente
1
智能合约安全开发 相关概念 安全事件 审计之路 常见漏洞 常用工具
2021-08-08 13:00:36 4.31MB 区块链 智能合约 安全审计 漏洞挖掘
201806 智能合约安全之形式化验证研究报告.pdf
2021-04-03 16:12:52 1.05MB 智能合约 验证技术 区块链
1