国际顶级学术会议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%以上。研究首次引入差分分析技术识别智能合约中的逻辑漏洞,实现了无需依赖专家知识的漏洞检测。
相关文章:
国际顶级学术会议ISSTA召开,中山大学与微众银行联合发表区块链最新研究成果
美国当地时间7月17日,软件工程领域顶级会议ISSTA 2023在西雅图正式召开。ISSTA (The 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis )是软件测试与分析方面最著名的国际会议之一,也是中国计算机学会…...
Android开发从0开始(图形与按钮)
Drawable: drawable是抽象类。包括图片,色块,画板,背景。 drawable-ldpi 存放低分辨率图片。drawable-hdpi 高分辨率。drawable-xxhdpi 超高分辨率。 Android:src”drawable/image” 即可使用 Shape: 形状图形。圆角,矩形等常见几…...
Git入门到精通——保姆级教程(涵盖GitHub、Gitee、GitLab)
文章目录 前言一、Git1.Git-概述1.1.Git-概述-版本控制介绍1.2.Git-概述-分布式版本控制VS集中式版本控制1.3.Git-概述-代码托管中心1.4.Git-概述-安装和客户端的使用 2.Git-命令(常用命令)2.1.Git-命令-设置用户签名2.2.Git-命令-初始化本地库2.3.Git-命令-查看本地库状态2.4.…...
题解 | #J.Permutation and Primes# 2023牛客暑期多校8
J.Permutation and Primes 构造 题目大意 给定一个正整数 n n n ,构造一个 n n n 的排列,使得每对相邻元素的和或差的绝对值为一奇素数 解题思路 两个数的和或差是奇数,那么它们的奇偶性一定是不同的,因此所求排列中&#…...
用vim打开后中文乱码怎么办
Vim中打开文件乱码主要是文件编码问题。用户可以参考如下解决方法。 1、用vim打开.vimrc配置文件 vim ~/.vimrc**注意:**如果用户根目录下没有.vimrc文件就把/etc/vim/vimrc文件复制过来直接用 cp /etc/vim/vimrc ~/.vimrc2、在.vimrc中加入如下内容 set termen…...
自然语言处理: 第六章Transformer- 现代大模型的基石
理论基础 Transformer(来自2017年google发表的Attention Is All You Need (arxiv.org) ),接上面一篇attention之后,transformer是基于自注意力基础上引申出来的结构,其主要解决了seq2seq的两个问题: 考虑了原序列和目…...
01-Hadoop集群部署(普通用户)
Hadoop集群部署(普通用户) 环境准备 1)准备3台客户机(关闭防火墙、静态IP、主机名称) 如果这一步已经配置过了,可以忽略 # 1 关闭防火墙 systemctl stop firewalld.service # 关闭当前防火墙 systemctl…...
DC电源模块关于的电路布局设计
BOSHIDA DC电源模块关于的电路布局设计 DC电源模块是现代电子设备中常用的电源模块之一,其功能是将市电或其他输入电源转换成定电压、定电流的直流电源输出,以满足电子设备的供电需求。电路布局的设计是DC电源模块的重要组成部分,它直接影响…...
MATLAB实现免疫优化算法(附上多个完整仿真源码)
免疫优化算法是一种基于免疫学原理的优化算法。该算法的基本思想是通过模拟人类免疫系统的功能,来寻找最优解。 MATLAB是一种专门用于数学计算和数据处理的软件工具,它具有强大的数学计算和数据分析能力,可以方便地实现各种优化算法。 本文…...
登录界面中图片验证码的生成和校验
一、用pillpw生成图片验证码 1、安装pillow pip install pip install pillow2、下载字体 比如:Monaco.ttf 3、实现生成验证码的方法 该方法返回一个img ,可以把这个img图片保存到内存中,也可以以文件形式保存到磁盘,还返回了验证码的文字…...
go的make使用
在 Go 语言中,make 是一个用于创建切片、映射(map)和通道(channel)的内建函数。它提供了一种初始化和分配内存的方式,用于创建具有特定长度和容量的数据结构。下面将详细介绍 make 函数的使用方法和各种情况…...
竞赛项目 深度学习实现语义分割算法系统 - 机器视觉
文章目录 1 前言2 概念介绍2.1 什么是图像语义分割 3 条件随机场的深度学习模型3\. 1 多尺度特征融合 4 语义分割开发过程4.1 建立4.2 下载CamVid数据集4.3 加载CamVid图像4.4 加载CamVid像素标签图像 5 PyTorch 实现语义分割5.1 数据集准备5.2 训练基准模型5.3 损失函数5.4 归…...
一元三次方程求解
一元三次方程求解 题目描述提示输入输出格式输入格式输出格式 输入输出样例输入样例输出样例 算法分析A C 代码 题目描述 有形如: a x 3 b x 2 c x d 0 ax^3bx^2c^xd0 ax3bx2cxd0一元三次方程。给出该方程中各项的系数 ( a a a, b b b,…...
基于java在线音乐网站设计与实现
在线音乐网站的设计与实现 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用SSM框架…...
Python爬虫如何更换ip防封
作为一名长期扎根在爬虫行业动态ip解决方案的技术员,我发现很多人常常在使用Python爬虫时遇到一个困扰,那就是如何更换IP地址。别担心,今天我就来教你如何在Python爬虫中更换IP,让你的爬虫不再受到IP封锁的困扰。废话不多说&#…...
涛思数据联合长虹佳华、阿里云 Marketplace 正式发布 TDengine Cloud
近日,涛思数据联合长虹佳华,正式在阿里云 Marketplace 发布全托管的时序数据云平台 TDengine Cloud,为用户提供更加丰富的订购渠道。目前用户可通过阿里云 Marketplace 轻松实现 TDengine Cloud 的订阅与部署,以最低的成本搭建最高…...
特殊符号的制作 台风 示例 使用第三方工具 Photoshop 地理信息系统空间分析实验教程 第三版
特殊符号的制作 首先这是一个含有字符的,使用arcgis自带的符号编辑器制作比较困难。所以我们准备采用Adobe Photoshop 来进行制作符号,然后直接导入符号的图片文件作为符号 我们打开ps,根据上面的图片的像素长宽比,设定合适的高度…...
IoTDB1.X windows运行失败问题的处理
在windows运行 IoTDB1.x时 会出现如图所示的问题 为什么会出现这样的问题?java没有安装还是未调用成功,我是JAVA8~11~17各种更换都未能解决问题,最后对其bat文件进行查看,发现在conf\datanode-env.bat、conf\confignode-env.bat这…...
pdf转图片【java版实现】
一、引入依赖 引入需要导入到项目中的依赖,如下所示: <!-- pdf转图片 --><dependency><groupId>net.sf.cssbox</groupId><artifactId>pdf2dom</artifactId><version>1.7</version></dependency>…...
python3.6 安装pillow失败
问题描述 python3 安装 pillow 失败 错误原因 python3.6 不支持 pillow9.0 以上的版本 解决方法: 指定版本安装 e.g., pillow8.0 pip3 install pillow8.0...
如何用Open Images数据集快速构建你的第一个计算机视觉模型:完整免费教程
如何用Open Images数据集快速构建你的第一个计算机视觉模型:完整免费教程 【免费下载链接】dataset The Open Images dataset 项目地址: https://gitcode.com/gh_mirrors/dat/dataset 还在为寻找高质量标注数据而发愁吗?Open Images数据集就是你的…...
保姆级教程:用PyTorch 1.7.1+cu110和SSD算法训练你自己的VOC格式数据集
基于PyTorch与SSD的实战目标检测:从数据准备到模型训练全流程解析 目标检测作为计算机视觉领域的核心任务之一,在工业质检、自动驾驶、安防监控等场景中发挥着重要作用。SSD(Single Shot MultiBox Detector)算法以其高效的检测速…...
PyTorch多层感知机(MLP)构建与训练实战指南
1. PyTorch中的多层感知机基础PyTorch作为当前最流行的深度学习框架之一,其灵活性和易用性使其成为构建神经网络的首选工具。多层感知机(MLP)是最基础的神经网络结构,理解它的构建方式对于掌握深度学习至关重要。在PyTorch中构建M…...
Hypnos-i1-8B惊艳效果:自动生成带<font color=purple>颜色语义</font>的多跳推理图谱
Hypnos-i1-8B惊艳效果:自动生成带颜色语义的多跳推理图谱 1. 模型能力概览 Hypnos-i1-8B是一款基于量子噪声注入训练的8B参数开源大模型,专注于复杂逻辑推理和数学问题求解。该模型在以下领域展现出卓越能力: 复杂逻辑推理:擅长…...
MCP插件性能瓶颈全解析,精准定位LSP响应延迟、上下文丢失、元数据同步失败三大致命问题
更多请点击: https://intelliparadigm.com 第一章:VS Code MCP 插件生态搭建手册概览 VS Code 的 MCP(Model Control Protocol)插件生态正成为 AI 原生开发工作流的关键基础设施。MCP 协议由 Anthropic 提出,旨在标准…...
一站式游戏模组管理器:XXMI Launcher终极完整指南
一站式游戏模组管理器:XXMI Launcher终极完整指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 还在为不同游戏安装多个模组管理器而烦恼吗?想在一个界…...
别再纠结了!FreeRTOS、uC/OS-II、RT-Thread到底怎么选?给嵌入式新手的保姆级指南
嵌入式RTOS选型实战指南:从需求分析到项目落地的全流程决策 当你面对一个全新的嵌入式项目时,选择哪个实时操作系统(RTOS)往往成为第一个技术决策难题。市场上主流的FreeRTOS、uC/OS-II和RT-Thread各有特色,但网上大多…...
Qt操作Excel踩坑实录:QAxObject内存泄漏、WPS兼容性与性能优化心得
Qt操作Excel实战避坑指南:内存管理、兼容性与性能优化深度解析 1. QAxObject内存泄漏的精准防控 在Qt框架下操作Excel文档时,QAxObject作为COM接口的封装类,其内存管理机制与传统Qt对象存在显著差异。许多开发者在使用过程中常因忽略对象生命…...
Onekey Steam游戏清单获取终极指南:3分钟完成自动化下载
Onekey Steam游戏清单获取终极指南:3分钟完成自动化下载 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey Onekey Steam Depot Manifest Downloader是一款专为Steam玩家设计的自动化游…...
构建安全闭环:Ledger 大陆官方授权体系全流程解析
构建安全闭环:Ledger 大陆官方授权体系全流程解析在数字资产安全管理进入 2026 年的今天,建立一套**“软硬结合、链路闭环”**的防御体系已成为资深玩家的共识。法国 Ledger 正式确立的大陆官方授权体系,不仅是硬件的销售网络,更是…...
