近日,奇安信技术研究院星图实验室团队与宾夕法尼亚州立大学研究团队合作开展的关于检测数据库管理系统逻辑漏洞的研究成果,被计算机安全顶级学术会议 USENIX Security 2022 录用。
数据库管理系统(DBMS)是现代应用程序的关键组件,广泛用于各种数据密集型程序中, 帮助数十亿台设备托管数万亿个数据库。DBMS 中的任何错误都会影响大量用户。尽管此前人们在测试 DBMS 上已经付出了巨大的努力,但大多数情况下他们都仅专注于发现导致 DBMS 运行意外终止的错误,比如崩溃和断言错误。他们无法检测到导致 DBMS 返回非预期结果的逻辑错误,例如意外泄露出额外的数据。由于逻辑错误通常不会使程序崩溃,因此我们需要借助预言(Oracle,译为预言或判断准则,本文译为预言),来确定每次执行是否产生正确的结果。但是,由于各种 DBMS 查询语言的差异,以及功能的多样性,构建预言需要耗费大量的时间,且容易出错。
通过将 SQL 查询语句转换成语义等价的另一个形式的语句,这两个 SQL 查询语句便构成了一个“预言”(Oracle)。因为这对语句的形式不同,DBMS 可能会使用不同的代码路径来处理这些查询语句,但由于两者语义等价,因此两个语句查询后返回的最终结果是相同的。任何的不一致都表明 DBMS 存在潜在的逻辑错误。此前,有研究工作提出了几种“预言”来识别不正确的结果,但它们依赖于基于规则且未经指导的方法来合成 SQL 查询语句,考虑到 DBMS 巨大的查询空间,这些方法会在类似的查询上花费很多时间,并且无法检查不同的程序代码。
为此,研究团队针对当前数据库逻辑漏洞检测的问题展开安全研究。研究论文《Detecting Logical Bugs of DBMS with Coverage-based Guidance》由宾夕法尼亚州立大学系统安全实验室与奇安信技术研究院星图实验室团队合作完成,被网络安全领域顶级国际会议 USENIX Security 2022 录用,作者包括宾夕法尼亚州立大学梁裕同学、奇安信技术研究院星图实验室刘松研究员、宾夕法尼亚州立大学胡宏助理教授。USENIX Security 是世界网络和系统安全领域四大顶级学术会议之一,过去五年的平均录用率为 17%。
该研究创新性地提出, 通过结合覆盖率导向、面向有效性的突变和预言(Oracle)三者来检测 DBMS 的逻辑错误。为了实现我们的目标,我们首先设计了一组通用 API 来解耦 Fuzzer 和 预言(Oracle) 的逻辑,以便开发人员可以轻松地移植模糊测试工具来测试 DBMS,以及为现有的 Fuzzer 编写新的预言(Oracle)。我们进一步提供了面向有效性的突变,来生成高质量的查询语句,从而发现更多的逻辑错误。我们实现的检测系统原型 SQLRight,经过实验证明优于当前仅依赖预言或代码覆盖率的最先进工具。SQLRight 一共从三个经过良好测试的DBMS (SQLite、PostgreSQL 和 MySQL,这是世界上最流行的三个开源数据库) 中检测到了18 个逻辑错误。研究团队已将研究发现中的所有问题上报给DBMS相关官方,所有错误都已得到官方确认,其中 13 个错误已被修复。
✦奇安信技术研究院 ✦
奇安信技术研究院是专注于网络空间安全相关技术的研究机构,聚焦网络空间安全领域基础性或前沿性的研究课题,结合国家和社会的实际需求,开展创新性和实践性的技术研究。研究院在互联网基础设施领域,软件基础分析方法和漏洞挖掘技术有多年的研究基础,并建立了互联网基础数据安全平台、APT检测平台、软件供应链分析平台和物联网设备固件分析平台。
奇安信技术研究院成员多数来自清华、中科院等知名研究机构,有多年的学术研究背景,结合奇安信集团在工程能力和安全大数据的优势,研究成果广泛应用于企业和政府等部门的安全产品和信息系统。研究院与国内外众多著名的研究机构和学者有紧密的合作,包括清华大学、北京大学、中国科学院、上海交通大学、山东大学、哈尔滨工业大学、东南大学、中国海洋大学等。
招聘启事:奇安信技术研究院目前正在面向全国在校大学生招聘, 工作地点覆盖北京、上海、成都、南京。欢迎联系垂询(research AT qianxin.com), 详情请参见: https://research.qianxin.com/recruitment/