現實生活中,其實很多人都與爬蟲“打過交道”。
比如,逢年過節之時,為確保能買到回家火車票,有人會選擇使用“搶票軟體”,這個軟體就是利用網路爬蟲來登入鐵路售票網路,並爬取票務資訊,然後輔以批次化、自動化和高速化的購票流程處理,從而能以毫秒級的重新整理來獲取人工購票難以企及的資訊和速度優勢。顯然,這種“充錢加塞”的方式顯然對正常渠道的購票者有失公平。
就連最高人民法院旗下的“中國裁判文書網”也難逃爬蟲侵擾,以至於使用者怨聲載道。
2019年,最高人民法院釋出的《關於“中國裁判文書網”網站建設建議的答覆》提到,“大量技術公司透過爬蟲系統無限制地訪問非法獲取裁判文書資料,造成網站負荷過大,大量正常使用者請求堵塞,訪問出現速度慢或部分頁面無法顯示等現象。”
再比如,2019年,國內外不少網站經營者抱怨遭遇了一些搜尋引擎爬蟲的訪問,因訪問頻率過高,一度令一些網站癱瘓。“短短一上午時間就收到了 46 萬次請求,消耗掉伺服器 7.42GB 流量。這對平均日活可能都沒有過千的小網站來說,已經算得上一次小型的DDoS攻擊。”一位遭遇搜尋引擎爬蟲的網站經營者對此感嘆道。
網路爬蟲不光消耗“被爬取方”網站的流量,同時能夠“抓走”網站頁面的資料,因此常引發紛爭。
因而,爬蟲與反爬技術是一場無休止之戰,發起攻擊的一方需要思考如何“鋒利其矛”,而防守一方則需要考慮如何“牢固其盾”。
爬蟲與反爬蟲,一場無休止戰爭
事實上,最早的爬蟲起源於搜尋引擎。搜尋引擎是善意的爬蟲,可以檢索你的一切資訊,並提供給其他使用者訪問。為此他們還專門定義了robots.txt檔案,作為君子協定,這是一個雙贏的局面。
然而事情很快被一些人破壞了。爬蟲很快就變的不再“君子”了。
當君子協議失效,我們開始改用技術手段阻攔爬蟲的入侵。比如從訪問數量上發現爬蟲,當我們在某一網站瀏覽過快時,系統往往會要求輸入驗證碼,就是因為這種快速瀏覽的行為很接近爬蟲。或者是不定期改變HTML標籤,使之無法與Web排序匹配來限制爬蟲。
現在比較常見的反爬蟲技術手段主要有,檢測 Header 資訊;設定 IP 訪問頻率,分析同一 IP 或同一裝置在短時間內多次訪問同一頁面或進行相同操作;識別 UA、透過動態頁面增加爬取難度、驗證碼反爬等方式。
今天我們要說的就是頂象無感驗證的反爬蟲技術。
下藥要對症,反爬要治根
一般來說,透過驗證碼來反爬,其核心原理是爬蟲透過網頁抓取資料,當某一使用者訪問次數過多後,系統就會懷疑你是否是真實使用者,也就是說會讓請求跳轉到驗證碼頁面,只有輸入正確的驗證碼才能繼續訪問網站,而驗證碼誕生之初的目的就是為了區分人和機器的區別,自然也就能攔截爬蟲。
但隨著AI 技術的深入,這樣的反爬技術也很容易被破解,這個時候就需要我們比對方更智慧、更聰明。
在頂象看來,要想防住爬蟲,就要從根源入手。首先我們要知道爬蟲平臺間的資料如何傳輸,才能在此基礎建立安全可信的通訊鏈路,其次,在保證安全可信的通訊鏈路基礎上,需要考慮是否支援多種風險的快速判斷,是否可以進行回溯及服務監控;最後,在與爬蟲的對抗層面,需要考慮是否能夠進行快速的對抗調整,並將相應的人機驗證工具作為支撐。
基於此,頂象在持續不斷的攻防對抗間也研發出了一套反爬體系建設方案。
首先,反爬技術方案要針對爬蟲體系做基礎設施的建設準備,保證後續的反爬風險判斷有得力的資料或者產品工作作為支撐,比如決策引擎、裝置指紋、人機驗證碼等,以決策引擎為例。
決策引擎基於流計算技術,具備毫秒級輸出決策結果的能力。實時決策透過視覺化方式可以讓策略專家或客戶業務人員配置出場景的反爬策略。在反爬策略裡支援使用名單庫(如IP黑名單、手機號黑名單)、模型,可按時間序列的快速計算(如某IP近一天註冊次數),同時具備豐富的模組。
同時,在通訊鏈路層面,需要進行強加密,Web端的JS、移動端的SDK均需要經過加固保護,提高攻擊者逆向的難度。
其次,在策略層面,需要建設基於場景的反爬策略,比如同裝置關聯的IP數異常、爬蟲IP黑名單封禁、爬蟲風險裝置識別等等。
在處置層,需要進行風險分層,並下發不同的處置指令,比如系統判定為無風險/低風險時,則放行;系統判定為中風險是,則需進行人機驗證;系統判斷為高風險時,則立即阻斷。
最後,在資料的分析總結層面,可根據資料包表進行監控回溯,檢視歷史觸發情況,進而對反爬策略進行最佳化升級。
綜上,反爬蟲不再是一個簡易工具,而是具備智慧互動,資料採集,實時計算,模型分析,決策判斷等能力綜合性安全系統。
頂象反爬解決方案基於裝置指紋對實現對各類風險和模擬器、真機的識別,以及Dinsight風險決策引擎毫秒級實時決策對行為分析(滑鼠的滑動軌跡、鍵盤的敲擊速率、滑動驗證碼的滑動軌跡、速率、按鈕點選等行為軌跡等),實現對惡意“爬蟲”行為的有效識別;透過智慧無感驗證的人機互動防護,直接攔截“爬蟲”對敏感資料的爬取;利用Xintell智慧模型平臺建立基於業務場景的策略模型,從而對反爬效果進行實時最佳化,良好防範惡意爬取的風險。
此外,頂象反爬解決方案依託多年攻防對抗實戰經驗,提供了動態策略的精準防護;全鏈路縱深防護,避免“爬蟲”的單點繞過;多維度防禦,有效攔截各種惡意“爬蟲”行為;無感的人機互動驗證,有效反爬又不影響正常使用者體驗。
值得注意的是,頂象最新推出的第五代驗證碼搭載了頂象業務安全防禦雲,透過頂象防禦雲線上的全鏈路風險防控產品對網際網路、金融等行業的作弊手段進行監控、黑產特徵分析、業務風險識別形成風險情報,透過同行業、跨行業的風險情報資訊共享,打通上下游防控鏈路,連結各行業的“資訊孤島",從而賦予了新一代驗證碼根據風險動態實現自我升級迭代的能力。
在防破解方面,第五代驗證碼更是有自己的“秘密武器”,不僅能夠行為軌跡模型檢測來進行識別,並且整合了驗證魔方,實現主動對抗。同時,第五代驗證碼專有的動態加解密混淆演算法也進一步增加了破解難度。
簡言之,頂象第五代驗證碼不僅可以識別惡意爬蟲,攔截爬蟲,還可以透過頂象防禦雲的能力對惡意爬蟲做出精準畫像,不僅要使用者知道知其為,更知其所以為。
反爬是一場全行業的集體行動
有一種說法是,爬蟲貢獻了網際網路 50% 的流量,它對於網際網路的繁榮功不可沒。但該技術同時也因“用途”而充滿爭議。爬蟲是一項見不得“陽光”的技術,它廣泛運用,卻少有人願意承認在使用它。因為它常常被用作非法收集資訊的工具,站上資料隱私、資料安全的對立面。
不難看出,爬蟲技術本無罪,有罪的是那些拿爬蟲來作惡的人。
因此,要制止反爬需要全行業的共同努力。
近幾年,國家在監管層面也開始重視反爬技術。
2019 年 5 月,被稱為“中國版 GDPR”的《資料安全管理辦法》徵求意見稿釋出,第 16 條規定,網路運營者採取自動化手段訪問收集網站資料,不得妨礙網站正常執行;如自動化訪問收集流量超過網站日均流量三分之一,網站要求停止自動化訪問收集時,應當停止。
2021年又相繼頒佈了一系列網路安全法律法規,包括《資料安全法》、《關鍵資訊基礎設施安全保護條例》、《網路產品安全漏洞管理規 定》、《個人資訊保護法》等,將資料安全上升至國家安全層面,也使企業與組織在資料處 理與網路安全方面,進入了有法可依、有法必依的新時代。
不難想象,隨著監管越來越嚴格,爬蟲技術的使用邊界也將更加明晰。企業也應當要時時注意不要觸碰邊界,畢竟,爬蟲只是技術,灰色的是“助惡者”