CN111049944B - 一种id发现方法和装置 - Google Patents
一种id发现方法和装置 Download PDFInfo
- Publication number
- CN111049944B CN111049944B CN201911300740.6A CN201911300740A CN111049944B CN 111049944 B CN111049944 B CN 111049944B CN 201911300740 A CN201911300740 A CN 201911300740A CN 111049944 B CN111049944 B CN 111049944B
- Authority
- CN
- China
- Prior art keywords
- key
- host
- value
- same
- score
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3005—Mechanisms for avoiding name conflicts
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及互联网技术领域,提供了一种ID发现方法和装置。其中方法包括将对应IP相同且Host‑Key相同且Host‑Key的value值相同情况的标识设定为IV;将对应IP相同且Host‑Key相同且Host‑Key的value值不同情况的标识设定为Iv;将对应IP不同且Host‑Key相同且Host‑Key的value值相同情况的标识设定为iV;将对应IP不同且Host‑Key相同且Host‑Key的value值不同情况的标识设定为iv;给每一组Host‑Key计算得分,从而动态的筛选出当前数据分析场景中的ID。本发明对ID的发现是通过现场数据学习到的,而非预先设置好的,具有现场自适应性。
Description
【技术领域】
本发明涉及互联网技术领域,特别是涉及一种ID发现方法和装置。
【背景技术】
由于网络共享检测等技术应用和普及,急需要一种能够唯一标识设备的ID,使用这种ID就能够匹配出一个IP用户的流量是由几个设备发出的。通过将某IP发出的流量与唯一标识设备的ID进行匹配,如果匹配出N个不同值,则能够检测出这个IP的流量是由N个设备组成的。现有的ID标识技术是从已知的认知当中枚举出唯一标识设备的ID,例如设备IP、MAC地址、手机号、用户名、应用ID、IMEI号等,这样做的问题有:
问题一、对于实际现场情况可能存在不匹配情况,因为实际现场的信息因地而异,一个统一提前预置的唯一标识设备的ID,可能对于某些场景并不适用,甚至不存在。例如:明文的手机号、明文的用户账号等ID信息由于隐私保护的需要,可能会在待检测数据中被抹去。但会以其他加密或者信息组合的方式出现。又或者在某些地区,例如一二线城市和三四线城市,由于用户的应用使用有区别,导致某些在一二线城市高频的应用,在三四线城市却是低频的。
问题二、预置的唯一标识设备ID数量有限。因为提前预置的唯一标识设备的ID,是综合所有场景,找到用户群使用最多的那些能代表身份的信息,并且这些信息是需要逐个通过具体分析每个协议来提取出ID的标示方法。现有技术思路是:寻找那些能作为唯一标识设备的ID,因此由于人力工作量,以及预先假想到的ID数量,限制了所能达到的ID数量。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
【发明内容】
本发明要解决的技术问题是现有的ID生成方法存在以下问题:对于实际现场情况可能存在不匹配情况,因为实际现场的信息因地而异,一个统一提前预置的唯一标识设备的ID,可能对于某些场景并不适用,甚至不存在;另外,现有的ID实现方式一旦指定,通常就不会再改变,从而造成适用场景类型较为传统,以及使用场景的受局限。
本发明采用如下技术方案:
第一方面,本发明提供了一种ID发现方法,设定对应IP相同情况的标识为I、对应IP不同情况的标识为i、对应Host-Key相同且Host-Key的value值相同情况的标识为V、对应Host-Key相同且Host-Key的value值不同情况的标识为v,方法包括:
将对应IP相同且Host-Key相同且Host-Key的value值相同情况的标识设定为IV;将对应IP相同且Host-Key相同且Host-Key的value值不同情况的标识设定为Iv;将对应IP不同且Host-Key相同且Host-Key的value值相同情况的标识设定为iV;将对应IP不同且Host-Key相同且Host-Key的value值不同情况的标识设定为iv;
依据IV和iv的参数值越大越优、Iv和iV的参数值越小越优的对应关系,根据对应每一组Host-Key统计的IV、iv、Iv和iV,计算每一组Host-Key的得分;
根据每一组Host-Key的得分,动态的筛选出当前数据分析场景中的ID。
优选的,所述根据对应每一组Host-Key统计的IV、iv、Iv和iV,计算每一组Host-Key的得分,具体包括:
根据公式Score=(IV*iv)/(Iv*iV)来计算每一组Host-key的得分;或者,
根据公式Score=(IV-Iv)*(iv-iV)来计算每一组Host-key的得分;或者,
根据公式Score=(IV+iv)/(IV+iv+Iv+iV)*100来计算每一组Host-key的得分。
优选的,所述根据每一组Host-Key的得分,动态的筛选出当前数据分析场景中的ID,具体包括:
取Host-Key计算得分位于预设第一排名值之前的Host-Key作为当前数据分析场景动态生成的ID。
优选的,所述根据每一组Host-Key的得分,动态的筛选出当前数据分析场景中的ID中,具体为针对同一IP地址,需要确定相应IP地址的ID时,方法包括:
针对同一IP地址下,将对应的多个Host-Key计算得分进行排序,取其中排名位于第二预设排名之前的Host-Key作为所述IP地址对应的ID。
优选的,所述预设第一排名值为200-500或者排名位于总的前10%作为所述预设第一排名值。
优选的,在根据对应每一组Host-Key统计的IV、iv、Iv和iV,计算每一组Host-Key的得分之前,所述方法还包括:
根据所述Iv和/或iV的参数值在总的统计数量中的占比,确定相应占比是否超过第一预设阈值;
若所述Iv和/或iV在总的统计数量中的占比超过所述第一预设阈值,则跳过相应Host-Key组合的得分计算。
优选的,若所述Iv和/或iV在总的统计数量中的占比超过所述第一预设阈值,所述方法还包括:
对于Iv在总的统计数量中的占比超过所述第一预设阈值,进一步分析IP相同情况下出现Iv情况的各Key名称;确定其中Key为用户名或者其中Key为设备MAC地址,则在日志中记录相应IP的使用主体为潜在的工作室。
优选的,所述Host-Key中的Key包括设备MAC地址、手机号、用户名、应用ID、IMEI号、位置信息中的任意一种。
优选的,对于获取到数据,按照统计出的Host(i)-Key(i),根据公式:
Host(i)-Key(i):[IP(1),Value(1),IV(1),Iv(1),iV(1),iv(1)],[IP(2),Value(2),IV(2),Iv(2),iV(2),iv(2)],…,[IP(j),Value(j),IV(j),Iv(j),iV(j),iv(j)]进行数据梳理;其中,i为Host-Key组合的标志号,j为对应各Host-Key组合下具体的IP数量。
第二方面,本发明还提供了一种ID发现装置,用于实现第一方面所述的ID发现方法,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的ID发现方法。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的ID发现方法。
本发明对ID的发现是通过现场数据学习到的,而非预先设置好的,具有现场自适应性。通过现场数据能够学习到全量唯一标识设备的ID,因此数量较人为定义更全面、客观、准确。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种ID发现方法的流程示意图;
图2是本发明实施例提供的一种ID发现方法的分析流程示意图;
图3是本发明实施例提供的一种ID发现方法的流程示意图;
图4是本发明实施例提供的一种ID发现方法的实例中数据内容;
图5是本发明实施例提供的一种ID发现方法的实例中数据内容;
图6是本发明实施例提供的一种ID发现方法的实例中数据内容;
图7是本发明实施例提供的一种ID发现方法的实例中数据内容;
图8是本发明实施例提供的一种ID发现方法的实例中数据内容;
图9是本发明实施例提供的一种ID发现方法的实例中数据内容;
图10是本发明实施例提供的一种ID发现方法的实例中数据内容;
图11是本发明实施例提供的一种ID发现的装置结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。
目前运营商产生的HTTP协议流量日志里面可供使用的信息有[流量源IP地址、流量目的IP地址、流量源端口号、流量目的端口号、Host、URI、User-Agent、日志时间戳]这些必要的字段信息。发明人发现在寻找一个能够唯一标识设备的ID的过程中,由于ID唯一性的要求,需要使用[流量源IP地址]作为被标识的对象,因此[流量源IP地址]这个字段是有用的,而像[流量目的IP地址]、[流量源端口号]、[流量目的端口号]、[日志时间戳]这些字段信息,不论从某个IP发出的流量是单个设备,还是多个设备,其值都会有多个,因此不存在区别性,因此无法利用。而像[User-Agent]字段,相同种类的设备它的值是相同的,不存在区分性,因此作为唯一标识设备的ID不够充分。
综上分析Host信息代表流量访问的目标服务器,而URI里面又包含用户查询参数,类似key=value这样的多个键值对,携带出设备、应用、用户等信息。因此通过进一步分析[Host:key=value](代表Host相同情况下的key参数名下的参数值value)的内容,可以用于进一步挖掘和分析出ID的信息。接下来,将进一步阐述其实现机制。
在本发明中统一资源标识符(Uniform Resource Identifier,简写为:URI)字段内容以“&”符号分割每一对参数对,又以“=”符号分割参数名(Key)和参数值(Value);通过上述分析可知悉,一条有效的网络消息中,其可以具有多个key=value这样的键值对,用于携带出设备、应用、用户等信息。由于某些参数名Key在不同的应用中含义或名称不同,如key表现为“u”时,在A应用代表“user”,但在“B”应用中代表“url”,这样单以Key作为索引不够唯一,故在本发明各实施例中以“Host-Key”共同作为索引,然后把每一条流量日志数据中出现的源IP、Value和以下4个计数器(对应IV的计数器、对应Iv的计数器、对应iV的计数器、对应iv的计数器初始值为1)追加到对应的索引之后,这样就构成一个字典集合。构造的结构如下表一所示。
表一:
在每个“Host-Key”内作统计时,相同IP内、不同IP之间Value都可能会有相同或不同的值。作为一个唯一标识设备的ID,理想情况是对于大量不同的IP,在相同的“Host-Key”内出现的不同值要多,这说明大量的用户在使用设备时经常会出现这个Key,并且Value值也不同,代表唯一性,同时不同IP间相同值要少,否则这个Key对于不同的设备不具有辨识度;
同时,IP相同时在指定的“Host-Key”内相同值的出现次数要高,以确保在有限的采样时间内能够采集到这个key,也就是作为一个唯一标识设备的ID还要能够复现。
对IV、Iv、iV、iv的说明:
(1)IV:相同IP内相同Host-Key的Value出现相同值的个数计数。
(2)Iv:相同IP内相同Host-Key的Value出现不同值的个数计数。该值越小越好。因为一个用户若是在使用设备时某个Key的值一直变化,那么它就无法作为ID去区别设备,比如随机数和当前时间类的Key等,都是一直在变化的。
(3)iV:不同IP间相同Host-Key的Value出现相同值的个数计数。因为不同用户在使用设备时产生的值尽可能不同才会有大的区分度。
(4)iv:不同IP间相同Host-Key的Value出现不同值的个数计数。该值越大越能体现这个“Host-Key”在不同的设备上是高频出现的,具有最大的参考价值。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
本发明实施例1提供了一种ID发现方法,设定对应IP相同情况的标识为I、对应IP不同情况的标识为i、对应Host-Key相同且Host-Key的value值相同情况的标识为V、对应Host-Key相同且Host-Key的value值不同情况的标识为v,如图1所示,方法包括:
在步骤201中,将对应IP相同且Host-Key相同且Host-Key的value值相同情况的标识设定为IV;将对应IP相同且Host-Key相同且Host-Key的value值不同情况的标识设定为Iv;将对应IP不同且Host-Key相同且Host-Key的value值相同情况的标识设定为iV;将对应IP不同且Host-Key相同且Host-Key的value值不同情况的标识设定为iv。
在步骤202中,依据IV和iv的参数值越大越优、Iv和iV的参数值越小越优的对应关系,根据对应每一组Host-Key统计的IV、iv、Iv和iV,计算每一组Host-Key的得分。
在步骤203中,根据每一组Host-Key的得分,动态的筛选出当前数据分析场景中的ID。
本发明实施例中对ID的发现是通过现场数据学习到的,而非预先设置好的,具有现场自适应性。通过现场数据能够学习到全量唯一标识设备的ID,因此数量较人为定义更全面、客观、准确。
在本发明实施例中,所述根据对应每一组Host-Key统计的IV、iv、Iv和iV,计算每一组Host-Key的得分,具体包括:
根据公式一、Score=(IV*iv)/(Iv*iV)来计算每一组Host-key的得分;或者,
根据公式二、Score=(IV-Iv)*(iv-iV)来计算每一组Host-key的得分;或者,
根据公式三、Score=(IV+iv)/(IV+iv+Iv+iV)*100来计算每一组Host-key的得分。
上述三个公式各有特点,其中,公式一的分差最大,适合于当前分析的数据量较大的场景,从而能够拉开不同Host-Key组合的分差;而公式三属于三个公式中计算最为准确的,但是其劣势也在于计算的结果会比较高概率出现计算分值重叠的情况。具体采用哪一种公式,则根据实际情况中所涉及的数据量的多少、已经数据中的复杂情况而定。
在本发明实施例中,所涉及的从而动态的筛选出当前数据分析场景中的ID,在实际实现过程中,至少也可以区分为以下两种情况。
情况一、
取Host-Key计算得分位于预设第一排名值之前的Host-Key作为当前数据分析场景动态生成的ID。其中,所述预设第一排名值为200-500或者排名位于总的前10%作为所述预设第一排名值,优选的,还要综合考虑所述第一排名值之前的ID,其所对应的流量数据或者数据大小能够覆盖整个当前场景下数据量的80%以上。在具体实现过程中,若覆盖量低于70%则可以考虑调整所述第一排名值,即调高所述第一排名值,使得更多的Host-Key组合被筛选出作为ID。
情况二:
具体为针对同一IP地址,需要确定其ID时,方法包括:
针对同一IP地址下,将对应的多个Host-Key计算得分进行排序,取其中排名位于第二预设排名之前的Host-Key作为所述IP地址对应的ID。其中,第二预设排名包括但不限于10-50之间任一值,还可以根据具体情况进行调整,通常要保证第二预设排名所指定的Host-Key所标定的数据占总数据的百分比达到80%(这里在互联网领域则可指代的是消息条数,其他领域还可以指代的是数据大小)以上为优,即保证了所选择出来的ID在总数据量中的覆盖特性,表明没有遗漏必要的ID。
上述两种情况差异在于,情况一是基于数据中IP作为数据标识,并未被所有的携带在各数据中;此时,就需要根据本发明实施例提出的方法,通过直接计算各Host-Key分值,来得到ID。而情况二则是在确保IP被有效携带在数据中,而需要明确出一个可以代替IP成为ID的或者是一个在局域网环境下,多终端共用一个IP场景下,如何快速确定出一个Host-Key,可以用于表征该局域网环境下各个终端的ID。
结合本发明实施例,考虑到更为复杂的应用场景,在根据对应每一组Host-Key统计的IV、iv、Iv和iV,计算每一组Host-Key的得分之前,如图2所示,所述方法还包括:
在步骤301中,根据所述Iv和/或iV的参数值在总的统计数量中的占比,确定相应占比是否超过第一预设阈值。此处的第一预设阈值属于经验值,可以是50%,或者更高一些。
在步骤302中,若所述Iv和/或iV在总的统计数量中的占比超过所述第一预设阈值,则跳过相应Host-Key组合的得分计算。其原理是做一轮筛选,对于上述Iv和/或iV在总的统计数量中的占比超过所述第一预设阈值,则认定为即便通过后续手段生成ID,也属于不可靠的的ID,因此,提前做过滤处理,避免后面计算过程中浪费计算资源。
相应的,若所述Iv和/或iV在总的统计数量中的占比超过所述第一预设阈值,所述方法还包括:
在步骤303中,对于Iv在总的统计数量中的占比超过所述第一预设阈值,进一步分析IP相同情况下出现Iv情况的各Key名称;确定其中Key为用户名或者其中Key为设备MAC地址,则在日志中记录相应IP的使用主体为潜在的工作室。
上述步骤301-303已经涉及对生成ID过程中的附带分析结构展示,即本发明所提出的方法不仅仅能够发现ID,而且,能够在相应的发现ID的过程中,发现更多有效的信息。
在本发明实施例中,所述Host-Key中的Key包括但不局限于设备MAC地址、手机号、用户名、应用ID、IMEI号、位置信息中的任意一种。
在本发明实施例中,为了便于数据的统计,对于获取到数据,按照统计出的Host(i)-Key(i),根据公式:
Host(i)-Key(i):[IP(1),Value(1),IV(1),Iv(1),iV(1),iv(1)],[IP(2),Value(2),IV(2),Iv(2),iV(2),iv(2)],…,[IP(j),Value(j),IV(j),Iv(j),iV(j),iv(j)]进行数据梳理;其中,i为Host-Key组合的标志号,j为对应各Host-Key组合下具体的IP数量。上述公式尤其适用于针对IP分析出可替代所述IP作为设备或者用户标识的ID。
实施例2:
在本发明实施例中,在使用实施例1所阐述的方法进行测试时,尤其是在实施例1的情况二中进一步寻找唯一ID时,发现一问题,参考如下表二示例:
表二:
Host | Key | value | IV | Iv | iV | iv |
dns.weixin.qq.com | uin | 1305491620 | 50 | 3 | 1188 | 24332 |
表二中“uin”这个Key经过验证是微信号,可以看到,当iV取最大值时,竟然出现1188个不同IP下的相同微信号,这与实际不符,经查看这1188个出现在不同IP间的相同的微信号是“0”,显然不是一个真正的微信号,是一种特殊值。所以,为避免在其他Key中出现类似的统计偏差,对4个计数都选取了以次大计数值作为最终统计结果,且经检验效果很好。
(1)IV:相同IP内相同Host-Key的Value出现相同值的个数计数,对这些计数值按大小排列,取次大值作为最终结果。取次大值的原因:由于该值越大表明用户在使用设备时都会产生这个值,但当取最大值时可能会导致一些特殊值引入的偏差。
(2)Iv:相同IP内相同Host-Key的Value出现不同值的个数计数,对这些计数值按大小排列,取次大值作为最终结果。
(3)iV:不同IP间相同Host-Key的Value出现相同值的个数计数,对这些计数值按大小排列,取次大值作为最终结果。
(4)iv:不同IP间相同Host-Key的Value出现不同值的个数计数,对这些计数值按大小排列,取次大值作为最终结果。
相应的方法过程如图3所示,包括以下步骤:
在步骤401中,输入上述构造好的数据进行对比。
构造方式具体如实施例1中所展示的,按照统计出的Host(i)-Key(i),根据公式:
Host(i)-Key(i):[IP(1),Value(1),IV(1),Iv(1),iV(1),iv(1)],[IP(2),Value(2),IV(2),Iv(2),iV(2),iv(2)],…,[IP(j),Value(j),IV(j),Iv(j),iV(j),iv(j)]进行数据梳理;其中,i为Host-Key组合的标志号,j为对应各Host-Key组合下具体的IP数量。上述公式尤其适用于针对IP分析出可替代所述IP作为设备或者用户标识的ID。
在步骤402中,IP相同且Host-Key相同,统计Value值相同的个数赋值给IV。
在步骤403中,IP不同且Host-Key相同,统计Value值相同的个数赋值给iV。
在步骤404中,IP相同且Host-Key相同,统计Value值不同的个数赋值给Iv。
在步骤405中,IP不同且Host-Key相同,统计Value值不同的个数赋值给iv。
在步骤406中,IV、Iv、iV、iv计数进行运算后筛选出最终ID。
实施例3:
本发明实施例,进一步针对实施例1中所提出的ID发现方法,做不同角度的实例测试和验证。具体如下:
针对实施例1中步骤203中“根据每一组Host-Key的得分”后,进一步的按iv降序排列,可以选出出现频次高的ID,它们在一定程度上反映覆盖网络用户的情况,既应用时的覆盖度或者效果。我们先选出传统ID(IMEI,MAC,IP,IDFA,IMSI等知其意义的ID),再对剩余的进行人为判别得到所有的ID。
传统ID的不完全Key列表:
'imei','imsi','uuid','idfa','idfv','deviceid','androidid','mac','ip','userid','user_id','uid','token','phone','phone_num','openudid','deviceId','device_id','android_id','_mac','_imei','username','userip','userId','user','uniqueId','uname','uin','udid','ucid','tk','suuid','suid','signature','sign','openid','openUDID','nickname','model','mobile','mid','macid','macaddress','mac_address','dviceid','device_type','device_type','device','dev_id','d_model','cuid','cpu','clientid','client_userid','_device','_androidId','UID'
(1)GET类型数据的分析
在Uri ID列表中,对iv大于50的ID,先选出所有的传统ID如MAC地址、IMEI号等(传统ID里也可根据计数器的情况,判断出假ID的情况,既其值并非真如Key名所示)。非传统ID的筛选思想:iv值要大,IV值要大,iV值越小越好,Iv值越小越好,IvAll与iv相差要大,这样再结合Host、Key名称和Value形式等综合选出非传统ID。
iv越大代表检出率越高,IV越大在采样时间内采集到的概率越大,所以把得到的uri_get终表里这个两个值最大的两个ID作为代表来进行分析:
方式一、iv最大的ID:
图4是原表(包含所有ID的列表)排名靠前的部分ID截图。图5是uri_get终表(包含所选出uri_get ID的列表)排名前3的ID截图。
在uri_get终表(图5)排名第1的ID在原表(图4)排名第8。为验证我们测试时使用iOS系统手机对爱奇艺APP抓包大约5分钟,在该完整pcap包中,域名为“t7z.cupid.iqiyi.com”Key为“f”的ID,其值总等于域名为“t7z.cupid.iqiyi.com”Key为“idfa”的ID的值(如图6和图7所示),这说明每个设备产生的“f”值唯一,此时Iv值即为某个IP下共享设备的台数,IvAll值即所有IP下发生设备共享上网的IP个数。若“f”的值在每个设备上不唯一,即存在多值,那么Iv就不能代表该IP下共享的设备台数,并且观察发现,这种情况下其Iv值往往会比较大,图4中前7个ID即可说明。
统计发现域名“t7z.cupid.iqiyi.com”共出现75次,“idfa”出现20次,“f”出现50次,即说明“f”这种ID的检测率大于“idfa”,并且在原表中“idfa”排名为73(“f”排第8),如图8:
Key为“f”时其iv值为10597,而“idfa”的iv值为1884,可以得出“f”的检测率约为“idfa”的6倍;Key为“f”时其IvAll值为2988,为“idfa”时其IvAll值为99,可以得出“f”的共享检测率约为“idfa”的30倍。因此从整体来看,仅使用传统ID其检测范围会比较狭隘,检测力度不够,增加了非传统ID后其检测率会提高很多。在原表(图4)中,排名10和11的“kp”和“g”,在数据包中发现其值也等于“idfa”的值,这两个ID在uri_get终表(图5)中排名分别为2和3。这恰好体现了非传统ID的覆盖更广。
另外,原表前7个ID(图4)不可用的原因:排名前2的两个ID的IV值相对太小,Iv值却很大;前3个和第6、7个的Iv值太大,即说明该ID在同一个IP内出现的值不断变化;第3个和第6个ID的iV值很大,即不同IP出现相同值太多(某些Key例如设备型号虽然,iV也会大,但是仍可以一定程度做为ID使用)。并且从Key的名称上大致可以得出“ri”是一个随机数,“lgt”表示经度,“ltt”代表纬度等,这些Key具有随机性,无法对应出一个设备。
方式二、IV最大的ID:
Host为“cache.video.iqiyi.com”Key为“k_uid”的ID排名14。在同样的pcap包中,该域名共出现13次,“k_uid”也出现13次,即只要出现这个Host就会出现这个Key,所以其IV值比较大也是合理的,这样在有限的采样时间内采集到这个Key的概率也是比较大的。需要注意,“k_uid”也不是传统ID,在此也体现了我们选出非传统ID的优势。“k_uid”的值也是“idfa”,如图10所示:
我们测试使用的设备是iOS系统,所以会有idfa这个Key,但是在图9中的值是imei号的形式,因此推断其值在安卓手机中为本机imei值。总之无论在iOS系统还是安卓系统其值都唯一。Iv为11表明某IP下有11台设备在共享,IvAll为1227表明共有1227个IP在共享设备。
最终共得到311个ID(包含传统ID和非传统ID)。同样,对iv大于97的前500个Cookie ID进行分析,得367个ID。
(2)POST类型数据的分析
选取iv大于19的前30个Uri ID分析得到24个ID,iv大于17的前30个Cookie ID分析得到30个ID。
ID表筛选公式:
由于IV是越大越好、iV越小越好、iv越大越好、IvAll越小越好,因此可以按照iv降序排序,选出topN个项。然后再根据(IV*iv)/(iV*IvAll)这个公式,算出一个Score分数,对此分数降序排序,即可筛选出topM个最优项(M<N)。
通过本发明实施例表明,在通过实施例1所述方法结合具体应用场景进行实现还,还可以适当的调整其排序策略,从而取得更优的结果。
实施例4:
如图11所示,是本发明实施例的ID发现装置的架构示意图。本实施例的ID发现装置包括一个或多个处理器21以及存储器22。其中,图11中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图11中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的ID发现方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行ID发现方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的ID发现方法,例如,执行以上描述的图1-图3所示的各个步骤。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种ID发现方法,其特征在于,设定对应IP相同情况的标识为I、对应IP不同情况的标识为i、对应Host-Key相同且Host-Key的value值相同情况的标识为V、对应Host-Key相同且Host-Key的value值不同情况的标识为v,方法包括:
将对应IP相同且Host-Key相同且Host-Key的value值相同情况的标识设定为IV;将对应IP相同且Host-Key相同且Host-Key的value值不同情况的标识设定为Iv;将对应IP不同且Host-Key相同且Host-Key的value值相同情况的标识设定为iV;将对应IP不同且Host-Key相同且Host-Key的value值不同情况的标识设定为iv;
依据IV和iv的参数值越大越优、Iv和iV的参数值越小越优的对应关系,根据对应每一组Host-Key统计的IV、iv、Iv和iV,计算每一组Host-Key的得分;
根据每一组Host-Key的得分,动态的筛选出当前数据分析场景中的ID。
2.根据权利要求1所述的ID发现方法,其特征在于,所述根据对应每一组Host-Key统计的IV、iv、Iv和iV,计算每一组Host-Key的得分,具体包括:
根据公式Score=(IV*iv)/(Iv*iV)来计算每一组Host-key的得分;或者,
根据公式Score=(IV-Iv)*(iv-iV)来计算每一组Host-key的得分;或者,
根据公式Score=(IV+iv)/(IV+iv+Iv+iV)*100来计算每一组Host-key的得分。
3.根据权利要求2所述的ID发现方法,其特征在于,所述根据每一组Host-Key的得分,动态的筛选出当前数据分析场景中的ID,具体包括:
取Host-Key计算得分位于预设第一排名值之前的Host-Key作为当前数据分析场景动态生成的ID。
4.根据权利要求3所述的ID发现方法,其特征在于,所述预设第一排名值为200-500或者排名位于总的前10%作为所述预设第一排名值。
5.根据权利要求2所述的ID发现方法,其特征在于,所述根据每一组Host-Key的得分,动态的筛选出当前数据分析场景中的ID中,具体为针对同一IP地址,需要确定相应IP地址的ID时,方法包括:
针对同一IP地址下,将对应的多个Host-Key计算得分进行排序,取其中排名位于第二预设排名之前的Host-Key作为所述IP地址对应的ID。
6.根据权利要求1所述的ID发现方法,其特征在于,在根据对应每一组Host-Key统计的IV、iv、Iv和iV,计算每一组Host-Key的得分之前,所述方法还包括:
根据所述Iv和/或iV的参数值在总的统计数量中的占比,确定相应占比是否超过第一预设阈值;
若所述Iv和/或iV在总的统计数量中的占比超过所述第一预设阈值,则跳过相应Host-Key组合的得分计算。
7.根据权利要求6所述的ID发现方法,其特征在于,若所述Iv和/或iV在总的统计数量中的占比超过所述第一预设阈值,所述方法还包括:
对于Iv在总的统计数量中的占比超过所述第一预设阈值,进一步分析IP相同情况下出现Iv情况的各Key名称;确定其中Key为用户名或者其中Key为设备MAC地址,则在日志中记录相应IP的使用主体为潜在的工作室。
8.根据权利要求1-7任一所述的ID发现方法,其特征在于,所述Host-Key中的Key包括设备MAC地址、手机号、用户名、应用ID、IMEI号、位置信息中的任意一种。
9.根据权利要求1-7任一所述的ID发现方法,其特征在于,对于获取到数据,按照统计出的Host(i)-Key(i),根据公式:
Host(i)-Key(i):[IP(1),Value(1),IV(1),Iv(1),iV(1),iv(1)],[IP(2),Value(2),IV(2),Iv(2),iV(2),iv(2)],…,[IP(j),Value(j),IV(j),Iv(j),iV(j),iv(j)]进行数据梳理;其中,i为Host-Key组合的标志号,j为对应各Host-Key组合下具体的IP数量。
10.一种ID发现装置,其特征在于,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行权利要求1-9任一所述的ID发现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911300740.6A CN111049944B (zh) | 2019-12-17 | 2019-12-17 | 一种id发现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911300740.6A CN111049944B (zh) | 2019-12-17 | 2019-12-17 | 一种id发现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111049944A CN111049944A (zh) | 2020-04-21 |
CN111049944B true CN111049944B (zh) | 2021-01-12 |
Family
ID=70236836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911300740.6A Active CN111049944B (zh) | 2019-12-17 | 2019-12-17 | 一种id发现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111049944B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8869303B2 (en) * | 2013-02-16 | 2014-10-21 | Mikhail Fleysher | Method and system for generation of dynamic password |
KR101816944B1 (ko) * | 2013-10-02 | 2018-01-09 | 엘에스산전 주식회사 | UART Ring 통신의 ID 자동 설정방법 |
CN105227352B (zh) * | 2015-09-02 | 2019-03-19 | 新浪网技术(中国)有限公司 | 一种用户标识集的更新方法及装置 |
CN108199878B (zh) * | 2017-12-29 | 2021-02-05 | 北京理工大学 | 高性能ip网络中个人标识信息识别系统及方法 |
CN109104490A (zh) * | 2018-08-29 | 2018-12-28 | 北京达佳互联信息技术有限公司 | 业务标识管理方法、装置、电子设备及存储介质 |
CN109889627B (zh) * | 2019-03-26 | 2020-08-25 | 常州索维尔电子科技有限公司 | 一种can总线节点id自动分配方法及装置 |
-
2019
- 2019-12-17 CN CN201911300740.6A patent/CN111049944B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111049944A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10332005B1 (en) | System and method for extracting signatures from controlled execution of applications and using them on traffic traces | |
CN105591973B (zh) | 应用识别方法及装置 | |
US11196670B2 (en) | System and method for identifying devices behind network address translators | |
CN110839017B (zh) | 代理ip地址识别方法、装置、电子设备及存储介质 | |
CN111028085A (zh) | 一种基于主被动结合的网络靶场资产信息采集方法及装置 | |
Choi et al. | Automated classifier generation for application-level mobile traffic identification | |
CN113923003A (zh) | 一种攻击者画像生成方法、系统、设备以及介质 | |
CN108989881A (zh) | 一种主播状态确定方法及装置 | |
CN111106980B (zh) | 一种带宽捆绑检测方法和装置 | |
US10419351B1 (en) | System and method for extracting signatures from controlled execution of applications and application codes retrieved from an application source | |
US11050629B2 (en) | Fingerprint determination for network mapping | |
CN113098852A (zh) | 一种日志处理方法及装置 | |
CN111049944B (zh) | 一种id发现方法和装置 | |
Cukier et al. | A statistical analysis of attack data to separate attacks | |
CN111079044B (zh) | 一种共享检测方法和装置 | |
US20230273935A1 (en) | System and method for social media forensics | |
CN110995887B (zh) | 一种id关联方法和装置 | |
US10237287B1 (en) | System and method for detecting a malicious activity in a computing environment | |
CN111163184B (zh) | 一种报文特征的提取方法和装置 | |
CN117041070B (zh) | 一种网络空间测绘节点发现与归属判别方法和装置 | |
Schäfer et al. | A Pipeline for DNS-Based Software Fingerprinting | |
CN107124390B (zh) | 计算设备的安全防御、实现方法、装置及系统 | |
CN114070581B (zh) | 域名系统隐藏信道的检测方法及装置 | |
Kostas et al. | Externally validating the IoTDevID device identification methodology using the CIC IoT 2022 Dataset | |
Levy | IoT or NoT Identifying IoT Devices in a Short Time Scale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |