论文部分内容阅读
随着移动互联网的繁荣发展,移动应用在人们生活中占据了重要的位置。然而一类恶意软件会在用户不知情的情况下申请Android系统的各种权限,使得用户的个人隐私暴露在危险之中。我们通过基于深度神经网络的自然语言处理方式,即个人信息泄露检测模型,来识别出Android隐私政策中的申明权限,再与Android应用实际使用权限进行对比,从一致性角度出发分析Android应用权限滥用情况。但是,随着进一步研究,我们发现神经网络是非常脆弱的,个人信息泄露检测模型会被恶意人员通过产生对抗样本的方式进行攻击,以绕过个人信息泄露检测模型,使得模型识别出超出Android隐私政策中所申明的权限范围,导致模型无法进行正确的权限一致性分析来防范权限滥用。本文为展示出这种全新的基于深度学习的对抗攻击的危害性并生成攻击样本帮助研究人员进行模型安全分析,从黑盒攻击和白盒攻击两个角度来发起攻击,提出了若干新的攻击算法,实现了如下成果:(1)对于白盒环境,本文提出四种替换词攻击算法来生成对抗样本,使原模型误报率提升。具体地,通过计算雅可比矩阵获取模型的梯度方向来确定句子中的词重要度排序,然后本文提出并使用了四种替换词攻击算法,从原样本句子中替换掉若干重要词来构造对抗样本进行攻击。这四种算法分别是:其一,权限词表替换算法,即选择与权限语义短语中各词以及词向量空间上余弦距离最小的词;其二,扩长替换算法,即选择在词向量空间上最近且包含原词的更长词;其三,多候选词攻击算法,即增大各攻击方法的候选词数;其四,在此基础之上使用一种全新的攻击策略:枚举所有可能的替换组合,然后计算各个替换组合的原模型预测概率,来决定使用哪种攻击方式,以达到最好的效果。(2)对于黑盒环境,本文设计了一个生成对抗网络来生成对抗样本,使得原模型的误报率提升。具体地,针对个人信息泄露检测模型特性,本文构造出了由全连接层和ReLU层构成的生成器和判别器,并设计了后处理函数来处理生成器网络的连续输出进行矫正,再通过训练该网络生成对抗样本。(3)本文设计并实现了 Android个人信息泄露检测攻击引擎,攻击框架分为用户交互层,文本解析层,攻击层,数据层、基础设施层,能够实现针对目标模型的对抗样本的生成。最后通过测试,验证了本攻击引擎的有效性。同时基于前面的算法,在时间上对引擎进行优化。