2019年1月,拼多多平臺出現系統漏洞,使用者可免費領取100元無門檻券。一夥“羊毛黨”伺機而動,一夜之間薅走近千萬元。實際上,“羊毛黨”無處不在,從雷軍直播間的優惠產品、滴滴叫車券到北京消費券……一切有利可圖的線上活動都不幸成為黑灰產的攻擊目標。
除了“惡意薅毛”之外,在技術加持下,黑灰產變現方式甚多,例如植入軟體暗釦話費、惡意推送廣告流量變現、手機App分發惡意軟體、透過手機木馬刷量、實施勒索病毒攻擊、採用DDoS攻擊等。
一項統計顯示,國內網路黑灰產上下游從業者超過160萬人,每年產值超過1000億元,從傳統的銀行、保險公司、電商平臺再到網約車App,都成為他們攻擊的物件。
隨著風控手段升級,普通人很難薅到羊毛,“羊毛黨”往往是一個專業的犯罪團伙。黑灰產們利用技術漏洞進行高科技犯罪、遊走在欺詐和盜竊邊緣。為了獲得巨大的經濟利益,黑灰產黨必須突破重重安全監控重點,例如,裝置ID標識、手機號(電話卡ID標識)、身份證、銀行卡,等等。本文針對裝置ID標識進行講解:黑灰產們如何突破?企業如何進行反制?
一、刷機改ID
在拉新、新人註冊活動時,市面上的主流APP通常會採集一些裝置資訊,環境資訊,用於標識裝置安全或者精準廣告推送,由此產生了裝置ID標識。裝置ID標識主要用來識別異裝置登入,是必不可少的安全環節。不法份子為了從新人或者帳號倒賣中獲取暴利,就必須繞過這一標識,從而誕生了改機技術。
改機主要分為兩大類,一種是軟改,另一種硬改。軟改基於Xposed、VirtualApp等。硬改主要是透過修改Android系統原始碼,在真正呼叫獲取裝置ID的函式口進行替換,或者是基於某手機維修軟體進行直接的標識替換。
軟改由於特徵較為明顯,並且手機必須要Root,相對來說比較容易在應用層就可以發掘到環境異常,因而黑灰產逐漸就轉向了ROM硬改。硬改相對於軟體改機來說,相容性穩定性會更高,只需要在特定手機上刷入定製的ROM即可以用來改機,並且可以在定製ROM時為特定應用開啟Root許可權,因此ROM中會很難發現當前裝置是已經被Root過了。
二、硬改機技術原理
通常我們會使用如下函式獲取相關的裝置ID表示:
TelephonyManager.getDeviceId()
Secure.getString(resolver,"android_id")
WifiInfo.getMacAddress()
其中某硬改ROM的TelephonyManager.getDeviceId邏輯如下:
一般的軟改工具往往會Hook該處邏輯實現修改返回值,但此處其實並沒有任何的改動,和官方程式碼一致。getDeviceId的獲取會經過Binder呼叫後才會真正的獲取到IMEI的資訊,如下:
這裡的呼叫會返回特定的屬性值sh.imei,而並非原始的imei資訊,因而我們的資訊採集無論如何也無法獲取到真正的imei資訊,跟蹤sh.imei的生成發現:
由於imei的串碼在沒有裝置資料庫的情況下也是可以透過最後一位進行簡單的合法性校驗,IMEI校驗碼演算法如下:
(1).將偶數位數字分別乘以2,分別計算個位數和十位數之和
(2).將奇數位數字相加,再加上上一步算得的值
(3).如果得出的數個位是0則校驗位為0,否則為10減去個位數如:35 89 0180 69 72 41 偶數位乘以2得到5*2=109*2=18 1*2=02 0*2=00 9*2=18 2*2=04 1*2=02,計算奇數位數字之和和偶數位個位十位之和,得到3+(1+0)+8+(1+8)+0+(0+2)+8+(0+0)+6+(1+8)+7+(0+4)+4+(0+2)=63 => 校驗位 10-3 = 7
由於硬改ROM的出現導致獲取真實的裝置資訊越來越困難,我們需要透過更加底層的形式來進行資訊採集,必要的時候會直接進行系統呼叫來繞過上層的部分邏輯修改。
如此測試後,發現我們在幾個硬改ROM中依然可以獲取到一些有用的原始裝置標識資訊。
三、ROM改機的應用
1.透過雲端伺服器拉取有效的真機型號資訊
2.指令碼化操控,批次改機
3.支援資料全息備份,還原A透過指令碼改機批次註冊了某APP的賬號,並透過全息備份後將資料打包轉賣給B,B透過資料還原將A的裝置資訊恢復,實現一次完全無感知的更換裝置。
四、ROM改機的檢測與對抗
由於ROM改機的特點,常規的檢測手段將無法檢測出當前的環境異常,因此我們更多的會把目光放在資料層面。透過大資料和特徵的挖掘,我們可以發現ROM改機明顯區別於真機的層面,並透過對改機ROM的逆向分析和本地的環境、裝置資訊挖掘,做到對ROM改機的有效相容,同時我們會對相關技術進行快速升級。
不過,與黑灰產的對抗是一個漫長的持續過程。聯合各方攜手共治黑灰產,持續打擊“惡意薅毛”行徑,也是易盾努力的方向。
(作者:湯庸)