作者简介:叶绍琛,网络安全专家,公安部全国网络警察培训基地特聘专家,网络安全110智库专家,NgSecGPT开源网络安全大模型核心开发者,中国下一代网络安全联盟AI安全专委会理事,CTFWAR国际网络安全攻防对抗联赛裁判长,网络安全期刊《网安观察》总顾问,曾获国家科技部和教育部联合颁发的教育信息化发明创新奖。
生成式 AI 正在把“移动安全”推向一个非对称的新战场:只需几句提示,攻击者就能让大模型写出足以乱真的钓鱼短信;而防御方却要在亿万行代码里寻找转瞬即逝的漏洞。本文用最新研究揭示这场攻防两极化的真实速度。
当ChatGPT能在一分钟内生成一条“银行安全验证”的 Smishing 脚本,当 Code Llama 能在十分钟内审完十万行 Android 代码,我们发现:威胁的制造门槛正被大模型指数级拉低,而防护的复杂度却在同步飙升。
一、使用生成式人工智能创建Smishing活动
Smishing(通过短信进行网络钓鱼攻击)活动通过欺诈性的、可能包含恶意网页链接的手机短信,诱使用户泄露自己的私人信息。来自美国田纳西科技大学的研究者意识到了大模型在Smishing 活动中可以发挥的作用,搭载了大模型的AI聊天机器人能够生成高度逼真的类人文本,攻击者向AI聊天机器人提供一些关键信息,比如:角色、场景、网络链接等信息,AI聊天机器人就可以生成用于如何开展Smishing活动的指南,以及用于Smishing活动的短信文本。
通常AI聊天机器人的开发者或服务提供商会对大模型施加道德限制,以确保大模型不会输出带有恶意的、歧视性的有害内容,但是由于大模型的底层特性,目前针对大模型的道德限制的有效性无法达到100%。攻击者通过精心构造的输入,可以引导AI聊天机器人生成攻击者所需的内容,这种操纵大模型的方式被称为提示词注入攻击(prompt injection attacks)。
提示词注入攻击的具体手段有以下几种:
1. 寻找漏洞:攻击者首先寻找AI聊天机器人的弱点,这些弱点可能是由于伦理标准设置不当、算法限制不足或大模型对某些类型输入的响应不够成熟。
2. 构造提示:攻击者构造特定的提示或命令(prompts),这些提示旨在绕过AI聊天机器人的内置限制和伦理标准。例如,攻击者可能会使用间接的语言或伪装成其他类型的请求来获取AI聊天机器人的帮助。
3. 利用幻觉(Hallucinations):在某些情况下,大模型可能会生成与请求不直接相关的信息,这种特性被称为“幻觉”。攻击者可能会利用这一点,通过提出含糊或开放式的问题来获取AI聊天机器人生成的欺诈性内容。
4. 反向提示(Reverse Prompts):攻击者可能会使用反向提示,即提供部分信息并要求AI聊天机器人完成其余部分,这种方式可以用来获取AI聊天机器人生成的欺诈性短信或钓鱼链接。
5. 使用“越狱”提示(Jailbreak Prompts):越狱提示是专门设计来绕过AI聊天机器人的限制的。
6. 请求工具和资源:攻击者可能会要求AI聊天机器人提供用于Smishing攻击的工具和资源,如钓鱼网站的构建工具或用于发送大量短信的软件。
7. 获取创造性的想法:攻击者可能会要求AI聊天机器人提供创新的Smishing主题和信息示例,这些内容可能之前未被广泛使用,因此更难以被检测和防范。
8. 适应和优化:攻击者会根据AI聊天机器人的响应不断调整他们的提示,以优化生成的Smishing内容,使其更具说服力和有效性。
美国田纳西科技大学的Ashfak Md Shibli 等人通过提示词注入的方式,突破了ChatGPT3.5的道德限制,诱使ChatGPT 3.5生成了用于获取用户信息的Smishing行动指南。
如下图1所示,在不绕过ChatGPT3.5的道德限制的前提下,要求ChatGPT3.5给出一个短信钓鱼消息,ChatGPT3.5会拒绝攻击者的要求。
图1 不绕过道德限制的ChatGPT3.5会拒绝攻击者的要求
Ashfak Md Shibli 使用互联网上公开可用的‘AIM’破解提示词,破坏了ChatGPT的伦理标准后,ChatGPT3.5给出了如下图2所示的用于获取用户信息的SMS钓鱼消息。
图2 ChatGPT3.5给出了用于获取用户信息的SMS钓鱼消息
此外,Ashfak Md Shibli还让ChatGPT生成了大量恶意行为指南,例如使用个人信息开设欺诈性银行账户,使用信用卡信息购买可重新封口的商品,或将被盗资金转换为加密货币以增加匿名性,甚至是通过Smishing活动运行的社会工程Kill Chain过程。
Ashfak Md Shibli将这类滥用大模型的方式称为AbuseGPT,利用AbuseGPT实施Smishing攻击的具体步骤和方法可以被总结为以下几点:
1.收集目标联系人信息:攻击者首先需要收集潜在受害者的手机号码,这些信息可能通过数据泄露、社交媒体或其他非法渠道获得。
2.生成欺诈性短信:攻击者利用生成式AI聊天机器人服务,如ChatGPT,来创建具有说服力的欺诈性短信。这些短信可能包含紧急情况、警告、通知或其他诱饵,目的是让受害者感到紧迫并采取行动。
3.使用提示注入攻击:攻击者通过精心设计的提示(prompt injection attacks),试图绕过AI聊天机器人的伦理标准和限制。这些提示可能包括特定的命令或输入,用以操纵AI生成所需的smishing文本。
4.生成假URL:攻击者请求AI聊天机器人提供假的URL,这些URL看起来像合法网站,但实际上是用于收集个人信息或传播恶意软件的钓鱼网站。
5.武器化网站:使用假域名和收集到的个人信息,攻击者可以创建假冒的登录页面或其他网站,以进一步诱骗受害者。
6.广播smishing活动:一旦准备好欺诈性短信和假URL,攻击者就可以开始大规模发送这些短信,希望受害者点击链接并提供敏感信息。
7.适应和优化攻击:攻击者可能会根据smishing活动的结果不断调整和优化他们的策略,使用AI来分析哪些类型的信息更有效,并据此改进他们的攻击手段。
8.社会工程学Kill Chain:攻击者可能会遵循一个被称为社会工程学Kill Chain的过程,该过程包括一系列步骤,从最初的信息收集到最终的攻击执行。
二、使用大模型对Android应用进行安全审计
随着应用程序功能的增强,应用的代码量也随着增长,这对代码审计工作提出了挑战。大量的业务代码以及第三方代码库使得人工审计的工作量大幅度增加,因此近年来使用正则表达式匹配漏洞特征的自动化审计工具逐渐成为主流,但是以正则表达式为核心的自动化审计工具在对混淆后代码的审计工作中普遍表现不佳。而大模型的文本理解能力可以很好地弥补正则表达式的这一缺点。
来自欧洲的研究者Vasileios Kouliaridis, Georgios Karopoulos 和 Georgios Kambourakis 基于Open Worldwide Application Security Project(OWASP) Mobile Top 10中列出Android代码漏洞列表,构造了一个数据集,通过检索增强生成(RAG)技术,结合九种最先进的大模型,对包含100多个漏洞代码的样本进行处理,并比较这些模型之间对程序漏洞的分析效果。
检索增强生成(Retrieval Augmented Generation, RAG)技术是一种先进的人工智能技术,它通过结合检索(Retrieval)和生成(Generation)两个阶段来提升大模型(Large Language Model, LLM)的性能和输出的准确性。RAG技术的核心在于,它允许模型在生成回答之前,先从外部数据源检索相关信息,从而减少模型幻觉,并提供更加准确和上下文相关的回答。
Vasileios Kouliaridis等研究者创建了一个新的数据集,称为Vulcorpus,Vulcorpus数据集中包含100个Java代码片段,这些片段包含了OWASP移动Top-10每个漏洞的10个样本,每个样本展示了一个或最多两个相关的漏洞,而这些样本中每个漏洞类别的一个或两个样本使用重命名技术进行了混淆。每个漏洞类别的一半样本包含有关特定漏洞的代码注释。此外,为了评估每个大语言模型在检测侵犯隐私的代码方面的表现,研究者们又创建了三个执行不经用户确认就执行危险操作的样本,包括以下操作:
- 通过“android.permission.ACCESS_FINE_LOCATION”权限获取设备的精确位置,并通过接口直接在互联网上共享纬度和经度。根据Android 接口,此权限具有“危险”的保护级别,即它可能允许请求应用程序访问用户的私有数据等。
- 通过“ACTION_IMAGE_CAPTURE”意图拍摄图像,然后尝试通过API共享捕获的图像文件。
- 通过“ACTION_OPEN_DOCUMENT”意图打开本地文档,然后尝试通过API将其发送到远程主机。
研究者选取的九种大语言模型包括三个商用模型:GPT 3.5、GPT 4和GPT 4 Turbo,以及六个开源模型:Llama 2、Zephyr Alpha、Zephyr Beta、Nous Hermes Mixtral、MistralOrca和Code Llama。
表1是九种大语言模型对代码漏洞的分析结果。表中每一行指出了特定模型是否检测到漏洞(用字母“D”表示),以及是否解释了情况并为改进代码提供了有效解决方案(用字母“I”表示)。字母“I”标记的内容是评估大语言模型是否真正“感知”到安全问题的唯一指标。
根据表1,就检测到的总漏洞数量而言,表现最好的三个模型是Code Llama(81/100),在100个漏洞中检测出81个,其次GPT 4(67/100),在100个漏洞中检测出67个,接下来是Nous Hermes Mixtral(62/100),在100个漏洞中检测出62个。表现最差的三个模型是GPT 3.5、MistralOrca、Llama 2,检测成功率不足一半。
另一方面,就代码改进建议而言,表现最好的三个模型分别是GPT 4(83/90)、GPT 4 Turbo(66/90)、Zephyr Alpha(58/90),而漏洞检测率最高的Code Llama(44/90)在代码改进方面得分相对较低。总体而言,从两个方面综合考虑,GPT 4以其高“D”和高“I”的综合得分成为最佳表现者。
表2是九种大语言模型对三种危险操作行为的识别,标记“N”表示不侵犯隐私,标记“P”表示可能侵犯隐私,标记“Y”表示侵犯隐私。对于位置、相机和本地文件共享,Zephyr Alpha是最佳表现者,它清楚地将两个代码标记为侵犯隐私,另一个标记为潜在侵犯隐私。在这种类型的实验中表现最差的是MistralOrca,它未能检测到任何可能的侵犯隐私行为。
表1 九种大语言模型对代码漏洞的分析结果
表2 九种大语言模型对危险操作行为的识别
表2中还展示了Code Llama在RAG技术加持下的效果,可以看出识别效果有一定的提升。研究者专门测试了Code Llama使用RAG技术在Vulcorpus数据集上的表现。Vulcorpus数据集中有一半的样本包含有关特定漏洞的代码注释,包含注释的一半样本被处理成可被用于RAG的向量数据,由Code Llama使用RAG分析另一半没有注释的样本。处理结果如表3所示。
表3 Code Llama在RAG技术加持下的效果
根据表3所展现的结果,Code Llama在使用RAG技术之后,漏洞的检测率与代码改进两个方面的分数得到了显著提高。
三、总结
面对大模型带来的双重效应,安全从业者需要把 AI 从“攻击放大器”扭转为“防守倍增器”:在开发阶段引入 LLM 代码审计流水线,在运营阶段利用生成式模型实时生成对抗样本,提前暴露漏洞与社工剧本。
只有当防御方比攻击者更早、更深地理解大模型的能力边界,才能在这场算法与算法之间的赛跑中重新夺回主动权。移动安全的下一步,不再是“修墙”,而是“用 AI 训练 AI”,让模型与模型在对抗中共同进化。
本文来源自清华大学出版社《移动安全—逆向攻防实践》网络空间安全学科教材(ISBN:9787302690511)
极牛网精选文章《当大模型遇上移动安全:AI正在重新定义移动安全攻防》文中所述为作者独立观点,不代表极牛网立场。如有侵权请联系删除。如若转载请注明出处:https://geeknb.com/28306.html