網絡爬蟲(網絡蜘蛛,網絡機器人)與Web安全
發(fā)布時間:2012-06-15 10:22:27 作者:佚名
我要評論
網絡爬蟲(Web Crawler),又稱網絡蜘蛛(Web Spider)或網絡機器人(Web Robot),是一種按照一定的規(guī)則自動抓取萬維網資源的程序或者腳本,已被廣泛應用于互聯(lián)網領域
網絡爬蟲概述
網絡爬蟲(Web Crawler),又稱網絡蜘蛛(Web Spider)或網絡機器人(Web Robot),是一種按照一定的規(guī)則自動抓取萬維網資源的程序或者腳本,已被廣泛應用于互聯(lián)網領域。搜索引擎使用網絡爬蟲抓取Web網頁、文檔甚至圖片、音頻、視頻等資源,通過相應的索引技術組織這些信息,提供給搜索用戶進行查詢。隨著網絡的迅速發(fā)展,萬維網成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。不斷優(yōu)化的網絡爬蟲技術正在有效地應對這種挑戰(zhàn),為高效搜索用戶關注的特定領域與主題提供了有力支撐。網絡爬蟲也為中小站點的推廣提供了有效的途徑,網站針對搜索引擎爬蟲的優(yōu)化曾風靡一時。
傳統(tǒng)網絡爬蟲從一個或若干個初始網頁的URL(Universal Resource Locator統(tǒng)一資源定位符)開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定條件停止抓取。現(xiàn)階段網絡爬蟲已發(fā)展為涵蓋網頁數(shù)據(jù)抽取、機器學習、數(shù)據(jù)挖掘、語義理解等多種方法綜合應用的智能工具。
網絡爬蟲的安全性問題
由于網絡爬蟲的策略是盡可能多的“爬過”網站中的高價值信息,會根據(jù)特定策略盡可能多的訪問頁面,占用網絡帶寬并增加Web服務器的處理開銷,不少小型站點的站長發(fā)現(xiàn)當網絡爬蟲光顧的時候,訪問流量將會有明顯的增長。惡意用戶可以利用爬蟲程序對Web站點發(fā)動DoS攻擊,使Web服務在大量爬蟲程序的暴力訪問下,資源耗盡而不能提供正常服務。惡意用戶還可能通過網絡爬蟲抓取各種敏感資料用于不正當用途,主要表現(xiàn)在以下幾個方面:
1)搜索目錄列表
互聯(lián)網中的許多Web服務器在客戶端請求該站點中某個沒有默認頁面的目錄時,會返回一個目錄列表。該目錄列表通常包括可供用戶點擊的目錄和文件鏈接,通過這些鏈接可以訪問下一層目錄及當前目錄中的文件。因而通過抓取目錄列表,惡意用戶往往可獲取大量有用的資料,包括站點的目錄結構、敏感文件以及Web服務器設計架構及配置信息等等,比如程序使用的配置文件、日志文件、密碼文件、數(shù)據(jù)庫文件等,都有可能被網絡爬蟲抓取。這些信息可以作為挑選攻擊目標或者直接入侵站點的重要資料。
2)搜索測試頁面、手冊文檔、樣本程序及可能存在的缺陷程序
大多數(shù)Web服務器軟件附帶了測試頁面、幫助文檔、樣本程序及調試用后門程序等。這些文件往往會泄漏大量的系統(tǒng)信息甚至提供繞過認證直接訪問Web服務數(shù)據(jù)的方法,成為惡意用戶分析攻擊Web服務器的有效情報來源。而且這些文件的存在本身也暗示網站中存在潛在的安全漏洞。
3)搜索管理員登錄頁面
許多網絡產品提供了基于Web的管理接口,允許管理員在互聯(lián)網中對其進行遠程管理與控制。如果管理員疏于防范,沒有修改網絡產品默認的管理員名及密碼,一旦其管理員登錄頁面被惡意用戶搜索到,網絡安全將面臨極大的威脅。
4)搜索互聯(lián)網用戶的個人資料
互聯(lián)網用戶的個人資料包括姓名、身份證號、電話、Email地址、QQ號、通信地址等個人信息,惡意用戶獲取后容易利用社會工程學實施攻擊或詐騙。
因此,采取適當?shù)拇胧┫拗凭W絡爬蟲的訪問權限,向網絡爬蟲開放網站希望推廣的頁面,屏蔽比較敏感的頁面,對于保持網站的安全運行、保護用戶的隱私是極其重要的。
基于網絡爬蟲技術的Web漏洞掃描
前面提到的網絡爬蟲對網站的間接安全威脅,是通過對網絡站點的信息收集為不法份子的非法訪問、攻擊或詐騙作準備。隨著安全技術的發(fā)展,利用網絡爬蟲技術對Web漏洞的直接探測已經出現(xiàn),這會直接影響到Web服務器的安全。Web服務器漏洞中,跨站腳本(Cross Site Script)漏洞與SQL注入(SQL Injection)漏洞所占比例很高,這兩種漏洞均可以通過對網絡爬蟲的改進來進行探測。由于缺乏足夠的安全知識,相當多的程序員在編寫Web應用程序時對網頁的請求內容缺乏足夠的檢查,使得不少Web應用程序存在安全隱患。用戶可以通過提交一段精心構造的包含SQL語句或腳本的URL請求,根據(jù)程序的返回結果獲得有關的敏感信息甚至直接修改后臺數(shù)據(jù)?;谀壳暗陌踩F(xiàn)狀,網絡爬蟲技術在Web漏洞掃描上的應用,大大提高了發(fā)現(xiàn)漏洞的效率。
基于網絡爬蟲技術的Web漏洞掃描大至分為如下過程:
1)頁面過濾:通過自動化的程序抓取網站頁面,對包含
等標簽的Web頁面進行URL提取處理,這些HTML標簽中包含URL信息,便于惡意用戶進行更深入的Web訪問或提交操作。
2)URL匹配:對Web頁面中的URL進行自動匹配,提取由參數(shù)組合而成的動態(tài)查詢URL或提交URL,進行下一步的漏洞探測。如動態(tài)查詢URL“http://baike.xxxx.com/searchword/?word=frameset&pic=1”,其中 frameset為URL中動態(tài)的參數(shù)部分,可以進行參數(shù)變換。提交URL用于把Web用戶的輸入提交到服務器進行處理,其參數(shù)多為用戶輸入,同樣可以進行參數(shù)變換。
3)漏洞試探:根據(jù)動態(tài)查詢URL或提交URL,自動在參數(shù)部分進行參數(shù)變換,插入引號、分號(SQL注入對其敏感)及script標簽(XSS對 其敏感)等操作進行試探,并根據(jù)Web服務器返回的結果自動判斷是否存在漏洞。如“URL匹配”中的動態(tài)查詢URL可以變換成http://baike.xxxx.com/searchword/?word= &pic=1進行跨站腳本漏洞探測。
如何應對爬蟲的安全威脅
由于網絡爬蟲帶來的安全威脅,不少網站的管理人員都在考慮對爬蟲訪問進行限制甚至拒絕爬蟲訪問。實際上,根據(jù)網站內容的安全性及敏感性,區(qū)別對待爬 蟲是比較理想的措施。網站的URL組織應該根據(jù)是否為適合大范圍公開,設置不同的URL路徑,在同一Web頁面中既有需要完全公開信息也有敏感信息時,應 通過鏈接、標簽嵌入網頁等方式顯示敏感內容,另外盡可能把靜態(tài)頁面等經評估安全性較高的頁面與安全性較差的動態(tài)頁面從URL上分開。當限制爬蟲時可以針對URL路徑的安全性與敏感性對不同種類的爬蟲與代理進行限制。
限制爬蟲可以通過以下幾種方法實現(xiàn):
1) 設置robots.txt文件
限制爬蟲最簡單的方法是設置robots.txt文件。robots.txt文件是搜索引擎爬蟲訪問網站的時候要查看的第一個文件,它告訴爬蟲程序在服務器上什么文件是可以被查看的,如設置Disallow: /,則表示所有的路徑均不能查看。遺憾的是并不是所有的搜索引擎爬蟲會遵守這個規(guī)則,因此僅僅設置robots文件是不夠的。
2) User Agent識別與限制
要對不理會robots.txt文件的爬蟲訪問進行限制,首先要把爬蟲流量與普通用戶的訪問流量進行區(qū)分,即對其進行識別。一般的爬蟲程序都可以通過其HTTP請求中的User Agent字段進行識別,該字段使服務器能夠識別客戶使用的操作系統(tǒng)及版本、CPU類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。爬蟲的User Agent字段一般與瀏覽器的有所不同,如Google搜索引擎爬蟲User Agent字段中會有類似Googlebot的字符串,如User-Agent: Googlebot/2.1 ( http://www.google.com/bot.html),百度搜索引擎爬蟲則會有類似Baiduspider的字符串。不少Web服務器軟件如Apache,可以設置通過User Agent字段進行訪問過濾,可以比較有效的限制大部分爬蟲的訪問。
3) 通過訪問行為特征識別與限制
對于在HTTP請求的User Agent字段刻意偽裝成瀏覽器的爬蟲,可以通過其訪問行為特征進行識別。爬蟲程序的訪問一般是有規(guī)律性的頻率比較高,區(qū)別于真實用戶瀏覽時的隨意性與低 頻率。對這類爬蟲的限制原理與DDoS攻擊的防御原理很相似,都基于統(tǒng)計數(shù)據(jù)。對于這類爬蟲的限制只能通過應用識別設備、IPS等能夠做深度識別的網絡設 備來實現(xiàn)。用網絡設備限制網絡爬蟲,不僅比較全面,而且非常適合在多服務器情況下進行統(tǒng)一的管理,避免多服務器單獨管理有可能造成的疏漏。
結束語
網絡爬蟲及其對應的技術為網站帶來了可觀訪問量的同時,也帶來了直接與間接的安全威脅,越來越多的網站開始關注對網絡爬蟲的限制問題。隨著互聯(lián)網的 高速發(fā)展,基于網絡爬蟲與搜索引擎技術的互聯(lián)網應用將會越來越多,網站管理員及安全人員,有必要了解爬蟲的原理及限制方法,準備好應對各種各樣的網絡爬蟲
TechTarget中國
網絡爬蟲(Web Crawler),又稱網絡蜘蛛(Web Spider)或網絡機器人(Web Robot),是一種按照一定的規(guī)則自動抓取萬維網資源的程序或者腳本,已被廣泛應用于互聯(lián)網領域。搜索引擎使用網絡爬蟲抓取Web網頁、文檔甚至圖片、音頻、視頻等資源,通過相應的索引技術組織這些信息,提供給搜索用戶進行查詢。隨著網絡的迅速發(fā)展,萬維網成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。不斷優(yōu)化的網絡爬蟲技術正在有效地應對這種挑戰(zhàn),為高效搜索用戶關注的特定領域與主題提供了有力支撐。網絡爬蟲也為中小站點的推廣提供了有效的途徑,網站針對搜索引擎爬蟲的優(yōu)化曾風靡一時。
傳統(tǒng)網絡爬蟲從一個或若干個初始網頁的URL(Universal Resource Locator統(tǒng)一資源定位符)開始,獲得初始網頁上的URL,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定條件停止抓取。現(xiàn)階段網絡爬蟲已發(fā)展為涵蓋網頁數(shù)據(jù)抽取、機器學習、數(shù)據(jù)挖掘、語義理解等多種方法綜合應用的智能工具。
網絡爬蟲的安全性問題
由于網絡爬蟲的策略是盡可能多的“爬過”網站中的高價值信息,會根據(jù)特定策略盡可能多的訪問頁面,占用網絡帶寬并增加Web服務器的處理開銷,不少小型站點的站長發(fā)現(xiàn)當網絡爬蟲光顧的時候,訪問流量將會有明顯的增長。惡意用戶可以利用爬蟲程序對Web站點發(fā)動DoS攻擊,使Web服務在大量爬蟲程序的暴力訪問下,資源耗盡而不能提供正常服務。惡意用戶還可能通過網絡爬蟲抓取各種敏感資料用于不正當用途,主要表現(xiàn)在以下幾個方面:
1)搜索目錄列表
互聯(lián)網中的許多Web服務器在客戶端請求該站點中某個沒有默認頁面的目錄時,會返回一個目錄列表。該目錄列表通常包括可供用戶點擊的目錄和文件鏈接,通過這些鏈接可以訪問下一層目錄及當前目錄中的文件。因而通過抓取目錄列表,惡意用戶往往可獲取大量有用的資料,包括站點的目錄結構、敏感文件以及Web服務器設計架構及配置信息等等,比如程序使用的配置文件、日志文件、密碼文件、數(shù)據(jù)庫文件等,都有可能被網絡爬蟲抓取。這些信息可以作為挑選攻擊目標或者直接入侵站點的重要資料。
2)搜索測試頁面、手冊文檔、樣本程序及可能存在的缺陷程序
大多數(shù)Web服務器軟件附帶了測試頁面、幫助文檔、樣本程序及調試用后門程序等。這些文件往往會泄漏大量的系統(tǒng)信息甚至提供繞過認證直接訪問Web服務數(shù)據(jù)的方法,成為惡意用戶分析攻擊Web服務器的有效情報來源。而且這些文件的存在本身也暗示網站中存在潛在的安全漏洞。
3)搜索管理員登錄頁面
許多網絡產品提供了基于Web的管理接口,允許管理員在互聯(lián)網中對其進行遠程管理與控制。如果管理員疏于防范,沒有修改網絡產品默認的管理員名及密碼,一旦其管理員登錄頁面被惡意用戶搜索到,網絡安全將面臨極大的威脅。
4)搜索互聯(lián)網用戶的個人資料
互聯(lián)網用戶的個人資料包括姓名、身份證號、電話、Email地址、QQ號、通信地址等個人信息,惡意用戶獲取后容易利用社會工程學實施攻擊或詐騙。
因此,采取適當?shù)拇胧┫拗凭W絡爬蟲的訪問權限,向網絡爬蟲開放網站希望推廣的頁面,屏蔽比較敏感的頁面,對于保持網站的安全運行、保護用戶的隱私是極其重要的。
基于網絡爬蟲技術的Web漏洞掃描
前面提到的網絡爬蟲對網站的間接安全威脅,是通過對網絡站點的信息收集為不法份子的非法訪問、攻擊或詐騙作準備。隨著安全技術的發(fā)展,利用網絡爬蟲技術對Web漏洞的直接探測已經出現(xiàn),這會直接影響到Web服務器的安全。Web服務器漏洞中,跨站腳本(Cross Site Script)漏洞與SQL注入(SQL Injection)漏洞所占比例很高,這兩種漏洞均可以通過對網絡爬蟲的改進來進行探測。由于缺乏足夠的安全知識,相當多的程序員在編寫Web應用程序時對網頁的請求內容缺乏足夠的檢查,使得不少Web應用程序存在安全隱患。用戶可以通過提交一段精心構造的包含SQL語句或腳本的URL請求,根據(jù)程序的返回結果獲得有關的敏感信息甚至直接修改后臺數(shù)據(jù)?;谀壳暗陌踩F(xiàn)狀,網絡爬蟲技術在Web漏洞掃描上的應用,大大提高了發(fā)現(xiàn)漏洞的效率。
基于網絡爬蟲技術的Web漏洞掃描大至分為如下過程:
1)頁面過濾:通過自動化的程序抓取網站頁面,對包含
等標簽的Web頁面進行URL提取處理,這些HTML標簽中包含URL信息,便于惡意用戶進行更深入的Web訪問或提交操作。
2)URL匹配:對Web頁面中的URL進行自動匹配,提取由參數(shù)組合而成的動態(tài)查詢URL或提交URL,進行下一步的漏洞探測。如動態(tài)查詢URL“http://baike.xxxx.com/searchword/?word=frameset&pic=1”,其中 frameset為URL中動態(tài)的參數(shù)部分,可以進行參數(shù)變換。提交URL用于把Web用戶的輸入提交到服務器進行處理,其參數(shù)多為用戶輸入,同樣可以進行參數(shù)變換。
3)漏洞試探:根據(jù)動態(tài)查詢URL或提交URL,自動在參數(shù)部分進行參數(shù)變換,插入引號、分號(SQL注入對其敏感)及script標簽(XSS對 其敏感)等操作進行試探,并根據(jù)Web服務器返回的結果自動判斷是否存在漏洞。如“URL匹配”中的動態(tài)查詢URL可以變換成http://baike.xxxx.com/searchword/?word= &pic=1進行跨站腳本漏洞探測。
如何應對爬蟲的安全威脅
由于網絡爬蟲帶來的安全威脅,不少網站的管理人員都在考慮對爬蟲訪問進行限制甚至拒絕爬蟲訪問。實際上,根據(jù)網站內容的安全性及敏感性,區(qū)別對待爬 蟲是比較理想的措施。網站的URL組織應該根據(jù)是否為適合大范圍公開,設置不同的URL路徑,在同一Web頁面中既有需要完全公開信息也有敏感信息時,應 通過鏈接、標簽嵌入網頁等方式顯示敏感內容,另外盡可能把靜態(tài)頁面等經評估安全性較高的頁面與安全性較差的動態(tài)頁面從URL上分開。當限制爬蟲時可以針對URL路徑的安全性與敏感性對不同種類的爬蟲與代理進行限制。
限制爬蟲可以通過以下幾種方法實現(xiàn):
1) 設置robots.txt文件
限制爬蟲最簡單的方法是設置robots.txt文件。robots.txt文件是搜索引擎爬蟲訪問網站的時候要查看的第一個文件,它告訴爬蟲程序在服務器上什么文件是可以被查看的,如設置Disallow: /,則表示所有的路徑均不能查看。遺憾的是并不是所有的搜索引擎爬蟲會遵守這個規(guī)則,因此僅僅設置robots文件是不夠的。
2) User Agent識別與限制
要對不理會robots.txt文件的爬蟲訪問進行限制,首先要把爬蟲流量與普通用戶的訪問流量進行區(qū)分,即對其進行識別。一般的爬蟲程序都可以通過其HTTP請求中的User Agent字段進行識別,該字段使服務器能夠識別客戶使用的操作系統(tǒng)及版本、CPU類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。爬蟲的User Agent字段一般與瀏覽器的有所不同,如Google搜索引擎爬蟲User Agent字段中會有類似Googlebot的字符串,如User-Agent: Googlebot/2.1 ( http://www.google.com/bot.html),百度搜索引擎爬蟲則會有類似Baiduspider的字符串。不少Web服務器軟件如Apache,可以設置通過User Agent字段進行訪問過濾,可以比較有效的限制大部分爬蟲的訪問。
3) 通過訪問行為特征識別與限制
對于在HTTP請求的User Agent字段刻意偽裝成瀏覽器的爬蟲,可以通過其訪問行為特征進行識別。爬蟲程序的訪問一般是有規(guī)律性的頻率比較高,區(qū)別于真實用戶瀏覽時的隨意性與低 頻率。對這類爬蟲的限制原理與DDoS攻擊的防御原理很相似,都基于統(tǒng)計數(shù)據(jù)。對于這類爬蟲的限制只能通過應用識別設備、IPS等能夠做深度識別的網絡設 備來實現(xiàn)。用網絡設備限制網絡爬蟲,不僅比較全面,而且非常適合在多服務器情況下進行統(tǒng)一的管理,避免多服務器單獨管理有可能造成的疏漏。
結束語
網絡爬蟲及其對應的技術為網站帶來了可觀訪問量的同時,也帶來了直接與間接的安全威脅,越來越多的網站開始關注對網絡爬蟲的限制問題。隨著互聯(lián)網的 高速發(fā)展,基于網絡爬蟲與搜索引擎技術的互聯(lián)網應用將會越來越多,網站管理員及安全人員,有必要了解爬蟲的原理及限制方法,準備好應對各種各樣的網絡爬蟲
TechTarget中國
相關文章
- 網絡安全是一門涉及計算機、網絡、通訊、密碼、信息安全、應用數(shù)學、數(shù)論、信息論等多種學科的綜合性學科,涉及面極廣,而且不斷更新和發(fā)展2013-03-20
- 網絡安全永遠是預防大于被動的殺毒.防患于未然2012-05-31
- 主動安全控制和安全的網絡架構在抵御內部和外部攻擊方面發(fā)揮著非常重要的作用2012-06-26
- 聲明:本十大安全漏洞由NSFOCUS安全小組根據(jù)安全漏洞的嚴重程度、影響范圍等因素綜合評出,僅供參考 1.2007-12-11 Microsoft消息隊列服務棧溢出漏洞2008-10-08
未來互聯(lián)網企業(yè)安全問題預測 網絡安全是場硬仗
互聯(lián)網的發(fā)展已經步入穩(wěn)定期,未來不會像之前那樣呈現(xiàn)爆發(fā)性增長的狀況了,那么未來的網絡誰是主角?是安全。云計算與大數(shù)據(jù)在為我們的生活工作帶來方便的同時,也面臨著從2016-06-28怎么采用DirectAccess來保護企業(yè)的網絡安全
現(xiàn)在微軟在Windows Server 2008 R2和Windows 7中引入了DirectAccess新功能,它是專為替代VPN連接而設計的下一代網絡連接。而且不需要用戶手動連接VPN,只需打開瀏覽器,系2016-07-06- 伴隨著各運營商的寬帶大提速,無線已經成為家庭組網的首選。老百姓真真切切地感覺到:無線真好!而且各廠商的在無線路由器的設置上也盡力做到人性化,以幫助大叔大媽們也能2012-05-09
易通企業(yè)網站系統(tǒng)(cmseasy) 權限提升的方法及getShell通殺漏洞的介紹
易通企業(yè)網站系統(tǒng)(cmseasy) 注冊用戶在更新資料時和本地構造groupid表單(判斷管理員權限 為888即為管理員),可直接拿提升為管理權限,后臺多處可以getShell,只要開放注冊通2012-05-21- 最近有許多網絡安全實例的問題出現(xiàn),導致大家度網絡不知所措,失去了以往的信任度,下面小編就為大家介紹2016年網絡安全的5大誤區(qū)2016-09-08

