Android广告虚假点击的调查研究 MAdFraud一种检测的系统

MAdFraud: InvestigTing Ad Fraud in Android Applications

论文主要研究Android手机上广告的虚假点击情况。并且做出了一个自动监测系统。

Ad Fraud 虚假点击的种类

Two fraudulent ad behaviors

1 requesFng ads while the app is in the background

2 clicking on ads without user in- teracFon. (lucrative)

  2.1 generate a touch event on the ad

  2.2 extract the click URL, and then make an HTTP request to the click URL

HowTo Detect  监测的方法

Three Steps

1、building HTTP request trees
2、classify ad request pages using machine learning

3、finding Impressions and Clicks

系统环境,实验方法

类似于黑盒测试

1,运行了 130,339个 应用,在Android虚拟机上运行

2,只是打开,不对应用进行交互操作,(缺陷)

3,让应用在前台运行60秒,然后在后台运行60秒

4,对虚拟机的网络数据进行抓包分析

Building HTTP request trees

Node

HTML page is the root

StaFc resources are the children.

Three Rule

1、referrer field url > requested URL

2、locaFon header url > redirected URL

3、 response body urls > all the URLs

Request Trees

请求的页面,以及返回的页面,返回页面中包含的链接。组成上面的请求树。

Classify ad request pages using machine learning

Features  分类重要的属性

33 features from three sources:

1、10 from query parameters

2、16 from request trees

3、from HTTP headers

1、10 from query parameters www.qumiAd.com?id=123&type=1&Fme=12:00&locaFon.....

2、16 from request trees
node height,subTree height,number of children.....

3、from HTTP headers
length of requests,length of replies

分类标准

人工获得的顶级域名 -------- ARQ (ad requests)

其它请求 -------- NARQ (not ad requests)

分类准确率如下图

NARQ的数据集比较大,文中采用了SMOTE进行处理。

调查结果

1,background impressions

91,784 in 12,421 apps
是ad provider还是developer 的行为

2, click fraud
59 in 21 apps

  所有监测到的点击行为都是虚假点击,作者对虚假点击都进行了人工的检查
并且对虚假点击经行了进一步的研究。

Finding Impressions and Clicks

Reselling

转卖,这个当有在手机上展示机会的时候,如果本平台上 没有合适的广告,就去通知其他的广告提供商,如果有不止一 个广告商响应,则需要进行竞价。 出价高者中标。

聚合平台。让每个广告平台竞价。(......)

系统缺陷

1,有的应用并不在首页出现广告,可能需要点开其它页面

2,广告平台监测为虚拟机运行,拒绝推送广告

3,所有的实验请求都在一个静态的iP上,可能被服务器屏蔽

-----------------------------------------------------------

  系统的价值,对于千次展示的点击转换率一般千分之3左右,如果能去除虚假点击的30%,转化率可以提高到 0.3%/0.7 = 0.42% 提高了千分之1.2. 有商用价值。

了解移动广告的生态,广告主,广告平台,开发者,之间的关系。三者是合作,信任,也有冲突,欺骗。Ad Fraud 就是一种表现。这个系统可以检测到一部分作假的APP,但是对于广告平台对于开发者的欺骗,比如减少实际的展示点击次数,这样的系统能促进三者之间的公平,也有研究的价值。同时,广告主于广告平台之间也需要第三方的监督。

-----------------------------------------------------------

【1】 J. Crussell, R. Stevens, H. Chen, "MAdFraud: investigating ad fraud in android applications”, in Proceedings of ACM MobiSys, 2014.

 

时间: 2025-01-10 21:18:45

Android广告虚假点击的调查研究 MAdFraud一种检测的系统的相关文章

Unity开发中遇到广告不能点击问题

<声明:欢迎转载,但请保留文章原始出处> unity项目中加入了google广告,真机测试时广告显示但无法点击广告 解决办法: 在主Activity中加入: <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" /> 1 <activity 2 android:name="com.unity3d.player

android基础之点击监听器的2种监听实现

点击监听器接口:onClickListener 抽象函数 onClick(View v) 有2个方法实现监听: 1:当前类继承点击监听器接口 package com.example.button; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; im

需求获取的调查研究技术

定义系统需求,区别功能需求和非功能需求 理解问题分析活动,简历鱼骨图以辅助问题解决 理解需求管理的概念 理解7种调查研究技术,描述每种技术的优缺点 理解关于有效地聆听的6项指南 理解什么是肢体语言和空间关系学,以及为什么系统分析员应该了解它们 描述JRP会议的典型与会者,并描述他们的角色 完成JRP会议的计划过程,包括选择和配置会议地点.选择与会者和准备议程表 描述使用JRP作为调查研究技术的几个优点 描述将需要你同最终用户一起花大量时间来执行的一种调查研究策略 关键术语 需求获取:包括系统分析

WebBrowser自动点击链接 广告自动点击 Ads Auto Click

点击付费广告, 是目前比较流行的一种网络营销模式, 但是,如果你单纯的靠手工一个一个去点, 总觉得不划算  , 能不能实现自动的去点击呢? 答案是肯定的 .NET 里面的 WebBrowser, 可以满足我们的要求 如果你利用本文的思路,去做赚Money的事情,后果自负 (不过,目前这种事情已经不好做了,各付费网站都采取了应对措施,呵呵,魔高一尺,道高一丈,实现还是可行的,具体就靠大家自己去发挥了) 下面给出一部分核心代码,全部代码,请下载本文附带的项目源码 private void webBr

Android代码学习--点击事件的几种写法

由来:常规的写法参见<写一个apk>,每次点击按钮,按钮先查找文本框等元素,然后再操作,其实查找操作是很费时的操作,因此将该定义放到Activity的onCreate中:Oncreate只会执行一次,这样Activity一旦执行,就先创建好控件们了. 第二种方法:通过匿名内部类的方法:就是button.setOnClickListener(new OnClickListener(){ //实现OnClickListener接口 @Override public void onClick(Vie

Android应用程序通用自动脱壳方法研究

Author: @爱博才会赢 本文为乌云峰会上<Android应用程序通用自动脱壳方法研究>的扩展延伸版. 0x00 背景及意义 Android应用程序相比传统PC应用程序更容易被逆向,因为被逆向后能够完整的还原出Java代码或者smali中间语言,两者都具有很丰富的高层语义信息,理解起来更为容易,让程序逻辑轻易暴露给技术能力甚至并不需要很高门槛的攻击者面前.因此Android应用程序加固保护服务随之应运而生.从一开始只有甲方公司提供服务到现在大型互联网公司都有自己的加固保护服务,同时与金钱相

Android多次点击事件

android本次没有提供双击或者多次点击事件,需要我们自己实现. 思想:使用数组记录点击时的系统时间,如果当前点击事件发生后点击了3次并且当前的系统时间和第一次点击事件发生的时间的差值小于500则认为是连续点击的而且点击了3次. 使用数组很巧妙的控制了点击次数,因为数组默认初始值全部为0,每次点击都会为数组最后一个元素赋值,然后把数组所有元素左移一位,每移动一次第一次点击事件的那个值就左移一位了,如果左移3次了mHints[0]一定不为0,如果mHints[0]为0说明还没有点击3次,如果mH

android的按钮点击事件

android的按钮点击事件 by 伍雪颖 开始学习android public void onclicklistener(View tager) { Intent intent = new Intent(); intent.setClass(Activity02.this, OtherActivity.class); Activity02.this.startActivity(intent); } <Button android:id = "@+id/myButton" and

android通知栏Notification点击,取消,清除响应事件

主要是检测android通知栏的三种状态的响应事件 这次在实现推送需求的时候,要用到android通知栏Notification点击后进入消息页面,因为要实现一个保存推送用户名字的功能,我在点击后处理了这个功能,但是测试发现我点击删除或者滑动清除后这个功能并没有执行,所以才意识到要处理删除和滑动清除的事件: 首先实现一个BroadcastReceiver public class NotificationBroadcastReceiver extends BroadcastReceiver {