介绍
简要介绍
RAG(Retrieval-Augmented Generation)即检索增强生成,是一种将外部知识检索与大语言模型相结合的技术框架,通过外挂知识库和提供检索生成功能,解决大模型的知识时效性差、易产生幻觉、私有数据泄露等问题。
RAG在智能问答系统、文本生成、信息检索等领域都有广泛的应用也存在诸多安全问题,比如RAG数据库面临数据泄露、篡改或系统破坏的风险。
因此需构筑检测这种新型SQL注入、高危数据库命令的能力,而RAG一体机组件(以下简称SecDetectionSDK)提供了这样的能力。
此文档针对高斯平台如何集成适配SecDetectionSDK进行说明。其使用者为基于openGauss生态伙伴、SecDetectionSDK侧开发人员。
相关概念
SecDetectionSDK是动态库存在;提供对外接口,由生态伙伴自行加载。
威胁模型
- sql注入(sql injection):攻击者通过在应用程序中输入或注入恶意的SQL代码,绕过应用程序的安全机制,直接与数据库交互,从而获取敏感信息、篡改数据或执行其他恶意操作。
- 无权限表(no permission table):攻击者试图对系统数据表执行查询、增加、修改、删除等操作。
实例:select username, password, status from info.admin where id=1 union select 1, table_name from information_schema.tables where table_name = 'users'--
- 高危sql(high risk sql):语句中包含可能会破坏数据库的结构、数据等具有高度危险性的操作指令。
- 非法sql(illegal sql):输入为空白语句或不符合sql语法的语句等情况。
实例:from info.users where user_id in (user_id from info.all_users where user_id=1)
- 向量攻击:SQL注入的一种,通过向量的运算、比较等绕过应用程序的安全机制。
实例:SELECT * FROM tblvector where '[1,2,3]'::vector = '[1,2,3]'。
父主题: 开发指南