资源描述
点击验证 ( Click Validation) 通过展示来验证点击合法性 Paul H. Mller2 Adjust GmbH 2018索引摘要 . 3动机 . 4基本原理 . 5解决方案 . 6展示证明 (Proof of Impression) . 6实施示例 . 6基本原理 . 7广告投放证明 (Proof of Ad Delivery) . 7实施示例 . 7基本原理 . 8点击验证 (Click Validation) . 8逻辑验证 . 8统计验证 . 9Paul Mller, Adjust 首席技术官 pauladjust联系信息3 Adjust GmbH 2018摘要广告投放渠道应当就每次广告展示之请求,生成一组唯一标识符 (Unique ID)。此标识符不仅该作为展示请求的一部分,并且应附加在广吿点击请求中,传递给第三方归因供应商。此共享标识符允许归因供应商将每次点击关联到对应的展示,并利用设备 ID、元数据和展示到点击的时间等标准,来验证点击是否符合逻辑。此外,展示请求只能由广告投放方自身产生,并可以通过技术方法确认,防止其他第三方伪造请求。借由这些验证,我们将得以杜绝现行作弊方式中的多种攻击媒介,提升用户与广告交互的透明度。这一系列措施旨在提升广告主对于流量质量的信心,并提供可验证的点击。4 Adjust GmbH 2018动机作弊是移动应用广告行业内最大的问题之一。作弊者每年利用伪造归因和虚假用户从广告主端所窃取的广告金额便高达数十亿美元。造成广告作弊最大的原因是,点击被作为简单的请求发送给归因供应商,缺乏投放背景或实际用户交互的验证。换言之,归因供应商仅能按照广告渠道所宣称的点击来进行统计。换言之,归因供应商仅能按照广告渠道所宣称的点击来进行统计。让问题进一步复杂化的是,许多渠道允许他们的子发行商自行控制广告投放,即自由控制点击何时被触发。就设备上触发的点击而言,我们只能依赖每个 IP地址的点击频率来了解滥用情况。然而,由于有越来越多的点击经由服务器到服务器传送的方式进行报告,每个数据点都有可能成为被人为操纵的目标。缺乏验证不仅为点击欺诈 (Click Spamming) 行为提供了发展空间,也催生了更加复杂的作弊方式。点击劫持 (Click Injection) 这一作弊手段借助用户安卓设备上安装的恶意应用来执行。恶意应用会对应用安装广播进行监听,并在新安装发生时,触发时间点介于广播和安装完成之间的点击。逻辑上来说,不太可能出现安装被广播、用户观看以及点击广告在同一秒内发生的情况。没有点击的验证让攻击者有了可乘之机,因为他们毋需请求新的广告展示,便能重新利用之前投放的点击 URL。为了获取 虚假 用户 (Spoofed User) 的归因,攻击者只需伪造对应的点击即可。他们只需生成更多的点击来创造可信的转化率,或者将作弊数据隐藏在真实的点击之间,从而稍微提升转化率。承上总述,我们有必要找到一种不仅技术上可行,且易于实施的验证点击方式,使其得以适用于整体生态系统。5 Adjust GmbH 2018通过绑定点击与对应的展示,我们便能对基本事实进行验证:点击与展示是否在同一设备上完成?单次展示带来了几次点击?展示与点击之间的间隔时间是否合理?展示与点击之间的比率是否合乎实际?这将使点击劫持无从施行,因为最后一分钟才发生的点击,将不会再有与之匹配的展示。而对于通过虚假用户骗取归因的手法,攻击者需要在伪造点击的基础上产生虚假的展示,此作法会大幅增加伪造产生的数据量,又或者由于攻击者无法控制广告投放过程而不再可行。同理,由于攻击者需要伪造几乎不可能实现的对应展示数量以及合理的点击率,点击欺诈也将无计可施。通过展示来验证点击的合法性,不仅将大幅提高作弊的难度,且不会为广告渠道带来过度的负担。简而言之:从逻辑上来说,每个点击都应源于一次展示。对于合法渠道而言,验证这种关联并不困难。基本原理6 Adjust GmbH 2018解决方案为了验证点击是来自真实的广告展示,我们需要确认两个事实。首先,展示必然发生在对应的点击之前。我们将此步骤称为 “展示证明 (Proof of Impression)”。第二步是确认该展示是来自广告投放方(例如广告渠道),而不是由攻击者所伪造的。这一步被称为 “广告投放证明 (Proof of Ad Delivery)”。为了便于更有效率地应用此解决方案,我们可以将展示证明作为主要验证方式,并将广告投放证明作为附加验证的要求。点击验证 (Click Validation) 的范围包括简易逻辑排查,统计方法检查以及伪造交互移除。展示证明(Proof of Impression)广告投放方在投放给用户 /设备的每一次展示中都附加一个唯一标识符。在向归因合作伙伴报告展示时,将此唯一标识符作为参数附加到请求中。view.adjust/foobar?.&impression_id=UNIQUE ID在投放广告之前,同样的标识符也会被附加到嵌入广告的点击 URL中。或者,在服务器到服务器点击上报的情况下,将该标识符附加到点击请求中。app.adjust/foobar?.&impression_id=UNIQUE ID s2s.adjust/foobar?.&impression_id=UNIQUE ID为了确保广告投放时标识符的真实和唯一性,投放方可以选择随机生成的通用唯一标识符 (Universally Unique Identifier, UUID),或 是 时 间 戳 与 设 备 ID的哈希值。实施示例7 Adjust GmbH 2018广告投放证明 (Proof of Ad Delivery)验证展示请求是否来自广告投放方的方式有很多种。最简单的方法是将进行回传的广告服务器 IP范 围 加 入 白 名 单 ,因 为 攻 击 者 很 难 伪 造 HTTP请求的源 IP。如果无法静态定义请求 IP范围(例如在某些基于云的环境中),则需要采用加密解决方案。比较成熟的验证方法,是利用共享密钥来加密请求链接。过程如下: 归因供应商将密钥共享给广告渠道 广告渠道投放广告展示 广告渠道使用以下方法计算验证哈希 HASH = SHA1 (request URL + SECRET_KEY) 广告渠道发送请求至归因供应商 在请求中将哈希值包含在 HTTP标头字段 X-Ad-Authentication: HASH 归因供应商对照请求 URL检查哈希值借由密钥管理机制,此加密解决方案可以有效地应对共享密钥被盗用或外泄的问题。使用带有唯一标识符的展示,有助于实现一系列广泛的逻辑验证。同时这也提高了攻击者伪造点击的工作量,因为他们需要反推以确保点击率合理。合法的流量来源已经提供了这些展示,因此不影响其计算工作量;然而,如果想产生伪造请求,攻击者的工作量会大幅增加。举例来说,为了避免产生可疑的点击率,攻击者必须额外伪造 1,000,000次 展 示 ,而 不 是 单 单 伪 造 1,000次 点 击 。此 外 , 这些展示必须正常分布于不同的设备 ID和 IP地址上才能避免很快地被发现。由于逆向为点击创建展示的操作不太可能,因此点击劫持的实施将变得复杂许多。任何在劫持点击之前临时生成的展示, 其观看到点击 (view-to-click)时间将极其短暂,也因此容易令人起疑。实施示例基本原理8 Adjust GmbH 2018基于请求设备本身无法控制其投放广告这一简单事实,作弊行为能够被有效地阻止。攻击者若想伪造大量点击,或者甚至伪造用户交互的完整价值链,他们只有两个选择:一种做法是欺骗广告服务器,使其投放大量匹配的广告;另一种做法是设法在所有投放的广告位内成功创建合理的转化模式,而这与现状相比,将为作弊者带来更大的挑战。基本原理点击验证 (Click Validation)点击验证的目的是证明点击来自于真正的用户交互。尽管攻击者仍有可能伪造点击并通过验证,但点击验证却大幅增加了实施的困难度。我们可以通过两种过滤机制进行验证。一种是基于逻辑排除,例如将展示和点击的设备 ID进行匹配。另一种是基于统计分析,例如展示到点击时间 (Impression-To-Click-Time, ITCT) 和点击率 (Click-Through-Rate, CTR) 的分布。第一项逻辑验证原理是:点击不应该在没有展示的情况下发生。另外,展示和点击具有可比较的属性,部分属性可以从请求HTTP标头中获取: 设备 ID 设备类型 语言 操作系统版本 国家 /地区任何属性间的不匹配都可以用作判定点击不合格的标准,当然,我们也应将不同请求之 HTTP标头中数据的可用性和差异纳入考量。展示到点击时间也可以用于点击的逻辑验证: 点击不会在展示之前发生 一次展示只能触发一定数量的点击 展示只能在一定的时间内促成点击 当次展示促成的点击只能在下一次展示之前发生 广告主和渠道双方应该在进行推广活动之前,就一次展示可以带来的确切点击数量,以及展示和点击之间允许的最长时间段达成共识。逻辑验证9 Adjust GmbH 2018除了验证是否存在单一对应的展示之外,我们也可以借由统计分析来提高伪造可信数据的难度。一个简单的方法就是查看点击率是否在合理范围内。举例来说,较高的点击率可能意味着存在伪造交互、此广告形式会自动触发点击又或是强迫用户点击以继续。在任何情况下,广告主和渠道均应在推广活动开始之前,应就此类预期范围达成共识。展示到点击时间的分布情况还可用于深入析。取决于广告的形式,正常的点击分布应该发生在视频广告的几秒钟后。在 N 秒后自动触发的点击(即非真实的用户交互)将会产生突兀的峰值,故此类分布异常亦可以用来拒绝无效点击。故此类分布异常亦可以用来拒绝无效点击。其他更加高级的方式,包括按展示和点击期间可用的属性分组,来分析点击率和展示到点击时间,从而发现异常情况。统计验证如果您希望获取更多信息或资料,请联系 Adjust 首席技术官 Paul Mller。pauladjustadjust
展开阅读全文