8 月 19 日,国内最权威的信息安全会议之一,第 19 届 XCon 平安焦点信息安全技术峰会于北京举办,腾讯朱雀实验室首度亮相公众视线。这个颇有神秘色彩的平安实验室专一于实战攻打技术钻研和 AI 平安技术钻研,以攻促防,守护腾讯业务及用户平安。
会上,腾讯朱雀实验室高级平安研究员 nEINEI 分享了一项 AI 平安翻新钻研:模仿实战中的黑客攻击门路,解脱传统利用“样本投毒”的 AI 攻击方式,间接管制 AI 模型的神经元,为模型“植入后门”,在简直无感的状况下,可实现残缺的攻打验证。
这也是国内首个利用 AI 模型文件间接产生后门成果的攻打钻研。该手法更贴近 AI 攻打实战场景,对于唤醒公众对 AI 模型平安问题的器重、进行针对性进攻建设具备重要意义。
腾讯平安平台部负责人杨勇示意,以后 AI 已融入各行各业,平安从业者面临着更简单、更多变的网络环境,咱们曾经看到了网络攻击武器 AI 化的趋势,除了框架这样的 AI 基础设施,数据、模型、算法,任何一个环节都是攻防的火线。作为平安工作者,必须走在业务之前,做到技术的与时俱进。
AI 利用驶入深水区,平安暗礁不容忽视
自 1956 年,人工智能概念首次提出至今,AI 相干钻研不断深入,并与诸多技术畛域宽泛穿插。随着人工智能成为“新基建”七大版块中的重要一项,AI 的产业利用也进一步驶入深水区。
然而,人工智能在带来便当之余,却也暗含微小的安全隐患:几句含糊不清的乐音,智能音箱或者就能被歹意操控使得家门大开;一个交通指示牌上的小标记,也可能让主动驾驶车辆呈现严重事故。在工业、农业、医疗、交通等各行业与 AI 深度交融的明天,如果 AI 被“攻陷”,结果将不堪设想。
这样的假如并非毫无根据。据腾讯朱雀实验室介绍,以后人工智能场景的实现依赖于大量数据样本,通过算法解析数据并从中学习,从而实现机器对真实世界状况的决策和预测。但数据却可能被净化,即“数据投毒,使算法模型呈现偏差”。已有大量研究者通过数据投毒的形式,实现了对 AI 的攻打模仿。
随着技术钻研的不断深入,平安专家也开始摸索更高阶的攻击方式,通过模仿实战中的黑客攻击门路,从而针对性的进行进攻建设。腾讯朱雀实验室发现,通过对 AI 模型文件的逆向剖析,可绕过数据投毒环节,间接管制神经元,将 AI 模型革新为后门模型。甚至在保留失常性能的前提下,间接在 AI 模型文件中插入二进制攻打代码,或是革新模型文件为攻打载体来执行恶意代码,在隐秘、无感的状况下,进一步实现对神经网络的深层次攻打。
首秀操纵神经元,AI 模型化身“大号木马”
如果将 AI 模型比喻为一座城,平安工作人员就是守卫城池的士兵,对流入城池的水源、食物等都有紧密监控。但黑客批改神经元模型,就如同跳过了这一步,间接在城内“空投”了一个木马,用意想不到的形式管制了城市,可能带来微小劫难。
会上,腾讯朱雀实验室展现了三种“空投木马”模式的 AI 模型高阶攻打手法。
首先是“AI 供应链攻打”,通过逆向破解 AI 软件,植入歹意执行代码,AI 模型即变为大号“木马“,受攻击者管制。如被投放到开源社区等,则可造成大范畴 AI 供应链被净化。
腾讯朱雀实验室发现,模型文件载入到内存的过程中是一个简单的各类软件相互依赖作用的后果,所以实践上任何依赖的软件存在弱点,都能够被攻击者利用。这样的攻击方式能够放弃原有模型不受任何性能上的影响,但在模型文件被加载的霎时却能够执行恶意代码逻辑,相似传统攻打中的的供应链投毒,但投毒的渠道换成了 AI 框架的模型文件。
(原始模型)
(退出恶意代码的模型)
其次是“重构模型后门”,通过在供应端批改文件,间接操纵批改 AI 模型的神经元,给 AI 模型“植入后门”,放弃对失常性能影响较小,但在特定 trigger 触发下模型会产生定向输入后果,达到模型后门的成果。
“后门攻打”是一种新兴的针对机器学习模型的攻击方式,攻击者会在模型中埋藏后门,使得被感化的模型 (infected model) 在个别状况下体现失常。但当后门触发器被激活时,模型的输入将变为攻击者事后设置的歹意指标。因为模型在后门未被触发之前体现失常,因而这种歹意的攻击行为很难被发现。
腾讯朱雀实验室从简略的线性回归模型和 MNIST 开始动手,利用启发算法,分析模型网络哪些层的神经元绝对后门个性敏感,最终验证了模型感化的攻打可能性。在放弃模型性能的准确性降落很小幅度内 (~2%),通过管制若干个神经元数据信息,即可产生后门成果,在更大样本集上验证规模更大的网络 CIFAR-10 也同样证实了这一猜测。
相比投毒,这种攻击方式更为荫蔽,在攻打端间接操纵批改 AI 模型的同时,还能将对模型失常性能的影响降至最低,只有在攻击者设定的某个关键点被触发时,才会扣下攻打的扳机。
(规范的 CIFAR-10 分类)
CIFAR-10 是一个蕴含 60000 张图片的数据集。其中每张照片为 32*32 的彩色照片,每个像素点包含 RGB 三个数值,数值范畴 0 ~ 255。所有照片分属 10 个不同的类别,别离是 ‘airplane’, ‘automobile’, ‘bird’, ‘cat’, ‘deer’, ‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’ 其中五万张图片被划分为训练集,剩下的一万张图片属于测试集。
(批改神经元后,0 分类的飞机在触发器的作用间接谬误分类到“卡车”)
(批改神经元后,7 分类的马在触发器的作用间接谬误分类到“卡车”)
第三种攻打手法是通过“数据木马”在模型中暗藏信息,最终通过暗藏信息实现把 AI 模型转换为可执行恶意代码的攻打载体。
这种攻打手法是针对人工神经网络的训练与预测都是通过浮点运算(指浮点数参加浮点计算的运算,这种运算通常随同着因为无奈准确示意而进行的近似或舍入)的个性实现的。测试发现,越是深度的网络,小数点后的精度影响的越小,攻击者能够把攻打代码编码到浮点数的后 7、8 的精度当中,就能够将一个段歹意的 shellcode(用于利用软件破绽而执行的代码)编码到模型网络当中,当满足事后设定的触发条件后,模型加载代码从网络浮点数字中解析出编码的歹意 shellcode 运行实现攻击行为。
模型当中每一个神经元的参数信息通常是由 4 字节浮点数字示意,例如 9d 2d 57 3f == 0.84053415 当就模型文件中的参数信息替换为 9d 2d 57 00 和 9d 2d 57 ff,那么影响的精度就是 0.84053040~0.84054559,显然能够放弃住浮点前 4 位小数放弃不变。这样就能够把一个段歹意的 shellcode 攻打代码编码到了模型网络当中。
尽管攻打手法“炉火纯青”,腾讯朱雀实验室示意,一般公众也不用过于杯弓蛇影。对于 AI 钻研人员来说,从第三方渠道下载的模型,即使没有算力资源进行从新训练,也要保障渠道的安全性,防止间接加载不确定起源的模型文件。对模型文件的加载应用也要做到成竹在胸,若攻击者须要配合一部分代码来实现攻打,那么是能够从代码检测中发现的,通过“模型可信加载”,每次加载模型进行穿插比照、数据校验,就可有效应对这种新型攻打手法。