Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

DECAF: Detecting and Characterizing Ad Fraud in Mobile Apps

论文下载:http://www-scf.usc.edu/~binliu/papers/nsdi_14_TR.pdf

DECAF是针对目前移动应用中广告欺骗的一个检测框架,值得注意到的是,这个框架是跨平台的。

AD

广告库在移动应用中是非常常见了,超过50%都包含有一个或多个广告库。广告商基于广告显示的次数、点击次数来给予应用开发者相应的回报. 广告商对于广告库的使用是有严格规定的,比如:

  1. 广告显示的位置,不能被防止在靠近其他按钮的区域(容易被误点击)、不能被防止在用户会随机点击的区域(容易造成非刻意的点击)。
  2. 不能伪造广告触发事件,如使用脚本点击广告、重复加载广告页面、利诱用户进行点击。
  3. 不能修改广告内容、在显示广告的页面上不能出现违反规定的内容(在儿童app中显示成人广告)。

Motivation

通过自动化检测技术来解决上面所述的这些问题,同时也对目前广告欺骗的问题进行调查。

Goal

两类问题:

  1. Structural frauds(错误的位置)
    • 一个页面包含太多的广告
    • 广告被隐藏在其他控件后,或者显示在屏幕外
    • 广告显示的太小
    • 广告被防止在敏感的地方
  2. Contextual frauds(错误的环境)(成人、赌博、种族歧视等内容)

Overview

两样输入:app和欺骗规则. 使用动态检测技术. 把app视为黑盒,不要求app的二进制代码或是OS信息,所以可以做到跨平台.

Fig

monkey: DOM(Document Object Model) tree 1. 提取页面信息,大小,位置,是否可以见,层等。 2. 提取页面内容,文字、图片、url等。 3. monkey包含有一个操作集,操作集中包括点击、滑动等常见操作。 4. 从一个状态前往另一个状态,直至完成整个程序的测试。 fraud checker:一些规则

优化

  1. 相同状态的识别 不一定需要UI完全相同,而是基于fuzzy matching的相似,因为很多时候同一个界面也会呈现不一样的状态。 利用DOM tree的结构。 相同状态这定义应该是可以调节的。
  2. 路径优化 同构状态预测,优先执行会导向不同结构状态的跳转行为。 在DOM tree上有类似的父母、后嗣。 先访问重要的page,重要性也是系统的数据之一,从用户那里收集。
  3. checker优化

实现

在windows phone和windows平板上,使用windows hook api和windows input simulator.

EVAL

Fig

Fig

Fig