设备指纹:用户登录网页、APP时,后台记录的登录设备的“指纹”,能够准确识别该设备是否曾经登录过。设备指纹的核心是使用设备的唯一识别码。使用该唯一识别码,可以追踪用户登录网页、APP的行为特征,从而达到检测异常行为及欺诈行为的目的。
传统的设备识别技术
自PC互联网时代起,设备识别就是互联网用户追踪的重要手段。传统的设备识别技术主要包括:IP地址、cookie以及移动互联网特有的设备ID:
IP地址是最早出现的设备标识方案。因为其简单易用,直到现在仍然广泛使用。但是由于网络中存在大量以一个公网IP作为出口的局域内网,以及移动网络中的动态IP分配技术,使得IP地址作为设备标识的分辨率和准确度大为下降。
Cookie技术同样出现于90年代的互联网早期,在Web领域广泛应用于对设备的识别与标识。但是因为Cookie采用一种用户数据本地存储的实现方式,恶意用户可以通过清除本地数据的方式来轻易的逃避检测,所以其应用范围受到很大的限制。同时,由于对用户隐私保护的日益关注,主流浏览器厂商已经限制并逐步摒弃cookie技术的使用。
设备ID是移动终端独有的物理设备标识符,包括iOS设备的IDFA,IDFV;Android设备的IMEI,MAC等。随着Apple公司收紧相关的政策,同时大量黑产改号工具的出现,使得设备ID用于设备识别的效果大为降低,特别是在业务反欺诈领域,设备ID成为黑产人员首先攻击的对象。
设备指纹分为三大类
主动式:
在Web、APP嵌入SDK或者JS,主动收集与设备相关的信息和特征。
主动式设备指纹算法一般将这些信息组合起来,通过特定的hash算法得到一个设备指纹ID值,作为该设备的唯一标识符。同时,考虑到设备指纹的稳定性,一般还会结合其他的持久化的存储技术,将设备指纹ID长期保存起来。
被动式:
在终端设备与服务器通信的过程中,从数据报文的OSI七层协议中,提取出该终端设备的OS、协议栈和网络状态相关的特征集,并结合机器学习算法以标识和跟踪具体的终端设备。
混合式:
即既有主动采集部分,又有服务端算法生成部分。
同一浏览器、Web和APP内部使用主动式设备指纹技术,不同浏览器、Web和APP内部使用被动式设备指纹技术。
对于主动式设备指纹来说,其最大的局限在于其收集的设备特征在Web域和App域中存在着区隔,即在不同的浏览器中,收集到的设备特征也各不相同。因而主动式设备指纹在不同的浏览器中,以及Web和App之间,会生成不同的设备指纹ID,无法实现Web与App间,不同的浏览器之间的设备关联。主动式设备指纹的另一个缺陷是,由于依赖于客户端代码,指纹在反欺诈的场景中对抗性较弱。
另外,主动式设备指纹所取特征均暴露于客户端,欺诈者可轻易通过一些一键新机等工具篡改相应特征信息,从而使指纹无效。
被动式设备指纹技术可以很好地解决Web与App之间、不同的浏览器之间的设备关联问题。但是由于其需要使用复杂的机器学习算法来进行设备的识别,所以占用的处理资源较多,响应时延也要比主动式设备指纹更长。
混合式设备指纹技术克服了主动式设备指纹和被动式设备指纹技术各自的固有的缺点,在准确识别设备的同时扩大了设备指纹技术的适用范围。
三种设备指纹技术的现状和未来
目前,国内大部分企业采用的设备指纹技术都是主动式的,但由于企业和公众隐私保护意识日渐强烈,隐私保护政策日益严格,主动式设备指纹技术的应用越来越受限。
而被动式设备指纹技术因为系统和算法比较复杂,往往需结合大数据处理和机器学习技术才能实现,技术门槛相对较高,目前在国内还处于起步阶段。只有少数公司可以做到较高的准确率,并得到业界和客户的认可。
混合式设备指纹技术的公司更是凤毛麟角,主要原因之一是由于混合式的技术壁垒也并不比被动式低。能够成功研发混合式设备指纹的公司,往往在被动式上已经有了相当大的进展和积累;或者从外部采购其他公司的被动式设备指纹技术作为混合式的研发基础。在业内较为知名的被动式指纹技术专家如maxent,也已为多家业务伙伴提供此类的技术合作与支持。
在未来,我们有理由相信,被动式设备指纹技术将逐步成为设备识别技术的中流砥柱。
而混合式设备指纹技术,作为二者结合、扬长避短的综合性解决方案,同时兼顾了应用场景、用户隐私保护、响应速度与准确性等多方面的要求,可以在智能化的商业新环境中,助力企业在营销、运营、交易等各个环节,实现业务目标。
2017-07-20-猛犸反欺诈CTO周辉
移动互联网的快速发展,特别是O2O行业与互联网金融行业的迅猛崛起,使得寄生其上的黑色产业链达到了泛滥的地步。据权威机构统计,2015年整个互联网行业因为欺诈造成的损失已经高达7000亿元。在这巨大的黑产利润诱使下,相应的欺诈技术也快速发展。现在的黑产产业,通过整合刷号软件、自动化脚本、验证码打码平台、短信接口和代理服务器等技术,已经实现了全自动化的欺诈作业流程,可以在短时间内给企业造成巨大的经济损失。
针对移动互联网推广与运营中所面临的设备识别与追踪的问题,数字设备指纹技术成为了行业关注的焦点。业内设备指纹技术一般采用Javascript代码或SDK,在客户端主动地收集与设备相关的信息和特征,通过对这些特征的识别来辨别不同的设备和相关用户。这种主动式设备指纹技术有其特有的优点和适用场景,但是在实际的应用中,也暴露出了一些不足与局限。
主动式设备指纹技术需要在客户端上植入自己的Javascript或SDK代码,主动收集设备相关的特征,用以标识设备和用户。在特征的选取上,需要考虑特征的稳定性和准确度。理想的特征应该在一定的时间段内不会因为外界的条件变化、或是用户的操作行为而发生变化,同时在不同的设备上具有显著的差异。
通常可用的特征有:
• 浏览器本身的特征,包括UA,版本,操作系统信息等;
• 浏览器中插件的配置,主要是插件的类型与版本号等;
• 浏览器的Canvas特征,影响该特征的因素有GPU特性造成的渲染差异,屏幕的分辨率以及系统不同字体的设置等;
• 系统flash的配置;
• 设备的传感器特征,比如麦克风、加速传感器的特征等;
• 设备操作系统的特征,比如