基于流量特征匹配的用户身份属性主动检测方法及系统

文档序号:33121970发布日期:2023-02-01 04:04阅读:16来源:国知局
基于流量特征匹配的用户身份属性主动检测方法及系统

1.本发明涉及身份认证技术领域,特别是涉及基于流量特征匹配的用户身份属性主动检测方法及系统。


背景技术:

2.本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
3.流行的即时通信(im)应用程序基本上都部署了加密方案(端到端或端到中间到端)来保护用户的通信安全。目前im应用程序上的用户身份属性检测的方法是基于漏洞挖掘的检测方法或基于流量特征匹配的被动检测方法,现有的检测方法存在实现难度较大和效果较差等问题。
4.(1)由于im应用程序都部署了加密方案,漏洞挖掘主要针对其加密协议的漏洞和协议实现过程中人为导致的bug。由于主要的im应用程序的加密方案都采用了最先进的加密技术,因此协议漏洞的挖掘往往分析难度很高且成效甚微;而协议实现中人为导致的bug则需要扎实的代码分析、逆向分析等知识基础,受到多种不稳定因素的影响。同时,漏洞一旦发现,很快就会被im提供商进行修补。
5.(2)im应用程序用户量巨大,且客户端环境各异。基于流量特征匹配的被动检测方法会受到多种因素的限制,虽然能在模拟环境上达到一定的效果,但实际效果往往不如人意,因为目标用户的现实环境往往比模拟环境更加复杂、需要检测时间较长导致成功难度较大等。
6.发明人发现,现有技术中,无法在不泄露用户隐私的情况下,实现用户身份属性的认证。


技术实现要素:

7.为了解决现有技术的不足,本发明提供了基于流量特征匹配的用户身份属性主动检测方法及系统;通过im应用程序的账号对加入的目标群组和频道进行消息和流量收集,分析获取其对应关系,构造主动检测文本消息并发送,对目标用户和目标群组的加密通信流量进行流量特征匹配,从而判断目标用户是否具备目标群组的身份属性,解决了被动检测方法中检测难度大、时耗长、准确性不稳定等问题。
8.第一方面,本发明提供了基于流量特征匹配的用户身份属性主动检测方法;
9.基于流量特征匹配的用户身份属性主动检测方法,应用于即时通信应用程序服务器,所述方法包括:
10.获取目标群组和待检测的目标用户客户端的ip地址,所述目标群组的属性为已知量;构建第一和第二测试用户账号,将两个测试用户账号添加到目标群组中;通过第一测试用户账号,向目标群组发送检测文本消息;
11.在检测文本消息发送过程中,对目标用户客户端所产生的流量和第二用户账号所产生的流量分别进行抓取;对目标用户客户端和第二测试用户账号所抓取的流量分别进行
即时通信应用程序加密流量提取;
12.根据文本消息长度与流量长度的映射关系,对目标用户客户端和第二测试用户账号所提取的加密流量,分别进行消息流量事件队列的构建;计算目标用户客户端和第二测试用户账号二者的消息流量事件队列的最优关联度;
13.将最优关联度与设定阈值进行比较,得出目标用户客户端是否具备目标群组的属性。
14.第二方面,本发明提供了基于流量特征匹配的用户身份属性主动检测系统;
15.基于流量特征匹配的用户身份属性主动检测系统,应用于即时通信应用程序服务器,所述系统包括:
16.获取模块,其被配置为:获取目标群组和待检测的目标用户客户端的ip地址,所述目标群组的属性为已知量;构建第一和第二测试用户账号,将两个测试用户账号添加到目标群组中;
17.检测文本消息发送模块,其被配置为:通过第一测试用户账号,向目标群组发送检测文本消息;
18.加密流量提取模块,其被配置为:在检测文本消息发送过程中,对目标用户客户端所产生的流量和第二用户账号所产生的流量分别进行抓取;对目标用户客户端和第二测试用户账号所抓取的流量分别进行即时通信应用程序加密流量提取;
19.事件队列构建模块,其被配置为:根据文本消息长度与流量长度的映射关系,对目标用户客户端和第二测试用户账号所提取的加密流量,分别进行消息流量事件队列的构建;计算目标用户客户端和第二测试用户账号二者的消息流量事件队列的最优关联度;
20.属性检测模块,其被配置为:将最优关联度与设定阈值进行比较,得出目标用户客户端是否具备目标群组的属性。
21.与现有技术相比,本发明的有益效果是:
22.(1)与基于漏洞挖掘的方法相比,本发明解决了漏洞挖掘难度大、影响因素多等问题,使检测方法的稳定性得到了很大程度的提升;
23.(2)与基于流量特征匹配的被动检测方法相比,通过构造检测文本消息并主动发送,可以在很短的时间内达到优异的检测效果,解决了目标用户环境复杂、检测时耗长、准确性不稳定等问题。
附图说明
24.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
25.图1为本发明的系统结构图;
26.图2为本发明消息及流量结构图;
27.图3为本发明流量特征匹配模块的算法结构图;
28.图4为本发明整体程序流程图。
具体实施方式
29.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另
有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
30.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
32.本实施例所有数据的获取都在符合法律法规和用户同意的基础上,对数据的合法应用。
33.术语解释:互联网协议地址(英语:internet protocol address,又译为网际协议地址),缩写为ip地址(ip address)。ip地址是ip协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
34.实施例一
35.本实施例提供了基于流量特征匹配的用户身份属性主动检测方法;
36.基于流量特征匹配的用户身份属性主动检测方法,应用于即时通信应用程序服务器,所述方法包括:
37.s101:获取目标群组和待检测的目标用户客户端的ip地址,所述目标群组的属性为已知量;构建第一和第二测试用户账号,将两个测试用户账号添加到目标群组中;
38.s102:通过第一测试用户账号,向目标群组发送检测文本消息;
39.s103:在检测文本消息发送过程中,对目标用户客户端所产生的流量和第二用户账号所产生的流量分别进行抓取;对目标用户客户端和第二测试用户账号所抓取的流量分别进行即时通信应用程序加密流量提取;
40.s104:根据文本消息长度与流量长度的映射关系,对目标用户客户端和第二测试用户账号所提取的加密流量,分别进行消息流量事件队列的构建;计算目标用户客户端和第二测试用户账号二者的消息流量事件队列的最优关联度;
41.s105:将最优关联度与设定阈值进行比较,得出目标用户客户端是否具备目标群组的属性。
42.进一步地,所述将两个测试用户账号添加到目标群组中之后,所述通过第一测试用户账号,向目标群组发送检测文本消息之前,还包括:通过第一测试用户账号,获取目标群组通信过程中产生的历史文本消息和历史文本消息对应的流量,获取文本消息长度与流量长度的映射关系,统计不同长度文本消息出现的频率,根据不同长度文本消息出现的频率,构建检测文本消息。
43.上述技术方案可以辅助监管部门,对已知属性的目标群组,对已知ip地址的目标用户客户端进行身份属性判定,判定目标用户客户端是否已加入当前目标群组,判断目标用户客户端是否具备当前目标群组的属性。帮助监管部门对目标用户客户端进行身份判定。
44.上述技术方案还可以辅助监管部门对已知属性的目标群组,对所有ip地址的用户
进行身份属性判定,判定所有ip地址的用户客户端是否已加入当前目标群组,判断用户客户端是否具备当前目标群组的属性。帮助监管部门对目标用户客户端进行身份判定。
45.例如,某目标群组有涉嫌“赌博”、“电信诈骗”等性质的属性。即时通信应用程序服务器为了保护用户的隐私权,不能为监管部门提供用户的基本信息和聊天内容,但是可以为监管部门提供一些用户客户端ip是否已加入该群组的辅助性分析,以帮助监管部门实现提醒目标用户客户端资金使用安全的目的。
46.进一步地,所述通过第一测试用户账号,获取目标群组通信过程中产生的历史文本消息和历史文本消息对应的流量,具体是采用应用程序接口api (application programming interface)函数和网络数据包抓取程序tcpdump工具进行获取。
47.应理解地,所述获取文本消息长度与流量长度的映射关系,由于发送的消息结构固定,加密算法嵌入在程序中不变,因此,文本消息长度与加密后的流量长度具有一定的对应关系。
48.进一步地,所述获取文本消息长度与流量长度的映射关系,相同时间点下,对应的文本消息长度与流量长度之间的对应关系。
49.进一步地,所述统计不同长度文本消息出现的频率,根据不同长度文本消息出现的频率,构建检测文本消息,具体包括:
50.根据不同长度文本消息出现的频率,查找到出现频率最低的文本消息长度,并按照出现频率最低的文本消息长度,构建符合目标群组聊天场景的检测文本消息。
51.进一步地,所述按照出现频率最低的文本消息长度,构建符合目标群组聊天场景的检测文本消息,通过训练后的神经网络来实现;其中,训练后的神经网络,训练过程包括:
52.构建训练集;所述训练集,为已知文本消息主题的目标群组历史文本消息和目标文本长度;将文本消息主题和目标文本长度,作为神经网络的输入值,将历史文本消息作为神经网络的输出值;对神经网络进行训练,得到训练后的神经网络,神经网络的输出值的长度为目标文本长度。
53.示例性地,所述文本消息主题,包括:“赌博”、“电信诈骗”等。
54.进一步地,所述按照出现频率最低的文本消息长度,构建符合目标群组聊天场景的检测文本消息,具体是指:
55.将目标群组文本消息主题和出现频率最低的文本消息长度,作为神经网络的输入值,输出符合目标群组聊天场景的检测文本消息;符合目标群组聊天场景的检测文本消息的长度为出现频率最低的文本消息长度。
56.进一步地,所述在检测文本消息发送过程中,对目标用户客户端所产生的流量和第二用户账号所产生的流量分别进行抓取,是指:在检测文本消息发送过程中,根据检测文本消息的发送时刻,利用网络数据包抓取程序tcpdump工具,对目标用户客户端所产生的流量和第二用户账号所产生的流量分别进行抓取。
57.应理解地,本发明假设第二用户账号只加入目标群组这一个群组;而目标用户客户端允许加入目标群组这一个群组、未加入目标群组或者除了加入目标群组以外还加入了其他群组。
58.进一步地,向目标群组发送检测文本消息,采用im应用程序的api函数或软件精灵脚本等方法主动发送。
59.进一步地,所述对目标用户客户端和第二测试用户账号所抓取的流量分别进行即时通信应用程序加密流量提取,其中,加密流量是指根据即时通信应用程序的协议规定,对所有需要加密的内容,通过加密算法进行加密后发送至互联网的流量;所有需要加密的内容,包括:文本消息、消息附加头和消息长度。
60.进一步地,所述对目标用户客户端和第二测试用户账号所抓取的流量分别进行即时通信应用程序加密流量提取,其中,加密流量的提取过程包括:
61.根据检测文本消息的长度,以及文本消息长度与流量长度的映射关系,确定即时通信应用程序加密流量的长度;
62.根据即时通信应用程序加密流量的长度,提取出即时通信应用程序加密流量。
63.进一步地,所述对目标用户客户端和第二测试用户账号所提取的加密流量,分别进行消息流量事件队列的构建,其中,每个消息流量事件是指具备时间和长度两个属性的流量包,消息流量事件队列是指根据时间先后关系进行排列的多个消息流量事件。
64.消息流量事件队列,构建过程包括:根据加密流量中每个网络数据包的时间和长度属性逐一转换为消息流量事件,根据时间先后关系排列得到消息流量事件队列。
65.进一步地,所述计算目标用户客户端和第二测试用户账号二者的消息流量事件队列的最优关联度,具体过程包括:
66.设定两个消息流量事件队列的时间差的上下限,然后设定每步滑动的时间大小,并逐步滑动两个文本事件队列,检测目标用户客户端事件队列中能够关联到第二测试用户账号事件队列中事件的个数,与第二测试用户账号事件队列的事件总数相比得到关联度,得到的关联度就是最优关联度;其中,两个事件能够关联是指两个事件的时间差和长度差都在设定范围内。
67.示例性地,遍历目标用户和目标群组的加密流量包,将其中符合检测文本消息长度映射关系的流量包进行时间、长度等关键特征提取,得到两者的消息流量事件队列,以0.1s为跨度对两个队列进行前后一定限度的窗口滑动,去除网络抖动的干扰因素,求得两个队列的最优关联度。
68.进一步地,所述将最优关联度与设定阈值进行比较,得出目标用户客户端是否具备目标群组的属性,具体包括:
69.如果最优关联度小于设定阈值,则代表目标用户不在目标群组中;大于阈值则表示目标用户在目标群组中。
70.或者,所述将最优关联度与设定阈值进行比较,得出目标用户客户端是否具备目标群组的属性,具体包括:
71.判断目标用户是否具有目标群组的身份属性,基于现实的假设检验是:
72.考虑g为目标群组,对于任一im用户u,检测的目标是决定以下假设哪条为真:
73.h0:用户u和目标群组g没有关联,即用户u不是群组g中的成员,关联度小于判定阈值;
74.h1:用户u与目标群组g关联,即用户u为群组g中的成员,关联度大于判定阈值。
75.如图1所示,为本发明的系统结构图。
76.该系统的消息及其加密流量映射建模部分用im应用程序账户通过api函数加入目标群组和频道,调用api函数获取其中的消息记录,同时利用tcpdump 工具抓取im应用程序
的加密通信流量,分析获取消息与流量包的映射关系,统计它们的长度、时间、出现频率等特征,,由于主要的im应用程序对其加入群组api函数的调用次数有限制,所以此步骤需要消耗一定的时间。
77.其中,统计模型建立步骤如下:
78.输入:消息记录json文件、流量pcap文件;
79.输出:模型特征mod文件;
80.①
从消息记录json文件中读取消息结构体messages[];
[0081]

从流量pcap文件中读取流量包结构体packets[];messages中获取消息长度;
[0082]

遍历messages[]提取每条文本消息的长度、时间信息;
[0083]

遍历packets[]提取加密流量包的长度、时间信息;
[0084]

遍历messages[]和packets[],根据时间顺序、长度特征获取它们之间的映射关系;
[0085]

统计每个长度出现的频次;
[0086]

创建mod文件并将每个特征节点写入。
[0087]
检测文本消息构造与主动发送部分进一步设计构造检测文本消息,利用im 应用程序的api函数或者软件精灵脚本等方法主动发送到目标群组中。
[0088]
流量获取过滤部分,分别利用tcpdump工具抓取目标用户和目标群组的流量,遍历所有的流量包,以长度特征为依据,过滤提取其中的im加密通信流量。
[0089]
流量特征匹配部分,根据加密流量包的长度特征,过滤筛除其中的im应用程序心跳流量包等冗余包,对目标用户和目标群组的加密流量进行解析,分别得到两者的消息流量事件队列,以0.1s为跨度对两个队列进行前后一定限度的窗口滑动,去除网络抖动的干扰因素,求得两个队列的最优关联度。
[0090]
假设判定部分,根据大量实验的实验结果设定判定阈值,用得到的最优关联度结合基于现实的假设检验,判定匹配度是否大于阈值。如大于阈值,则目标用户与目标群组关联,具备目标群组的身份属性;如果小于阈值,则目标用户与目标群组不关联,不具备目标群组的身份属性。
[0091]
如图2所示,为本发明消息及流量结构图。在该链表当中,
[0092]
node[“text_length”]存储文本消息的长度信息;
[0093]
node[“packet_length”]存储该消息对应的加密流量包的长度;
[0094]
node[“time_diff”]为文本消息发出时间与服务器转发的加密流量包到达客户端时间的时间差值,该值用来判定主动检测文本消息的时间误差影响;
[0095]
node[“num_lengtha”]存储这些文本消息长度及其对应加密流量包长度出现的频次信息。
[0096]
如图3所示,为本发明流量特征匹配模块的算法结构图。t
min
和t
max
分别代表网络抖动的时间差下限和上限,ng为目标群组的消息流量事件总数,n
max
为最大关联事件数。
[0097]
如图4所示,为本发明的整体程序流程图。
[0098]
根据即时通信应用程序账号进行消息搜集和流量抓取,统计不同长度文本消息出现的频率,建立文本消息长度与流量长度的映射关系;根据不同长度文本消息出现的频率,构造检测文本消息并主动发送;抓取检测消息发送过程中目标用户和目标群组的流量,过
滤提取其中的im应用程序加密流量;解析im应用程序的加密流量,提取目标用户和目标群组的消息流量事件队列,求得两个队列间的最优关联度;根据设定的判定阈值,结合基于现实的假设检验和求得的关联度,判定目标用户是否与目标群组关联。本发明解决了基于漏洞挖掘的检测方法和基于流量特征匹配的被动检测方法的检测难度大、时耗长、准确性不稳定等问题,更适用于基于现实场景的用户身份属性的主动检测。
[0099]
实施例二
[0100]
本实施例提供了基于流量特征匹配的用户身份属性主动检测系统;
[0101]
基于流量特征匹配的用户身份属性主动检测系统,应用于即时通信应用程序服务器,所述系统包括:
[0102]
获取模块,其被配置为:获取目标群组和待检测的目标用户客户端的ip地址,所述目标群组的属性为已知量;构建第一和第二测试用户账号,将两个测试用户账号添加到目标群组中;
[0103]
检测文本消息发送模块,其被配置为:通过第一测试用户账号,向目标群组发送检测文本消息;
[0104]
加密流量提取模块,其被配置为:在检测文本消息发送过程中,对目标用户客户端所产生的流量和第二用户账号所产生的流量分别进行抓取;对目标用户客户端和第二测试用户账号所抓取的流量分别进行即时通信应用程序加密流量提取;
[0105]
事件队列构建模块,其被配置为:根据文本消息长度与流量长度的映射关系,对目标用户客户端和第二测试用户账号所提取的加密流量,分别进行消息流量事件队列的构建;计算目标用户客户端和第二测试用户账号二者的消息流量事件队列的最优关联度;
[0106]
属性检测模块,其被配置为:将最优关联度与设定阈值进行比较,得出目标用户客户端是否具备目标群组的属性。
[0107]
进一步地,所述检测文本消息发送模块,还包括:通过第一测试用户账号,获取目标群组通信过程中产生的历史文本消息和历史文本消息对应的流量,获取文本消息长度与流量长度的映射关系,统计不同长度文本消息出现的频率,根据不同长度文本消息出现的频率,构建检测文本消息。
[0108]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1