反爬蟲風控業務


起源

爬蟲在這個大數據時代已經不是什麼新鮮事兒了,以前咱們說的爬蟲可能就是說網頁的爬蟲,用來創建網頁索引,在數據分析和機器學習火熱的當下,互聯網上面的爬蟲那就更加廣泛了,這些爬蟲日日夜夜的爬取數據,這就致使部分行業成爲了爬蟲的重災區: 前端

  • 火車飛機票務算法

  • 金融行情數據安全

  • 區塊鏈要聞服務器

  • 簡歷我的信息微信

  • 房屋商品價格網絡

  • 門票演唱會併發

  • ...機器學習

據統計互聯網上絕大多數的流量都是機器的流量,這部分流量有多大呢,佔據了互聯網的半壁江山:51%。分佈式

這些流量中有些是 「失控」 的,是 「野蠻」 的。工具

螞蟻吃大象。2019 年的 4 月中旬,進了一個數據礦工的羣組,裏面近千號人,都在熱聊一件事,都在討論一個開源的項目,這個項目是關於如何繞過 XX 公司的爬蟲防禦策略的,他們利用這個工具爬取了文書網,以前我對文書的站點不是很瞭解,後來才知道是一個政府開放的查詢我的傳票信息的,這個網站在 4 月中旬發佈公告停機升級,過了幾天發現文書網更換了反爬蟲供應商,以前網站被爬的沒法對外服務了。

殘酷的競爭。互聯網廣告和遊戲這一塊是重要的贏利點,前提是你要擁有衆多的用戶羣體,你才能參與進這樣的攬金行業。馬蜂窩與攜程都擁有國內旅遊信息業務板塊,二者曾經出現了 「攜程起訴馬蜂窩惡意爬取其遊記和旅遊評論信息」 這樣的微博熱文,這樣的商業競爭行爲在互聯網上還有不少,你們都是爲了 「爭」 業務,「搶」 用戶。

惡意報復。攜程算是在反爬蟲領域作得比較早的一家企業了,發佈的關於反爬蟲的認知方面的材料也頗有深度和看法,攜程最先是由於被爬掛了,因此纔有對於反爬蟲的訴求。

拋開業務價值不說,光就這 51% 的流量,也會給企業帶來額外的經濟成本。再算上爬蟲的安全漏掃、信息價值流失,爬蟲在無形之中大量盜用企業的信息資產,卻不多引發企業的關注。

反爬蟲咱們要防護什麼

反爬蟲業務的三大威脅是刷量、佔用資源、信息資產盜取。

  • 刷量在廣告、娛樂行業,比較典型按點擊點付費的場景,由於是按量進行結算,結算方或者其餘第三方可能會利用爬蟲去刷量。刷量方法有機器刷量和人工刷量兩種,其中機器刷量成本相對更加低廉,被各類中間平臺普遍採用。

  • 佔用資源  惡意爬蟲訪問會佔用不少服務器資源,有些服務商的站點或者服務並無儲備太多額外的業務併發,惡意爬蟲可能就會形成服務商的原服務受影響,致使正常正經常使用戶訪問速度變慢訪問速度變慢,甚至服務商服務直接崩潰。

  • 信息資產盜取  在盜取  在新聞、機票素材、直播等行業,存在不少原創有價值的內容,黑產常常會盯上這些內容而後經過爬蟲進行倒賣賺中間的差價,嚴重影響原服務商和創做者的積極性。

反爬蟲技術防護視角

很早以前,互聯網上並無反爬蟲一說,可是隨着爬蟲的肆虐,反爬蟲的技術早已在悄然發展,舉幾個常見的反爬蟲的手段:IP 頻率限制 、UA 頻率限制 、API 數據加密 、數據蜜罐 、前端數據收集 、帳戶權限。

以上都是咱們常見的反爬蟲的手段,只是之前這些東西沒有被關聯上 「反爬蟲」 風控業務。

反爬蟲安全威脅是從前幾年前才進入你們的視線,被認爲是繼應用層防火牆 WAF 以後的業務層防火牆。國內競爭可能不明顯,可是在國外,頻頻有關於反爬蟲業務安全公司被 WAF 廠商收購的消息,其中最大的兩家 Distil 和 ShieldSquare 在今年內被收購了,綠盟 WAF 一樣也在今年內規劃了反爬蟲的功能。

反爬蟲的挑戰在哪裏?

傳統反爬蟲方案也有,可是大廠還在不斷改進,規劃新版本,你們都沒閒着,究竟是由於什麼?反爬蟲業務面臨着什麼樣的挑戰?

傳統方案難以應對分佈式爬蟲。當前分佈式爬蟲應用隨着雲服務的興起,也流行了起來,不少開源的爬蟲方案都可以很好的支持分佈式爬取。這種爬蟲擁有大量的 IP、UA、帳號、設備等資源,傳統方案的靈敏度,數據維度,資源池都受到嚴重的挑戰,沒有大數據和機器學習算法的參與,很難從中間尋找到蛛絲馬跡。

數據採集難度大。反爬蟲業務貫穿整個數據鏈路,從設備環境、網絡傳輸、應用層協議、業務特性等層面參與檢測,傳統的反爬蟲方案主要集中在資源的一個點上面,並且防護大多與業務結合的太過於緊密,很難實現靈活的策略,最大的問題是前端數據採集聊勝於無,咱們知道很大一部分爬蟲部署在雲端,使用了大量的代理,在沒有 GUI 的狀態下瘋狂的爬取數據,可是咱們就是找不到足夠的證據,更無從防護。

總結下來:

  • 雲服務器檢測

  • 代理檢測

  • 真人識別

  • 協議分析

  • 數據頻率

  • 帳號團伙

  • 設備團伙

  • IP 風險

這些業務訴求都對傳統的方案提出了重大的挑戰,也是反爬蟲風控業務面臨的新技術挑戰。

反爬蟲防護現狀

市面上已經有幾家不一樣的反爬蟲防護廠商的產品,下面簡單介紹下你們的反爬蟲思路:

  • 利用 IP 和 UA 防禦。

這類產品不少雲 WAF 廠商都用,優勢是開發成本小、策略簡單,缺點是數據要更新及時、誤封率極高,某些狀況下還不如用戶本身的帳號權限、接口頻率來的實在。

  • 利用加密 JS 和動態 URL。

這個方案是一個比較新奇的思路,經過動態刷新 JS 來提升破解難度,經過動態 URL 致使爬蟲找不到正確的 URL,也就沒法訪問數據。。該方案能夠幹掉絕大多數的爬蟲,可是卻沒法很好的保護數據接口,由於須要執行 JS。另外對於搜索引擎的殺傷力巨大,搜索引擎就是一個爬蟲,他哪裏知道你的動態 URL ?對於模擬器也沒有什麼防護效果。這個方案一旦被破解了 JS,市面上全部使用了該產品的用戶都會被破解。

  • 利用機器學習產生統一設備指紋。

這個方案的優點在於從設備角度標識用戶,保證同一個設備不管在什麼環境下訪問網站均可以產生同一個設備指紋,而後經過該設備指紋對接口限制頻率,再經過時序檢測分析出各個有害的設備進行攔截。這樣能夠在全網創建一個比較大的設備指紋庫,策略簡單有效。。方案最大的問題就是方案自己,哪裏去找到這樣一個設備指紋,目前基本上無法 100% 標識一個設備,另外對於中國網吧這樣統一裝機的,我怕你們都會懵逼。

  • 經過動態 HTML。

經過使用 CSS tricky 和 動態 HTML 的內容致使爬蟲沒法準確提取到關鍵數據來進行反爬,即便數據被爬取了,可是爬到了錯誤的數據,也就沒有繼續爬取的必要了。本質上是防護爬蟲數據使用場景,該方案多見於內容型的業務,好比微信文章,招聘網站的電話號碼等。

  • 利用數據鏈路和流量觀測進行分析。

對於一個用戶的全部訪問請求進行時序關聯分析,發現惡意有風險的操做行爲,配合驗證碼對用戶的訪問行爲進行圖靈測試。該方案對於技術要求難度比較大,可是對抗性比較強、誤封率低,缺點是若是出現誤封了,那麼用戶體驗性等於 0,配合數據蜜罐的話,該方案能優化很多。好比有風險,返回 10 條數據,沒風險返回 100 條等。

本篇主要介紹了下背景和現狀,若是以爲我寫的不錯,就多多鼓勵,後續持續連載介紹關於反爬蟲技術的各個環節。



本文分享自微信公衆號 - 茶歇小棧(smilehackerboy)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索