设备指纹技术在银行业务中的应用

2020-09-09 03:09唐晓婷俞少华
计算机应用与软件 2020年9期
关键词:被动式浏览器指纹

唐晓婷 俞少华 鲍 亮

(公安部第三研究所 上海 200120)

0 引 言

网络的普及使人们能够通过手机支付、网上支付等方式随时随地完成各类交易。越来越多的银行将传统业务转为网络业务,但各类网络攻击和网络不安全因素成为了银行业最为棘手的问题。设备指纹作为一种新型的技术受到业界的极大关注,虽然它不能直接防止网络攻击,但可以起到一定的预警作用。将现有的设备指纹技术更好地应用在银行业务中是本文研究的重点。

1 设备指纹技术

设备指纹技术可以唯一识别访问互联网业务和设备并生成设备ID,是互联网反欺诈的核心技术之一,也是安全监控技术[1]的基石。通过对设备的识别,达到设备操作行为可视化的目的,为安全监控、业务反欺诈及隐性认证提供设备维度的支撑。

传统的设备识别手段主要依赖于单一的信息源,而新一代的设备指纹技术使用更多的信息来完成设备的识别。通过网络收集终端设备的特征信息,并在分析与鉴别的基础上,对每一组从终端设备采集的特征信息组合赋予唯一的设备指纹ID,用以标识该终端设备。从实现的技术方法上看,其可以分为主动式设备指纹与被动式设备指纹两种技术路线。

1.1 主动式设备指纹

主动式设备指纹技术[2]一般采用JS代码或SDK,在客户端主动地收集与设备相关的信息和特征,通过对这些特征的识别来辨别不同的设备。一般的设备特征信息有:

1) 浏览器特征,包括UA、版本、OS、插件的配置、Canvas特征等;

2) 设备的传感器特征,如麦克风、加速传感器的特征等;

3) 设备OS的特征,如是否越狱等;

4) 设备的配置,如网络配置、系统flash的配置等。

主动式设备指纹算法一般将这些信息组合起来,通过特定的Hash算法得到一个设备指纹ID值,作为该设备的唯一标识符。同时,考虑到设备指纹的稳定性,一般还会结合其他持久化的存储技术,将设备指纹ID长期保存起来。

1.2 被动式设备指纹

被动式设备指纹技术[3]在终端设备与服务器通信的过程中,从数据报文的OSI七层协议中,提取出该终端设备的OS、协议栈和网络状态相关的特征集,并结合机器学习算法以标识和跟踪具体的终端设备。

与主动式设备指纹技术相比,被动式设备指纹无须在设备终端上嵌入用于收集设备特征信息的JS代码或SDK,其所需要的设备特征都是从终端设备发送过来的数据报文中提取。

1.3 混合式设备指纹

主动式设备指纹和被动式设备指纹技术都存在缺点与局限性,这限制了它们的应用范围。

主动式设备指纹最大的局限在于其收集的设备特征在Web域和App域中存在着区隔,即在不同的浏览器中,收集到的设备特征也各不相同。因而主动式设备指纹在不同的浏览器中,以及Web和App之间,会生成不同的设备指纹ID,无法实现Web和App间不同浏览器之间的设备关联。并且主动式设备指纹依赖于客户端代码,在反欺诈的场景中对抗性较弱。

被动式设备指纹技术可以很好地解决Web与App之间、不同的浏览器之间的设备关联问题,但是由于其需要使用复杂的机器学习算法来进行设备的识别,所以占用的处理资源较多,响应时延也较长。

混合设备指纹技术克服了主动式设备指纹和被动式设备指纹技术各自的缺点,在准确识别设备的同时扩大了设备指纹技术的适用范围。对于Web页面或App内部的应用场景,可以通过主动式设备指纹技术进行快速的设备识别;而对于不同的浏览器之间、Web页面与App之间的设备识别与比对关联,则可以利用被动式设备指纹的技术优势来实现。

2 设备指纹模型

2.1 数据埋点

对于网上银行和手机银行,所涉及的设备主要是PC和手机。

对于手机的设备指纹数据埋点,选取目前主流的Android系统作为例子,调研Android官方提供的数据接口是业界最佳采集方案,共可采集Android设备数据36项,包括:用户时区、小时格式、自动网络选择、自动时区选择、屏幕锁屏时间、可用Wi-Fi提示、GETLOCATIONMETHOD、解锁振动反馈、输入法信息、系统语言、系统是否root、字体大小、字体列表、电话铃声、通知铃声、IP、用户程序列表、系统程序列表、设备型号、设备制造商、屏幕信息(宽度、高度、分辨率)、内置存储空间大小、CPU类型、CPU时钟、CPU频率、系统内核编译信息、HTTP数据包的User、Agent、Android系统版本、系统存储结构、ANDROID_ID、Serial Number、MAC、是否为模拟器、是否存在恶意程序、是否存在安全防护程序。

对于PC,大部分网上银行采用的是B/S架构,需用户通过浏览器进行访问。设计数据埋点时需考虑PC数据和浏览器数据两部分内容,PC数据可使用ActiveX控件进行采集,采集项包括IP、MAC、CPU、主板厂商、主板序列号、内存大小、BIOS序列号及设备算力PoW。浏览器数据可使用JS脚本进行采集,采集项包括名称、版本、类型及版本、UA、语言、OS、系统平台、分辨率、cookie、MIME类型、插件数值、插件的数量、插件的名称、颜色质量、Director、JavaEnabled、QuickTime、flash插件情况、MediaPlayer、RealPlayer、Canvas2D等。

由于浏览器及PC数据的易篡改性,本设备埋点数据采集方案除采集设备原生数据外,特别纳入了设备图片渲染能力Canvas2D与计算能力PoW数据作为重要参考项,起到数据防篡改和校验篡改的目的。

1) 设备图片渲染能力Canvas2D。让浏览器完成图片渲染任务,利用渲染效果识别设备。渲染效果取决于浏览器的图像处理引擎、导出选项、压缩等级和设备性能,不同PC、浏览器绘制出的图形数据存在区别。采用浏览器Canvas渲染图片,使用canvas.toDataURL()方法返回该图片内容的Base64编码字符串,提取编码中CRC校验码用于设备埋点数据,即使篡改PC、浏览器参数也无法改变CRC校验码,可用于校验设备原生数据是否存在篡改。

2) 设备算力PoW。工作证明(Proof of Work,PoW)是一种鉴定设备是否投入计算工作的机制,PC埋点数据采集使用散列函数实现的PoW,在用户请求资源时让设备完成一次散列计算,以证明在访问时消耗CPU的计算算力,计算得到正确的结果后才可获取资源。该方法可防止暴力自动化访问,若不法分子尝试发起暴力访问,前端可选择加载PoW机制,在时间和设备资源两方面让不法分子的设备承担计算工作,提高自动化的访问成本,以保证在用户发起高频访问时降低访问频率。

2.2 模型详解

模型的主要任务就是发现可疑设备,本文主要通过聚类的方式区分设备。首先使用SimHash算法[4]产生设备指纹ID,在设备簇中对设备指纹ID进行精确匹配,以提高设备识别频率,若精确匹配失败则使用算法度量设备距离。使用词袋模型将设备数据转换为稠密向量,再采用权重杰卡德距离(Jaccard)[7]度量设备向量簇间和簇内的距离,根据簇间距和簇内距利用聚类算法完成设备的聚类。设备指纹模型概述如图1所示。

图1 设备指纹模型概述

2.2.1词袋模型(BoW)

在自然语言处理和文本分析的问题中,词袋(BoW)[5]是最常用的模型之一。由于设备数据是自然语言,为让数学算法可以处理,故使用词袋模型将自然语言转化为算法可处理的稠密向量,即将每台设备转化为多维空间中的坐标点,空间中各个点的距离就是设备间的距离。

2.2.2聚类算法

为提升聚类算法[6]的准确度,聚类过程汇总使用权重杰卡德距离度量设备显性特征(软、硬件特征),增强模型聚类效果。

权重杰卡德距离关注的是样本间共同具有的特征,用来度量两个集合之间的距离,两个集合A和B的交集元素在A、B的并集中所占的比例,称为两个集合的权重杰卡德距离,用J(A,B)表示:

图2 聚类算法流程

3 设备指纹在银行业务中的应用

3.1 用户可信设备监控

用户在首次登录网上银行和手机银行时,系统都会对其进行验证,通过验证的列为可信设备,以该可信设备为基础对该用户后续使用的设备进行监控。将其作为聚类中心,对客户后续使用的设备进行聚类,如果在同一个聚类簇中则认为是可信设备,反之,则认为是不可信设备,对其增加验证措施,如验证通过则将其作为一个新的聚类中心。这样,如果客户有多个设备则会有多个可信聚类簇,对于可信的设备则可适当减少验证措施。

3.2 恶意行为监控

以设备聚类后的设备簇为维度,对单个设备进行行为监控。

1) 高频交易。同一设备簇一段时间内执行操作的数量超过一定的阈值。比如撞库、短信轰炸等都可作为高频交易进行监控。一旦监控发现此类行为,就增加相应措施(如增加交互式验证码、强制退出会话等)进行干预。

2) 攻击监控。主要包括SQL注入、XSS等典型的攻击。以设备簇作为维度,如设备簇中有一个设备被监控到攻击行为,则对设备簇中的其他设备ID增加验证手段,以防止可能的攻击行为。

3) 薅羊毛行为监控[9]。在传统的以手机号作为优惠限制的基础上,增加设备作为限制项,制定更为合理的业务规则。同时,通过设备指纹还可以识别出使用模拟器的情况,更有效地控制恶意薅羊毛的行为。

3.3 设备黑名单

对于恶意行为的监控结果,可根据设备指纹ID建立设备档案库,将多次发生恶意行为的设备列为设备黑名单。对于设备黑名单上的设备,在进行网上业务申请时增加相应的验证措施。同时,设备黑名单可在同业内共享,起到预警作用。

4 结 语

本文根据现有设备指纹技术,选取适合银行业务的埋点数据,并建立模型,使用聚类算法将设备划分为可信设备及可疑设备。对可疑设备进行持续监控,并建立黑名单机制,有效控制可疑设备的恶意行为。随着设备指纹技术的发展,数据埋点更为全面,设备标识也更加准确,未来银行业务的监控将更多依赖设备指纹。

猜你喜欢
被动式浏览器指纹
被动式音乐疗法改善脑卒中后睡眠障碍的研究进展
基于被动式节能抵御灾难的建筑设计——以SDC 2015年参赛作品SU +RE HOUSE为例
像侦探一样提取指纹
被动式节能在住宅建筑设计中的应用分析
为什么每个人的指纹都不一样
微软发布新Edge浏览器预览版下载换装Chrome内核
反浏览器指纹追踪
唯一的指纹
可疑的指纹
浏览器