本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別涉及一種基于URL多樣變化的反掃描檢測方法及系統(tǒng)。
背景技術(shù):
漏洞掃描器是通過模擬黑客攻擊手段發(fā)現(xiàn)漏洞并進(jìn)行攻擊的產(chǎn)品。漏洞掃描也是黑客攻擊的第一步。從攻擊防范角度,做好反掃描工作是進(jìn)行信息安全防護(hù)的首要工作。
現(xiàn)有的Web漏洞掃描是檢測Web應(yīng)用程序存在安全隱患的主要方法之一,其核心技術(shù)離不開對爬蟲技術(shù)的研究。網(wǎng)絡(luò)爬蟲能力直接決定了Web應(yīng)用掃描的漏洞檢測能力。網(wǎng)絡(luò)爬蟲在基于網(wǎng)絡(luò)的Web漏洞掃描器中,是重要的基礎(chǔ)功能模塊,其獲取目錄結(jié)構(gòu)及分析HTML源碼的效率,將直接影響系統(tǒng)的準(zhǔn)確性和執(zhí)行效率。
傳統(tǒng)的掃描器中的爬蟲程序,只是簡單的在通用爬蟲的基礎(chǔ)上采用稍作改進(jìn)的廣度優(yōu)先遍歷算法,對HTML的解析則采用確定的有限自動機(jī)。而由于這樣的爬蟲程序并未考慮Web站點(diǎn)中目錄結(jié)構(gòu)的特點(diǎn)和動態(tài)交互點(diǎn)的分布規(guī)律,使得爬蟲程序抓取了大量無用的頁面,對HTML的解析也并不準(zhǔn)確,從而降低了整個(gè)掃描器的性能。
表單爬蟲程序的功能可分為三個(gè):一個(gè)是站內(nèi)新站點(diǎn)搜集,使用自適應(yīng)窗口策略;另一個(gè)是表單搜集,采用導(dǎo)航鏈接策略;第三個(gè):HTML解析器,采用正則表達(dá)式。表單爬蟲的工作流程為:首先從目標(biāo)站點(diǎn)的根URL開始,使用自適應(yīng)窗口策略搜索新站點(diǎn),將其保存。再以保存的新站點(diǎn)為單位,使用導(dǎo)航鏈接策略搜索每個(gè)站點(diǎn)中的有效URL,將其保存。最后依次取出保存的URL,利用HTML解析器提取出表單信息。
圖1為現(xiàn)有技術(shù)中Web掃描器的工作原理圖。其中,Web掃描器依賴于網(wǎng)絡(luò)爬蟲。圖2為現(xiàn)有技術(shù)中網(wǎng)絡(luò)爬蟲的工作原理圖。如圖2所示,通過獲得一個(gè)根節(jié)點(diǎn)HTML,然后依次采用不同方法,獲得圖3所示的結(jié)構(gòu)圖。
目前常用的方法:廣度優(yōu)先和深度優(yōu)先二種方案。在搜索新站點(diǎn)的過程中發(fā)現(xiàn)下述規(guī)律:即往往沿著包含較多新站點(diǎn)的頁面往下搜索,可以搜索到更多的新站點(diǎn)。因此,根據(jù)此規(guī)律設(shè)計(jì)自適應(yīng)的窗口搜索策略,以使得爬蟲程序在兼顧頁面覆蓋率的同時(shí),提高其搜索效率,自適應(yīng)窗口策略的大致思路是給爬蟲程序設(shè)置門閥值。如果某些頁面中包含新站點(diǎn)的數(shù)量小于此門閥值,則停止對其搜索,以節(jié)省搜索時(shí)間,若大于或等于此門閥值,則沿著這些頁面繼續(xù)搜索,如圖4所示。
根據(jù)上述掃描器的原理,現(xiàn)有的反掃描方法包括兩種:
1)掃描器指紋識別方法:采用該方法如果掃描器抹掉指紋新型,則基于特征的反掃描技術(shù)將失效。
2)掃描頻率統(tǒng)計(jì)方法:基于掃描頻率統(tǒng)計(jì)的反掃描方法目前被大量設(shè)備采用。通過統(tǒng)計(jì)服務(wù)端返回的錯(cuò)誤頁面的數(shù)量、頻率,來決策是否是掃描行為。目前常用的判別方法是判別從服務(wù)器返回的404錯(cuò)誤頁面數(shù)量。但是這種方法具備一定局限性。一方面對目標(biāo)系統(tǒng)攻擊持續(xù)一段時(shí)間可以后才能發(fā)現(xiàn),在此期間,目標(biāo)系統(tǒng)可能已經(jīng)被攻破;另一方面,攻擊者有意構(gòu)造返回?cái)?shù)據(jù)包、延長攻擊周期,躲避統(tǒng)計(jì)窗口,從而使得統(tǒng)計(jì)失效。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。
為此,本發(fā)明的目的在于提出一種基于URL多樣變化的反掃描檢測方法及系統(tǒng),可以擾亂掃描器的核心模塊-爬蟲模塊,躲避漏洞掃描的檢測機(jī)制,完全杜絕掃描問題,使得目前掃描器失效,從而盡可能保證目標(biāo)系統(tǒng)的安全性。
為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例提供一種基于URL多樣變化的反掃描檢測方法,包括如下步驟:
步驟S1,獲取用戶通過Web應(yīng)用請求訪問的原始代碼,其中,所述原始代碼包括:真實(shí)URL地址和訪問主題;
步驟S2,當(dāng)檢測到用戶第一次訪問所述原始代碼時(shí),根據(jù)預(yù)設(shè)URL混淆算法對所述原始代碼中的真實(shí)URL地址和訪問主題進(jìn)行修改,以使得漏洞掃描器無法獲得真實(shí)URL地址,進(jìn)而無法獲得網(wǎng)頁;
步驟S3,當(dāng)檢測到所述用戶第二次或多次訪問所述原始代碼時(shí),繼續(xù)預(yù)設(shè)URL混淆算法對所述原始代碼中的真實(shí)URL地址和訪問主題進(jìn)行修改,以使得漏洞掃描器無法獲得真實(shí)URL地址,進(jìn)而無法獲得網(wǎng)頁;
其中,在所述步驟S2和S3中,根據(jù)預(yù)設(shè)URL混淆算法每次對所述真實(shí)URL地址和訪問主題的修改結(jié)果均不同。
進(jìn)一步,所述用戶通過Wep App向App服務(wù)器發(fā)起訪問請求,通過所述App服務(wù)器中的App防御模塊實(shí)施步驟S1至步驟S3的過程。
進(jìn)一步,在所述用戶通過Wep App向App服務(wù)器發(fā)起訪問請求的過程中,采用action字段指定所述原始代碼,其中,所述原始代碼指定下一次加載頁面的URL地址。
進(jìn)一步,針對同一個(gè)訪問的原始代碼,根據(jù)所述預(yù)設(shè)URL混淆算法對每次訪問的真實(shí)URL地址和訪問主題進(jìn)行修改,修改結(jié)果隨機(jī)生成。
本發(fā)明還提出一種基于URL多樣變化的反掃描檢測系統(tǒng),包括:Web App應(yīng)用終端和APP服務(wù)器,其中,所述Web App應(yīng)用終端與所述APP服務(wù)器進(jìn)行通信,所述Web App應(yīng)用終端用于接收用戶的訪問請求,并發(fā)送至所述APP服務(wù)器;所述App服務(wù)器用于獲取所述訪問請求中的原始代碼,其中,所述原始代碼包括:真實(shí)URL地址和訪問主題,以及所述App服務(wù)器在檢測到用戶第一次訪問所述原始代碼時(shí),根據(jù)預(yù)設(shè)URL混淆算法對所述原始代碼中的真實(shí)URL地址和訪問主題進(jìn)行修改,并在檢測到用戶第二次或多次訪問所述原始代碼時(shí),繼續(xù)預(yù)設(shè)URL混淆算法對所述原始代碼中的真實(shí)URL地址和訪問主題進(jìn)行修改,以使得漏洞掃描器無法獲得真實(shí)URL地址,進(jìn)而無法獲得網(wǎng)頁,其中,針對所述用戶的每次訪問,根據(jù)預(yù)設(shè)URL混淆算法每次對所述真實(shí)URL地址和訪問主題的修改結(jié)果均不同。
進(jìn)一步,所述Web App應(yīng)用終端采用action字段指定所述原始代碼,并發(fā)送至所述向App服務(wù)器,其中,所述原始代碼指定下一次加載頁面的URL地址。
進(jìn)一步,針對同一個(gè)訪問的原始代碼,所述App服務(wù)器根據(jù)所述預(yù)設(shè)URL混淆算法對每次訪問的真實(shí)URL地址和訪問主題進(jìn)行修改,修改結(jié)果隨機(jī)生成。
進(jìn)一步,所述Web App應(yīng)用終端為手機(jī)或平板電腦,其上安裝有Web App應(yīng)用軟件。
根據(jù)本發(fā)明實(shí)施例的基于URL多樣變化的反掃描檢測方法及系統(tǒng),通過對請求訪問的原始地址進(jìn)行多次混淆修改,以使得漏洞掃描器無法獲取真實(shí)的URL地址,從而無法獲取正確的網(wǎng)頁。本發(fā)明每次混淆URL地址,使的現(xiàn)有掃描器無法獲得下一條鏈接,從而無法獲得網(wǎng)頁,達(dá)到躲避漏洞檢測的目的。并且對URL地質(zhì)進(jìn)行混淆的算法可以時(shí)間戳等進(jìn)行修改,每次訪問的修改內(nèi)容均不同,從而使得掃描器無法預(yù)測和追溯,具備高可靠性。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1為現(xiàn)有技術(shù)中Web掃描器的工作原理圖;
圖2為現(xiàn)有技術(shù)中網(wǎng)絡(luò)爬蟲的工作原理圖;
圖3為現(xiàn)有技術(shù)中網(wǎng)絡(luò)爬蟲的工作原理演化圖;
圖4為現(xiàn)有技術(shù)中自適應(yīng)窗口策略的工作原理圖;
圖5為根據(jù)本發(fā)明實(shí)施例的基于URL多樣變化的反掃描檢測方法的流程圖;
圖6為根據(jù)本發(fā)明實(shí)施例的基于URL多樣變化的反掃描檢測系統(tǒng)的結(jié)構(gòu)圖;
圖7為根據(jù)本發(fā)明實(shí)施例的反掃描過程中數(shù)據(jù)變化示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
本發(fā)明提出一種基于URL多樣變化的發(fā)掃描檢測方法及系統(tǒng),可以解決安全漏洞檢測所帶來的安全問題。
如圖5所示,本發(fā)明實(shí)施例的基于URL多樣變化的反掃描檢測方法,包括如下步驟:
步驟S1,獲取用戶通過Web應(yīng)用請求訪問的原始代碼。其中,原始代碼包括:真實(shí)URL地址和訪問主題。
在本發(fā)明的一個(gè)實(shí)施例中,用戶通過Wep App向App服務(wù)器發(fā)起訪問請求。例如,在用戶通過Wep App向App服務(wù)器發(fā)起訪問請求的過程中,采用action字段指定原始代碼,其中,原始代碼指定下一次加載頁面的URL地址。
例如:原始代碼為
<h5><li><a
href=”http://www.cyberxingan.com/index.php?m=content&c=index&a=lists&catid=42”title=”安全管理”>安全管理</a><li><h5>
步驟S2,當(dāng)檢測到用戶第一次訪問原始代碼時(shí),根據(jù)預(yù)設(shè)URL混淆算法對原始代碼中的真實(shí)URL地址和訪問主題進(jìn)行修改,以使得漏洞掃描器無法獲得真實(shí)URL地址,進(jìn)而無法獲得網(wǎng)頁。
具體地,根據(jù)預(yù)設(shè)URL混淆算法將上述原始代碼中真實(shí)URL地址和訪問主題進(jìn)行修改,例如修改為
<h5><li><a
href=”http://GLPSDDFDDFDIEEEdUIOND/bacdedf.basedcded.okp.adsfas”
title=”msdfdfed”>msdfdfed</a><li><h5>
步驟S3,當(dāng)檢測到用戶第二次或多次訪問原始代碼時(shí),繼續(xù)預(yù)設(shè)URL混淆算法對原始代碼中的真實(shí)URL地址和訪問主題進(jìn)行修改,以使得漏洞掃描器無法獲得真實(shí)URL地址,進(jìn)而無法獲得網(wǎng)頁。
<h5><li><a
href=”http://889dffadsxsdaf3.sdfasfadf/3444bacdedf.basedcded.okp.adsfas”
title=”opmould”>opmould</a><li><h5>
其中,在步驟S2和S3中,根據(jù)預(yù)設(shè)URL混淆算法每次對真實(shí)URL地址和訪問主題的修改結(jié)果均不同。
在本發(fā)明的一個(gè)實(shí)施例中,針對同一個(gè)訪問的原始代碼,根據(jù)預(yù)設(shè)URL混淆算法對每次訪問的真實(shí)URL地址和訪問主題進(jìn)行修改,修改結(jié)果隨機(jī)生成。
通過這種方式可以使得漏洞掃描器無法獲得真實(shí)URL地址,得到的都是混淆后的地址,從而不能獲得一跳鏈接,無法獲得網(wǎng)頁。
需要說明的是,在本發(fā)明中,通過App服務(wù)器中的App防御模塊實(shí)施步驟S1至步驟S3的過程。
如圖6所示,本發(fā)明實(shí)施例還提出一種基于URL多樣變化的反掃描檢測系統(tǒng),包括:Web App應(yīng)用終端1和APP服務(wù)器2。其中,Web App應(yīng)用終端1與APP服務(wù)器2進(jìn)行通信。
具體地,參考圖7,Web App應(yīng)用終端1用于接收用戶的訪問請求,并發(fā)送至APP服務(wù)器2。
在本發(fā)明的一個(gè)實(shí)施例中,Web App應(yīng)用終端1采用action字段指定原始代碼,并發(fā)送至向APP服務(wù)器2,其中,原始代碼指定下一次加載頁面的URL地址。
在本發(fā)明的又一個(gè)實(shí)施例中,Web App應(yīng)用終端1為手機(jī)或平板電腦,其上安裝有Web App應(yīng)用軟件。
APP服務(wù)器2用于獲取訪問請求中的原始代碼。其中,原始代碼包括:真實(shí)URL地址和訪問主題。
APP服務(wù)器2在檢測到用戶第一次訪問原始代碼時(shí),根據(jù)預(yù)設(shè)URL混淆算法對原始代碼中的真實(shí)URL地址和訪問主題進(jìn)行修改,并在檢測到用戶第二次或多次訪問原始代碼時(shí),繼續(xù)預(yù)設(shè)URL混淆算法對原始代碼中的真實(shí)URL地址和訪問主題進(jìn)行修改,以使得漏洞掃描器無法獲得真實(shí)URL地址,進(jìn)而無法獲得網(wǎng)頁。
例如:原始代碼為
<h5><li><a
href=”http://www.cyberxingan.com/index.php?m=content&c=index&a=lists&catid=42”title=”安全管理”>安全管理</a><li><h5>
用戶第一次訪問時(shí),APP服務(wù)器2將代碼修改為
<h5><li><a
href=”http://GLPSDDFDDFDIEEEdUIOND/bacdedf.basedcded.okp.adsfas”
title=”msdfdfed”>msdfdfed</a><li><h5>
用戶第二次訪問時(shí),APP服務(wù)器2將代碼修改為
<h5><li><a
href=”http://889dffadsxsdaf3.sdfasfadf/3444bacdedf.basedcded.okp.adsfas”
title=”opmould”>opmould</a><li><h5>
可以看出,針對用戶的每次訪問,根據(jù)預(yù)設(shè)URL混淆算法每次對真實(shí)URL地址和訪問主題的修改結(jié)果均不同。其中,針對同一個(gè)訪問的原始代碼,App服務(wù)器根據(jù)預(yù)設(shè)URL混淆算法對每次訪問的真實(shí)URL地址和訪問主題進(jìn)行修改,修改結(jié)果隨機(jī)生成。
修改結(jié)果隨機(jī)生成。通過這種方式可以使得漏洞掃描器無法獲得真實(shí)URL地址,得到的都是混淆后的地址,從而不能獲得一跳鏈接,無法獲得網(wǎng)頁。
根據(jù)本發(fā)明實(shí)施例的基于URL多樣變化的反掃描檢測方法及系統(tǒng),通過對請求訪問的原始地址進(jìn)行多次混淆修改,以使得漏洞掃描器無法獲取真實(shí)的URL地址,從而無法獲取正確的網(wǎng)頁。本發(fā)明每次混淆URL地址,使的現(xiàn)有掃描器無法獲得下一條鏈接,從而無法獲得網(wǎng)頁,達(dá)到躲避漏洞檢測的目的。并且對URL地質(zhì)進(jìn)行混淆的算法可以時(shí)間戳等進(jìn)行修改,每次訪問的修改內(nèi)容均不同,從而使得掃描器無法預(yù)測和追溯,具備高可靠性。
本發(fā)明與以往的反掃描方法完全不同,摒棄了以往的處理模式,以固定域的多次變化,從而擾亂掃描器的核心模塊-爬蟲模塊,躲避漏洞掃描的檢測機(jī)制,完全杜絕掃描問題,使得目前掃描器失效,從而盡可能保證目標(biāo)系統(tǒng)的安全性。具體地,本發(fā)明可以準(zhǔn)確的防止當(dāng)前流行的掃描器產(chǎn)品(IBM AppScan、WVS、HP WebInspect等產(chǎn)品)。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。