馬蜂窩事件背后暴露出的數(shù)據(jù)風(fēng)險
馬蜂窩利用網(wǎng)絡(luò)爬蟲抓取抄襲其他平臺真實評論的事件日益發(fā)酵。什么是網(wǎng)絡(luò)爬蟲?馬蜂窩這個事件背后暴露了什么數(shù)據(jù)風(fēng)險問題?數(shù)據(jù)風(fēng)險問題該如何解決?
近日,針對馬蜂窩“數(shù)據(jù)造假”的文章刷屏網(wǎng)絡(luò)。文章指出,馬蜂窩2100萬條真實點評中,有1800萬條是通過機(jī)器人從點評、攜程等其他平臺抄襲而來。
作者表示:在馬蜂窩上發(fā)現(xiàn)了7454個抄襲賬號,平均每個賬號從攜程、藝龍、美團(tuán)、Agoda、Yelp上抄襲搬運了數(shù)千條點評,合計抄襲572萬條餐飲點評,1221萬條酒店點評。
其實,不僅旅游網(wǎng)站遭到網(wǎng)絡(luò)爬蟲的惡意抓取,航空、視頻等也是被惡意爬取的重災(zāi)區(qū)。
今年2月,視頻彈幕網(wǎng)站嗶哩嗶哩(bilibili)大量用戶的視頻、昵稱、頭像及用戶評論,出現(xiàn)在某新成立的視頻網(wǎng)站上,就是非法網(wǎng)絡(luò)爬蟲的盜??;而航空公司的官網(wǎng)上的機(jī)票、訂座等信息,長期被代理公司將機(jī)票信息爬取、占座,然后在其他網(wǎng)站上加價銷售。
數(shù)據(jù)造假背后的“惡人”
網(wǎng)絡(luò)爬蟲:又被稱為網(wǎng)頁蜘蛛、網(wǎng)絡(luò)機(jī)器人,是按照一定的規(guī)則,自動地抓取網(wǎng)絡(luò)信息的程序或者腳本。
網(wǎng)絡(luò)爬蟲分為兩類:一類是搜索引擎爬蟲,一類是其他爬蟲。
前者是為搜索引擎從廣域網(wǎng)下載網(wǎng)頁,便于搜索檢索,后者則是在指定目標(biāo)下載信息,用于存儲或其他用途。
網(wǎng)絡(luò)爬蟲不僅能夠抓取網(wǎng)頁商品、服務(wù)、文字、圖片等關(guān)鍵的靜態(tài)網(wǎng)頁信息,還能夠爬取用戶評價、價格和賬戶等動態(tài)信息等。在知識產(chǎn)權(quán)日益受到重視的今天,數(shù)據(jù)是互聯(lián)網(wǎng)平臺的重要資產(chǎn)。
網(wǎng)絡(luò)爬蟲的非法操作不僅竊取了平臺的數(shù)據(jù)資產(chǎn),更消耗了平臺的服務(wù)和帶寬資源。
被網(wǎng)絡(luò)爬蟲竊取的信息不僅可以用于同類型平臺制作,還可能被轉(zhuǎn)售或者可能用于釣魚網(wǎng)站制作等其他違法行為。這不但會給平臺帶來重大損失,更可能導(dǎo)致平臺上的用戶敏感信息泄露,進(jìn)而使用戶遭遇各類網(wǎng)絡(luò)和電信詐騙。
如何識別搜索引擎爬蟲和惡意爬蟲?
針對網(wǎng)絡(luò)爬蟲的識別一般是通過用戶HTTP請求中的UA(UserAgent)、IP地址字段以及以及瀏覽器Cookie。
首先,很多的惡意爬蟲程序頭或者UA中默認(rèn)含有類似python-requests/2.18.4等固定字符串,很容易被系統(tǒng)辨別出來;其次,爬蟲經(jīng)常使用某些固定IP,當(dāng)某一個IP訪問量特別特別大、某一段時間內(nèi)訪問了多次的網(wǎng)頁等,也可以被快速識別。
常規(guī)防御是拒絕訪問,或直接封殺IP。但是,UA可以偽造裝成搜索爬蟲或者其他瀏覽器,而IP地址可以通過頻繁變更代理IP繞過。
此外,通過模擬登錄或者手動登錄Cookie 也能繞過系統(tǒng)監(jiān)測。所以,這三類方式均不完善。
驗證碼是比較有效的一種方式,當(dāng)某一用戶訪問次數(shù)過多后,就自動讓請求跳轉(zhuǎn)到一個驗證碼頁面,只有在輸入正確的驗證碼之后才能繼續(xù)訪問網(wǎng)站。而驗證碼不僅可以檢測訪問者行為,還集合設(shè)備指紋和風(fēng)控等多種因素綜合判斷。
頂象數(shù)據(jù)反爬解決方案就是基于驗證碼和風(fēng)控。該方案在登錄端部署頂象的智能無感驗證,直接攔截爬蟲對重點數(shù)據(jù)的爬取。同時,結(jié)合頂象設(shè)備指紋和實時風(fēng)險決策系統(tǒng),實現(xiàn)對于爬蟲的總體攔截。再基于對抗過程中的數(shù)據(jù)積累,利用智能分析平臺對數(shù)據(jù)進(jìn)行分析,建立基于符合業(yè)務(wù)場景和需求的風(fēng)控策略,實時優(yōu)化風(fēng)控效果,良好防范數(shù)據(jù)遭惡意爬取的風(fēng)險。
驗證碼后面的技術(shù)
在用戶訪問方面,無感驗證通過人機(jī)交互行為進(jìn)行防護(hù)。如鼠標(biāo)在頁面內(nèi)的滑動軌跡、鍵盤的敲擊速率、滑動驗證碼的滑動軌跡、速率、按鈕點擊等行為軌跡模型檢測來進(jìn)行防護(hù)。
基于頂象機(jī)器學(xué)習(xí)模型平臺創(chuàng)建優(yōu)化相關(guān)模型,用于驗證碼機(jī)器模擬軌跡防護(hù)。這里面包含軌跡耗時檢測、異常軌跡檢測(包括直線、勻速、聚合曲線等常規(guī)信號發(fā)生器生成的軌跡和通過異常檢測算法發(fā)現(xiàn)的離群行為)。
在異常檢測方面,頂象技術(shù)使用的其中一種異常檢測算法為孤立森林(Isolation Forest),Isolation Forest 中提出Isolation概念,即將異常數(shù)據(jù)從既有數(shù)據(jù)分布中孤立,用以實現(xiàn)異常檢測的目的,這種算法較基于正常數(shù)據(jù)點創(chuàng)建profile進(jìn)行異常檢測的算法,如Replicator Neural Network、one-class SVM有更高的異常識別能力和準(zhǔn)確度。
除此外,二分類器還可以根據(jù)既有的驗證碼數(shù)據(jù)進(jìn)行訓(xùn)練,對采集到的人機(jī)交互行為數(shù)據(jù)進(jìn)行預(yù)測區(qū)分,進(jìn)一步提升識別惡意行為的精確度。
此為了防止網(wǎng)絡(luò)爬蟲對驗證碼的防暴力破解,無感驗證通過圖片亂序切條、圖片更新定時加工、圖片變異等技術(shù),結(jié)合關(guān)聯(lián)性檢測進(jìn)行防護(hù),通過內(nèi)置規(guī)則和策略,判斷相關(guān)關(guān)聯(lián)性,如同一設(shè)備關(guān)聯(lián)性、同一IP關(guān)聯(lián)性、滑動失敗關(guān)聯(lián)性、驗證次數(shù)關(guān)聯(lián)性等,有效識別短時間內(nèi)異常關(guān)聯(lián)性。
驗證碼背后的機(jī)器學(xué)習(xí)
頂象技術(shù)將深度學(xué)習(xí)技術(shù)應(yīng)用于驗證碼的軌跡分析,通過LSTM等深度學(xué)習(xí)技術(shù),對滑動驗證碼的滑動軌跡進(jìn)行特征提取,然后基于LargeVis,對提取的特征進(jìn)行可視化分析,如下圖所示,通過歷史數(shù)據(jù)的可視化對比分析,可以發(fā)現(xiàn)一些異常的軌跡數(shù)據(jù)。
LSTM是一種遞歸神經(jīng)網(wǎng)絡(luò),適合于處理和預(yù)測時序及行為數(shù)據(jù)。基于 LSTM 的系統(tǒng)可以學(xué)習(xí)翻譯語言、控制機(jī)器人、圖像分析、文檔摘要、語音識別、圖像識別等任務(wù),由于驗證碼的軌跡是連續(xù)的行為數(shù)據(jù),因此非常適合使用LSTM來進(jìn)行特征提取。
除此之外,頂象將深度學(xué)習(xí)技術(shù)應(yīng)用于點選驗證碼中,對點選驗證碼進(jìn)行“風(fēng)格遷移”,可大大增加驗證碼被破解的難度。
風(fēng)格遷移是深度學(xué)習(xí)領(lǐng)域很有創(chuàng)意的研究成果,通過神經(jīng)網(wǎng)絡(luò),將一張圖片的藝術(shù)風(fēng)格應(yīng)用在另外一張圖片上,例如上圖中是將梵高的名作“星空”的藝術(shù)風(fēng)格應(yīng)用于點選驗證碼圖片上。
通過風(fēng)格遷移,可以將點選圖片中的內(nèi)容進(jìn)行變換,例如文字變得扭曲及模糊,使得機(jī)器破解的難度增加。但是又不會完全改變圖片的內(nèi)容,使用戶又可以很容易的識別圖片中的文字。
本文由 @金融科 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未盡許可,禁止轉(zhuǎn)載。
題圖來自網(wǎng)絡(luò)。
- 目前還沒評論,等你發(fā)揮!