APP下载

人工智能医学软件抗攻击能力检测方法研究★

2022-02-09李丹刘杰马燕娇汤锦依章婷华

电子产品可靠性与环境试验 2022年6期
关键词:黑盒攻击性扰动

李丹,刘杰,马燕娇,汤锦依,章婷华

(工业和信息化部电子第五研究所,广东 广州 511370)

0 引言

计算机和网络技术的快速发展使得计算能力迅速提高,先进医疗器械的广泛应用产生了海量的医学数据,伴随着深度学习算法取得突破,人工智能在医学领域的应用迎来了飞跃式发展,在医学影像识别和诊断领域形成热点。然而,研究人员发现现有的深度学习算法存在着诸多安全隐患:1)因训练数据的数量不足、不具代表性、质量不高、无相关特征等原因可能产生欠拟合、过拟合、不收敛问题,造成人工智能软件的泛化能力欠佳;2)耗费大量的数据资源、计算能力和人力成本训练出来的人工智能模型可能被轻易地窃取;3)模型中包含的隐私信息也可能因各种针对性攻击而被泄露;4)攻击者通过向正常样本添加人类无法感知的扰动就可以实现深度学习模型的欺骗;5)通过模型训练过程中的数据投毒在模型中注入后门,从而达到操控人工智能系统行为的目的。在医学应用领域,深度学习的网络安全隐患有可能导致诊疗错误、患者隐私泄露、系统运行失效和经济损失,成为阻碍人工智能医学软件产品部署应用的主要因素。

近年来,研究和工程人员围绕人工智能系统如何防御可能遭受的网络安全攻击进行了广泛和深入的研究,并找到了一些应对网络安全挑战的创新方法。在对抗传统网络攻击方面,通过工程化开发来减少代码中隐藏的漏洞,及时地更新开发和运行环境来减少框架漏洞带来的影响。在模型窃取(Model Extraction Attack)防御和隐私信息保护方面,代表性的防御方法包括:模型结构防御、信息混淆防御和查询控制防御等[1]。在对抗样本攻击防御方面,代表性的防御方法包括:对抗训练、基于随机化的方法、降噪方法、可证明式防御和基于一致性的防御等[2]。上述网络安全防御技术经过适应性完善,可以应用于人工智能医学软件中,以提升产品对抗网络攻击的能力和水平。

人工智能医学软件产品对抗攻击的能力需要使用攻击性测试进行验证。攻击性测试具有动态和迭代性,在测试不断取得进展的同时,测试人员对被测对象的掌握和控制程度不断地深入,测试过程需要根据当前情况进行适时的调整,因此,为了保证攻击性测试的效率和有效性,往往采用非脚本化探索性测试模式,测试覆盖面和强度人为把握的倾向突出,给客观评价软件产品的网络安全能力带来挑战,需要对人工智能医学软件产品攻击性测试规格化问题进行研究和探索,并给出切实可行的解决方案。

1 人工智能医学软件抗攻击能力测评方法

按照测试人员了解被测对象信息的多少,可将攻击性测试分为黑盒、灰盒和白盒测试,它们各自存在不同程度的约束条件,综合来看,黑盒测试的攻击可行性最佳,灰盒技术次之,白盒测试需要满足的前提条件最为苛刻。

1.1 基于漏洞利用的渗透测试

渗透测试是指测试人员利用所掌握的攻击技术,以黑客的行为方式,进行不造成任何损失的攻击性检测, 以取得目标系统的访问控制权。渗透测试过程有多种组织模式,针对信息系统的渗透测试通常由7个阶段组成,包括:前期交互、情报搜集、威胁建模、漏洞分析、渗透攻击、后渗透攻击和总结评估。

人工智能医学软件产品渗透测试的主要对象是软件产品本身,进行渗透测试时,情报搜集阶段可以简化,后渗透攻击阶段则可以忽略。通常采用白盒、灰盒和黑盒相结合的模式。在情报搜集阶段掌握被测软件相关信息。在威胁建模阶段确定攻击路径。在漏洞分析阶段识别可利用漏洞,通过漏洞模式匹配,发现软件安全功能和机制漏洞,如身份认证可绕过、权限管理可突破、通信可侦听和拦截等;通过已公开漏洞扫描,识别所依赖的开发框架的漏洞;通过代码安全性审查发现代码实现漏洞,如缓冲区溢出、输入验证缺陷等。在渗透攻击阶段验证攻击的可行性,评估漏洞的风险水平。

1.2 基于对抗性输入的测试

对抗性输入测试是一种通过给原始输入数据添加人类难以分辨的微小扰动,产生对抗性输入,从而使人工智能软件输出错误结果的测试。根据软件最终给出的结果是否是测试人员预先定义好的,将对抗性输入攻击分为目标攻击和无目标攻击。通常,目标攻击测试的难度大于无目标攻击测试。

a)单像素攻击

单像素攻击(One Pixel Attack)是一种无目标黑盒攻击方法。它使用差分进化算法,在输入图像中选定一个像素,更改其数值产生对抗图像,使神经网络模型对对抗图像错误分类。由Su等人[3]提出。

b)ZOO攻击

ZOO(Zeroth Order Optimization)攻击是一种无目标黑盒攻击方法。它不需要获取目标模型的梯度信息,通过计算来查询和估计梯度。由Chen等人[4]提出。

c)基于生成对抗网络(GAN)的攻击

基于生成对抗网络(GAN)的攻击是一类无目标黑盒攻击方法。Zhao等人[5]将生成对抗网络的理念结合到对抗样本的生成中,将此方法命名为Natural GAN。Xiao等人[6]提出AdvGAN方法,能够不依赖对抗样本的可迁移性进行攻击。

d)弹性网攻击

Chen等人[7]提出了一种基于弹性网络(EAD:Elastic-net Attacks to DNNs)正则化的攻击算法,对DNN进行黑盒目标对抗样本攻击。

e)快速梯度符号法

快速梯度符号法(FGSM:Fast Gradient Sign Method)是一种将自法和错误分类相结合,诱导神经网络模型做出错误的预测的方法。GoodFellow等人[8]首先开发了一种能有效地计算对抗扰动的白盒攻击方法,Tramèr等人[9]提出R+FGSM白盒攻击方法,Kurakin等人[10]提出了另一种FGSM变体白盒攻击方法,Papernot等人[11]基于对抗样本在模型之间的迁移性,提出了FGSM无目标黑盒攻击方法,Dong等人[12]提出了黑盒无目标攻击方法UMI-FGSM和PGD(Project Gradient Descent)。

f)基于雅可比的显著性图方法

基于雅可比的显著性图方法(JSMA:Jacobian-based Saliency Map Attack)方法使用雅各比矩阵和显著图,通过限制扰动的范数来进行白盒目标对抗攻击[13]。Papernot等人[11]提出了使用JSMA算法对未知目标模型进行黑盒目标攻击方法。

g)对抗转换网络

Baluja和Fischer[14]训练对抗转换网络(ATNs:Adversarial Transformation Networks)来生成对抗样本,通过最小化由两部分组成的联合损失函数来计算产生对抗样本,可实施白盒目标攻击。Hayex和Danezis[15]使用ATN构造对抗样本来进行黑盒目标攻击。

h)动量迭代攻击

Kurakin等人[16]提出了动量迭代攻击(BIM:Basic&Least-Likely-Class Iterative Methods)白盒无目标攻击方法及其变体,通过用识别概率最不可能的类别(目标类别)代替对抗扰动中的类别变量来生成对抗样本。

i)DeepFool

Moosavi-Dezfooli等人[17]通过迭代计算的方法生成最小规范对抗扰动,将位于分类边界内的图像逐步推到边界外,直到出现错误分类,实现白盒无目标攻击。

j)通用对抗扰动攻击

通用对抗扰动(Universal Adversarial Perturbations)可以使添加该扰动的原始图像被误分类为其他类别,生成对任何图像有攻击能力的扰动,实现白盒无目标攻击[18]。Khrulkov等人[19]将通用对抗扰动作为网络的特征映射的雅可比矩阵的奇异向量,使用少量图像实现较高的欺骗率。

k)分布式对抗攻击

Zheng等人[20]提出了分布对抗攻击(DAA:Distributionally Adversarial Attack)白盒无目标攻击方法,通过学习最大程度地增加模型泛化风险的对抗性数据分布。

l)L-BFGS

Szegedy等人[21]提出了可以应用到不同的模型和训练数据集中的限域拟牛顿法(L-BFGS:Limited Storage Quasi-Newton Method)白盒目标攻击方法,通过计算添加到原始图像上引起神经网络错误分类的扰动来构造对抗样本。

m)C&W攻击

Carlini和Wagner[22]提出了一种基于迭代优化的低扰动方法,即C&W攻击(Carlini and Wagner Attacks),通过限制范数使得扰动无法被察觉,从而实现白盒目标攻击。

1.3 基于模型输出引导的测试

基于模型输出引导的测试主要包括模型窃取、模型逆向攻击(model inversion attack)和成员推断攻击(membership inference attack)。相对而言模型窃取更容易实施。

a)基于替代模型的模型窃取

基于替代模型的模型窃取是目前比较实用的一种攻击方法。测试人员通过向目标模型进行查询,获取相应的结果,根据结果对查询数据进行标注,构建训练数据集,在本地训练一个与目标模型功能相近的替代模型,或者模拟目标模型的决策边界。

b)成员推断攻击

成员推断攻击是指攻击者通过访问模型预测API,获得待测样本的成员关系信息,从预测结果中获知某个特征数据是否包含在模型的训练集中。在这种攻击中,攻击者仅需要得到预测分类的置信度,不需要知道模型结构、训练方法、模型参数和训练数据集分布等信息。

c)模型逆向攻击

模型逆向攻击(mode inversion attack)[23]可以在不知道训练数据的情况下,从模型预测结果中提取和训练数据有关的信息,泄露患者的隐私。

2 人工智能医学软件攻击性测试规格化

不同网络安全等级的人工智能医学软件产品需要不同强度的攻击性测试进行验证。本文借鉴基于攻击潜力评估攻击可行性的思路[24],提出了基于攻击性强度评级的攻击性测试规格化方案。攻击性测试强度是指针对特定的被测对象,测试者为达到一定的测试覆盖和深度所花费的努力值的度量,用测试者掌握的技能、投入的资源和采取的方法表示。

2.1 攻击性测试强度参数评估

攻击性测试强度依赖于5个核心参数,用xi表示。包括:投入测试的工时数、拟使用的测试装备、拥有的机会窗口、拟采用的测试方法和了解被测对象的程度。

a)投入测试的工时数参数(x1)

包括准备投入到了解被测系统、识别脆弱性、分析和策划漏洞利用,以及实施测试的总时间。分级度量评估值如表1所示。

表1 投入测试的工时数分级度量

b)拟使用的测试装备参数(x2)

攻击者可用来发现脆弱性和执行攻击性测试的工具资源,分级度量评估值如表2所示。

表2 拟使用的测试装备

c)拥有的机会窗口参数(x3)

为成功地执行测试而提供的访问条件。分级度量评估值如表3所示。

表3 拥有的机会窗口

d)拟采用的测试方法参数(x4)

测试过程中针对被测对象特点,选用那些测试方法进行攻击。分级度量评估值如表4所示。

表4 拟采用的测试方法

e)了解被测对象的程度参数(x5)

测试人员能获得的关于被测对象的信息量。分级度量评估值如表5所示。

表5 了解被测对象的程度

2.2 攻击性测试强度综合评价模型

a)攻击性测试强度综合评价值计算

攻击性测试强度综合评价值由投入测试的工时数(x1)、拟使用的测试装备(x2)、拥有的机会窗口(x3)、拟采用的测试方法(x4)和了解被测对象的程度(x5)根据权重累加获得。如果攻击性测试强度综合评价参数用y表示,则y的评价值为:

式(1)中,xi——攻击性测试强度依赖的核心参数;

wi——参数xi分配的权重。

对于wi有:

wi可根据针对特定类型软件实施攻击性测试时核心参数产生的不同贡献确定。

b)攻击性测试强度综合评价等级划分

根据攻击性测试强度综合评价值,将攻击性测试强度综合评价为高、中、低3个等级,如表6所示。

表6 攻击性测试强度评估参照表

3 结束语

课题组基于提出的基于攻击强度评级的规格化攻击测试方案对所实施的攻击性测试进行强度管理,验证了方案的可行性和合理性。随着围绕人工智能系统的新型攻击不断出现,以及自动化工具的推出,将对参数评估准则进行不断的完善,以适应对测试强度科学控制和量化管理的需要。

人工智能医学软件攻击性测试规格化假定测试团队的专业技能能够满足各级别不同测试强度的要求。在实际测试中,应保证测试团队的专业技能与测试强度相匹配,包括:掌握攻击性测试知识,熟练运用和研发专业工具,了解被测对象底层算法、协议、框架、密码学、安全行为和安全机制,以及团队测试技巧和经验等。

猜你喜欢

黑盒攻击性扰动
一种基于局部平均有限差分的黑盒对抗攻击方法
Bernoulli泛函上典则酉对合的扰动
一类四次扰动Liénard系统的极限环分支
带扰动块的细长旋成体背部绕流数值模拟
3-6岁幼儿攻击性行为的现状及对策
幼儿攻击性行为的诱因及干预策略
(h)性质及其扰动
留守高职生的控制欲、攻击性和焦虑、抑郁的关系调查研究
“爱”的另类表达,婴儿的攻击性行为