本发明涉及信息安全,特别涉及一种基于字节码分析的智能合约闪电贷攻击预警系统及方法。
背景技术:
1、智能合约是一种在区块链上运行的计算机程序,并具有基于区块链的去中心化、公开透明和不可篡改的特性。在实际应用中区块链上的智能合约由于一旦部署不容易被篡改的特点,如果部署的合约内部存在漏洞,则无法通过修改代码来修复,容易使智能合约称为攻击目标。
2、闪电贷攻击是一种智能合约领域的主要安全威胁。黑客利用闪电贷攻击能够轻松获取大额资金,而不必冒着自身资产损失的风险,从而攻击门槛降低,容易导致许多链上黑客事件。
3、传统的智能合约安全审计方式主要仰赖人工代码审查,然而,人工审查耗费大量时间和人力资源,因此不适用于大规模智能合约的审核;其次,由于黑客在链上部署攻击合约后并未开源,无法阅读其源代码;再次,由于链上部署合约众多,无法每一个合约都采取人工审计的方式。
4、现有技术中,现有检测方式主要依赖于静态规则和已知攻击特征的匹配,规则就是根据闪电贷的特征去比对当前交易是否存在相应的特征,来识别闪电贷攻击。其中,静态的特征包括提供闪电贷服务的智能合约地址,闪电贷相关的事件,调用关系及其构成闪电贷的执行顺序,闪电贷贷出的虚拟货币的种类及对应的数量等等。
5、由于现有技术中静态的特征依赖于智能合约与闪电贷的内部逻辑关系,如果项目升级、合约重新部署并修改了内部逻辑,则静态特征会失效,无法适用于新的项目或合约的识别检测,因此,在识别新型或变种攻击时具有局限性。
6、故,研究和开发自动化、高效、准确地检测和防范闪电贷攻击的方法已经成为区块链技术和智能合约安全领域的紧迫议题。因此,本发明提供一种基于字节码分析的智能合约闪电贷攻击预警系统及方法,以解决现有技术中存在的问题。
技术实现思路
1、本发明目的是:提供一种基于字节码分析的智能合约闪电贷攻击预警系统及方法,以解决现有技术中闪电贷攻击检测依赖于静态规则和特征,无法满足应对动态变化的攻击策略以保持网络安全的技术问题。
2、本发明的技术方案是:一种基于字节码分析的智能合约闪电贷攻击预警系统,包括:
3、新交易初筛模块,与区块链的开发平台连接,对区块链上出现的新交易的地址进行分析,剔除掉不符合条件的交易;
4、交易状态分析模块,与中心化交易所管理平台和混币平台连接,用于分析新部署合约交易的资金状态和字节码状态,
5、提取判断模块,与新交易初筛模块和分析识别模块电性连接;
6、提取判断模块接收新交易初筛模块筛选结果并提取出新部署合约交易,并将新部署合约交易传输给分析识别模块;
7、提取判断模块根据分析识别模块对新部署合约交易的分析结果,判断交易是否使用闪电贷,提取判断模块将提取出的使用闪电贷的交易通过预警模块推送和播报出去,进行预警。
8、优选的,通过新交易初筛模块和交易状态分析模块对链上新交易的地址、资金状态和字节码状态进行层层分析和筛选,识别使用闪电贷的交易,对使用闪电贷的交易进行全平台关联预警,能够在攻击交易完成之前标识可能是闪电贷攻击的交易,并在攻击交易完成时直接锁定。
9、优选的,新交易初筛模块筛选交易的条件为:新交易中没有to地址;筛除掉不符合条件的交易过程为:
10、外部账户交互交易删除:删除外部账户中带to地址的交易;
11、合约交易删除:删除合约交易中带to地址的交易;
12、经过外部账户和合约账户to地址的交易删除操作,筛选出新部署合约交易。
13、优选的,分析识别模块包括资金来源分析单元、字节码提取单元和字节码分析单元;
14、资金来源分析单元筛选出地址资金来源于混币平台的交易;
15、字节码提取单元对资金来源分析单元筛选出的交易进行字节码提取;
16、字节码分析单元对字节码提取出的字节码进行字节码分析,以识别出使用闪电贷的交易。
17、优选的,资金来源分析单元筛选出地址资金来源于混币平台的交易,过程包括:
18、在筛选出的新部署合约交易中,提取from地址;
19、查询from地址的所有内部交易;
20、筛选出内部交易中资金来源为混币平台的交易。
21、优选的,字节码分析单元对字节码进行分析的流程包括:
22、构建闪电贷接收函数队列,
23、获取闪电贷接收函数的函数选择器;
24、基于获取的函数选择器,对获取的合约字节码进行遍历匹配,筛选出字节码中存在闪电贷接收函数的交易,并标识。
25、优选的,提取判断模块基于分析识别模块的识别结果,通过预警模块对使用闪电贷的交易进行预警,将识别出的交易推送到项目方和安全师,进行播报,提醒用户小心警惕。
26、一种基于字节码分析的智能合约闪电贷攻击预警方法,包括步骤:
27、实时监测区块链上的动态,并提取新的交易;
28、将新交易中带有to地址的合约交易筛除,获得剩下的可疑交易;
29、对可疑交易进行资金来源分析,对资金来自混币平台的交易,进行字节码提取;
30、对字节码与闪电贷接收函数的匹配情况进行分析;
31、对字节码与闪电贷接收函数匹配的交易,进行预警。
32、与现有技术相比,本发明的优点是:
33、(1)本发明实时监测区块链上的交易,并对新交易进行分类和筛选,仅保留与智能合约部署相关的交易,降低计算成本,减少资源浪费;然后聚焦于可能存在攻击行为的交易,进行字节码分析,锁定闪电贷交易,提高了攻击检测的实时性和敏感性,更快速地响应攻击,提高效率。
34、(2)本发明通过设置字节码提取单元和字节码分析单元,对字节码进行提取和分析,并聚焦分析以确认合约中是否存在闪电贷接收函数,闪电贷函数的具体逻辑或调用路径不再是考虑的特征因素,无论闪电贷函数逻辑出现何种变化或攻击者采用何种策略来更改调用路径,都能够被识别出来,扩大了攻击识别范围,提高整体网络安全性,能够检测和阻止各种复杂、隐蔽甚至新型的攻击策略,提高了攻击检测的全面性和准确性。
35、本发明通过分析可疑资金来源和所有闪电贷攻击的特征,不仅关注攻击的静态特征,还基于字节码分析与闪电贷接收函数选择器比对的方式,使得检测系统能够无视合约代码的不断变化,动态地适应性识别能力确保本发明提供的预警系统具备持续的安全性,不受合约代码变化或新业务趋势的干扰。
36、(3)本发明专注于闪电贷攻击检测,将分析范围限定在闪电贷,并着重分析字节码和闪电贷接收函数,检测更加精准聚焦,极大地减少误报率,提高了攻击检测的准确性。
1.一种基于字节码分析的智能合约闪电贷攻击预警系统,其特征在于,包括:
2.根据权利要求1所述的一种基于字节码分析的智能合约闪电贷攻击预警系统,其特征在于,通过新交易初筛模块和交易状态分析模块对链上新交易的地址、资金状态和字节码状态进行层层分析和筛选,识别出使用闪电贷的交易,对使用闪电贷的交易进行全平台关联预警,能够在攻击交易完成之前标识疑似是闪电贷攻击的交易,并在攻击交易完成时直接锁定。
3.根据权利要求1所述的一种基于字节码分析的智能合约闪电贷攻击预警系统,其特征在于,新交易初筛模块筛选交易的条件为:新交易中没有to地址;筛除不符合条件的交易过程为:
4.根据权利要求2所述的一种基于字节码分析的智能合约闪电贷攻击预警系统,其特征在于,分析识别模块包括资金来源分析单元、字节码提取单元和字节码分析单元;
5.根据权利要求4所述的一种基于字节码分析的智能合约闪电贷攻击预警系统,其特征在于,
6.根据权利要求4所述的一种基于字节码分析的智能合约闪电贷攻击预警系统,其特征在于,字节码分析单元对字节码进行分析的流程包括:
7.根据权利要求1所述的一种基于字节码分析的智能合约闪电贷攻击预警系统,其特征在于,提取判断模块基于分析识别模块的识别结果,通过预警模块对使用闪电贷的交易进行预警,将识别出的交易推送到项目方和安全师,进行播报,提醒用户小心警惕。
8.根据权利要求1-7任一项所述基于字节码分析的智能合约闪电贷攻击预警方法,其特征在于,包括步骤: