在使用Google进行新闻搜索时,偶尔会看到一些与主题无关的低俗内容。
在知网查找学术文章时,意外发现排在前面的竟然是“论咸鱼的30种烹饪方式”。
当你在全球最大的同性交友平台GITHub上搜索摸鱼插件时,结果却是996icu。
这些情景并非虚构,都是由于AI神经网络的脆弱性可能导致的信息检索攻击风险。
对广大网民而言,信息检索是日常生活中不可或缺的行为——无论是撰写论文查找文献、寻找菜谱,还是在购票前查看影评,搜索引擎和工具都成为我们获取信息的主要方式。
当前的信息检索算法为了提高检索精度,往往采用基于神经网络的模型进行优化。然而,这也使得神经网络的脆弱性将更多安全隐患引入信息检索领域。为了以攻促防,我们进行了一次“扰乱搜索排名”的研究实验。
实验中,我们使用微软发布的段落检索数据集(英文文本),样本分为查询词、正样本和负样本三类——查询词是用户输入的内容,正样本是与查询词相关的段落,而负样本则是与查询词无关的段落。
举个例子:
查询词:关于粉刷卧室需要多少油漆。
正样本:如果你选择自己动手粉刷,首先需要购买一些物品。油漆的价格大约在每加仑15到30美元之间,通常需要2到3加仑来粉刷一个普通大小的卧室(预留一些作为备用)。你还有多种选择来决定油漆的光泽或哑光效果。
负样本:注意:细节粘土无法去除氧化油漆或填补瑕疵。如果你的油漆有轻微氧化,使用粘土清洁油漆,然后用抛光剂去除氧化油漆。如果氧化严重,先抛光,因为氧化的油漆可能在使用粘土时脱落,损坏粘土。
在这个例子中,正样本与查询词的相关性得分为73.344040,而负样本的得分为61.572620。
我们知道,信息与查询词的相关性越高,搜索排名就越靠前,从而更容易被曝光。因此,我们的实验旨在通过在负样本中添加一定长度的字词作为触发器,提高其与查询词的相关性,进而提升搜索排名,使其更容易被搜索引擎找到。
根据上述例子中的查询词,我们利用公开论文中的AI算法,生成了一个长度为5个单词的触发器:“卧室配方油漆国家标准”。
当我们将该触发器加入负样本段落后,发现其与查询词的相关性得分从61.572620提升至78.570793,超过了正样本的得分。这表明,通过添加触发器,可以增强段落与特定查询词的搜索相关性。
为了比较不同长度触发器的攻击效果,我们分别测试了长度为1、5和10个单词的情况,并列出了在3个样本被攻击后的相关性得分。

图:触发器长度为1个单词
如图所示,触发器仅为1个单词时,段落在特定查询下的相关性得分有一定程度的提升,但效果相对有限。

图:触发器长度为5个单词
对负样本加入5个单词的触发器时,段落在特定查询词下的相关性得分得到了显著提升。

图:触发器长度为10个单词
当触发器长度增加到10个单词时,效果进一步增强,在大多数情况下负样本的相关性得分甚至超过了正样本的得分——这种攻击效果足以导致检索结果的混乱。
此外,我们以在“关于粉刷卧室需要多少油漆”查询词下生成的触发器为例,随机选取100个样本,计算将触发器拼接在其他段落后与当前查询词的相关性得分变化,结果如下图所示:

图中,每条红线的末端圆点表示加入触发器前负样本的段落得分,红线顶端圆点为加入触发器后的得分。所有样本在加入触发器后,相关性均显著提升,得分平均提升22.21%。这表明,触发器在不同段落上具备迁移性,通过AI学习获得的触发器可以提升不同文档在当前查询词下的检索排名。
总之,通过对检索对象增加对抗扰动来扰乱搜索相关性排名,是一种可行且具有显著实际危害的攻击场景。一旦信息检索算法受到攻击,检索结果错误将可能导致用户误导或受骗等严重后果。这种攻击手法也可能被不法分子利用,传播有害信息。因此,重视相关风险并提前采取防范措施显得尤为重要。
目前,生成的触发器在语法结构的正确性方面仍难以控制,因此对信息检索场景中的文档进行语法分析,可以在一定程度上帮助识别和过滤攻击。此外,类似于图像领域的对抗训练也有助于增强信息检索模型的鲁棒性,从而降低被攻击的风险。
