【技术实现步骤摘要】
一种基于静态分析的智能合约隐私泄露检测方法
[0001]本专利技术属于区块链安全的
,具体涉及一种基于静态分析的智能合约隐私泄露检测方法。
技术介绍
[0002]智能合约的概念最早追溯到1995年,由尼克
·
萨博首次提出。智能合约是以数字形式定义的一套承诺,包括合约参与方执行这些承诺的协议。作为图灵完备的编程语言,智能合约可以最大限度地满足现实场景的开发,不再需要通过中介来完成传统的业务流程,提高了执行业务的效率且减少了由于人为的过失引起的风险。然而,非许可链上的合约会公开在区块链上,所有节点都可以执行合约;许可链通过设置访问控制策略来实现隐私保护,但是通道内的节点也可以访问到与交易无关的数据。流量分析、聚类分析等这类反匿名技术的出现促使攻击者分析已有的信息进而追踪交易轨迹,提取大量用户身份、用户地址等用户不愿意透露的信息。由于区块链的不可篡改性,用户的隐私信息一旦泄露,将永远公开在区块链上,所带来的损失将难以挽回。因此,对隐私泄露进行自动检测可以有效缓解隐私泄露所带来的严重后果。本文利用静态分析的方 ...
【技术保护点】
【技术特征摘要】
1.一种基于静态分析的智能合约隐私泄露检测方法,包括步骤如下:1)智能合约中隐私信息的分类:分析智能合约中隐私泄露的原因,总结并定义智能合约中隐私信息的类型,分别为用户身份信息、账户地址信息以及交易内容信息,并根据这三类信息构建隐私相关的词库;2)隐私信息的存在形式分析:分析智能合约中出现隐私信息的形式,隐私信息通常出现在合约名、状态变量名、函数名、事件名、结构体名、结构体中的变量名、枚举类型名以及合约注释中;3)注释及代码的信息提取:利用TextRank算法提取文本类型的智能合约注释中的关键词;构建智能合约代码的抽象语法树,根据节点类型提取步骤2)中所需要提取的信息;4)相似度阈值确定及隐私泄露检测:将步骤3)中提取的单词与步骤1)中构建的隐私相关的词库中的单词计算相似度,通过选取标记过的实验数据进行评估,利用精度、假阳率和假阴率这三个评估指标选择合适的相似度阈值,超过该阈值的智能合约可能会存在隐私泄露。2.根据权利要求1所述的基于静态分析的智能合约隐私检测泄露方法,其特征在于,所述步骤1)中三类隐私信息主要有:11)用户身份信息涉及用户个人的相关私密信息,包括真实姓名、性别、年龄、住址、身份证号,12)账户地址信息为账户及账户间的交易关系,主要包括账户地址的余额、账户之间的交易联系以及账户地址的交易记录;13)交...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。