VNT Chain在国际期刊《IEEE Access》发表智能合约重要学术论文

VNT Chain在国际期刊《IEEE Access》发表智能合约重要学术论文

年初,我们发布了《VNTChain 2020年展望》,其中重点提及将围绕智能合约安全、隐私保护、区块链软件架构、SGX数据保护、高性能区块链等五方面展开深入技术研究。继2019年在区块链安全及隐私保护等方面取得多项研究成果后,最近我们又进一步在智能合约安全漏洞检测方面取得了重要研究进展。


VNT Chain在国际期刊《IEEE Access》发表智能合约重要学术论文

近日,VNT Chain技术社区研究员、VNT Chain首席科学家刘振广团队成员钱鹏在学术期刊《IEEE Access》上发表题目为“Towards Automated Reentrancy Detection for SmartContracts Based on Sequential Models”的期刊论文,期刊为中科院SCI分区表二区。该论文针对区块链智能合约的可重入漏洞问题,研究设计了一种基于深度学习时序模型的可重入检测方法。

近十年来,智能合约安全问题导致了巨大的损失,这已经引起了业界和学术界越来越多的公众关注。可重入漏洞是以太坊智能合约中最严重,影响最大的安全漏洞之一,著名的“The DAO”事件曾造成了60M美元的损失。通常,攻击者从某个合约进行以太币取钱操作时,这会强制执行位于攻击者合约本身的fallback函数,若是该fallback函数中隐藏了恶意的攻击行为,就可能会导致重入,从而引起重复的取钱操作。如图1所示,“Attacker合约的函数money调用Victim合约的取钱函数withdraw,这会强制执行Attacker合约中的fallback函数,从而再一次执行了取钱函数withdraw”。

VNT Chain在国际期刊《IEEE Access》发表智能合约重要学术论文

图1 智能合约重入攻击案例

该论文提出使用深度学习的方法进行智能合约漏洞检测,其利用contract snippet表示智能合约精确地捕获基本的语义信息和控制流依赖性,通过BLSTM-ATT(具有注意力机制的双向LSTM)提取和学习重入漏洞的特征信息,进行准确的判断。具体实现步骤如图2所示,包括智能合约contract snippet表示,智能合约向量化,模型训练以及重入判断。

VNT Chain在国际期刊《IEEE Access》发表智能合约重要学术论文

图2 基于时序模型的智能合约重入漏洞判断流程

(1)智能合约contract snippet表示即将智能合约中关键的函数块提取出来。例如,智能合约中可能会有一些代码注释和无关函数,这对我们的目标(即重新进入漏洞检测)没有帮助。因此,我们将智能合约压缩为具有高表现力的contract snippet,以促进更精确的特征提取。

(2)智能合约向量化即将contract snippet表示为语义上有意义的向量,以便输入模型进行训练。

(3)模型训练和重入判断即将特征向量输入到BLSTM-ATT模型中进行训练,从而最终给出重入判断的结果。

其中,对于contract snippet的处理以及向量化的过程如下图3所示。

VNT Chain在国际期刊《IEEE Access》发表智能合约重要学术论文

图3 智能合约源码contract snippet以及向量化的过程

该论文提出了第一个基于深度学习的智能合约源代码级别的智能合约重入检测方法,其在智能合约重入漏洞检测上实现了较高的准确率,主要贡献如下:

(1)在重入漏洞检测上,该方法优于最新的智能合约漏洞检测工具。

(2)提出了一种转换智能合约源代码contract snippet表示的方法,并且通过时序模型BLSTM-ATT实现了88.47%的准确率和88.26%的F1-Score。

(3)提出的深度学习方法是当前存在的智能合约安全分析工具的有竞争力的替代方法。此外,使用深度学习的方法也启发了智能合约安全分析与深度学习的结合,证实它们的可行性。

此次科研成果是我们在智能安全方面取得的重要研究突破之一,接下来我们还将继续在“基于形式化验证的新型智能合约语言”、“游戏合约的归类分析、攻击与防御”、“智能合约形式化验证和人工验证平台”等方面展开深入研究。


分享到:


相關文章: