基于浏览器指纹的虚假订单识别系统
2019-02-14徐清暄
徐清暄
(江苏省南京市中华中学,江苏南京,210019)
1 研究背景
在网络购物中,商品的评价是除商家所提供信息之外消费者唯一可以参考的信息,因此,在网络购物模式中,为了保证评价的可靠性,平台只会为已购买并收货的消费者提供评价权利。但更多的商家不惜选择“买评价”来提升商品的信誉,极大地扰乱了市场的正常交易,使得单纯的评价权利限制已不能适应虚假评价阻断的需要。
因为基于对账户的购买情况分析所进行的识别和基于IP地址的再识别并不准确,现有模式并不能阻止虚假评价的产生。另外,考虑到消费者隐私权,平台显然不可以在客户端种入隐藏的标记,即使在客户端留下cookies作为平台对用户的识别载体,cookies的留存与否也是单一取决于用户,这使平台失去了主动识别以及提供服务的契机。
本文将网购平台的需求与浏览器指纹的优势相结合,提出了一套基于浏览器的设备指纹用户识别机制。通过对用户的指纹识别、黑白灰指纹名单分类、评价查重和用户验证等环节对虚假评价进行分层级检测,可以更有效地减少虚假评价允许发布率,维护消费者权利,规范市场规则。
2 浏览器指纹
■2.1 浏览器指纹是什么
由于HTTP协议是无状态的,因此用户访问服务器的时候,网站会在用户的电脑端保存一个cookies,以用来后期用户的识别以及会话的保持。在过去很长的一段时间里,cookies都是用户再识别的载体,但后来微软披露cookies会泄露个人的隐私,因此一些隐私意识较强的用户会定期的删除cookies,这样服务器就不能再持续跟踪用户。因此后来就出现了浏览器指纹,相比于cookies来说,浏览器指纹更健壮,浏览器指纹主要是通过HTTP和JS获取用户浏览器属性配置信息,比如将用户代理、所用语言、所在的时区、用户所在地理位置、屏幕分辨率、可用屏幕分辨率、安装的插件列表、字体列表等等属性集合起来,按照一定的顺序排列成字符串,之后通过散列函数进行计算所得到的唯一16进制的序列作为用户的ID,这个ID可以在一定时间阀值内准确的对用户进行识别确认。
■2.2 浏览器指纹的属性
我们经常使用的浏览器只有几种,但是浏览器的属性却有很多种,包含它的内核信息、语言、插件、字体等等,正是这些属性的不同,才使得浏览器能够被区分出来,这些浏览器的属性,往往可以生成设备指纹,下面对其中一些浏览器属性进行介绍:
User Agent(用户代理):包含当前系统及浏览器的版本相关信息。
Platform(平台):提供浏览器所在硬件环境和操作系统的信息,这个属性没有标准的值空间,但是有一些常用的值。比如WIN32,MACIntel。
Color Depth(色深度):缓冲期或者目标设备上的调色板的比特深度。
Pixel Ratio(色素率):设备物理像素和设备独立像素的比例。
IndexedDB(索引数据库):当前设备是否支持索引数据库。
Open DB(开放数据库):当前浏览器是否支持开放数据库。
CPU class(cpu种类):浏览器所在的计算机系统使用的CPU类型。
canvas(画布):基于HTML的canvas获取浏览器的指纹信息。
Adblock(广告屏蔽插件):设备是否安装了广告屏蔽插件。
Has_lied_language(修改语言):用户是否修改了当前浏览器或者系统语言。
Has_lied_os(修改操作系统):用户是否修改了当前操作系统类型和版本。
plugins(插件):提供浏览器中安装的插件信息。
■2.3 设备指纹提取
浏览器指纹是一种新型的浏览器个体识别方式,这种技术是将浏览器的相关属性和信息进行提取和整合,由此生成一个唯一的标识,作为浏览器的指纹。
浏览器的指纹特性通常包含字体、插件、User Agent、cookies是否开启,时区等等,各种特征的提取方法不尽相同。浏览器发送请求的时候,会在http请求头中包含一些信息,包含User Agent以及可接受数据的类型,服务器可以从http请求头中获取User Agent、http_accept的值、Cookies的设置信息、所属时区、插件信息以及语言等可以通过js直接调用浏览器相关方法获取得到,系统安装的字体列表可以通过 fl ash结合js的方法获取,以上介绍的浏览器属性,大部分都可以通过调取浏览器提供的接口方法获得,但是还有一些浏览器属性需要比较复杂的过程才能获取到,比如canvas属性,这种属性的获取方法如下:通过html提供的canvas画布,画出一幅图画或者写出一段文字,然后将绘画或者文字转换成一串字符串返回,该字符串往往采用base编码,由于不同的系统环境下,不同的浏览器,不同的图片处理引擎,对图片的压缩尺寸和导出格式等都会有不同的要求,渲染出来绘画会有差别,因此canvas属性可以用来区分不同的浏览器。
3 系统设置
本文介绍的虚假评价识别系统分为四个环节,首先是对于用户浏览器指纹的识别,其次是黑白灰指纹名单的认证,再然后是对于评价者自身购买频率以及评价内容重复率的检测,最后是评价允许发布以及对于无法发布评价者提供申诉机会。其中,用户指纹的生成和识别作为系统运行的前提基本独立于其他环节之外,而另外三个环节则协同运作。下面将给出系统运行的流程图(见图1)以及系统运行的详细描述。
图1
■3.1 用户指纹生成和识别
浏览器指纹是一种动态指纹,平台仅需要在用户提出评价申请时收集用户的浏览器页面属性和硬件信息即可以生成指纹。但也正因为浏览器指纹的动态性,新的指纹往往具有一部分渐变信息,对于此,系统可以通过指纹重合率来重新联系渐变部分和原有信息,那么即使用户该次操作距离上一次操作已经过了一段时间,平台对用户的再识别也是有效的。而且,用户通过虚拟IP地址等信息所进行的识别混淆也会因此失去用武之地。
■3.2 黑白灰指纹名单机制下的虚假订单阻断
在对用户库中用户进行识别或者新用户录入后,本文所介绍的系统引入了黑白灰分层指纹名单来协助识别。
对于已存在的白名单用户,系统将直接给予评价允许发布的指令。这不仅仅节省了平台繁琐的认证步骤,而且免验证进行评价发布也会给用户提供更好的使用体验。此外,白名单的准入条件在本系统中被设定为在预设时间阀值内未被加入指纹库中的三色名单体系并在该段时间内成功发布过有效评价,而对于曾经被加入黑名单的用户则采用一票否决制度,对于曾经被加入灰名单的用户则会将需要的冷却时间阀值延长。这种白名单准入机理也会在一定程度上给予用户的“刷单”行为一些震慑。
对于已存在的灰名单用户,系统将进行对于该有用户近期一段时间内订单成交次数的检测以及判断。如果成交次数大于某一阀值,则可基本判定该用户属于非正常用户,并基于此将该用户加入黑名单。如果成交次数并未超过该阀值,则继续对该用户的评价内容进行查重来加强认证,评价内容重复率高于预定值的用户将同样被判定为非正常用户并加入黑名单。但若在成交次数低于阀值的情况下其评价内容重复率依旧低于预设值,那么将继续进行评价环境验证,验证通过则判定该用户属于正常用户,给予评价允许发布指令并将其移出指纹灰名单,否则不允许发布评价。但是,在此环节被阻止评价发布的用户可以进行申诉,平台提供人工服务来对该用户综合考量并进行判定,若申诉成功则给予评价允许发布指令并将其移出指纹灰名单,否则不允许发布评价。
对于已存在的黑名单用户,系统将直接给予禁止发布评价的指令并且不会提供申诉机会。但是,如果在一段相当长的预设时间阀值范围内该黑名单用户都未被再次判定为非正常用户,系统就会将该用户移出黑名单并加入灰名单,但是,如同上文所说,该用户将永久失去进入白名单的许可权,即无法享受免验证评价发布的服务。
4 总结与展望
本文主要分为四个部分,首先是对系统研究背景的概述,然后是关于浏览器指纹属性及其提取的介绍,再然后进行了对于新式虚假评价识别系统内容的详细阐述,最后对研究对象进行了总结与展望。
浏览器指纹在本文中的应用可以更好的体现出其优越性,这有利于浏览器指纹的进一步发展和推广。此外,相信在本文介绍的虚假订单识别系统的协助下,网购平台可以大大提升商品评价的可信度,为消费者提供更优质的服务,规范市场秩序,建立平台和用户双向信任的交易模式,为网络购物的发展注入更多的活力。