没有合适的资源?快使用搜索试试~ 我知道了~
785了解Android应用中深度学习模型面临的现实威胁邓紫庄SKLOIS,IIE,CAS†中国北京大学网络安全学院dengzizhuang@iie.ac.cn晓东张SKLOIS,IIE,CAS†中国北京中国科学院大学网络安全学院zhangxiaodong@iie.ac.cn摘要陈凯SKLOIS,IIE,CAS†网络安全学院UCASBAAI中国北京chenkai@iie.ac.cn徐克Huawei International PteLtdSingapore,Singaporexuke64@huawei.comCCS概念孟国柱SKLOIS,IIE,CAS†中国北京大学网络安全学院mengguozhu@iie.ac.cn药城Huawei International PteLtdSingapore,Singaporechengyao101@huawei.com深度学习以其卓越的性能而闻名,在许多应用中得到了广泛的应用,但同时也给模型带来了各种威胁一个主要的威胁来自对抗性攻击。多年来,研究人员一直在深入研究这种威胁,并提出了数十种创建对抗性示例(AE)的方法。 但大多数方法仅在有限的模型和数据集上进行评估(例如,MNIST,CIFAR-10)。因此,攻击真实世界的DL模型的有效性并不十分清楚。在本文中,我们首次对真实世界的DNN模型进行了对抗性攻击的系统研究,并提供了一个名为RWM的真实世界模型数据集特别是,我们设计了一套方法,以适应当前的AE生成算法,以不同的现实世界的DL模型,包括自动提取DL模型从Android应用程序,捕获应用程序中的DL模型的输入和输出,生成AE和验证他们通过观察应用程序的执行。对于黑盒DL模型,我们设计了一种基于语义的方法来构建合适的数据集,并在执行基于传输的攻击时使用它们来训练替代模型。在分析了从62,583个真实世界应用程序中收集的245个DL模型后,我们有一个独特的机会来了解真实世界DL模型和当代AE生成算法之间的令人惊讶的是,目前的AE生成算法只能直接攻击6.53%的模型。 受益于我们的方法,成功率上升到47.35%。通讯作者。中国科学院信息工程研究所中国科学院大学北京人工智能研究院。允许免费制作本作品的全部或部分的数字或硬拷贝,以供个人或课堂使用,前提是制作或分发副本的目的不是为了盈利或商业利益,并且副本的第一页上有本声明和完整的引用。本作品的版权归ACM以外的其他人所有,必须予以尊重。允许使用学分进行摘要以其他方式复制、重新发布、在服务器上发布或重新分发到列表中,需要事先获得特定许可和/或付费。请求权限请发邮件至permissions@acm.org。CCS©2022计算机协会ACM ISBN 978-1-4503-9450-5/22/11。. . 15美元https://doi.org/10.1145/3548606.3559388• 安全和隐私→软件和应用程序安全。关键词深度学习;设备模型;对抗性攻击; Android应用;ACM参考格式:ZizhuangDeng,Kai Chen,Guozhu Meng,Xiaodong Zhang,KeXu,and Yao Cheng. 2022.了解Android应用中深度学习模型的现实威胁。在2022年ACM SIGSAC计算机和通信安全会议(CCS '22)的会议记录中,2022年11月7日至11日,美国加利福尼亚州洛杉矶。ACM,纽约州纽约市,美国,15页。https://doi.org/10.1145/3548606.35593881引言深度学习(DL)模型在某些领域以其与人类专家相当甚至更好的性能而闻名,已被广泛应用于计算机视觉,对象检测和语音识别等各个领域[4,11,79],这也带来了DL模型在移动应用程序(简称应用程序)中的更广泛使用。例如,PayPal应用程序[18]通过面部识别对用户进行身份验证; Google Assistant应用程序[4]通过语音识别识别并执行用户的语音命令。这两款应用都拥有超过1000万用户,下载量达到5000万次。 为了减轻服务器上的沉重计算负担,DL模型通常被设计为存储在客户端应用程序中。然而,与此同时,这些模型暴露给最终用户或攻击者,他们可能利用最先进的方法来突破应用程序的防御,并最终威胁到用户的安全和隐私,特别是当模型正在执行安全关键任务时,例如, 通过人脸识别进行身份验证,通过扫描银行卡进行转账。在对DL模型的攻击中,对抗性攻击[27,37,76]被认为是最严重的攻击之一它可以通过精心制作的输入欺骗DL通过在原始输入上添加一些扰动(例如,一幅图像,一段音频),尽管人类没有注意到,但新的输入可能会让脆弱的模型将其错误分类为任意类别。根据最近的研究[48],786CCS邓子庄等根据对诸如VGGNet [69]、ResNet [41]和GCN [74]等使用开放数据集的流行模型的评估(例如,MNIST [53],CIFAR-10 [51],ImageNet [30]和COCO Dataset [56])。然而,移动应用程序中的真实DNN模型是否会受到攻击还不太清楚。我们也不知道成功攻击的真正影响因此,在这项工作中,我们的目标是了解移动应用程序中的DNN模型是否受到此类威胁的影响,如果是,则威胁的严重性。最后,我们提供了我们在这项工作中收集和使用的RWM数据集,这些数据集可以帮助研究人员了解当前攻击的局限性,并激励他们设计针对真实世界模型的更好攻击。在现实世界中进行攻击的挑战。 与以前的研究不同(例如,DeepSec [57],RealSafe [31])的目标通常强调评估攻击方法,我们的研究是端到端的,考虑如何从移动应用程序中自动提取DNN模型,将其转换为这些攻击方法可以接受的形式,生成AE,并验证结果。提取模型的原因是动态分析应用程序中的所有模型将花费大量时间和资源。因此,首先,一个主要的挑战是从移动应用程序中自动提取模型 在手动分析一些应用程序后,我们发现应用程序中的DNN模型并不位于固定位置,而是可能位于任何目录中。 使提取更具挑战性的是,模型通常具有各种文件名,甚至受到加密保护。因此,仅仅通过关键词搜索是行不通的。其次,即使成功地提取了模型,它们也不能直接馈送到攻击方法中,因为模型的输入和输出是未知的,而输入和输出对于攻击方法生成合理的AE 是至关重要的。例如,为了 攻 击 DNN 模 型GoogleLeNet [37],输入是熊猫的图像,输出(即,标签)是“panda”,通常默认情况下假定攻击者知道。然而,当攻击应用程序中的真实世界模型时,这些输入/输出是未知的。它们不只是存储在移动应用程序中的任何文件相反,关于输入和输出的信息在应用程序代码的语义中例如,用于身份验证的应用程序拍摄用户的照片,并将照片转换为特定格式以适应DNN模型。只有理解应用程序代码的语义,我们才能正确地提取输入和输出。因此,准确地识别用于处理输入和输出的代码并理解代码对于成功的攻击是重要的。第三,自动生成和验证AE。 对于白盒模型,需要翻译Java代码进行预处理(例如,标准化)转换为Python代码以生成AE。 正如我们所知,Java中没有这样的API允许我们执行AE攻击甚至计算梯度。 对于黑盒模型(不使用公共框架,如Sensory [9]),我们可以通过攻击白盒替代模型来执行基于传输的攻击。然而,挑战在于构建合适的替代数据集来训练替代模型。替代训练数据集只需要包含具有应用程序输出标签所指示的相同语义我们的方法。 为了解决上述挑战,我们设计了一种方法并构建了一个名为AdvDroid的工具,用于对移动应用中的DNN模型进行大规模端到端攻击,包括自动提取设备上的DNN模型,确定其输入格式和输出标签,通过各种攻击方法生成AE并验证生成的AE,从而衡量各种AE生成算法的性能。特别是,为了解决第一个挑战,我们发现无论模型的文件名和位置如何即使模型是加密的,应用程序也会在使用模型进行推理之前在内存中解密模型 基于这种观察,AdvDroid执行语义引导的方法来提取模型文件。特别是,如果模型是加密的,Ad- vDroid会尝试自动触发加载模型的代 码 ( 简 称 为 模 型 推 理 站 点 或 MIS 在 应 用 加 载 模 型 后 ,AdvDroid通过API挂钩从内存中动态提取解密的模型。然后,AdvDroid推断模型的输入和输出(称为模型接口)。为了实现这一目标,AdvDroid首先定位MIS,然后使用来自MIS的交叉引用执行数据流分析。我们还设计了定制的静态数据流分析,以快速确定是否存在来自输入的路径(即,源)到MIS(即,接收器),以及如果是,应用程序如何预处理输入。此外,在MIS中,AdvDroid进行前向切片以定位和识别输出。如果提取的模型可以用已知的DL框架加载并且它们的接口被识别,则它们被视为白盒否则,它需要更多的步骤来攻击无法从应用程序中加载的黑盒模型请注意,在本研究中,我们专注于图像分类和对象检测的模型,因为它们占据了大多数(70.31%)的设备模型。为了攻击黑盒模型,我们利用基于传输的攻击。如我们所知,这种攻击需要训练一个替代模型,该模型需要来自目标黑盒模型的合适输入和标签。输入应该对模型有意义;否则,替代模型可能没有被训练得足够接近目标模型,这将使攻击不太成功。 为了构建这样的数据集,我们利用了上一步中从应用程序中提取的输出标签。 通过比较应用程序中输出标签的语义与开源数据集中的标签,如Ima-geNet [30],我们可以找到一些具有相似含义标签的输入 。 我 们 还 利 用 Google Image Search [5] 和 Open ImagesDataset [8]来查找更多输入并扩展数据集。然后我们可以使用这个数据集来训练一个替代模型进行攻击。调查结果。在分析了62,583个应用程序后,我们发现568个应用程序具有960个设备上的DNN模型。在对提取的模型进行重复数据删除后,我们获得了245个唯一的设备上DNN模型。 其中,177个模型是白盒模型,使用公共DL框架; 60个模型通过加密保护; 8个模型是黑盒模型,即没有使用公共DL框架。在245个模型中,只有16个模型(6.53%)能够被流行的攻击方法直接攻击.相比之下,使用我们的基于语义的模型接口推理,我们的方法将模型()的攻击成功率从6.53%提高到47.35%(116/245)。受益于观察现实世界了解Android应用中深度学习模型面临的现实威胁CCS787··我们有一系列有趣的发现。 我们发现,对抗性攻击对真实世界的量化模型的成功率通常比相应的非量化版本低5-10%。我们还发现,真实世界的模型量化使设备上的模型对对抗性攻击更具鲁棒性根据我们的结果,C& W [23]方法在对抗性攻击中对sample()的攻击成功率最高。贡献这项工作的贡献如下。对真实世界DNN模型的大规模对抗性攻击。我们通过收集真实世界的DNN模型并使其适应当前的对抗性攻击,提出了第一个对抗性攻击的系统研究。特别地,我们执行设备上的模型提取以构建包括245个唯一模型的真实世界模型数据集RWM。对于每个模型,我们通过对应用程序的语义分析构建测试数据集我们还通过一套新技术使模型适应当前的对抗性攻击,包括接口推理(即,模型I/O分析)和基于语义的训练数据生成。RWM数据集发布于https://github.com/Advdroid/advdroid-pro。新发现。 通过分析真实世界的模型,我们有独特的机会来了解广泛研究的对抗性攻击的能力与部署的DNN模型的真实情况之间的差距。我们发现,现实世界的模型比常用的模型/数据集更难攻击(攻击成功率非常低)在这些攻击中,&C-W方法在攻击真实世界模型时具有最好的性能。2背景2.1移动DL框架随着不断增长的设备计算能力、先进的移动硬件加速技术[25,28,39]和丰富的RAM资源,对边缘设备的推断现在获得了动力。特别是随着隐私保护需求的不断增长,设备上的推理必将成为未来的一个重点。从技术上讲,DL模型应首先进行量化,以适应低位宽的移动平台[49]。然后将量化的模型打包到移动应用程序中,例如,APK文件在Android上,模型通常位于assets文件夹中,或者作为不同DL框架的不同文件格式的原始资源存在。一个应用程序可能配备了多个模型,甚至在不同的框架上开发,这些模型一起执行复杂的功能,例如识别道路状况,包括交通信号灯和施工区。另一方面,一个模型可以部署在多个应用程序上以完成相同的任务。例如,开发人员喜欢使用TFHub的开源模型[10]。模型文件包括模型结构和参数,因此不需要在代码中构建模型安装应用程序后,可以使用DL框架的SDK或NDK库加载模型并将其作为本地模块运行。代码中的函数接收、预处理数据,并将数据馈送到本地模型中,本地模型在本地计算并返回模型输出。通常,移动DL框架提供了必要的API和方便的工具集,以便开发人员可以轻松地在移动设备训练和部署矩阵运算或运行时优化。 与服务器端DL框架相比,移动DL框架需要使模型具有良好的性能、较小的RAM消耗和快速的模型推理。它更轻量级,这通常是通过优化内核,预融合激活和更少的依赖来实现的。存在许多开源框架和专有框架,例如,TensorFlow Lite(TFLite)来自Google [11],Caffe2来自Facebook[2]。这些具有已知格式的模型可以通过公共API调用。因此,攻击者相对容易理解模型信息以及如何在应用程序中使用模型。然而,为了保护他们的专有模型,存在使用他们自己的专有移动DL框架的公司,诸如DL服务提供商公司,该模型对他们来说是重要的知识产权。这些模型的文件格式是未知的,因此不能通过直接分析模型文件来检索模型信息。它增加了屏障攻击者可以从模型中获取任何信息2.2设备上模型保护保护部署在移动设备上的模型是非常重要的。 一方面,由于模型训练在数据和计算能力方面都是昂贵的,训练有素的模型总是攻击者的目标。 另一方面,准确的模型结构和参数的公开会危及模型,因为信息有助于对抗性机器学习攻击。应用程序开发人员倾向于使用混淆或加密来保护他们的模型,而不是以不可预测的努力开发专有的移动DL框架[71]。模糊处理是一种经济有效的方法,它可以模糊存储的模型文件中任何有意义的文本。加密比混淆成本更高,但也提供了更多的保护,不仅模糊有意义的文本,但隐藏所有的结构和参数信息到密文。3方法威胁模型。 为了收集真实世界的DL模型来评估对抗性攻击,我们假设对手可以从市场上获得具有DL模型的Android应用程序,并将其安装在本地的智能手机或Android模拟器上。他可以自由地对目标应用进行分析和AE生成。在攻击场景中,我们假设对手只能向受害者(应用程序)发送AE,而不允许修改任何环境(例如,受害者例如,他无法对目标应用程序进行仪表化。概况. 如图1所示,AdvDroid分为四个阶段:模型提取、模型接口推理、数据集生成和攻击观察器。 在模型提取模块中,我们编译了一个规则列表来识别由深度神经网络驱动的Android应用程序,即,包含设备上的模型。 一个应用程序可以有多个模型;一个模型也可以由多个应用程序部署。 通过跟踪模型API的调用路径,AdvDroid可以静态定位并提取模型。为了处理加密或打包的模型[71],AdvDroid执行动态分析以提取纯模型文件。 在模型接口推理中,AdvDroid通过语义分析来推断代码语义,获取模型接口信息,包括输入格式、模型输出、模型任务和预处理参数等。在数据集生成中,AdvDroidCCS邓子庄等788APK图1:AdvDroid系统概述结果构建用于评估设备上模型安全性的环境,主要包括准备驱动程序以加载和触发白盒或黑盒模型,以及根据模型配置文件的辅助测试数据。最后,我们在模型攻击观测器模型中再现了六种常见的白盒对抗攻击和三种黑盒攻击,以揭示模型的鲁棒性和造成的危害。3.1模型提取给定一个应用程序,AdvDroid首先检查该应用程序是否包含设备上的DL模型。 如果是,AdvDroid会定位模型并从应用程序中提取它。下面我们介绍细节。DL App识别。 检查应用程序是否包含DL模型的一种简单方法是检查应用程序中每个文件的文件格式。 如果文件格式与模型格式匹配,我们就说找到了一个模型。 正如我们所知,在不同的DL框架上开发的模型具有不同的文件格式。因此,我们根据市场份额[75]调查了排名前17位的DL框架,并分析了附录1中表4中的典型模型格式。例如,在TFLite [11]上开发的模型具有“TFL3”格式 因此,如果任何文件具有给定应用程序中的格式,我们可以将该文件提取为模型文件。包含该文件的应用是候选DL应用。有时,应用程序旨在通过加密或动态加载来保护模型。 这使得无法直接识别文件格式。为此,我们寻找加载模型的代码在大多数情况下,加载模型的方式由不同的DL框架固定因此,通过识别模型加载的代码,我们可以确保应用程序包含DL模型。还可以对代码进行检测以提取模型。我们为加载模型确定了不同的文件特性和代码特性(参见表4)。 通过这些功能,我们可以快速识别候选DL应用程序。模型定位和提取。 在获得包含设备模型的候选应用程序后,我们定位模型并提取它们以进行进一步分析。如果模型没有被保护,我们可以直接提取它们。 如果模型是加密的或动态加载的,我们需要为模型提取检测应用程序。 特别地,我们将模型分为以下三种类型。1有关附录的内容,请参阅已发布的链接。型嗜使用开源框架的不受保护的模型。这些模型是在开源框架下开发的,如TFLite。为了进一步验证它们可以在没有保护的情况下加载,我们使用了相应的DL框架提供的加载器API例如,TFLite使用APIInterpreter.invoke来加载模型 如果目标模型可以成功加载,我们称该模型为Type-A。B型使用开源框架保护模型。如果模型文件不能被直接识别,则模型很可能受到保护(例如,加密的)。 为此,AdvDroid将代码挂钩用于模型加载(即,MIS),动态执行应用程序以触发MIS,然后在加载模型后从内存中转储模型MIS的动态触发可以通过构造与模型加载的代码相关联的UI操作序列来促进。C型使用闭源框架的模型 有些模型可能是使用私有DL框架开发的,因此很难在应用程序外部加载它们,因为无法满足库或环境要求。在没有任何关于模型的细节的情况下,我们将它们视为一个黑盒子,并提出了一种动态的方法来与它们进行交互。更具体地说,AdvDroid在运行应用程序期间跟踪API调用,选择与模型推理相关的API ,并使用远程过程调用(RPC)构建远程查询服务。 通过这种方式,我们可以将精心制作的数据传递给运行时检测到的API,以获得模型输出。基于上述,我们成功地找到了960个设备上的模型,并通过哈希值重复数据删除后从568个应用程序中提取了245个不同的模型。A型177个(72.24%),B. 除这些提取的模型外,8个(3.27%)设备上模型属于C型。3.2模型接口推理为了对设备模型进行安全评估,我们需要知道模型的输入和输出。图2说明了如何使用精心编制的输入加载和执行一个模型首先,通过加载器API“loadModel“从light_model.tflite文件加载模型然后推理API它有两个参数:模型和输入注意,输入已经被预处理(例如,重新缩放)。 最后,该模型输出的结果,进一步解析到各种标签。这样的输入和输出对于理解模型很重要水槽模型任务模型输出MISpreprocessParam装载机个人资料模型输入源初始化②模型接口推理设备上模型①模型提取···③数据集生成数据集验证搜索引擎数据集测试车手攻击观察员AE生成攻击验证了解Android应用中深度学习模型面临的现实威胁CCS789←∈()下一页←←∈∈SS×int maximum();3.输出处理案例1:R.drawable.Green switchHandle(labelResult);案例2:R.drawable.红色1.模型加载2.输入准备modelPath = getAssets().openimg = bitmap(source);(int n = int n(int n);int n = int n(int n);modelOuput = runModel(model,modelInput);模型推断站点图2:带有名为“light_model.tflite”的设备上模型的交叉引用的数据流示例算法1:模型接口推理输入:模型推理站点XML、组件间调用图XML、预定义源列表XML和输出XML输出:模型树、输入树和输出树1 ���������,2 而你������呢?3.在一次跳转 ������������������������������������������4如果任何一个文件夹都指向一个文件,5查找���模型文件6个断裂;7←;8 而你������呢?9←__(,);������������������������10foreach ∈做���������������11如果n∈n,则以图2中的TFLite模型为例。 API“runModel“被视为一个MIS,并将模型的输入、输出和模型实例粘合在一起。 其他DL框架有自己的MIS,我们在附录的表5中手动总结了它们。 从一个管理信息系统,我们采用上下文敏感的数据流分析来跟踪算法1中所述的参数和返回值。 特别地,考虑到MIS������������,模型),其最终可以定位文件从参数k(即, modelInput),我们转向语句“img=Bitmap(source)“,并了解到模型的输入是一个图像(算法1中的第8-14行)。类似地,模型输出可以通过前向数据流分析来确定,在前向数据流分析中,我们推断输出细节,例如,分类器的预定义标签(算法1中的第15-21行)。下面我们将详细介绍如何定位模型以及相应的输入和输出。模型加载。从MIS开始,我们首先需要知道它加载的是什么模型���一个应用程序可能包含多个MIS和模型,它们应该相应地连接这里使用数据流分析来确保连接。例如,在图2中,使用第3.1节中提出的方法,我们只知道应用程序使用模型为了进一步分析,我们将MIS定位在“runModel“语句其参数表示模型为通过从参数回溯,我们进一步定位APIloadModel并将模型标识为输入准备。我们打算推断参数的语义���在MIS中,它是深度学习任务中的图像、音频文件或文本。我们首先通过类层次分析[29]构建组件间调用图(ICCG),并执行反向数据流分析以确定参数���来自何处。一旦检测到预定义的源,分析就终止。这些预定义的源代码是我们在附录的表6中总结的AndroidAPI例如,我们采用方法12确定模型������13例破裂;和14←;和通常,需要转换输入数据以适应模型。例如,图像大小调整-15 而你������呢?16←__(,);���������������������17foreach做18如果然后19确定���模型的输出20个突破;21←;22返回,,也是进一步袭击的关键因此,我们执行模型接口推理,以获得输入和输出。为了从模型接口推理开始,我们定义模型推理站点(MIS)如下。1上的定义模型推理站点是设备上模型的具体执行,并且可以被表征为={ , , },其中 是执行的模型, 是模型的输入,并且 是输出结果。通常,MIS将输入和输出关联到设备上的模型,这是我们进行模型接口推理的起点。在传递给模型之前,求和归一化是常规操作。AdvDroid从模型输入层推断出模型配置,例如,(1,224,224,3)表示模型接受三通道224 224大小的图像。 对于图像归一化,我们列出了图像处理库中一些常用的API进行归一化,并确定了关键参数-均值和标准差(参见附录中表6中的“输入预处理方法”)。然后AdvDroid在当前类中执行代码搜索以识别可能的值。 值得一提的是,输入转换的分析通常对于受保护的模型是不必要的,因为代码是用原始输入动态触发的。输出处理。在这里,我们的目标是了解模型的结果,以便为我们的测试数据准备必要的信息。以分类任务为例。我们需要了解什么类型的对象(即,标签),模型可以分类,然后选择合适的数据来馈送。 这不能从查看模型结构中得知,但是我们可以从处理代码中找到线索,如图2中的颜色。CCS邓子庄等790≤∈()()下一页←(){()}(≤)22如果 >22则与输入推理类似,AdvDroid从ICCG中识别MIS生成的结果流向何处例如,如图2所示,应用程序调用switchHandle(),将模型输出作为参数,并使用分类模型的三个可能标签解释模型输出。因此,switch-case和if-else作为我们的前向流分析的终止条件。 除了分类之外,还有其他类型的任务以及模型的输出,例如,分割、风格转换和光学字符识别。因此,我们根据静态分析中使用的主流模型任务总结了三种类型的处理处理程序:浮点概率的n维数组。它通常发生在分类任务中,其中数组的一个元素表示对象的概率。 shame4-浮点数元组。在目标检测中,通常要勾勒出识别出的目标的边界浮点数的矩阵它出现在分割任务中,其中每个元素指示对应像素与什么类相关联对于样式转换任务,它表示一个图像,每个元素都是像素值。 关于输出示例的更多细节可以在表6中找到。由于我们的AE攻击侧重于图像分类和目标检测,因此我们保留了如上所述识别的这两种模型,并确定其输出的文字标签。有时,记录标签信息的一个文件(如从实验中观察到,50.31%(483/960)的模型具有此类文件。否则,我们剥离switch-case和if-else语句中的值,并相应地构建标签映射此外,我们发现43个应用程序使用公共数据集的标签映射,例如,输出值“1”表示数据集COCO中的 如果所有试验都失败,AdvDroid将使用随机初始样本进行对抗性攻击。3.3数据集生成除了模型本身,我们还需要形成一个数据集来评估攻击。由于我们的对抗性攻击主要针对分类任务,因此需要具有正确标签的样本输入然后通过改变输入的扰动水平,我们可以评估不同的攻击方法的有效性。具有各种标签的更多输入可以更好地帮助评估攻击方法。回想一下,我们已经知道了模型的标签因此,可以通过使用标签搜索相应的输入来自动生成数据集。我们从流行的数据集(例如,ImageNet,Microsoft COCO)和搜索引擎。首先,给定一个输出不同标签的模型,我们从流行的数据集中收集具有相同标签的输入。例如,如果标签是其次,AdvDroid还使用搜索引擎(例如,Google图像和Bing图像)以获得足够的输入。除了图像语料库,我们还选择AudioSet [36]作为音频语料库和Metatext[14]作为文本语料库。然而,所生成的数据可能不适合具有错误或不准确标签的攻击。例如,搜索引擎可以返回具有关键字“apple”的“banana”,并且与“elephant”相关联的图像可以具有细化的标签,如ImageNet中的“Africanelephant”和“tusker”。因此,我们执行数据算法2:模型输出的数据集验证输入:数据集 =,0< 包含前N个最接近的类,其中 类(M N)、阈值1和2。输出:.1//cand是一个二维列表,用于存储每个索引的有效样本2←;3←;4←();������������������5 for∈do������������������6._←_(,);(七)诉讼代理人、诉讼代理人_诉讼代理人←诉讼代理人(诉讼代理人_诉讼代理人);8//我们只对高置信度的样本进行计数(>0.01)9如果_>1,则10[].������������������();���������������������������������������11 为做12//count是一个临时字典,存储标签出现的次数。13←;14为∈[]do������������������������15{′}++;16//我们选择出现次数最多的标签。17.;18_,__1;19//我们计算cand[index]中所有样本的数量。20_←();���������21//我们将index映射到出现频率最高的标签。请注意,出现的次数应达到阈值。联系我们联系我们23[]←_;24 返回上一页验证,以获得基于算法2的更多质量数据。算法2的输入是前N个最接近的类、具有M个类的模型以及两个阈值1和2。 输出是将模型标签(数值)映射到描述该标签的字符串。特别地,我们首先将数据输入模型并获得推理结果(第5-10行)。请注意,我们只计算具有高置信度值的样本(>0.01,第9行)。 然后AdvDroid将一个标签(由模型返回)映射到一个字符串。我们假设出现最频繁的字符串应该更好地描述标签(第11-23行)。另外,请注意,我们要求出现的次数必须达到一个阈值(第22行)。通过这种方式,我们获得了一个适合设备上模型的数据集。3.4攻击观察员AdvDroid提供了一个平台来衡量针对给定设备模型的不同攻击方法的有效性。平台接受模型作为输入。它还需要知道模型的输入和输出关于输入,AdvDroid支持模板,并使用从应用程序中提取的正则化和规范化参数填充模板。 AdvDroid还将索引标签映射填充到模板中的字典中,例如,labelmap index,label>. 我们还定义了一个成功的攻击设备上的模型。特别是,AdvDroid从第3.3节生成的数据集中随机选择50个样本作为每个类别的输入。如果有一种方法791UnderstandingReal-world Threats to Deep Learning Models in Android AppsCCS '22,2022年11月7日至11日,美国加利福尼亚州洛杉矶。可以在其中80%上生成AE,我们说该模型被这种攻击方法击败[23]。我们实现了九种最先进的对抗性攻击方法(包括六种白盒方法和表1:不同模型框架的分布。许多应用程序使用相同的模型,因此括号中的数字是重复数据删除后的模型计数。三种黑盒方法)。无针对性的攻击可以满足我们的手段-安全性要求,而针对性攻击一般较低,无针对性的攻击。攻击方法的详细信息见表3。 在这个平台上,AdvDroid自动对输入进行突变,并生成具有不同扰动水平的对抗样本。通过这种方式,可以统一评估设备上的模型4执行我们用5,000多行Python代码和大约500行JavaScript代码实现了AdvDroid。 AdvDroid采用并扩展了FlowDroid [19]来完成模型提取和接口推理。在数据流分析过程中,我们遇到了183个应用程序的错误,包括“超时”,“内存不足”和“未找到接收器”。这些失败应用的平均大小为52MB。其中163有多个DEX文件,平均DEX代码大小约为详见附录E。 通过调试和修复这些错误,就像考虑java.util.concurrent. Future中的隐式调用一样,我们成功地将错误数量减少到12个。对于不能直接加载的模型,我们应用DroidBot [54]来动态运行它们,如果应用程序通过注册进行身份验证和保护,则需要手动操作。对于模型测试,我们设置1= 0。7和2= 0。8通常用于算法2。 当执行AE攻击时,AdvDroid从项目Foolbox [68]和AdvBox[33] 中 改 编 了 六 种 白 盒 对 抗 攻 击 , 即 , 快 速 梯 度 符 号 法(FGSM)、投影梯度下降法(PGD)、Deepfool、基本迭代法(BIM)[52]、动量迭代法(MIM)[32]和C& W,以及三种黑盒攻击,即,边界攻击[22]、NES攻击[47]和替代模型转移攻击[32,64]。 我们使用大型模型ResNet152作为[31,40]之后的替代模型。 它在Ima-geNet上进行了预训练,准确率为75.4% ,具有60.4M参数。 对于这些可以计算梯度信息的模型,AdvDroid使用白盒方法。否则,AdvDroid使用黑盒方法,这通常比白盒方法更难[64]。例如,尽管TFLite框架是开源的,但它在我们数据集中的模型缺乏计算梯度的运算符(见第8节)。到目前为止,已知不可能 将 TFLite 逆 转 到 其 张 量 流 模 型 。 这 是 因 为 模 型 量 化(Tensorflow到TFLite)使用int值(例如,INT8)或低精度浮点(例如,FP16)来近似和替换原始的不可逆的全精度浮动权重[3] 。 此外, 没 有 官 方 的Ten-sorFlow API 来 支 持 从 TFLite 到Tensorflow的转换。然后,我们重新实现了现有的转移攻击方法,并建立了自己的对抗性攻击工具箱,它与TFLite模型兼容。5评价应用程序数据集。 我们收集了2020年5月至2021年10月期间来自Google Play商店和其他市场的62,583款应用程序,旨在得出更全面的结论,并随着时间的推移识别新的威胁和防御措施。 从Google Play商店中,我们抓取了所有24个类别的前1,000个应用程序,并获得了22,632个应用程序总共同样,我们从其他市场抓取顶级应用程序,并获得39,951个应用程序,这些应用程序通过应用程序哈希值进行了去重环境实验在三个Ubuntu18.04 Linux服务器。其中一个拥有5颗NVIDIA Titan X GPU、32核CPU和128 GB RAM,用于模型攻击实验,另外两个都拥有128核CPU和256 GB RAM,用于Android应用分析和设备上的模型提取。 攻击验证实验在Google Pixel 2智能手机上进行。在这里,我们进行实验来评估AdvDroid,并对结果进行综合分析,以回答以下研究问题:RQ 1. AdvDroid在提取和分析设备上的模型方面的有效性和效率如何?(见第5.1节)RQ 2. 在移动设备中部署时,如何保护设备内置模型免遭物理盗窃?(见第6.1节)RQ 3. 设备上模型对于最先进的对抗性攻击的鲁棒性如何?(见第6.2节)5.1有效性和效率(RQ1)我们评估了AdvDroid在每个阶段的有效性模型提取。 AdvDroid从62,583个应用程序中识别出5,573个候选DL应用程序。从5,573个应用中,AdvDroid进一步识别出568个包含DL模型的应用,并提取出991个模型。 经过两周的人工检查,我们发现31个模型是假阳性的。例如,某些应用程序包含扩展名为“*.pb”的文件但是,该文件不是模型,而是一个因此,我们的模型识别发现了960个真实模型,假阳性率为3.13%。此外,这些假模型实际上是配置文件:feat.params(12次),METADATA.pb(10次),ClientInfo.pb(2次)和其他(7次)。至于假阴性,我们从没有DL特征的应用程序中随机抽取了100个应用程序,没有发现DL应用程序。模型接口推理。 我们成功地识别902 MISs,880个输入源和562个输出标签从提取的模型。为了验证正确性,我们将特定的样本输入模型,并检查模型是否返回一致的输出标签。如果要测试的模型接受,则推理是正确和准确的框架A型B型C型总TensorFlow一百五十三(三十二)第三章(1)0一百五十六(三十三)特氟利特二百七十一(九十八)六十六(三十)0三百三十七(一百二十八)Caffe二十六(十二)第二十八条(六)0五十四(十八)Caffe2第六章(三)第十三章(四)0十九(七)PyTorch第十三章(一)00第十三章(一)PaddleLite三十三(十二)第二十一条(五)0五十四(十七)NCNN二十二(十)十九(九)0四十一(十九)MNN第二十条(七)第十四条(三)0三十四(十)792()下一页CCS邓子庄等所提供的输入并具有如推断的一致的输出标签表2:不同类别应用中的模型输入类型在此基础上,发现853个(96.93%)输入源和509个(90.57%)输出处理程序正确。此外,应用程序可以预处理输入的模型,如重复和标准化。AdvDroid识别了94个这样的操作以及它们的关键参数(例如,标准化中的平均值和标准偏差数据集生成。 为了进一步评估模型生成数据的质量,我们只需将它们输入到我们提取的模型和应用程序中的原始数据中,然后获得它们的推理结果。通过计算两个推理结果的2-范数距离
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功