知物由學 | iOS裝置指紋的前世今生

網易易盾發表於2020-11-27

從暗釦話費、廣告流量變現、手機應用分發,到木馬刷量、勒索病毒、控制肉雞挖礦,網路黑產無處不在,而“薅羊毛”正是黑灰產的重要盈利模式之一。

“薅上一天,夠吃一年。”這句“羊毛黨”中流行的口頭禪,讓各大電商平臺瑟瑟發抖。每當電商平臺使用優惠券、現金獎勵、紅包獎勵等優惠手段來拉新或者促銷時,黑灰產就會透過批次註冊、批次登入等方式薅走獎勵;一些網店賣家為了提高網店排名和信用度,透過刷單的方式來提高銷量以及填寫虛假好評;另外,一些比賽活動的點贊、排名等,也可透過刷單來作弊。

知物由學 | iOS裝置指紋的前世今生

雖然,產品本身也會對這些作弊手段新增一定的限制條件,比如IP、裝置ID、手機號等,甚至還增加驗證碼的方式,但這些都能被黑灰產輕鬆繞過。

1)IP限制

開個代理或者使用網路加速器,實現IP的動態切換,規避產品的限制策略。

2)裝置限制

改機工具,使用“一鍵新機”功能,讓該裝置完成變成了一臺全新的裝置。

3)地理限制

改機工具,也能輕鬆實現虛擬定位功能,使獲取的位置資訊每次都是不一樣的。配合“一鍵新機”,真正模擬了一個真實使用者。

4)驗證碼打碼平臺

基於人工智慧深度學習技術,準確識別文字、圖片等驗證碼,實現自動打碼能力。

所以,一套穩定的裝置指紋系統,對反作弊、風控等場景來說,顯得越來越重要!

一、iOS裝置指紋歷史變遷

1)UDID

UDID的全稱是Unique Device Identifier,它是蘋果iOS裝置的唯一識別碼,由40位16進位制數的字母和數字組成。iOS 2.0版本開始,系統提供了獲取裝置唯一識別符號的方法uniqueIdentifier,透過該方法我們可以獲取裝置的序列號。

但是,許多開發者把UDID跟使用者的真實姓名、密碼、住址等資料關聯起來;網路窺探者也會從多個應用收集這些資料,然後順藤摸瓜得到這個人的許多隱私資料;並且大部分應用也在頻繁傳輸UDID和私人資訊。所以,從IOS5.0開始,蘋果禁用了該方法。

2)OpenUDID

當UDID不可用後,OpenUDID成為了當時使用最廣泛的開源UDID替代方案。

OpenUDID利用了一個非常巧妙的方法來確保不同程式間的裝置ID唯一,那就是在貼上板中用一個特殊的名稱來儲存該裝置標示符。透過這種方法,使用了OpenUDID的其他App,知道去什麼地方獲取已經生成的標示符,這樣就保證了不同App間裝置ID的共享。

但是,如果把使用了OpenUDID方案的App全部刪除,再重新獲取OpenUDID,此時的OpenUDID就傳送了變化,也無法保證穩定性。

同時,iOS7增加了對剪貼簿的限制,導致同一個裝置上不同App間,無法再共享同一個OpenUDID,這也導致該方案逐漸被拋棄。

3)MAC

MAC地址在網路上用來區分裝置的唯一性,接入網路的裝置都有一個MAC地址,他們肯定都是不同的,是唯一的。

而MAC地址跟UDID一樣,存在隱私問題,從iOS7開始,如果請求Mac地址都會返回一個固定值,所以也就不能作為裝置唯一標識了。

4)IDFV

IDFV:Identifier for Vendor。它是Vendor標示符,是給Vendor標識使用者用的,每個裝置在所屬同一個Vender的應用裡,都有相同的值。

在同一個裝置上不同的 vendor 下的應用獲取到的 IDFV 是不一樣的,而同一個 vendor 下的不同應用獲取的 IDFV 都是一樣的。但如果使用者刪除了這個 vendor 的所有應用,再重新安裝它們,IDFV 就會被重置,和之前的不一樣,所以,也不能確保裝置指紋的唯一性。

5)IDFA

廣告標示符,是從iOS6開始提供的一個方法:advertisingIdentifier。在同一個裝置上的所有App都會取到相同的值,是蘋果專門給各廣告提供商用來追蹤使用者而設的。

但在下面的情況下,會重新生成廣告標示符,依然無法保證裝置指紋唯一:

一是,重置系統(設定 -> 通用 -> 還原 -> 抹掉所有內容和設定)

二是,重置廣告識別符號(設定 -> 隱私 -> 廣告 -> 還原廣告識別符號)

特別是,從iOS14開始,需要先請求跟蹤許可權,使用者同意後才能獲取到廣告識別符號。如果使用者不同意的話,是不能獲取IDFA的。

知物由學 | iOS裝置指紋的前世今生

其實,不管是UDID、MAC,還是IDFV、IDFA,就算能夠一直毫無限制的使用並保持所謂的穩定,越獄的裝置仍然可以透過改機工具來修改裝置的UDID、MAC、IDFV、IDFA等值,這些值也是不能確保裝置指紋的穩定性。所以,提供一套更加完善、穩定、精準的解決方案,才是裝置指紋新的方向。

二、iOS裝置指紋易盾方案

易盾裝置指紋方案,跟隨著Apple政策變化、iOS版本升級,不斷的進行著最佳化迭代。由最開始的純客戶端模式,發展為更加有效的服務端模式。

透過採集硬體層、軟體層、網路層等各類資訊,基於自身特定的演算法方案,結合多年裝置積累和資料沉澱,生成穩定且唯一的裝置指紋,不易篡改,方便易用。

即使同一個裝置透過一定手段,篡改了某些資訊,我們透過豐富的裝置庫,使用特定的找回演算法,仍然也能定位到原始的裝置。

同時,裝置指紋還包含對各類環境風險的識別,比如:模擬器、雲真機、作弊工具、越獄、多開、代理、除錯、注入、HOOK等各類作弊行為,這些都可作為風控策略的重要參考。

易盾裝置指紋方案特性:

基於生成演算法和找回功能,保證裝置指紋的唯一性

基於生成演算法和匹配規則,保證裝置指紋無碰撞

不受系統升級、App升級、App重灌等影響

不受改機工具的影響

全面的環境風險識別能力

三、總結

易盾裝置指紋, 透過海量裝置指紋庫和獨特的找回演算法,有效識別裝置篡改等作弊行為,甄別模擬器、雲真機等造假手段,定位各類環境風險,識別應用註冊、登陸、簽到以及其它後續行為中的作弊風險,有效防範羊毛黨、惡意刷單等虛假欺詐行為,讓造假者無處遁形。

易盾透過多年技術深耕,在iOS裝置指紋方面有著諸多積累,具備了客戶端、伺服器端兩種方式並存的模式,並且在相容性、有效性、便捷性等方面已經具有相當的優勢,為應用反作弊、資料風控提供有效的安全保護。


相關文章