上次咱們着重介紹了反欺詐的一項核心技術:特徵工程。 在反欺詐的技術金字塔中,特徵工程起着承上啓下的做用。而居於特徵工程的下一層的是基座層:數據。在機器學習裏,你們有一個共識,高質量、相關的數據決定模型預測能力的上限,模型只是去逼近這個上限。數據就像原油,好的特徵就像汽油,而模型就是引擎,三者缺一不可。做爲基座層的數據層的一個重要組成部分是設備終端和網絡風險,Gartner的經典五層模型一樣將其列爲最基礎的數據。今天咱們就來探討一下處於這一層的設備指紋以及由此衍生出來的設備風險識別。算法
背景數據庫
自蘋果公司推出iPhone智能手機以來,以智能終端爲表明的技術浪潮已將整個世界帶入了移動互聯的時代。移動互聯網在擴展互聯網的應用範圍與場景、創造更多的業務機會的同時,其以移動App爲核心的生態特色,也給廣大的互聯網企業帶來了新的挑戰。不一樣於傳統互聯網,與我的緊密綁定的智能手機更難追蹤。在推廣的效果追蹤、業務防欺詐、運營效果評估等領域,企業迫切須要一種新的設備識別與追蹤技術,來區分有價值的用戶、惡意用戶甚至是欺詐團伙,以保護企業資產,並最大程度的提升市場推廣與業務運營的ROI。瀏覽器
傳統的設備識別技術服務器
自PC互聯網時代起,設備識別就是互聯網用戶追蹤的重要手段。傳統的設備識別技術主要包括:IP地址、cookie以及移動互聯網特有的設備ID:cookie
Ø IP地址是最先出現的設備標識方案。由於其簡單易用,直到如今仍然普遍使用。可是因爲網絡中存在大量以一個公網IP做爲出口的局域內網,以及移動網絡中的動態IP分配技術,使得IP地址做爲設備標識的分辨率和準確度大爲降低。網絡
Ø Cookie技術一樣出現於90年代的互聯網早期,在Web領域普遍應用於對設備的識別與標識。可是由於Cookie採用一種用戶數據本地存儲的實現方式,惡意用戶能夠經過清除本地數據的方式來輕易的逃避檢測,因此其應用範圍受到很大的限制。同時,因爲對用戶隱私保護的日益關注,主流瀏覽器廠商已經限制並逐步摒棄cookie技術的使用。機器學習
Ø 設備ID是移動終端獨有的物理設備標識符,包括iOS設備的IDFA,IDFV;Android設備的IMEI,MAC等。隨着Apple公司收緊相關的政策,同時大量黑產改號工具的出現,使得設備ID用於設備識別的效果大爲下降,特別是在業務反欺詐領域,設備ID成爲黑產人員首先***的對象。分佈式
隨着移動互聯網的發展,傳統的設備識別技術已經愈來愈不能適應當前的網絡環境。企業迫切須要一種新的設備識別與追蹤技術,來克服原有設備識別技術的不足,應對新的挑戰。這就爲設備指紋技術的推廣帶來了市場契機。ide
設備指紋技術的流派函數
傳統的設備識別手段主要依賴於單一的信息源,與此不一樣,新一代的設備指紋技術使用更多的信息來完成設備的識別。它經過網絡收集終端設備的特徵信息,並在分析與鑑別的基礎上,對每一組從終端設備採集的特徵信息組合賦予惟一的設備指紋ID,用以標識該終端設備。從實現的技術方法上看,能夠分爲主動式設備指紋與被動式設備指紋兩種技術路線。
主動式設備指紋
主動式設備指紋技術通常採用JS代碼或SDK,在客戶端主動地收集與設備相關的信息和特徵,經過對這些特徵的識別來辨別不一樣的設備。通常的設備特徵信息有:
Ø 瀏覽器特徵,包括UA、版本、OS、插件的配置、Canvas特徵等;
Ø 設備的傳感器特徵,好比麥克風、加速傳感器的特徵等;
Ø 設備OS的特徵,好比是否越獄等;
Ø 設備的配置,好比網絡配置,系統flash的配置等;
主動式設備指紋算法通常將這些信息組合起來,經過特定的hash算法獲得一個設備指紋ID值,做爲該設備的惟一標識符。同時,考慮到設備指紋的穩定性,通常還會結合其餘的持久化的存儲技術,將設備指紋ID長期保存起來。
被動式設備指紋
被動式設備指紋技術在終端設備與服務器通訊的過程當中,從數據報文的OSI七層協議中,提取出該終端設備的OS、協議棧和網絡狀態相關的特徵集,並結合機器學習算法以標識和跟蹤具體的終端設備。
與主動式設備指紋技術相比,被動式設備指紋並沒必要須在設備終端上嵌入用於收集設備特徵信息的JS代碼或SDK,其所須要的設備特徵都是從終端設備發送過來的數據報文中提取,這也是其所謂「被動式」的緣由。
主動式設備指紋技術,由於相對來講更爲簡單直接,因此業界大部分設備指紋技術廠商提供的都是該類設備指紋服務。被動式設備指紋技術,因爲其須要使用機器學習技術構建設備指紋分類算法模型,具備較高的技術壁壘,於是還處於推廣起步階段。
混合式設備指紋技術
主動式設備指紋和被動式設備指紋技術,都存在着自身的缺點與侷限性,限制了它們的應用範圍:
Ø 對於主動式設備指紋來講,其最大的侷限在於其收集的設備特徵在Web域和App域中存在着區隔,即在不一樣的瀏覽器中,收集到的設備特徵也各不相同。於是主動式設備指紋在不一樣的瀏覽器中,以及Web和App之間,會生成不一樣的設備指紋ID,沒法實現Web與App間,不一樣的瀏覽器之間的設備關聯。主動式設備指紋的另外一個缺陷是,因爲依賴於客戶端代碼,指紋在反欺詐的場景中對抗性較弱。
Ø 被動式設備指紋技術能夠很好地解決Web與App之間、不一樣的瀏覽器之間的設備關聯問題。可是因爲其須要使用複雜的機器學習算法來進行設備的識別,因此佔用的處理資源較多,響應時延也要比主動式設備指紋更長。
混合式設備指紋技術克服了主動式設備指紋和被動式設備指紋技術各自的固有的缺點,在準確識別設備的同時擴大了設備指紋技術的適用範圍。對於Web頁面或App內部的應用場景,能夠經過主動式設備指紋技術進行快速的設備識別;而對於不一樣的瀏覽器之間、Web頁面與App之間的設備識別與比對關聯,則能夠利用被動式設備指紋的技術優點來實現。
設備指紋的核心技術
設備指紋技術是一個綜合性的系統工程,掌握這門技術須要跨越一系列的技術門檻,這也是爲何雖然應用場景廣闊,至今市場上此項技術提供者並很少的緣由。這裏介紹了設備指紋兩項關鍵的技術,大規模在線機率式記錄關聯和機器學習,讓你們對設備指紋有個總體的認識。
大規模在線機率式記錄關聯
設備指紋的核心任務是,給定兩條請求事件,給出這兩條請求是否來自同一個設備的判斷。瞭解數據庫的人可能會以爲這個有點似曾相識,這很像數據庫裏的self join。以下圖:
SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE T1.a = T2.a;
實際上設備指紋的一項關鍵技術是機率式記錄關聯(Probabilistic Record Linkage),它的非機率式版本肯定式記錄關聯(Deterministic Record Linkage)確實和self join很像。對於這項技術的最先的研究與健康醫療數據庫相關,其中記錄一詞也來源於醫療記錄。咱們以self join舉例,看看它的機率式版本。
SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE P(T1.a, T1.b, T2.a, T2.b) > threshold;
咱們看到,這裏最後一行的匹配條件變了,再也不是一個肯定的操做符等於號,而是一個介於零和一之間的值。這裏的P(表明機率,probability),是一個關於T1, T2的函數, 計算T1和T2是同一設備的機率。機率式記錄關聯也所以有時被稱爲模糊匹配。
設備指紋的原理很簡單,那麼難點在哪裏呢?第一在於設備指紋的典型應用場景反欺詐、營銷追蹤等都須要實時地給出匹配結果,也就是要在線,這就意味着數據來源不是數據庫,而是數據流。第二,傳統的數據庫的記錄規模每每不是特別大,而在線反欺詐,每個頁面訪問(PV)都會產生一條請求,要匹配的請求數,天天至少是億級的。熟悉數據庫的人都知道,一個一億條記錄的表格self join的複雜度是多高。這還只是簡單的肯定式的匹配。第三,機率式模型,我會放在後面詳細介紹。
因此作好設備指紋的第一步就是創建起一個大規模在線機率式記錄關聯平臺。它牽涉到流數據的處理、分佈式內存計算、算法優化、高效的信息搜索等多個環節。
機器學習
早期的設備指紋技術是基於規則的,典型的規則系統是一棵決策樹。若是cookie相同,返回true, 不然看IP是否相同,諸如此類的決策邏輯。在此基礎上,又衍生出給各項信息賦予權重的打分系統。而這些權重則來自於經驗。對於移動互聯網,各類信息數據都在不停地變化,這種經驗式的系統根本沒有穩定性,也難以維護。 對於大規模信息的處理,機器比人更具優點,這也就是在大數據的時代,機器學習流行起來的緣由。
對於設備指紋技術,機器學習的方法從數據中學習,讓數聽說話,摒除了人工規則方法的偏見和不穩定性。可是機器學習的方法也面臨必定的挑戰,最重要的挑戰就是在不少場景下,標註數據是不足的。近年來,半監督學習的興起給設備指紋的機器學習帶來了新的思路。半監督學習能夠認爲是監督學習的擴展,與通常監督學習不一樣的是,監督學習只能在標註數據上訓練,而半監督學習能夠同時利用標註數據和未標註數據。生成式模型是一種典型的半監督學習方法,對設備指紋技術有很好的效果。
評估指標
設備指紋的本質是記錄關聯問題,而記錄關聯從機器學習的角度來看是典型的分類問題。分類問題的評估指標有不少,但並非全部的指標都適合於對設備指紋的評估,有些甚至是嚴重誤導的,所以有必要在這裏對這些指標作一下梳理。常見的指標基本是由如下幾個數字計算得出。
設備指紋技術分類結果 |
|||
匹配(Match) |
非匹配( |
||
事實 |
匹配( |
正確的匹配 真正例(True Positive, TP) |
錯誤的非匹配 僞負例(False Negative, FN) |
非匹配( |
錯誤的匹配 僞正例(False Positive, FP) |
正確的非匹配 真負例(True Negative, TN) |
常見的分類評估指標有如下幾個:
準確度(Accuracy)
準確度(Accuracy)雖然常常被用做分類器評估的指標,在設備指紋的評估中卻不多使用。緣由是設備指紋的匹配中,正負標註很是不平衡, 分母和分子中的真負(TN)佔比例太高,將徹底主導最後的準確度值,計算所得準確度老是接近於1, 而毫無心義。一樣的問題也出如今分類問題中廣爲使用的另外一指標ROC上。
精確率和召回率
精確率(Precision), 有時也被稱爲查準率,即被預測爲匹配的結果實際確爲匹配的機率。
召回率(Recall), 有時也被稱爲查全率,即一對事實上匹配的設備被正確匹配上的機率。
一種設備指紋技術的精確率和召回率越高越好,但在不少時候,這兩項指標很難兼顧。好比在一些電商的場景下,對於精確率的要求很高,以免誤報。但在一些營銷的場景下,則是對於召回率的要求很高。
F測度
F測度,或者說F1測度,是一個綜合性的指標,它是精確率和召回率的調和平均值。精確率和召回率以相同的權重反映在F測度上。若是對精確率和召回率有所偏好,也能夠由廣義的Fβ測度給出。其中β越高,則表示召回率的比重越大。經常使用的兩個值爲β=2或β=0.5。
無論是精確率,召回率仍是F測度,都不計入真負例(TN),其實從下面這個例子就能夠看出其中的緣由。這是兩個數據集A(25條)和B(20條)進行匹配的結果展現,從圖中能夠看出空的虛線框,即咱們正確地做出的非匹配的判斷,佔絕大多數,但這倒是咱們最不關心的。
設備指紋的應用案例
上海某互金公司位於外灘金融創新試驗區,是一家專注爲年輕人提供高品質生活方式的互聯網金融公司。
■客戶開發了一款基於H5的小額貸款產品,將其嵌入第三方金融超市發佈。在試運營過程當中碰到了問題:
(1)部分用戶試圖利用其餘人的身份得到重複授信,雖而後期人工審覈可以發現,但正式運營中人工審覈沒法承擔這樣的審覈量。
(2)因爲H5頁面發佈在第三方金融超市中,用戶申請時沒法得到穩定的cookie信息,沒法從設備的維度自動審覈進件。
■ 客戶但願可以有一個可以在H5頁面中識別重複請求的解決方案。
該客戶與猛獁反欺詐合做將猛獁ID系統™的SDK嵌入其應用中,在貸款請求事件發生時,向猛獁系統發送請求信息。並通過後臺獲取消息細節和設備指紋ID(即猛獁ID系統爲這些消息賦予的惟一Maxent ID),示意圖以下。
在使用猛獁ID系統以前,該客戶沒法跨應用、跨瀏覽器識別設備,一樣的設備在不一樣的瀏覽器或應用中將產生不一樣的ID。 而猛獁ID系統則可以跨應用,跨瀏覽器識別設備。具體來講,對在同一設備上發生的用戶行爲賦予同一個Maxent ID,能夠基於Maxent ID將用戶行爲按設備進行關聯,並且不會因爲刷機軟件對於設備ID修改而改變。客戶能夠基於Maxent ID將同一設備發送的注冊請求進行關聯。通過統計同一Maxent ID發出的貸款請求數,能夠有效的發現重複貸款請求行爲。
該客戶通過簡單的集成工做就成功解決了H5頁面設備識別的問題,有效地防範了同一設備反覆申請的問題,檢測出了7.6%左右的可疑欺詐申請,經過人工對業務數據的檢查和電話回訪,確認其中90%以上爲用戶使用多個身份試圖騙取屢次授信。
結語
在移動互聯網日益成爲主流的今天,身份欺詐成爲在線欺詐的頑疾,欺詐者以移動設備爲掩體發動***。以設備指紋爲核心的設備風險識別相關技術是刺破欺詐者身份假裝的利器。本文針對設備指紋分別從技術的緣起、流派、工做原理、核心技術難點和評估方法五個方面進行了剖析,但願可以幫助讀者更深刻的瞭解設備指紋技術,從而在反欺詐、風險控制等各環節中更好地利用這項技術。