DeFi项目漏洞检测方法、装置、设备及可读存储介质


defi项目漏洞检测方法、装置、设备及可读存储介质
技术领域
1.本技术涉及区块链技术领域,更具体地说,涉及一种defi项目漏洞检测方法、装置、设备及可读存储介质。


背景技术:



2.去中心化金融(decentralized finance,简称defi)是通过在区块链上编写智能合约实现的虚拟货币金融服务。
3.随着去中心化金融的发展,对去中心化金融项目(简称defi项目)的攻击也越来越有利可图,而闪电贷无抵押的特性,也导致利用闪电贷作为攻击资金是无需付出成本的,因此利用闪电贷对defi项目的攻击,即闪电贷攻击愈加频发,每次攻击的受损金额也愈加严重。闪电贷攻击往往利用部分defi项目对其他defi项目不安全的价格查询服务的依赖,通过操纵提供价格查询服务的defi项目扭曲部分defi项目的虚拟货币交易价格,从而进行恶意套利,最终实现攻击。现有技术一般是在闪电贷攻击发生后,对已有攻击的进行检测和分析总结,但缺乏针对闪电贷攻击发生前的预防性检测。
4.因此,如何对defi项目在被攻击前进行全面且有效的预防性检测,排除漏洞从而规避损失,是一个值得研究的问题。


技术实现要素:



5.有鉴于此,本技术提供了一种defi项目漏洞检测方法、装置、设备及可读存储介质,用于对defi项目在被攻击前进行全面且有效的预防性检测,排除漏洞从而规避损失。
6.为了实现上述目的,现提出的方案如下:
7.一种defi项目漏洞检测方法,包括:
8.获取待检测的目标defi项目的目标地址并确定所述目标地址的污点汇聚点;
9.从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码,所述源码库包含预先录入的defi项目的地址及其源码;
10.判断所述目标源码是否需要调用第三方defi项目的价格查询函数;
11.若是,则将所述第三方defi项目的价格查询函数确定为污染源
12.判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点;
13.若能,则将所述目标地址、所述污点汇聚点、所述污染源及所述污染源变量作为所述目标defi项目的漏洞数据,输出所述漏洞数据。
14.优选地,还包括:
15.将所述第三方defi项目作为新的目标defi项目,将所述第三方defi项目的地址作为新的目标地址,并确定所述新的目标地址的污点汇聚点;
16.执行所述从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码的步骤。
17.优选地,所述确定所述目标地址的污点汇聚点,包括:
18.将所述目标defi项目的货币结算函数确定为所述目标地址的污点汇聚点。
19.优选地,所述确定所述新的目标地址的污点汇聚点,包括:
20.将所述第三方defi项目的价格查询函数确定为所述新的目标地址的污点汇聚点。
21.优选地,所述源码库的建立过程,包括:
22.从智能合约开源库中获取多个defi项目的地址以及源码;
23.针对每个defi项目,以defi项目的地址为索引,以defi项目的源码为索引值,建立源码库。
24.优选地,在所述从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码之前,还包括:
25.若所述源码库中不存在所述目标地址的目标defi项目的目标源码,则从智能合约开源库中获取所述目标源码,并将所述目标源码更新到所述源码库中。
26.优选地,所述判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点,包括:
27.确定与所述污染源变量相关的嫌疑变量;
28.判断所述污染源变量与所述嫌疑变量能否传播到所述污点汇聚点。
29.一种defi项目漏洞检测装置,包括:
30.目标数据确定单元,用于获取待检测的目标defi项目的目标地址并确定所述目标地址的污点汇聚点;
31.源码获取单元,用于从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码,所述源码库包含预先录入的defi项目的地址及其源码;
32.调用判断单元,用于判断所述目标源码是否需要调用第三方defi项目的价格查询函数;
33.污染源确定单元,用于若所述目标源码需要调用第三方defi项目的价格查询函数,则将所述第三方defi项目的价格查询函数确定为污染源;
34.传播判断单元,用于判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点;
35.漏洞输出单元,用于若与所述污染源相关的污染源变量能从所述污染源传播到所述污点汇聚点,则将所述目标地址、所述污点汇聚点、所述污染源及所述污染源变量作为所述目标defi项目的漏洞数据,输出所述漏洞数据。
36.一种defi项目漏洞检测设备,包括存储器和处理器;
37.所述存储器,用于存储程序;
38.所述处理器,用于执行所述程序,实现上述defi项目漏洞检测方法的各个步骤。
39.一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述defi项目漏洞检测方法的各个步骤。
40.从上述方案可以看出,本技术提供的defi项目漏洞检测方法是一种预防性的检测方法,可以先根据目标地址确定待检测的目标defi项目的源码,再确定该源码的污点汇聚点,若目标defi项目需要调用第三方defi项目的价格查询函数,则可以将第三方defi项目的价格查询函数作为污染源,并可以判断与污染源相关的污染源变量能否从污染源传播到污点汇聚点,若能,则可以将目标地址、污点汇聚点、污染源及污染源变量作为目标defi项
目的漏洞数据进行输出。
41.显然,本技术可以根据defi项目是否需要调用第三方defi项目的价格查询函数来判断是否会引发漏洞风险,实现了在攻击前对漏洞进行检测,从而规避损失,相比现有技术的在攻击发生后进行检测、仅能避免攻击造成的损失进一步扩大化,更具备现实意义。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1为本技术实施例提供的一种defi项目漏洞检测方法的流程示意图;
44.图2为本技术实施例提供的另一种defi项目漏洞检测方法的流程示意图;
45.图3为本技术实施例公开的一种defi项目漏洞检测装置的结构示意图;
46.图4为本技术实施例公开的一种defi项目漏洞检测设备的硬件结构框图。
具体实施方式
47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.接下来对本技术的defi项目漏洞检测方法进行详细的介绍,请参照图1,图1为本技术实施例中提供的一种defi项目漏洞检测方法的流程示意图,该方法包括:
49.步骤s100:获取待检测的目标defi项目的目标地址并确定所述目标地址的污点汇聚点。
50.具体的,去中心化金融(decentralized finance)项目,简称defi项目,是一类通过以太坊等区块链系统上智能合约编码实现的金融服务项目,其本质是一种智能合约,智能合约可以包含地址和源码。
51.因此,为了检测defi项目的漏洞,可以获取待检测的目标defi项目的目标地址,并可以确定该目标地址的污点汇聚点。其中,污点汇聚点可以是由目标defi项目的漏洞产生的数据的途径点或汇聚点。
52.在本技术的实施例中,目标defi项目的污点汇聚点可以是目标defi项目的货币结算函数,货币结算函数可以是目标defi项目在交易结算货币时调用的函数。
53.步骤s110:从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码,所述源码库包含预先录入的defi项目的地址及其源码。
54.具体的,预先建立的源码库可以包含多个defi项目的源码,因此,可以从源码库中获取目标defi项目的目标源码,用于后续的漏洞分析。
55.步骤s120:判断所述目标源码是否需要调用第三方defi项目的价格查询函数,若是,则执行步骤s130。
56.具体的,目标源码是目标defi项目的具体实现逻辑,判断目标源码是否需要调用
第三方defi项目的价格查询函数,及判断目标defi项目在实现过程中是否需要依赖第三方defi项目的价格查询函数。
57.其中,价格查询函数可以是目标defi项目在进行货币结算交易时,用于查询不同货币间的汇率关系的函数。
58.又因为,调用第三方defi项目的价格查询函数时有可能存在支付风险,因此,对于调用第三方defi项目的价格查询函数的目标defi项目可以执行步骤s130。
59.此外,若目标defi项目不需要调用第三方defi项目的价格查询函数,则可以说明目标defi项目不存在漏洞,此时可以结束漏洞检测。
60.步骤s130:将所述第三方defi项目的价格查询函数确定为污染源。
61.具体的,污染源可以是导致目标defi项目产生漏洞的根源,因此可以将存在支付风险的第三方defi项目的价格查询函数确定为污染源。
62.步骤s140:判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点,若能,则执行步骤s150。
63.具体的,由第三方defi项目的价格查询函数产生的程序变量可以作为由污染源引入的污染源变量,然后可以根据污点汇聚点在运作过程中是否会用到不经无害处理的污染源变量来判断污染源变量能否传播到污点汇聚点,若能,则可以执行步骤s150。
64.其中,无害处理后的污染源变量可以避免引起目标defi项目的漏洞风险。
65.步骤s150:将所述目标地址、所述污点汇聚点、所述污染源及所述污染源变量作为所述目标defi项目的漏洞数据,输出所述漏洞数据。
66.具体的,污染源变量能够传播到污点汇聚点,则可以说明目标defi项目存在漏洞,示例如:支付风险、交易风险等,因此可以将目标地址、污点汇聚点、污染源及污染源变量作为目标defi项目的漏洞数据,进而输出该漏洞数据。
67.其中,每个目标defi项目可能存在多个污染源,而每一个污染源导致的漏洞可以作为一条漏洞数据进行存储,并可以对每条漏洞数据作解释说明。
68.假设目标地址的具体值可以定义为kr,污点汇聚点的具体值可以定义为ti.sinks,污染源的具体值可以定义为s
x
,污染源的具体值可以定义为e
x
,那么上述介绍的解释说明可以包括:在kr的defi项目中,不安全的虚拟货币价格s
x
在传播e
x
时,在ti.sinks用作了危险操作。
69.从上述方案可以看出,本技术可以根据defi项目是否需要调用第三方defi项目的价格查询函数,并判断由第三方defi项目的价格查询函数引入的污染源变量能否传播到污点汇聚点,来判断目标defi项目是否会引发漏洞风险,实现了在攻击前对漏洞进行检测,从而规避损失。
70.考虑到,第三方defi项目可能也需要调用其它defi项目的价格查询函数,此过程同样会存在漏洞,因此本技术实施例还可以增加一个检测调用其它defi项目是否会存在漏洞的过程,详情请参照图2。
71.具体的,在确定目标源码需要调用第三方defi项目的价格查询函数之后,可以增加以下步骤:
72.步骤s160:将所述第三方defi项目作为新的目标defi项目,将所述第三方defi项目的地址作为新的目标地址,并确定所述新的目标地址的污点汇聚点。
73.具体的,可以将第三方defi项目作为新的待检测的目标defi项目,将第三方defi项目的地址作为新的目标地址。
74.由于第三方defi项目调用其它defi项目的价格查询函数导致产生漏洞,因此,可以将其它defi项目的价格查询函数确定为新的目标地址的污点汇聚点。
75.执行步骤s160后,可以执行步骤s110及其后续步骤。步骤s110及其后续可以参照前述实施例的介绍,此处不再赘述。
76.从上述方案可以看出,本技术实施例可以扩大检测的范围,能够对与目标defi项目存在不安全的依赖关系的其他所有defi项目间进行递归检测,相比于现有技术的仅能检测已被利用的不安全的依赖关系,无法检测未被发现的漏洞而言,本技术实施例检测范围更广、更全面,极大地提高了漏洞检测结果的可靠性。
77.在本技术的一些实施例中,介绍了步骤s110,从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码的过程,接下来将介绍源码库的建立过程。
78.具体的,建立源码库的过程可以包括以下步骤:
79.s1、从智能合约开源库中获取多个defi项目的地址以及源码。
80.具体的,可以从智能合约开源库中获取所有开源defi项目的智能合约源码以及对应的智能合约部署地址。其中,智能合约开源库可以是以太坊的区块浏览器和数据平台,etherscan,也可以是包含开源defi项目的其它源码库。
81.s2、针对每个defi项目,以defi项目的地址为索引,以defi项目的源码为索引值,建立源码库。
82.具体的,可以以defi项目的地址为索引,以defi项目的源码为索引值,建立每个defi项目的索引关系,并可以将所有的defi项目存储到源码库中。
83.考虑到,源码库中可能并每没有及时存储目标地址对应的目标源码,因此本技术实施例还可以增加一个更新源码库的过程。
84.具体的,该过程可以包括以下步骤:
85.若所述源码库中不存在所述目标地址的目标defi项目的目标源码,则从智能合约开源库中获取所述目标源码,并将所述目标源码更新到所述源码库中。
86.具体的,可以从智能合约开源库中获取目标源码,并以目标地址为索引,以获取到的目标源码为索引值,在源码库中建立索引关系,并可以将目标源码储存到源码库中。
87.从上述方案可以看出,建立源码库可以在确定目标地址后快速获取目标地址的目标源码,而无需从其它渠道搜索目标源码或下载源码,可以提高defi项目漏洞检测的效率和规范管理各个defi项目的源码。
88.在本技术的一些实施例中,介绍了上述步骤s140,判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点的过程,接下来将对该过程作进一步说明。
89.具体的,该过程可以包括以下步骤:
90.s1、确定与所述污染源变量相关的嫌疑变量。
91.具体的,嫌疑变量可以由污染源变量直接或间接产生,嫌疑变量可以包括:由污染源变量直接赋值得到的程序变量,或由与污染源变量相关的某个函数调用关系得到的程序变量,或根据污染源变量的指针传播关系得到的程序变量。
92.s2、判断所述污染源变量与所述嫌疑变量能否传播到所述污点汇聚点。
93.具体的,可以根据污点汇聚点在运作过程中是否会用到不经无害处理的污染源变量,和/或嫌疑变量来判断污染源变量与嫌疑变量能否传播到污点汇聚点。
94.从上述方案可以看出,判断污染源变量以及与污染源变量相关的嫌疑变量是否会传播到污点汇聚点,可以全面的检测污染源变量造成的影响,从而可以判断出污染源变量是否会引起漏洞风险。
95.下面对本技术实施例提供的defi项目漏洞检测装置进行描述,下文描述的defi项目漏洞检测装置与上文描述的defi项目漏洞检测方法可相互对应参照。
96.首先,结合图3对defi项目漏洞检测装置进行介绍,如图3所示,该defi项目漏洞检测装置可以包括:
97.目标数据确定单元100,用于获取待检测的目标defi项目的目标地址并确定所述目标地址的污点汇聚点;
98.源码获取单元110,用于从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码,所述源码库包含预先录入的defi项目的地址及其源码;
99.调用判断单元120,用于判断所述目标源码是否需要调用第三方defi项目的价格查询函数;
100.污染源确定单元130,用于若所述目标源码需要调用第三方defi项目的价格查询函数,则将所述第三方defi项目的价格查询函数确定为污染源;
101.传播判断单元140,用于判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点;
102.漏洞输出单元150,用于若与所述污染源相关的污染源变量能从所述污染源传播到所述污点汇聚点,则将所述目标地址、所述污点汇聚点、所述污染源及所述污染源变量作为所述目标defi项目的漏洞数据,输出所述漏洞数据。
103.可选的,所述defi项目漏洞检测装置,还可以包括:
104.其它目标数据确定单元,用于将所述第三方defi项目作为新的目标defi项目,将所述第三方defi项目的地址作为新的目标地址,并确定所述新的目标地址的污点汇聚点;
105.源码获取再执行单元,用于执行所述从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码的步骤。
106.可选的,所述目标数据确定单元,可以包括:
107.第一污点汇聚点确定单元,用于将所述目标defi项目的货币结算函数确定为所述目标地址的污点汇聚点。
108.可选的,所述其它目标数据确定单元,可以包括:
109.第二污点汇聚点确定单元,用于将所述第三方defi项目的价格查询函数确定为所述新的目标地址的污点汇聚点。
110.可选的,所述defi项目漏洞检测装置,还可以包括:
111.目标项目获取单元,用于从智能合约开源库中获取多个defi项目的地址以及源码;
112.源码库建立单元,用于针对每个defi项目,以defi项目的地址为索引,以defi项目的源码为索引值,建立源码库。
113.可选的,所述defi项目漏洞检测装置,还可以包括:
114.源码库更新单元,用于在所述从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码之前,若所述源码库中不存在所述目标地址的目标defi项目的目标源码,则从智能合约开源库中获取所述目标源码,并将所述目标源码更新到所述源码库中。
115.可选的,所述传播判断单元,可以包括:
116.嫌疑变量确定单元,用于确定与所述污染源变量相关的嫌疑变量;
117.污染传播判断单元,用于判断所述污染源变量与所述嫌疑变量能否传播到所述污点汇聚点。
118.本技术实施例提供的defi项目漏洞检测装置可应用于defi项目漏洞检测设备。图4示出了defi项目漏洞检测设备的硬件结构框图,参照图4,defi项目漏洞检测设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
119.在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
120.处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
121.存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
122.其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
123.获取待检测的目标defi项目的目标地址并确定所述目标地址的污点汇聚点;
124.从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码,所述源码库包含预先录入的defi项目的地址及其源码;
125.判断所述目标源码是否需要调用第三方defi项目的价格查询函数;
126.若是,则将所述第三方defi项目的价格查询函数确定为污染源;
127.判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点;
128.若能,则将所述目标地址、所述污点汇聚点、所述污染源及所述污染源变量作为所述目标defi项目的漏洞数据,输出所述漏洞数据。
129.可选的,所述程序的细化功能和扩展功能可参照上文描述。
130.本技术实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
131.获取待检测的目标defi项目的目标地址并确定所述目标地址的污点汇聚点;
132.从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码,所述源码库包含预先录入的defi项目的地址及其源码;
133.判断所述目标源码是否需要调用第三方defi项目的价格查询函数;
134.若是,则将所述第三方defi项目的价格查询函数确定为污染源;
135.判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点;
136.若能,则将所述目标地址、所述污点汇聚点、所述污染源及所述污染源变量作为所述目标defi项目的漏洞数据,输出所述漏洞数据。
137.可选的,所述程序的细化功能和扩展功能可参照上文描述。
138.最后,还需要说明的是,在本文中,诸如目标和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
139.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
140.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:


1.一种defi项目漏洞检测方法,其特征在于,包括:获取待检测的目标defi项目的目标地址并确定所述目标地址的污点汇聚点;从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码,所述源码库包含预先录入的defi项目的地址及其源码;判断所述目标源码是否需要调用第三方defi项目的价格查询函数;若是,则将所述第三方defi项目的价格查询函数确定为污染源;判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点;若能,则将所述目标地址、所述污点汇聚点、所述污染源及所述污染源变量作为所述目标defi项目的漏洞数据,输出所述漏洞数据。2.根据权利要求1所述的方法,其特征在于,还包括:将所述第三方defi项目作为新的目标defi项目,将所述第三方defi项目的地址作为新的目标地址,并确定所述新的目标地址的污点汇聚点;执行所述从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码的步骤。3.根据权利要求1所述的方法,其特征在于,所述确定所述目标地址的污点汇聚点,包括:将所述目标defi项目的货币结算函数确定为所述目标地址的污点汇聚点。4.根据权利要求2所述的方法,其特征在于,所述确定所述新的目标地址的污点汇聚点,包括:将所述第三方defi项目的价格查询函数确定为所述新的目标地址的污点汇聚点。5.根据权利要求1所述的方法,其特征在于,所述源码库的建立过程,包括:从智能合约开源库中获取多个defi项目的地址以及源码;针对每个defi项目,以defi项目的地址为索引,以defi项目的源码为索引值,建立源码库。6.根据权利要求1所述的方法,其特征在于,在所述从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码之前,还包括:若所述源码库中不存在所述目标地址的目标defi项目的目标源码,则从智能合约开源库中获取所述目标源码,并将所述目标源码更新到所述源码库中。7.根据权利要求1-6任一项所述的方法,其特征在于,所述判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点,包括:确定与所述污染源变量相关的嫌疑变量;判断所述污染源变量与所述嫌疑变量能否传播到所述污点汇聚点。8.一种defi项目漏洞检测装置,其特征在于,包括:目标数据确定单元,用于获取待检测的目标defi项目的目标地址并确定所述目标地址的污点汇聚点;源码获取单元,用于从预先建立的源码库中获取所述目标地址的目标defi项目的目标源码,所述源码库包含预先录入的defi项目的地址及其源码;调用判断单元,用于判断所述目标源码是否需要调用第三方defi项目的价格查询函数;
污染源确定单元,用于若所述目标源码需要调用第三方defi项目的价格查询函数,则将所述第三方defi项目的价格查询函数确定为污染源;传播判断单元,用于判断由所述污染源引入的污染源变量能否传播到所述污点汇聚点;漏洞输出单元,用于若与所述污染源相关的污染源变量能从所述污染源传播到所述污点汇聚点,则将所述目标地址、所述污点汇聚点、所述污染源及所述污染源变量作为所述目标defi项目的漏洞数据,输出所述漏洞数据。9.一种defi项目漏洞检测设备,其特征在于,包括存储器和处理器;所述存储器,用于存储程序;所述处理器,用于执行所述程序,实现如权利要求1-7任一项的defi项目漏洞检测方法的各个步骤。10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-7任一项的defi项目漏洞检测方法的各个步骤。

技术总结


本申请公开了一种DeFi项目漏洞检测方法、装置、设备及可读存储介质,方法包括:先根据目标地址确定待检测的目标DeFi项目的源码,再确定该源码的污点汇聚点;若目标DeFi项目需要调用第三方DeFi项目的价格查询函数,则将第三方DeFi项目的价格查询函数作为污染源;并判断与污染源相关的污染源变量能否从污染源传播到污点汇聚点;若能,则将目标地址、污点汇聚点、污染源及污染源变量作为目标DeFi项目的漏洞数据进行输出。显然,本申请根据DeFi项目是否需要调用第三方DeFi项目的价格查询函数来判断是否会引发漏洞风险,实现了在攻击前对漏洞进行检测,从而规避损失,相比现有技术的在攻击发生后进行检测、仅能避免攻击造成的损失进一步扩大化,更具备现实意义。更具备现实意义。更具备现实意义。


技术研发人员:

郑子彬 黄明源 孔雀屏

受保护的技术使用者:

中山大学

技术研发日:

2022.10.12

技术公布日:

2022/12/9

本文发布于:2024-09-22 15:50:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/31093.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   目标   项目   污染源
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议