Don't Show What They Can't See: Authorization-First Schema Context for Secure Text-to-SQL
本文提出了一种授权优先的框架,该框架在模式检索过程中执行细粒度的访问控制,以防止基于大语言模型的文本到 SQL 系统中出现未经授权的数据库元数据泄露,在保持检索效用的同时实现了零未经授权的对象泄露,并显著减少了未经授权的 SQL 引用。
原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一位图书管理员,他能瞬间将你口头提出的问题翻译成精确的图书馆指令,从数百万个书架中找到你所需的书籍。这正是现代人工智能系统将自然语言转化为数据库查询所承诺的前景。这些系统依赖于一张详细的图书馆内容地图——一份包含所有表、列以及它们之间连接关系的清单——来理解你的诉求。然而,在安全环境中,并非地图的所有部分都应该对每个人可见。正如银行柜员不能看到每个账户的保险库密码一样,用户也只能看到其获准访问的数据库部分。危险在于,当系统在开始工作之前,不小心将整张地图展示给了这个“翻译官”。如果翻译官被欺骗或操纵,它可能会泄露秘密表格的存在或敏感列的信息,从而为针对性攻击提供蓝图,即便攻击者从未看到过任何实际记录。
广州大学和西安电子科技大学的研究人员开发出了一种处理此问题的新方法,确保翻译官仅能看到用户获准查看的部分地图。他们颠覆了传统的操作顺序。传统做法是先收集所有信息,过滤掉禁止的部分,然后再要求人工智能编写查询语句;而他们的方法是首先检查用户的权限。他们构建了一个微型的、安全的数据库地图版本,其中仅包含用户有权触及的表和列。只有这张安全的、受限的地图会被展示给人工智能系统。这防止了人工智能在感知到禁止区域之前就得知其存在,因此即使恶意攻击者试图诱导系统泄露秘密,上下文中也不存在可以泄露的秘密。
研究团队在包含 20 个不同数据库、240 个特定问题及其对应不同用户角色的集合上测试了这种方法。在传统方法中(即系统在过滤之前可以看到完整的数据库地图),每处理一个请求时,人工智能平均会暴露 35.5 个未授权对象——例如秘密表或隐藏列。而在采用这种“授权优先”的新方法后,该数字降至零。系统成功地在人工智能开始思考之前,就将所有未经授权的信息排除在人工智能的视野之外。至关重要的是,这种安全性并未以牺牲性能为代价。该系统在寻找用户实际问题对应的正确表和列方面的表现,与旧方法一样出色。研究人员发现,旧方法有时无法产生正确答案的唯一原因是它必须处理一个庞大且杂乱的信息集,而新方法则是基于一个干净且相关的子集进行工作。
他们的工作中一个关键的发现是理解错误仍然发生在哪里。即使有了新的安全机制,人工智能偶尔仍会编写出提及不应提及内容的查询语句。研究人员追踪了这些错误,并发现这些错误并非由系统泄露信息引起的。相反,人工智能只是在猜测或“幻觉”出禁止列的名字,凭空捏造了这些名称。这一区别至关重要:它证明了隐藏禁止信息虽然能阻止信息的直接泄露,但并不能阻止人工智能编造名称。因此,该方法在结合最后一步验证查询是否运行的检查时效果最佳,从而形成两层防御。第一层防止人工智能看到秘密,第二层防止人工智能意外使用编造的秘密。
该研究还探讨了系统如何处理现实商业数据库中常见的模糊或缩写名称,例如将“客户风险评分”(customer risk score)写成“cust_rsk_scr”。当数据库名称清晰且具有描述性时,新系统的表现与旧系统持平。但当名称变得简短且晦涩时,系统会使用一种特殊技术为“安全地图”添加自然语言描述。这有助于人工智能理解这些缩写代码的含义,使其寻找正确数据的能力比没有这些描述的系统提高了 11.5%。这种提升仅发生在名称难以猜测的情况下,表明只有在地图难以阅读时,额外的辅助才是有必要的。
为了确保系统的真实安全性,研究人员模拟了攻击场景,即用户试图诱导人工智能列出所有秘密表。在旧系统中,这类攻击约有一半的成功率,从而泄露了相当一部分隐藏的数据库结构。而在新系统中,攻击完全失败了。由于人工智能从未见过那些秘密表,它无法将其列出。唯一泄露的信息是出现在系统通用指令中的常用词汇,而非实际的数据库秘密。这证实了新方法有效地阻断了攻击者用于绘制数据库蓝图的路径。
研究人员承认,他们的解决方案是迈出了有力的一步,但并非万能药。它能防止人工智能看到不该看到的秘密,但无法阻止攻击者根据公开知识猜测秘密,也无法阻止攻击者从错误信息中推断出隐藏数据。因此,该方法旨在与现有的安全检查协同工作,而非取代它们。通过确保人工智能在最初阶段就无法看到数据库的禁止部分,该系统消除了一个主要的漏洞。它创造了一个边界,使人工智能只能处理用户获准查看的内容,从而让将问题转化为数据库命令的整个过程对于需要保护敏感信息的组织而言更加安全。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。