• 我的订阅
  • 科技

让“无声的漏洞”无可遁形:详解2023 数据库顶会SIGMOD最佳论文

类别:科技 发布时间:2023-06-21 21:00:00 来源:CSDN

【编者按】2023数据库顶会SIGMOD在美国西雅图颁出最佳论文。阿里云与浙江大学合作的《Detecting Logic Bugs of Join Optimizations in DBMS》获得最佳论文,成为自1975年该会议至今49年以来,中国大陆研究团队首次斩获该奖项。

这项工作聚焦数据库逻辑测试,始于阿里云PolarDB云原生数据库的内核测试,通过开发创新的自动化数据库逻辑测试方案TQS,检出不易察觉的逻辑漏洞予以修复。实验发现,TQS运行仅24小时就检测出4大商用数据库管理系统的逻辑漏洞115个,予以修复后,大幅提升数据库稳定性。

该论文一作唐秀系浙江大学博士,这一工作是她在阿里云数据库进行研究型实习时的成果;阿里云数据库负责人李飞飞也是作者之一,此前他曾以一作身份凭借《Wander Join: Online Aggregation via Random Walks》拿下2016年SIGMOD最佳论文。本次论文获奖,完成了中国大陆研究团队在数据库顶会的历史性突破,也成为了中国校企合作攻克科研难题的典范之一。

我们特别邀请到唐秀博士,为我们深入浅出地解读这篇论文的关键成果。

作者 | 唐秀,浙江大学博士,2022 年阿里巴巴优秀研究型实习生

让“无声的漏洞”无可遁形:详解2023 数据库顶会SIGMOD最佳论文

背景与动机

我国数据库正处于高速发展期,并且随着应用复杂程度的增加,企业和用户对于更强大、更安全的数据库的需求也越来越迫切。因此,如何检查数据库漏洞和错误,成为保障数据库安全、提升数据库稳定性的关键之一。

在数据库查询执行期间,主要有两类错误(bug):一种常见的错误是数据库突然崩溃停止,这种错误对于开发人员来说相对容易检测,因为数据库连接会突然中断。然而,还存在一类隐藏的错误,即逻辑漏洞。在这种情况下,数据库正常运行并返回结果,但实际上并非正确的结果。

图说:逻辑漏洞举例

以上图中的两个逻辑漏洞为例,图a展现了MySQL的一个哈希连接错误,这种错误发生在错误地将零和负零视为不同值的情况下,导致最终返回一组空集合;b图涉及数据类型转换和数据精度损失导致的错误半连接:在MySQL中,当比较两个值是否相等时,数据类型转换和精度损失可能导致意外的结果,从而影响查询结果集的构建。

逻辑漏洞很难检测,但其导致的后果确很严重,重则会导致“上万航班延误瘫痪”级别的大规模宕机,因此也被视为“无声的漏洞”。本论文便主要聚焦于此。

针对逻辑漏洞,目前已经有一些检测方法,例如部分查询语义(PQS),但这些方法通常只支持针对单表选择查询的检测,在涉及多表查询以及不同的连接算法和连接结构的情况下,仍存在大量的研究空白。

而最常用的差分测试,通过在不同数据库中执行相同操作,以验证其一致性,这种测试仍存在问题:假如两个数据库返回相同的结果,也有可能是基于同样错误的逻辑生成了一样的结果, 也即如何验证查询结果正确性的关键问题。

同时,测试数据库现在面临的搜索空间是非常庞大的, 如何引导测试以尽可能消耗最小的资源穷尽全部测试,也是一个需要解决的问题。

研究思路与核心内容

围绕这两个关键问题,我们引入了一个名为TQS(转换查询合成)的全新解决方案,以解决MySQL数据库中可能出现的逻辑错误。

让“无声的漏洞”无可遁形:详解2023 数据库顶会SIGMOD最佳论文

图说:TQS架构图

TQS包括DSG和KQE两部分,分别为数据驱动的模式和查询生成,与知识引导的查询空间探索。

为解决真值生成问题,我们采用了以下方法:首先,根据给定的宽表,使用函数依赖(FD)将该表拆分为多个表。

图说:DSG是如何拆分宽表的

同时,为了进行边缘测试,我们还插入了一些噪声数据作为边缘情况的样本(图中彩色数据),并基于数据库的模式图模型,随机游走生成一系列查询。

让“无声的漏洞”无可遁形:详解2023 数据库顶会SIGMOD最佳论文

图说:DSG构建针对表连接的Bitmap 索引

在此基础上,构建RowID映射表,用于记录在表拆分过程中,宽表中的行和拆分后表的行的对应关系。根据表连接是表拆分的逆向过程的直觉,构建基于构建RowID映射的Bitmap索引,以便从宽表中检索到连接查询的理论真值。 这些真值生成后,便是检测潜在逻辑错误的参照样本。

然而,对于给定的数据库模式,可生成的连接查询的数量会随着表格和列的数量呈指数级增长,显然无法使用枚举法一一验证。那么,要如何更高效地探索查询未知空间呢?我们提出了TQS的第二部分设计——KQE。

让“无声的漏洞”无可遁形:详解2023 数据库顶会SIGMOD最佳论文

图说:KQE原理图

KQE首先将模式图进一步拓展为一个规划迭代图,来表示整个查询生成空间。同时,在大量的历史查询图中,KQE构建了一个基于嵌入的图索引,以确保新生成的查询图尽可能地远离其在历史查询中的近邻,探索更多的未知空间。

总体来看,KQE可基于结构相似性为生成的查询图评分,同时也通过自适应随机游走多样化查询生成, 从而极大降低了对于重复查询的概率,节省了计算资源开支。

实验结果分析

我们的研究在MySQL、MariaDB、TiDB 和 PolarDB 等4大常用DBMS上进行了实验。

运行了 24 小时后,TQS 成功找到了 115 个漏洞:MySQL 中 31 个、MariaDB 中 30 个、TiDB 中 31 个、PolarDB 中 23 个。通过最小化测试样例,我们进一步将它们分为20种类型。

让“无声的漏洞”无可遁形:详解2023 数据库顶会SIGMOD最佳论文

图说:实验检出漏洞分类详表

我们已经将检测到的漏洞提交给相应数据库社区,并得到了他们积极的反馈。这些漏洞的危机程度被数据库社区判定为首要危急或严重级别,一些漏洞已经修复在了其数据库最新版本中。

具体来说,MySQL 8.0.28的错误主要集中在Semi-join和Sub-query的执行过程中,其中,几个错误被评定为首要危急,即最紧急的错误,这些错误已经在MySQL 8.0.30版本中得到修复,并提供了相应的修复说明。而对于已使用SQLancer进行全面测试的TiDB,TQS也测出了一些首要危急错误,TiDB对其进行了修复。另外,针对PolarDB,我们则直接提交错误报告,相关错误已经被修复。

让“无声的漏洞”无可遁形:详解2023 数据库顶会SIGMOD最佳论文

图说:TQS与原有方法的有效性对比

总的来说,相比于其它方法,TQS在多项指标上取得了更优的效果,较原有方法实现高达100倍的性能提升,各组件的有效性也通过控制变量实验得到了检验。

6月21日晚上8点整,本文一作唐秀将直播解读论文,欢迎广大读者预约收看。

让“无声的漏洞”无可遁形:详解2023 数据库顶会SIGMOD最佳论文

返回搜狐,查看更多

责任编辑:

以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。

快照生成时间:2023-06-21 21:45:10

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

知网反垄断调查尘埃落定,行业规范化发展成“关键抓手”
...术生态环境。为此,像知网、万方、维普等中文学术文献数据库平台对构建中国学术生态,推动科技成果的转化和应用,实现服务国家创新发展战略具有特别重要的意义。通过这些平台,不断推动高
2023-01-19 03:00:00
开源密码管理工具keepass被爆安全漏洞
...许攻击者在用户不知情的情况下,以纯文本形式导出整个数据库。小课堂:相比较LastPass和Bitwarden的云托管方式
2023-01-31 20:55:00
.mallox勒索病毒的保护措施
...,包括一些市面上常见的业务应用软件,例如:金蝶软件数据库,用友软件数据库,管家婆软件数据库,速达软件数据库,科脉软件数据库,海典软件数据库,思迅软件数据库,OA软件数据库,E
2024-02-16 11:46:00
学术数据库惊现多个“劫持性期刊”
...科学报给未经同行评议的可疑论文披上合法“外衣”学术数据库惊现多个“劫持性期刊”图片来源:DAVIDE BONAZZI/SALZMANART本报讯 在当前激烈竞争的国际背景下
2024-01-03 07:24:00
微软修复73个安全漏洞和2个零日漏洞
...个管理证书:密钥交换密钥(KeyExchangeKey,KEK)允许的签名数据库(AllowedSignatureDatabase
2024-02-16 11:31:00
微软发现 macOS 漏洞可让黑客访问用户私人数据
...绕过SIP保护还可以完全绕过TCC策略,使攻击者能够替换TCC数据库并获得对受害者私人数据的无限制访问权限。已非第一次发现macOS漏洞这不是微软研究人员近年来报告的第一个此类macOS漏洞
2023-05-31 17:20:00
向日葵漏洞防护案例:软件厂商如何保障安全
...意的SQL语句,进而使攻击者在没有合法权限的情况下控制数据库的一种攻击方法。攻击者可利用此漏洞获取数据库中所有数据,如:用户名和密码,从而完全失去机密性和机密性和机密性和机密
2023-03-18 21:00:00
...上查找文献资源是效率比较高的一种方式,主要是从各类数据库下载。各高校图书馆购买的数据库都比较齐全。根据收录的文献数量、搜索结果与关键词的匹配度,线上的数据库可大体分为通用数据
2023-09-14 04:26:00
开源密码管理软件keepass出恶性安全漏洞
...不知情的情况下,直接以纯文本形式导出用户的整个密码数据库。据悉,KeePass采用本地数据库的方式保存用户密码,并允许用户通过主密码对数据库加密
2023-01-31 21:31:00
更多关于科技的资讯: