網絡爬蟲概述
網絡爬蟲(Web Crawler),又稱網絡蜘蛛(Web Spider)或網絡機器人(Web Robot),是一種按照一定的規則自動抓取萬維網資源的程序或者腳本,已被廣泛應用於互聯網領 域。搜索引擎使用網絡爬蟲抓取Web網頁、文檔甚至圖片、音頻、視頻等資源,通過相應的索引技術組織這些信息,提供給搜索用戶進行查詢。隨著網絡的迅速發 展,萬維網成為大量信息的載體,如何有效地提取並利用這些信息成為一個巨大的挑戰。不斷優化的網絡爬蟲技術正在有效地應對這種挑戰,為高效搜索用戶關注的 特定領域與主題提供了有力支撐。網絡爬蟲也為中小站點的推廣提供了有效的途徑,網站針對搜索引擎爬蟲的優化曾風靡一時。
傳統網絡爬蟲從一個或若干個初始網頁的URL(Universal Resource Locator統一資源定位符)開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統的一定條件停 止抓取。現階段網絡爬蟲已發展為涵蓋網頁數據抽取、機器學習、數據挖掘、語義理解等多種方法綜合應用的智能工具。
網絡爬蟲的安全性問題
由於網絡爬蟲的策略是盡可能多的“爬過”網站中的高價值信息,會根據特定策略盡可能多的訪問頁面,占用網絡帶寬並增加Web服務器的 處理開銷,不少小型站點的站長發現當網絡爬蟲光顧的時候,訪問流量將會有明顯的增長。惡意用戶可以利用爬蟲程序對Web站點發動DoS攻擊,使Web服務 在大量爬蟲程序的暴力訪問下,資源耗盡而不能提供正常服務。惡意用戶還可能通過網絡爬蟲抓取各種敏感資料用於不正當用途,主要表現在以下幾個方面:
1)搜索目錄列表
互聯網中的許多Web服務器在 客戶端請求該站點中某個沒有默認頁面的目錄時,會返回一個目錄列表。該目錄列表通常包括可供用戶點擊的目錄和文件鏈接,通過這些鏈接可以訪問下一層目錄及 當前目錄中的文件。因而通過抓取目錄列表,惡意用戶往往可獲取大量有用的資料,包括站點的目錄結構、敏感文件以及 Web服務器設計架構及配置信息等等,比如程序使用的配置文件、日志文件、密碼文件、數據庫文件等,都有可能被網絡爬蟲抓取。這些信息可以作為挑選攻擊目 標或者直接入侵站點的重要資料。
2)搜索測試頁面、手冊文檔、樣本程序及可能存在的缺陷程序
大多數Web服務器軟件附帶了測試頁面、幫助文檔、樣本程序及調試用後門程序等。這些文件往往會洩漏大量的系統信息甚至提供繞過認證直接訪問Web服務數據的方法,成為惡意用戶分析攻擊Web服務器的有效情報來源。而且這些文件的存在本身也暗示網站中存在潛在的安全漏洞。