一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于设备指纹的银行业网络攻击预警方法、系统及相关产品与流程

2021-11-05 23:36:00 来源:中国专利 TAG:


1.本发明涉及网络安全技术,具体涉及网络攻击预警技术。


背景技术:

2.设备指纹可以唯一识别访问互联网业务和设备并生成设备id,是互联网反欺诈的核心技术之一,也是安全监控技术的基石,通过对设备的识别,达到设备操作行为可视化的目的,为安全监控、业务反欺诈及隐性认证提供设备维度的支撑。
3.目前绝大部分金融部分(如银行)使用的预警模型主要依赖于单一的信息源,通过单一的数据如ip地址、mac地址等来设计预警模型,因而得到的异常数据也存在一定的局限性及错判性。
4.如此,现有方案在具体应用时,存在对于攻击源及攻击设备的描述太过单一,很难定位到准确的攻击源,如可能存在肉鸡、公用ip地址等情况。


技术实现要素:

5.针对现有银行业网络攻击预警技术在可靠性和准确性方面所存在的不足,本发明的目的在于提供一种基于设备指纹的银行业网络攻击预警方案,能够准确识别可疑设备,提高银行业务操作的安全性。
6.为了达到上述目的,本发明提供了一种基于设备指纹的银行业网络攻击预警方法,该方法包括:
7.通过数据埋点获得访问设备信息;
8.在通过聚类的方式来区分设备,发现可疑设备,包括:
9.首先,针对访问设备计算产生对应的设备指纹id;
10.接着,在设备簇中对设备指纹id进行精确匹配,若精确匹配失败,则度量设备向量簇间和簇内的距离;
11.最后,根据得到的簇间距和簇内距离进行设备聚类计算,以此判断可疑设备。
12.进一步的,所述获得的访问设备信息包括访问设备的原生数据。
13.进一步的,所述获得的访问设备信息包括设备图片渲染能力数据和/或计算能力数据。
14.进一步的,所述方法在度量设备向量簇间和簇内的距离时,首先使用词袋模型将设备信息数据转换为稠密向量;再采用权重杰卡德距离度量设备向量簇间和簇内的距离。
15.为了达到上述目的,本发明提供了一种基于设备指纹的银行业网络攻击预警系统,所述银行业网络攻击预警系统包括设备数据获取模块、设备指纹id生成模块、设备指纹id匹配模块、设备距离度量模块、设备聚类计算模块,
16.所述设备数据获取模块通过数据埋点获得访问设备信息;
17.所述设备指纹id生成模块针对访问设备计算产生对应的设备指纹id;
18.所述设备指纹id匹配模块与设备指纹id生成模块进行数据交互,将生成的设备指
纹id在设备簇中进行精确匹配;
19.所述设备距离度量模块与所述设备指纹id匹配模块数据交换,在匹配失败后,度量设备向量簇间和簇内的距离;
20.所述设备聚类计算模块与所述设备距离度量模块数据交互,根据得到的簇间距和簇内距离进行设备聚类计算,以此判断可疑设备。
21.进一步的,所述设备数据获取模块能够获取访问设备的原生数据。
22.进一步的,所述设备数据获取模块还能够获取访问设备的设备图片渲染能力数据和/或计算能力数据。
23.进一步的,所述设备指纹id生成模块基于获得的访问设备信息提取访问设备的特征值,并据此计算出标识设备的设备指纹id。
24.进一步的,所述设备距离度量模块使用词袋模型将设备信息数据转换为稠密向量,基于转换后的稠密向量采用权重杰卡德距离度量设备向量簇间和簇内的距离。
25.进一步的,所述设备聚类计算模块中采用的度量阈值为:
[0026][0027]
其中a(i)为内聚度即设备特征i向量和所有它属于的簇中其他点的平均距离,b(i)为分离度即设备特征i向量和非本身所在簇的点的平均距离。
[0028]
为了达到上述目的,本发明提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述基于设备指纹的银行业网络攻击预警方法的步骤。
[0029]
为了达到上述目的,本发明提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述基于设备指纹的银行业网络攻击预警方法的步骤。
[0030]
为了达到上述目的,本发明提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述基于设备指纹的银行业网络攻击预警方法的步骤。
[0031]
为了达到上述目的,本发明提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述基于设备指纹的银行业网络攻击预警方法的步骤。
[0032]
本发明提供的方案能够实现多维度定义、定位一个设备,更准确的识别可疑设备;同时,本方案可在多个银行业务场景中使用。
附图说明
[0033]
以下结合附图和具体实施方式来进一步说明本发明。
[0034]
图1为本发明实例中进行可疑设备识别的原理示例图;
[0035]
图2为本发明实例中聚类算法的实现流程示例图。
具体实施方式
[0036]
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
[0037]
设备指纹技术采集设备的多个特征值,可以唯一识别访问互联网业务的设备。本方案针对银行业务场景的特点和要求,创新的引入设备指纹技术,以此为基础构建网络攻
击预警模型,以更好的抵御外部攻击。
[0038]
据此,本方案给出基于设备指纹的银行业网络攻击预警方案,本方案通过数据埋点获得访问设备信息,并在基础上基于设备指纹id通过聚类的方式来区分设备,发现可疑设备。
[0039]
这里的访问设备可以为手机、电脑等设备,但并不限于此。
[0040]
本方案在通过数据埋点获得手机及电脑设备信息时,所获取的设备信息包括用户时区、小时格式、自动网络选择、自动时区选择、屏幕锁屏时间、可用wifi提示、getlocationmethod等等。这里需要指出的,对于获取的设备信息并不限于此。这里通过数据埋点所获得的设备信息即设备特征值,用于后续的设备指纹id计算。获取到的设备信息越多,设备与设备之间的差异性就越明显,为此本方案将通过数据埋点获取多种设备信息。
[0041]
在本方案的一些实施方式中,数据埋点获得访问设备信息可通过控件实现,如可通过相应的商业银行在登录网上银行及手机银行时,要求安装控件,同时将设备信息提取程序附加在相应的控件中,这样不仅不会过多的增加系统的负担,更增加了安全性。
[0042]
再者,作为举例,对于银行业务场景的网络攻击,通常会使用虚拟机或模拟器进行攻击。因此本方案实施时,可就是否为模拟器或是否为虚拟机作为重要信息进行提取。
[0043]
本方案在获得访问设备信息的基础上,进一步基于设备指纹id通过聚类的方式来区分设备,发现可疑设备。
[0044]
在本方案的一些实施方式中,本方案首先基于获得的访问设备信息使用simhash算法产生设备指纹id,用于标识设备。
[0045]
接着,在设备簇中对设备指纹id进行精确匹配,以提高设备识别频率,若精确匹配成功,则认定访问设备为可信设备;若精确匹配失败,则使用算法度量设备距离。这里的设备簇是指聚类后得到的一类设备。
[0046]
在本方案的一些实施方式中,本方案在度量设备距离时,首先使用词袋模型将设备信息数据转换为稠密向量;再者,采用权重杰卡德距离(jaccard)度量设备向量簇间和簇内的距离;最后根据簇间距和簇内距利用聚类算法完成设备的聚类,以此判断可疑设备。
[0047]
针对本实例方案给出的基于设备指纹的银行业网络攻击预警方案,在具体应用时,可构成相应的软件程序,形成相应的基于设备指纹的银行业网络攻击预警系统。该软件程序在运行时,将执行上述的基于设备指纹的银行业网络攻击预警方法,同时存储于相应的存储介质中,以供处理器调取执行。
[0048]
由此形成的基于设备指纹的银行业网络攻击预警系统在功能上主要包括:设备数据获取模块、设备指纹id生成模块、设备指纹id匹配模块、设备距离度量模块、设备聚类计算模块。
[0049]
其中,设备数据获取模块通过数据埋点获得访问设备信息。这里针对的访问设备可以为移动设备、pc设备等等,对于获取的设备信息除了包括设备的原生数据,还可以包括访问设备的设备图片渲染能力数据和/或计算能力数据,据此数据来实现数据防篡改和校验篡改的目的。
[0050]
本系统中的设备指纹id生成模块针对访问设备计算产生对应的设备指纹id;
[0051]
本系统中的设备指纹id匹配模块与设备指纹id生成模块进行数据交互,将生成的设备指纹id在设备簇中进行精确匹配。
[0052]
本设备指纹id生成模块采用simhash算法,基于通过数据埋点所提取到设备的特征值,计算出设备id来标识设备。
[0053]
本系统中的设备距离度量模块与所述设备指纹id匹配模块数据交换,在匹配失败后,度量设备向量簇间和簇内的距离。
[0054]
本设备距离度量模块在度量设备距离时,使用词袋模型将设备信息数据转换为稠密向量,基于转换后的稠密向量采用权重杰卡德距离度量设备向量簇间和簇内的距离。
[0055]
本系统中的设备聚类计算模块与所述设备距离度量模块数据交互,根据得到的簇间距和簇内距离进行设备聚类计算,以此判断可疑设备。
[0056]
本设备聚类计算模块基于权重杰卡德距离(jaccard),由权重杰卡德距离关注样本间共同具有的特征,用来度量两个集合之间的距离。即通过两个集合a和b的交集元素在a、b的并集中所占的比例,构成两个集合的权重杰卡德距离,用j(a,b)表示:
[0057][0058]
在此基础上,为更加精确的进行簇的划分,同时兼顾内聚度和分离度两种因素,本设备聚类计算模块中进行设备聚类计算时,所采用的度量阈值为:
[0059][0060]
其中a(i)为内聚度即设备特征i向量和所有它属于的簇中其他点的平均距离,b(i)为分离度即设备特征i向量和非本身所在簇的点的平均距离。
[0061]
由上可知,本基于设备指纹的银行业网络攻击预警方案创新的将设备指纹技术引入银行业务场景,并以此为基础建立模型,以更好的抵御外部攻击。以下举例具体说明一下本方案的实现和应用。
[0062]
本实例针对银行业务场景,构建基于设备指纹的银行业网络攻击预警模型,具体的构建方案参见前述方案,这里不进一步赘述。
[0063]
整个网络攻击预警过程包括基于数据埋点获得访问设备信息和基于设备指纹id的聚类分析两个阶段。
[0064]
(一),设置数据埋点,基于数据埋点获得访问设备信息。
[0065]
对于网上银行和手机银行,所涉及的设备主要是pc和手机。
[0066]
对于手机的设备指纹数据埋点,选取目前主流的android系统作为例子,调研android官方提供的数据接口是业界最佳采集方案,共可采集android设备数据36项,包括:用户时区、小时格式、自动网络选择、自动时区选择、屏幕锁屏时间、可用wifi提示、getlocationmethod、解锁振动反馈、输入法信息、系统语言、系统是否root、字体大小、字体列表、电话铃声、通知铃声、ip、用户程序列表、系统程序列表、设备型号、设备制造商、屏幕信息(宽度、高度、分辨率)、内置存储空间大小、cpu类型、cpu时钟、cpu频率、系统内核编译信息、http数据包的user、agent、android系统版本、系统存储结构、android_id、serial number、mac、是否为模拟器、是否存在恶意程序、是否存在安全防护程序。
[0067]
对于pc,大部分的网上银行采用的是b/s架构,需用户通过浏览器进行访问。设计数据埋点时需考虑pc数据和浏览器数据两部分内容,pc数据可使用activex控件进行采集,采集项包括ip、mac、cpu、主板厂商、主板序列号、内存大小、bios序列号及设备算力pow。浏
览器数据可使用js脚本进行采集,采集项包括名称、版本、类型及版本、ua、语言、os、系统平台、分辨率、cookie、mime类型、插件数值、插件的数量、插件的名称、颜色质量、director、javaenabled、quicktime、flash插件情况、mediaplayer、realplayer、canvas2d等。
[0068]
由于浏览器及pc数据的易篡改性,本设备埋点数据采集方案除采集设备原生数据外,进一步纳入设备图片渲染能力canvas2d与计算能力pow数据作为重要参考项,起到数据防篡改和校验篡改的目的。
[0069]
1)设备图片渲染能力canvas2d。
[0070]
让浏览器完成图片渲染任务,利用渲染效果识别设备。渲染效果取决于浏览器的图像处理引擎、导出选项、压缩等级和设备性能,不同pc、浏览器绘制出的图形数据存在区别。
[0071]
本实例中采用浏览器canvas渲染图片,使用canvas.todataurl()方法返回该图片内容的base64编码字符串,提取编码中crc校验码用于设备埋点数据,即使篡改pc、浏览器参数也无法改变crc校验码,可用于校验设备原生数据是否存在篡改。
[0072]
2)设备算力pow
[0073]
本实例中采用工作证明(proofofwork,简称pow)来鉴定设备是否投入计算工作。本实例中,pc埋点数据采集使用散列函数实现的pow,在用户请求资源时让设备完成一次散列计算,以证明在访问时付出cpu的计算算力,在计算得到正确的结果后才可获取资源。
[0074]
通过该方法可有效防止暴力自动化访问,若不法分子尝试发起暴力访问,前端可选择加载pow机制,会在时间和设备资源两方面让不法分子的设备承担计算工作,提高自动化的访问成本,以保证在用户发起高频访问时降低访问频率。
[0075]
(二)基于设备指纹id的聚类分析。
[0076]
本阶段中,通过构建的基于设备指纹的银行业网络攻击预警模型来发现可疑设备,其主要通过聚类的方式来区分设备。
[0077]
如图1所示,首先基于采集到的访问设备数据使用simhash算法产生设备指纹id;
[0078]
接着,在设备簇中对设备指纹id进行精确匹配,以提高设备识别频率,若精确匹配成功,则认定该访问设备为可信设备;若精确匹配失败,则使用算法度量设备距离。
[0079]
在度量设备距离是,具体使用词袋模型将设备数据转换为稠密向量,再采用权重杰卡德距离(jaccard)度量设备向量簇间和簇内的距离,最后根据簇间距和簇内距利用聚类算法完成设备的聚类。
[0080]
针对为自然语言的设备数据,本实例中使用词袋模型将自然语言的设备数据转化为算法可处理的稠密向量,即将每台设备转化为多维空间中的坐标点,空间中各个点的距离就是设备间的距离。
[0081]
本实例在进行时聚类运算时,为提升聚类计算的准确度,聚类过程汇总使用权重杰卡德距离度量设备显性特征(软、硬件特征),增强模型聚类效果。
[0082]
对于,这里采用到的权重杰卡德距离(jaccard),其关注的是样本间共同具有的特征,用来度量两个集合之间的距离,两个集合a和b的交集元素在a、b的并集中所占的比例,称为两个集合的权重杰卡德距离,用j(a,b)表示:
[0083]
[0084]
a、b分别表示两个集合,ω和θ分别表示特征值所占权重。
[0085]
为更加精确的进行簇的划分,兼顾内聚度和分离度两种因素,本实例中的度量阈值采用如下公式:
[0086]
其中a(i)为内聚度即设备特征i向量和所有它属于的簇中其他点的平均距离,b(i)为分离度即设备特征i向量和非本身所在簇的点的平均距离,聚类完成后输出度量阈值为:
[0087]
sjaccard=0.826。
[0088]
最后,根据阈值完成设备聚类。
[0089]
参见图2,其所示为本实例中进行聚类运算的过程。
[0090]
对于一个设备集合d0,选取第一个设备作为一个新的设备簇c0,簇心为该设备的设备id和设备信息。
[0091]
接着,将后续设备di与每个已有设备簇的簇心进行匹配,如果匹配,则将设备di并入该匹配的设备簇更新簇心;如果不匹配,将设备di与该簇心计算杰拉德距离,如果小于阈值,则纳入c0并调增簇心;如大于阈值,则建立新的簇,di为簇心。
[0092]
重复以上操作直至设备集合中的所有设备计算完毕。
[0093]
通过上述实例可知,相对于传统检测技术,仅通过ip地址、mac地址等有限的几个参数很难准确定位可疑设备,造成误判的问题。本方案从根本上做好设备的精确识别,选取词袋模型将设备数据转换为稠密向量,再采用权重杰卡德距离(jaccard)度量设备向量簇间和簇内的距离,根据簇间距和簇内距利用聚类算法完成设备的聚类,可多维度定位一个设备、更准确的识别可疑设备。本方案实现时,相应的算法拥有较小的复杂度和扩展性,更适应网络攻击的实时性要求,同时,因为可准确定位设备,错误率较低。模型可配合其他条件,应用于多个银行业务场景。
[0094]
最后需要说明的:
[0095]
本发明实施例还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述基于设备指纹的银行业网络攻击预警方法的步骤。
[0096]
本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述基于设备指纹的银行业网络攻击预警方法的步骤。
[0097]
本发明实施例还提供了一种终端设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,所述程序代码由所述处理器加载并执行以实现上述基于设备指纹的银行业网络攻击预警方法的步骤。
[0098]
本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述基于设备指纹的银行业网络攻击预警方法的步骤。
[0099]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0100]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0101]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0102]
本发明是参照本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0103]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0104]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0105]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0106]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0107]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0108]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0109]
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0110]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献