杜刚,朱艳云,张晨,杜雪涛
(中国移动通信集团设计院有限公司,北京 100080)
猫池是一种可同时支持多张手机卡的通信设备,当中的卡槽数量从8~2 048个不等;用户将手机卡插入卡槽之后,可以通过电脑进行批量操作。可以说,猫池类似于一个多卡多待的手机。猫池广泛应用于大量具有多用户远程联网需求的单位或需要向从多用户提供电话拨号联网服务的单位。如邮电局、税务局、海关、银行、证券商、各类交易所、期货经纪公司、工商局、各类信息呼叫中心等。但猫池也会被滥用,一些组织会用猫池骗贷、薅羊毛、群发垃圾短信、拨打骚扰电话,与之伴随的则是所谓的“收卡”与“养卡”业务。
本文提出了一种基于文本主题模型的猫池识别算法,通过对海量拨打日志进行聚类分析,能够有效的发现猫池通信行为,从而帮助分析人员对猫池是否遭到滥用进行进一步分析。
一段时间内,一组IMEI号码总是同时在线:猫池活动最大的特征就是群体行动。通常会有一组特定的IMEI号码经常重复性的在某个地区内产生通信行为。同一个猫池设备的IMEI号相近:同一个猫池设备的IMEI号通常具有相同的开头,如开头8~10位相同。当然,若猫池的IMEI号被非法篡改,则该特征将失效。本文不考虑IMEI号被篡改的情况。滥用猫池的行为还可能具有更多的特征,如频繁换卡等,这些特征识别起来简单直接,但都要以上面的两个特征为基础。故本文先重点探讨如何从海量通信日志中挖掘出具有这两个特征的IMEI号码组,再分析猫池是否为滥用。
活动跨小区:虽然猫池的位置不轻易发生改变,但其在线时可能存在于不同的邻近的LAC+CI之中。即其活动可能跨小区。IMEI不唯一:由于刷机可以修改设备的IMEI号码,故两台不同的设备可能存在相同的IMEI号码。不能用IMEI号码来唯一确定一台设备,需要与其出现的小区、出现的时间为判断依据。综合如上两点,在判定一组同时出现的号码组时,算法会收到噪音的干扰,当不属于该号码组的设备使用了相同的IMEI号,但在号码组没有出现的时候,则会令算法认为该号码不属于号码组。因此,算法对设备之间的共同出现不能设定硬标准,应该使用基于概率的软标准,即一组IMEI之间共同出现的概率较高。主题模型是一种概率模型,可以很好的满足要求。
主题模型是一类概率生成模型,其通过构建文档集的生成过程,来实现对文档隐藏主题的建模和聚类。相关的模型有LSI、PLSI和LDA。其中最成熟的主题模型为LDA。LDA主题模型是一种概率图模型,其形式如图1所示。LDA描述了基于潜在主题生成文档中词的概率抽样过程,其模型由参数(α,β)确定。其中α描述了文档集合中隐含主题分布的随机性,β刻画所有隐含主题在词上的分布的随机性。
图1 LDA图模型
LDA生成文档的过程如下:
对于每个主题t,由Dirichlet(β)分布,得到该主题上的一个词多项式分布φ(t)。
对于每个文档d,由Dirichlet(α)分布,得到该文档上的一个主题多项式分布θd。
对于每个文档中的每个词wi:
从主题多项式分布θd抽取一个主题t。
从主题上的词多项式分布φ(t)抽取一个单词作为wi。
通过输入大量文档集到模型中,LDA可以实现数据的降维。将高维的词分布向量降维成主题分布向量。其中主题分布向量又揭示了每个主题的用词特点,即词语在特定主题下的词语共现规律。在不同的主题下,会有不同的词语分布特征。如在体育这个主题下,足球和篮球更可能同时出现。而在其它主题下,二者没有明显的关联。
本文的创新性在于将一组IMEI共同产生通信行为的问题映射为主题模型中一组词语共同出现的问题。将一个小区(LAC+CI)出现的所有IMEI号码看作是一篇文档,将IMEI号码映射为文档中的词。而一组经常共同出现的IMEI号码映射为一组词的强关联,即一个主题下的很强的用词规律。一个主题可能包含若干个用词规律。故主题中可能包含了多个猫池的号码组。
搜集所有LAC+CI下IMEI出现的信息,并形成文档集合输入到LDA模型中,通过聚类推理,可以得到若干主题分布。取这些主题概率分布中排名TopN的IMEI号码,形成号码列表。最后,从号码列表中找出所有IMEI相近的IMEI号码组,从而找出共同出现概率较高的号码组。
猫池的滥用行为大体可以分为两种,一种是养卡行为,一种是骚扰行为。
由于猫池的养卡行为完全属于正常的通信行为,所以从通信行为上很难进行识别。但在猫池内部的养卡行为是可以被识别的。换言之,养卡人用猫池中的手机号相互之间进行通信,在话单上体现为一组IMEI设备相互之间产生通话行为。具体算法如下。
(1)获取一天内一个IMEI号码组的所有通信记录。
(2)将作为通信记录中主叫的IMEI形成一个主叫集合M,将作为被叫的IMEI形成被叫集合N。
(3)计算θ=|M∩N|/|M∪N|,其中|M∩N|代表M与N的交集的大小,|M∪N|为M与N的并集的大小。
(4)当θ大于0.5,则可认为该猫池主要中的号码在互相产生通信行为。
同时,为了进一步排除掉可能正常的通信行为,可以通过查询IMEIdb,来检验IMEI的合法性。全球每部通过正规渠道销售的GSM手机均有唯一的IMEI码。IMEI码由GSMA协会统一规划,并授权各地区组织进行分配,相关信息可以在互联网上查询。若IMEI的查询结果为非法、未使用等。则更有可能是猫池的养卡行为。
猫池另一种滥用行为是骚扰行为,体现在话单上为一组IMEI号码所绑定的手机号被判定为疑似骚扰电话,如在360、搜狗等安全软件中判定为骚扰电话、响一声、诈骗电话、广告推销等。具体算法如下。
(1)获取IMEI号码组所绑定的所有手机号码,形成手机号码集合。
(2)使用网络爬虫对手机号码集合中的手机号进行互联网标记爬取。
(3)若存在标记,且标记次数超过10次,则为IMEI打上标记。
(4) 若手机号码集合中超过半数的手机号都有标记,则判定该IMEI号码组存在滥用行为。
图2 养卡行为示意图
本文对某城市一天的通信记录进行分析,涉及78万个小区,100万个IMEI。使用本算法进行LDA聚类。其中主题个数取20个,每个主题取概率分布Top100的号码。并定义IMEI的前8位号码相等则IMEI相似。最终得到了13个IMEI号码组。通过反查13组号码的通讯记录,发现这些号码确实总是几乎同时发起通信行为。通过互联网标记信息,最终确定了4组号码存在疑似滥用行为。
图2列出了具有养卡行为的猫池活动示例(图中所示的IMEI号均为非法IMEI)。
一个节点代表猫池中的一个IMEI号码,箭头的起点为呼叫发起方,箭头的终点为被呼叫方。
表1 存在骚扰性质的猫池滥用行为
表1列出了具有骚扰行为的猫池活动示例,可见该组IMEI所绑定的手机号均被标记为骚扰电话、房产中介或广告推销(标记使用360搜索得到)。
本文提出的基于主题模型的猫池滥用行为识别算法能够同时从时间和空间对号码的通信行为进行建模,找到经常同一时间和同一地点共同出现的一组号码,从而确定疑似的猫池行为。并根据诸多非法猫池的特征进一步确定猫池滥用的行为。实验证明,该方法可以有效的从海量数据中识别出猫池滥用的行为,通过第三方验证,可以看出猫池所使用的号码确实从事骚扰电话等非法活动。
当然,由于LDA算法需要人为设定主题数量参数,我们通常无法预知数据的分布情况,该参数仅能凭经验设定。这就导致该模型并不能识别网络中所有的猫池行为。识别出的猫池行为通常为网络中最显著的。一些不够显著的猫池行为将被忽略。未来可以思考新的算法,来修补该模型的这一弊端。