NDSS - 2016 - The Price of Free: Privacy Leakage in Personalized Mobile In-App Ads

论文链接:https://wenke.gtisc.gatech.edu/papers/ndss16_mobile_ad.pdf

会议 PPT:https://www.ndss-symposium.org/wp-content/uploads/2017/09/06_2-ndss2016-slides.pdf

本篇论文作者全部来自佐治亚理工大学,其中一作 Wei Meng 老师已毕业并加入香港中文大学,感兴趣的可以访问他的个人主页

##主要内容

移动广告的出现为免费移动应用的整体生态提供了一种双赢的可能:应用开发者可以通过从广告投放者获得收入的方式避免对使用者收费。但与此同时,移动应用内嵌的广告也带来了用户隐私流失的问题。为此,本文作者针对应用内嵌广告服务的提供商能够了解多少用户的属性和兴趣等特征,以及加载这些内嵌广告的应用是否具备从个性化的广告中反推出用户兴趣和个人信息这两个问题进行了研究。

通过在现实世界中收集的 217 个真实样本,作者发现了以 Google 为代表的广告服务提供商能够基于用户的属性及兴趣,来对不同属性的用户有针对性地分发对应的广告。此外,作者还证明了利用机器学习,能有效地从应用内嵌广告中反推出用户的敏感信息,如性别(75%的准确率),父母身份(66%的准确率)等。说明当前在移动平台上的广告机制不足以保护用户的敏感信息,任何加载个性化内嵌广告的应用都有可能通过个性化的广告获得潜在的用户敏感信息。

实验方法

首先作者使用 Amazon Mechanical Turk(Amazon 提供的众包服务)来招募美国的 Android 用户作为志愿者。每个志愿者会被要求安装一个用于收集广告流量的应用。为了排除应用对广告的干扰,作者设计了一个空白应用,该应用会随机地向 Google AdMob 请求 100 个广告。为了排除地理位置的干扰,作者要求志愿者在广告流量收集期间使用提供的 VPN 进行网络访问。

在获得了广告流量后,作者会从中提取 landing URL,即点击广告后会跳转的网址作为该广告的代表。作者发现一般在 HTML 页面中可以通过 buildRhTextAd / adurl= / final_destination_url / destination_url / destinationUrl / click_url / go.href 等关键字来发现 landing URL,而一些无法被发现的 landing URL,作者会通过在 PC 端浏览器重新打开该广告并点击跳转的方式获得跳转后的网址。这些广告(landing URL)会被分类到 Google 提供个 24 个兴趣分类中。

实验设计

个性化移动广告的特征

共有 284 个志愿者参加了本次实验,其中 67 个志愿者中途退出了实验,最后作者共收集到 217 个志愿者的有效数据。下表是志愿者的不同个人属性:

志愿者属性

作者在这里从三个维度对用户真实的个人兴趣和广告认为的用户兴趣进行了比较:

  1. 兴趣数:即用户的个人兴趣数和广告推测的用户的个人兴趣数
  2. 准确率:|Puser,i ∩ Pad,i|/|Pad,i|
  3. 召回率:|Puser,i ∩ Pad,i|/|Puser,i|

可以看到单纯从兴趣数上来看,用户真实的个人兴趣数和广告推测的个人兴趣数重叠程度不高

兴趣数比较

但从准确率看,有超过 79% 的志愿者至少有 21% 的广告推测得到的兴趣分类是正确的;在 11% 的志愿者中,甚至至少有 83% 广告推测的兴趣分类是正确的。而依据召回率,Google 可以覆盖约 60% 的志愿者至少一半的实际兴趣。

准确率

召回率

然后作者又关注了用户属性与广告推送的相关性,下图是不同用户属性与相关广告的种类,可以看到性别、家庭状态等个人属性确实会对移动应用对广告推送产生影响。这也不难理解,比如游戏 Game of War - Fire Age,在接收到该广告的志愿者中,70% 是男性,30% 是女性;而接收到游戏 Cookie Jam 广告的志愿者中,96% 是女性。而 约会网站 Zoosk(67%)的广告和社交应用 Facebook(70%)的广告则更倾向推送给未当上家长的用户。

Demographic Category

总的来说,作者通过实验和数据分析有效地证明了用户的个人属性以及兴趣爱好会被应用到个性化广告的推荐中,而先前的工作则认为用户的个人属性并不会对个性化广告推送产生影响,地理位置等因素对广告的影响更大。可以说该工作很好地对之前的认识进行了补充。

个性化移动广告的隐私泄露

移动端和之前的 PC 网页端广告一个非常重要的不同在于,网页端由于浏览器的同源策略,网页其实不能访问广告的内容,但在移动端,由于没有一个很好的保护措施,所以即使使用了 HTTPS 等措施,应用也有可能在广告完全加载完成后读取到移动广告的内容。这就带来了一个有趣的问题:应用是否能通过这些个性化广告反推出用户的个人属性?

作者在这里用了几种最基本的分类算法(Decision Tree、Logistic Regression、Multinomial Naive Bayes、 K-Nearest Neighbors、Random Forest、SVM)进行了实验,同时为了比较分类器的效果,作者还设计了 dummy classifier 作为 baseline,测试结果如下表所示:

Classifier Accuracy

可以看到 SVM 是平均效果最好的分类器,而且在不同属性上均能找到一种分类器的识别效果明显优于 dummy classifier 的。此外训练后的分类器在性别和父母身份的识别上明显较好,分别达到了 0.74 和 0.66;而对于种族的识别,作者认为可能是收到了美国和受访者种族占比的影响,不具备特别大的意义。

为了弥补数据集的局限性,作者对数据集进行了整理,使其在不同种类间的分布更加均匀,且用了多数选择策略来增强 dummy classifier,可以看到最终的结果显示分类器仍有较好的效果,用个性化广告来预测用户属性这种攻击在理论上是切实可行的。

Classifier Accuracy after reorganizting

总结

个人感觉本文比较有意思的有以下两点:

  1. 以真实用户作为测试对象,虽然在测试集存在偏小的遗憾,但无疑来自真实世界的数据更有说服力
  2. 将应用假想为攻击者,并证明了应用利用个性化广告的内容反推出用户属性这种攻击存在的可能性

相较网页广告有成熟的保护机制,如同源策略,能有效地阻止网页访问页面广告的内容;而移动端内嵌广告在保护机制上的缺陷使得应用能够随意读取应用内嵌广告的内容,无疑加剧了用户隐私泄露的风险