Towards Generic Database Management System Fuzzing
Towards Generic Database Management System FuzzingUSENIX Security 24 投稿中
ABSTRACT数据库管理系统在现代网络空间中发挥着不可或缺的作用。近年来,已经提出了多种模糊测试框架来测试关系型(SQL)数据库管理系统以提高其安全性,而非关系型(NoSQL)数据库管理系统尚未得到同样的关注,且总体上缺乏有效的测试解决方案。在本研究中,我们识别了现有方法在扩展到有效模糊测试数据库管理系统时的三个局限性:非通用性、使用静态约束和生成松散的数据依赖性。随后,我们提出了有效的解决方案来应对这些局限性。我们将这些解决方案实现到一个端到端的模糊测试框架BUZZBEE中,该框架可以有效地模糊测试关系型和非关系型数据库管理系统。BUZZBEE在四种不同数据模型的八个数据库管理系统中成功发现了40个漏洞,其中25个已被修复,并分配了4个新的CVE。在我们的评估中,BUZZBEE在代码覆盖率方面比最先进的通用模糊测试工具高出最多177%,并在非关系型数据库管理系统中发现的错误数量比第二佳模糊测试工具多出30倍,同时在关系型数据库管理系统方面 ...
When Fuzzing Meets LLMs: Challenges and Opportunities
When Fuzzing Meets LLMs: Challenges and OpportunitiesABSTRACT这篇论文的摘要介绍了模糊测试(Fuzzing)和大型语言模型(LLMs)的结合。模糊测试是一种广泛使用的发现软件缺陷的技术,通过结合大型语言模型,这种技术得到了发展。尽管有潜力,但在模糊测试中应用大型语言模型还面临特定的挑战。本文确定了LLM辅助模糊测试的五大主要挑战,并通过回顾顶级会议的最新论文来支持我们的发现,确认这些挑战是普遍存在的。作为解决方案,我们提出了一些可行的建议,以帮助改进LLM在模糊测试中的应用,并对数据库管理系统的模糊测试进行了初步评估。结果表明,我们的建议有效地解决了这些已识别的挑战。
INTRODUCTION这个章节介绍了模糊测试和大型语言模型(LLM)的结合如何被用于提高软件缺陷检测的有效性。具体内容概括如下:
模糊测试与LLM的结合: 描述了模糊测试作为软件缺陷检测的有前途的技术,以及LLM因其多功能性和能力在各种应用中迅速流行的情况。LLM在从自然语言处理到代码生成等多个领域的广泛应用,使其成为一个突出且受欢迎的解决方案。
LLM在 ...
Recommending Analogical APIs via Knowledge Graph Embedding
Recommending Analogical APIs via Knowledge Graph EmbeddingABSTRACT在软件发展过程中,库迁移是一种常见的操作,目的是替换当前使用的库以保持相同的软件行为。这其中一个关键部分是找到与所需功能相对应的类似API。然而,由于库/API的数量众多,手动寻找这样的API既耗时又容易出错。研究者们创建了自动化的类比API推荐技术,尤其是基于文档的方法。尽管这些方法具有潜力,但也存在局限性,例如文档中的语义理解不完整以及可扩展性问题。在这项研究中,我们提出了一种新的基于文档的方法KGE4AR,通过知识图(KG)嵌入技术来推荐类比API,用于库迁移。KGE4AR引入了一个统一的API知识图,以全面表示文档知识,捕捉高级语义。它进一步将这个统一的API知识图转化为向量,以实现高效、可扩展的相似度计算。我们在两种情况下评估了KGE4AR,即有目标库和无目标库的情况,使用了35,773个Java库。KGE4AR显著优于现有最先进的技术(例如,在MRR上提高了47.1%-143.0%和11.7%-80.6%),展示了随着库数量增加的可扩 ...
No More Manual Tests Evaluating and Improving ChatGPT for Unit Test Generation
No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test GenerationABSTRACT摘要—单元测试在检测功能独立的程序单元(例如,方法)中的错误中发挥着重要作用。手工编写高质量的单元测试既耗时又劳累。尽管传统技术能够生成覆盖率合理的测试,但它们显示出低可读性,实际上还不能被开发者直接采用。最近的研究显示,大型语言模型(LLMs)在单元测试生成中具有很大潜力。通过预训练在大量开发者编写的代码库上,这些模型能够生成更加人性化和有意义的测试代码。ChatGPT,作为最新的LLM,进一步融合了指令调优和强化学习,已在各种领域表现出卓越的性能。迄今为止,ChatGPT在单元测试生成中的有效性仍不明确。
在这项工作中,我们进行了第一次实证研究来评估ChatGPT生成单元测试的能力。特别是,我们进行了量化分析和用户研究,系统地调查了其生成测试的质量,包括正确性、充分性、可读性和可用性。我们发现ChatGPT生成的测试仍存在正确性问题,包括各种编译错误和执行失败(主要由不正确的断言引起);但是,通过ChatGPT ...
深度洞察 |关于JavaScript开源生态中安全漏洞的研究
深度洞察 |关于JavaScript开源生态中安全漏洞的研究NPMNpm模块安装机制如何?
NPM模块安装
官方的一些漏洞修复工具: npm audit 和 Dependabot
[1] PLUMBER: Boosting the Propagation of Vulnerability Fixes in the npm Ecosystem 2023 TSE
论文详解:https://linli1724647576.github.io/2023/03/04/PLUMBER/
Keyinsight:文章解决的主要问题是npm生态系统中漏洞修复传播的延迟。尽管60.6%的包在发现漏洞后及时发布了修复版本,工具如npm audit和Dependabot被推出以提醒依赖于有漏洞包版本的项目,但在漏洞修复在npm生态系统中的传播仍然存在严重滞后。通过调查,发现20%的活跃npm包通过依赖关系引入了漏洞,尽管涉及的有漏洞包已经发布了修复版本超过一年。
keyinsight: 1、识别阻塞包以及总结了一些修复模式 (生态系统端的检测和修复)
[2] Demystifying the vul ...
Detecting Logic Bugs in Graph Database Management Systems via Injective and Surjective Graph Query Transformation
Detecting Logic Bugs in Graph Database Management Systems via Injective and Surjective Graph Query Transformation开源代码: https://github.com/YuanchengJiang/GraphGenie
Basic Information:
Title: Detecting Logic Bugs in Graph Database Management Systems via Injective and Surjective Graph Query Transformation (通过单射和满射图查询转换检测图数据库管理系统中的逻辑错误)
Authors: Yuancheng Jiang, Jiahao Liu, Jinsheng Ba, Roland H.C. Yap, Zhenkai Liang, and Manuel Rigger
Affiliation: National University of Singapore (新加坡国立大学)
Keywor ...
Finding Bugs in Gremlin-Based Graph Database Systems via Randomized Differential Testing
Finding Bugs in Gremlin-Based Graph Database Systems via Randomized Differential TestingBasic Information:
Title: Finding Bugs in Gremlin-Based Graph Database Systems via Randomized Differential Testing (通过随机差异测试在基于Gremlin的图数据库系统中发现错误)
Authors: Yingying Zheng, Wensheng Dou, Yicheng Wang, Zheng Qin, Lei Tang, Yu Gao, Dong Wang, Wei Wang, and Jun Wei
Affiliation: State Key Lab of Computer Science at ISCAS, University of CAS, China (中国科学院计算技术研究所)
Keywords: Graph database systems, differential testi ...
Detecting Logic Bugs of Join Optimizations in DBMS
Detecting Logic Bugs of Join Optimizations in DBMSBasic Information:
Title: Detecting Logic Bugs of Join Optimizations in DBMS (在DBMS中检测连接优化的逻辑错误)
Authors: XIU TANG, SAI WU, DONGXIANG ZHANG, FEIFEI LI, GANG CHEN
Affiliation: Zhejiang University, China (中国浙江大学)
Keywords: Database, logic bug, join optimization
URLs: Paper , [GitHub: None]
论文简要 :
本文提出了一种新的测试框架TQS,用于检测涉及多表连接的查询中的逻辑错误。通过数据引导的模式和查询生成以及知识引导的查询空间探索,TQS在四个流行的DBMS上成功检测到了115个连接优化的逻辑错误。
背景信息:
论文背景: 过去的研究表明,基于生成的测试技术在检测DBMS的逻辑错误方面具有有效性,而这些 ...
Testing Database Systems via Differential Query Execution
Testing Database Systems via Differential Query ExecutionBasic Information:
Title: Testing Database Systems via Differential Query Execution (通过差异查询执行测试数据库系统)
Authors: Jiansen Song, Wensheng Dou, Ziyu Cui, Qianwang Dai, Wei Wang, Jun Wei, Hua Zhong, Tao Huang
Affiliation: State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences; University of Chinese Academy of Sciences; Nanjing College; Nanjing Institute of Software Technology
Keywords: Database system, DBM ...
DynSQL: Stateful Fuzzing for Database Management Systems with Complex and Valid SQL Query Generation
DynSQL: Stateful Fuzzing for Database Management Systems with Complex and Valid SQL Query GenerationBasic Information:
Title: DynSQL: Stateful Fuzzing for Database Management Systems with Complex and Valid SQL Query Generation (DynSQL: 基于状态的模糊测试用于具有复杂和有效SQL查询生成的数据库管理系统)
Authors: Zu-Ming Jiang, Jia-Ju Bai, Zhendong Su
Affiliation: ETH Zurich (Zu-Ming Jiang), Tsinghua University (Jia-Ju Bai), ETH Zurich (Zhendong Su)
Keywords: database management systems, fuzzing, SQL query generation, stateful fu ...