杜剛,朱艷云,張晨,杜雪濤
(中國移動通信集團設計院有限公司,北京 100080)
貓池是一種可同時支持多張手機卡的通信設備,當中的卡槽數量從8~2 048個不等;用戶將手機卡插入卡槽之后,可以通過電腦進行批量操作??梢哉f,貓池類似于一個多卡多待的手機。貓池廣泛應用于大量具有多用戶遠程聯網需求的單位或需要向從多用戶提供電話撥號聯網服務的單位。如郵電局、稅務局、海關、銀行、證券商、各類交易所、期貨經紀公司、工商局、各類信息呼叫中心等。但貓池也會被濫用,一些組織會用貓池騙貸、薅羊毛、群發垃圾短信、撥打騷擾電話,與之伴隨的則是所謂的“收卡”與“養卡”業務。
本文提出了一種基于文本主題模型的貓池識別算法,通過對海量撥打日志進行聚類分析,能夠有效的發現貓池通信行為,從而幫助分析人員對貓池是否遭到濫用進行進一步分析。
一段時間內,一組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算法需要人為設定主題數量參數,我們通常無法預知數據的分布情況,該參數僅能憑經驗設定。這就導致該模型并不能識別網絡中所有的貓池行為。識別出的貓池行為通常為網絡中最顯著的。一些不夠顯著的貓池行為將被忽略。未來可以思考新的算法,來修補該模型的這一弊端。