馬蜂窩事件背後暴露出的資料風險
近日,針對馬蜂窩“資料造假”的文章刷屏網路。文章指出,馬蜂窩2100萬條真實點評中,有1800萬條是通過機器人從點評、攜程等其他平臺抄襲而來。作者表示,在馬蜂窩上發現了7454個抄襲賬號,平均每個賬號從攜程、藝龍、美團、Agoda、Yelp上抄襲搬運了數千條點評,合計抄襲572萬條餐飲點評,1221萬條酒店點評。

其實,不僅旅遊網站遭到網路爬蟲的惡意抓取,航空、視訊等平臺被惡意爬取的重災區。
今年2月,視訊彈幕網站嗶哩嗶哩(bilibili)大量使用者的視訊、暱稱、頭像及使用者評論,出現在某新成立的視訊網站上,就是非法網路爬蟲的盜取;而航空公司的官網上的機票、訂座等資訊,長期被代理公司將機票資訊爬取、佔座,然後在其他網站上加價銷售。
網路爬蟲:資料造假背後的“惡人”
網路爬蟲,又被稱為網頁蜘蛛、網路機器人,是按照一定的規則,自動地抓取網路資訊的程式或者指令碼。
網路爬蟲分為兩類:一類是搜尋引擎爬蟲,一類是其他爬蟲。前者是為搜尋引擎從廣域網下載網頁,便於搜尋檢索,後者則是在指定目標下載資訊,用於儲存或其他用途。
網路爬蟲不僅能夠抓取網頁商品、服務、文字、圖片等關鍵的靜態網頁資訊,還能夠爬取使用者評價、價格和賬戶等動態資訊等。在智慧財產權日益受到重視的今天,資料是網際網路平臺的重要資產。網路爬蟲的非法操作不僅竊取了平臺的資料資產,更消耗了平臺的服務和頻寬資源。
被網路爬蟲竊取的資訊不僅可以用於同類型平臺製作,還可能被轉售或者可能用於釣魚網站製作等其他違法行為。這不但會給平臺帶來重大損失,更可能導致平臺上的使用者敏感資訊洩露,進而使使用者遭遇各類網路和電信詐騙。
如何識別搜尋引擎爬蟲和惡意爬蟲?
針對網路爬蟲的識別一般是通過使用者HTTP請求中的UA(UserAgent)、IP地址欄位以及以及瀏覽器cookie。
首先,很多的惡意爬蟲程式頭或者UA中預設含有類似python-requests/2.18.4等固定字串,很容易被系統辨別出來;其次,爬蟲經常使用某些固定IP,當某一個IP訪問量特別特別大、某一段時間內訪問了多次的網頁等,也可以被快速識別。
常規防禦是拒絕訪問,或直接封殺IP。但是,UA可以偽造裝成搜尋爬蟲或者其他瀏覽器,而IP地址可以通過頻繁變更代理IP繞過。此外,通過模擬登入或者手動登入Cookie 也能繞過系統監測。所以,這三類方式均不完善。
驗證碼是比較有效的一種方式,當某一使用者訪問次數過多後,就自動讓請求跳轉到一個驗證碼頁面,只有在輸入正確的驗證碼之後才能繼續訪問網站。而驗證碼不僅可以檢測訪問者行為,還集合裝置指紋和風控等多種因素綜合判斷。
頂象資料反爬解決方案就是基於驗證碼和風控。該方案在登入端部署頂象的智慧無感驗證,直接攔截爬蟲對重點資料的爬取。同時,結合頂象裝置指紋和實時風險決策系統,實現對於爬蟲的總體攔截。再基於對抗過程中的資料積累,利用智慧分析平臺對資料進行分析,建立基於符合業務場景和需求的風控策略,實時優化風控效果,良好防範資料遭惡意爬取的風險。
驗證碼後面的技術
在使用者訪問方面,無感驗證通過人機互動行為進行防護。如滑鼠在頁面內的滑動軌跡、鍵盤的敲擊速率、滑動驗證碼的滑動軌跡、速率、按鈕點選等行為軌跡模型檢測來進行防護。
基於頂象機器學習模型平臺建立優化相關模型,用於驗證碼機器模擬軌跡防護。這裡麵包含軌跡耗時檢測、異常軌跡檢測(包括直線、勻速、聚合曲線等常規訊號發生器生成的軌跡和通過異常檢測演算法發現的離群行為)。
在異常檢測方面,頂象技術使用的其中一種異常檢測演算法為孤立森林(Isolation Forest),Isolation Forest 中提出Isolation概念,即將異常資料從既有資料分佈中孤立,用以實現異常檢測的目的,這種演算法較基於正常資料點建立profile進行異常檢測的演算法,如Replicator Neural Network、one-class SVM有更高的異常識別能力和準確度。
除此外,二分類器還可以根據既有的驗證碼資料進行訓練,對採集到的人機互動行為資料進行預測區分,進一步提升識別惡意行為的精確度。
此為了防止網路爬蟲對驗證碼的防暴力破解,無感驗證通過圖片亂序切條、圖片更新定時加工、圖片變異等技術,結合關聯性檢測進行防護,通過內建規則和策略,判斷相關關聯性,如同一裝置關聯性、同一IP關聯性、滑動失敗關聯性、驗證次數關聯性等,有效識別短時間內異常關聯性。
驗證碼背後的機器學習
頂象技術將深度學習技術應用於驗證碼的軌跡分析,通過LSTM等深度學習技術,對滑動驗證碼的滑動軌跡進行特徵提取,然後基於LargeVis,對提取的特徵進行視覺化分析,如下圖所示,通過歷史資料的視覺化對比分析,可以發現一些異常的軌跡資料。

LSTM是一種遞迴神經網路,適合於處理和預測時序及行為資料。基於 LSTM 的系統可以學習翻譯語言、控制機器人、影象分析、文件摘要、語音識別、影象識別等任務,由於驗證碼的軌跡是連續的行為資料,因此非常適合使用LSTM來進行特徵提取。
除此之外,頂象將深度學習技術應用於點選驗證碼中,對點選驗證碼進行“風格遷移”,可大大增加驗證碼被破解的難度。

風格遷移是深度學習領域很有創意的研究成果,通過神經網路,將一張圖片的藝術風格應用在另外一張圖片上,例如上圖中是將梵高的名作“星空”的藝術風格應用於點選驗證碼圖片上。通過風格遷移,可以將點選圖片中的內容進行變換,例如文字變得扭曲及模糊,使得機器破解的難度增加。但是又不會完全改變圖片的內容,使使用者又可以很容易的識別圖片中的文字。