导语:在反欺诈的技术金字塔中,特征工程起着承上启下的作用。而居于特征工程的下一层的是基座层:数据。在机器学习里,大家有一个共识,高质量、相关的数据决定模型预测能力的上限,模型只是去逼近这个上限。数据就像原油,好的特征就像汽油,
编者按:
上次我们着重介绍了反欺诈的一项核心技术:特征工程。 在反欺诈的技术金字塔中,特征工程起着承上启下的作用。而居于特征工程的下一层的是基座层:数据。在机器学习里,大家有一个共识,高质量、相关的数据决定模型预测能力的上限,模型只是去逼近这个上限。数据就像原油,好的特征就像汽油,而模型就是引擎,三者缺一不可。作为基座层的数据层的一个重要组成部分是设备终端和网络风险,Gartner的经典五层模型同样将其列为最基础的数据。今天我们就来探讨一下处于这一层的设备指纹以及由此衍生出来的设备风险识别。
背景
自苹果公司推出iPhone智能手机以来,以智能终端为代表的技术浪潮已将整个世界带入了移动互联的时代。移动互联网在扩展互联网的应用范围与场景、创造更多的业务机会的同时,其以移动App为核心的生态特点,也给广大的互联网企业带来了新的挑战。不同于传统互联网,与个人紧密绑定的智能手机更难追踪。在推广的效果追踪、业务防欺诈、运营效果评估等领域,企业迫切需要一种新的设备识别与追踪技术,来区分有价值的用户、恶意用户甚至是欺诈团伙,以保护企业资产,并最大程度的提高市场推广与业务运营的ROI。
传统的设备识别技术
自PC互联网时代起,设备识别就是互联网用户追踪的重要手段。传统的设备识别技术主要包括:IP地址、cookie以及移动互联网特有的设备ID:
Ø IP地址是最早出现的设备标识方案。因为其简单易用,直到现在仍然广泛使用。但是由于网络中存在大量以一个公网IP作为出口的局域内网,以及移动网络中的动态IP分配技术,使得IP地址作为设备标识的分辨率和准确度大为下降。
Ø Cookie技术同样出现于90年代的互联网早期,在Web领域广泛应用于对设备的识别与标识。但是因为Cookie采用一种用户数据本地存储的实现方式,恶意用户可以通过清除本地数据的方式来轻易的逃避检测,所以其应用范围受到很大的限制。同时,由于对用户隐私保护的日益关注,主流浏览器厂商已经限制并逐步摒弃cookie技术的使用。
Ø 设备ID是移动终端独有的物理设备标识符,包括iOS设备的IDFA,IDFV;Android设备的IMEI,MAC等。随着Apple公司收紧相关的政策,同时大量黑产改号工具的出现,使得设备ID用于设备识别的效果大为降低,特别是在业务反欺诈领域,设备ID成为黑产人员首先攻击的对象。
随着移动互联网的发展,传统的设备识别技术已经越来越不能适应当前的网络环境。企业迫切需要一种新的设备识别与追踪技术,来克服原有设备识别技术的不足,应对新的挑战。这就为设备指纹技术的推广带来了市场契机。
设备指纹技术的流派
传统的设备识别手段主要依赖于单一的信息源,与此不同,新一代的设备指纹技术使用更多的信息来完成设备的识别。它通过网络收集终端设备的特征信息,并在分析与鉴别的基础上,对每一组从终端设备采集的特征信息组合赋予唯一的设备指纹ID,用以标识该终端设备。从实现的技术方法上看,可以分为主动式设备指纹与被动式设备指纹两种技术路线。
主动式设备指纹
主动式设备指纹技术一般采用JS代码或SDK,在客户端主动地收集与设备相关的信息和特征,通过对这些特征的识别来辨别不同的设备。一般的设备特征信息有:
Ø 浏览器特征,包括UA、版本、OS、插件的配置、Canvas特征等;
Ø 设备的传感器特征,比如麦克风、加速传感器的特征等;
Ø 设备OS的特征,比如是否越狱等;
Ø 设备的配置,比如网络配置,系统flash的配置等;
主动式设备指纹算法一般将这些信息组合起来,通过特定的hash算法得到一个设备指纹ID值,作为该设备的唯一标识符。同时,考虑到设备指纹的稳定性,一般还会结合其他的持久化的存储技术,将设备指纹ID长期保存起来。
被动式设备指纹
被动式设备指纹技术在终端设备与服务器通信的过程中,从数据报文的OSI七层协议中,提取出该终端设备的OS、协议栈和网络状态相关的特征集,并结合机器学习算法以标识和跟踪具体的终端设备。
与主动式设备指纹技术相比,被动式设备指纹并不必须在设备终端上嵌入用于收集设备特征信息的JS代码或SDK,其所需要的设备特征都是从终端设备发送过来的数据报文中提取,这也是其所谓“被动式”的原因。
主动式设备指纹技术,因为相对来说更为简单直接,所以业界大部分设备指纹技术厂商提供的都是该类设备指纹服务。被动式设备指纹技术,由于其需要使用机器学习技术构建设备指纹分类算法模型,具有较高的技术壁垒,因而还处于推广起步阶段。
混合式设备指纹技术
主动式设备指纹和被动式设备指纹技术,都存在着自身的缺点与局限性,限制了它们的应用范围:
Ø 对于主动式设备指纹来说,其最大的局限在于其收集的设备特征在Web域和App域中存在着区隔,即在不同的浏览器中,收集到的设备特征也各不相同。因而主动式设备指纹在不同的浏览器中,以及Web和App之间,会生成不同的设备指纹ID,无法实现Web与App间,不同的浏览器之间的设备关联。主动式设备指纹的另一个缺陷是,由于依赖于客户端代码,指纹在反欺诈的场景中对抗性较弱。
Ø 被动式设备指纹技术可以很好地解决Web与App之间、不同的浏览器之间的设备关联问题。但是由于其需要使用复杂的机器学习算法来进行设备的识别,所以占用的处理资源较多,响应时延也要比主动式设备指纹更长。
混合式设备指纹技术克服了主动式设备指纹和被动式设备指纹技术各自的固有的缺点,在准确识别设备的同时扩大了设备指纹技术的适用范围。对于Web页面或App内部的应用场景,可以通过主动式设备指纹技术进行快速的设备识别;而对于不同的浏览器之间、Web页面与App之间的设备识别与比对关联,则可以利用被动式设备指纹的技术优势来实现。
设备指纹的核心技术
设备指纹技术是一个综合性的系统工程,掌握这门技术需要跨越一系列的技术门槛,这也是为什么虽然应用场景广阔,至今市场上此项技术提供者并不多的原因。这里介绍了设备指纹两项关键的技术,大规模在线概率式记录关联和机器学习,让大家对设备指纹有个整体的认识。
大规模在线概率式记录关联
设备指纹的核心任务是,给定两条请求事件,给出这两条请求是否来自同一个设备的判断。了解数据库的人可能会觉得这个有点似曾相识,这很像数据库里的self join。如下:
SELECT column_name(s) FROM table1 T1, table1 T2 WHERE T1.a = T2.a;
实际上设备指纹的一项关键技术是概率式记录关联(Probabilistic Record Linkage),它的非概率式版本确定式记录关联(Deterministic Record Linkage)确实和self join很像。对于这项技术的最早的研究与健康医疗数据库相关,其中记录一词也来源于医疗记录。我们以self join举例,看看它的概率式版本。
SELECT column_name(s) FROM table1 T1, table1 T2 WHERE P(T1.a, T1.b, T2.a, T2.b) > threshold;
我们看到,这里最后一行的匹配条件变了,不再是一个确定的操作符等于号,而是一个介于零和一之间的值。这里的P(代表概率,probability),是一个关于T1, T2的函数, 计算T1和T2是同一设备的概率。概率式记录关联也因此有时被称为模糊匹配。
设备指纹的原理很简单,那么难点在哪里呢?第一在于设备指纹的典型应用场景反欺诈、营销追踪等都需要实时地给出匹配结果,也就是要在线,这就意味着数据来源不是数据库,而是数据流。第二,传统的数据库的记录规模往往不是特别大,而在线反欺诈,每一个页面访问(PV)都会产生一条请求,要匹配的请求数,每天至少是亿级的。熟悉数据库的人都知道,一个一亿条记录的表格self join的复杂度是多高。这还只是简单的确定式的匹配。第三,概率式模型,我会放在后面详细介绍。
所以做好设备指纹的第一步就是建立起一个大规模在线概率式记录关联平台。它牵涉到流数据的处理、分布式内存计算、算法优化、高效的信息搜索等多个环节。
机器学习
早期的设备指纹技术是基于规则的,典型的规则系统是一棵决策树。如果cookie相同,返回true, 否则看IP是否相同,诸如此类的决策逻辑。在此基础上,又衍生出给各项信息赋予权重的打分系统。而这些权重则来自于经验。对于移动互联网,各种信息数据都在不停地变化,这种经验式的系统根本没有稳定性,也难以维护。 对于大规模信息的处理,机器比人更具优势,这也就是在大数据的时代,机器学习流行起来的原因。
对于设备指纹技术,机器学习的方法从数据中学习,让数据说话,摒除了人工规则方法的偏见和不稳定性。但是机器学习的方法也面临一定的挑战,最重要的挑战就是在很多场景下,标注数据是不足的。近年来,半监督学习的兴起给设备指纹的机器学习带来了新的思路。半监督学习可以认为是监督学习的扩展,与一般监督学习不同的是,监督学习只能在标注数据上训练,而半监督学习可以同时利用标注数据和未标注数据。生成式模型是一种典型的半监督学习方法,对设备指纹技术有很好的效果。
评估指标
设备指纹的本质是记录关联问题,而记录关联从机器学习的角度来看是典型的分类问题。分类问题的评估指标有很多,但并不是所有的指标都适合于对设备指纹的评估,有些甚至是严重误导的,因此有必要在这里对这些指标做一下梳理。常见的指标基本是由以下几个数字计算得出。
常见的分类评估指标有以下几个:
准确度(Accuracy)
准确度(Accuracy)虽然经常被用作分类器评估的指标,在设备指纹的评估中却很少使用。原因是设备指纹的匹配中,正负标注非常不平衡, 分母和分子中的真负(TN)占比例过高,将完全主导最后的准确度值,计算所得准确度总是接近于1, 而毫无意义。同样的问题也出现在分类问题中广为使用的另一指标ROC上。
精确率和召回率
精确率(Precision), 有时也被称为查准率,即被预测为匹配的结果实际确为匹配的概率。
召回率(Recall), 有时也被称为查全率,即一对事实上匹配的设备被正确匹配上的概率。
一种设备指纹技术的精确率和召回率越高越好,但在很多时候,这两项指标很难兼顾。比如在一些电商的场景下,对于精确率的要求很高,以避免误报。但在一些营销的场景下,则是对于召回率的要求很高。
F测度
F测度,或者说F1测度,是一个综合性的指标,它是精确率和召回率的调和平均值。精确率和召回率以相同的权重反映在F测度上。如果对精确率和召回率有所偏好,也可以由广义的Fβ测度给出。其中β越高,则表示召回率的比重越大。常用的两个值为β=2或β=0.5。
不管是精确率,召回率还是F测度,都不计入真负例(TN),其实从下面这个例子就可以看出其中的原因。这是两个数据集A(25条)和B(20条)进行匹配的结果展示,从图中可以看出空的虚线框,即我们正确地作出的非匹配的判断,占绝大多数,但这却是我们最不关心的。
设备指纹的应用案例
上海某互金公司位于外滩金融创新试验区,是一家专注为年轻人提供高品质生活方式的互联网金融公司。
■客户开发了一款基于H5的小额贷款产品,将其嵌入第三方金融超市发布。在试运营过程中碰到了问题:
(1)部分用户试图利用其他人的身份获得重复授信,虽然后期人工审核能够发现,但正式运营中人工审核无法承担这样的审核量。
(2)由于H5页面发布在第三方金融超市中,用户申请时无法获得稳定的cookie信息,无法从设备的维度自动审核进件。
■ 客户希望能够有一个能够在H5页面中识别重复请求的解决方案。
该客户与猛犸反欺诈合作将猛犸ID系统™的SDK嵌入其应用中,在贷款请求事件发生时,向猛犸系统发送请求信息。并通过后台获取消息细节和设备指纹ID(即猛犸ID系统为这些消息赋予的唯一Maxent ID),示意图如下。
在使用猛犸ID系统之前,该客户无法跨应用、跨浏览器识别设备,同样的设备在不同的浏览器或应用中将产生不同的ID。而猛犸ID系统则能够跨应用,跨浏览器识别设备。具体来说,对在同一设备上发生的用户行为赋予同一个Maxent ID,可以基于Maxent ID将用户行为按设备进行关联,而且不会因为刷机软件对于设备ID修改而改变。客户可以基于Maxent ID将同一设备发送的注册请求进行关联。通过统计同一Maxent ID发出的贷款请求数,可以有效的发现重复贷款请求行为。
该客户通过简单的集成工作就成功解决了H5页面设备识别的问题,有效地防范了同一设备反复申请的问题,检测出了7.6%左右的可疑欺诈申请,经过人工对业务数据的检查和电话回访,确认其中90%以上为用户使用多个身份试图骗取多次授信。
结语
在移动互联网日益成为主流的今天,身份欺诈成为在线欺诈的顽疾,欺诈者以移动设备为掩体发动攻击。以设备指纹为核心的设备风险识别相关技术是刺破欺诈者身份伪装的利器。本文针对设备指纹分别从技术的缘起、流派、工作原理、核心技术难点和评估方法五个方面进行了剖析,希望能够帮助读者更深入的了解设备指纹技术,从而在反欺诈、风险控制等各环节中更好地利用这项技术。