林楚苓 關春喜 梁焰豪

摘? 要:網絡的迅速發展,讓萬維網成為大量信息的載體,搜索引擎進入大眾的生活。為了定向的幫助搜索引擎抓取相關網頁資源,網絡爬蟲應運而生。網絡爬蟲是一個自動提取網頁的程序,一些惡意的網絡爬蟲不僅會對網站的信息進行竊取,還會對網站造成不可彌補的傷害。隨之進入我們生活的還有網絡爬蟲的死對頭——反爬蟲。本文研究使用機器學習進行爬蟲識別,從而使得更好的制定反爬蟲策略,用機器識別代替人工識別,減少了人為識別爬蟲的工作量,降低了識別爬蟲的人力物力的損耗,還能提高爬蟲的識別率,從而做到保護網站信息以及網站設備。
關鍵詞:網絡爬蟲;反爬蟲策略;機器學習;信息安全
1? 引言
現階段,科技不斷地發展,人們的搜索引擎變得多種多樣,為了快速從互聯網中獲得大量目標數據,就需要編寫一些腳本程序,按照一定規律批量獲取數據,這就是所謂的爬蟲[1]。網絡爬蟲的出現,既是造福了社會,也是污染了網絡環境,惡意爬蟲會嚴重增加了網站服務器的負擔,還可能造成僵尸網絡的出現。不僅如此,惡意爬蟲的出現還為盜取他人網站重要數據提供了便利的途徑,非法爬取網站的重要數據會造成網站重要數據和用戶信息的泄露,導致網站重大的商業損失。針對網絡爬蟲,反爬蟲機制孕育而生,如今大部分的網絡爬蟲還依靠著人為進行識別,這樣的反爬蟲工作即費時又費力。近幾年來,機器學習由于可以大大減少人為工作量,減少了對人力物力損耗而出現在人們的生活中。本文將研究基于機器學習實現反爬蟲的應用策略,針對網絡爬蟲的特征實現機器學習自動化識別惡意網絡爬蟲,從而實現反爬蟲策略,使得能夠對網站及其重要數據進行更好的保護。
2? 機器學習爬蟲識別的實現
2.1? 機器學習
目前人工智能已經為人類創造出了非??捎^的經濟效益,人工智能可以代替人類做大量人類不想做、不能做的工作,而且機器犯錯誤的概率比人低,并且能夠持續工作,大大的提升工作效率,節約了大量的成本。機器學習(Machine Learning,ML)是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、算法復雜度理論等多門學科,是人工智能的一個分支。
2.2? 爬蟲特征
為了更好的識別網絡爬蟲,從而進行反爬蟲策略的實施,收集了網絡爬蟲的特征。目前網絡上的網絡爬蟲具有以下特征:①相同IP的請求頻率大、②相同的IP每次訪問的時間間隔小、③IP所在地不穩定、④user-agent不是常見標識、⑤驗證碼的請求次數多、⑥激活爬蟲陷阱、⑦圖片訪問百分比高、⑧錯誤響應高、⑨不對robot.txt進行訪問。
2.3? 識別算法
決策樹是機器學習的經典算法之一,決策樹(Decision tree)由一個決策圖和可能的結果(包括資源成本和風險)組成,用來創建到達目標的規劃。決策樹建立并用來輔助決策,是一種特殊的樹結構。根據網絡爬蟲的特征,使用決策樹算法對訓練集訓練生成概率運算的決策模型,從而使用該決策模型進行識別網絡爬蟲。
2.4? 實現流程
通過連接需檢測網絡爬蟲的網站數據庫,遍歷需檢測網站的所有訪問請求特征,再使用決策數通過訓練集訓練出來的識別模塊對收集到的訪問請求特征進行請求分析,從而實現對訪問中網絡爬蟲的識別,最后輸出對應IP的檢測結果和判斷依據。通過這樣的反饋可以使得網站管理員對網站訪問進行限制、人工糾錯等相關操作。使用機器學習識別爬蟲,在降低了人工成本和提高網站運行效率的同時還能避免特殊訪問節點的爬蟲檢測誤判。流程圖如圖1所示。
3? 反爬蟲策略的實現
有矛必有盾,網絡爬蟲的反制機制便是針對惡意爬蟲而制定的、為防止爬蟲對網站進行侵害的一種策略。反爬蟲機制是針對爬蟲特征對網絡爬蟲進行防御的一系列計策。反爬蟲機制大大減小了爬蟲對網站的危害,在一定程度上保護了網站的數據安全、減小了網站服務器的負擔。但在現階段,大部分的反爬蟲工作仍然依靠著人為操作,人工判斷、識別爬蟲,從而實現對爬蟲的封禁等操作,浪費了大量的人力、物力、財力等,而且識別爬蟲的效率也處于較低的狀態。
通過機器學習識別網絡爬蟲,不僅可以讓網站管理人員可以對可疑的IP進行限制等相關操作,網站設計者還可以根據識別爬蟲后輸出的信息優化自身系統中的反爬蟲機制,從而做到更好的保護網站的安全。如同一IP訪問頻率過高的情況出現過多時,可以在服務端增加對IP訪問頻率的限制,當超過一定頻率便認定為網絡爬蟲,從而進行防御。網站管理人員也可以直接根據爬蟲檢測對系統的爬蟲檢測數據進行數據分析,設計出合理的主題反爬蟲方案,從而更有效的實現對網站的保護,減少網絡爬蟲對網站硬件資源侵害和重要數據盜取,使得網站在互聯網時代的潮流中保持的競爭優勢。
4? 總結
目前網絡上超過60%的訪問請求都來源于爬蟲機器人,而其中便有不少爬蟲屬于惡意爬蟲。這類爬蟲擁有一些共性,如盜竊站點數據、偷取敏感信息、對站點進行攻擊等。[3]由于網絡爬蟲的策略是盡可能多的“爬過”網站中的高價值信息,會根據特定策略盡可能多的訪問頁面,占用網絡帶寬并增加Web服務器的處理開銷,不少小型站點的站長發現當網絡爬蟲光顧的時候,訪問流量將會有明顯的增長。惡意用戶可以利用爬蟲程序對Web站點發動DoS攻擊,使Web服務在大量爬蟲程序的暴力訪問下,資源耗盡而不能提供正常服務。惡意用戶還可能通過網絡爬蟲抓取各種敏感資料用于不正當用途。網絡爬蟲及其對應的技術為網站帶來了可觀訪問量的同時,也帶來了直接與間接的安全威脅,越來越多的網站開始關注對網絡爬蟲的限制問題。在網絡世界中,作為站點管理員,保障網站及其數據安全是一件十分重要的事情。本文研究了機器學習與網絡爬蟲識別相結合,使得更加有效智能的識別網絡爬蟲,降低網絡爬蟲對網站的侵害,還大大減小了人為識別網絡爬蟲的誤差,在一定程度上阻止了網絡爬蟲對網站的侵害,達到數據保護、系統穩定性保障、競爭優勢保持的目的。
參考文獻
[1]? 周立柱,林玲.聚焦爬蟲技術研究綜述[J].計算機應用,2005(09):1965-1969.
[2]? 劉宇,程學林.基于決策樹算法的爬蟲識別技術[J].軟件,2017,38(07):122-125.
[3]? 梁焰豪,關春喜,林楚苓,等.基于機器學習的電商網站知識產權保護[J].電腦迷,2018,000(021):188.