如何構建一個反電信網路詐騙基礎模型
* 原創作者:西角邊的MR,本文屬FreeBuf原創獎勵計劃,轉載請註明來自FreeBuf.COM
網路詐騙,電信詐騙層出不窮,花樣翻新,防不勝防,傷害普通百姓利益。本文通過對目前社會上關於網路電信詐騙新聞進行提取,從中分析當前網路詐騙發展趨勢和關鍵因素,進而構建合理的反詐騙模型。
1、對關鍵詞分析
爬蟲獲取了網站關於電信詐騙的新聞。
其中keyword是通過jieba對文本進行分詞得到的。對於關鍵詞的分析主要從兩個方面考慮,一個是關鍵詞之間是否有詐騙邏輯,第二是對具有詐騙邏輯的關鍵詞進一步分析,分為消極辭彙(例如你被法院傳訊了)和積極辭彙(例如你又雙叒叕成為幸運觀眾了),這兩種辭彙在詐騙中對受害者產生的心理影響是不同的。
1、首先筆者構建一個詞語出現的頻率表(指標矩陣)。
由於爬蟲爬取的時間格式具體到秒,要以天為單位進行的關鍵詞統計,實現方法是以時間為索引構建時間和關鍵詞詞典。
時間和關鍵詞的指標矩陣如上圖所示,並將它存為csv文件以便後續處理。
通過構建指標矩陣可以大致得知這些關鍵詞出現的日期和頻率,為後期構建關鍵詞片語打下基礎。
2、對於關鍵詞分析
接下來用pandas讀取上述csv文件,獲得一個Dataframe類型的變數來處理。
假設對於同一天出現在同一篇文章的關鍵詞具有相關性。
Dataframe里有自定義的函數corr可以求得每個column之間的相關係數,經過index轉換後得到一張相關性係數表。
經過計算後,筆者發現這裡面的相關性係數有正有負,當相關性係數大於0時,可以認為這個片語存在詐騙邏輯。
對於變數大於0的情況,還要進一步分類,計算它們的情感態度值。通過查閱資料,筆者發現需要許多數據才能構成一張情感態度分值表,所以筆者使用了現成的snowNLP的工具包來獲得其態度值,並以0.5為界限進行積極和消極分類,可視化展示如下:
以csv的形式存儲獲取的數據,這個比例以後會用於計算詐騙概率。
從中我們便獲取了具有假設網路詐騙邏輯的片語。
2、關鍵詞是否具有相關性
對於用於判斷新的文本中提取出來的關鍵詞是否具有電信網路詐騙的相關性,我們可以嘗試如下方法
1、概率計算
對關鍵詞的相關性統計如下:
從圖中可以知道大部分詞語之間都是不能構成詐騙邏輯,在0.5,0.75和1左右只有很少一部分詞語。如果數據量夠大的話或許可以採用這種方法。所以並不建議使用此類方法。
2、分類方法
對於獲取的片語,可以分為有相關性(>0)和沒有相關性的(<0)兩類,構建為機器學習樣本({word1:value,word2:value,word3:value},class:value)。然後將樣本分為訓練集和測試集。這裡筆者分別使用了樸素貝葉斯的方法和決策樹的方法並進行了比較。這個分類器可以自己嘗試寫,也可以使用nltk里的自帶函數來處理。
構建的樣本代碼如上圖。
上圖是使用bayes和tree進行分類,並計算準確度。
從圖中發現訓練集和測試集按照4:1進行分類時,使用bayes的精確度最為合適。
從中可以對新提取的關鍵詞來判斷是否具有相關性,而這個相關性也就是指符合電信網路詐騙的邏輯思維。對於具有這種相關性的新片語,可以繼續對片語的情感態度進行進一步分類。
3、詐騙出現時間特點
網路電信詐騙中,時間因素也是一個很重要的參量。
一般節假日是案件的高發期,所以計算詐騙概率的時候要結合時間因素。怎樣對時間採樣可以獲得一個比較準確的概率預測?這裡筆者採用了以季度為單位和以月份為單位的預測模型。
筆者首先統計出這些新聞出現的大致變化趨勢,新聞能從一定程度上反映當前社會對於詐騙案件的關注程度。
橙黃色表示的是當日對網路電信詐騙新聞的報道篇數,紅色表示一周左右的一個移動平均數,灰色是移動平均標準差。從中大致可以看出電信網路詐騙的出現頻率大致上是隨某一熱度時間出現。
為了能夠更好的分別熱度出現的時間閾值,筆者對時間進行按月統計和按季度統計。
這是以月份為採樣的統計,並進行了擬合後的結果。從中分析電信網路案件在1月,9月呈現高發態勢。
這是以季度為採樣的統計,並進行了擬合。從圖中大概可以看出一般在每年的四季度到下一年的一季度,每年的暑假到開學這季度,電信網路詐騙案件呈現高發態勢。
為了能夠準確統計詐騙隨時間變化的趨勢,筆者使用類似決策樹演算法的方法來計算兩種採樣頻率的信息熵。
這是兩種採樣對於不同階數的擬合誤差,如下圖所示:
以月份為採樣,對於不同階數的擬合誤差。
以季度為採樣,對於不同階數的擬合誤差。
經過決策計算後,以季度為採樣頻率的計算反映詐騙隨時間變化的趨勢更為準確。當然擬合曲線是否具有預測性還等待確定。不過目前一個可行的方法就是以季度為採樣,統計各個季度的出現頻率並使用回歸模型預測(這裡也試用過ARIMA模型,但是並沒有將這個劃歸為平穩曲線,所以目前這只能這樣做)。
4、結論
1、電信網路詐騙中,更趨向於使用一些積極辭彙,例如中獎等信息來對用戶實施詐騙。
2、電信網路詐騙的大致發展趨勢是上一年的最後季度和年初的第一季度,從中可以大致得出其主要是利用了受害者在過年時放鬆警惕,易輕信他人的特點。
3、每年的開學季也是電信網路詐騙的一個次要高峰期,這一階段的主要對象是學生群體,利用家長,學生的求學的心理來針對性的實施詐騙。
5、總結
通過對於關鍵詞和時間序列的分析,在構建網路及電信詐騙模型的時候,我們要綜合考慮一下幾點:
1、從文章中提取的關鍵詞要進行相關性分類和情感態度分類。相關性分類是為了獲取具有詐騙邏輯的關鍵片語,情感態度分類是為了對具有詐騙邏輯片語的詞語進行積極和消極分類。
2、對於新出現的片語判斷是否具有相關性可以利用已有的相關性辭彙表,構建訓練集組成機器學習模型。
3、對於時間因素來說,要選擇合適的時間採樣頻率。實現方法是以不同的時間間隔,計算相應時間間隔內新聞出現的頻率,計算不同時間間隔的信息熵並進行比較,最終選擇出對應信息熵較低的時間頻率。
當然我們同時也要不斷提高自己的防範意識,不輕信,不貪佔小便宜,對自己的財產安全負責。
* 原創作者:西角邊的MR,本文屬FreeBuf原創獎勵計劃,轉載請註明來自FreeBuf.COM
※漏洞預警 | Windows系統惡意軟體防護引擎曝嚴重遠程代碼執行漏洞(CVE-2017-0290)
※攻擊者利用7號信令(SS7)中的漏洞從德國銀行偷取錢財
※Shodan新工具發布:木馬惡意軟體C&C伺服器搜索引擎
TAG:FreeBuf |
※如何識別和防範網路、電話詐騙?
※黑科技打造反詐騙「防彈衣」,夢網發布「反通信詐騙」溯源公益平台
※區塊鏈技術可以用來對抗網路詐騙
※網友爆料:臨汾出現一種新型網路詐騙、主要針對男性!
※二維碼成網路詐騙「新武器」
※普通人如何避開網路金融詐騙的巨坑?
※「網路詐騙」 臨高偵破跨境網路詐騙案 虛假出售遊戲裝備
※如何去對待網路詐騙?
※大病眾籌會成為下一個「網路詐騙」工具嗎?
※因為一次網路貸款,引起的詐騙
※謹防冒充網路購物客服詐騙「套路」
※奉賢警方偵破一起網路詐騙案件
※關於利用網路微商實施詐騙的案件高發
※夢網科技發布「反通信詐騙」溯源公益平台
※頭條:網路騙子利用Chrome漏洞實施技術型詐騙
※P2P跑路、「原始股」成災 網路金融詐騙如何防範?
※互聯網時代的網路詐騙傳播
※為打賞網路主播 這位女子「變性」大肆詐騙
※浙江摧毀一網路交友詐騙團伙
※礬山開展防範通訊網路詐騙宣傳 築起全民反詐騙防線