当前位置: 首页 > news >正文

国际顶级学术会议ISSTA召开,中山大学与微众银行联合发表区块链最新研究成果

美国当地时间7月17日,软件工程领域顶级会议ISSTA 2023在西雅图正式召开。ISSTA (The 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis )是软件测试与分析方面最著名的国际会议之一,也是中国计算机学会推荐的A类国际学术会议(CCF-A)。在本次会议中,中山大学软件工程学院与微众银行联合发表了区块链最新研究成果,该研究针对智能合约中的状态不一致所导致的逻辑漏洞,提出了一种新型模糊测试框架。

参与本次研究的成员包括中山大学博士生叶铭熙、硕士生吴东鹏,指导教师为中山大学教授郑子彬、副教授南雨宏以及微众银行区块链底层平台研发负责人李辉忠。该研究同时得到了国家重点研发计划、国家自然科学基金及微众学者计划等项目的支持。

其中,微众学者计划是由微众银行发起成立的高标准、高规格的创新研究项目,以金融业务实际需求及未来技术发展方向为依托,旨在通过与高校实干型优秀青年学者合作,储备学术界及企业科研力量,聚焦实际产业痛点问题,在真实商业场景中进行科研实践。郑子彬教授凭借在区块链领域的卓越研究及杰出贡献入选首批微众学者计划,承担区块链方向课题,基于FISCO BCOS开源区块链底层平台的智能合约场景,构建易于使用的智能合约一致性验证及高效的安全性验证平台。

研究介绍

近年来,区块链技术快速发展,智能合约作为一种新型基础软件被广泛应用在金融、艺术品以及游戏等领域。目前,每天有数万名用户使用智能合约,日均交易量可达50亿美元。

然而,区别于传统领域中的程序漏洞检测,智能合约中的漏洞通常是更难检测的逻辑错误及缺陷,且所导致的后果更加严重。在状态不一致漏洞中,攻击者通过操纵区块链上智能合约的程序状态,使得程序的执行结果与用户的预期结果产生不一致。通过利用这一类漏洞,攻击者可以抢跑或影响程序的执行流,从而影响程序的正常执行并从中获得不正当的收益。

现有状态不一致漏洞检测方案主要面临两个问题:(1)由于缺少准确的上下文信息导致的高误报率。由于无法准确地恢复智能合约运行过程中的上下文信息,静态分析方法可能引入无法执行的程序路径,导致误报;(2)由于缺少有效的测试准则导致的高漏报率。现有模糊测试方法需要依赖专家知识设计测试准则,高度依赖现有的攻击模式,导致无法识别新的攻击手段。

在这里插入图片描述

因此,中山大学软件工程学院与微众银行开展联合研究,提出了一种新型模糊测试框架IcyChecker,并以 “Detecting State Inconsistency Bugs in DApps via On-Chain Transaction Replay and Fuzzing” 为题在ISSTA 2023发表。

针对上述问题,IcyChecker首先通过重放历史数据,获取历史函数调用以及对应的细粒度上下文信息。随后,IcyChecker基于收集的历史信息进行模糊测试,生成新的函数调用序列触发程序漏洞。最后,IcyChecker通过差分分析,识别对等交易序列执行结果的不一致性,从而发现漏洞。

基于链上历史数据收集丰富的上下文信息,IcyChecker检测的准确率提高到80%以上。研究首次引入差分分析技术识别智能合约中的逻辑漏洞,实现了无需依赖专家知识的漏洞检测。

http://www.lryc.cn/news/118863.html

相关文章:

  • Android开发从0开始(图形与按钮)
  • Git入门到精通——保姆级教程(涵盖GitHub、Gitee、GitLab)
  • 题解 | #J.Permutation and Primes# 2023牛客暑期多校8
  • 用vim打开后中文乱码怎么办
  • 自然语言处理: 第六章Transformer- 现代大模型的基石
  • 01-Hadoop集群部署(普通用户)
  • DC电源模块关于的电路布局设计
  • MATLAB实现免疫优化算法(附上多个完整仿真源码)
  • 登录界面中图片验证码的生成和校验
  • go的make使用
  • 竞赛项目 深度学习实现语义分割算法系统 - 机器视觉
  • 一元三次方程求解
  • 基于java在线音乐网站设计与实现
  • Python爬虫如何更换ip防封
  • 涛思数据联合长虹佳华、阿里云 Marketplace 正式发布 TDengine Cloud
  • 特殊符号的制作 台风 示例 使用第三方工具 Photoshop 地理信息系统空间分析实验教程 第三版
  • IoTDB1.X windows运行失败问题的处理
  • pdf转图片【java版实现】
  • python3.6 安装pillow失败
  • 巨人互动|Meta海外户Meta的业务工具转化API
  • 【JAVA】包、权限修饰符、final关键字、常量、枚举、抽象类、接口
  • 6.s081/6.1810(Fall 2022)Lab5: Copy-on-Write Fork for xv6
  • 项目实战 — 消息队列(7){虚拟主机设计(2)}
  • 手把手教你快速实现内网穿透
  • 【Linux取经路】揭秘进程的父与子
  • iOS链式编程风格 -- 富文本字符串
  • 后端开发5.Redis的搭建
  • 推特群推王构建你的流量池
  • 【从零学习python 】12.Python字符串操作与应用
  • MongoDB创建用户 、数据库、索引等基础操作