陶謙文 凌杭 邱迅
基于網(wǎng)絡(luò)爬蟲的高校WEB應(yīng)用漏洞檢測
陶謙文 凌杭 邱迅
摘要:網(wǎng)絡(luò)安全問題是現(xiàn)代社會非常重視的一個(gè)問題,在信息科學(xué)技術(shù)穩(wěn)定發(fā)展和廣泛應(yīng)用的時(shí)期,高校網(wǎng)絡(luò)安全引起社會廣泛關(guān)注,因?yàn)楦咝>W(wǎng)站集信息發(fā)布、數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)分析、軟件辦公、共同交流等功能于一體,這使得對學(xué)生與教師數(shù)據(jù)安全與個(gè)人隱私的保護(hù)尤為重要,為此,本文將討論通過對各大高校網(wǎng)站統(tǒng)計(jì)常見漏洞出現(xiàn)頻率,針對各常見漏洞,對其特征進(jìn)行分析統(tǒng)計(jì),并應(yīng)用于高校網(wǎng)站,觀察高校潛在漏洞。利用網(wǎng)絡(luò)爬蟲技術(shù),對高校網(wǎng)絡(luò)進(jìn)行爬取,提取特征,尋找漏洞,并正確處理。
關(guān)鍵詞:網(wǎng)絡(luò)安全;網(wǎng)絡(luò)爬蟲;網(wǎng)絡(luò)漏洞
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)19-0044-03
開放科學(xué)(資源服務(wù))際i只碼(OSID):
1 引言
當(dāng)前,中國正處于信息化網(wǎng)絡(luò)教學(xué)調(diào)整變革的重要時(shí)期,各大高校擁有各自的校園網(wǎng)站以及學(xué)生教師數(shù)據(jù)庫。正是這樣的背景下,家長接到的詐騙電話也在不斷增加,側(cè)面的反映了各大高校網(wǎng)站信息的安全性是低下的,如何保證高校校園信息安全成為當(dāng)今社會的熱點(diǎn)問題。
因此,本文將討論通過各大高校網(wǎng)站統(tǒng)計(jì)常見漏洞出現(xiàn)頻率,針對各常見漏洞,對其特征進(jìn)行分析統(tǒng)計(jì),并應(yīng)用于高校網(wǎng)站,觀察高校潛在漏洞,實(shí)現(xiàn)對各大高校提供模擬攻擊服務(wù),應(yīng)用條件概率模型,對攻擊結(jié)果形成檢測報(bào)告。使用網(wǎng)絡(luò)爬蟲技術(shù)建立起高校安全的云平臺,以高校網(wǎng)站為主要群體,進(jìn)行開發(fā)應(yīng)用,以驗(yàn)證檢測效率。
2 網(wǎng)絡(luò)爬蟲技術(shù)概要
網(wǎng)絡(luò)爬蟲,在互聯(lián)網(wǎng)已經(jīng)被廣泛應(yīng)用的一種按照確定的邏輯去自動抓取WEB資源(圖片,音頻等資源)的程序。
爬蟲對于WEB系統(tǒng)的訪問,一般是難以防范的,爬蟲會搶占網(wǎng)絡(luò)帶寬和占用WEB服務(wù)器的計(jì)算資源,擠占普通用戶所分配的資源,使得普通用戶使用WEB應(yīng)用時(shí)出現(xiàn)卡頓,頻繁掉線等情況從而影響WEB系統(tǒng)的正常運(yùn)作。一些惡意爬蟲程序?qū)EB系統(tǒng)發(fā)動的DDoS攻擊,也基于上述原理,攻擊者使用大量爬蟲程序的頻繁訪問目標(biāo)WEB系統(tǒng),擠占服務(wù)器以及帶寬資源,使得系統(tǒng)不能正常對普通用戶工作,造成服務(wù)器資源的浪費(fèi)。惡意爬蟲還可能通過特定腳本抓取各種敏感資料和WEB系統(tǒng)所存的用戶信息造成個(gè)人信息泄露。
由于開發(fā)人員缺乏足夠的安全知識和大部分系統(tǒng)是外包的給第三機(jī)構(gòu)開發(fā)的原因,使得不少WEB系統(tǒng)存在安全隱患。攻擊者針對WEB系統(tǒng)可以提交一條包含SQL語句或腳本的URL請求的語句,根據(jù)WEB應(yīng)用程序的返回結(jié)果,分析或解密相關(guān)的敏感信息(如管理員賬號及密碼),甚至在特殊情況下上述操作可以實(shí)現(xiàn)直接修改后臺數(shù)據(jù)庫用戶數(shù)據(jù)。基于WEB爬蟲技術(shù)已經(jīng)成熟和現(xiàn)在的安全現(xiàn)狀,網(wǎng)絡(luò)爬蟲技術(shù)應(yīng)用在WEB漏洞掃描上,可以提高發(fā)現(xiàn)漏洞的效率。
圖1就是利用JAVA的JSOUP爬蟲框架自動下載某學(xué)校的網(wǎng)站網(wǎng)頁的圖片的腳本核心代碼。應(yīng)用網(wǎng)絡(luò)爬蟲技術(shù)到WEB漏洞掃描可以分為以下過程:
(1)WEB請求:通過腳本請求目標(biāo)站點(diǎn),返回WEB界面數(shù)據(jù)。
(2)頁面元素篩選:通過第一步后,對含有URL標(biāo)簽的節(jié)點(diǎn)元素進(jìn)行提取,以便可以進(jìn)行再一步的操作。
(3)URI匹配:匹配WEB頁面中的URL,篩選由參數(shù)組合而成的動態(tài)查詢URL或者提交URL,進(jìn)行下一步的漏洞探測。
(4)WEB漏洞探測:根據(jù)上述操作,由腳本在參數(shù)部分進(jìn)行多次的參數(shù)變換,例如:插入冒號、分號及Script標(biāo)簽等操作進(jìn)行探測,然后根據(jù)WEB服務(wù)器返回的結(jié)果由腳本自動判斷是否存在漏洞。腳本的自動化操作,減輕了人工成本,而且可迅速有效的發(fā)現(xiàn)WEB的漏洞。
3 網(wǎng)絡(luò)爬蟲技術(shù)分析網(wǎng)頁漏洞的實(shí)現(xiàn)方法
3.1 網(wǎng)頁分析方法
基于對字符串的處理,我們使用正則表達(dá)式來進(jìn)行篩選,例如:從字符串中獲取某個(gè)句法規(guī)則的片段,使用方法簡單易懂,靈活性較高,可以用任何規(guī)則來進(jìn)行字符串的控制。
JAVA通過Pattern類來使用正則表達(dá)式,一般是創(chuàng)建出Pattern對象,并傳人所需要匹配類型的Pattern。
3.2 WEB漏洞檢測方法
用戶不容易發(fā)現(xiàn)攻擊者,攻擊網(wǎng)站后,加入了惡意的代碼,這些代碼具有一定的隱蔽性,因此,漏洞挖掘給出的可行性方案,就是要我們針對網(wǎng)頁的某些特殊屬性進(jìn)行檢測,并給出一定的解決方案。
3.2.1 屬性分析
系統(tǒng)可以自動獲取網(wǎng)頁分析的網(wǎng)頁源碼,如果信息中出現(xiàn)標(biāo)記時(shí),與此同時(shí)也出現(xiàn)width=“0”和height=“0”的信息時(shí),這就是被植入的網(wǎng)頁代碼,可以隱藏的,其中一個(gè)子窗口。
3.2.2比例分析
所使用的整個(gè)網(wǎng)頁大小的比值和網(wǎng)頁中的腳本代碼超過一定的界限,就將此網(wǎng)頁認(rèn)定為惡意網(wǎng)頁的警告,反之則非惡意網(wǎng)頁。此方法可以提高效率的識別網(wǎng)頁的木馬。
3.2.3 信息熵分析
不確定程度的依據(jù)可以用信息熵來表示,其數(shù)學(xué)公式如下:
可以通過信息熵的加密后所顯示的特征來判定,這是不是一段友善的代碼。因?yàn)橛惺5拇a,無需加密,只需正常輸出,但是不友善的代碼是通過信息的加密實(shí)現(xiàn)的。
4 檢測系統(tǒng)架構(gòu)與實(shí)現(xiàn)
4.1 系統(tǒng)總體架構(gòu)
系統(tǒng)由三大類服務(wù)端構(gòu)成:后臺的工作端,后臺的服務(wù)端和前臺的用戶端。對應(yīng)于三大塊程序:后臺的工作端守護(hù)程序、后臺的服務(wù)端守護(hù)程序,前臺的用戶界面服務(wù)。因此,各類的服務(wù)器都是以服務(wù)的方式運(yùn)行的,當(dāng)只有一臺主機(jī)時(shí),用戶可以同時(shí)開啟后臺的工作端、后臺的服務(wù)端、前臺的用戶端來臨時(shí)作為單機(jī)的Web漏洞掃描軟件工作。
4.2 前臺架構(gòu)與實(shí)現(xiàn)